diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 0000000000..9ddcbeae76 --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,36 @@ +version: "{build}" + +environment: + matrix: + # For regular jobs, such as push, pr and etc. + - job_name: Deploy + appveyor_build_worker_image: ubuntu2004 + +for: + - # Docker Deploy (Master) + skip_tags: true + build: off + matrix: + only: + - job_name: DockerDeployMaster + branches: + only: + - master + before_deploy: + - ./ci_scripts/docker-push.sh -t master -p + deploy_script: + - echo "Master Docker Push Complete!" + + - # Docker Deploy (Develop) + skip_tags: true + build: off + matrix: + only: + - job_name: DockerDeployDevelop + branches: + only: + - develop + before_deploy: + - ./ci_scripts/docker-push.sh -t develop -p + deploy_script: + - echo "Develop Docker Push Complete!" \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d046a226bd..fecfe18ad3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v3 - name: Install Requirements run: | - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.50.1 + curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.52.1 make dep chmod +x ./ci_scripts/create-ip-aliases.sh ./ci_scripts/create-ip-aliases.sh @@ -19,7 +19,7 @@ jobs: run: make check - name: Build run: make build - + darwin: runs-on: macos-latest steps: @@ -29,7 +29,7 @@ jobs: - uses: actions/checkout@v3 - name: Install Requirements run: | - curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.50.1 + curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.52.1 make dep chmod +x ./ci_scripts/create-ip-aliases.sh ./ci_scripts/create-ip-aliases.sh @@ -38,7 +38,7 @@ jobs: run: make check - name: Build run: make build - + windows: runs-on: windows-latest steps: @@ -49,7 +49,7 @@ jobs: - name: Install Requirements run: | choco install make - go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.50.1 + go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.52.1 make dep - name: Testing run: | diff --git a/.gitignore b/.gitignore index 6d4e623ca7..42ffea73ae 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ .vscode/ /skywire.json +/build/ /apps/ /skywire/ /local/* diff --git a/.golangci.yml b/.golangci.yml index 3e092a18a2..8426bc1833 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -153,12 +153,10 @@ linters: enable: - revive - goimports - - unused - unparam - errcheck - gosimple - staticcheck - - unused - ineffassign - typecheck - gosec @@ -167,7 +165,6 @@ linters: - nakedret - depguard enable-all: false - disable: disable-all: true presets: fast: false diff --git a/.goreleaser-archlinux.yml b/.goreleaser-archlinux.yml index c7544c277e..34305b3362 100644 --- a/.goreleaser-archlinux.yml +++ b/.goreleaser-archlinux.yml @@ -290,7 +290,6 @@ archives: name_template: 'skywire-v{{ .Version }}-{{ .Os }}-{{ .Arch }}' files: - dmsghttp-config.json - - skycoin.asc builds: - skywire-visor-amd64 - skywire-cli-amd64 @@ -306,7 +305,6 @@ archives: name_template: 'skywire-v{{ .Version }}-{{ .Os }}-{{ .Arch }}' files: - dmsghttp-config.json - - skycoin.asc builds: - skywire-visor-arm64 - skywire-cli-arm64 @@ -322,7 +320,6 @@ archives: name_template: 'skywire-v{{ .Version }}-{{ .Os }}-{{ .Arch }}' files: - dmsghttp-config.json - - skycoin.asc builds: - skywire-visor-arm - skywire-cli-arm diff --git a/.goreleaser-darwin.yml b/.goreleaser-darwin.yml index 9f34c51a41..656f75af49 100644 --- a/.goreleaser-darwin.yml +++ b/.goreleaser-darwin.yml @@ -86,7 +86,6 @@ archives: name_template: 'skywire-v{{ .Version }}-{{ .Os }}-{{ .Arch }}' files: - dmsghttp-config.json - - skycoin.asc builds: - skywire-visor - skywire-cli diff --git a/.goreleaser-linux.yml b/.goreleaser-linux.yml index dc432b2a6b..cb7db438f6 100644 --- a/.goreleaser-linux.yml +++ b/.goreleaser-linux.yml @@ -69,6 +69,18 @@ builds: main: ./cmd/skywire-visor/ ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + - id: skywire-visor-riscv64 + binary: skywire-visor + goos: + - linux + goarch: + - riscv64 + env: + - CGO_ENABLED=1 + - CC=/home/runner/work/skywire/skywire/musl-data/riscv64-linux-musl-cross/bin/riscv64-linux-musl-gcc + main: ./cmd/skywire-visor/ + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + - id: skywire-cli-amd64 binary: skywire-cli goos: @@ -121,6 +133,18 @@ builds: main: ./cmd/skywire-cli/ ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + - id: skywire-cli-riscv64 + binary: skywire-cli + goos: + - linux + goarch: + - riscv64 + env: + - CGO_ENABLED=1 + - CC=/home/runner/work/skywire/skywire/musl-data/riscv64-linux-musl-cross/bin/riscv64-linux-musl-gcc + main: ./cmd/skywire-cli/ + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + - id: skychat-amd64 binary: apps/skychat goos: @@ -143,7 +167,7 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc main: ./cmd/apps/skychat/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} - id: skychat-arm binary: apps/skychat @@ -157,7 +181,7 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/arm-linux-musleabi-cross/bin/arm-linux-musleabi-gcc main: ./cmd/apps/skychat/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} - id: skychat-armhf binary: apps/skychat @@ -171,7 +195,19 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/arm-linux-musleabihf-cross/bin/arm-linux-musleabihf-gcc main: ./cmd/apps/skychat/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} + + - id: skychat-riscv64 + binary: skychat + goos: + - linux + goarch: + - riscv64 + env: + - CGO_ENABLED=1 + - CC=/home/runner/work/skywire/skywire/musl-data/riscv64-linux-musl-cross/bin/riscv64-linux-musl-gcc + main: ./cmd/apps/skychat/ + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} - id: skysocks-amd64 binary: apps/skysocks @@ -195,7 +231,7 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc main: ./cmd/apps/skysocks/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} - id: skysocks-arm binary: apps/skysocks @@ -209,7 +245,7 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/arm-linux-musleabi-cross/bin/arm-linux-musleabi-gcc main: ./cmd/apps/skysocks/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} - id: skysocks-armhf binary: apps/skysocks @@ -223,7 +259,19 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/arm-linux-musleabihf-cross/bin/arm-linux-musleabihf-gcc main: ./cmd/apps/skysocks/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} + + - id: skysocks-riscv64 + binary: skysocks + goos: + - linux + goarch: + - riscv64 + env: + - CGO_ENABLED=1 + - CC=/home/runner/work/skywire/skywire/musl-data/riscv64-linux-musl-cross/bin/riscv64-linux-musl-gcc + main: ./cmd/apps/skysocks/ + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} - id: skysocks-client-amd64 binary: apps/skysocks-client @@ -247,7 +295,7 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc main: ./cmd/apps/skysocks-client/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} - id: skysocks-client-arm binary: apps/skysocks-client @@ -261,7 +309,7 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/arm-linux-musleabi-cross/bin/arm-linux-musleabi-gcc main: ./cmd/apps/skysocks-client/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} - id: skysocks-client-armhf binary: apps/skysocks-client @@ -275,7 +323,19 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/arm-linux-musleabihf-cross/bin/arm-linux-musleabihf-gcc main: ./cmd/apps/skysocks-client/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} + + - id: skysocks-client-riscv64 + binary: skysocks-client + goos: + - linux + goarch: + - riscv64 + env: + - CGO_ENABLED=1 + - CC=/home/runner/work/skywire/skywire/musl-data/riscv64-linux-musl-cross/bin/riscv64-linux-musl-gcc + main: ./cmd/apps/skysocks-client/ + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} - id: vpn-server-amd64 binary: apps/vpn-server @@ -299,7 +359,7 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc main: ./cmd/apps/vpn-server/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} - id: vpn-server-arm binary: apps/vpn-server @@ -313,7 +373,7 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/arm-linux-musleabi-cross/bin/arm-linux-musleabi-gcc main: ./cmd/apps/vpn-server/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} - id: vpn-server-armhf binary: apps/vpn-server @@ -327,7 +387,19 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/arm-linux-musleabihf-cross/bin/arm-linux-musleabihf-gcc main: ./cmd/apps/vpn-server/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} + + - id: vpn-server-riscv64 + binary: vpn-server + goos: + - linux + goarch: + - riscv64 + env: + - CGO_ENABLED=1 + - CC=/home/runner/work/skywire/skywire/musl-data/riscv64-linux-musl-cross/bin/riscv64-linux-musl-gcc + main: ./cmd/apps/vpn-server/ + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} - id: vpn-client-amd64 binary: apps/vpn-client @@ -351,7 +423,7 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/aarch64-linux-musl-cross/bin/aarch64-linux-musl-gcc main: ./cmd/apps/vpn-client/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} - id: vpn-client-arm binary: apps/vpn-client @@ -365,7 +437,7 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/arm-linux-musleabi-cross/bin/arm-linux-musleabi-gcc main: ./cmd/apps/vpn-client/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} - id: vpn-client-armhf binary: apps/vpn-client @@ -379,7 +451,19 @@ builds: - CGO_ENABLED=1 - CC=/home/runner/work/skywire/skywire/musl-data/arm-linux-musleabihf-cross/bin/arm-linux-musleabihf-gcc main: ./cmd/apps/vpn-client/ - ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} -X github.com/skycoin/skywire/pkg/visor.BuildTag={{.Os}}_{{.Arch}} + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} + + - id: vpn-client-riscv64 + binary: vpn-client + goos: + - linux + goarch: + - riscv64 + env: + - CGO_ENABLED=1 + - CC=/home/runner/work/skywire/skywire/musl-data/riscv64-linux-musl-cross/bin/riscv64-linux-musl-gcc + main: ./cmd/apps/vpn-client/ + ldflags: -s -w -linkmode external -extldflags '-static' -buildid= -X github.com/skycoin/skywire-utilities/pkg/buildinfo.version=v{{.Version}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.commit={{.ShortCommit}} -X github.com/skycoin/skywire-utilities/pkg/buildinfo.date={{.Date}} archives: - id: amd64 @@ -388,7 +472,6 @@ archives: name_template: 'skywire-v{{ .Version }}-{{ .Os }}-{{ .Arch }}' files: - dmsghttp-config.json - - skycoin.asc builds: - skywire-visor-amd64 - skywire-cli-amd64 @@ -404,7 +487,6 @@ archives: name_template: 'skywire-v{{ .Version }}-{{ .Os }}-{{ .Arch }}' files: - dmsghttp-config.json - - skycoin.asc builds: - skywire-visor-arm64 - skywire-cli-arm64 @@ -420,7 +502,6 @@ archives: name_template: 'skywire-v{{ .Version }}-{{ .Os }}-{{ .Arch }}' files: - dmsghttp-config.json - - skycoin.asc builds: - skywire-visor-arm - skywire-cli-arm @@ -436,7 +517,6 @@ archives: name_template: 'skywire-v{{ .Version }}-{{ .Os }}-{{ .Arch }}hf' files: - dmsghttp-config.json - - skycoin.asc builds: - skywire-visor-armhf - skywire-cli-armhf @@ -446,6 +526,21 @@ archives: - vpn-server-armhf - vpn-client-armhf + - id: riscv64 + format: tar.gz + wrap_in_directory: false + name_template: 'skywire-v{{ .Version }}-{{ .Os }}-{{ .Arch }}' + files: + - dmsghttp-config.json + builds: + - skywire-visor-riscv64 + - skywire-cli-riscv64 + - skysocks-riscv64 + - skysocks-client-riscv64 + - skychat-riscv64 + - vpn-server-riscv64 + - vpn-client-riscv64 + checksum: name_template: 'checksums.txt' snapshot: diff --git a/.goreleaser-windows.yml b/.goreleaser-windows.yml index baba15c48b..06ff090ba8 100644 --- a/.goreleaser-windows.yml +++ b/.goreleaser-windows.yml @@ -58,7 +58,6 @@ archives: name_template: 'skywire-v{{ .Version }}-{{ .Os }}-{{ .Arch }}' files: - dmsghttp-config.json - - skycoin.asc builds: - skywire-visor - skywire-cli diff --git a/CHANGELOG.md b/CHANGELOG.md index c233e24ab5..ae41765be1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,73 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. updates may be generated with `scripts/changelog.sh ` +## 1.3.9 + +- Fix `skywire-cli config gen -r` + +## 1.3.8 + +- Rebuild Hypervisor UI [#1583](https://github.com/skycoin/skywire/pull/1583) +- Rebuild Hypervisor UI [#1583](https://github.com/skycoin/skywire/pull/1583) +- Change Logserver to use c.JSON method ; remove variable for endpoint name '/node-info' [#1582](https://github.com/skycoin/skywire/pull/1582) +- update changelog [#1580](https://github.com/skycoin/skywire/pull/1580) +- Add Config gen flags for survey whitelist, transport and route setup pks [#1578](https://github.com/skycoin/skywire/pull/1578) +- Fix query of the conf service [#1578](https://github.com/skycoin/skywire/pull/1578) +- Revise config gen logic / structure [#1578](https://github.com/skycoin/skywire/pull/1578) +- Fix the js mime type [#1576](https://github.com/skycoin/skywire/pull/1576) +- Fix two new panic detected [#1573](https://github.com/skycoin/skywire/pull/1573) +- Health check of log collection api prerequisite for survey & transport log collection via `skywire-cli log` [#1568](https://github.com/skycoin/skywire/pull/1568) +- Fix typo on state name [#1567](https://github.com/skycoin/skywire/pull/1567) +- Log collection by secret key [#1566](https://github.com/skycoin/skywire/pull/1566) +- Optional combined compilation of `skywire-cli` `skywire-visor` & `setup-node` binaries [#1565](https://github.com/skycoin/skywire/pull/1565) +- Fix vpn start command [#1564](https://github.com/skycoin/skywire/pull/1564) +- Solve setupnode rpc issue [#1563](https://github.com/skycoin/skywire/pull/1563) +- Remove pgp encryption of the survey [#1562](https://github.com/skycoin/skywire/pull/1562) +- Change variable name [#1561](https://github.com/skycoin/skywire/pull/1561) +- add WhitelistedPKs to services struct [#1560](https://github.com/skycoin/skywire/pull/1560) +- Survey collection whitelist [#1557](https://github.com/skycoin/skywire/pull/1557) +- Dmsgpty whitelist [#1554](https://github.com/skycoin/skywire/pull/1554) +- `make config` directive & makefile optimizations [#1549](https://github.com/skycoin/skywire/pull/1549) +- Update skywire-utilities dependency [#1546](https://github.com/skycoin/skywire/pull/1546) +- fix `skywire-cli vpn list` [#1546](https://github.com/skycoin/skywire/pull/1546) +- Randomize the order of survey collection with `skywire-cli log` [#1541](https://github.com/skycoin/skywire/pull/1541) +- Fix skywire-cli config gen -a [#1539](https://github.com/skycoin/skywire/pull/1539) +- Print version of golangci-lint with `make check` [#1538](https://github.com/skycoin/skywire/pull/1538) +- Change port logic on sudph and stcpr init - set ports for sudph and stcpr [#1534](https://github.com/skycoin/skywire/pull/1534) +- Stop UI requests when not needed ; avoid unnecessary logging [#1533](https://github.com/skycoin/skywire/pull/1533) +- Remove survey checksum [#1532](https://github.com/skycoin/skywire/pull/1532) +- Update README.md [#1531](https://github.com/skycoin/skywire/pull/1531) +- Rebuild UI [#1530](https://github.com/skycoin/skywire/pull/1530) +- Logs UI [#1528](https://github.com/skycoin/skywire/pull/1528) +- Change bin_path to apps instead build/apps [#1526](https://github.com/skycoin/skywire/pull/1526) +- Fix for survey on armv7 [#1524](https://github.com/skycoin/skywire/pull/1524) +- Fix mac installer script issue [#1523](https://github.com/skycoin/skywire/pull/1523) +- Fix arm log store panic [#1522](https://github.com/skycoin/skywire/pull/1522) + +## 1.3.7 +- Fix deps (dependabot) [#1521](https://github.com/skycoin/skywire/pull/1521) +- improve transport logic [#1519](https://github.com/skycoin/skywire/pull/1519) +- survey issue arm7 hotfix [#1518](https://github.com/skycoin/skywire/pull/1518) +- Change build path of binaries to build folder [#1516](https://github.com/skycoin/skywire/pull/1516) +- Cli refactor [#1515](https://github.com/skycoin/skywire/pull/1515) +- update readme [#1514](https://github.com/skycoin/skywire/pull/1514) +- risc-v build [#1513](https://github.com/skycoin/skywire/pull/1513) +- Bump golang.org/x/text from 0.3.7 to 0.3.8 [#1511](https://github.com/skycoin/skywire/pull/1511) +- Bump golang.org/x/net from 0.0.0-20220722155237-a158d28d115b to 0.7.0 [#1510](https://github.com/skycoin/skywire/pull/1510) +- Bump golang.org/x/crypto from 0.0.0-20210921155107-089bfa567519 to 0.1.0 [#1509](https://github.com/skycoin/skywire/pull/1509) + +## 1.3.6 +- Hot fix on Launcher panic [#1508](https://github.com/skycoin/skywire/pull/1508) +- improve logging [#1507](https://github.com/skycoin/skywire/pull/1507) +- Fix appL nil [#1506](https://github.com/skycoin/skywire/pull/1506) +- fix docker login [#1503](https://github.com/skycoin/skywire/pull/1503) + ## 1.3.5 +- build UI for v1.3.5 [#1502](https://github.com/skycoin/skywire/pull/1502) +- remove `exec` and `profile` [#1501](https://github.com/skycoin/skywire/pull/1501) +- Update change log for patch release [#1500](https://github.com/skycoin/skywire/pull/1500) +- Remove the basic terminal from the UI [#1499](https://github.com/skycoin/skywire/pull/1499) +- Improvements for the UI code [#1498](https://github.com/skycoin/skywire/pull/1498) - log collection size limit | improve survey logic [#1496](https://github.com/skycoin/skywire/pull/1496) - Custom Apps [#1495](https://github.com/skycoin/skywire/pull/1495) - improve survey logic [#1489](https://github.com/skycoin/skywire/pull/1489) diff --git a/Makefile b/Makefile index 7e33ebf254..9d927fd9ed 100644 --- a/Makefile +++ b/Makefile @@ -72,6 +72,7 @@ ifneq (,$(findstring 64,$(GOARCH))) endif BUILDINFO_PATH := $(SKYWIRE_UTILITIES_BASE)/pkg/buildinfo +BUILD_PATH := ./build/ BUILDINFO_VERSION := -X $(BUILDINFO_PATH).version=$(VERSION) BUILDINFO_DATE := -X $(BUILDINFO_PATH).date=$(DATE) @@ -114,29 +115,22 @@ build-example: host-apps example-apps bin ## Build apps, example apps and binari installer: mac-installer ## Builds MacOS installer for skywire-visor -install-system-linux: build # Workaround for debugging linux package installation - sudo install -Dm755 skywire-cli /opt/skywire/bin/ - sudo install -Dm755 skywire-visor /opt/skywire/bin/ - sudo install -Dm755 apps/vpn-server /opt/skywire/apps/ - sudo install -Dm755 apps/vpn-client /opt/skywire/apps/ - sudo install -Dm755 apps/skysocks-client /opt/skywire/apps/ - sudo install -Dm755 apps/skysocks /opt/skywire/apps/ - sudo install -Dm755 apps/skychat /opt/skywire/apps/ +install-system-linux: build ## Install apps and binaries over those provided by the linux package - linux package must be installed first! + sudo echo "sudo cache" + sudo install -Dm755 $(BUILD_PATH){skywire-cli,skywire-visor} /opt/skywire/bin/ & \ + sudo install -Dm755 $(BUILD_PATH)apps/{vpn-server,vpn-client,skysocks-client,skysocks,skychat} /opt/skywire/apps/ install-generate: ## Installs required execs for go generate. - ${OPTS} go install github.com/mjibson/esc - ${OPTS} go install github.com/vektra/mockery/v2@latest + ${OPTS} go install github.com/mjibson/esc github.com/vektra/mockery/v2@latest generate: ## Generate mocks and config README's go generate ./... clean: ## Clean project: remove created binaries and apps - -rm -rf ./apps - -rm -f ./skywire-visor ./skywire-cli ./setup-node + -rm -rf ./build clean-windows: ## Clean project: remove created binaries and apps - powershell -Command Remove-Item -Path ./apps -Force -Recurse - powershell -Command Remove-Item -Path .\skywire-visor.exe,.\skywire-cli.exe,.\setup-node.exe -Force + powershell -Command Remove-Item -Path ./build -Force -Recurse install: ## Install `skywire-visor`, `skywire-cli`, `setup-node` ${OPTS} go install ${BUILD_OPTS} ./cmd/skywire-visor ./cmd/skywire-cli ./cmd/setup-node @@ -148,38 +142,38 @@ install-static: ## Install `skywire-visor`, `skywire-cli`, `setup-node` ${STATIC_OPTS} go install -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' ./cmd/skywire-visor ./cmd/skywire-cli ./cmd/setup-node lint: ## Run linters. Use make install-linters first + golangci-lint --version ${OPTS} golangci-lint run -c .golangci.yml ./... lint-windows: ## Run linters. Use make install-linters-windows first + powershell 'golangci-lint --version' powershell 'golangci-lint run -c .golangci.yml ./...' lint-appveyor-windows: ## Run linters for appveyor only on windows + C:\Users\appveyor\go\bin\golangci-lint --version C:\Users\appveyor\go\bin\golangci-lint run -c .golangci.yml ./... test: ## Run tests -go clean -testcache &>/dev/null - ${OPTS} go test ${TEST_OPTS} ./internal/... - ${OPTS} go test ${TEST_OPTS} ./pkg/... + ${OPTS} go test ${TEST_OPTS} ./internal/... ./pkg/... + ${OPTS} go test ${TEST_OPTS} test-windows: ## Run tests on windows @go clean -testcache - ${OPTS} go test ${TEST_OPTS} ./internal/... - ${OPTS} go test ${TEST_OPTS} ./pkg/... + ${OPTS} go test ${TEST_OPTS} ./internal/... ./pkg/... install-linters: ## Install linters - VERSION=latest ./ci_scripts/install-golangci-lint.sh - ${OPTS} go install golang.org/x/tools/cmd/goimports@latest - ${OPTS} go install github.com/incu6us/goimports-reviser/v2@latest + ${OPTS} go install golang.org/x/tools/cmd/goimports@latest github.com/incu6us/goimports-reviser/v2@latest install-linters-windows: ## Install linters - ${OPTS} go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest - ${OPTS} go install golang.org/x/tools/cmd/goimports@latest + ${OPTS} go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest golang.org/x/tools/cmd/goimports@latest tidy: ## Tidies and vendors dependencies. ${OPTS} go mod tidy -v format: tidy ## Formats the code. Must have goimports and goimports-reviser installed (use make install-linters). - ${OPTS} goimports -w -local ${PROJECT_BASE} ./pkg & ${OPTS} goimports -w -local ${PROJECT_BASE} ./cmd & ${OPTS} goimports -w -local ${PROJECT_BASE} ./internal + ${OPTS} goimports -w -local ${PROJECT_BASE} ./pkg ./cmd ./internal find . -type f -name '*.go' -not -path "./.git/*" -not -path "./vendor/*" -exec goimports-reviser -project-name ${PROJECT_BASE} {} \; format-windows: tidy ## Formats the code. Must have goimports and goimports-reviser installed (use make install-linters). @@ -188,33 +182,28 @@ format-windows: tidy ## Formats the code. Must have goimports and goimports-revi dep: tidy ## Sorts dependencies ${OPTS} go mod vendor -v -snapshot: +snapshot: ## goreleaser --snapshot --skip-publish --rm-dist goreleaser --snapshot --skip-publish --rm-dist -snapshot-linux: +snapshot-linux: ## goreleaser --snapshot --config .goreleaser-linux.yml --skip-publish --rm-dist goreleaser --snapshot --config .goreleaser-linux.yml --skip-publish --rm-dist snapshot-clean: ## Cleans snapshot / release rm -rf ./dist host-apps: ## Build app - test -d apps && rm -r apps || true - mkdir -p ./apps - ${OPTS} go build ${BUILD_OPTS} -o ./apps/ ./cmd/apps/skychat - ${OPTS} go build ${BUILD_OPTS} -o ./apps/ ./cmd/apps/skysocks - ${OPTS} go build ${BUILD_OPTS} -o ./apps/ ./cmd/apps/skysocks-client - ${OPTS} go build ${BUILD_OPTS} -o ./apps/ ./cmd/apps/vpn-server - ${OPTS} go build ${BUILD_OPTS} -o ./apps/ ./cmd/apps/vpn-client + test -d $(BUILD_PATH) && rm -r $(BUILD_PATH) || true + mkdir -p $(BUILD_PATH)apps + ${OPTS} go build ${BUILD_OPTS} -o $(BUILD_PATH)apps/ ./cmd/apps/... example-apps: ## Build example apps - ${OPTS} go build ${BUILD_OPTS} -o ./apps/ ./example/example-client-app - ${OPTS} go build ${BUILD_OPTS} -o ./apps/ ./example/example-server-app + ${OPTS} go build ${BUILD_OPTS} -o $(BUILD_PATH)apps/ ./example/... -host-apps-windows: +host-apps-windows: ## build apps on windows powershell -Command new-item .\apps -itemtype directory -force powershell 'Get-ChildItem .\cmd\apps | % { ${OPTS} go build ${BUILD_OPTS} -o ./apps $$_.FullName }' -host-apps-windows-appveyor: +host-apps-windows-appveyor: ## build apps on windows. `go build` with ${OPTS} for AppVeyor image powershell -Command new-item .\apps -itemtype directory -force powershell 'Get-ChildItem .\cmd\apps | % { ${OPTS} go build -o ./apps $$_.FullName }' @@ -222,41 +211,34 @@ host-apps-windows-appveyor: host-apps-static: ## Build app test -d apps && rm -r apps || true mkdir -p ./apps - ${STATIC_OPTS} go build -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o ./apps/ ./cmd/apps/skychat - ${STATIC_OPTS} go build -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o ./apps/ ./cmd/apps/skysocks - ${STATIC_OPTS} go build -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o ./apps/ ./cmd/apps/skysocks-client - ${STATIC_OPTS} go build -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o ./apps/ ./cmd/apps/vpn-server - ${STATIC_OPTS} go build -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o ./apps/ ./cmd/apps/vpn-client + ${STATIC_OPTS} go build -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o $(BUILD_PATH)apps/ ./cmd/apps/... host-apps-deploy: ## Build app test -d apps && rm -r apps || true mkdir -p ./apps - ${OPTS} go build ${BUILD_OPTS_DEPLOY} -o ./apps/ ./cmd/apps/skychat - ${OPTS} go build ${BUILD_OPTS_DEPLOY} -o ./apps/ ./cmd/apps/skysocks - ${OPTS} go build ${BUILD_OPTS_DEPLOY} -o ./apps/ ./cmd/apps/skysocks-client - ${OPTS} go build ${BUILD_OPTS_DEPLOY} -o ./apps/ ./cmd/apps/vpn-server - ${OPTS} go build ${BUILD_OPTS_DEPLOY} -o ./apps/ ./cmd/apps/vpn-client + ${OPTS} go build ${BUILD_OPTS_DEPLOY} -o $(BUILD_PATH)apps/ ./cmd/apps/... host-apps-race: ## Build app test -d apps && rm -r apps || true mkdir -p ./apps - CGO_ENABLED=1${OPTS} go build ${BUILD_OPTS} -race -o ./apps/ ./cmd/apps/skychat - CGO_ENABLED=1${OPTS} go build ${BUILD_OPTS} -race -o ./apps/ ./cmd/apps/skysocks - CGO_ENABLED=1${OPTS} go build ${BUILD_OPTS} -race -o ./apps/ ./cmd/apps/skysocks-client - CGO_ENABLED=1${OPTS} go build ${BUILD_OPTS} -race -o ./apps/ ./cmd/apps/vpn-server - CGO_ENABLED=1${OPTS} go build ${BUILD_OPTS} -race -o ./apps/ ./cmd/apps/vpn-client + CGO_ENABLED=1${OPTS} go build ${BUILD_OPTS} -race -o $(BUILD_PATH)apps/ ./cmd/apps/... # Bin -bin: fix-systray-vendor ## Build `skywire-visor`, `skywire-cli` - ${OPTS} go build ${BUILD_OPTS} -o ./ ./cmd/skywire-visor - ${OPTS} go build ${BUILD_OPTS} -o ./ ./cmd/skywire-cli - ${OPTS} go build ${BUILD_OPTS} -o ./ ./cmd/setup-node +bin: fix-systray-vendor bin-fix unfix-systray-vendor + +bin-fix: ## Build `skywire-visor`, `skywire-cli` + ${OPTS} go build ${BUILD_OPTS} -o $(BUILD_PATH) ./cmd/skywire-visor ./cmd/skywire-cli ./cmd/setup-node fix-systray-vendor: @if [ $(UNAME_S) = "Linux" ]; then\ sed -i '/go conn.handleCall(msg)/c\conn.handleCall(msg)' ./vendor/github.com/godbus/dbus/v5/conn.go ;\ fi +unfix-systray-vendor: + @if [ $(UNAME_S) = "Linux" ]; then\ + sed -i '/conn.handleCall(msg)/c\ go conn.handleCall(msg)' ./vendor/github.com/godbus/dbus/v5/conn.go ;\ + fi + bin-windows: ## Build `skywire-visor`, `skywire-cli` powershell 'Get-ChildItem .\cmd | % { ${OPTS} go build ${BUILD_OPTS} -o ./ $$_.FullName }' @@ -265,15 +247,12 @@ bin-windows-appveyor: ## Build `skywire-visor`, `skywire-cli` # Static Bin bin-static: ## Build `skywire-visor`, `skywire-cli` - ${STATIC_OPTS} go build -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o ./skywire-visor ./cmd/skywire-visor - ${STATIC_OPTS} go build -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o ./skywire-cli ./cmd/skywire-cli - ${STATIC_OPTS} go build -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o ./setup-node ./cmd/setup-node + ${STATIC_OPTS} go build 8 -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o $(BUILD_PATH) ./cmd/skywire-visor ./cmd/skywire-cli ./cmd/setup-node # Static Bin without Systray bin-static-wos: ## Build `skywire-visor`, `skywire-cli` - ${STATIC_OPTS} go build -tags withoutsystray -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o ./skywire-visor ./cmd/skywire-visor - ${STATIC_OPTS} go build -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o ./skywire-cli ./cmd/skywire-cli - ${STATIC_OPTS} go build -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o ./setup-node ./cmd/setup-node + ${STATIC_OPTS} go build -tags withoutsystray -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o $(BUILD_PATH)skywire-visor ./cmd/skywire-visor + ${STATIC_OPTS} go build -trimpath --ldflags '-linkmode external -extldflags "-static" -buildid=' -o $(BUILD_PATH) ./cmd/skywire-cli ./cmd/setup-node build-deploy: host-apps-deploy ## Build for deployment Docker images ${OPTS} go build -tags netgo ${BUILD_OPTS_DEPLOY} -o /release/skywire-visor ./cmd/skywire-visor @@ -321,6 +300,8 @@ dep-github-release: tar -xzf arm-linux-musleabihf-cross.tgz -C ./musl-data && rm arm-linux-musleabihf-cross.tgz wget -c https://more.musl.cc/10/x86_64-linux-musl/x86_64-linux-musl-cross.tgz -O x86_64-linux-musl-cross.tgz tar -xzf x86_64-linux-musl-cross.tgz -C ./musl-data && rm x86_64-linux-musl-cross.tgz + wget -c https://more.musl.cc/10/x86_64-linux-musl/riscv64-linux-musl-cross.tgz -O riscv64-linux-musl-cross.tgz + tar -xzf riscv64-linux-musl-cross.tgz -C ./musl-data && rm riscv64-linux-musl-cross.tgz build-docker: ## Build docker image ./ci_scripts/docker-push.sh -t latest -b @@ -329,8 +310,11 @@ build-docker: ## Build docker image install-deps-ui: ## Install the UI dependencies cd $(MANAGER_UI_DIR) && npm ci +config: ## Create or regenerate a config with correct default app bin_path for `make build` + $(BUILD_PATH)skywire-cli config gen -irx --binpath $(BUILD_PATH)apps + run: ## Run skywire visor with skywire-config.json, and start a browser if running a hypervisor - ./skywire-visor -bc ./skywire-config.json + $(BUILD_PATH)skywire-visor -bc ./skywire-config.json ## Prepare to run skywire from source, without compiling binaries prepare: @@ -344,45 +328,35 @@ prepare: chmod +x ./apps/* sudo echo "sudo cache" -## Run skywire from source, without compiling binaries - requires skywire cloned -run-source: prepare +run-source: prepare ## Run skywire from source, without compiling binaries go run ./cmd/skywire-cli/skywire-cli.go config gen -in | sudo go run ./cmd/skywire-visor/skywire-visor.go -n || true -## Run skywire from source, with vpn server enabled -run-systray: prepare +run-systray: prepare ## Run skywire from source, with vpn server enabled go run ./cmd/skywire-cli/skywire-cli.go config gen -ni | sudo go run ./cmd/skywire-visor/skywire-visor.go -n --systray || true -## Run skywire from source, without compiling binaries - requires skywire cloned -run-vpnsrv: prepare +run-vpnsrv: prepare ## Run skywire from source, without compiling binaries go run ./cmd/skywire-cli/skywire-cli.go config gen -in --servevpn | sudo go run ./cmd/skywire-visor/skywire-visor.go -n || true -## Run skywire from source with test endpoints -run-source-test: prepare +run-source-test: prepare ## Run skywire from source with test endpoints go run ./cmd/skywire-cli/skywire-cli.go config gen -nit | sudo go run ./cmd/skywire-visor/skywire-visor.go -n || true -## Run skywire from source, with vpn server enabled -run-vpnsrv-test: prepare +run-vpnsrv-test: prepare ## Run skywire from source, with vpn server enabled go run ./cmd/skywire-cli/skywire-cli.go config gen -nit --servevpn | sudo go run ./cmd/skywire-visor/skywire-visor.go -n || true -## Run skywire from source, with vpn server enabled -run-systray-test: prepare - go run ./cmd/skywire-cli/skywire-cli.go config gen -nit | sudo go run ./cmd/skywire-visor/skywire-visor.go --systray -nb || true +run-systray-test: prepare ## Run skywire from source, with vpn server enabled + go run ./cmd/skywire-cli/skywire-cli.go config gen -nit | sudo go run ./cmd/skywire-visor/skywire-visor.go --systray -n || true -## Run skywire from source with dmsghttp config -run-source-dmsghttp: prepare - go run ./cmd/skywire-cli/skywire-cli.go config gen -din | sudo go run ./cmd/skywire-visor/skywire-visor.go -nb || true +run-source-dmsghttp: prepare ## Run skywire from source with dmsghttp config + go run ./cmd/skywire-cli/skywire-cli.go config gen -din | sudo go run ./cmd/skywire-visor/skywire-visor.go -n || true -## Run skywire from source with dmsghttp config and vpn server -run-vpnsrv-dmsghttp: prepare - go run ./cmd/skywire-cli/skywire-cli.go config gen -din --servevpn | sudo go run ./cmd/skywire-visor/skywire-visor.go -nb || true +run-vpnsrv-dmsghttp: prepare ## Run skywire from source with dmsghttp config and vpn server + go run ./cmd/skywire-cli/skywire-cli.go config gen -din --servevpn | sudo go run ./cmd/skywire-visor/skywire-visor.go -n || true -## Run skywire from source with dmsghttp config and test endpoints -run-source-dmsghttp-test: prepare - go run ./cmd/skywire-cli/skywire-cli.go config gen -dint | sudo go run ./cmd/skywire-visor/skywire-visor.go -nb || true +run-source-dmsghttp-test: prepare ## Run skywire from source with dmsghttp config and test endpoints + go run ./cmd/skywire-cli/skywire-cli.go config gen -dint | sudo go run ./cmd/skywire-visor/skywire-visor.go -n || true -## Run skywire from source with dmsghttp config, vpn server, and test endpoints -run-vpnsrv-dmsghttp-test: prepare - go run ./cmd/skywire-cli/skywire-cli.go config gen -dint --servevpn | sudo go run ./cmd/skywire-visor/skywire-visor.go -nb || true +run-vpnsrv-dmsghttp-test: prepare ## Run skywire from source with dmsghttp config, vpn server, and test endpoints + go run ./cmd/skywire-cli/skywire-cli.go config gen -dint --servevpn | sudo go run ./cmd/skywire-visor/skywire-visor.go -n || true lint-ui: ## Lint the UI code cd $(MANAGER_UI_DIR) && npm run lint @@ -400,16 +374,6 @@ build-ui-windows: install-deps-ui ## Builds the UI on windows powershell 'New-Item -Path ${MANAGER_UI_BUILT_DIR} -ItemType Directory' powershell 'Copy-Item -Recurse ${MANAGER_UI_DIR}\dist\* ${MANAGER_UI_BUILT_DIR}' -deb-install-prequisites: ## Create unsigned application - sudo chmod +x ./scripts/deb_installer/prequisites.sh - ./scripts/deb_installer/prequisites.sh - -deb-package: deb-install-prequisites ## Create unsigned application - ./scripts/deb_installer/package_deb.sh - -deb-package-help: ## Show installer creation help - ./scripts/deb_installer/package_deb.sh -h - mac-installer: ## Create unsigned and not-notarized application, run make mac-installer-help for more ./scripts/mac_installer/create_installer.sh @@ -421,10 +385,10 @@ mac-installer-release: mac-installer ## Upload created signed and notarized appl gh release upload --repo skycoin/skywire ${GITHUB_TAG} ./skywire-installer-${GITHUB_TAG}-darwin-amd64.pkg gh release upload --repo skycoin/skywire ${GITHUB_TAG} ./skywire-installer-${GITHUB_TAG}-darwin-arm64.pkg -win-installer-latest: +win-installer-latest: ## Build the windows .msi (installer) latest version @powershell '.\scripts\win_installer\script.ps1 latest' -win-installer: +win-installer: ## Build the windows .msi (installer) custom version @powershell '.\scripts\win_installer\script.ps1 $(CUSTOM_VERSION)' windows-installer-release: @@ -433,7 +397,7 @@ windows-installer-release: gh release upload --repo skycoin/skywire ${GITHUB_TAG} ./skywire-installer-${GITHUB_TAG}-windows-amd64.msi gh release upload --repo skycoin/skywire ${GITHUB_TAG} ./skywire-installer-${GITHUB_TAG}-windows-386.msi -help: +help: ## `make help` menu @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' help-windows: ## Display help for windows diff --git a/README.md b/README.md index 225402a3c6..d88cf5f116 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,55 @@ -[![Build Status](https://travis-ci.com/skycoin/skywire.svg?branch=master)](https://travis-ci.com/skycoin/skywire) +[![Go Report Card](https://goreportcard.com/badge/github.com/skycoin/skywire)](https://goreportcard.com/report/github.com/skycoin/skywire) +[![Test](https://github.com/skycoin/skywire/actions/workflows/test.yml/badge.svg) +[![Deploy](https://github.com/skycoin/skywire/actions/workflows/deploy.yml/badge.svg) +[![Release](https://github.com/skycoin/skywire/actions/workflows/release.yml/badge.svg) +[![GitHub release](https://img.shields.io/github/release/skycoin/skywire.svg)](https://github.com/skycoin/skywire/releases/) +[![skywire](https://img.shields.io/aur/version/skywire?color=1793d1&label=skywire&logo=arch-linux)](https://aur.archlinux.org/packages/skywire/) +[![skywire-bin](https://img.shields.io/aur/version/skywire-bin?color=1793d1&label=skywire-bin&logo=arch-linux)](https://aur.archlinux.org/packages/skywire-bin/) +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/skycoin/skywire/badge)](https://api.securityscorecards.dev/projects/github.com/skycoin/skywire) +[![go.mod](https://img.shields.io/github/go-mod/go-version/skycoin/skywire.svg)](https://github.com/skycoin/skywire) +[![Telegram](https://img.shields.io/badge/Join-Telegram-blue?&logo=data:image/svg%2bxml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjUxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJtOS40MTcgMTUuMTgxLS4zOTcgNS41ODRjLjU2OCAwIC44MTQtLjI0NCAxLjEwOS0uNTM3bDIuNjYzLTIuNTQ1IDUuNTE4IDQuMDQxYzEuMDEyLjU2NCAxLjcyNS4yNjcgMS45OTgtLjkzMWwzLjYyMi0xNi45NzIuMDAxLS4wMDFjLjMyMS0xLjQ5Ni0uNTQxLTIuMDgxLTEuNTI3LTEuNzE0bC0yMS4yOSA4LjE1MWMtMS40NTMuNTY0LTEuNDMxIDEuMzc0LS4yNDcgMS43NDFsNS40NDMgMS42OTMgMTIuNjQzLTcuOTExYy41OTUtLjM5NCAxLjEzNi0uMTc2LjY5MS4yMTh6IiBmaWxsPSIjMDM5YmU1Ii8+PC9zdmc+)](https://t.me/skywire) -Skywire requires a Golang version of `1.16` or higher. + +Compiling Skywire requires a Golang version of at least `1.16`. # Skywire -* [Skywire](#skywire) - * [Commands and Subcommands](#commands-and-subcommands) - * [App documentation](#app-documentation) - * [Installing Skywire](#installing-skywire) - * [Build Overview](#build-overview) - * [Dependencies](#dependencies) - * [Runtime Deps](#runtime-deps) - * [Build Deps](#build-deps) - * [Prepare](#prepare) - * [Build](#build) - * [Install](#install) - * [Skywire\-autoconfig](#skywire-autoconfig) - * [Package tree](#package-tree) - * [Build with make](#build-with-make) - * [Build docker image](#build-docker-image) - * [Run from source](#run-from-source) - * [Files and folders created by skywire](#files-and-folders-created-by-skywire) - * [Configure Skywire](#configure-skywire) - * [Expose hypervisorUI](#expose-hypervisorui) - * [Add remote hypervisor](#add-remote-hypervisor) - * [Run skywire\-visor](#run-skywire-visor) - * [Using the Skywire VPN](#using-the-skywire-vpn) - * [Creating a GitHub release](#creating-a-github-release) - * [How to create a GitHub release](#how-to-create-a-github-release) +* [Commands and Subcommands](#commands-and-subcommands) +* [App documentation](#app-documentation) +* [Installing Skywire](#installing-skywire) +* [Dependencies](#dependencies) + * [Build Deps](#build-deps) + * [Runtime Deps](#runtime-deps) + * [Testing Deps](#testing-deps) +* [Testing](#testing) +* [Compiling](#compiling) +* [Config Gen](#config-gen) +* [Build docker image](#build-docker-image) +* [Skywire Configuration in\-depth](#skywire-configuration-in-depth) + * [Expose hypervisorUI](#expose-hypervisorui) + * [Add remote hypervisor](#add-remote-hypervisor) +* [Files and folders created by skywire at runtime](#files-and-folders-created-by-skywire-at-runtime) +* [Run skywire\-visor](#run-skywire-visor) +* [Run from source](#run-from-source) + * [Port forwarding over skywire](#port-forwarding-over-skywire) + * [Transport setup](#transport-setup) + * [Routing Rules](#routing-rules) + * [Using the Skywire VPN](#using-the-skywire-vpn) + * [Using the Skywire SOCKS5 proxy client](#using-the-skywire-socks5-proxy-client) +* [Skycoin Rewards](#skycoin-rewards) +* [Linux Packages](#linux-packages) +* [How to create a GitHub release](#how-to-create-a-github-release) ## Commands and Subcommands -Documentation on skywire-cli interface as well as available flags for skywire-visor +Documentation on skywire-cli interface as well as available flags for skywire-visor: * [skywire-cli](cmd/skywire-cli/README.md) * [skywire-visor](cmd/skywire-visor/README.md) ## App documentation -Apps are not executed by the user, but hosted by the visor process +Apps are not executed by the user, but hosted by the visor process. * [API](docs/skywire_app_api.md) * [skychat](cmd/apps/skychat/README.md) @@ -49,260 +60,74 @@ Apps are not executed by the user, but hosted by the visor process * [example-server-app](example/example-server-app/README.md) * [example-client-app](example/example-client-app/README.md) -further documentation can be found in the [skywire wiki](https://github.com/skycoin/skywire/wiki) +Further documentation can be found in the [skywire wiki](https://github.com/skycoin/skywire/wiki). ## Installing Skywire -Pre-compiled resouces +Pre-compiled resouces: -* [Windows installer](https://github.com/skycoin/skywire/releases/download/v1.2.1/skywire-installer-v1.2.1-windows-amd64.msi) -* [MacOS amd64 package](https://github.com/skycoin/skywire/releases/download/v1.2.1/skywire-installer-v1.2.1-darwin-amd64.pkg) -* [MacOS m1 / arm64](https://github.com/skycoin/skywire/releases/download/v1.2.1/skywire-installer-v1.2.1-darwin-arm64.pkg) -* [Debian Package Installation](github.com/skycoin/skywire/wiki/Skywire-Package-Installation) +* [Windows installer](https://github.com/skycoin/skywire/releases/download/v1.3.7/skywire-installer-v1.3.7-windows-amd64.msi) +* [MacOS amd64 package](https://github.com/skycoin/skywire/releases/download/v1.3.7/skywire-installer-v1.3.7-darwin-amd64.pkg) +* [MacOS m1 / arm64](https://github.com/skycoin/skywire/releases/download/v1.3.7/skywire-installer-v1.3.7-darwin-arm64.pkg) +* [Debian Package Installation Guide](https://github.com/skycoin/skywire/wiki/Skywire-Package-Installation) * [Binary Releases](https://github.com/skycoin/skywire/releases) -## Build Overview - -A high-level overview of the process for building skywire from source and the paths and files which comprise the package-based installation is contained in the [PKGBUILD](https://github.com/skycoin/AUR/blob/main/skywire/PKGBUILD) - -this and other build variants can be built into a package with a single command, using `yay` on archlinux - -installing [skywire-bin](https://aur.archlinux.org/packages/skywire-bin) will install the release binaries provided by the release section of this repo -``` -yay -S skywire-bin -``` - -to build the debian packages using the release binaries -``` -yay --mflags " -p cc.deb.PKGBUILD " -S skywire-bin -``` - -installing [skywire](https://aur.archlinux.org/packages/skywire) will compile binaries using the source archive for the latest version release -``` -yay -S skywire -``` - -build from git sources to the develop branch -``` -yay --mflags " -p git.PKGBUILD " -S skywire -``` - ## Dependencies -### Runtime Deps - -* ` glibc` or `libc6` _unless statically compiled_ - ### Build Deps * `golang` -* `git` (optional) -* `musl` and `kernel-headers-musl` or equivalent - _for static compilation_ -For more information on static compilation, see [docs/static-builds.md](docs/static-builds.md). +`golang` or `go` can be installed with your system package manager on most linux distributions. Alternatively, follow the procedure at [go.dev/doc/install](https://go.dev/doc/install) to install golang. -## Prepare +Basic setup of the `go` environment is further described [here](https://github.com/skycoin/skycoin/blob/develop/INSTALLATION.md#setup-your-gopath). -The standard procedure for building software with `go` uses the `GOPATH` which is conventionally `$HOME/go` +* `git` (optional) -Software sources are cloned via `git` to a path such as `$HOME/go/src/github.com/skycoin/skywire` +* `musl` and `kernel-headers-musl` or equivalent - _for static compilation_ -Optionally, the source archive of a versioned release is downloaded from the [release section](https://github.com/skycoin/skywire/releases) +For more information on static compilation, see [docs/static-builds.md](docs/static-builds.md). -The binaries which are compiled may optionally be placed in the `GOBIN` and then `GOBIN` may be added to the `PATH` in order that any binaries placed in the `GOBIN` will then appear as commands available to execute in the shell or terminal. +### Runtime Deps -basic setup of `go` is further described [here](https://github.com/skycoin/skycoin/blob/develop/INSTALLATION.md#setup-your-gopath) +* ` glibc` or `libc6` _unless statically compiled_ -Such a setup is optional, but it is documented below, and other examples will refer to this +### Testing Deps -``` -mkdir -p "${HOME}/go/src/github.com/skycoin/" "${HOME}"/go/bin "${HOME}"/go/apps || true -cd "${HOME}/go/src/src/github.com/skycoin/" -git clone https://github.com/skycoin/skywire -#optionally checkout any branch -git checkout develop -``` +* `golangci-lint` +* `goimports-reviser` from github.com/incu6us/goimports-reviser/v2 +* `goimports` from golang.org/x/tools/cmd/goimports -## Build +## Testing -the code below is a rough approximation of `make install` which is used in the build function of the skywire packages +Before pushing commits to a pull request, its customary in case of edits to any of the golang source code to run the following: ``` -export GOPATH="${HOME}/go" -export GOBIN="${GOPATH}/bin" -export _GOAPPS="${GOPATH}/apps" -export GOOS=linux -#use musl-gcc for static compilation -export CC=musl-gcc - -cd "${HOME}/go/src/github.com/skycoin/skywire" - -#binary versioning -local _version=$(make version) -DMSG_BASE="github.com/skycoin/dmsg" -BUILDINFO_PATH="${DMSG_BASE}/buildinfo" -BUILDINFO_VERSION="${BUILDINFO_PATH}.version=${_version}" -BUILDINFO="${BUILDINFO_VERSION} ${BUILDINFO_DATE} ${BUILDINFO_COMMIT}" - -#create the skywire binaries -_pkggopath=github.com/skycoin/skywire -cd "${HOME}"/go/src/${_pkggopath} -_cmddir="${HOME}"/go/src/${_pkggopath}/cmd -cd "${_cmddir}"/apps -_app="$(ls)" -for _i in ${_app}; do -echo "building ${_i} binary" -cd "${_cmddir}/apps/${_i}" -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $_GOAPPS . -done -echo "building skywire-visor binary" -cd "${_cmddir}"/skywire-visor -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN . -echo "building skywire-cli binary" -cd "${_cmddir}"/skywire-cli -go build -trimpath --ldflags="" --ldflags "${BUILDINFO} -s -w -linkmode external -extldflags '-static' -buildid=" -o $GOBIN . +make format check ``` -## Install +`make check` will run `make test` as well. To explicitly run tests, use `make test`. -The installation paths for the skywire as present in the skywire package are detailed below +## Compiling -Note that `make install-system-linux` will place the binaries into the system where the package would install them, and is best used for quickly testing changes to ensure they work with the autoconfig script included with the package +To compile skywire directly from cloned git sources: ``` -#to install directly into the system, use "/" -_pkgdir="/" - -#use the appropriate systemd unit installation path for your linux distribution (i.e./etc/systemd/system on .deb distros -_systemddir="usr/lib/systemd/system" - -#the base path where skywire is installed -_dir="opt/skywire" - -#application binaries ; started by the visor process -_apps="${_dir}/apps" - -#main binaries go here -_bin="${_dir}/bin" - -#scripts included -_scripts="${_dir}/scripts" - -#create the directories -mkdir -p "${_pkgdir}/usr/bin" -mkdir -p "${_pkgdir}/${_dir}/bin" -mkdir -p "${_pkgdir}/${_dir}/apps" -mkdir -p "${_pkgdir}/${_dir}/scripts" -mkdir -p "${_pkgdir}/${_systemddir}" -#the local folder is otherwise produced by the visor on startup -mkdir -p "${_pkgdir}/${_dir}/local" - -# instal binaries - assumes nothing else was already in your GOBIN - install -Dm755 "${GOBIN}"/* "${_pkgdir}/${_skybin}/" - -#Symlink the binaries into the executable path -for _i in "${_pkgdir}/${_skybin}"/* ; do - ln -rTsf "${_i}" "${_pkgdir}/usr/bin/${_i##*/}" -done - -#install the app binaries -install -Dm755 "${_GOAPPS}"/* "${_pkgdir}/${_skyapps}/" -#it is not necessary to symlink these binaries to the executable path but may be useful for debugging -for _i in "${_pkgdir}/${_skyapps}"/* ; do - ln -rTsf "${_i}" "${_pkgdir}/usr/bin/${_i##*/}" -done - -#install the dmsghttp-config.json' -install -Dm644 "${HOME}"/go/src/${_pkggopath}/skywire/dmsghttp-config.json" "${_pkgdir}/${_skydir}/dmsghttp-config.json" +git clone https://github.com/skycoin/skywire +cd skywire +#for the latest commits, check out the develop branch +git checkout develop +make build1 ``` -Desktop integration, maintenance scripts, and systemd service files are included in the skywire package from the [skywire AUR](https://aur.archlinux.org/cgit/aur.git/tree/?h=skywire-bin) which is managed as a subtree from [github.com/skycoin/aur](https://github.com/skycoin/AUR/tree/main/skywire-bin) +To compile skywire directly from source archive, first download the latest source archive from the release section with your browser or another utility. Extract it with an archiving utility, enter the directory where the sources were extracted, and run `make build1`. -`${srcdir}` in the code below is in reference to the directory containing these other source files -``` -#Install scripts -install -Dm755 "${srcdir}"/skywire-autoconfig "${_pkgdir}/${_skyscripts}/" -ln -rTsf "${_pkgdir}/${_skyscripts}/skywire-autoconfig" "${_pkgdir}"/usr/bin/skywire-autoconfig - -#Installing systemd services' -install -Dm644 "${srcdir}"/*.service "${_pkgdir}/${_systemddir}/" - -# instal desktop files and icons -mkdir -p "${_pkgdir}"/usr/share/applications/ "${_pkgdir}"/usr/share/icons/hicolor/48x48/apps/ -install -Dm644 "${srcdir}"/*.desktop "${_pkgdir}"/usr/share/applications/ -install -Dm644 "${srcdir}"/*.png "${_pkgdir}"/usr/share/icons/hicolor/48x48/apps/ -``` - -## Skywire-autoconfig - -[skywire-autoconfig](https://github.com/skycoin/AUR/blob/main/skywire/skywire-autoconfig) is a script is provided with the package which is executed as part of the postinstall process. It serves as a utility for automating: - -* config management and updates -* setting remote hypervisors -* restarting the skywire process (via systemd) -* printing helpful text for the user to know what is happening -* generating configuration on boot (for skybian images / chroot installations of skywire) -* detecting environmental variables - -for more information regarding this script and the skywire package installation, refer to [this wiki article](https://github.com/skycoin/AUR/wiki/skywire-bin) - -### Package tree -``` -/ -├── opt -│ └── skywire -│ ├── apps -│ │ ├── skychat -│ │ ├── skysocks -│ │ ├── skysocks-client -│ │ ├── vpn-client -│ │ └── vpn-server -│ ├── bin -│ │ ├── skywire-cli -│ │ └── skywire-visor -│ ├── dmsghttp-config.json -│ ├── local -│ └── scripts -│ └── skywire-autoconfig -└── usr - ├── bin - │ ├── skychat -> ../../opt/skywire/apps/skychat - │ ├── skysocks -> ../../opt/skywire/apps/skysocks - │ ├── skysocks-client -> ../../opt/skywire/apps/skysocks-client - │ ├── skywire -> ../../opt/skywire/bin/skywire-visor - │ ├── skywire-autoconfig -> ../../opt/skywire/scripts/skywire-autoconfig - │ ├── skywire-cli -> ../../opt/skywire/bin/skywire-cli - │ ├── skywire-visor -> ../../opt/skywire/bin/skywire-visor - │ ├── vpn-client -> ../../opt/skywire/apps/vpn-client - │ └── vpn-server -> ../../opt/skywire/apps/vpn-server - ├── lib - │ └── systemd - │ └── system - │ ├── skywire-autoconfig.service - │ ├── skywire.service - └── share - ├── applications - │ ├── skywire.desktop - │ └── skywirevpn.desktop - └── icons - └── hicolor - └── 48x48 - └── apps - ├── skywire.png - └── skywirevpn.png - -17 directories, 24 files -``` +`make build1` builds the binaries and apps with `go build` -## Build with make +`skywire-cli` and `skywire-visor` binaries will populate in the current directory; app binaries will populate the `apps` directory. -build the binaries and apps with `go build` -``` -make build -``` - -output tree +Build output: ``` ├──skywire-cli @@ -316,55 +141,41 @@ output tree └──skychat ``` -install these executables to the `GOPATH` +'install' these executables to the `GOPATH`: ``` make install ``` +For more options, run `make help`. -## Build docker image -``` -$ ./ci_scripts/docker-push.sh -t $(git rev-parse --abbrev-ref HEAD) -b -``` +## Config Gen - -## Run from source - -Running from source as outlined here does not write the config to disk or explicitly compile any binaries. The config is piped from skywire-cli stdout to the visor stdin, and all are executed via `go run`. +To run skywire from this point, first generate a config. ``` - mkdir -p $HOME/go/src/github.com/skycoin && cd $HOME/go/src/github.com/skycoin - git clone https://github.com/skycoin/skywire.git - cd skywire - make run-source +./skywire-cli config gen -birx ``` +`-b --bestproto` use the best protocol (dmsg | direct) to connect to the skywire production deployment +`-i --ishv` create a local hypervisor configuration +`-r --regen` regenerate a config which may already exist, retaining the keys +`-x --retainhv` retain any remote hypervisors which are set in the config + +More options for configuration are displayed with `./skywire-cli config gen -all`. -## Files and folders created by skywire +## Build docker image ``` -├──skywire-config.json -└─┬local - ├──skychat - ├──skysocks - ├──apps-pid.txt - ├──skychat_log.db - ├──reward.txt - ├──node-info.json - └─┬transport_logs - └──2022-11-12.csv +$ ./ci_scripts/docker-push.sh -t $(git rev-parse --abbrev-ref HEAD) -b ``` +## Skywire Configuration in-depth -Some of these files are served via the [dmsghttp logserver](https://github.com/skycoin/skywire/wiki/DMSGHTTP-logserver) - -## Configure Skywire - -The skywire visor requires a config to run. This config is produced by `skywire-cli config gen` +The skywire visor requires a config file to run. This config is a json-formatted file produced by `skywire-cli config gen`. -The skywire-autoconfig script included with the skywire package handles config generation and updates for the user +The `skywire-autoconfig` script included with the skywire package handles config generation and updates for the user who has installed the package. -Examples of config generation and command / flag documentation can be found in the [cmd/skywire-cli/README.md](cmd/skywire-cli/README.md) and [cmd/skywire-visor/README.md](cmd/skywire-visor/README.md) +Examples of config generation and command / flag documentation can be found in the [cmd/skywire-cli/README.md](cmd/skywire-cli/README.md) and [cmd/skywire-visor/README.md](cmd/skywire-visor/README.md). -The most important flags are noted below +The most important flags are noted below. ### Expose hypervisorUI @@ -374,20 +185,13 @@ In order to expose the hypervisor UI, generate a config file with `--is-hypervis skywire-cli config gen -i ``` -Docker container will create config automatically for you, should you want to run it manually, you can do: +Docker container will create config automatically for you. To run it manually: ``` docker run --rm -v :/opt/skywire \ skycoin/skywire:test skywire-cli config gen -i ``` -Docker container will create config automatically for you, should you want to run it manually, you can do: - -``` -$ docker run --rm -v :/opt/skywire \ - skycoin/skywire:latest skywire-cli visor gen-config --is-hypervisor -``` - After starting up the visor, the UI will be exposed by default on `localhost:8000`. ### Add remote hypervisor @@ -398,12 +202,12 @@ hypervisor needs to be specified in the configuration file. You can add a remote ``` skywire-cli config update --hypervisor-pks ``` -or +OR: ``` skywire-cli config gen --hvpk ``` -alternatively, this can be done with the skywire-autoconfg script +Alternatively, this can be done with the skywire-autoconfg script included with the linux packages: ``` skywire-autoconfig ``` @@ -422,23 +226,50 @@ docker run --rm -v :/opt/skywire \ skycoin/skywire:latest skywire-cli update-config hypervisor-pks ``` -## Run `skywire-visor` + +## Files and folders created by skywire at runtime +_Note: not all of these files will be created by default._ +``` +├──skywire-config.json +└─┬local +  ├── apps-pid.txt + ├── node-info.json + ├── node-info.sha + ├── reward.txt +  ├── skychat +  ├── skychat_log.db +  ├── skysocks +  ├── skysocks-client +  ├── skysocks-client_log.db +  ├── skysocks_log.db +  └── transport_logs +  ├── 2023-03-06.csv +  ├── 2023-03-07.csv +  ├── 2023-03-08.csv +  ├── 2023-03-09.csv +  └── 2023-03-10.csv +``` + +Some of these files are served via the [dmsghttp logserver](https://github.com/skycoin/skywire/wiki/DMSGHTTP-logserver). + +## Run skywire-visor `skywire-visor` hosts apps and is an applications gateway to the Skywire network. -`skywire-visor` requires a valid configuration to be provided. If you want to run a VPN client locally, run the visor -as `sudo`. +`skywire-visor` requires a valid configuration to be provided. + +__Note: root permissions are currently required for vpn client and server applications!__ +Run the visor: ``` sudo skywire-visor -c skywire-config.json ``` -if the default `skywire-config.json` exists in the current dir, this can be shortened to +If the default `skywire-config.json` exists in the current dir, this can be shortened to: ``` sudo skywire-visor ``` Or from docker image: - ``` # with custom config mounted on docker volume docker run --rm -p 8000:8000 -v :/opt/skywire --name=skywire skycoin/skywire:test skywire-visor -c /opt/skywire/.json @@ -447,30 +278,284 @@ docker run --rm -p 8000:8000 --name=skywire skycoin/skywire:test skywire-visor ``` `skywire-visor` can be run on Windows. The setup requires additional setup steps that are specified -in [the docs](docs/windows-setup.md). +in [the docs](docs/windows-setup.md) if not using the windows .msi. + +## Run from source -### Using Skywire forwarding for publishing http server over skynet +Running from source as outlined in this section does not write the config to disk or explicitly compile any binaries. The config is piped from skywire-cli stdout to the visor stdin, and all are executed via `go run`. -The skywire-cli subcommand `skywire-cli fwd` is used to register and connect to http servers over the skynet +``` +git clone https://github.com/skycoin/skywire.git +cd skywire +#for the latest commits, check out the develop branch +git checkout develop +make run-source +``` + +### Port forwarding over skywire + +`skywire-cli fwd` is used to register and connect to http servers over the skywire connection - [skywire forwarding](docs/skywire_forwarding.md) -### Using the Skywire VPN +For example, if the local application you wish to forward is running on port `8080`: +``` +skywire-cli fwd -p 8080 +``` + +List forwarded ports: +``` +skywire-cli fwd -l +``` + +Deregister a port / turn off forwarding: +``` +skywire-cli fwd -d 8080 +``` + +To consume the skyfwd connection (i.e. reverse proxy back to localhost) use `skywire-cli rev` +A different port can be specified to proxy the remote port to: +``` +skywire-cli rev -p 8080 -r 8080 -k +``` + +List existing connections: +``` +skywire-cli rev -l +``` + +Remove a configured connection: +``` +skywire-cli rev -d +``` + +_Note: skyfwd is a new feature and could work more robustly. Issues are welcome._ + +### Transport setup -If you are interested in running the Skywire VPN as either a client or a server, please refer to the following guides: +_Note: transports should be set up automatically in most cases. The user should not need to do this manually._ +A Transport represents a bidirectional line of communication between two Skywire Visors: +- [Transports](https://github.com/skycoin/skywire/wiki/Transports) + +Transports are automatically established when a client application connects to a server application. +Their creation is attempted in the following order: +- stcpr +- sudph +- dmsg + +Transports can be manually created. Existing suitable transports will be automatically used by client applications when they are started. + +To create a transport, first copy the public key of an online visor from the uptime tracker (or service discovery endpoints): +https://ut.skywire.skycoin.com/uptimes + +``` +skywire-cli visor tp add -t +``` + +View established transports: +``` +skywire-cli visor tp ls +``` + +Remove a transport: +``` +skywire-cli visor tp rm +``` + +### Routing Rules + +In the current era of internet connectivity, certain direct connections between servers in different countries are throttled or may drop intermittently. It is advantageous, in these instances, to establish an indirect or multi-hop route. + +Establishing skywire routing rules brings the advantage of an anonymizing overlay to the connection. The intermediate visor handling a certain packet only knows the previous and next hop of that packet. All packets through skywire are of uniform size, stripped of their headers and fuzzed to appear no differently from noise. + +__disclaimer: this process is pending improvements & revisions!__ + +To create a route, first copy the public key of an online visor from the uptime tracker (or service discovery endpoints): +https://ut.skywire.skycoin.com/uptimes + +``` +skywire-cli visor route add-rule app $(skywire-cli visor pk) +``` + +To understand these arguments, observe the help menu for `skywire-cli visor route add-rule`: +``` +Usage: + skywire-cli visor route add-rule app \ + \ + \ + \ + \ + \ + || [flags] + +Flags: + -i, --rid string route id + -l, --lpk string local public key + -m, --lpt string local port + -p, --rpk string remote pk + -q, --rpt string remote port + +Global Flags: + --keep-alive duration timeout for rule expiration (default 30s) +``` + + and are all just integers. It's suggested to create the first route with id 1, unless another route exists with that id. + +The port numbers are similarly inconsequential. + +__Note: the skywire router is pending refactorization!__ + +### Using the Skywire VPN + +The following documentation exists for vpn server / client setup and usage: - [Setup the Skywire VPN](https://github.com/skycoin/skywire/wiki/Skywire-VPN-Client) - [Setup the Skywire VPN server](https://github.com/skycoin/skywire/wiki/Skywire-VPN-Server) - [Package Installation Guide](https://github.com/skycoin/skywire/wiki/Skywire-Package-Installation) +An example using the vpn with `skywire-cli`: + +``` +skywire-cli vpn list +``` +This will query the service discovery for a list of vpn server public keys. +[sd.skycoin.com/api/services?type=vpn](https://sd.skycoin.com/api/services?type=vpn) + +Sample output: +``` +02836f9a39e38120f338dbc98c96ee2b1ffd73420259d1fb134a2d0a15c8b66ceb | NL +0289a464f485ce9036f6267db10e5b6eaabd3972a25a7c2387f92b187d313aaf5e | GB +03cad59c029fc2394e564d0d328e35db17f79feee50c33980f3ab31869dc05217b | ID +02cf90f3b3001971cfb2b2df597200da525d359f4cf9828dca667ffe07f59f8225 | IT +03e540ddb3ac61385d6be64b38eeef806d8de9273d29d7eabb8daccaf4cee945ab | US +... +``` + +Select a key and start the vpn with: +``` +skywire-cli vpn start +``` + +View the status of the vpn: +``` +skywire-cli vpn status +``` + +Check your ip address with ip.skywire.dev. +__Note: ip.skycoin.com will only show your real ip address, not the ip address of the vpn connection.__ + +Stop the vpn: +``` +skywire-cli vpn stop +``` + +### Using the Skywire SOCKS5 proxy client + + +The following wiki documentation exists on the SOCKS5 proxy: +- [Skywire SOCKS5 Proxy User Guide](https://github.com/skycoin/skywire/wiki/Skywire-SOCKS5-Proxy-User-Guide) +- [SSH over SOCKS5 Proxy](https://github.com/skycoin/skywire/wiki/SSH-over-SOCKS5-Proxy) + +The main difference between the vpn and the socks5 proxy is that the proxy is configured __per application__ while the vpn wraps the connections for the whole machine. -## Creating a GitHub release +The socks client usage (from `skywire-cli`) is similar to the vpn, though the `skywire-cli` subcommands and flags do not currently match from the one application to the other. This will be rectified. -To maintain actual `skywire-visor` state on users' Skywire nodes we have a mechanism for updating `skywire-visor` -binaries. Binaries for each version are uploaded to [GitHub releases](https://github.com/skycoin/skywire/releases/). We -use [goreleaser](https://goreleaser.com) for creating them. +To use the SOCKS5 proxy client via `skywire-cli`: +``` +skywire-cli proxy list +``` +This will query the service discovery for a list of visor public keys which are running the proxy server. +[sd.skycoin.com/api/services?type=proxy](https://sd.skycoin.com/api/services?type=proxy) + +Sample output: +``` +031a924f5fb38d26fd8d795a498ae53f14782bc9f036f8ff283c479ac41af95ebd:3 | ID +024fdf44c126e122f09d591c8071a7355d4be9c561f85ea584e8ffe4e1ae8717f7:3 | ID +03ae05142dcf5aad70d1b58ea142476bac49874bfaa67a1369f601e0eb2f5842df:3 | US +0313a76e2c331669a0cb1a3b749930881f9881cca89b59ee52365d1c15141d9d83:3 | AU +03022fa8a0c38d20fae9335ef6aa780f5d762e1e161e607882923dc0d5a890f094:3 | SG +03e4b6326f9df0cff1372f52906a6d1ee03cf972338d532e17470e759362e45c87:3 | ID +0230689d26e5450e8c44faaba91813b7c2b00c1add3ad251e2d62ecca8041a849d:3 | MY +036ae558d5e6c5fc73cb6a329cb0006b4f659ecf9ae69c9e38996dfb65b1fb1c45:3 | ID +03a35c742ed17506834235b2256bb2b0a687de992e5ded52ca4d54fba3b00b8dbe:3 | SG +0259721a9e79e91ce8bc94bad52a6a381d50fcb05aaadc2c99201fd137fb71dfde:3 | CN +... +``` + +Select a key and start the proxy with: +``` +skywire-cli proxy start --pk +``` + +View the status of the proxy: +``` +skywire-cli proxy status +``` + +Check the ip address of the connection; for example, using `curl` via the socks5 proxy connection: +``` +curl -Lx socks5h://127.0.0.1:1080 http://ip.skycoin.com/ | jq +``` + +The connection may be consumed in a web browser via direct proxy configuration in browsers which support it, or using such extensions as `foxyproxy`. + +The connection may also be consumed in the terminal by setting `ALL_PROXY` environmental variable, or via the specific method used by a certain application. + +Examples of `ssh` over the socks5 proxy: + +Using `openbsd-netcat`: +``` +ssh user@host -p 22 -o "ProxyCommand=nc -X 5 -x 127.0.0.1:1080 %h %p" +``` + +Using `ncat` from `nmap`: +``` +ssh user@host -p 22 -o "ProxyCommand=ncat --proxy-type socks5 --proxy 127.0.0.1:1080 %h %p" +``` + +Stop the socks5 proxy client: +``` +skywire-cli proxy stop +``` + +## Skycoin Rewards + +Running skywire on eligible hardware can earn rewards in skycoin. Currently, only package-based linux installations are supported for rewards. +Review the [mainnet rules](/mainnet_rules.md) article for the details. + +Set a reward address: +``` +skywire-cli reward +``` +Visors meeting uptime and eligability requirements will recieve daily skycoin rewards for up to 8 visors per location / ip address. + +## Linux Packages + +Built Debian packages are maintained for skywire, as well as several build variants for archlinux. All packages provide a virtually identical installation, regardless of the distro. + +Consider the [PKGBUILD](https://github.com/skycoin/AUR/blob/main/skywire/PKGBUILD) as a reference for building and installing skywire on any linux distribution. + +Installing [skywire-bin](https://aur.archlinux.org/packages/skywire-bin) from the AUR will install the release binaries provided by the release section of this repository: +``` +yay -S skywire-bin +``` + +To build the debian packages using the release binaries: +``` +yay --mflags " -p cc.deb.PKGBUILD " -S skywire-bin +``` + +Installing [skywire](https://aur.archlinux.org/packages/skywire) from the AUR will compile binaries using the source archive for the latest version release: +``` +yay -S skywire +``` + +Build from git sources to the develop branch: +``` +yay --mflags " -p git.PKGBUILD " -S skywire +``` -### How to create a GitHub release +## How to create a GitHub release 1. Make sure that `git` and [goreleaser](https://goreleaser.com/install) are installed. 2. Checkout to a commit you would like to create a release against. diff --git a/cmd/apps/skychat/README.md b/cmd/apps/skychat/README.md index 043b2ca650..4a64bc5f9c 100644 --- a/cmd/apps/skychat/README.md +++ b/cmd/apps/skychat/README.md @@ -44,7 +44,8 @@ Create 2 visor config files: Compile binaries and start 2 visors: ```bash -$ go build -o apps/skychat.v1.0 ./cmd/apps/skychat +$ go build -o ./build/apps/skychat.v1.0 ./cmd/apps/skychat +$ cd ./build $ ./skywire-visor skywire1.json $ ./skywire-visor skywire2.json ``` diff --git a/cmd/apps/skysocks/README.md b/cmd/apps/skysocks/README.md index f69f0e60a9..b140cf6b3f 100644 --- a/cmd/apps/skysocks/README.md +++ b/cmd/apps/skysocks/README.md @@ -47,8 +47,9 @@ Create 2 visor config files: Compile binaries and start 2 visors: ```sh -$ go build -o apps/skysocks.v1.0 ./cmd/apps/skysocks -$ go build -o apps/skysocks-client.v1.0 ./cmd/apps/skysocks-client +$ go build -o ./build/apps/skysocks.v1.0 ./cmd/apps/skysocks +$ go build -o ./build/apps/skysocks-client.v1.0 ./cmd/apps/skysocks-client +$ cd ./build $ ./skywire-visor skywire1.json $ ./skywire-visor skywire2.json ``` diff --git a/cmd/apps/vpn-client/README.md b/cmd/apps/vpn-client/README.md index f2b4514391..2889c1672d 100644 --- a/cmd/apps/vpn-client/README.md +++ b/cmd/apps/vpn-client/README.md @@ -30,7 +30,8 @@ Full config of the client should look like this: Compile app binary and start a visor: ```sh -$ go build -o apps/vpn-client ./cmd/apps/vpn-client +$ go build -o ./build/apps/vpn-client ./cmd/apps/vpn-client +$ cd ./build $ ./skywire-visor skywire-config.json ``` diff --git a/cmd/apps/vpn-server/README.md b/cmd/apps/vpn-server/README.md index b2391e615f..a0f1429542 100644 --- a/cmd/apps/vpn-server/README.md +++ b/cmd/apps/vpn-server/README.md @@ -30,6 +30,7 @@ Full config of the server should look like this: Compile app binary and start a visor: ```sh -$ go build -o apps/vpn-server ./cmd/apps/vpn-server +$ go build -o ./build/apps/vpn-server ./cmd/apps/vpn-server +$ cd ./build $ ./skywire-visor skywire-config.json ``` \ No newline at end of file diff --git a/cmd/setup-node/commands/root.go b/cmd/setup-node/commands/root.go index 1f4d7fc048..b41f654b8d 100644 --- a/cmd/setup-node/commands/root.go +++ b/cmd/setup-node/commands/root.go @@ -29,13 +29,14 @@ var ( ) func init() { - rootCmd.Flags().StringVarP(&metricsAddr, "metrics", "m", "", "address to bind metrics API to") - rootCmd.Flags().StringVar(&syslogAddr, "syslog", "", "syslog server address. E.g. localhost:514") - rootCmd.Flags().StringVar(&tag, "tag", "setup_node", "logging tag") - rootCmd.Flags().BoolVarP(&cfgFromStdin, "stdin", "i", false, "read config from STDIN") + RootCmd.Flags().StringVarP(&metricsAddr, "metrics", "m", "", "address to bind metrics API to") + RootCmd.Flags().StringVar(&syslogAddr, "syslog", "", "syslog server address. E.g. localhost:514") + RootCmd.Flags().StringVar(&tag, "tag", "setup_node", "logging tag") + RootCmd.Flags().BoolVarP(&cfgFromStdin, "stdin", "i", false, "read config from STDIN") } -var rootCmd = &cobra.Command{ +// RootCmd is the root command for setup node +var RootCmd = &cobra.Command{ Use: "setup-node [config.json]", Short: "Route Setup Node for skywire", Long: ` @@ -124,7 +125,7 @@ func prepareMetrics(log logrus.FieldLogger) setupmetrics.Metrics { // Execute executes root CLI command. func Execute() { cc.Init(&cc.Config{ - RootCmd: rootCmd, + RootCmd: RootCmd, Headings: cc.HiBlue + cc.Bold, Commands: cc.HiBlue + cc.Bold, CmdShortDescr: cc.HiBlue, @@ -136,7 +137,7 @@ func Execute() { NoExtraNewlines: true, NoBottomNewline: true, }) - if err := rootCmd.Execute(); err != nil { + if err := RootCmd.Execute(); err != nil { panic(err) } } diff --git a/cmd/skywire-cli/README.md b/cmd/skywire-cli/README.md index 479f83a106..e72d4871ba 100644 --- a/cmd/skywire-cli/README.md +++ b/cmd/skywire-cli/README.md @@ -3,12 +3,15 @@ skywire command line interface +* [skywire\-cli documentation](#skywire-cli-documentation) * [skywire\-cli](#skywire-cli) * [global flags](#global-flags) * [subcommand tree](#subcommand-tree) * [config](#config) * [config gen](#config-gen) * [Example for package / msi](#example-for-package--msi) + * [config gen\-keys](#config-gen-keys) + * [config check\-pk](#config-check-pk) * [config update](#config-update) * [config update hv](#config-update-hv) * [config update sc](#config-update-sc) @@ -34,7 +37,6 @@ skywire command line interface * [visor app arg secure](#visor-app-arg-secure) * [visor app arg passcode](#visor-app-arg-passcode) * [visor app arg netifc](#visor-app-arg-netifc) - * [visor exec](#visor-exec) * [visor hv](#visor-hv) * [visor hv ui](#visor-hv-ui) * [visor hv cpk](#visor-hv-cpk) @@ -43,8 +45,13 @@ skywire command line interface * [visor info](#visor-info) * [visor ver](#visor-ver) * [visor ports](#visor-ports) + * [visor ip](#visor-ip) * [visor ping](#visor-ping) * [visor test](#visor-test) + * [visor start](#visor-start) + * [visor restart](#visor-restart) + * [visor reload](#visor-reload) + * [visor halt](#visor-halt) * [visor route](#visor-route) * [visor route ls\-rules](#visor-route-ls-rules) * [visor route rule](#visor-route-rule) @@ -53,8 +60,6 @@ skywire command line interface * [visor route add\-rule app](#visor-route-add-rule-app) * [visor route add\-rule fwd](#visor-route-add-rule-fwd) * [visor route add\-rule intfwd](#visor-route-add-rule-intfwd) - * [visor halt](#visor-halt) - * [visor start](#visor-start) * [visor tp](#visor-tp) * [visor tp type](#visor-tp-type) * [visor tp ls](#visor-tp-ls) @@ -63,12 +68,13 @@ skywire command line interface * [visor tp rm](#visor-tp-rm) * [visor tp disc](#visor-tp-disc) * [vpn](#vpn) - * [vpn list](#vpn-list) - * [vpn ui](#vpn-ui) - * [vpn url](#vpn-url) * [vpn start](#vpn-start) * [vpn stop](#vpn-stop) * [vpn status](#vpn-status) + * [vpn list](#vpn-list) + * [vpn ui](#vpn-ui) + * [vpn url](#vpn-url) + * [ut](#ut) * [fwd](#fwd) * [rev](#rev) * [reward](#reward) @@ -78,11 +84,18 @@ skywire command line interface * [mdisc entry](#mdisc-entry) * [mdisc servers](#mdisc-servers) * [completion](#completion) + * [log](#log) + * [proxy](#proxy) + * [proxy start](#proxy-start) + * [proxy stop](#proxy-stop) + * [proxy status](#proxy-status) + * [proxy list](#proxy-list) * [tree](#tree) * [doc](#doc) + ## skywire-cli ``` @@ -92,13 +105,14 @@ skywire command line interface └─┘┴ ┴ ┴ └┴┘┴┴└─└─┘ └─┘┴─┘┴ Usage: - skywire-cli + cli Available Commands: config Generate or update a skywire config dmsgpty Interact with remote visors visor Query the Skywire Visor - vpn controls for VPN client + vpn VPN client + ut query uptime tracker fwd Control skyforwarding rev reverse proxy skyfwd reward skycoin reward address @@ -106,6 +120,8 @@ Available Commands: rtfind Query the Route Finder mdisc Query remote DMSG Discovery completion Generate completion script + log survey & transport log collection + proxy Skysocks client tree subcommand tree doc generate markdown docs @@ -133,9 +149,11 @@ Global Flags: A tree representation of the skywire-cli subcommands ``` -└─┬skywire-cli +└─┬cli ├─┬config │ ├──gen + │ ├──gen-keys + │ ├──check-pk │ └─┬update │ ├──hv │ ├──sc @@ -161,7 +179,6 @@ A tree representation of the skywire-cli subcommands │ │ ├──secure │ │ ├──passcode │ │ └──netifc - │ ├──exec │ ├─┬hv │ │ ├──ui │ │ ├──cpk @@ -170,8 +187,13 @@ A tree representation of the skywire-cli subcommands │ ├──info │ ├──ver │ ├──ports + │ ├──ip │ ├──ping │ ├──test + │ ├──start + │ ├──restart + │ ├──reload + │ ├──halt │ ├─┬route │ │ ├──ls-rules │ │ ├──rule @@ -180,8 +202,6 @@ A tree representation of the skywire-cli subcommands │ │ ├──app │ │ ├──fwd │ │ └──intfwd - │ ├──halt - │ ├──start │ └─┬tp │ ├──type │ ├──ls @@ -190,12 +210,13 @@ A tree representation of the skywire-cli subcommands │ ├──rm │ └──disc ├─┬vpn - │ ├──list - │ ├──ui - │ ├──url │ ├──start │ ├──stop - │ └──status + │ ├──status + │ ├──list + │ ├──ui + │ └──url + ├──ut ├──fwd ├──rev ├──reward @@ -205,22 +226,30 @@ A tree representation of the skywire-cli subcommands │ ├──entry │ └──servers ├──completion + ├──log + ├─┬proxy + │ ├──start + │ ├──stop + │ ├──status + │ └──list ├──tree - ├──doc - └── + └──doc + ``` ### config ``` -A primary function of skywire-cli is generating and updating the config file used by skywire-visor. +Generate or update the config file used by skywire-visor. Usage: - skywire-cli config + cli config Available Commands: gen Generate a config file + gen-keys generate public / secret keypair + check-pk check a skywire public key update Update a config file @@ -232,40 +261,49 @@ Available Commands: Generate a config file Usage: - skywire-cli config gen [flags] + cli config gen [flags] Flags: - -a, --url string services conf - --log-level string level of logging in config (default "info") - -b, --bestproto best protocol (dmsg | direct) based on location - -c, --noauth disable authentication for hypervisor UI - -d, --dmsghttp use dmsg connection to skywire services - -e, --auth enable auth on hypervisor UI - -f, --force remove pre-existing config - -g, --disableapps string comma separated list of apps to disable - -i, --ishv local hypervisor configuration - -j, --hvpks string list of public keys to use as hypervisor - -k, --os string (linux / mac / win) paths (default "linux") - -l, --publicip allow display node ip in services - -m, --example-apps add example apps to the config - -n, --stdout write config to stdout - -o, --out string output config: skywire-config.json - -p, --pkg use path for package: /opt/skywire - -q, --publicrpc allow rpc requests from LAN + -a, --url string services conf url + + (default "http://conf.skywire.skycoin.com") + --loglvl string [ debug | warn | error | fatal | panic | trace | info ] (default "info") + -b, --bestproto best protocol (dmsg | direct) based on location + -c, --noauth disable authentication for hypervisor UI + -d, --dmsghttp use dmsg connection to skywire services + -e, --auth enable auth on hypervisor UI + -f, --force remove pre-existing config + -g, --disableapps string comma separated list of apps to disable + -i, --ishv local hypervisor configuration + -j, --hvpks string list of public keys to add as hypervisor + --dmsgpty string add dmsgpty whitelist PKs + --survey string add survey whitelist PKs + --routesetup string add route setup node PKs + --tpsetup string add transport setup PKs + -k, --os string (linux / mac / win) paths (default "linux") + -l, --publicip allow display node ip in services + -m, --example-apps add example apps to the config + -n, --stdout write config to stdout + -o, --out string output config + -p, --pkg use path for package: /opt/skywire + -u, --user use paths for user space: /root -r, --regen re-generate existing config & retain keys -s, --sk cipher.SecKey a random key is generated if unspecified (default 0000000000000000000000000000000000000000000000000000000000000000) - -t, --testenv use test deployment conf.skywire.dev - -u, --user use paths for user space: /home/d0mo - -v, --servevpn enable vpn server - -w, --hide dont print the config to the terminal - -x, --retainhv retain existing hypervisors with regen - -y, --autoconn disable autoconnect to public visors - -z, --public publicize visor in service discovery - --version string custom version testing override + -t, --testenv use test deployment conf.skywire.dev + -v, --servevpn enable vpn server + -w, --hide dont print the config to the terminal :: show errors with -n flag + -x, --retainhv retain existing hypervisors with regen + -y, --autoconn disable autoconnect to public visors + -z, --public publicize visor in service discovery + --stcpr int set tcp transport listening port - 0 for random + --sudph int set udp transport listening port - 0 for random --all show all flags - --binpath string set bin_path + --binpath string set bin_path + --nofetch do not fetch the services from the service conf url + --nodefaults do not use hardcoded defaults for production / test services + --version string custom version testing override ``` @@ -275,9 +313,9 @@ Flags: ``` $ skywire-cli config gen -bpirxn --version 1.3.0 { - "version": "fatal: No names found, cannot describe anything.\n", - "sk": "8111629add1de63c18f43dc052a76a4cdc948c978bf7847bd2ccb8e61f30a7f7", - "pk": "03643894e84e55e7d7915b7f971b090e582261609c9188066983c70c5d92a0b4ae", + "version": "v1.3.7", + "sk": "794ca4760d823e1a190d3aa19487a276944d54e8c1c8d29e16e6fbe6587eb51e", + "pk": "02d3879d36c5d8046a81247388af0fd7caef01884c73f9997ddc362ca96d4ff3d3", "dmsg": { "discovery": "http://dmsgd.skywire.skycoin.com", "sessions_count": 1, @@ -286,7 +324,8 @@ $ skywire-cli config gen -bpirxn --version 1.3.0 "dmsgpty": { "dmsg_port": 22, "cli_network": "unix", - "cli_address": "/tmp/dmsgpty.sock" + "cli_address": "/tmp/dmsgpty.sock", + "whitelist": [] }, "skywire-tcp": { "pk_table": null, @@ -296,15 +335,28 @@ $ skywire-cli config gen -bpirxn --version 1.3.0 "discovery": "http://tpd.skywire.skycoin.com", "address_resolver": "http://ar.skywire.skycoin.com", "public_autoconnect": true, - "transport_setup_nodes": null, + "transport_setup": [ + "03530b786c670fc7f5ab9021478c7ec9cd06a03f3ea1416c50c4a8889ef5bba80e", + "03271c0de223b80400d9bd4b7722b536a245eb6c9c3176781ee41e7bac8f9bad21", + "03a792e6d960c88c6fb2184ee4f16714c58b55f0746840617a19f7dd6e021699d9", + "0313efedc579f57f05d4f5bc3fbf0261f31e51cdcfde7e568169acf92c78868926", + "025c7bbf23e3441a36d7e8a1e9d717921e2a49a2ce035680fec4808a048d244c8a", + "030eb6967f6e23e81db0d214f925fc5ce3371e1b059fb8379ae3eb1edfc95e0b46", + "02e582c0a5e5563aad47f561b272e4c3a9f7ac716258b58e58eb50afd83c286a7f", + "02ddc6c749d6ed067bb68df19c9bcb1a58b7587464043b1707398ffa26a9746b26", + "03aa0b1c4e23616872058c11c6efba777c130a85eaf909945d697399a1eb08426d", + "03adb2c924987d8deef04d02bd95236c5ae172fe5dfe7273e0461d96bf4bc220be" + ], "log_store": { "type": "file", "location": "./local/transport_logs", "rotation_interval": "168h0m0s" - } + }, + "stcpr_port": 0, + "sudph_port": 0 }, "routing": { - "setup_nodes": [ + "route_setup_nodes": [ "0324579f003e6b4048bae2def4365e634d8e0e3054a20fc7af49daf2a179658557" ], "route_finder": "http://rf.skywire.skycoin.com", @@ -321,20 +373,29 @@ $ skywire-cli config gen -bpirxn --version 1.3.0 "bin_path": "./apps", "display_node_ip": false }, + "survey_whitelist": [ + "02b5ee5333aa6b7f5fc623b7d5f35f505cb7f974e98a70751cf41962f84c8c4637", + "03714c8bdaee0fb48f47babbc47c33e1880752b6620317c9d56b30f3b0ff58a9c3", + "020d35bbaf0a5abc8ec0ba33cde219fde734c63e7202098e1f9a6cf9daaeee55a9", + "027f7dec979482f418f01dfabddbd750ad036c579a16422125dd9a313eaa59c8e1", + "031d4cf1b7ab4c789b56c769f2888e4a61c778dfa5fe7e5cd0217fc41660b2eb65", + "0327e2cf1d2e516ecbfdbd616a87489cc92a73af97335d5c8c29eafb5d8882264a", + "03abbb3eff140cf3dce468b3fa5a28c80fa02c6703d7b952be6faaf2050990ebf4" + ], "hypervisors": [], "cli_addr": "localhost:3435", - "log_level": "info", + "log_level": "", "local_path": "./local", - "custom_dmsg_http_path": "./local/custom", + "dmsghttp_server_path": "./local/custom", "stun_servers": [ - "192.53.116.178:3478", - "172.105.114.227:3478", - "172.104.47.121:3478", - "172.104.185.252:3478", - "139.162.42.104:3478", - "192.53.172.10:3478", - "172.104.54.73:3478", - "139.162.21.168:3478" + "139.162.12.30:3478", + "170.187.228.181:3478", + "172.104.161.184:3478", + "170.187.231.137:3478", + "143.42.74.91:3478", + "170.187.225.78:3478", + "143.42.78.123:3478", + "139.162.12.244:3478" ], "shutdown_timeout": "10s", "restart_check_delay": "1s", @@ -343,13 +404,35 @@ $ skywire-cli config gen -bpirxn --version 1.3.0 } ``` +#### config gen-keys + +``` +generate public / secret keypair + +Usage: + cli config gen-keys + + +``` + +#### config check-pk + +``` +check a skywire public key + +Usage: + cli config check-pk + + +``` + #### config update ``` Update a config file Usage: - skywire-cli config update [flags] + cli config update [flags] Available Commands: hv update hypervisor config @@ -367,6 +450,7 @@ Flags: --set-minhop int change min hops value (default -1) -i, --input string path of input config file. -o, --output string config file to output + -p, --pkg update package config /opt/skywire/skywire.json ``` @@ -377,7 +461,7 @@ Flags: update hypervisor config Usage: - skywire-cli config update hv [flags] + cli config update hv [flags] Flags: -+, --add-pks string public keys of hypervisors that should be added to this visor @@ -386,6 +470,7 @@ Flags: Global Flags: -i, --input string path of input config file. -o, --output string config file to output + -p, --pkg update package config /opt/skywire/skywire.json ``` @@ -396,7 +481,7 @@ Global Flags: update skysocks-client config Usage: - skywire-cli config update sc [flags] + cli config update sc [flags] Flags: -+, --add-server string add skysocks server address to skysock-client @@ -405,6 +490,7 @@ Flags: Global Flags: -i, --input string path of input config file. -o, --output string config file to output + -p, --pkg update package config /opt/skywire/skywire.json ``` @@ -415,7 +501,7 @@ Global Flags: update skysocks-server config Usage: - skywire-cli config update ss [flags] + cli config update ss [flags] Flags: -s, --passwd string add passcode to skysocks server @@ -424,6 +510,7 @@ Flags: Global Flags: -i, --input string path of input config file. -o, --output string config file to output + -p, --pkg update package config /opt/skywire/skywire.json ``` @@ -434,7 +521,7 @@ Global Flags: update vpn-client config Usage: - skywire-cli config update vpnc [flags] + cli config update vpnc [flags] Flags: -x, --killsw string change killswitch status of vpn-client @@ -445,6 +532,7 @@ Flags: Global Flags: -i, --input string path of input config file. -o, --output string config file to output + -p, --pkg update package config /opt/skywire/skywire.json ``` @@ -455,7 +543,7 @@ Global Flags: update vpn-server config Usage: - skywire-cli config update vpns [flags] + cli config update vpns [flags] Flags: -s, --passwd string add passcode to vpn-server @@ -467,6 +555,7 @@ Flags: Global Flags: -i, --input string path of input config file. -o, --output string config file to output + -p, --pkg update package config /opt/skywire/skywire.json ``` @@ -477,7 +566,7 @@ Global Flags: Interact with remote visors Usage: - skywire-cli dmsgpty + cli dmsgpty Available Commands: ui Open dmsgpty UI in default browser @@ -494,7 +583,7 @@ Available Commands: Open dmsgpty UI in default browser Usage: - skywire-cli dmsgpty ui [flags] + cli dmsgpty ui [flags] Flags: -i, --input string read from specified config file @@ -510,7 +599,7 @@ Flags: Show dmsgpty UI URL Usage: - skywire-cli dmsgpty url [flags] + cli dmsgpty url [flags] Flags: -i, --input string read from specified config file @@ -526,7 +615,7 @@ Flags: List connected visors Usage: - skywire-cli dmsgpty list [flags] + cli dmsgpty list [flags] Flags: --rpc string RPC server address (default "localhost:3435") @@ -540,7 +629,7 @@ Flags: Start dmsgpty session Usage: - skywire-cli dmsgpty start [flags] + cli dmsgpty start [flags] Flags: -p, --port string port of remote visor dmsgpty (default "22") @@ -555,21 +644,22 @@ Flags: Query the Skywire Visor Usage: - skywire-cli visor [flags] + cli visor [flags] Available Commands: app App settings - exec Execute a command hv Hypervisor pk Public key of the visor info Summary of visor info ver Version and build info ports List of Ports + ip IP information of network ping Ping the visor with given pk test Test the visor with public visors on network - route View and set rules + start start visor + restart restart visor halt Stop a running visor - start Start a visor + route View and set rules tp View and set transports Flags: @@ -585,7 +675,7 @@ Flags: App settings Usage: - skywire-cli visor app [flags] + cli visor app [flags] Available Commands: ls List apps @@ -609,7 +699,7 @@ Global Flags: List apps Usage: - skywire-cli visor app ls [flags] + cli visor app ls [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -624,7 +714,7 @@ Global Flags: Launch app Usage: - skywire-cli visor app start [flags] + cli visor app start [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -639,7 +729,7 @@ Global Flags: Halt app Usage: - skywire-cli visor app stop [flags] + cli visor app stop [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -654,7 +744,7 @@ Global Flags: Register app Usage: - skywire-cli visor app register [flags] + cli visor app register [flags] Flags: -a, --appname string name of the app @@ -673,7 +763,7 @@ Global Flags: Deregister app Usage: - skywire-cli visor app deregister [flags] + cli visor app deregister [flags] Flags: -k, --procKey string proc key of the app to deregister @@ -694,7 +784,7 @@ Global Flags: "beginning" is a special timestamp to fetch all the logs Usage: - skywire-cli visor app log [flags] + cli visor app log [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -708,7 +798,7 @@ Global Flags: App args Usage: - skywire-cli visor app arg [flags] + cli visor app arg [flags] Available Commands: autostart Set app autostart @@ -729,7 +819,7 @@ Global Flags: Set app autostart Usage: - skywire-cli visor app arg autostart (true|false) [flags] + cli visor app arg autostart (true|false) [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -744,7 +834,7 @@ Global Flags: Set app killswitch Usage: - skywire-cli visor app arg killswitch (true|false) [flags] + cli visor app arg killswitch (true|false) [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -759,7 +849,7 @@ Global Flags: Set app secure Usage: - skywire-cli visor app arg secure (true|false) [flags] + cli visor app arg secure (true|false) [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -777,7 +867,7 @@ Global Flags: "remove" is a special arg to remove the passcode Usage: - skywire-cli visor app arg passcode [flags] + cli visor app arg passcode [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -794,22 +884,7 @@ Set app network interface. "remove" is a special arg to remove the netifc Usage: - skywire-cli visor app arg netifc [flags] - -Global Flags: - --rpc string RPC server address (default "localhost:3435") - - -``` - -#### visor exec - -``` - - Execute a command - -Usage: - skywire-cli visor exec [flags] + cli visor app arg netifc [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -829,7 +904,7 @@ Global Flags: View remote hypervisor public key Usage: - skywire-cli visor hv [flags] + cli visor hv [flags] Available Commands: ui open Hypervisor UI in default browser @@ -849,7 +924,7 @@ Global Flags: open Hypervisor UI in default browser Usage: - skywire-cli visor hv ui [flags] + cli visor hv ui [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -864,7 +939,7 @@ Global Flags: Public key of remote hypervisor(s) set in config Usage: - skywire-cli visor hv cpk [flags] + cli visor hv cpk [flags] Flags: -w, --http serve public key via http @@ -883,7 +958,7 @@ Global Flags: Public key of remote hypervisor(s) which are currently connected to Usage: - skywire-cli visor hv pk [flags] + cli visor hv pk [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -898,12 +973,12 @@ Global Flags: Public key of the visor Usage: - skywire-cli visor pk [flags] + cli visor pk [flags] Flags: -w, --http serve public key via http -i, --input string path of input config file. - -p, --pkg read from /opt/skywire/skywire.json + -p, --pkg read from {/opt/skywire/apps /opt/skywire/local {/opt/skywire/users.db %!s(bool=true)}} -x, --prt string serve public key via http (default "7998") Global Flags: @@ -919,7 +994,7 @@ Global Flags: Summary of visor info Usage: - skywire-cli visor info [flags] + cli visor info [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -934,7 +1009,7 @@ Global Flags: Version and build info Usage: - skywire-cli visor ver [flags] + cli visor ver [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -949,7 +1024,22 @@ Global Flags: List of all ports used by visor services and apps Usage: - skywire-cli visor ports [flags] + cli visor ports [flags] + +Global Flags: + --rpc string RPC server address (default "localhost:3435") + + +``` + +#### visor ip + +``` + + IP information of network + +Usage: + cli visor ip [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -961,10 +1051,10 @@ Global Flags: ``` - Creates a route with the provided pk as a hop and returns latency on the conn + Creates a route with the provided pk as a hop and returns latency on the conn Usage: - skywire-cli visor ping [flags] + cli visor ping [flags] Flags: -s, --size int Size of packet, in KB, default is 2KB (default 2) @@ -980,10 +1070,10 @@ Global Flags: ``` - Creates a route with public visors as a hop and returns latency on the conn + Creates a route with public visors as a hop and returns latency on the conn Usage: - skywire-cli visor test [flags] + cli visor test [flags] Flags: -c, --count int Count of Public Visors for using in test. (default 2) @@ -994,6 +1084,66 @@ Global Flags: --rpc string RPC server address (default "localhost:3435") +``` + +#### visor start + +``` +start visor + +Usage: + cli visor start [flags] + +Flags: + -s, --src 'go run' external commands from the skywire sources + +Global Flags: + --rpc string RPC server address (default "localhost:3435") + + +``` + +#### visor restart + +``` +restart visor + +Usage: + cli visor restart [flags] + +Global Flags: + --rpc string RPC server address (default "localhost:3435") + + +``` + +#### visor reload + +``` +reload visor + +Usage: + cli visor reload [flags] + +Global Flags: + --rpc string RPC server address (default "localhost:3435") + + +``` + +#### visor halt + +``` + + Stop a running visor + +Usage: + cli visor halt [flags] + +Global Flags: + --rpc string RPC server address (default "localhost:3435") + + ``` #### visor route @@ -1003,7 +1153,7 @@ Global Flags: View and set routing rules Usage: - skywire-cli visor route [flags] + cli visor route [flags] Available Commands: ls-rules List routing rules @@ -1024,7 +1174,7 @@ Global Flags: List routing rules Usage: - skywire-cli visor route ls-rules [flags] + cli visor route ls-rules [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -1039,7 +1189,7 @@ Global Flags: Return routing rule by route ID key Usage: - skywire-cli visor route rule [flags] + cli visor route rule [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -1054,7 +1204,7 @@ Global Flags: Remove routing rule Usage: - skywire-cli visor route rm-rule [flags] + cli visor route rm-rule [flags] Flags: -a, --all remove all routing rules @@ -1072,7 +1222,7 @@ Global Flags: Add routing rule Usage: - skywire-cli visor route add-rule ( app | fwd | intfwd ) [flags] + cli visor route add-rule ( app | fwd | intfwd ) [flags] Available Commands: app Add app/consume routing rule @@ -1095,7 +1245,7 @@ Global Flags: Add app/consume routing rule Usage: - skywire-cli visor route add-rule app \ + cli visor route add-rule app \ \ \ \ @@ -1124,7 +1274,7 @@ Global Flags: Add forward routing rule Usage: - skywire-cli visor route add-rule fwd \ + cli visor route add-rule fwd \ \ \ \ @@ -1157,7 +1307,7 @@ Global Flags: Add intermediary forward routing rule Usage: - skywire-cli visor route add-rule intfwd \ + cli visor route add-rule intfwd \ \ \ \ @@ -1173,39 +1323,6 @@ Global Flags: --rpc string RPC server address (default "localhost:3435") -``` - -#### visor halt - -``` - - Stop a running visor - -Usage: - skywire-cli visor halt [flags] - -Global Flags: - --rpc string RPC server address (default "localhost:3435") - - -``` - -#### visor start - -``` - - Start a visor - -Usage: - skywire-cli visor start [flags] - -Flags: - -s, --src 'go run' external commands from the skywire sources - -Global Flags: - --rpc string RPC server address (default "localhost:3435") - - ``` #### visor tp @@ -1220,8 +1337,10 @@ Global Flags: and has a Transport Type that identifies a specific implementation of the Transport. + Types: stcp stcpr sudph dmsg + Usage: - skywire-cli visor tp [flags] + cli visor tp [flags] Available Commands: type Transport types used by the local visor @@ -1244,7 +1363,7 @@ Global Flags: Transport types used by the local visor Usage: - skywire-cli visor tp type + cli visor tp type Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -1261,7 +1380,7 @@ Global Flags: displays transports of the local visor Usage: - skywire-cli visor tp ls [flags] + cli visor tp ls [flags] Flags: -t, --types strings show transport(s) type(s) comma-separated @@ -1281,7 +1400,7 @@ Global Flags: Transport summary by id Usage: - skywire-cli visor tp id (-i) + cli visor tp id (-i) Flags: -i, --id string transport ID @@ -1303,7 +1422,7 @@ Global Flags: in the following order: skywire-tcp, stcpr, sudph, dmsg Usage: - skywire-cli visor tp add (-p) + cli visor tp add (-p) Flags: -r, --rpk string remote public key. @@ -1323,7 +1442,7 @@ Global Flags: Remove transport(s) by id Usage: - skywire-cli visor tp rm ( -a || -i ) + cli visor tp rm ( -a || -i ) Flags: -a, --all remove all transports @@ -1342,7 +1461,7 @@ Global Flags: Discover remote transport(s) by ID or public key Usage: - skywire-cli visor tp disc (--id= || --pk=) + cli visor tp disc (--id= || --pk=) Flags: -i, --id string obtain transport of given ID @@ -1357,18 +1476,18 @@ Global Flags: ### vpn ``` -controls for VPN client +VPN client Usage: - skywire-cli vpn [flags] + cli vpn [flags] Available Commands: - list List public VPN servers + start start the vpn for + stop stop the vpnclient + status vpn client status + list List vpn servers ui Open VPN UI in default browser url Show VPN UI URL - start start the vpn for - stop stop the vpn - status vpn status Flags: --rpc string RPC server address (default "localhost:3435") @@ -1376,19 +1495,16 @@ Flags: ``` -#### vpn list +#### vpn start ``` -List public VPN servers +start the vpn for Usage: - skywire-cli vpn list [flags] + cli vpn start [flags] Flags: - -c, --country string filter results by country - -n, --nofilter provide unfiltered results - -s, --stats return only a count of the results - -v, --ver string filter results by version + -k, --pk string server public key Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -1396,17 +1512,27 @@ Global Flags: ``` -#### vpn ui +#### vpn stop ``` -Open VPN UI in default browser +stop the vpnclient Usage: - skywire-cli vpn ui [flags] + cli vpn stop [flags] -Flags: - -c, --config string config path - -p, --pkg use package config path +Global Flags: + --rpc string RPC server address (default "localhost:3435") + + +``` + +#### vpn status + +``` +vpn client status + +Usage: + cli vpn status [flags] Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -1414,17 +1540,26 @@ Global Flags: ``` -#### vpn url +#### vpn list ``` -Show VPN UI URL +List vpn servers from service discovery + http://sd.skycoin.com/api/services?type=vpn + http://sd.skycoin.com/api/services?type=vpn&country=US Usage: - skywire-cli vpn url [flags] + cli vpn list [flags] Flags: - -c, --config string config path - -p, --pkg use package config path + -c, --country string filter results by country + -b, --direct query service discovery directly + -n, --num int number of results to return + -k, --pk string check vpn service discovery for public key + -s, --stats return only a count of the results + -u, --unfilter provide unfiltered results + -a, --url string service discovery url default: + http://sd.skycoin.com + -v, --ver string filter results by version (default "v1.3.7-42-gf9e3cc38") Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -1432,13 +1567,17 @@ Global Flags: ``` -#### vpn start +#### vpn ui ``` -start the vpn for +Open VPN UI in default browser Usage: - skywire-cli vpn start [flags] + cli vpn ui [flags] + +Flags: + -c, --config string config path + -p, --pkg use package config path: /opt/skywire Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -1446,13 +1585,17 @@ Global Flags: ``` -#### vpn stop +#### vpn url ``` -stop the vpn +Show VPN UI URL Usage: - skywire-cli vpn stop [flags] + cli vpn url [flags] + +Flags: + -c, --config string config path + -p, --pkg use package config path: /opt/skywire Global Flags: --rpc string RPC server address (default "localhost:3435") @@ -1460,16 +1603,23 @@ Global Flags: ``` -#### vpn status +### ut ``` -vpn status +query uptime tracker + Check local visor daily uptime percent with: + skywire-cli ut -k $(skywire-cli visor pk) Usage: - skywire-cli vpn status [flags] + cli ut [flags] -Global Flags: - --rpc string RPC server address (default "localhost:3435") +Flags: + -n, --min int list visors meeting minimum uptime (default 75) + -o, --on list currently online visors + -k, --pk string check uptime for the specified key + -s, --stats count the number of results + -u, --url string specify alternative uptime tracker url + default: http://ut.skywire.skycoin.com/uptimes?v=v2 ``` @@ -1481,7 +1631,7 @@ Control skyforwarding forward local ports over skywire Usage: - skywire-cli fwd [flags] + cli fwd [flags] Flags: -d, --deregister deregister local port of the external (http) app @@ -1497,7 +1647,7 @@ Flags: connect or disconnect from remote ports Usage: - skywire-cli rev [flags] + cli rev [flags] Flags: -l, --ls list configured connections @@ -1514,10 +1664,9 @@ Flags: ``` skycoin reward address set to: - 2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6 Usage: - skywire-cli reward
|| [flags] + cli reward
|| [flags] Flags: --all show all flags @@ -1531,7 +1680,7 @@ Flags: print the system survey Usage: - skywire-cli survey + cli survey Flags: -s, --sha generate checksum of system survey @@ -1541,14 +1690,14 @@ Flags: ``` { + "timestamp": "2023-05-26T12:39:16.93648714-05:00", "public_key": "000000000000000000000000000000000000000000000000000000000000000000", - "skycoin_address": "2jBbGxZRGoQG1mqhPBnXnLTxK6oxsTf8os6", "go_os": "linux", "go_arch": "amd64", "zcalusic_sysinfo": { "sysinfo": { "version": "0.9.5", - "timestamp": "2023-01-12T09:49:16.860941383-06:00" + "timestamp": "2023-05-26T12:39:15.695232998-05:00" }, "node": { "hostname": "node", @@ -1561,8 +1710,8 @@ Flags: "architecture": "amd64" }, "kernel": { - "release": "6.1.1-arch1-1", - "version": "#1 SMP PREEMPT_DYNAMIC Wed, 21 Dec 2022 22:27:55 +0000", + "release": "6.3.1-arch2-1", + "version": "#1 SMP PREEMPT_DYNAMIC Wed, 10 May 2023 08:54:47 +0000", "architecture": "x86_64" }, "product": { @@ -1697,8 +1846,8 @@ Flags: "prefixlen": 24, "scope": "global", "label": "eno1", - "valid_life_time": 81925, - "preferred_life_time": 81925 + "valid_life_time": 75286, + "preferred_life_time": 75286 }, { "family": "inet6", @@ -1734,7 +1883,8 @@ Flags: "size_bytes": 128033659904, "type": "ext4", "read_only": false, - "uuid": "514fad51-01" + "uuid": "514fad51-01", + "filesystem_label": "unknown" } ] } @@ -1751,14 +1901,14 @@ Flags: }, "ghw_memoryinfo": { "total_physical_bytes": 17179869184, - "total_usable_bytes": 16657915904, + "total_usable_bytes": 16655327232, "supported_page_sizes": [ 2097152 ], "modules": null }, - "uuid": "69573fd2-59c9-4cb2-ba77-7ad93f1b4bfa", - "skywire_version": "fatal: No names found, cannot describe anything.\n" + "uuid": "99246216-8786-4332-a8e2-b1bb15e68574", + "skywire_version": "fatal: detected dubious ownership in repository at '/home/d0mo/go/src/github.com/0pcom/skywire'\nTo add an exception for this directory, call:\n\n\tgit config --global --add safe.directory /home/d0mo/go/src/github.com/0pcom/skywire\n" } ``` @@ -1766,16 +1916,17 @@ Flags: ``` Query the Route Finder +Assumes the local visor public key as an argument if only one argument is given Usage: - skywire-cli rtfind [flags] + cli rtfind | [flags] Flags: - -n, --min-hops uint16 minimum hops (default 1) - -x, --max-hops uint16 maximum hops (default 1000) + -n, --min uint16 minimum hops (default 1) + -x, --max uint16 maximum hops (default 1000) -t, --timeout duration request timeout (default 10s) -a, --addr string route finder service address - (default "http://rf.skywire.skycoin.com") + http://rf.skywire.skycoin.com ``` @@ -1786,7 +1937,7 @@ Flags: Query remote DMSG Discovery Usage: - skywire-cli mdisc + cli mdisc Available Commands: entry Fetch an entry @@ -1801,11 +1952,11 @@ Available Commands: Fetch an entry Usage: - skywire-cli mdisc entry [flags] + cli mdisc entry [flags] Flags: - --addr string address of DMSG discovery server - (default "http://dmsgd.skywire.skycoin.com") + -a, --addr string DMSG discovery server address + http://dmsgd.skywire.skycoin.com ``` @@ -1816,7 +1967,7 @@ Flags: Fetch available servers Usage: - skywire-cli mdisc servers [flags] + cli mdisc servers [flags] Flags: --addr string address of DMSG discovery server @@ -1831,7 +1982,127 @@ Flags: Generate completion script Usage: - skywire-cli completion [bash|zsh|fish|powershell] + cli completion [bash|zsh|fish|powershell] + + +``` + +### log + +``` +collect surveys and transport logging from visors which are online in the uptime tracker + +Usage: + cli log [flags] + +Flags: + -e, --env string selecting env to fetch uptimes, default is prod (default "prod") + -l, --log fetch only transport logs + -v, --survey fetch only surveys + -c, --clean delete files and folders on errors + --minv string minimum version for get logs, default is 1.3.4 (default "v1.3.4") + -n, --duration int numberof days before today to fetch transport logs for (default 1) + --all consider all visors ; no version filtering + --batchSize int number of visor in each batch, default is 50 (default 50) + --maxfilesize int maximum file size allowed to download during collecting logs, in KB (default 30) + -D, --dmsg-disc string dmsg discovery url + (default "http://dmsgd.skywire.skycoin.com") + -u, --ut string custom uptime tracker url + -s, --sk cipher.SecKey a random key is generated if unspecified + + (default 0000000000000000000000000000000000000000000000000000000000000000) + + +``` + +### proxy + +``` +Skysocks client + +Usage: + cli proxy [flags] + +Available Commands: + start start the proxy client + stop stop the proxy client + status proxy client status + list List servers + +Flags: + --rpc string RPC server address (default "localhost:3435") + + +``` + +#### proxy start + +``` +start the proxy client + +Usage: + cli proxy start [flags] + +Flags: + -k, --pk string server public key + +Global Flags: + --rpc string RPC server address (default "localhost:3435") + + +``` + +#### proxy stop + +``` +stop the proxy client + +Usage: + cli proxy stop [flags] + +Global Flags: + --rpc string RPC server address (default "localhost:3435") + + +``` + +#### proxy status + +``` +proxy client status + +Usage: + cli proxy status [flags] + +Global Flags: + --rpc string RPC server address (default "localhost:3435") + + +``` + +#### proxy list + +``` +List proxy servers from service discovery + http://sd.skycoin.com/api/services?type=proxy + http://sd.skycoin.com/api/services?type=proxy&country=US + +Usage: + cli proxy list [flags] + +Flags: + -c, --country string filter results by country + -b, --direct query service discovery directly + -n, --num int number of results to return (0 = all) + -k, --pk string check proxy service discovery for public key + -s, --stats return only a count of the results + -u, --unfilter provide unfiltered results + -a, --url string service discovery url default: + http://sd.skycoin.com + -v, --ver string filter results by version (default "v1.3.7-42-gf9e3cc38") + +Global Flags: + --rpc string RPC server address (default "localhost:3435") ``` @@ -1842,7 +2113,7 @@ Usage: subcommand tree Usage: - skywire-cli tree + cli tree ``` @@ -1861,13 +2132,7 @@ generate markdown docs cat cmd/skywire-cli/README1.md | gh-md-toc Usage: - skywire-cli doc - + cli doc -``` - -### - -``` ``` diff --git a/cmd/skywire-cli/commands/config/auto.go b/cmd/skywire-cli/commands/config/auto.go deleted file mode 100644 index fd6ada13fd..0000000000 --- a/cmd/skywire-cli/commands/config/auto.go +++ /dev/null @@ -1,597 +0,0 @@ -//go:build linux -// +build linux - -// Package cliconfig cmd/skywire-cli/commands/config/auto.go -package cliconfig - -import ( - "fmt" - "os" - "strings" - - "github.com/bitfield/script" - "github.com/spf13/cobra" - - "github.com/skycoin/skywire-utilities/pkg/cipher" - "github.com/skycoin/skywire/cmd/skywire-cli/internal" - "github.com/skycoin/skywire/pkg/visor/visorconfig" -) - -const ( - nc = "\033[0m" - red = "\033[0;31m" - green = "\033[0;32m" - yellow = "\033[0;33m" - blue = "\033[1;34m" - purple = "\033[0;35m" - cyan = "\033[0;36m" - bold = "\033[1m" -) - -var ( - err error - isStartedWithSystemd bool - startService bool - cmds string - isRunScript bool - isEnvs bool - skyenvFileExists bool -) - -func init() { - RootCmd.AddCommand(autoConfigCmd) - autoConfigCmd.Flags().BoolVarP(&isRunScript, "script", "s", false, "run the skywire-autoconfig bash script") - autoConfigCmd.Flags().BoolVarP(&isEnvs, "envs", "n", false, "show the environmental variable settings") -} - -var autoConfigCmd = &cobra.Command{ - Use: "auto [ 0 | 1 | ]", - Short: "Automatically generate or update a config", - Long: "\n Automatically generate or update a config\n\n A substituite for the package-level config management scripts\n golang adaptation of skywire-autoconfig.sh\n\n 0 as argument drops any remote hypervisors which were set in the configuration\n 1 as argument drops remote hypervisors and does not create the local hv config\n as argument sets the remote hypervisor", - PreRun: func(cmd *cobra.Command, _ []string) { - if isEnvs { - fmt.Printf("\n") - fmt.Printf("Env file to source\n %s\n", visorconfig.SkyEnvs()) // /etc/profile.d/skyenv.sh - fmt.Printf("Detect if this command is run as root\nRoot permissions required\n EUID=0\n") - fmt.Printf("Disable Autoconfig\n NOAUTOCONFIG=true\n") - fmt.Printf("Command was run in dmsgpty terminal\nDo not restart services\n DMSGPTYTERM=1\n") - fmt.Printf("Start the systemd service\n SKYBIAN=true\n") - fmt.Printf("Use --public flag for config gen\nOther Visors will automatically\nestablish transports to this visor\n VISORISPUBLIC=1\n") - fmt.Printf("Use --servevpn flag for config gen\nAutostart vpn server for this visor\n VPNSERVER=1\n") - fmt.Printf("Use --testenv flag for config gen\nUse test deployment\n TESTENV=1\n") - os.Exit(0) - } - // source or call the visorconfig file ; ignore errors as the file is not required to exist - if _, err := os.Stat(visorconfig.SkyEnvs()); err == nil { - skyenvFileExists = true - cmds = `bash -c "source ` + visorconfig.SkyEnvs() + `"` - _, _ = script.Exec(cmds).Stdout() //nolint:errcheck - } - //in some cases this command may be called automatically - //in the instance this is undesirable, NOAUTOCONFIG=true exits immediately - noautoconfig, exists := os.LookupEnv("NOAUTOCONFIG") - if exists { - if noautoconfig == "true" { - internal.PrintOutput(cmd.Flags(), "", "autoconfiguration disabled.") - os.Unsetenv("NOAUTOCONFIG") //nolint:errcheck - os.Exit(0) - } - } - //root permissions required on linux ; package postinstall uses root permissions - if euid, err := script.Exec(`bash -c "echo -e ${EUID}"`).String(); err == nil { - if euid != "0\n" { - internal.PrintFatalError(cmd.Flags(), fmt.Errorf("root permissions required")) - } - } else { - internal.PrintError(cmd.Flags(), fmt.Errorf("error checking permissions")) - } - //check the current state of the systemd service - if s, err := script.Exec(`bash -c "[[ $(ps -eo pid,comm,cgroup | grep skywire) == *'system.slice'* ]] && printf 'true'"`).String(); err == nil { - if s == "true" { //skywire is currently running via sytemd - isStartedWithSystemd = true - } - } - }, - Run: func(cmd *cobra.Command, args []string) { - if isRunScript { - err := os.WriteFile("/tmp/skywire-autoconfig", []byte(skywireautoconfig), 0755) //nolint - if err != nil { - fmt.Printf("%v", err) - os.Exit(1) - } - cmd := `bash -c "/tmp/skywire-autoconfig"` - _, err = script.Exec(cmd).Stdout() - if err != nil { - fmt.Printf("%v", err) - } - os.Remove("/tmp/skywire-autoconfig") //nolint - os.Exit(0) - } - // - // if the command is run in the DMSGPTY terminal, the process will be interrupted before the command can complete - // similarly, if this command is run as a child process of the systemd service, it will be killed by systemd before it completes! - // DMSGPTYTERM=1 is exported by the dmsgpty terminal to avoid stopping the services - if os.Getenv("DMSGPTYTERM") != "1" && isStartedWithSystemd { - //disable the skywire-autoconfig service which runs on skybian firstboot - _, _ = script.Exec(`bash -c "systemctl is-active --quiet skywire-autoconfig && systemctl disable skywire-autoconfig 2> /dev/null"`).Stdout() //nolint:errcheck - //create by default the local hypervisor config if no config exists ; retain any hypervisor config which exists - _, err = os.Stat(visorconfig.SkywireConfig()) - if err != nil { - // if no config exists, attempt to import config from /etc/skywire-config.json ; previous location of the config - _, err := os.Stat(` /etc/` + visorconfig.ConfigName) - if err == nil { - fmt.Printf("%s", warnmsg1("Importing configuration from /etc/skywire-config.json")) - _, _ = script.Exec(`cp ` + ` /etc/` + visorconfig.ConfigName + " " + visorconfig.SkywireConfig()).Stdout() //nolint:errcheck - } - } - - //retain any existing local hypervisor configuration - _, err = os.Stat(visorconfig.SkywireConfig()) - if err == nil { - cmdstring := fmt.Sprintf(`bash -c " cat %s | grep -Po '\"hypervisor\":' "`, visorconfig.SkywireConfig()) - configWithHv, _ := script.Exec(cmdstring).String() //nolint:errcheck - if configWithHv != "" && configWithHv != "\n" { - isHypervisor = true - } - } else { - isHypervisor = true - } - - // retain remote hypervisors by default - isRetainHypervisors = true - - // #check for argument - remote pk, 0, or 1 - // # 0 as argument drops any remote hypervisors which were set in the configuration - // # & triggers the creation of the local hyperisor configuration - if len(args) > 0 { - if args[0] == "0" { - isRetainHypervisors = false - isHypervisor = true - } - // # 1 as argument drops remote hypervisors and does not create the local hv config - // needed for autopeering - if args[0] == "1" { - isRetainHypervisors = false - isHypervisor = false - } - // # validate public key provided as argument and set hypervisorPKs - var pk cipher.PubKey - if args[0] != "0" && args[0] != "1" && args[0] != "" && args[0] != " " && args[0] != "\n" { - for _, j := range args { - err := pk.Set(j) - if err == nil { - if hypervisorPKs == "" { - hypervisorPKs = pk.String() - } else { - hypervisorPKs = "," + pk.String() - } - } - } - if hypervisorPKs != "" { - isRetainHypervisors = false - isHypervisor = false - } - } - } - //# show config gen command used - // defaults - // -b --bestproto dmsg or direct based on location - // -e --auth enable authorization for hypervisor - // -p --pkg package defaults - // -r --regen retain keys / update config - var cmdslc []string - confgen := fmt.Sprintf(`%sskywire-cli %sconfig gen`, cyan, yellow) - cmdslc = append(cmdslc, ` -bepr`) - // cmdslc = append(cmdslc, ` -e`) - // cmdslc = append(cmdslc, ` -p`) - // cmdslc = append(cmdslc, ` -r`) - // retain hypervisors when regenerating config - if isRetainHypervisors { - cmdslc = append(cmdslc, ` -x`) - } - if isHypervisor { - cmdslc = append(cmdslc, ` -i`) - } - // remote hypervisor public key - if hypervisorPKs != "" { - cmdslc = append(cmdslc, fmt.Sprintf(` -j %s`, hypervisorPKs)) - } - - var res string - - // visor appears in the service discovery for service type visor - if skyenvFileExists { - cmds = `bash -c "source ` + visorconfig.SkyEnvs() + ` ; printf ${VISORISPUBLIC}"` - res, _ = script.Exec(cmds).String() //nolint:errcheck - } - if os.Getenv("VISORISPUBLIC") == "1" || res == "1" { - cmdslc = append(cmdslc, ` --public`) - res = "" - } - - // disable autoconnect to public visors - if skyenvFileExists { - cmds = `bash -c "source ` + visorconfig.SkyEnvs() + ` ; printf ${NOAUTOCONNECT}"` - res, _ = script.Exec(cmds).String() //nolint:errcheck - } - if os.Getenv("NOAUTOCONNECT") == "1" || res == "1" { - cmdslc = append(cmdslc, ` --autoconn`) - res = "" - } - // default to auto start vpn server - if skyenvFileExists { - cmds = `bash -c "source ` + visorconfig.SkyEnvs() + ` ; printf ${VPNSERVER}"` - res, _ = script.Exec(cmds).String() //nolint:errcheck - } - if os.Getenv("VPNSERVER") == "1" || res == "1" { - cmdslc = append(cmdslc, ` --servevpn`) - res = "" - } - // #use test deployment instead of production with env TESTENV=1 - if skyenvFileExists { - cmds = `bash -c "source ` + visorconfig.SkyEnvs() + ` ; printf ${TESTENV}"` - res, _ = script.Exec(cmds).String() //nolint:errcheck - } - if os.Getenv("TESTENV") == "1" || res == "1" { - cmdslc = append(cmdslc, ` --testenv`) - } - fmt.Printf("%s", mesg2("Configuring skywire")) - fmt.Printf("%s", mesg3(fmt.Sprintf("Generating skywire config with command:\n %s%s%s", confgen, strings.Join(cmdslc, ""), nc))) - - // hide the output from config gen - //isHide = true - //genconfigcmd := genConfigCmd - //genconfigcmd.SetArgs(cmdslc) - //##generate visor configuration## - //genconfigcmd.Execute() - - //workaround for the above not working - genconfigcmd := "skywire-cli config gen " + strings.Join(cmdslc, "") + " -w" - //print the command used, run the command, check the exit code - // and run the command again without redirecting the output on nonzero exit status - genconfigcmd1 := "echo \"" + genconfigcmd + "\"" + genconfigcmd + " >> /dev/null 2>&1 ; [[ ${?} != 0 ]] && " + genconfigcmd - genconfigcmd1 = `bash -c '` + genconfigcmd1 + `'` - - _, _ = script.Exec(genconfigcmd1).Stdout() //nolint:errcheck - - fmt.Printf("%s", mesg3(fmt.Sprintf("%sSkywire%s configuration updated\nconfig path: %s/opt/skywire/skywire.json%s", blue, nc, purple, nc))) - //back up config if no backup config exists - _, err := os.Stat("/etc/skywire-config.json") - if err != nil { - fmt.Printf("%s", mesg2("backing up configuration to /etc/skywire-config.json")) - cmds = `bash -c ' set -x ; cp ` + visorconfig.SkywireConfig() + ` /etc/` + visorconfig.ConfigName + "'" - _, _ = script.Exec(cmds).Stdout() //nolint:errcheck - } - - // #check if >>this script<< is a child process of the systemd service i.e.: run in dmsgpty terminal - var now string - - svc := "skywire" - //start the service on ${SKYBIAN} == "true" - if skyenvFileExists { - cmds = `bash -c "source ` + visorconfig.SkyEnvs() + ` ; printf ${SKYBIAN}"` - res, _ = script.Exec(cmds).String() //nolint:errcheck - } - if os.Getenv("SKYBIAN") == "true" || res == "true" { - startService = true - now = "--now" - cmds = fmt.Sprintf(`bash -c 'systemctl enable %s %s'`, now, svc) - fmt.Printf("%s", mesg3(fmt.Sprintf("Enabling %s service%s..\n %s", svc, strings.Replace(now, "--", " and starting ", -1), cmds))) - cmds += ` 2> /dev/null'` - _, _ = script.Exec(`bash -c 'systemctl enable --now skywire'`).Stdout() //nolint:errcheck - } - if os.Getenv("DMSGPTYTERM") == "1" { - if !isStartedWithSystemd { - cmds = fmt.Sprintf("systemctl restart %s 2> /dev/null", svc) - fmt.Printf("%s", mesg3(fmt.Sprintf("Please restart %s service manually:\n %s%s%s", svc, red, cmds, nc))) - os.Exit(0) - } else { - cmds = fmt.Sprintf("systemctl start %s 2> /dev/null", svc) - fmt.Printf("%s", mesg3(fmt.Sprintf("Please shut down your visor and start it again with:\n %s%s%s", red, cmds, nc))) - os.Exit(0) - } - } - - // restart if the visor was not already running via systemd and we did not just start it - if !isStartedWithSystemd && !startService { - //#restart the service - cmds = fmt.Sprintf(`bash -c 'systemctl is-active --quiet %s && %s && systemctl restart %s 2> /dev/null'`, svc, fmt.Sprintf("printf \"%s\"", mesg3(fmt.Sprintf("Restarting %s.service...", svc))), svc) - _, _ = script.Exec(cmds).Stdout() //nolint:errcheck - cmds = fmt.Sprintf(`bash -c 'if ! systemctl is-active --quiet %s >/dev/null; then printf "%s" ; exit 1 ; fi'`, svc, mesg2(fmt.Sprintf("Start the %s service with:\n %ssystemctl start %s%s", svc, red, svc, nc))) - _, err = script.Exec(cmds).Stdout() - if err != nil { - os.Exit(0) - } - } - //get the visor public key from the config. - cmds = `bash -c "skywire-cli visor pk -p | tail -n1"` - publickey, err := script.Exec(cmds).String() - if err != nil { - os.Exit(1) - } - fmt.Printf("%s", mesg2(fmt.Sprintf("Visor Public Key:\n%s%s%s", green, publickey, nc))) - if isHypervisor { - cmds = `bash -c "[[ $(ps -o comm= -p $PPID) != 'sshd' ]] && printf 'true'"` - if sshd, err := script.Exec(cmds).String(); err == nil { - if sshd == "true" { //when this command is run in ssh session its pointless to print the interface on localhost - fmt.Printf("%s", mesg2(fmt.Sprintf("Starting now on:\n%shttp://127.0.0.1:8000%s", red, nc))) - } - } - //needs fix output format for skywire-cli vpn url -p - // cmds = `bash -c "skywire-cli vpn url -p | tail -n1"` - // if vpnurl, err := script.Exec(cmds).String(); err == nil { - // fmt.Printf("%s", mesg2(fmt.Sprintf("Use the vpn:\n%s%s%s", red, strings.TrimSuffix(vpnurl, "\n"), nc))) - // } - //workaround - fmt.Printf("%s", mesg2(fmt.Sprintf("Use the vpn:\n%shttp://127.0.0.1:8000/#/vpn/%s%s", red, publickey, nc))) - hpvurl := "Access hypervisor UI from local network here:" - cmds = `bash -c "ip addr show | grep -w inet | grep -v 127.0.0.1 | awk '{ print $2}' | cut -d \"/\" -f 1"` - if lanips, err := script.Exec(cmds).String(); err == nil { - lanip := strings.Split(lanips, "\n") - for _, i := range lanip { - if i != "" { - hpvurl += fmt.Sprintf("\n%shttp://%s:8000%s", yellow, i, nc) - } - } - fmt.Printf("%s", mesg2(hpvurl)) - } - fmt.Printf("%s", mesg2(fmt.Sprintf("support:\n%shttps://t.me/skywire%s", blue, nc))) - fmt.Printf("%s", mesg2("run the following command on OTHER NODES to set this one as the hypervisor:")) - fmt.Printf("%s", fmt.Sprintf("%sskywire-cli config auto %s%s%s\n", cyan, yellow, publickey, nc)) - cmds = `bash -c "skywire-cli reward -r"` - res, err = script.Exec(cmds).String() - if err != nil { - fmt.Printf("set skycoin reward address:\n") - fmt.Printf("%s", fmt.Sprintf("%sskywire-cli reward %s%s\n", cyan, yellow, nc)) - } else { - fmt.Printf("skycoin reward address:\n") - fmt.Printf("%s", fmt.Sprintf("%s%s%s\n", cyan, res, nc)) - } - fmt.Printf("%s", mesg2(fmt.Sprintf("to see this text again run: %sskywire-cli config auto%s\n", cyan, nc))) - } else { - fmt.Printf("%s", mesg2(fmt.Sprintf("%sSkywire%s starting in visor mode", blue, nc))) - fmt.Printf("%s", mesg2(fmt.Sprintf("Visor Public Key: %s%s%s", green, publickey, nc))) - } - } - }, -} - -// #recreate pacman logging -func mesg2(s string) string { - return fmt.Sprintf("%s ->%s%s %s%s\n", cyan, nc, bold, s, nc) -} -func mesg3(s string) string { - return fmt.Sprintf("%s -->%s %s%s\n", blue, nc, s, nc) -} -func errmsg1(s string) string { //nolint:unused - return fmt.Sprintf("%s>>> Error:%s%s %s%s\n", red, nc, bold, s, nc) -} -func warnmsg1(s string) string { //nolint:unused - return fmt.Sprintf("%s>>> Warning:%s%s %s%s\n", red, nc, bold, s, nc) -} -func errmsg2(s string) string { //nolint:unused - return fmt.Sprintf("%s>>> FATAL:%s%s %s%s\n", red, nc, bold, s, nc) -} - -// the current skyire-autoconfig script which this command emulates -const skywireautoconfig string = `#!/bin/bash -#/opt/skywire/scripts/skywire-autoconfig -#skywire autoconfiguration script for debian & archlinux packages -#source the skyenv file if it exists - provided by the skybian package or the user -[[ -f /etc/profile.d/skyenv.sh ]] && source /etc/profile.d/skyenv.sh -#set NOAUTOCONFIG=true to avoid running the script in the postinstall -if [[ ${NOAUTOCONFIG} == true ]]; then - #unset the env - NOAUTOCONFIG='' - echo "autoconfiguration disabled. to configure and start skywire run: skywire-autoconfig" - exit 0 -fi -#check for root -if [[ $EUID -ne 0 ]]; then - echo "root permissions required" - exit 1 -fi -#grant network permissions to the vpn app binaries -setcap cap_net_admin+ep /opt/skywire/apps/vpn-client -setcap cap_net_admin+ep /opt/skywire/apps/vpn-server -# determine if skywire is running via systemd -if [[ $(ps -eo pid,comm,cgroup | grep skywire) == *"system.slice"* ]]; then -WSYSTEMD=1 -fi -#root portion of the configuration -if [[ $DMSGPTYTERM -ne "1" ]] && [[ $WSYSTEMD -eq "1" ]]; then - #halt any running instance - systemctl is-active --quiet skywire-visor && systemctl disable --now skywire-visor 2> /dev/null - systemctl is-active --quiet skywire-hypervisor && systemctl disable --now skywire-hypervisor 2> /dev/null -fi -systemctl is-active --quiet skywire-autoconfig && systemctl disable skywire-autoconfig 2> /dev/null - -#make the logging of this script colorful -_nc='\033[0m' -_red='\033[0;31m' -_green='\033[0;32m' -_yellow='\033[0;33m' -_blue='\033[1;34m' -_purple='\033[0;35m' -_cyan='\033[0;36m' -_bold='\033[1m' -##set the argument to pass into functions## -_1=${1} -#recreate pacman logging -_msg2() { - (( QUIET )) && return - local mesg=$1; shift - printf "${_cyan} ->${_nc}${_bold} ${mesg}${_nc}\n" "$@" -} -_msg3() { -(( QUIET )) && return -local mesg=$1; shift -printf "${_blue} -->${_nc}${BOLD} ${mesg}${_nc}\n" "$@" -} -_errmsg1() { - (( QUIET )) && return - local mesg=$1; shift - printf "${_red}>>> Error:${_nc}${_bold} ${mesg}${_nc}\n" "$@" -} -_warnmsg1() { - (( QUIET )) && return - local mesg=$1; shift - printf "${_red}>>> Warning:${_nc}${_bold} ${mesg}${_nc}\n" "$@" -} -_errmsg2() { - (( QUIET )) && return - local mesg=$1; shift - printf "${_red}>>> FATAL:${_bold} ${mesg}${_nc}\n" "$@" -} -#helpful text -_welcome(){ - if [[ $(uname -m) == *"arm"* ]]; then - _msg2 "register your public key:" - _msg2 "${_blue}https://whitelist.skycoin.com/${_nc}" - _msg2 "track uptime:" - _msg2 "${_blue}http://ut.skywire.skycoin.com/uptimes${_nc}" - fi - _msg2 "support: -${_blue}https://t.me/skywire${_nc}" -} -#generate config as root -_config_gen() { - # remove any existing symlink - [[ -f /opt/skywire/skywire-visor.json ]] && rm /opt/skywire/skywire-visor.json - #create by default the local hypervisor config if no config exists ; and retain any hypervisor config which exists - [[ (! -f /opt/skywire/skywire.json) || ($(cat /opt/skywire/skywire.json | grep -Po '"hypervisor":') != "") ]] && _is_hypervisor="-i" - #check for argument - remote pk or 0 - # 0 as argument drops any remote hypervisors which were set in the configuration - # & triggers the creation of the local hyperisor configuration - if [[ ${_1} == "0" ]]; then - _retain_hv="" - unset _1 - _is_hypervisor="-i" - fi - # 1 as argument drops remote hypervisors and does not create the local hv config - if [[ ${_1} == "1" ]]; then - _retain_hv="" - unset _1 - _is_hypervisor="" - fi - # create the flag to set the remote hypervisor(s) - if [[ ! -z ${_1} ]]; then - _retain_hv="" - _hvpks="--hvpks ${_1}" #shorthand flag: -j - _is_hypervisor="" - fi - ##generate (hyper)visor configuration## - # show config gen command used - _msg3 "Generating skywire config with command: -${_cyan}skywire-cli ${_yellow}config gen -bepr ${_retain_hv} ${_is_hypervisor} ${_public_rpc} ${_vpn_server} ${_test_env} ${_hvpks} ${_no_autoconnect} ${_is_public_visor}${_nc}" - skywire-cli config gen -bepr ${_retain_hv} ${_is_hypervisor} ${_public_rpc} ${_vpn_server} ${_test_env} ${_hvpks} ${_no_autoconnect} ${_is_public_visor} >> /dev/null 2>&1 - if [[ ${?} != 0 ]]; then - #print the error! - skywire-cli config gen -bepr ${_retain_hv} ${_is_hypervisor} ${_public_rpc} ${_vpn_server} ${_test_env} ${_hvpks} ${_no_autoconnect} ${_is_public_visor} - _err=$? - _errmsg2 "error generating skywire config" - exit ${_err} - fi - #logging check - if [[ -f /opt/skywire/skywire.json ]]; then - _msg3 "${_blue}Skywire${_nc} configuration updated -config path: ${_purple}/opt/skywire/skywire.json${_nc}" - if [[ ! -f /etc/skywire-config.json ]]; then - _msg2 "backing up configuration to /etc/skywire-config.json" - cp -b /opt/skywire/skywire.json /etc/skywire-config.json - fi - else - _errmsg2 "expected config file not found at /opt/skywire/skywire.json" - exit 100 - fi -} - -#only use public rpc flag with env PUBLICRPC=1 -if [[ ( ${PUBLICRPC} -eq "1") ]]; then - _public_rpc="--publicrpc " -fi -#use public flag with env VISORISPUBLIC=1 -if [[ ( ${VISORISPUBLIC} -eq "1") ]]; then - _is_public_visor="--public " -fi -#use public flag with env NOAUTOCONNECT=1 -if [[ ( ${NOAUTOCONNECT} -eq "1") ]]; then - _no_autoconnect="--autoconn " -fi -#enable VPN server automatically on config re-gen with env VPNSERVER=1 -if [[ ${VPNSERVER} -eq "1" ]]; then - _vpn_server="--servevpn " -fi -#default to retaining hypervisors already set -_retain_hv="-x" -#use test deployment instead of production with env TESTENV=1 -if [[ ${TESTENV} -eq "1" ]]; then - _test_env="--testenv" -fi -#check if >>this script<< is a child process of the systemd service i.e.: run in dmsgpty terminal -if [[ "${SYSTEMDCHILD}" -ne "1" ]]; then - _now="--now" -fi - -#root portion of the config -_msg2 "Configuring skywire" -#attempt to import config if none exists - i.e. import skybian config or restore config -if [[ ! -f /opt/skywire/skywire.json ]]; then - if [[ -f /etc/skywire-config.json ]]; then - _warnmsg1 "Importing configuration from /etc/skywire-config.json" - cp -b /etc/skywire-config.json /opt/skywire/skywire.json - fi -fi -#config generation -_config_gen -_svc=skywire -if [[ $SKYBIAN == "true" ]]; then - _msg3 "Enabling ${_svc} service${_now/--/ and starting }.. - systemctl enable ${_now} ${_svc}.service" -systemctl enable ${_now} ${_svc}.service 2> /dev/null -fi -if [[ $DMSGPTYTERM == "1" ]]; then - if [[ ${_now} != "--now" ]]; then - _msg3 "Please restart ${_svc} service manually: - ${_red}systemctl restart ${_svc} 2> /dev/null${_nc}" - exit 0 - else - _msg3 "Please shut down your visor and start it again with: - ${_red}systemctl start ${_svc} 2> /dev/null${_nc}" - exit 0 - fi -fi -#restart the service - systemctl is-active --quiet ${_svc} && _msg3 "Restarting skywire.service..." && systemctl restart ${_svc} 2> /dev/null -if ! systemctl is-active --quiet ${_svc} >/dev/null; then - _msg2 "Start the skywire service with: - ${_red}systemctl start ${_svc}${_nc}" - exit 0 -fi -_pubkey=$(skywire-cli visor pk -p | tail -n1) -_msg2 "Visor Public Key: -${_green}${_pubkey}${_nc}" -if [[ $_is_hypervisor == "-i" ]]; then - if [[ $(ps -o comm= -p $PPID) != "sshd" ]]; then - _msg2 "Starting now on:\n${_red}http://127.0.0.1:8000${_nc}" - _vpnurl=$(skywire-cli vpn url -p | tail -n1) - _msg2 "Use the vpn:\n${_red}${_vpnurl}${_nc}" - fi - _hpvurl="Access hypervisor UI from local network here:" - _lanips="$(ip addr show | grep -w inet | grep -v 127.0.0.1 | awk '{ print $2}' | cut -d "/" -f 1)" - for _lanip in $_lanips - do - _hpvurl+="\n${_yellow}http://${_lanip}:8000${_nc}" - done - - _msg2 "$_hpvurl" - _welcome - _msg2 "run the following command on OTHER NODES to set this one as the hypervisor:" - echo -e "${_cyan}skywire-autoconfig ${_yellow}${_pubkey}${_nc}" - _msg2 "to see this text again run: ${_cyan}skywire-autoconfig${_nc}" -else - _msg2 "${_blue}Skywire${_nc} starting in visor mode" - _msg2 "Visor Public Key: ${_green}${_pubkey}${_nc}" - _welcome -fi -` diff --git a/cmd/skywire-cli/commands/config/gen.go b/cmd/skywire-cli/commands/config/gen.go index ad832d8665..02615acda4 100644 --- a/cmd/skywire-cli/commands/config/gen.go +++ b/cmd/skywire-cli/commands/config/gen.go @@ -4,55 +4,99 @@ package cliconfig import ( "encoding/json" "fmt" + "io" + "net/http" "os" "os/exec" "path/filepath" "strings" + "time" "github.com/bitfield/script" - "github.com/sirupsen/logrus" + "github.com/skycoin/dmsg/pkg/disc" + "github.com/skycoin/dmsg/pkg/dmsgpty" + coinCipher "github.com/skycoin/skycoin/src/cipher" "github.com/spf13/cobra" + "github.com/skycoin/skywire-utilities/pkg/buildinfo" "github.com/skycoin/skywire-utilities/pkg/cipher" - "github.com/skycoin/skywire-utilities/pkg/logging" "github.com/skycoin/skywire-utilities/pkg/netutil" + utilenv "github.com/skycoin/skywire-utilities/pkg/skyenv" "github.com/skycoin/skywire/pkg/app/appserver" + "github.com/skycoin/skywire/pkg/dmsgc" + "github.com/skycoin/skywire/pkg/restart" "github.com/skycoin/skywire/pkg/routing" "github.com/skycoin/skywire/pkg/skyenv" + "github.com/skycoin/skywire/pkg/transport/network" "github.com/skycoin/skywire/pkg/visor/visorconfig" ) +// RootCmd contains commands that interact with the config of local skywire-visor +var checkPKCmd = &cobra.Command{ + Use: "check-pk ", + Short: "check a skywire public key", + Run: func(cmd *cobra.Command, args []string) { + if len(args) == 0 { + return + } + var checkKey cipher.PubKey + err := checkKey.Set(args[0]) + if err != nil { + logger.WithError(err).Fatal("invalid public key ") //nolint + } + logger.Info("Valid public key: ", checkKey.String()) + }, +} + +// RootCmd contains commands that interact with the config of local skywire-visor +var genKeysCmd = &cobra.Command{ + Use: "gen-keys", + Short: "generate public / secret keypair", + Run: func(cmd *cobra.Command, args []string) { + pk, sk := cipher.GenerateKeyPair() + fmt.Println(pk) + fmt.Println(sk) + }, +} + func init() { //disable sorting, flags appear in the order shown here genConfigCmd.Flags().SortFlags = false - RootCmd.AddCommand(genConfigCmd) + RootCmd.AddCommand(genConfigCmd, genKeysCmd, checkPKCmd) - genConfigCmd.Flags().StringVarP(&serviceConfURL, "url", "a", "", "services conf") + genConfigCmd.Flags().StringVarP(&serviceConfURL, "url", "a", utilenv.ServiceConfAddr, "services conf url\n\r") gHiddenFlags = append(gHiddenFlags, "url") - genConfigCmd.Flags().StringVar(&logLevel, "log-level", "info", "level of logging in config") - gHiddenFlags = append(gHiddenFlags, "log-level") - genConfigCmd.Flags().BoolVarP(&isBestProtocol, "bestproto", "b", false, "best protocol (dmsg | direct) based on location") //this will also disable public autoconnect based on location - genConfigCmd.Flags().BoolVarP(&isDisableAuth, "noauth", "c", false, "disable authentication for hypervisor UI") + genConfigCmd.Flags().StringVar(&logLevel, "loglvl", "info", "[ debug | warn | error | fatal | panic | trace | info ]\033[0m") + gHiddenFlags = append(gHiddenFlags, "loglvl") + genConfigCmd.Flags().BoolVarP(&isBestProtocol, "bestproto", "b", false, "best protocol (dmsg | direct) based on location\033[0m") //this will also disable public autoconnect based on location + genConfigCmd.Flags().BoolVarP(&isDisableAuth, "noauth", "c", false, "disable authentication for hypervisor UI\033[0m") gHiddenFlags = append(gHiddenFlags, "noauth") - genConfigCmd.Flags().BoolVarP(&isDmsgHTTP, "dmsghttp", "d", false, "use dmsg connection to skywire services") + genConfigCmd.Flags().BoolVarP(&isDmsgHTTP, "dmsghttp", "d", false, "use dmsg connection to skywire services\033[0m") gHiddenFlags = append(gHiddenFlags, "dmsghttp") - genConfigCmd.Flags().BoolVarP(&isEnableAuth, "auth", "e", false, "enable auth on hypervisor UI") + genConfigCmd.Flags().BoolVarP(&isEnableAuth, "auth", "e", false, "enable auth on hypervisor UI\033[0m") gHiddenFlags = append(gHiddenFlags, "auth") - genConfigCmd.Flags().BoolVarP(&isForce, "force", "f", false, "remove pre-existing config") + genConfigCmd.Flags().BoolVarP(&isForce, "force", "f", false, "remove pre-existing config\033[0m") gHiddenFlags = append(gHiddenFlags, "force") - genConfigCmd.Flags().StringVarP(&disableApps, "disableapps", "g", "", "comma separated list of apps to disable") + genConfigCmd.Flags().StringVarP(&disableApps, "disableapps", "g", "", "comma separated list of apps to disable\033[0m") gHiddenFlags = append(gHiddenFlags, "disableapps") - genConfigCmd.Flags().BoolVarP(&isHypervisor, "ishv", "i", false, "local hypervisor configuration") - genConfigCmd.Flags().StringVarP(&hypervisorPKs, "hvpks", "j", "", "list of public keys to use as hypervisor") - genConfigCmd.Flags().StringVarP(&selectedOS, "os", "k", visorconfig.OS, "(linux / mac / win) paths") + genConfigCmd.Flags().BoolVarP(&isHypervisor, "ishv", "i", false, "local hypervisor configuration\033[0m") + genConfigCmd.Flags().StringVarP(&hypervisorPKs, "hvpks", "j", "", "list of public keys to add as hypervisor\033[0m") + genConfigCmd.Flags().StringVar(&dmsgptyWlPKs, "dmsgpty", "", "add dmsgpty whitelist PKs") + genConfigCmd.Flags().StringVar(&surveyWhitelistPKs, "survey", "", "add survey whitelist PKs") + gHiddenFlags = append(gHiddenFlags, "survey") + genConfigCmd.Flags().StringVar(&routeSetupNodes, "routesetup", "", "add route setup node PKs") + gHiddenFlags = append(gHiddenFlags, "routesetup") + genConfigCmd.Flags().StringVar(&transportSetupPKs, "tpsetup", "", "add transport setup PKs") + gHiddenFlags = append(gHiddenFlags, "tpsetup") + genConfigCmd.Flags().StringVarP(&selectedOS, "os", "k", visorconfig.OS, "(linux / mac / win) paths\033[0m") gHiddenFlags = append(gHiddenFlags, "os") - genConfigCmd.Flags().BoolVarP(&isDisplayNodeIP, "publicip", "l", false, "allow display node ip in services") + genConfigCmd.Flags().BoolVarP(&isDisplayNodeIP, "publicip", "l", false, "allow display node ip in services\033[0m") gHiddenFlags = append(gHiddenFlags, "publicip") - genConfigCmd.Flags().BoolVarP(&addExampleApps, "example-apps", "m", false, "add example apps to the config") + genConfigCmd.Flags().BoolVarP(&addExampleApps, "example-apps", "m", false, "add example apps to the config\033[0m") gHiddenFlags = append(gHiddenFlags, "example-apps") - genConfigCmd.Flags().BoolVarP(&isStdout, "stdout", "n", false, "write config to stdout") + genConfigCmd.Flags().BoolVarP(&isStdout, "stdout", "n", false, "write config to stdout\033[0m") gHiddenFlags = append(gHiddenFlags, "stdout") - genConfigCmd.Flags().StringVarP(&output, "out", "o", "", "output config: "+visorconfig.ConfigName) + genConfigCmd.Flags().StringVarP(&output, "out", "o", "", "output config\033[0m") if visorconfig.OS == "win" { pText = "use .msi installation path: " } @@ -62,34 +106,40 @@ func init() { if visorconfig.OS == "mac" { pText = "use mac installation path: " } - genConfigCmd.Flags().BoolVarP(&isPkgEnv, "pkg", "p", false, pText+visorconfig.SkywirePath) + genConfigCmd.Flags().BoolVarP(&isPkgEnv, "pkg", "p", false, pText+visorconfig.SkywirePath+"\033[0m") homepath := visorconfig.HomePath() if homepath != "" { - genConfigCmd.Flags().BoolVarP(&isUsrEnv, "user", "u", false, "use paths for user space: "+homepath) + genConfigCmd.Flags().BoolVarP(&isUsrEnv, "user", "u", false, "use paths for user space: "+homepath+"\033[0m") } - genConfigCmd.Flags().BoolVarP(&isPublicRPC, "publicrpc", "q", false, "allow rpc requests from LAN") - gHiddenFlags = append(gHiddenFlags, "publicrpc") genConfigCmd.Flags().BoolVarP(&isRegen, "regen", "r", false, "re-generate existing config & retain keys") genConfigCmd.Flags().VarP(&sk, "sk", "s", "a random key is generated if unspecified\n\r") gHiddenFlags = append(gHiddenFlags, "sk") - genConfigCmd.Flags().BoolVarP(&isTestEnv, "testenv", "t", false, "use test deployment "+testConf) + genConfigCmd.Flags().BoolVarP(&isTestEnv, "testenv", "t", false, "use test deployment "+testConf+"\033[0m") gHiddenFlags = append(gHiddenFlags, "testenv") - genConfigCmd.Flags().BoolVarP(&isVpnServerEnable, "servevpn", "v", false, "enable vpn server") + genConfigCmd.Flags().BoolVarP(&isVpnServerEnable, "servevpn", "v", false, "enable vpn server\033[0m") gHiddenFlags = append(gHiddenFlags, "servevpn") - genConfigCmd.Flags().BoolVarP(&isHide, "hide", "w", false, "dont print the config to the terminal") + genConfigCmd.Flags().BoolVarP(&isHide, "hide", "w", false, "dont print the config to the terminal :: show errors with -n flag\033[0m") gHiddenFlags = append(gHiddenFlags, "hide") - genConfigCmd.Flags().BoolVarP(&isRetainHypervisors, "retainhv", "x", false, "retain existing hypervisors with regen") + genConfigCmd.Flags().BoolVarP(&isRetainHypervisors, "retainhv", "x", false, "retain existing hypervisors with regen\033[0m") gHiddenFlags = append(gHiddenFlags, "retainhv") - genConfigCmd.Flags().BoolVarP(&disablePublicAutoConn, "autoconn", "y", false, "disable autoconnect to public visors") + genConfigCmd.Flags().BoolVarP(&disablePublicAutoConn, "autoconn", "y", false, "disable autoconnect to public visors\033[0m") gHiddenFlags = append(gHiddenFlags, "hide") - genConfigCmd.Flags().BoolVarP(&isPublic, "public", "z", false, "publicize visor in service discovery") + genConfigCmd.Flags().BoolVarP(&isPublic, "public", "z", false, "publicize visor in service discovery\033[0m") gHiddenFlags = append(gHiddenFlags, "public") - // genConfigCmd.Flags().BoolVar(&isDisplayNodeIP, "publicip", false, "display node ip") - genConfigCmd.Flags().StringVar(&ver, "version", "", "custom version testing override") - gHiddenFlags = append(gHiddenFlags, "version") + genConfigCmd.Flags().IntVar(&stcprPort, "stcpr", 0, "set tcp transport listening port - 0 for random\033[0m") + gHiddenFlags = append(gHiddenFlags, "stcpr") + genConfigCmd.Flags().IntVar(&sudphPort, "sudph", 0, "set udp transport listening port - 0 for random\033[0m") + gHiddenFlags = append(gHiddenFlags, "sudph") genConfigCmd.Flags().BoolVar(&isAll, "all", false, "show all flags") - genConfigCmd.Flags().StringVar(&binPath, "binpath", "", "set bin_path") + genConfigCmd.Flags().StringVar(&binPath, "binpath", "", "set bin_path\033[0m") gHiddenFlags = append(gHiddenFlags, "binpath") + genConfigCmd.Flags().BoolVar(&noFetch, "nofetch", false, "do not fetch the services from the service conf url") + gHiddenFlags = append(gHiddenFlags, "nofetch") + genConfigCmd.Flags().BoolVar(&noDefaults, "nodefaults", false, "do not use hardcoded defaults for production / test services") + gHiddenFlags = append(gHiddenFlags, "nodefaults") + genConfigCmd.Flags().StringVar(&ver, "version", "", "custom version testing override\033[0m") + gHiddenFlags = append(gHiddenFlags, "version") + //show all flags on help if os.Getenv("UNHIDEFLAGS") != "1" { for _, j := range gHiddenFlags { @@ -102,6 +152,7 @@ var genConfigCmd = &cobra.Command{ Use: "gen", Short: "Generate a config file", PreRun: func(cmd *cobra.Command, _ []string) { + log := logger //--all unhides flags, prints help menu, and exits if isAll { for _, j := range gHiddenFlags { @@ -128,17 +179,13 @@ var genConfigCmd = &cobra.Command{ if isStdout { isRegen = false } - //hide defeats the purpose of stdout. - if (isStdout) && (isHide) { - logger.Warn("Use of mutually exclusive flags: -w --hide and -n --stdout") - } //--force will delete a config, which excludes --regen if (isForce) && (isRegen) { - logger.Fatal("Use of mutually exclusive flags: -f --force cannot override -r --regen") + log.Fatal("Use of mutually exclusive flags: -f --force cannot override -r --regen") } // these flags overwrite each other if (isUsrEnv) && (isPkgEnv) { - logger.Fatal("Use of mutually exclusive flags: -u --user and -p --pkg") + log.Fatal("Use of mutually exclusive flags: -u --user and -p --pkg") } //enable local hypervisor by default for user if isUsrEnv { @@ -152,24 +199,24 @@ var genConfigCmd = &cobra.Command{ } if _, err := os.Stat(dmsgHTTPPath); err == nil { if !isStdout { - logger.Info("Found Dmsghttp config: ", dmsgHTTPPath) + log.Info("Found Dmsghttp config: ", dmsgHTTPPath) } } else { - logger.Fatal("Dmsghttp config not found at: ", dmsgHTTPPath) + log.Fatal("Dmsghttp config not found at: ", dmsgHTTPPath) } } if !isStdout { if confPath, err = filepath.Abs(confPath); err != nil { - logger.WithError(err).Fatal("Invalid output provided.") + log.WithError(err).Fatal("Invalid output provided.") } if isForce { if _, err := os.Stat(confPath); err == nil { err := os.Remove(confPath) if err != nil { - logger.WithError(err).Warn("Could not remove file") + log.WithError(err).Warn("Could not remove file") } } else { - logger.Info("Ignoring -f --force flag, config not found.") + log.Info("Ignoring -f --force flag, config not found.") } } } @@ -189,7 +236,7 @@ var genConfigCmd = &cobra.Command{ //check if the config exists if _, err := os.Stat(confPath); err == nil { //error config exists !regen - logger.Fatal("Config file already exists. Specify the '-r --regen' flag to regenerate.") + log.Fatal("Config file already exists. Specify the '-r --regen' flag to regenerate.") } } //don't write file with stdout @@ -203,44 +250,108 @@ var genConfigCmd = &cobra.Command{ } owner, err := script.Exec(`stat -c '%U' ` + confPath1).String() if err != nil { - logger.Error("cannot stat: " + confPath1) + log.Error("cannot stat: " + confPath1) } rootOwner, err := script.Exec(`stat -c '%U' /root`).String() if err != nil { - logger.Error("cannot stat: /root") + log.Error("cannot stat: /root") } if (owner != rootOwner) && isRoot { - logger.Warn("writing config as root to directory not owned by root") + log.Warn("writing config as root to directory not owned by root") } if !isRoot && (owner == rootOwner) { - logger.Fatal("Insufficient permissions to write to the specified path") + log.Fatal("Insufficient permissions to write to the specified path") } } } } }, Run: func(cmd *cobra.Command, args []string) { - mLog := logging.NewMasterLogger() - mLog.SetLevel(logrus.InfoLevel) - serviceConfURL = svcConf - //use test deployment - if isTestEnv { - serviceConfURL = testConf - } - //fetch the service endpoints - services = visorconfig.Fetch(mLog, serviceConfURL, isStdout) + + log := logger + + if !noFetch { + // set default service conf url if none is specified + if serviceConfURL == "" { + serviceConfURL = utilenv.ServiceConfAddr + } + //use test deployment + if serviceConfURL == "" && isTestEnv { + serviceConfURL = utilenv.TestServiceConfAddr + } + // enable errors from service conf fetch from the combination of these flags + wasStdout := isStdout + if isStdout && isHide { + isStdout = false + } + // create an http client to fetch the services + client := http.Client{ + Timeout: time.Second * 15, // Timeout after 30 seconds + } + //create the http request + req, err := http.NewRequest(http.MethodGet, fmt.Sprint(serviceConfURL), nil) + if err != nil { + log.WithError(err).Fatal("Failed to create http request\n") + } + req.Header.Add("Cache-Control", "no-cache") + //check for errors in the response + res, err := client.Do(req) + if err != nil { + //silence errors for stdout + if !isStdout { + log.WithError(err).Error("Failed to fetch servers\n") + log.Warn("Falling back on hardcoded servers") + } + } else { + // nil error from client.Do(req) + if res.Body != nil { + defer res.Body.Close() //nolint + } + body, err := io.ReadAll(res.Body) + if err != nil { + log.WithError(err).Fatal("Failed to read response\n") + } + //fill in services struct with the response + err = json.Unmarshal(body, &services) + if err != nil { + log.WithError(err).Fatal("Failed to unmarshal json response\n") + } + if !isStdout { + log.Infof("Fetched service endpoints from '%s'", serviceConfURL) + } + } + // reset the state of isStdout + isStdout = wasStdout + } + // Read in old config and obtain old secret key or generate a new random secret key // and obtain old hypervisors (if any) - var sk cipher.SecKey - if oldConf, err := visorconfig.ReadFile(confPath); err != nil { - if !isStdout { - _, sk = cipher.GenerateKeyPair() - } - } else { - sk = oldConf.SK - if isRetainHypervisors { - for _, j := range oldConf.Hypervisors { - hypervisorPKs = hypervisorPKs + "," + fmt.Sprintf("\t%s\n", j) + var oldConf visorconfig.V1 + if isRegen { + // Read the JSON configuration file + oldConfJSON, err := os.ReadFile(confPath) + if err != nil { + if !isStdout || isStdout && isHide { + log.Errorf("Failed to read config file: %v", err) + } + } else { + // Decode JSON data + err = json.Unmarshal(oldConfJSON, &oldConf) + if err != nil { + if !isStdout || isStdout && isHide { + log.WithError(err).Fatal("Failed to unmarshal old config json") + } + _, sk = cipher.GenerateKeyPair() + } else { + sk = oldConf.SK + if isRetainHypervisors { + for _, j := range oldConf.Hypervisors { + hypervisorPKs = hypervisorPKs + "," + fmt.Sprintf("\t%s\n", j) + } + for _, j := range oldConf.Dmsgpty.Whitelist { + dmsgptyWlPKs = dmsgptyWlPKs + "," + fmt.Sprintf("\t%s\n", j) + } + } } } } @@ -249,27 +360,369 @@ var genConfigCmd = &cobra.Command{ if isBestProtocol && netutil.LocalProtocol() { disablePublicAutoConn = true isDmsgHTTP = true + } + //generate the common config containing public & secret keys + u := buildinfo.Version() + x := u + if u == "unknown" { + //check for .git folder for versioning + if _, err := os.Stat(".git"); err == nil { + //attempt to version from git sources + if _, err = exec.LookPath("git"); err == nil { + if x, err = script.Exec(`git describe`).String(); err == nil { + x = strings.ReplaceAll(x, "\n", "") + x = strings.Split(x, "-")[0] + } + } + } + } + pk, err := sk.PubKey() + if err != nil { + pk, sk = cipher.GenerateKeyPair() + } + conf.Common = new(visorconfig.Common) + conf.Common.Version = x + conf.Common.SK = sk + conf.Common.PK = pk + + dnsServer := utilenv.DNSServer + if services != nil { + if services.DNSServer != "" { + dnsServer = services.DNSServer + } } + if isDmsgHTTP { + dmsghttpConfig := visorconfig.DMSGHTTPName + // TODO + //if isUsrEnv { + // dmsghttpConfig = homepath + "/" + visorconfig.DMSGHTTPName + //} + if isPkgEnv { + dmsghttpConfig = visorconfig.SkywirePath + "/" + visorconfig.DMSGHTTPName + } - //create the conf - conf, err := visorconfig.MakeDefaultConfig(mLog, &sk, isUsrEnv, isPkgEnv, isTestEnv, isDmsgHTTP, isHypervisor, confPath, hypervisorPKs, services) - if err != nil { - logger.WithError(err).Fatal("Failed to create config.") - } - //edit the conf - // Change rpc address from local to public - if isPublicRPC { - conf.CLIAddr = ":3435" - } - // Set autostart enable vpn-server - if isVpnServerEnable { - for i, app := range conf.Launcher.Apps { - if app.Name == "vpn-server" { - conf.Launcher.Apps[i].AutoStart = true + // Read the JSON configuration file + dmsghttpConfigData, err := os.ReadFile(dmsghttpConfig) //nolint + if err != nil { + log.Fatalf("Failed to read config file: %v", err) + } + + // Decode JSON data + err = json.Unmarshal(dmsghttpConfigData, &dmsgHTTPServersList) + if err != nil { + log.WithError(err).Fatal("Failed to unmarshal " + visorconfig.DMSGHTTPName) + } + } + + //fall back on defaults + var routeSetupPKs cipher.PubKeys + var tpSetupPKs cipher.PubKeys + var surveyWlPKs cipher.PubKeys + // If nothing was fetched + if services.SurveyWhitelist == nil { + // By default + if !noDefaults { + // set the hardcoded defaults from skywire-utilities for the service public keys + if err := surveyWlPKs.Set(utilenv.SurveyWhitelistPKs); err != nil { + log.Fatalf("Failed to unmarshal survey whitelist public keys: %v", err) + } + } + } + //if the flag is not empty + if surveyWhitelistPKs != "" { + // validate public keys set via flag / fail explicitly on errors + if err := surveyWlPKs.Set(surveyWhitelistPKs); err != nil { + log.Fatalf("bad key set for survey whitelist flag: %v", err) + } + } + services.SurveyWhitelist = append(services.SurveyWhitelist, surveyWlPKs...) + + if !isTestEnv { + if services.DmsgDiscovery == "" { + services.DmsgDiscovery = utilenv.DmsgDiscAddr + } + if services.DmsgDiscovery == "" { + services.DmsgDiscovery = utilenv.DmsgDiscAddr + } + if services.TransportDiscovery == "" { + services.TransportDiscovery = utilenv.TpDiscAddr + } + if services.AddressResolver == "" { + services.AddressResolver = utilenv.AddressResolverAddr + } + if services.RouteFinder == "" { + services.RouteFinder = utilenv.RouteFinderAddr + } + if services.UptimeTracker == "" { + services.UptimeTracker = utilenv.UptimeTrackerAddr + } + if services.ServiceDiscovery == "" { + services.ServiceDiscovery = utilenv.ServiceDiscAddr + } + if services.StunServers == nil { + services.StunServers = utilenv.GetStunServers() + } + if services.DNSServer == "" { + services.DNSServer = utilenv.DNSServer + } + if routeSetupNodes != "" { + if err := routeSetupPKs.Set(routeSetupNodes); err != nil { + log.Fatalf("bad key set for route setup node flag: %v", err) + } + } + if services.RouteSetupNodes == nil { + if !noDefaults { + if err := routeSetupPKs.Set(utilenv.RouteSetupPKs); err != nil { + log.Fatalf("Failed to unmarshal route setup-node public keys: %v", err) + } + } + } + services.RouteSetupNodes = append(services.RouteSetupNodes, routeSetupPKs...) + if transportSetupPKs != "" { + if err := tpSetupPKs.Set(transportSetupPKs); err != nil { + log.Fatalf("bad key set for transport setup node flag: %v", err) + } + } + if services.TransportSetupPKs == nil { + if !noDefaults { + if err := tpSetupPKs.Set(utilenv.TPSetupPKs); err != nil { + log.Fatalf("Failed to unmarshal transport setup-node public keys: %v", err) + } + } + } + services.TransportSetupPKs = append(services.TransportSetupPKs, tpSetupPKs...) + } else { + if services.DmsgDiscovery == "" { + services.DmsgDiscovery = utilenv.TestDmsgDiscAddr + } + if services.TransportDiscovery == "" { + services.TransportDiscovery = utilenv.TestTpDiscAddr + } + if services.AddressResolver == "" { + services.AddressResolver = utilenv.TestAddressResolverAddr + } + if services.RouteFinder == "" { + services.RouteFinder = utilenv.TestRouteFinderAddr + } + if services.UptimeTracker == "" { + services.UptimeTracker = utilenv.TestUptimeTrackerAddr + } + if services.ServiceDiscovery == "" { + services.ServiceDiscovery = utilenv.TestServiceDiscAddr + } + if services.StunServers == nil { + services.StunServers = utilenv.GetStunServers() + } + if services.DNSServer == "" { + services.DNSServer = utilenv.DNSServer + } + if routeSetupNodes != "" { + if err := routeSetupPKs.Set(routeSetupNodes); err != nil { + log.Fatalf("bad key set for route setup node flag: %v", err) + } + } + if services.RouteSetupNodes == nil { + if err := routeSetupPKs.Set(utilenv.TestRouteSetupPKs); err != nil { + log.Fatalf("Failed to unmarshal route setup-node public keys: %v", err) + } + } + services.RouteSetupNodes = append(services.RouteSetupNodes, routeSetupPKs...) + if transportSetupPKs != "" { + if err := tpSetupPKs.Set(transportSetupPKs); err != nil { + log.Fatalf("bad key set for transport setup node flag: %v", err) + } + } + if services.TransportSetupPKs == nil { + if !noDefaults { + if err := tpSetupPKs.Set(utilenv.TestTPSetupPKs); err != nil { + log.Fatalf("Failed to unmarshal transport setup-node public keys: %v", err) + } + } + } + services.TransportSetupPKs = append(services.TransportSetupPKs, tpSetupPKs...) + } + + conf.Dmsg = &dmsgc.DmsgConfig{ + Discovery: services.DmsgDiscovery, + SessionsCount: 1, + Servers: []*disc.Entry{}, + } + conf.Transport = &visorconfig.Transport{ + Discovery: services.TransportDiscovery, //utilenv.TpDiscAddr, + AddressResolver: services.AddressResolver, //utilenv.AddressResolverAddr, + PublicAutoconnect: visorconfig.PublicAutoconnect, + TransportSetupPKs: services.TransportSetupPKs, + LogStore: &visorconfig.LogStore{ + Type: visorconfig.FileLogStore, + Location: visorconfig.LocalPath + "/" + visorconfig.TpLogStore, + RotationInterval: visorconfig.DefaultLogRotationInterval, + }, + SudphPort: sudphPort, + StcprPort: sudphPort, + } + conf.Routing = &visorconfig.Routing{ + RouteFinder: services.RouteFinder, //utilenv.RouteFinderAddr, + RouteSetupNodes: services.RouteSetupNodes, //[]cipher.PubKey{utilenv.MustPK(utilenv.SetupPK)}, + RouteFinderTimeout: visorconfig.DefaultTimeout, + } + conf.Launcher = &visorconfig.Launcher{ + ServiceDisc: services.ServiceDiscovery, //utilenv.ServiceDiscAddr, + Apps: nil, + ServerAddr: visorconfig.AppSrvAddr, + BinPath: visorconfig.AppBinPath, + DisplayNodeIP: isDisplayNodeIP, + } + conf.UptimeTracker = &visorconfig.UptimeTracker{ + Addr: services.UptimeTracker, //utilenv.UptimeTrackerAddr, + } + conf.CLIAddr = visorconfig.RPCAddr + conf.LogLevel = logLevel + conf.LocalPath = visorconfig.LocalPath + conf.DmsgHTTPServerPath = visorconfig.LocalPath + "/" + visorconfig.Custom + conf.StunServers = services.StunServers //utilenv.GetStunServers() + conf.ShutdownTimeout = visorconfig.DefaultTimeout + conf.RestartCheckDelay = visorconfig.Duration(restart.DefaultCheckDelay) + + conf.Dmsgpty = &visorconfig.Dmsgpty{ + DmsgPort: visorconfig.DmsgPtyPort, + CLINet: visorconfig.DmsgPtyCLINet, + CLIAddr: dmsgpty.DefaultCLIAddr(), + } + + conf.STCP = &network.STCPConfig{ + ListeningAddress: visorconfig.STCPAddr, + PKTable: nil, + } + + // Use dmsg urls for services and add dmsg-servers + if isDmsgHTTP { + if dmsgHTTPServersList != nil { + if isTestEnv { + conf.Dmsg.Servers = dmsgHTTPServersList.Test.DMSGServers + conf.Dmsg.Discovery = dmsgHTTPServersList.Test.DMSGDiscovery + conf.Transport.AddressResolver = dmsgHTTPServersList.Test.AddressResolver + conf.Transport.Discovery = dmsgHTTPServersList.Test.TransportDiscovery + conf.UptimeTracker.Addr = dmsgHTTPServersList.Test.UptimeTracker + conf.Routing.RouteFinder = dmsgHTTPServersList.Test.RouteFinder + conf.Launcher.ServiceDisc = dmsgHTTPServersList.Test.ServiceDiscovery + } else { + conf.Dmsg.Servers = dmsgHTTPServersList.Prod.DMSGServers + conf.Dmsg.Discovery = dmsgHTTPServersList.Prod.DMSGDiscovery + conf.Transport.AddressResolver = dmsgHTTPServersList.Prod.AddressResolver + conf.Transport.Discovery = dmsgHTTPServersList.Prod.TransportDiscovery + conf.UptimeTracker.Addr = dmsgHTTPServersList.Prod.UptimeTracker + conf.Routing.RouteFinder = dmsgHTTPServersList.Prod.RouteFinder + conf.Launcher.ServiceDisc = dmsgHTTPServersList.Prod.ServiceDiscovery + } + } + } + + // Configure public visor + conf.IsPublic = isPublic + + // Manipulate Hypervisor PKs + conf.Hypervisors = make([]cipher.PubKey, 0) + if hypervisorPKs != "" { + keys := strings.Split(hypervisorPKs, ",") + for _, key := range keys { + if key != "" { + keyParsed, err := coinCipher.PubKeyFromHex(strings.TrimSpace(key)) + if err != nil { + log.WithError(err).Fatalf("Failed to parse hypervisor public key: %s.", key) + } + if key != conf.PK.Hex() { + conf.Hypervisors = append(conf.Hypervisors, cipher.PubKey(keyParsed)) + } else { + // setting the same public key as the current visor for a remote hypervisor is a weird misconfiguration + // the intention was likely to configure this visor as the hypervisor + isHypervisor = true + } } } } + // Local hypervisor setting + if isHypervisor { + config := visorconfig.GenerateWorkDirConfig(false) + conf.Hypervisor = &config + } + + // Manipulate dmsgpty whitelist PKs + conf.Dmsgpty.Whitelist = make([]cipher.PubKey, 0) + if dmsgptyWlPKs != "" { + keys := strings.Split(dmsgptyWlPKs, ",") + for _, key := range keys { + if key != "" { + keyParsed, err := coinCipher.PubKeyFromHex(strings.TrimSpace(key)) + if err != nil { + log.WithError(err).Fatalf("Failed to parse Dmsgpty Whitelist public key: %s.", key) + } + conf.Dmsgpty.Whitelist = append(conf.Dmsgpty.Whitelist, cipher.PubKey(keyParsed)) + } + } + } + // set survey collection whitelist - will include by default hypervisors & dmsgpty whitelisted keys + conf.SurveyWhitelist = services.SurveyWhitelist + // set package-specific config paths + if isPkgEnv { + pkgConfig := visorconfig.PackageConfig() + conf.LocalPath = pkgConfig.LocalPath + conf.DmsgHTTPServerPath = pkgConfig.LocalPath + "/" + visorconfig.Custom + conf.Launcher.BinPath = pkgConfig.LauncherBinPath + conf.Transport.LogStore.Location = pkgConfig.LocalPath + "/" + visorconfig.TpLogStore + if conf.Hypervisor != nil { + conf.Hypervisor.EnableAuth = pkgConfig.Hypervisor.EnableAuth + conf.Hypervisor.DBPath = pkgConfig.Hypervisor.DbPath + } + } + // set config paths for the user space + if isUsr { + usrConfig := visorconfig.UserConfig() + conf.LocalPath = usrConfig.LocalPath + conf.DmsgHTTPServerPath = usrConfig.LocalPath + "/" + visorconfig.Custom + conf.Launcher.BinPath = usrConfig.LauncherBinPath + conf.Transport.LogStore.Location = usrConfig.LocalPath + "/" + visorconfig.TpLogStore + if conf.Hypervisor != nil { + conf.Hypervisor.EnableAuth = usrConfig.Hypervisor.EnableAuth + conf.Hypervisor.DBPath = usrConfig.Hypervisor.DbPath + } + } + // App config settings + conf.Launcher.Apps = []appserver.AppConfig{ + { + Name: visorconfig.VPNClientName, + Binary: visorconfig.VPNClientName, + AutoStart: false, + Port: routing.Port(skyenv.VPNClientPort), + Args: []string{"-dns", dnsServer}, + }, + { + Name: visorconfig.SkychatName, + Binary: visorconfig.SkychatName, + AutoStart: true, + Port: routing.Port(skyenv.SkychatPort), + Args: []string{"-addr", visorconfig.SkychatAddr}, + }, + { + Name: visorconfig.SkysocksName, + Binary: visorconfig.SkysocksName, + AutoStart: true, + Port: routing.Port(visorconfig.SkysocksPort), + }, + { + Name: visorconfig.SkysocksClientName, + Binary: visorconfig.SkysocksClientName, + AutoStart: false, + Port: routing.Port(visorconfig.SkysocksClientPort), + }, + { + Name: visorconfig.VPNServerName, + Binary: visorconfig.VPNServerName, + AutoStart: isVpnServerEnable, + Port: routing.Port(visorconfig.VPNServerPort), + }, + } + skywire := os.Args[0] isMatch := strings.Contains("/tmp/", skywire) if (!isStdout) || (!isMatch) { @@ -330,7 +783,7 @@ var genConfigCmd = &cobra.Command{ } conf.Launcher.Apps = newConfLauncherApps } - + // add example applications to the config if addExampleApps { exampleApps := []appserver.AppConfig{ { @@ -342,60 +795,57 @@ var genConfigCmd = &cobra.Command{ newConfLauncherApps := append(conf.Launcher.Apps, exampleApps...) conf.Launcher.Apps = newConfLauncherApps } - - // Set EnableAuth true hypervisor UI by --enable-auth flag if isHypervisor { - // Make false EnableAuth hypervisor UI by --disable-auth flag + // Disable hypervisor UI authentication --disable-auth flag if isDisableAuth { conf.Hypervisor.EnableAuth = false } - // Set EnableAuth true hypervisor UI by --enable-auth flag + // Enable hypervisor UI authentication --enable-auth flag if isEnableAuth { conf.Hypervisor.EnableAuth = true } } - // Check OS and enable auth windows or macos + // Enable hypervisor UI authentication on windows & macos if (selectedOS == "win") || (selectedOS == "mac") { if isHypervisor { conf.Hypervisor.EnableAuth = true } } - // Set log level - if logLevel != "" { - if logLevel == "trace" || logLevel == "debug" { - conf.LogLevel = logLevel - } - } - // check binpath argument and use if set + // set bin_path for apps from flag if binPath != "" { conf.Launcher.BinPath = binPath } - + // set version of the config file from flag - testing override if ver != "" { conf.Common.Version = ver } + // Disable autoconnect to public visors if disablePublicAutoConn { conf.Transport.PublicAutoconnect = false } - if isPublic { - conf.IsPublic = true - } + // Enable the display of the visor's ip address in service discovery services if isDisplayNodeIP { conf.Launcher.DisplayNodeIP = true } + //don't write file with stdout if !isStdout { - // Save config to file. - if err := conf.Flush(); err != nil { - logger.WithError(err).Fatal("Failed to flush config to file.") + // Marshal the modified config to JSON with indentation + jsonData, err := json.MarshalIndent(conf, "", " ") + if err != nil { + log.Fatalf("Failed to marshal config to JSON: %v", err) + } + // Write the JSON data back to the file + err = os.WriteFile(confPath, jsonData, 0644) //nolint + if err != nil { + log.Fatalf("Failed to write config file: %v", err) } } // Print results. j, err := json.MarshalIndent(conf, "", "\t") if err != nil { - logger.WithError(err).Fatal("Could not unmarshal json.") + log.WithError(err).Fatal("Could not unmarshal json.") } - //omit logging messages with stdout //print config to stdout, omit logging messages, exit if isStdout { fmt.Printf("%s", j) @@ -403,10 +853,10 @@ var genConfigCmd = &cobra.Command{ } //hide the printing of the config to the terminal if isHide { - logger.Infof("Updated file '%s'\n", output) + log.Infof("Updated file '%s'\n", output) os.Exit(0) } //default behavior - logger.Infof("Updated file '%s' to:\n%s\n", output, j) + log.Infof("Updated file '%s' to:\n%s\n", output, j) }, } diff --git a/cmd/skywire-cli/commands/config/root.go b/cmd/skywire-cli/commands/config/root.go index 49590e3bcf..0a1eb7fa84 100644 --- a/cmd/skywire-cli/commands/config/root.go +++ b/cmd/skywire-cli/commands/config/root.go @@ -4,6 +4,7 @@ package cliconfig import ( "strings" + "github.com/skycoin/dmsg/pkg/disc" "github.com/spf13/cobra" "github.com/skycoin/skywire-utilities/pkg/cipher" @@ -15,6 +16,15 @@ import ( var logger = logging.MustGetLogger("skywire-cli") var ( + conf = new(visorconfig.V1) + dmsgHTTPServersList = &visorconfig.DmsgHTTPServers{ + Test: visorconfig.DmsgHTTPServersData{DMSGServers: []*disc.Entry{}}, + Prod: visorconfig.DmsgHTTPServersData{DMSGServers: []*disc.Entry{}}, + } + noFetch bool + noDefaults bool + stcprPort int + sudphPort int sk cipher.SecKey output string confPath string @@ -28,8 +38,11 @@ var ( isUsrEnv bool isHypervisor bool hypervisorPKs string + dmsgptyWlPKs string + surveyWhitelistPKs string + routeSetupNodes string + transportSetupPKs string isDmsgHTTP bool - isPublicRPC bool isVpnServerEnable bool isDisableAuth bool isEnableAuth bool @@ -70,7 +83,6 @@ var ( isResetSkysocks bool setPublicAutoconnect string minHops int - conf *visorconfig.V1 isUsr bool isPublic bool disablePublicAutoConn bool @@ -82,5 +94,5 @@ var ( var RootCmd = &cobra.Command{ Use: "config", Short: "Generate or update a skywire config", - Long: "A primary function of skywire-cli is generating and updating the config file used by skywire-visor.", + Long: "Generate or update the config file used by skywire-visor.", } diff --git a/cmd/skywire-cli/commands/config/test.go b/cmd/skywire-cli/commands/config/test.go deleted file mode 100644 index c4355be0ba..0000000000 --- a/cmd/skywire-cli/commands/config/test.go +++ /dev/null @@ -1,41 +0,0 @@ -//go:build exclude - -// Package cliconfig cmd/skywire-cli/commands/config/auto.go -package cliconfig - -import ( - "fmt" - "os" - - "github.com/bitfield/script" - "github.com/spf13/cobra" -) - -var ( - cmdz string -) - -func init() { - RootCmd.AddCommand(testCmd) -} - -var testCmd = &cobra.Command{ - Use: "test", - Short: "test env detection", - Run: func(cmd *cobra.Command, args []string) { - if _, err := os.Stat("test.sh"); err != nil { - fmt.Printf("error: %v", err) - } else { - cmdz = `bash -c "source test.sh"` - _, _ = script.Exec(cmdz).Stdout() //nolint:errcheck - } - fmt.Printf("os.Getenv(\"TEST\") == %s\n", os.Getenv("TEST")) - _, _ = script.Exec("echo").Stdout() - cmdz = `bash -c "echo ${TEST}"` - res, err := script.Exec(cmdz).String() - if err != nil { - fmt.Printf("error: %v", err) - } - fmt.Printf("bash -c \"echo ${TEST}\" == %s\n", res) - }, -} diff --git a/cmd/skywire-cli/commands/config/update.go b/cmd/skywire-cli/commands/config/update.go index 141a83635b..fdbfcc24d0 100644 --- a/cmd/skywire-cli/commands/config/update.go +++ b/cmd/skywire-cli/commands/config/update.go @@ -119,8 +119,8 @@ var updateCmd = &cobra.Command{ AddressResolver: services.AddressResolver, //utilenv.DefaultAddressResolverAddr, } conf.Routing = &visorconfig.Routing{ - RouteFinder: services.RouteFinder, //utilenv.DefaultRouteFinderAddr, - SetupNodes: services.SetupNodes, //[]cipher.PubKey{utilenv.MustPK(utilenv.DefaultSetupPK)}, + RouteFinder: services.RouteFinder, //utilenv.DefaultRouteFinderAddr, + RouteSetupNodes: services.RouteSetupNodes, //[]cipher.PubKey{utilenv.MustPK(utilenv.DefaultSetupPK)}, } conf.Launcher = &visorconfig.Launcher{ ServiceDisc: services.ServiceDiscovery, //utilenv.DefaultServiceDiscAddr, @@ -289,7 +289,7 @@ var skySocksClientUpdateCmd = &cobra.Command{ if addSkysocksClientSrv != "" { keyParsed, err := coinCipher.PubKeyFromHex(strings.TrimSpace(addSkysocksClientSrv)) if err != nil { - logger.WithError(err).Fatalf("Failed to parse hypervisor private key: %s.", addSkysocksClientSrv) + logger.WithError(err).Fatalf("Failed to parse public key: %s.", addSkysocksClientSrv) } changeAppsConfig(conf, "skysocks-client", "--srv", keyParsed.Hex()) } diff --git a/cmd/skywire-cli/commands/log/root.go b/cmd/skywire-cli/commands/log/root.go index e0987995c8..62abbf6b68 100644 --- a/cmd/skywire-cli/commands/log/root.go +++ b/cmd/skywire-cli/commands/log/root.go @@ -8,6 +8,7 @@ import ( "flag" "fmt" "io" + "math/rand" "net/http" "os" "sync" @@ -20,38 +21,55 @@ import ( "github.com/skycoin/skywire-utilities/pkg/cipher" "github.com/skycoin/skywire-utilities/pkg/cmdutil" "github.com/skycoin/skywire-utilities/pkg/logging" + "github.com/skycoin/skywire-utilities/pkg/skyenv" ) var ( - env string - duration int - minv string - allVisors bool - batchSize int - maxFileSize int64 - utAddr string + env string + duration int + minv string + allVisors bool + batchSize int + maxFileSize int64 + utAddr string + sk cipher.SecKey + dmsgDisc string + logOnly bool + surveyOnly bool + deleteOnErrors bool ) func init() { logCmd.Flags().SortFlags = false logCmd.Flags().StringVarP(&env, "env", "e", "prod", "selecting env to fetch uptimes, default is prod") + logCmd.Flags().BoolVarP(&logOnly, "log", "l", false, "fetch only transport logs") + logCmd.Flags().BoolVarP(&surveyOnly, "survey", "v", false, "fetch only surveys") + logCmd.Flags().BoolVarP(&deleteOnErrors, "clean", "c", false, "delete files and folders on errors") logCmd.Flags().StringVar(&minv, "minv", "v1.3.4", "minimum version for get logs, default is 1.3.4") - logCmd.Flags().IntVarP(&duration, "duration", "d", 1, "count of days before today to fetch logs") - logCmd.Flags().BoolVar(&allVisors, "all", false, "consider all visors, actually skip filtering on version") + logCmd.Flags().IntVarP(&duration, "duration", "n", 1, "numberof days before today to fetch transport logs for") + logCmd.Flags().BoolVar(&allVisors, "all", false, "consider all visors ; no version filtering") logCmd.Flags().IntVar(&batchSize, "batchSize", 50, "number of visor in each batch, default is 50") - logCmd.Flags().Int64Var(&maxFileSize, "maxfilesize", 30, "maximum file size allowed to download during collecting logs, on KB") - logCmd.Flags().StringVar(&utAddr, "ut", "", "custom uptime tracker url, usable for get specific(s) visors log data") + logCmd.Flags().Int64Var(&maxFileSize, "maxfilesize", 30, "maximum file size allowed to download during collecting logs, in KB") + logCmd.Flags().StringVarP(&dmsgDisc, "dmsg-disc", "D", skyenv.DmsgDiscAddr, "dmsg discovery url\n") + logCmd.Flags().StringVarP(&utAddr, "ut", "u", "", "custom uptime tracker url") + if os.Getenv("DMSGGET_SK") != "" { + sk.Set(os.Getenv("DMSGGET_SK")) //nolint + } + logCmd.Flags().VarP(&sk, "sk", "s", "a random key is generated if unspecified\n\r") } // RootCmd is surveyCmd var RootCmd = logCmd var logCmd = &cobra.Command{ - Use: "log collecting", - Short: "collecting logs", - Long: "collecting logs from all visors to calculate rewards", + Use: "log", + Short: "survey & transport log collection", + Long: "collect surveys and transport logging from visors which are online in the uptime tracker", Run: func(cmd *cobra.Command, args []string) { log := logging.MustGetLogger("log-collecting") + if logOnly && surveyOnly { + log.Fatal("use of mutually exclusive flags --log and --survey") + } // Preparing directories if _, err := os.ReadDir("log_collecting"); err != nil { @@ -75,20 +93,29 @@ var logCmd = &cobra.Command{ cancel() os.Exit(1) }() - // Fetch visors data from uptime tracker - endpoint := "https://ut.skywire.skycoin.com/uptimes?v=v2" + // Set the uptime tracker to fetch data from + endpoint := skyenv.UptimeTrackerAddr + "/uptimes?v=v2" if env == "test" { - endpoint = "https://ut.skywire.dev/uptimes?v=v2" + endpoint = skyenv.TestUptimeTrackerAddr + "/uptimes?v=v2" } if utAddr != "" { endpoint = utAddr } + //Fetch the uptime data over http uptimes, err := getUptimes(endpoint, log) if err != nil { log.WithError(err).Panic("Unable to get data from uptime tracker.") } + //randomize the order of the survey collection - workaround for hanging + rand.Shuffle(len(uptimes), func(i, j int) { + uptimes[i], uptimes[j] = uptimes[j], uptimes[i] + }) // Create dmsg http client - pk, sk, _ := genKeys("") //nolint + pk, err := sk.PubKey() + if err != nil { + pk, sk = cipher.GenerateKeyPair() + } + dmsgC, closeDmsg, err := dg.StartDmsg(ctx, log, pk, sk) if err != nil { log.WithError(err).Panic(err) @@ -122,33 +149,31 @@ var logCmd = &cobra.Command{ } deleteOnError = true } - - err = download(ctx, log, httpC, "node-info.json", "node-info.json", key, maxFileSize) + // health check before downloading anything else + // delete that folder if the health check fails + err = download(ctx, log, httpC, "health", "health.json", key, maxFileSize) if err != nil { - if deleteOnError { - bulkFolders = append(bulkFolders, key) + if deleteOnErrors { + if deleteOnError { + bulkFolders = append(bulkFolders, key) + } + return } - return } - - err = download(ctx, log, httpC, "node-info.sha", "node-info.sha", key, maxFileSize) - if err != nil { - if deleteOnError { - bulkFolders = append(bulkFolders, key) - } - return + if !logOnly { + download(ctx, log, httpC, "node-info.json", "node-info.json", key, maxFileSize) //nolint } - - if duration == 1 { - yesterday := time.Now().AddDate(0, 0, -1).UTC().Format("2006-01-02") - download(ctx, log, httpC, "transport_logs/"+yesterday+".csv", yesterday+".csv", key, maxFileSize) //nolint - } else { - for i := 1; i <= duration; i++ { - date := time.Now().AddDate(0, 0, -i).UTC().Format("2006-01-02") - download(ctx, log, httpC, "transport_logs/"+date+".csv", date+".csv", key, maxFileSize) //nolint + if !surveyOnly { + if duration == 1 { + yesterday := time.Now().AddDate(0, 0, -1).UTC().Format("2006-01-02") + download(ctx, log, httpC, "transport_logs/"+yesterday+".csv", yesterday+".csv", key, maxFileSize) //nolint + } else { + for i := 1; i <= duration; i++ { + date := time.Now().AddDate(0, 0, -i).UTC().Format("2006-01-02") + download(ctx, log, httpC, "transport_logs/"+date+".csv", date+".csv", key, maxFileSize) //nolint + } } } - }(v.PubKey, &wg) batchSize-- if batchSize == 0 { @@ -187,7 +212,6 @@ func getUptimes(endpoint string, log *logging.Logger) ([]VisorUptimeResponse, er log.Error("Error while fetching data from uptime service. Error: ", err) return results, errors.New("Cannot get Uptime data") } - defer response.Body.Close() //nolint body, err := io.ReadAll(response.Body) if err != nil { @@ -212,22 +236,10 @@ type VisorUptimeResponse struct { //nolint Version string `json:"version"` } -func genKeys(skStr string) (pk cipher.PubKey, sk cipher.SecKey, err error) { - if skStr == "" { - pk, sk = cipher.GenerateKeyPair() - return - } - if err = sk.Set(skStr); err != nil { - return - } - pk, err = sk.PubKey() - return -} - func getAllDMSGServers() []dmsgServer { var results []dmsgServer - response, err := http.Get("https://dmsgd.skywire.skycoin.com/dmsg-discovery/all_servers") //nolint + response, err := http.Get(dmsgDisc + "/dmsg-discovery/all_servers") //nolint if err != nil { return results } diff --git a/cmd/skywire-cli/commands/mdisc/root.go b/cmd/skywire-cli/commands/mdisc/root.go index b630369df9..4add3a9357 100644 --- a/cmd/skywire-cli/commands/mdisc/root.go +++ b/cmd/skywire-cli/commands/mdisc/root.go @@ -21,6 +21,8 @@ import ( ) var mdAddr string + +// var allEntries bool var masterLogger = logging.NewMasterLogger() var packageLogger = masterLogger.PackageLogger("mdisc:disc") @@ -29,7 +31,8 @@ func init() { entryCmd, availableServersCmd, ) - entryCmd.PersistentFlags().StringVar(&mdAddr, "addr", utilenv.DmsgDiscAddr, "address of DMSG discovery server\n") + entryCmd.PersistentFlags().StringVarP(&mdAddr, "addr", "a", "", "DMSG discovery server address\n"+utilenv.DmsgDiscAddr) + // entryCmd.PersistentFlags().BoolVarP(&allEntries, "entries", "e", "", "get all entries") availableServersCmd.PersistentFlags().StringVar(&mdAddr, "addr", utilenv.DmsgDiscAddr, "address of DMSG discovery server\n") var helpflag bool RootCmd.Flags().BoolVarP(&helpflag, "help", "h", false, "help for "+RootCmd.Use) @@ -45,17 +48,30 @@ var RootCmd = &cobra.Command{ var entryCmd = &cobra.Command{ Use: "entry ", Short: "Fetch an entry", - Args: cobra.MinimumNArgs(1), + // Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - ctx, cancel := context.WithTimeout(context.Background(), time.Second*10) - defer cancel() - pk := internal.ParsePK(cmd.Flags(), "visor-public-key", args[0]) - - masterLogger.SetLevel(logrus.InfoLevel) - - entry, err := disc.NewHTTP(mdAddr, &http.Client{}, packageLogger).Entry(ctx, pk) - internal.Catch(cmd.Flags(), err) - internal.PrintOutput(cmd.Flags(), entry, fmt.Sprintln(entry)) + //print help on no args + if len(args) == 0 { + cmd.Help() //nolint + } else { + if mdAddr == "" { + mdAddr = utilenv.DmsgDiscAddr + } + ctx, cancel := context.WithTimeout(context.Background(), time.Second*10) + defer cancel() + pk := internal.ParsePK(cmd.Flags(), "visor-public-key", args[0]) + + masterLogger.SetLevel(logrus.InfoLevel) + + //TODO: fetch all entries + // if allEntries { + // entries, err := disc.NewHTTP(mdAddr, &http.Client{}, packageLogger).AvailableServers(ctx) + // } + + entry, err := disc.NewHTTP(mdAddr, &http.Client{}, packageLogger).Entry(ctx, pk) + internal.Catch(cmd.Flags(), err) + internal.PrintOutput(cmd.Flags(), entry, fmt.Sprintln(entry)) + } }, } diff --git a/cmd/skywire-cli/commands/proxy/proxy.go b/cmd/skywire-cli/commands/proxy/proxy.go new file mode 100644 index 0000000000..83d5866260 --- /dev/null +++ b/cmd/skywire-cli/commands/proxy/proxy.go @@ -0,0 +1,273 @@ +// Package skysocksc cmd/skywire-cli/commands/skysocksc/skysocks.go +package skysocksc + +import ( + "bytes" + "encoding/json" + "fmt" + "math/rand" + "net/http" + "os" + "strings" + "text/tabwriter" + "time" + + "github.com/spf13/cobra" + "github.com/spf13/pflag" + + "github.com/skycoin/skywire-utilities/pkg/buildinfo" + "github.com/skycoin/skywire-utilities/pkg/skyenv" + clirpc "github.com/skycoin/skywire/cmd/skywire-cli/commands/rpc" + "github.com/skycoin/skywire/cmd/skywire-cli/internal" + "github.com/skycoin/skywire/pkg/app/appserver" + "github.com/skycoin/skywire/pkg/servicedisc" +) + +func init() { + RootCmd.PersistentFlags().StringVar(&clirpc.Addr, "rpc", "localhost:3435", "RPC server address") + RootCmd.AddCommand( + startCmd, + stopCmd, + statusCmd, + listCmd, + ) + version := buildinfo.Version() + if version == "unknown" { + version = "" + } + startCmd.Flags().StringVarP(&pk, "pk", "k", "", "server public key") + listCmd.Flags().StringVarP(&sdURL, "url", "a", "", "service discovery url default:\n"+skyenv.ServiceDiscAddr) + listCmd.Flags().BoolVarP(&directQuery, "direct", "b", false, "query service discovery directly") + listCmd.Flags().StringVarP(&pk, "pk", "k", "", "check "+serviceType+" service discovery for public key") + listCmd.Flags().IntVarP(&count, "num", "n", 0, "number of results to return (0 = all)") + listCmd.Flags().BoolVarP(&isUnFiltered, "unfilter", "u", false, "provide unfiltered results") + listCmd.Flags().StringVarP(&ver, "ver", "v", version, "filter results by version") + listCmd.Flags().StringVarP(&country, "country", "c", "", "filter results by country") + listCmd.Flags().BoolVarP(&isStats, "stats", "s", false, "return only a count of the results") +} + +var startCmd = &cobra.Command{ + Use: "start", + Short: "start the " + serviceType + " client", + Run: func(cmd *cobra.Command, args []string) { + //check that a valid public key is provided + err := pubkey.Set(pk) + if err != nil { + if len(args) > 0 { + err := pubkey.Set(args[0]) + if err != nil { + internal.PrintFatalError(cmd.Flags(), err) + } + } else { + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("Invalid or missing public key")) + } + } + rpcClient, err := clirpc.Client(cmd.Flags()) + if err != nil { + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("unable to create RPC client: %w", err)) + } + //TODO: implement operational timeout + internal.Catch(cmd.Flags(), rpcClient.StartSkysocksClient(pubkey.String())) + internal.PrintOutput(cmd.Flags(), nil, "Starting.") + startProcess := true + for startProcess { + time.Sleep(time.Second * 1) + internal.PrintOutput(cmd.Flags(), nil, ".") + states, err := rpcClient.Apps() + internal.Catch(cmd.Flags(), err) + + type output struct { + AppError string `json:"app_error,omitempty"` + } + + for _, state := range states { + if state.Name == stateName { + if state.Status == appserver.AppStatusRunning { + startProcess = false + internal.PrintOutput(cmd.Flags(), nil, fmt.Sprintln("\nRunning!")) + } + if state.Status == appserver.AppStatusErrored { + startProcess = false + out := output{ + AppError: state.DetailedStatus, + } + internal.PrintOutput(cmd.Flags(), out, fmt.Sprintln("\nError! > "+state.DetailedStatus)) + } + } + } + } + }, +} + +var stopCmd = &cobra.Command{ + Use: "stop", + Short: "stop the " + serviceType + " client", + Run: func(cmd *cobra.Command, args []string) { + rpcClient, err := clirpc.Client(cmd.Flags()) + if err != nil { + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("unable to create RPC client: %w", err)) + } + internal.Catch(cmd.Flags(), rpcClient.StopSkysocksClient()) + internal.PrintOutput(cmd.Flags(), "OK", fmt.Sprintln("OK")) + }, +} + +var statusCmd = &cobra.Command{ + Use: "status", + Short: serviceType + " client status", + Run: func(cmd *cobra.Command, args []string) { + //TODO: check status of multiple clients + rpcClient, err := clirpc.Client(cmd.Flags()) + if err != nil { + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("unable to create RPC client: %w", err)) + } + states, err := rpcClient.Apps() + internal.Catch(cmd.Flags(), err) + + var b bytes.Buffer + w := tabwriter.NewWriter(&b, 0, 0, 5, ' ', tabwriter.TabIndent) + internal.Catch(cmd.Flags(), err) + type appState struct { + Status string `json:"status"` + } + var jsonAppStatus appState + for _, state := range states { + if state.Name == stateName { + + status := "stopped" + if state.Status == appserver.AppStatusRunning { + status = "running" + } + if state.Status == appserver.AppStatusErrored { + status = "errored" + } + jsonAppStatus = appState{ + Status: status, + } + _, err = fmt.Fprintf(w, "%s\n", status) + internal.Catch(cmd.Flags(), err) + } + } + internal.Catch(cmd.Flags(), w.Flush()) + internal.PrintOutput(cmd.Flags(), jsonAppStatus, b.String()) + }, +} + +var listCmd = &cobra.Command{ + Use: "list", + Short: "List servers", + Long: "List " + serviceType + " servers from service discovery\n " + skyenv.ServiceDiscAddr + "/api/services?type=" + serviceType + "\n " + skyenv.ServiceDiscAddr + "/api/services?type=" + serviceType + "&country=US", + Run: func(cmd *cobra.Command, args []string) { + //validate any specified public key + if pk != "" { + err := pubkey.Set(pk) + if err != nil { + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("Invalid or missing public key")) + } + } + if sdURL == "" { + sdURL = skyenv.ServiceDiscAddr + } + if isUnFiltered { + ver = "" + country = "" + } + if directQuery { + servers = directQuerySD(cmd.Flags()) + } else { + rpcClient, err := clirpc.Client(cmd.Flags()) + if err != nil { + internal.PrintError(cmd.Flags(), fmt.Errorf("unable to create RPC client: %w", err)) + internal.PrintOutput(cmd.Flags(), fmt.Sprintf("directly querying service discovery\n%s/api/services?type=%s\n", sdURL, serviceType), fmt.Sprintf("directly querying service discovery\n%s/api/services?type=%s\n", sdURL, serviceType)) + servers = directQuerySD(cmd.Flags()) + } else { + servers, err = rpcClient.ProxyServers(ver, country) + if err != nil { + internal.PrintError(cmd.Flags(), err) + internal.PrintOutput(cmd.Flags(), fmt.Sprintf("directly querying service discovery\n%s/api/services?type=%s\n", sdURL, serviceType), fmt.Sprintf("directly querying service discovery\n%s/api/services?type=%s\n", sdURL, serviceType)) + servers = directQuerySD(cmd.Flags()) + } + } + } + if len(servers) == 0 { + internal.PrintOutput(cmd.Flags(), "No Servers found", "No Servers found") + os.Exit(0) + } + if isStats { + internal.PrintOutput(cmd.Flags(), fmt.Sprintf("%d Servers\n", len(servers)), fmt.Sprintf("%d Servers\n", len(servers))) + } else { + var msg string + var results []string + limit := len(servers) + if count > 0 && count < limit { + limit = count + } + if pk != "" { + for _, server := range servers { + if strings.Replace(server.Addr.String(), servicePort, "", 1) == pk { + results = append(results, server.Addr.String()) + } + } + } else { + for _, server := range servers { + results = append(results, server.Addr.String()) + } + } + + //randomize the order of the displayed results + rand.Shuffle(len(results), func(i, j int) { + results[i], results[j] = results[j], results[i] + }) + for i := 0; i < limit && i < len(results); i++ { + msg += strings.Replace(results[i], servicePort, "", 1) + if server := findServerByPK(servers, results[i]); server != nil && server.Geo != nil { + if server.Geo.Country != "" { + msg += fmt.Sprintf(" | %s\n", server.Geo.Country) + } else { + msg += "\n" + } + } else { + msg += "\n" + } + } + internal.PrintOutput(cmd.Flags(), servers, msg) + } + }, +} + +func directQuerySD(cmdFlags *pflag.FlagSet) (s []servicedisc.Service) { + //url/uri format + //https://sd.skycoin.com/api/services?type=proxy&country=US&version=v1.3.7 + sdURL += "/api/services?type=" + serviceType + if country != "" { + sdURL += "&country=" + country + } + if ver != "" { + sdURL += "&version=" + ver + } + //preform http get request for the service discovery URL + resp, err := (&http.Client{Timeout: time.Duration(30 * time.Second)}).Get(sdURL) + if err != nil { + internal.PrintFatalError(cmdFlags, fmt.Errorf("error fetching servers from service discovery: %w", err)) + } + defer func() { + if err := resp.Body.Close(); err != nil { + internal.PrintError(cmdFlags, fmt.Errorf("error closing http response body: %w", err)) + } + }() + // Decode JSON response into struct + err = json.NewDecoder(resp.Body).Decode(&s) + if err != nil { + internal.PrintFatalError(cmdFlags, fmt.Errorf("error decoding json to struct: %w", err)) + } + return s +} + +func findServerByPK(servers []servicedisc.Service, addr string) *servicedisc.Service { + for _, server := range servers { + if server.Addr.String() == addr { + return &server + } + } + return nil +} diff --git a/cmd/skywire-cli/commands/proxy/root.go b/cmd/skywire-cli/commands/proxy/root.go new file mode 100644 index 0000000000..42a69590b6 --- /dev/null +++ b/cmd/skywire-cli/commands/proxy/root.go @@ -0,0 +1,31 @@ +// Package skysocksc root.go +package skysocksc + +import ( + "github.com/spf13/cobra" + + "github.com/skycoin/skywire-utilities/pkg/cipher" + "github.com/skycoin/skywire/pkg/servicedisc" +) + +var ( + stateName = "skysocks-client" + serviceType = servicedisc.ServiceTypeProxy + servicePort = ":44" + isUnFiltered bool + ver string + country string + isStats bool + pubkey cipher.PubKey + pk string + count int + sdURL string + directQuery bool + servers []servicedisc.Service +) + +// RootCmd contains commands that interact with the skywire-visor +var RootCmd = &cobra.Command{ + Use: "proxy", + Short: "Skysocks client", +} diff --git a/cmd/skywire-cli/commands/reward/root.go b/cmd/skywire-cli/commands/reward/root.go index 89a16deb40..91eb1e72e3 100644 --- a/cmd/skywire-cli/commands/reward/root.go +++ b/cmd/skywire-cli/commands/reward/root.go @@ -74,7 +74,7 @@ func longText() string { if err != nil { fmt.Errorf(" reward settings misconfigured!") //nolint } - _, err = coincipher.DecodeBase58Address(string(reward)) + _, err = coincipher.DecodeBase58Address(strings.TrimSpace(string(reward))) if err != nil { fmt.Errorf(" invalid address in reward config %v", err) //nolint } diff --git a/cmd/skywire-cli/commands/root.go b/cmd/skywire-cli/commands/root.go index 57dd9328f8..417f273f0e 100644 --- a/cmd/skywire-cli/commands/root.go +++ b/cmd/skywire-cli/commands/root.go @@ -18,19 +18,21 @@ import ( clidmsgpty "github.com/skycoin/skywire/cmd/skywire-cli/commands/dmsgpty" clilog "github.com/skycoin/skywire/cmd/skywire-cli/commands/log" climdisc "github.com/skycoin/skywire/cmd/skywire-cli/commands/mdisc" + cliskysocksc "github.com/skycoin/skywire/cmd/skywire-cli/commands/proxy" clireward "github.com/skycoin/skywire/cmd/skywire-cli/commands/reward" clirtfind "github.com/skycoin/skywire/cmd/skywire-cli/commands/rtfind" cliskyfwd "github.com/skycoin/skywire/cmd/skywire-cli/commands/skyfwd" cliskyrev "github.com/skycoin/skywire/cmd/skywire-cli/commands/skyrev" - cliskysocksc "github.com/skycoin/skywire/cmd/skywire-cli/commands/skysocksc" clisurvey "github.com/skycoin/skywire/cmd/skywire-cli/commands/survey" + cliut "github.com/skycoin/skywire/cmd/skywire-cli/commands/ut" clivisor "github.com/skycoin/skywire/cmd/skywire-cli/commands/visor" clivpn "github.com/skycoin/skywire/cmd/skywire-cli/commands/vpn" "github.com/skycoin/skywire/cmd/skywire-cli/internal" ) -var rootCmd = &cobra.Command{ - Use: "skywire-cli", +// RootCmd is the root command for skywire-cli +var RootCmd = &cobra.Command{ + Use: "cli", Short: "Command Line Interface for skywire", Long: ` ┌─┐┬┌─┬ ┬┬ ┬┬┬─┐┌─┐ ┌─┐┬ ┬ @@ -54,8 +56,8 @@ var treeCmd = &cobra.Command{ Run: func(cmd *cobra.Command, args []string) { // You can use a LeveledList here, for easy generation. leveledList := pterm.LeveledList{} - leveledList = append(leveledList, pterm.LeveledListItem{Level: 0, Text: rootCmd.Use}) - for _, j := range rootCmd.Commands() { + leveledList = append(leveledList, pterm.LeveledListItem{Level: 0, Text: RootCmd.Use}) + for _, j := range RootCmd.Commands() { use := strings.Split(j.Use, " ") leveledList = append(leveledList, pterm.LeveledListItem{Level: 1, Text: use[0]}) for _, k := range j.Commands() { @@ -111,9 +113,9 @@ var docCmd = &cobra.Command{ fmt.Printf("\n# %s\n", "skywire-cli documentation") fmt.Printf("\n%s\n", "skywire command line interface") - fmt.Printf("\n## %s\n", rootCmd.Use) + fmt.Printf("\n## %s\n", RootCmd.Use) fmt.Printf("\n```\n") - rootCmd.Help() //nolint + RootCmd.Help() //nolint fmt.Printf("\n```\n") fmt.Printf("\n## %s\n", "global flags") fmt.Printf("\n%s\n", "The skywire-cli interacts with the running visor via rpc calls. By default the rpc server is available on localhost:3435. The rpc address and port the visor is using may be changed in the config file, once generated.") @@ -132,7 +134,7 @@ var docCmd = &cobra.Command{ fmt.Printf("\n```\n") var use string - for _, j := range rootCmd.Commands() { + for _, j := range RootCmd.Commands() { use = strings.Split(j.Use, " ")[0] fmt.Printf("\n### %s\n", use) fmt.Printf("\n```\n") @@ -176,11 +178,12 @@ var docCmd = &cobra.Command{ } func init() { - rootCmd.AddCommand( + RootCmd.AddCommand( cliconfig.RootCmd, clidmsgpty.RootCmd, clivisor.RootCmd, clivpn.RootCmd, + cliut.RootCmd, cliskyfwd.RootCmd, cliskyrev.RootCmd, clireward.RootCmd, @@ -194,19 +197,19 @@ func init() { docCmd, ) var jsonOutput bool - rootCmd.PersistentFlags().BoolVar(&jsonOutput, internal.JSONString, false, "print output in json") - rootCmd.PersistentFlags().MarkHidden(internal.JSONString) //nolint + RootCmd.PersistentFlags().BoolVar(&jsonOutput, internal.JSONString, false, "print output in json") + RootCmd.PersistentFlags().MarkHidden(internal.JSONString) //nolint var helpflag bool - rootCmd.SetUsageTemplate(help) - rootCmd.PersistentFlags().BoolVarP(&helpflag, "help", "h", false, "help for "+rootCmd.Use) - rootCmd.SetHelpCommand(&cobra.Command{Hidden: true}) - rootCmd.PersistentFlags().MarkHidden("help") //nolint + RootCmd.SetUsageTemplate(help) + RootCmd.PersistentFlags().BoolVarP(&helpflag, "help", "h", false, "help for "+RootCmd.Use) + RootCmd.SetHelpCommand(&cobra.Command{Hidden: true}) + RootCmd.PersistentFlags().MarkHidden("help") //nolint } // Execute executes root CLI command. func Execute() { cc.Init(&cc.Config{ - RootCmd: rootCmd, + RootCmd: RootCmd, Headings: cc.HiBlue + cc.Bold, //+ cc.Underline, Commands: cc.HiBlue + cc.Bold, CmdShortDescr: cc.HiBlue, @@ -218,7 +221,7 @@ func Execute() { NoExtraNewlines: true, NoBottomNewline: true, }) - if err := rootCmd.Execute(); err != nil { + if err := RootCmd.Execute(); err != nil { log.Fatal("Failed to execute command: ", err) } } diff --git a/cmd/skywire-cli/commands/rtfind/root.go b/cmd/skywire-cli/commands/rtfind/root.go index c0418e4377..86873eaca2 100644 --- a/cmd/skywire-cli/commands/rtfind/root.go +++ b/cmd/skywire-cli/commands/rtfind/root.go @@ -4,6 +4,7 @@ package clirtfind import ( "fmt" "net/http" + "os" "time" "github.com/spf13/cobra" @@ -11,21 +12,25 @@ import ( "github.com/skycoin/skywire-utilities/pkg/cipher" utilenv "github.com/skycoin/skywire-utilities/pkg/skyenv" + clirpc "github.com/skycoin/skywire/cmd/skywire-cli/commands/rpc" "github.com/skycoin/skywire/cmd/skywire-cli/internal" "github.com/skycoin/skywire/pkg/routefinder/rfclient" "github.com/skycoin/skywire/pkg/routing" + "github.com/skycoin/skywire/pkg/skyenv" + "github.com/skycoin/skywire/pkg/visor/visorconfig" ) var frAddr string var frMinHops, frMaxHops uint16 var timeout time.Duration +var skywireconfig string func init() { RootCmd.Flags().SortFlags = false - RootCmd.Flags().Uint16VarP(&frMinHops, "min-hops", "n", 1, "minimum hops") - RootCmd.Flags().Uint16VarP(&frMaxHops, "max-hops", "x", 1000, "maximum hops") + RootCmd.Flags().Uint16VarP(&frMinHops, "min", "n", 1, "minimum hops") + RootCmd.Flags().Uint16VarP(&frMaxHops, "max", "x", 1000, "maximum hops") RootCmd.Flags().DurationVarP(&timeout, "timeout", "t", 10*time.Second, "request timeout") - RootCmd.Flags().StringVarP(&frAddr, "addr", "a", utilenv.RouteFinderAddr, "route finder service address\n") + RootCmd.Flags().StringVarP(&frAddr, "addr", "a", "", "route finder service address\n"+utilenv.RouteFinderAddr) var helpflag bool RootCmd.Flags().BoolVarP(&helpflag, "help", "h", false, "help for "+RootCmd.Use) RootCmd.Flags().MarkHidden("help") //nolint @@ -33,13 +38,56 @@ func init() { // RootCmd is the command that queries the route finder. var RootCmd = &cobra.Command{ - Use: "rtfind ", + Use: "rtfind | ", Short: "Query the Route Finder", - Args: cobra.MinimumNArgs(2), + Long: `Query the Route Finder +Assumes the local visor public key as an argument if only one argument is given`, + // Args: cobra.MinimumNArgs(2), Run: func(cmd *cobra.Command, args []string) { - rfc := rfclient.NewHTTP(frAddr, timeout, &http.Client{}, nil) - var srcPK, dstPK cipher.PubKey + var pk string + //print the help menu if no arguments + if len(args) == 0 { + cmd.Help() //nolint + os.Exit(0) + } + //set the routefinder address. It's not used as the default value to fix the display of the help command + if frAddr == "" { + frAddr = utilenv.RouteFinderAddr + } + //assume the local public key as the first argument if only 1 argument is given ; resize args array to 2 and move the first argument to the second one + if len(args) == 1 { + rpcClient, err := clirpc.Client(cmd.Flags()) + if err == nil { + overview, err := rpcClient.Overview() + if err == nil { + pk = overview.PubKey.String() + } + } + if err != nil { + //visor is not running, try to get pk from config + _, err := os.Stat(skyenv.SkywirePath + "/" + skyenv.ConfigJSON) + if err == nil { + //default to using the package config + skywireconfig = skyenv.SkywirePath + "/" + skyenv.ConfigJSON + } else { + //check for default config in current dir + _, err := os.Stat(skyenv.ConfigName) + if err == nil { + //use skywire-config.json in current dir + skywireconfig = skyenv.ConfigName + } + } + conf, err := visorconfig.ReadFile(skywireconfig) + if err != nil { + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("Failed to read config: %v", err)) + } + pk = conf.PK.Hex() + } + args = append(args[:1], args[0:]...) + copy(args, []string{pk}) + } + rfc := rfclient.NewHTTP(frAddr, timeout, &http.Client{}, nil) internal.Catch(cmd.Flags(), srcPK.Set(args[0])) internal.Catch(cmd.Flags(), dstPK.Set(args[1])) forward := [2]cipher.PubKey{srcPK, dstPK} @@ -48,7 +96,6 @@ var RootCmd = &cobra.Command{ routes, err := rfc.FindRoutes(ctx, []routing.PathEdges{forward, backward}, &rfclient.RouteOptions{MinHops: frMinHops, MaxHops: frMaxHops}) internal.Catch(cmd.Flags(), err) - output := fmt.Sprintf("forward: %v\n reverse: %v", routes[forward][0], routes[backward][0]) outputJSON := struct { Forward []routing.Hop `json:"forward"` diff --git a/cmd/skywire-cli/commands/skysocksc/root.go b/cmd/skywire-cli/commands/skysocksc/root.go deleted file mode 100644 index ecdb76e73d..0000000000 --- a/cmd/skywire-cli/commands/skysocksc/root.go +++ /dev/null @@ -1,12 +0,0 @@ -// Package skysocksc root.go -package skysocksc - -import ( - "github.com/spf13/cobra" -) - -// RootCmd contains commands that interact with the skywire-visor -var RootCmd = &cobra.Command{ - Use: "skysocksc", - Short: "controls for Skysocks client", -} diff --git a/cmd/skywire-cli/commands/skysocksc/skysocksc.go b/cmd/skywire-cli/commands/skysocksc/skysocksc.go deleted file mode 100644 index 5a35d034f3..0000000000 --- a/cmd/skywire-cli/commands/skysocksc/skysocksc.go +++ /dev/null @@ -1,122 +0,0 @@ -// Package skysocksc cmd/skywire-cli/commands/skysocksc/skysocks.go -package skysocksc - -import ( - "bytes" - "fmt" - "os" - "text/tabwriter" - "time" - - "github.com/spf13/cobra" - - clirpc "github.com/skycoin/skywire/cmd/skywire-cli/commands/rpc" - "github.com/skycoin/skywire/cmd/skywire-cli/internal" - "github.com/skycoin/skywire/pkg/app/appserver" -) - -var pk string - -func init() { - RootCmd.PersistentFlags().StringVar(&clirpc.Addr, "rpc", "localhost:3435", "RPC server address") - RootCmd.AddCommand( - skysockscStartCmd, - skysockscStopCmd, - skysockscStatusCmd, - ) - skysockscStartCmd.Flags().StringVar(&pk, "pk", "", "skysocks server public key") -} - -var skysockscStartCmd = &cobra.Command{ - Use: "start", - Short: "start the skysocks-client", - Args: cobra.MinimumNArgs(0), - Run: func(cmd *cobra.Command, args []string) { - rpcClient, err := clirpc.Client(cmd.Flags()) - if err != nil { - os.Exit(1) - } - internal.Catch(cmd.Flags(), rpcClient.StartSkysocksClient(pk)) - internal.PrintOutput(cmd.Flags(), nil, "Starting.") - startProcess := true - for startProcess { - time.Sleep(time.Second * 1) - internal.PrintOutput(cmd.Flags(), nil, ".") - states, err := rpcClient.Apps() - internal.Catch(cmd.Flags(), err) - - type output struct { - AppError string `json:"app_error,omitempty"` - } - - for _, state := range states { - if state.Name == "skysocks-client" { - if state.Status == appserver.AppStatusRunning { - startProcess = false - internal.PrintOutput(cmd.Flags(), nil, fmt.Sprintln("\nRunning!")) - } - if state.Status == appserver.AppStatusErrored { - startProcess = false - out := output{ - AppError: state.DetailedStatus, - } - internal.PrintOutput(cmd.Flags(), out, fmt.Sprintln("\nError! > "+state.DetailedStatus)) - } - } - } - } - }, -} - -var skysockscStopCmd = &cobra.Command{ - Use: "stop", - Short: "stop the skysocks-client", - Run: func(cmd *cobra.Command, _ []string) { - rpcClient, err := clirpc.Client(cmd.Flags()) - if err != nil { - os.Exit(1) - } - internal.Catch(cmd.Flags(), rpcClient.StopSkysocksClient()) - internal.PrintOutput(cmd.Flags(), "OK", fmt.Sprintln("OK")) - }, -} - -var skysockscStatusCmd = &cobra.Command{ - Use: "status", - Short: "skysocks-client status", - Run: func(cmd *cobra.Command, _ []string) { - rpcClient, err := clirpc.Client(cmd.Flags()) - if err != nil { - os.Exit(1) - } - states, err := rpcClient.Apps() - internal.Catch(cmd.Flags(), err) - - var b bytes.Buffer - w := tabwriter.NewWriter(&b, 0, 0, 5, ' ', tabwriter.TabIndent) - internal.Catch(cmd.Flags(), err) - type appState struct { - Status string `json:"status"` - } - var jsonAppStatus appState - for _, state := range states { - if state.Name == "skysocks-client" { - - status := "stopped" - if state.Status == appserver.AppStatusRunning { - status = "running" - } - if state.Status == appserver.AppStatusErrored { - status = "errored" - } - jsonAppStatus = appState{ - Status: status, - } - _, err = fmt.Fprintf(w, "%s\n", status) - internal.Catch(cmd.Flags(), err) - } - } - internal.Catch(cmd.Flags(), w.Flush()) - internal.PrintOutput(cmd.Flags(), jsonAppStatus, b.String()) - }, -} diff --git a/cmd/skywire-cli/commands/ut/root.go b/cmd/skywire-cli/commands/ut/root.go new file mode 100644 index 0000000000..ad1534f22c --- /dev/null +++ b/cmd/skywire-cli/commands/ut/root.go @@ -0,0 +1,138 @@ +// Package cliut cmd/skywire-cli/ut/root.go +package cliut + +import ( + "encoding/json" + "fmt" + "io" + "log" + "net/http" + "os" + "strconv" + "time" + + "github.com/spf13/cobra" + + "github.com/skycoin/skywire-utilities/pkg/cipher" + "github.com/skycoin/skywire/cmd/skywire-cli/internal" +) + +var ( + pubkey cipher.PubKey + pk string + thisPk string + online bool + isStats bool + url string +) + +var minUT int + +func init() { + RootCmd.Flags().StringVarP(&pk, "pk", "k", "", "check uptime for the specified key") + RootCmd.Flags().BoolVarP(&online, "on", "o", false, "list currently online visors") + RootCmd.Flags().BoolVarP(&isStats, "stats", "s", false, "count the number of results") + RootCmd.Flags().IntVarP(&minUT, "min", "n", 75, "list visors meeting minimum uptime") + RootCmd.Flags().StringVarP(&url, "url", "u", "", "specify alternative uptime tracker url\ndefault: http://ut.skywire.skycoin.com/uptimes?v=v2") +} + +// RootCmd contains commands that interact with the skywire-visor +var RootCmd = &cobra.Command{ + Use: "ut", + Short: "query uptime tracker", + Long: "query uptime tracker\n Check local visor daily uptime percent with:\n skywire-cli ut -k $(skywire-cli visor pk)", + Run: func(cmd *cobra.Command, _ []string) { + if url == "" { + url = "http://ut.skywire.skycoin.com/uptimes?v=v2" + } + now := time.Now() + if pk != "" { + err := pubkey.Set(pk) + if err != nil { + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("Invalid or missing public key")) + } else { + url += "&visors=" + pubkey.String() + } + } + utClient := http.Client{ + Timeout: time.Second * 15, // Timeout after 15 seconds + } + + req, err := http.NewRequest(http.MethodGet, url, nil) + if err != nil { + log.Fatal(err) + } + + res, getErr := utClient.Do(req) + if getErr != nil { + log.Fatal(getErr) + } + + if res.Body != nil { + defer func() { + err := res.Body.Close() + if err != nil { + internal.PrintError(cmd.Flags(), fmt.Errorf("Failed to close response body")) + } + }() + } + + body, readErr := io.ReadAll(res.Body) + if readErr != nil { + log.Fatal(readErr) + } + + startDate := time.Date(now.Year(), now.Month(), -1, 0, 0, 0, 0, now.Location()).Format("2006-01-02") + endDate := time.Date(now.Year(), now.Month()+1, 1, 0, 0, 0, 0, now.Location()).Add(-1 * time.Second).Format("2006-01-02") + uts := uptimes{} + jsonErr := json.Unmarshal(body, &uts) + if jsonErr != nil { + log.Fatal(jsonErr) + } + var msg []string + for _, j := range uts { + thisPk = j.Pk + if online { + if j.On { + msg = append(msg, fmt.Sprintf(thisPk+"\n")) + } + } else { + selectedDaily(j.Daily, startDate, endDate) + } + } + if online { + if isStats { + internal.PrintOutput(cmd.Flags(), fmt.Sprintf("%d visors online\n", len(msg)), fmt.Sprintf("%d visors online\n", len(msg))) + os.Exit(0) + } + for _, i := range msg { + internal.PrintOutput(cmd.Flags(), i, i) + } + } + }, +} + +func selectedDaily(data map[string]string, startDate, endDate string) { + for date, uptime := range data { + if date >= startDate && date <= endDate { + utfloat, err := strconv.ParseFloat(uptime, 64) + if err != nil { + log.Fatal(err) + } + if utfloat >= float64(minUT) { + fmt.Print(thisPk) + fmt.Print(" ") + fmt.Println(date, uptime) + } + } + } +} + +type uptimes []struct { + Pk string `json:"pk"` + Up int `json:"up"` + Down int `json:"down"` + Pct float64 `json:"pct"` + On bool `json:"on"` + Daily map[string]string `json:"daily,omitempty"` +} diff --git a/cmd/skywire-cli/commands/visor/transports.go b/cmd/skywire-cli/commands/visor/transports.go index 5d1a37c30a..b1b25a9ae3 100644 --- a/cmd/skywire-cli/commands/visor/transports.go +++ b/cmd/skywire-cli/commands/visor/transports.go @@ -53,7 +53,9 @@ var tpCmd = &cobra.Command{ Each Transport is represented as a unique 16 byte (128 bit) UUID value called the Transport ID and has a Transport Type that identifies - a specific implementation of the Transport.`, + a specific implementation of the Transport. + + Types: stcp stcpr sudph dmsg`, } var lsTypesCmd = &cobra.Command{ diff --git a/cmd/skywire-cli/commands/vpn/root.go b/cmd/skywire-cli/commands/vpn/root.go index 1e1c576952..3fd553e5be 100644 --- a/cmd/skywire-cli/commands/vpn/root.go +++ b/cmd/skywire-cli/commands/vpn/root.go @@ -3,19 +3,31 @@ package clivpn import ( "github.com/spf13/cobra" + + "github.com/skycoin/skywire-utilities/pkg/cipher" + "github.com/skycoin/skywire/pkg/servicedisc" ) var ( + stateName = "vpn-client" + serviceType = servicedisc.ServiceTypeVPN + servicePort = ":3" path string isPkg bool isUnFiltered bool ver string country string isStats bool + pubkey cipher.PubKey + pk string + count int + sdURL string + directQuery bool + servers []servicedisc.Service ) // RootCmd contains commands that interact with the skywire-visor var RootCmd = &cobra.Command{ Use: "vpn", - Short: "controls for VPN client", + Short: "VPN client", } diff --git a/cmd/skywire-cli/commands/vpn/vvpn.go b/cmd/skywire-cli/commands/vpn/vvpn.go index 7bd0fb787e..3d0150ee8d 100644 --- a/cmd/skywire-cli/commands/vpn/vvpn.go +++ b/cmd/skywire-cli/commands/vpn/vvpn.go @@ -3,166 +3,82 @@ package clivpn import ( "bytes" + "encoding/json" "fmt" + "math/rand" + "net/http" "os" "strings" "text/tabwriter" "time" "github.com/spf13/cobra" - "github.com/toqueteos/webbrowser" + "github.com/spf13/pflag" "github.com/skycoin/skywire-utilities/pkg/buildinfo" - "github.com/skycoin/skywire-utilities/pkg/cipher" + "github.com/skycoin/skywire-utilities/pkg/skyenv" clirpc "github.com/skycoin/skywire/cmd/skywire-cli/commands/rpc" - clivisor "github.com/skycoin/skywire/cmd/skywire-cli/commands/visor" "github.com/skycoin/skywire/cmd/skywire-cli/internal" "github.com/skycoin/skywire/pkg/app/appserver" + "github.com/skycoin/skywire/pkg/servicedisc" "github.com/skycoin/skywire/pkg/visor" - "github.com/skycoin/skywire/pkg/visor/visorconfig" ) func init() { RootCmd.PersistentFlags().StringVar(&clirpc.Addr, "rpc", "localhost:3435", "RPC server address") RootCmd.AddCommand( - vpnListCmd, - vpnUICmd, - vpnURLCmd, - vpnStartCmd, - vpnStopCmd, - vpnStatusCmd, + startCmd, + stopCmd, + statusCmd, + listCmd, ) version := buildinfo.Version() if version == "unknown" { version = "" } - vpnUICmd.Flags().BoolVarP(&isPkg, "pkg", "p", false, "use package config path") - vpnUICmd.Flags().StringVarP(&path, "config", "c", "", "config path") - vpnURLCmd.Flags().BoolVarP(&isPkg, "pkg", "p", false, "use package config path") - vpnURLCmd.Flags().StringVarP(&path, "config", "c", "", "config path") - vpnListCmd.Flags().BoolVarP(&isUnFiltered, "nofilter", "n", false, "provide unfiltered results") - vpnListCmd.Flags().StringVarP(&ver, "ver", "v", version, "filter results by version") - vpnListCmd.Flags().StringVarP(&country, "country", "c", "", "filter results by country") - vpnListCmd.Flags().BoolVarP(&isStats, "stats", "s", false, "return only a count of the results") + startCmd.Flags().StringVarP(&pk, "pk", "k", "", "server public key") + listCmd.Flags().StringVarP(&sdURL, "url", "a", "", "service discovery url default:\n"+skyenv.ServiceDiscAddr) + listCmd.Flags().BoolVarP(&directQuery, "direct", "b", false, "query service discovery directly") + listCmd.Flags().StringVarP(&pk, "pk", "k", "", "check "+serviceType+" service discovery for public key") + listCmd.Flags().IntVarP(&count, "num", "n", 0, "number of results to return") + listCmd.Flags().BoolVarP(&isUnFiltered, "unfilter", "u", false, "provide unfiltered results") + listCmd.Flags().StringVarP(&ver, "ver", "v", version, "filter results by version") + listCmd.Flags().StringVarP(&country, "country", "c", "", "filter results by country") + listCmd.Flags().BoolVarP(&isStats, "stats", "s", false, "return only a count of the results") } -var vpnUICmd = &cobra.Command{ - Use: "ui", - Short: "Open VPN UI in default browser", - Run: func(cmd *cobra.Command, _ []string) { - var url string - if isPkg { - path = visorconfig.SkywireConfig() - } - if path != "" { - conf, err := visorconfig.ReadFile(path) - if err != nil { - internal.PrintFatalError(cmd.Flags(), fmt.Errorf("Failed to read in config: %v", err)) - } - url = fmt.Sprintf("http://127.0.0.1%s/#/vpn/%s/", clivisor.HypervisorPort(cmd.Flags()), conf.PK.Hex()) - } else { - rpcClient, err := clirpc.Client(cmd.Flags()) - if err != nil { - os.Exit(1) - } - overview, err := rpcClient.Overview() - if err != nil { - internal.PrintFatalError(cmd.Flags(), fmt.Errorf("Failed to connect; is skywire running?: %v", err)) - } - url = fmt.Sprintf("http://127.0.0.1%s/#/vpn/%s/", clivisor.HypervisorPort(cmd.Flags()), overview.PubKey.Hex()) - } - if err := webbrowser.Open(url); err != nil { - internal.PrintFatalError(cmd.Flags(), fmt.Errorf("Failed to open VPN UI in browser:: %v", err)) - } - }, -} - -var vpnURLCmd = &cobra.Command{ - Use: "url", - Short: "Show VPN UI URL", - Run: func(cmd *cobra.Command, _ []string) { - var url string - if isPkg { - path = visorconfig.SkywireConfig() - } - if path != "" { - conf, err := visorconfig.ReadFile(path) - if err != nil { - internal.PrintFatalError(cmd.Flags(), fmt.Errorf("Failed to read in config: %v", err)) - } - url = fmt.Sprintf("http://127.0.0.1%s/#/vpn/%s/", clivisor.HypervisorPort(cmd.Flags()), conf.PK.Hex()) - } else { - rpcClient, err := clirpc.Client(cmd.Flags()) - if err != nil { - os.Exit(1) - } - overview, err := rpcClient.Overview() - if err != nil { - internal.PrintFatalRPCError(cmd.Flags(), err) - } - url = fmt.Sprintf("http://127.0.0.1%s/#/vpn/%s/", clivisor.HypervisorPort(cmd.Flags()), overview.PubKey.Hex()) +func findServerByPK(servers []servicedisc.Service, addr string) *servicedisc.Service { + for _, server := range servers { + if server.Addr.String() == addr { + return &server } - - output := struct { - URL string `json:"url"` - }{ - URL: url, - } - - internal.PrintOutput(cmd.Flags(), output, fmt.Sprintln(url)) - }, + } + return nil } -var vpnListCmd = &cobra.Command{ - Use: "list", - Short: "List public VPN servers", - Run: func(cmd *cobra.Command, _ []string) { - rpcClient, err := clirpc.Client(cmd.Flags()) - if err != nil { - internal.PrintFatalRPCError(cmd.Flags(), err) - } - if isUnFiltered { - ver = "" - country = "" - } - servers, err := rpcClient.VPNServers(ver, country) +var startCmd = &cobra.Command{ + Use: "start ", + Short: "start the " + serviceType + " for ", + // Args: cobra.MinimumNArgs(1), + Run: func(cmd *cobra.Command, args []string) { + //check that a valid public key is provided + err := pubkey.Set(pk) if err != nil { - internal.PrintFatalRPCError(cmd.Flags(), err) - } - if len(servers) == 0 { - internal.PrintFatalError(cmd.Flags(), fmt.Errorf("No VPN Servers found")) - } - if isStats { - internal.PrintFatalError(cmd.Flags(), fmt.Errorf("%d VPN Servers", len(servers))) - } - - var msg string - for _, i := range servers { - msg += strings.Replace(i.Addr.String(), ":44", "", 1) - if i.Geo != nil { - msg += fmt.Sprintf(" | %s\n", i.Geo.Country) + if len(args) > 0 { + err := pubkey.Set(args[0]) + if err != nil { + internal.PrintFatalError(cmd.Flags(), err) + } } else { - msg += "\n" + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("Invalid or missing public key")) } } - - internal.PrintOutput(cmd.Flags(), servers, msg) - }, -} - -var vpnStartCmd = &cobra.Command{ - Use: "start ", - Short: "start the vpn for ", - Args: cobra.MinimumNArgs(1), - Run: func(cmd *cobra.Command, args []string) { - - var pk cipher.PubKey - internal.Catch(cmd.Flags(), pk.Set(args[0])) + //connect to RPC rpcClient, err := clirpc.Client(cmd.Flags()) if err != nil { - os.Exit(1) + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("unable to create RPC client: %w", err)) } - internal.Catch(cmd.Flags(), rpcClient.StartVPNClient(pk)) + internal.Catch(cmd.Flags(), rpcClient.StartVPNClient(pubkey)) internal.PrintOutput(cmd.Flags(), nil, "Starting.") startProcess := true for startProcess { @@ -177,7 +93,7 @@ var vpnStartCmd = &cobra.Command{ } for _, state := range states { - if state.Name == "vpn-client" { + if state.Name == stateName { if state.Status == appserver.AppStatusRunning { startProcess = false internal.PrintOutput(cmd.Flags(), nil, fmt.Sprintln("\nRunning!")) @@ -202,22 +118,22 @@ var vpnStartCmd = &cobra.Command{ }, } -var vpnStopCmd = &cobra.Command{ +var stopCmd = &cobra.Command{ Use: "stop", - Short: "stop the vpn", + Short: "stop the " + serviceType + "client", Run: func(cmd *cobra.Command, _ []string) { rpcClient, err := clirpc.Client(cmd.Flags()) if err != nil { - os.Exit(1) + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("unable to create RPC client: %w", err)) } - internal.Catch(cmd.Flags(), rpcClient.StopVPNClient("vpn-client")) + internal.Catch(cmd.Flags(), rpcClient.StopVPNClient(stateName)) internal.PrintOutput(cmd.Flags(), "OK", fmt.Sprintln("OK")) }, } -var vpnStatusCmd = &cobra.Command{ +var statusCmd = &cobra.Command{ Use: "status", - Short: "vpn status", + Short: serviceType + " client status", Run: func(cmd *cobra.Command, _ []string) { rpcClient, err := clirpc.Client(cmd.Flags()) if err != nil { @@ -234,7 +150,7 @@ var vpnStatusCmd = &cobra.Command{ } var jsonAppStatus appState for _, state := range states { - if state.Name == "vpn-client" { + if state.Name == stateName { status := "stopped" if state.Status == appserver.AppStatusRunning { @@ -254,3 +170,114 @@ var vpnStatusCmd = &cobra.Command{ internal.PrintOutput(cmd.Flags(), jsonAppStatus, b.String()) }, } + +var listCmd = &cobra.Command{ + Use: "list", + Short: "List " + serviceType + " servers", + Long: "List " + serviceType + " servers from service discovery\n " + skyenv.ServiceDiscAddr + "/api/services?type=" + serviceType + "\n " + skyenv.ServiceDiscAddr + "/api/services?type=" + serviceType + "&country=US", + Run: func(cmd *cobra.Command, args []string) { + //validate any specified public key + if pk != "" { + err := pubkey.Set(pk) + if err != nil { + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("Invalid or missing public key")) + } + } + if sdURL == "" { + sdURL = skyenv.ServiceDiscAddr + } + if isUnFiltered { + ver = "" + country = "" + } + if directQuery { + servers = directQuerySD(cmd.Flags()) + } else { + rpcClient, err := clirpc.Client(cmd.Flags()) + if err != nil { + internal.PrintError(cmd.Flags(), fmt.Errorf("unable to create RPC client: %w", err)) + internal.PrintOutput(cmd.Flags(), fmt.Sprintf("directly querying service discovery\n%s/api/services?type=%s\n", sdURL, serviceType), fmt.Sprintf("directly querying service discovery\n%s/api/services?type=%s\n", sdURL, serviceType)) + servers = directQuerySD(cmd.Flags()) + } else { + servers, err = rpcClient.VPNServers(ver, country) + if err != nil { + internal.PrintError(cmd.Flags(), err) + internal.PrintOutput(cmd.Flags(), fmt.Sprintf("directly querying service discovery\n%s/api/services?type=%s\n", sdURL, serviceType), fmt.Sprintf("directly querying service discovery\n%s/api/services?type=%s\n", sdURL, serviceType)) + servers = directQuerySD(cmd.Flags()) + } + } + } + if len(servers) == 0 { + internal.PrintOutput(cmd.Flags(), "No Servers found", "No Servers found") + os.Exit(0) + } + if isStats { + internal.PrintOutput(cmd.Flags(), fmt.Sprintf("%d Servers\n", len(servers)), fmt.Sprintf("%d Servers\n", len(servers))) + } else { + var msg string + var results []string + limit := len(servers) + if count > 0 && count < limit { + limit = count + } + if pk != "" { + for _, server := range servers { + if strings.Replace(server.Addr.String(), servicePort, "", 1) == pk { + results = append(results, server.Addr.String()) + } + } + } else { + for _, server := range servers { + results = append(results, server.Addr.String()) + } + } + + //randomize the order of the displayed results + rand.Shuffle(len(results), func(i, j int) { + results[i], results[j] = results[j], results[i] + }) + for i := 0; i < limit && i < len(results); i++ { + msg += strings.Replace(results[i], servicePort, "", 1) + if server := findServerByPK(servers, results[i]); server != nil && server.Geo != nil { + if server.Geo.Country != "" { + msg += fmt.Sprintf(" | %s\n", server.Geo.Country) + } else { + msg += "\n" + } + } else { + msg += "\n" + } + } + internal.PrintOutput(cmd.Flags(), servers, msg) + } + }, +} + +func directQuerySD(cmdFlags *pflag.FlagSet) (s []servicedisc.Service) { + //url/uri format + //https://sd.skycoin.com/api/services?type=vpn&country=US&version=v1.3.7 + sdURL += "/api/services?type=" + serviceType + if country != "" { + sdURL += "&country=" + country + } + if ver != "" { + sdURL += "&version=" + ver + } + //preform http get request for the service discovery URL + resp, err := (&http.Client{Timeout: time.Duration(30 * time.Second)}).Get(sdURL) + if err != nil { + internal.PrintFatalError(cmdFlags, fmt.Errorf("error fetching servers from service discovery: %w", err)) + } + defer func() { + err := resp.Body.Close() + if err != nil { + internal.PrintError(cmdFlags, fmt.Errorf("Failed to close response body")) + } + }() + // Decode JSON response into struct + err = json.NewDecoder(resp.Body).Decode(&s) + if err != nil { + internal.PrintFatalError(cmdFlags, fmt.Errorf("error decoding json to struct: %w", err)) + } + return s +} diff --git a/cmd/skywire-cli/commands/vpn/vvpnui.go b/cmd/skywire-cli/commands/vpn/vvpnui.go new file mode 100644 index 0000000000..bc26f794a5 --- /dev/null +++ b/cmd/skywire-cli/commands/vpn/vvpnui.go @@ -0,0 +1,98 @@ +// Package clivpn cmd/skywire-cli/commands/vpn/vvpn.go +package clivpn + +import ( + "fmt" + "os" + + "github.com/spf13/cobra" + "github.com/toqueteos/webbrowser" + + "github.com/skycoin/skywire-utilities/pkg/buildinfo" + clirpc "github.com/skycoin/skywire/cmd/skywire-cli/commands/rpc" + clivisor "github.com/skycoin/skywire/cmd/skywire-cli/commands/visor" + "github.com/skycoin/skywire/cmd/skywire-cli/internal" + "github.com/skycoin/skywire/pkg/visor/visorconfig" +) + +func init() { + RootCmd.AddCommand( + vpnUICmd, + vpnURLCmd, + ) + version := buildinfo.Version() + if version == "unknown" { + version = "" //nolint + } + vpnUICmd.Flags().BoolVarP(&isPkg, "pkg", "p", false, "use package config path: "+visorconfig.SkywirePath) + vpnUICmd.Flags().StringVarP(&path, "config", "c", "", "config path") + vpnURLCmd.Flags().BoolVarP(&isPkg, "pkg", "p", false, "use package config path: "+visorconfig.SkywirePath) + vpnURLCmd.Flags().StringVarP(&path, "config", "c", "", "config path") +} + +var vpnUICmd = &cobra.Command{ + Use: "ui", + Short: "Open VPN UI in default browser", + Run: func(cmd *cobra.Command, _ []string) { + var url string + if isPkg { + path = visorconfig.SkywireConfig() + } + if path != "" { + conf, err := visorconfig.ReadFile(path) + if err != nil { + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("Failed to read in config: %v", err)) + } + url = fmt.Sprintf("http://127.0.0.1%s/#/vpn/%s/", clivisor.HypervisorPort(cmd.Flags()), conf.PK.Hex()) + } else { + rpcClient, err := clirpc.Client(cmd.Flags()) + if err != nil { + os.Exit(1) + } + overview, err := rpcClient.Overview() + if err != nil { + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("Failed to connect; is skywire running?: %v", err)) + } + url = fmt.Sprintf("http://127.0.0.1%s/#/vpn/%s/", clivisor.HypervisorPort(cmd.Flags()), overview.PubKey.Hex()) + } + if err := webbrowser.Open(url); err != nil { + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("Failed to open VPN UI in browser:: %v", err)) + } + }, +} + +var vpnURLCmd = &cobra.Command{ + Use: "url", + Short: "Show VPN UI URL", + Run: func(cmd *cobra.Command, _ []string) { + var url string + if isPkg { + path = visorconfig.SkywireConfig() + } + if path != "" { + conf, err := visorconfig.ReadFile(path) + if err != nil { + internal.PrintFatalError(cmd.Flags(), fmt.Errorf("Failed to read in config: %v", err)) + } + url = fmt.Sprintf("http://127.0.0.1%s/#/vpn/%s/", clivisor.HypervisorPort(cmd.Flags()), conf.PK.Hex()) + } else { + rpcClient, err := clirpc.Client(cmd.Flags()) + if err != nil { + os.Exit(1) + } + overview, err := rpcClient.Overview() + if err != nil { + internal.PrintFatalRPCError(cmd.Flags(), err) + } + url = fmt.Sprintf("http://127.0.0.1%s/#/vpn/%s/", clivisor.HypervisorPort(cmd.Flags()), overview.PubKey.Hex()) + } + + output := struct { + URL string `json:"url"` + }{ + URL: url, + } + + internal.PrintOutput(cmd.Flags(), output, fmt.Sprintln(url)) + }, +} diff --git a/cmd/skywire-cli/internal/internal.go b/cmd/skywire-cli/internal/internal.go index fc535d5b28..2c8c6d3c8c 100644 --- a/cmd/skywire-cli/internal/internal.go +++ b/cmd/skywire-cli/internal/internal.go @@ -42,9 +42,14 @@ func PrintFatalError(cmdFlags *pflag.FlagSet, err error) { log.Fatal(err) } -// PrintFatalRPCError prints errors for skywire-cli commands packages +// PrintFatalRPCError prints fatal RPC errors for skywire-cli commands packages func PrintFatalRPCError(cmdFlags *pflag.FlagSet, err error) { - PrintFatalError(cmdFlags, fmt.Errorf("Failed to connect; is skywire running?: %v", err)) + PrintFatalError(cmdFlags, fmt.Errorf("Failed to connect to visor RPC or RPC method not found; is skywire running?: %v", err)) +} + +// PrintRPCError prints nonfatal RPC errors for skywire-cli commands packages +func PrintRPCError(cmdFlags *pflag.FlagSet, err error) { + PrintError(cmdFlags, fmt.Errorf("Failed to connect to visor RPC or RPC method not found; is skywire running?: %v", err)) } // PrintError prints errors for skywire-cli commands packages diff --git a/cmd/skywire-visor/README.md b/cmd/skywire-visor/README.md index 1affa3e8ec..938ee67252 100644 --- a/cmd/skywire-visor/README.md +++ b/cmd/skywire-visor/README.md @@ -25,55 +25,51 @@ make install ## Skywire-visor usage After the installation, you can run `skywire-visor -h` to see the usage or `skywire-visor --all` for advanced usage: -_Note: flags for autopeering are only available with the environmental variable `SKYBIAN=true` ``` $ skywire-visor --help - ┌─┐┬┌─┬ ┬┬ ┬┬┬─┐┌─┐ - └─┐├┴┐└┬┘││││├┬┘├┤ - └─┘┴ ┴ ┴ └┴┘┴┴└─└─┘ - -Usage: - skywire-visor [flags] +┌─┐┬┌─┬ ┬┬ ┬┬┬─┐┌─┐ +└─┐├┴┐└┬┘││││├┬┘├┤ +└─┘┴ ┴ ┴ └┴┘┴┴└─└─┘ Flags: - -c, --config string config file to use (default): skywire-config.json - -b, --browser open hypervisor ui in default web browser - --systray run as systray - -i, --hvui run as hypervisor * - --all show all flags - -h, --help help for skywire-visor - -v, --version version for skywire-visor - - - $ skywire-visor --all - - - ┌─┐┬┌─┬ ┬┬ ┬┬┬─┐┌─┐ - └─┐├┴┐└┬┘││││├┬┘├┤ - └─┘┴ ┴ ┴ └┴┘┴┴└─└─┘ - - Usage: - skywire-visor [flags] - - Flags: - -c, --config string config file to use (default): skywire-config.json - -b, --browser open hypervisor ui in default web browser - -n, --stdin read config from stdin - --systray run as systray - -i, --hvui run as hypervisor * - -x, --nohvui disable hypervisor * - -j, --hv string add remote hypervisor * - -k, --xhv disable remote hypervisors * - -s, --loglvl string [ debug | warn | error | fatal | panic | trace ] * - -q, --pprofmode string [ cpu | mem | mutex | block | trace | http ] - -r, --pprofaddr string pprof http port (default "localhost:6060") - -t, --tag string logging tag (default "skywire") - -y, --syslog string syslog server address. E.g. localhost:514 - -z, --completion string [ bash | zsh | fish | powershell ] - -v, --version version for skywire-visor - * overrides config file +-c, --config string config file to use (default): skywire-config.json + --systray run as systray +-i, --hvui run as hypervisor * + --all show all flags +-h, --help help for visor +-v, --version version for visor + + + +$ skywire-visor --all + + ┌─┐┬┌─┬ ┬┬ ┬┬┬─┐┌─┐ + └─┐├┴┐└┬┘││││├┬┘├┤ + └─┘┴ ┴ ┴ └┴┘┴┴└─└─┘ + + Flags: + -c, --config string config file to use (default): skywire-config.json + --dmsg-server string use specified dmsg server public key + -n, --stdin read config from stdin + -p, --pkg use package config /opt/skywire/skywire.json + -u, --user u̶s̶e̶r̶s̶p̶a̶c̶e̶ ̶c̶o̶n̶f̶i̶g̶ does not exist + --systray run as systray + -i, --hvui run as hypervisor * + -x, --nohvui disable hypervisor * + -j, --hv string add remote hypervisor * + -k, --xhv disable remote hypervisors * + -s, --loglvl string [ debug | warn | error | fatal | panic | trace ] * + -q, --pprofmode string [ cpu | mem | mutex | block | trace | http ] + -r, --pprofaddr string pprof http port (default "localhost:6060") + -t, --logtag string logging tag (default "skywire") + -y, --syslog string syslog server address. E.g. localhost:514 + -z, --completion string [ bash | zsh | fish | powershell ] + -l, --storelog store all logs to file + --forcecolor force color logging when out is not STDOUT + -v, --version version for visor + * overrides config file ``` ### Skywire visor flags @@ -91,22 +87,6 @@ Mutually exclusive flags: The ` -b, --browser` flag is not available to root / with sudo. -### Autopeering visors to a hypervisor - -The autopeering system is used in skybian to peer visors to a remote hypervisor on a predetermined static IP address. - -For the autopeering of visors to a remote hypervisor to work, neither a remote nor a local hypervisor may be set in the config file. - -The `-m` and `-l` flags will simply be ignored if there are remote or local hypervisors in the config file used by the visor - -As well, the environmental variable `SKYBIAN=true` must be present - -``` -skywire-visor -mp -``` - -To use a desktop as the hypervisor which visors autopeer to, run the `skywire-cli visor pk -w` command on the desktop and specify on the visors (or in the visor's systemd service file) the ip address of the desired hypervisor using the `-l` flag for skywire-visor - ## Config file generation Refer to the [skywire-cli documentation](../skywire-cli/README.md) for more detailed information regarding additional flags and argument that may be passed to the following command: @@ -115,4 +95,4 @@ Refer to the [skywire-cli documentation](../skywire-cli/README.md) for more deta skywire-cli config gen ``` -With no additional flags or arguments, the configuration is written to skywire-config.json and stdout. +With no additional flags or arguments, the configuration is written to skywire-config.json and stdout along with logging to stdout. diff --git a/cmd/skywire-visor/skywire-visor.go b/cmd/skywire-visor/skywire-visor.go index bceff456be..b0f8af39ae 100644 --- a/cmd/skywire-visor/skywire-visor.go +++ b/cmd/skywire-visor/skywire-visor.go @@ -1,6 +1,6 @@ -// /* cmd/skywire-visor/skywire-visor.go +// /* cmd/skywire/skywire.go /* -skywire visor +skywire */ package main diff --git a/cmd/skywire/skywire.go b/cmd/skywire/skywire.go new file mode 100644 index 0000000000..ac05f801e2 --- /dev/null +++ b/cmd/skywire/skywire.go @@ -0,0 +1,73 @@ +// /* cmd/skywire-visor/skywire-visor.go +/* +skywire visor +*/ +package main + +import ( + "fmt" + + cc "github.com/ivanpirog/coloredcobra" + "github.com/spf13/cobra" + + "github.com/skycoin/skywire-utilities/pkg/buildinfo" + setupnode "github.com/skycoin/skywire/cmd/setup-node/commands" + skywirecli "github.com/skycoin/skywire/cmd/skywire-cli/commands" + "github.com/skycoin/skywire/pkg/visor" +) + +func init() { + rootCmd.AddCommand( + visor.RootCmd, + skywirecli.RootCmd, + setupnode.RootCmd, + ) + var helpflag bool + rootCmd.SetUsageTemplate(help) + rootCmd.PersistentFlags().BoolVarP(&helpflag, "help", "h", false, "help for "+rootCmd.Use) + rootCmd.SetHelpCommand(&cobra.Command{Hidden: true}) + rootCmd.PersistentFlags().MarkHidden("help") //nolint + rootCmd.CompletionOptions.DisableDefaultCmd = true + +} + +var rootCmd = &cobra.Command{ + Use: "skywire", + Long: ` + ┌─┐┬┌─┬ ┬┬ ┬┬┬─┐┌─┐ + └─┐├┴┐└┬┘││││├┬┘├┤ + └─┘┴ ┴ ┴ └┴┘┴┴└─└─┘`, + SilenceErrors: true, + SilenceUsage: true, + DisableSuggestions: true, + DisableFlagsInUseLine: true, + Version: buildinfo.Version(), +} + +func main() { + cc.Init(&cc.Config{ + RootCmd: rootCmd, + Headings: cc.HiBlue + cc.Bold, + Commands: cc.HiBlue + cc.Bold, + CmdShortDescr: cc.HiBlue, + Example: cc.HiBlue + cc.Italic, + ExecName: cc.HiBlue + cc.Bold, + Flags: cc.HiBlue + cc.Bold, + FlagsDescr: cc.HiBlue, + NoExtraNewlines: true, + NoBottomNewline: true, + }) + + if err := rootCmd.Execute(); err != nil { + fmt.Println(err) + } +} + +const help = "{{if gt (len .Aliases) 0}}" + + "{{.NameAndAliases}}{{end}}{{if .HasAvailableSubCommands}}" + + "Available Commands:{{range .Commands}}{{if (or .IsAvailableCommand)}}\r\n " + + "{{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{if .HasAvailableLocalFlags}}\r\n\r\n" + + "Flags:\r\n" + + "{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if .HasAvailableInheritedFlags}}\r\n\r\n" + + "Global Flags:\r\n" + + "{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}\r\n\r\n" diff --git a/docker/images/visor/Dockerfile b/docker/images/visor/Dockerfile index b4c5b77a13..46b112d559 100644 --- a/docker/images/visor/Dockerfile +++ b/docker/images/visor/Dockerfile @@ -16,11 +16,11 @@ RUN apk add --no-cache make git && \ sh -c /skywire/docker/images/visor/install-preq.sh && \ make build-deploy && \ mkdir -p /apps && \ - cp ./apps/vpn-server /apps/ && \ - cp ./apps/vpn-client /apps/ && \ - cp ./apps/skysocks /apps/ && \ - cp ./apps/skysocks-client /apps/ && \ - cp ./apps/skychat /apps/ + cp ./build/apps/vpn-server /apps/ && \ + cp ./build/apps/vpn-client /apps/ && \ + cp ./build/apps/skysocks /apps/ && \ + cp ./build/apps/skysocks-client /apps/ && \ + cp ./build/apps/skychat /apps/ ## Resulting image FROM ${base} as visor-runner diff --git a/example/example-client-app/README.md b/example/example-client-app/README.md index fb949cc52f..67919fd5cb 100644 --- a/example/example-client-app/README.md +++ b/example/example-client-app/README.md @@ -17,6 +17,7 @@ Compile app binary and start a visor: ```sh $ make build-example +$ cd ./build $ ./skywire-visor skywire-config.json ``` @@ -28,7 +29,7 @@ $ ./skywire-cli visor app register -a example-client-app Run the app with the `example-server-app` addr and the generated proc key ```sh -$ ./apps/example-client-app -addr : -procAddr 01cd10e65d88494481c50a1bb0659af2 +$ ./build/apps/example-client-app -addr : -procAddr 01cd10e65d88494481c50a1bb0659af2 ``` Deregister app after stopping the `example-client-app` diff --git a/example/example-server-app/README.md b/example/example-server-app/README.md index 7cd5d664cc..0c8f21a30c 100644 --- a/example/example-server-app/README.md +++ b/example/example-server-app/README.md @@ -19,6 +19,7 @@ Compile app binaries, update config with `example-server-app` and start a visor: ```sh $ make build-example +$ cd ./build $ ./skywire-cli config gen -irm $ ./skywire-visor skywire-config.json ``` \ No newline at end of file diff --git a/example/http-server/server.go b/example/http-server/server.go index 8c7b3d76b1..4e231a39ed 100644 --- a/example/http-server/server.go +++ b/example/http-server/server.go @@ -15,7 +15,7 @@ import ( "github.com/skycoin/skywire/pkg/visor" ) -func homepage(w http.ResponseWriter, r *http.Request) { +func homepage(w http.ResponseWriter, r *http.Request) { //nolint:all p := html.HomepageParams{ Title: "Homepage", Message: "Hello from Homepage", diff --git a/go.mod b/go.mod index b5c17b6e2b..b1496d3af4 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/skycoin/yamux v0.0.0-20200803175205-571ceb89da9f github.com/songgao/water v0.0.0-20200317203138-2b4b6d7c09d8 github.com/spf13/cobra v1.4.0 - github.com/stretchr/testify v1.8.0 + github.com/stretchr/testify v1.8.1 github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 github.com/templexxx/cpufeat v0.0.0-20180724012125-cef66df7f161 // indirect github.com/templexxx/xor v0.0.0-20191217153810-f85b25db303b // indirect @@ -30,32 +30,32 @@ require ( github.com/toqueteos/webbrowser v1.2.0 github.com/xtaci/kcp-go v5.4.20+incompatible go.etcd.io/bbolt v1.3.6 - golang.org/x/net v0.0.0-20220722155237-a158d28d115b - golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f - golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect + golang.org/x/net v0.7.0 + golang.org/x/sys v0.5.0 + golang.org/x/term v0.5.0 // indirect golang.org/x/tools v0.1.12 // indirect golang.zx2c4.com/wireguard v0.0.0-20211012180210-dfd688b6aa7b nhooyr.io/websocket v1.8.2 // indirect ) require ( - github.com/ProtonMail/gopenpgp/v2 v2.5.2 github.com/bitfield/script v0.19.0 github.com/blang/semver/v4 v4.0.0 + github.com/gin-gonic/gin v1.9.0 github.com/go-chi/chi/v5 v5.0.8-0.20220103230436-7dbe9a0bd10f github.com/gocarina/gocsv v0.0.0-20220927221512-ad3251f9fa25 github.com/ivanpirog/coloredcobra v1.0.0 github.com/james-barrow/golang-ipc v0.0.0-20210227130457-95e7cc81f5e2 github.com/jaypipes/ghw v0.10.0 github.com/lib/pq v1.10.7 + github.com/orandin/lumberjackrus v1.0.1 github.com/pterm/pterm v0.12.49 github.com/skycoin/dmsg v1.3.0-rc1.0.20230224131835-1c194ef9791e - github.com/skycoin/skywire-utilities v0.0.0-20230110132024-c5536ba8e22c + github.com/skycoin/skywire-utilities v0.0.0-20230522105416-0c3b75e1fef4 github.com/skycoin/systray v1.10.0 github.com/spf13/pflag v1.0.5 github.com/zcalusic/sysinfo v0.9.5 golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde - periph.io/x/periph v3.6.8+incompatible ) require ( @@ -65,16 +65,20 @@ require ( github.com/ActiveState/termtest/conpty v0.5.0 // indirect github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 // indirect github.com/Microsoft/go-winio v0.4.16 // indirect - github.com/ProtonMail/go-crypto v0.0.0-20230124153114-0acdc8ae009b // indirect - github.com/ProtonMail/go-mime v0.0.0-20221031134845-8fd9bc37cf08 // indirect github.com/StackExchange/wmi v1.2.1 // indirect - github.com/cloudflare/circl v1.1.0 // indirect + github.com/bytedance/sonic v1.8.0 // indirect + github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 // indirect github.com/containerd/console v1.0.3 // indirect github.com/creack/pty v1.1.15 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/fatih/color v1.13.0 // indirect github.com/ghodss/yaml v1.0.0 // indirect + github.com/gin-contrib/sse v0.1.0 // indirect github.com/go-ole/go-ole v1.2.6 // indirect + github.com/go-playground/locales v0.14.1 // indirect + github.com/go-playground/universal-translator v0.18.1 // indirect + github.com/go-playground/validator/v10 v10.11.2 // indirect + github.com/goccy/go-json v0.10.0 // indirect github.com/godbus/dbus/v5 v5.1.0 // indirect github.com/gookit/color v1.5.2 // indirect github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 // indirect @@ -82,26 +86,34 @@ require ( github.com/jaypipes/pcidb v1.0.0 // indirect github.com/klauspost/compress v1.11.0 // indirect github.com/klauspost/cpuid v1.2.4 // indirect + github.com/klauspost/cpuid/v2 v2.1.0 // indirect + github.com/leodido/go-urn v1.2.1 // indirect github.com/lithammer/fuzzysearch v1.1.5 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect + github.com/mattn/go-isatty v0.0.17 // indirect github.com/mattn/go-runewidth v0.0.13 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/pelletier/go-toml/v2 v2.0.6 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/rivo/uniseg v0.2.0 // indirect github.com/skycoin/noise v0.0.0-20180327030543-2492fe189ae6 // indirect - github.com/stretchr/objx v0.4.0 // indirect + github.com/stretchr/objx v0.5.0 // indirect github.com/tklauser/go-sysconf v0.3.4 // indirect github.com/tklauser/numcpus v0.2.1 // indirect + github.com/twitchyliquid64/golang-asm v0.15.1 // indirect + github.com/ugorji/go/codec v1.2.9 // indirect github.com/valyala/fastrand v1.1.0 // indirect github.com/valyala/histogram v1.2.0 // indirect github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect github.com/xtaci/lossyconn v0.0.0-20200209145036-adba10fffc37 // indirect - golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect + golang.org/x/arch v0.0.0-20210923205945-b76863e36670 // indirect + golang.org/x/crypto v0.5.0 // indirect golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/text v0.3.7 // indirect + golang.org/x/text v0.7.0 // indirect + google.golang.org/protobuf v1.28.1 // indirect + gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect howett.net/plist v1.0.0 // indirect diff --git a/go.sum b/go.sum index edd435e1aa..906d9c3b19 100644 --- a/go.sum +++ b/go.sum @@ -79,12 +79,6 @@ github.com/MarvinJWendt/testza v0.4.3 h1:u2XaM4IqGp9dsdUmML8/Z791fu4yjQYzOiufOtJ github.com/Microsoft/go-winio v0.4.16 h1:FtSW/jqD+l4ba5iPBj9CODVtgfYAD8w2wS923g/cFDk= github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/ProtonMail/go-crypto v0.0.0-20230124153114-0acdc8ae009b h1:1DHH9haxfhaVM8owXQjLdn7UP4AkDfzSdiRoLdcSCqE= -github.com/ProtonMail/go-crypto v0.0.0-20230124153114-0acdc8ae009b/go.mod h1:I0gYDMZ6Z5GRU7l58bNFSkPTFN6Yl12dsUlAZ8xy98g= -github.com/ProtonMail/go-mime v0.0.0-20221031134845-8fd9bc37cf08 h1:dS7r5z4iGS0qCjM7UwWdsEMzQesUQbGcXdSm2/tWboA= -github.com/ProtonMail/go-mime v0.0.0-20221031134845-8fd9bc37cf08/go.mod h1:qRZgbeASl2a9OwmsV85aWwRqic0NHPh+9ewGAzb4cgM= -github.com/ProtonMail/gopenpgp/v2 v2.5.2 h1:97SjlWNAxXl9P22lgwgrZRshQdiEfAht0g3ZoiA1GCw= -github.com/ProtonMail/gopenpgp/v2 v2.5.2/go.mod h1:52qDaCnto6r+CoWbuU50T77XQt99lIs46HtHtvgFO3o= github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDOSA= github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= @@ -114,7 +108,9 @@ github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= github.com/buger/jsonparser v0.0.0-20181115193947-bf1c66bbce23/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= -github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= +github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= +github.com/bytedance/sonic v1.8.0 h1:ea0Xadu+sHlu7x5O3gKhRpQ1IKiMrSiHttPF0ybECuA= +github.com/bytedance/sonic v1.8.0/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= github.com/ccding/go-stun/stun v0.0.0-20200514191101-4dc67bcdb029 h1:POmUHfxXdeyM8Aomg4tKDcwATCFuW+cYLkj6pwsw9pc= github.com/ccding/go-stun/stun v0.0.0-20200514191101-4dc67bcdb029/go.mod h1:Rpr5n9cGHYdM3S3IK8ROSUUUYjQOu+MSUCZDcJbYWi8= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= @@ -124,14 +120,15 @@ github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cheekybits/genny v1.0.0 h1:uGGa4nei+j20rOSeDeP5Of12XVm7TGUd4dJA9RDitfE= github.com/cheekybits/genny v1.0.0/go.mod h1:+tQajlRqAUrPI7DOSpB0XAqZYtQakVtB7wXkRAgjxjQ= +github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= +github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311 h1:qSGYFH7+jGhDF8vLC+iwCD4WpbV1EBDSzWkJODFLams= +github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/circl v1.1.0 h1:bZgT/A+cikZnKIwn7xL2OBj012Bmvho/o6RpRvv3GKY= -github.com/cloudflare/circl v1.1.0/go.mod h1:prBCrKB9DV4poKZY1l9zBXg2QJY7mvgRvtMxxK7fi4I= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= @@ -180,6 +177,10 @@ github.com/gen2brain/dlgs v0.0.0-20210911090025-cbd38e821b98 h1:wkHRSagNSNKP54v6 github.com/gen2brain/dlgs v0.0.0-20210911090025-cbd38e821b98/go.mod h1:/eFcjDXaU2THSOOqLxOPETIbHETnamk8FA/hMjhg/gU= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= +github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= +github.com/gin-gonic/gin v1.9.0 h1:OjyFBKICoexlu99ctXNR2gg+c5pKrKMuyjgARg9qeY8= +github.com/gin-gonic/gin v1.9.0/go.mod h1:W1Me9+hsUSyj3CePGrd1/QrKJMSJ1Tu/0hFEH89961k= github.com/gliderlabs/ssh v0.1.1/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-chi/chi/v5 v5.0.7/go.mod h1:DslCQbL2OYiznFReuXYUmQ2hGd1aDpCnlMNITLSKoi8= github.com/go-chi/chi/v5 v5.0.8-0.20220103230436-7dbe9a0bd10f h1:6kLofhLkWj7lgCc+mvcVLnwhTzQYgL/yW/Y0e/JYwjg= @@ -196,6 +197,13 @@ github.com/go-ole/go-ole v1.2.4/go.mod h1:XCwSNxSkXRo4vlyPy93sltvi/qJq0jqQhjqQNI github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= +github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= +github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= +github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= +github.com/go-playground/validator/v10 v10.11.2 h1:q3SHpufmypg+erIExEKUmsgmhDTyhcJ38oeKGACXohU= +github.com/go-playground/validator/v10 v10.11.2/go.mod h1:NieE624vt4SCTJtD87arVLvdmjPAeV8BQlHtMnw9D7s= github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= @@ -207,6 +215,8 @@ github.com/gobwas/ws v1.0.2 h1:CoAavW/wd/kulfZmSIBt6p24n4j7tHgNVCjsfHVNUbo= github.com/gobwas/ws v1.0.2/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= github.com/gocarina/gocsv v0.0.0-20220927221512-ad3251f9fa25 h1:wxgEEZvsnOTrDO2npSSKUMDx5IykfoGmro+/Vjc1BQ8= github.com/gocarina/gocsv v0.0.0-20220927221512-ad3251f9fa25/go.mod h1:5YoVOkjYAQumqlV356Hj3xeYh4BdZuLE0/nRkf2NKkI= +github.com/goccy/go-json v0.10.0 h1:mXKd9Qw4NuzShiRlOXKews24ufknHO7gx30lsDyokKA= +github.com/goccy/go-json v0.10.0/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= @@ -372,6 +382,7 @@ github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa02 github.com/klauspost/cpuid/v2 v2.0.10/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= github.com/klauspost/cpuid/v2 v2.0.12/go.mod h1:g2LTdtYhdyuGPqyWyv7qRAmj1WBqxuObKfj5c0PQa7c= github.com/klauspost/cpuid/v2 v2.1.0 h1:eyi1Ad2aNJMW95zcSbmGg7Cg6cq3ADwLpMAP96d8rF0= +github.com/klauspost/cpuid/v2 v2.1.0/go.mod h1:RVVoqg1df56z8g3pUjL/3lE5UfnlrJX8tyFgg4nqhuY= github.com/klauspost/reedsolomon v1.9.9 h1:qCL7LZlv17xMixl55nq2/Oa1Y86nfO8EqDfv2GHND54= github.com/klauspost/reedsolomon v1.9.9/go.mod h1:O7yFFHiQwDR6b2t63KPUpccPtNdp5ADgh1gg4fd12wo= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -381,11 +392,14 @@ github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.3/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= +github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lithammer/fuzzysearch v1.1.5 h1:Ag7aKU08wp0R9QCfF4GoGST9HbmAIeLP7xwMrOBEp1c= @@ -413,8 +427,9 @@ github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= +github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= @@ -443,7 +458,6 @@ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjY github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= github.com/neelance/sourcemap v0.0.0-20151028013722-8c68805598ab/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= @@ -458,9 +472,13 @@ github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1y github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/openzipkin/zipkin-go v0.1.1/go.mod h1:NtoC/o8u3JlF1lSlyPNswIbeQH9bJTmOf0Erfk+hxe8= +github.com/orandin/lumberjackrus v1.0.1 h1:7ysDQ0MHD79zIFN9/EiDHjUcgopNi5ehtxFDy8rUkWo= +github.com/orandin/lumberjackrus v1.0.1/go.mod h1:xYLt6H8W93pKnQgUQaxsApS0Eb4BwHLOkxk5DVzf5H0= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= +github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/pires/go-proxyproto v0.6.2/go.mod h1:Odh9VFOZJCf9G8cLW5o435Xf1J95Jw9Gw5rnCjcwzAY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -499,6 +517,7 @@ github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= @@ -542,8 +561,9 @@ github.com/skycoin/noise v0.0.0-20180327030543-2492fe189ae6 h1:1Nc5EBY6pjfw1kwW0 github.com/skycoin/noise v0.0.0-20180327030543-2492fe189ae6/go.mod h1:UXghlricA7J3aRD/k7p/zBObQfmBawwCxIVPVjz2Q3o= github.com/skycoin/skycoin v0.27.1 h1:HatxsRwVSPaV4qxH6290xPBmkH/HgiuAoY2qC+e8C9I= github.com/skycoin/skycoin v0.27.1/go.mod h1:78nHjQzd8KG0jJJVL/j0xMmrihXi70ti63fh8vXScJw= -github.com/skycoin/skywire-utilities v0.0.0-20230110132024-c5536ba8e22c h1:jYHyLwSyRVR/TmT4WWIGAeFX4FawGHA4Gaeic0zX3KI= github.com/skycoin/skywire-utilities v0.0.0-20230110132024-c5536ba8e22c/go.mod h1:X5H+fKC3rD11/sm4t9V2FWy/aet7OdEilaO2Ar3waXY= +github.com/skycoin/skywire-utilities v0.0.0-20230522105416-0c3b75e1fef4 h1:Xk5tUmqg/Myr9EOVtQSwbsDdXropHflW9IZF6ENtvOs= +github.com/skycoin/skywire-utilities v0.0.0-20230522105416-0c3b75e1fef4/go.mod h1:X5H+fKC3rD11/sm4t9V2FWy/aet7OdEilaO2Ar3waXY= github.com/skycoin/systray v1.10.0 h1:fQZJHMylpVvfmOOTLvUssfyHVDoC8Idx6Ba2BlLEuGg= github.com/skycoin/systray v1.10.0/go.mod h1:/i17Eni5GxFiboIZceeamY5LktDSFFRCvd3fBMerQ+4= github.com/skycoin/yamux v0.0.0-20200803175205-571ceb89da9f h1:A5dEM1OE9YhN3LciZU9qPjo7fJ46JeHNi3JCroDkK0Y= @@ -565,8 +585,9 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/viper v1.10.0/go.mod h1:SoyBPwAtKDzypXNDFKN5kzH7ppppbGZtls1UpIy5AsM= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0 h1:M2gUjqZET1qApGOWNSnZ49BAIMX4F/1plDv3+l31EJ4= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -574,8 +595,9 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635 h1:kdXcSzyDtseVEc4yCz2qF8ZrQvIDBJLl4S1c3GCXmoI= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= @@ -593,6 +615,10 @@ github.com/tklauser/numcpus v0.2.1/go.mod h1:9aU+wOc6WjUIZEwWMP62PL/41d65P+iks1g github.com/toqueteos/webbrowser v1.2.0 h1:tVP/gpK69Fx+qMJKsLE7TD8LuGWPnEV71wBN9rrstGQ= github.com/toqueteos/webbrowser v1.2.0/go.mod h1:XWoZq4cyp9WeUeak7w7LXRUQf1F1ATJMir8RTqb4ayM= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI= +github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08= +github.com/ugorji/go/codec v1.2.9 h1:rmenucSohSTiyL09Y+l2OCk+FrMxGMzho2+tjr5ticU= +github.com/ugorji/go/codec v1.2.9/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/valyala/fastrand v1.1.0 h1:f+5HkLW4rsgzdNoleUOB69hyT9IlD2ZQh9GyDMfb5G8= github.com/valyala/fastrand v1.1.0/go.mod h1:HWqCzkrkg6QXT8V2EXWvXCoow7vLwOFN002oeRzjapQ= github.com/valyala/histogram v1.2.0 h1:wyYGAZZt3CpwUiIb9AU/Zbllg1llXyrtApRS815OLoQ= @@ -610,7 +636,6 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zcalusic/sysinfo v0.9.5 h1:ivoHyj9aIAYkwzo1+8QgJ5s4oeE6Etx9FmZtqa4wJjQ= github.com/zcalusic/sysinfo v0.9.5/go.mod h1:Z/gPVufBrFc8X5sef3m6kkw3r3nlNFp+I6bvASfvBZQ= go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= @@ -632,6 +657,8 @@ go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9i go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go4.org v0.0.0-20180809161055-417644f6feb5/go.mod h1:MkTOUMDaeVYJUOUsaDXIhWPZYa1yOyC1qaOBpL57BhE= golang.org/x/arch v0.0.0-20190909030613-46d78d1859ac/go.mod h1:flIaEI6LNU6xOCD5PaJvn9wGP0agmIOqjrtsKGRguv4= +golang.org/x/arch v0.0.0-20210923205945-b76863e36670 h1:18EFjUmQOcUvxNYSkA6jO9VAiXCnxFY6NyDX0bHDmkU= +golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/build v0.0.0-20190111050920-041ab4dc3f9d/go.mod h1:OWs+y06UdEOHN4y+MfF/py+xQ/tYqIWW03b70/CG9Rw= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -647,12 +674,12 @@ golang.org/x/crypto v0.0.0-20200221231518-2aa609cf4a9d/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.5.0 h1:U/0M97KRkSFvyD/3FSmdP5W5swImpNgle/EHFhOsQPE= +golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= @@ -677,7 +704,6 @@ golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPI golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mobile v0.0.0-20221110043201-43a038452099/go.mod h1:aAjjkJNdrh3PMckS4B10TGS2nag27cbKR1y2BpUxsiY= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= @@ -740,8 +766,8 @@ golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211020060615-d418f374d309/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b h1:PxfKdU9lEEDYjdIzOtC4qFWgkU2rGHdKlKowJSMN9h0= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181203162652-d668ce993890/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -773,7 +799,6 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde h1:ejfdSekXMDxDLbRrJMwUk6KnSLZ2McaUCVcIKM+N6jc= golang.org/x/sync v0.0.0-20220819030929-7fc1605a5dde/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -858,15 +883,17 @@ golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211205182925-97ca703d548d/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220319134239-a9b59b0215f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f h1:v4INt8xihDGvnrfjMDVXGxw9wrfxYyCjk0KbXjhR55s= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220704084225-05e143d24a9e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0 h1:n2a8QNdAb0sZNpU9R1ALUXBbY+w51fCQDN+7EdxNBsY= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -875,8 +902,9 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1103,18 +1131,21 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= +google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc= +gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa3CI79GS0ol3YnhVnKP89i0kNg= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1143,8 +1174,6 @@ howett.net/plist v1.0.0 h1:7CrbWYbPPO/PyNy38b2EB/+gYbjCe2DXBxgtOOZbSQM= howett.net/plist v1.0.0/go.mod h1:lqaXoTrLY4hg8tnEzNru53gicrbv7rrk+2xJA/7hw9g= nhooyr.io/websocket v1.8.2 h1:LwdzfyyOZKtVFoXay6A39Acu03KmidSZ3YUUvPa13PA= nhooyr.io/websocket v1.8.2/go.mod h1:LiqdCg1Cu7TPWxEvPjPa0TGYxCsy4pHNTN9gGluwBpQ= -periph.io/x/periph v3.6.8+incompatible h1:lki0ie6wHtvlilXhIkabdCUQMpb5QN4Fx33yNQdqnaA= -periph.io/x/periph v3.6.8+incompatible/go.mod h1:EWr+FCIU2dBWz5/wSWeiIUJTriYv9v2j2ENBmgYyy7Y= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= diff --git a/internal/vpn/os_server.go b/internal/vpn/os_server.go index b334e7c632..ee509bb7ef 100644 --- a/internal/vpn/os_server.go +++ b/internal/vpn/os_server.go @@ -18,7 +18,7 @@ func GetIPTablesForwardPolicy() (string, error) { } // SetIPTablesForwardPolicy sets `policy` for iptables `forward` chain. -func SetIPTablesForwardPolicy(policy string) error { +func SetIPTablesForwardPolicy(policy string) error { //nolint:all return errServerMethodsNotSupported } diff --git a/internal/vpn/os_server_linux.go b/internal/vpn/os_server_linux.go index 8ba4dbdd7b..2b964f5713 100644 --- a/internal/vpn/os_server_linux.go +++ b/internal/vpn/os_server_linux.go @@ -51,14 +51,14 @@ func SetIPTablesForwardAcceptPolicy() error { // AllowIPToLocalNetwork allows all the packets coming from `source` // to private IP ranges. -func AllowIPToLocalNetwork(src, dst net.IP) error { +func AllowIPToLocalNetwork(src, dst net.IP) error { //nolint:all cmd := fmt.Sprintf(allowIPToLocalNetCMDFmt, src, src) return osutil.Run("sh", "-c", cmd) } // BlockIPToLocalNetwork blocks all the packets coming from `source` // to private IP ranges. -func BlockIPToLocalNetwork(src, dst net.IP) error { +func BlockIPToLocalNetwork(src, dst net.IP) error { //nolint:all cmd := fmt.Sprintf(blockIPToLocalNetCMDFmt, src, src) return osutil.Run("sh", "-c", cmd) } diff --git a/mainnet_rules.md b/mainnet_rules.md index ce4932383e..fa6ed3711a 100644 --- a/mainnet_rules.md +++ b/mainnet_rules.md @@ -2,10 +2,14 @@ # Skywire Reward Eligibility Rules -* We are transitioning to new system for rewards, deprecating the skywire whitelist +Notice: the [skywire whitelist](https://whitelist.skycoin.com) is now deprecated. +We have transitioned to a new system with daily reward distribution + * The rules in this article may change at any time, depending on if there are problems * We will attempt to address any issues reported via [@skywire](https://t.me/skywire) Telegram channel +The required minimum Skywire version will be incremented periodically. + #### Table of Contents * [Introduction](#introduction) * [Rules & Requirements](#rules--requirements) @@ -22,31 +26,64 @@ All information about rewards will be published here. Please ask for clarification in the [@skywire](https://t.me/skywire) Telegram channel if some things appear to not be covered. Join [@SkywirePSA](https://t.me/SkywirePSA) for public service announcements (PSA) regarding the skywire network. -Reward notifications will happen via the skychat app, which is included with the skywire release (PENDING IMPLEMENTATION) +Reward distribution notifications are on telegram [@skywire_reward](https://t.me/skywire_reward). + +# Uptime Reward Pool +408000 Skycoin are distributed annually to those visors which meet the mimimum uptime and the other requirements listed below + +A total of up to ~1117.808 Skycoin are distributed daily; evenly divided among those eligible participants on the basis of having met uptime for the previous day. ## Rules & Requirements -* Up to 8 (eight) visors may receive rewards per location (ip address) -* 75% uptime is required to be eligible to receive rewards -* A valid skycoin address must be set for the visor -* The visor must be running on approved [hardware](#hardware) -* the visor responds to intermittent pings (i.e. it's possible to establish transports to that visor) +* **Minimum skywire version v1.3.8** - Cutoff July 1st 2023 + +* The visor must be an **ARM architecture SBC running on approved [hardware](#hardware)** + +* Visors must be running on **[the skywire production deployment](https://conf.skywire.skycoin.com)** + +* **Up to 8 (eight) visors may each receive 1 reward share per location (ip address)** + +* **75% uptime per day** is required to be eligible to receive rewards + +* **A valid skycoin address** must be set for the visor + +* The visor must be **connected to the DMSG network** + +* **Transports can be established to the visor** + +* **The visor responds to pings** - needed for latency-based rewards +* **The visor produces transport bandwidth logs** - needed for bandwidth-based rewards -## Rewards -**The new reward system requires Skywire v1.3.4** +## Verifying Requirements & Eligibility -Requirement established 2-11-2023 +### Version -Rewards Cutoff date for updating 4-1-2023 +View the version of skywire you are running with: +``` +skywire-cli -v +skywire-visor -v +``` + +**The new reward system requires Skywire v1.3.8** +Requirement established 5-25-2023 +Rewards Cutoff date for updating 7-1-2023 -The required minimal Skywire version will be incremented periodically. +### Deployment -In the event of changes to the survey decryption key, it will be required to update in order to change the reward address +The deployment your visor is running on can be verified by comparing the services configured in the visor's .json config against [conf.skywire.skycoin.com](https://conf.skywire.skycoin.com) +It will be automatically updated any time a config is generated or regenerated. -The rewards in the new system will be **paid daily or weekly** +### Uptime + +Daily uptime statistics for all visors may be accessed via the +- [uptime tracker](https://ut.skywire.skycoin.com/uptimes?v=v2) +or using skywire-cli +- `skywire-cli ut -n0 -k ` + +### Skycoin Address The skycoin address to be rewarded can be set from the cli: @@ -63,24 +100,47 @@ or via the hypervisor UI. the example above shows the genesis address for the skycoin blockchain. **Please do not use the genesis address.** -### How it works +### Connection to DMSG network + +The connection to the dmsg network can be verified either from the hypervisor UI or with skywire-cli: +``` +$ skywire-cli visor info +.:: Visor Summary ::. +Public key: "03a3f9a0dd913bacd277aa35f2e0c36796812d3f26aa3911a07929e51122bd57bd" +Symmetric NAT: false +IP: 192.168.0.2 +DMSG Server: "0371ab4bcff7b121f4b91f6856d6740c6f9dc1fe716977850aeb5d84378b300a13" +Ping: "437.930335ms" +Visor Version: unknown +Skybian Version: +Uptime Tracker: healthy +Time Online: 50981.176843 seconds +Build Tag: +``` +**If the public key of the DMSG Server is all zeros the visor is not connectedto any DMSG server** + +If the situaton persists, please reach out to us on telegram [@skywire](https://t.me/skywire) + +### Verifying other requirements + +If the visor is not able to meet the other requirements, that is usually not the fault of the user nor is it something the user is expected to troubleshoot at this time. + -The skycoin reward address is set per the visor via the cli or the hypervisor, in a text file contained in the "local" folder (local_path in the skywire config file). This address is written into the [system survey](https://github.com/skycoin/skywire/tree/develop/cmd/skywire-cli#survey) and served, along with transport logs, via dmsghttp. +## Reward System overview -This survey will be fetched on a daily basis with [`dmsgget`](https://github.com/skycoin/dmsg/tree/develop/cmd/dmsgget), along with the transport logs, and checked to verify hardware and other requirements, etc. The transport logs from both ends of any given transport are compared and verified. +The skycoin reward address may be set for each visor using skywire-cli or for all visors connected to a hypervisor from the hypervisor UI -The system survey is encrypted to the public key of the package maintainer, this key is present in the skywire github repository and is included with any future release +The skycoin reward address is in a text file contained in the "local" folder (local_path in the skywire config file) i.e `local/reward.txt`. -### Reward tiers +The skycoin reward address is also included with the [system survey](https://github.com/skycoin/skywire/tree/develop/cmd/skywire-cli#survey) and served, along with transport logs, via dmsghttp. -There are three tiers for rewards. +The system survey is fetched hourly with `skywire-cli log`; along with transport bandwidth logs. -* **TIER 3** The lowest tier is distributed to all nodes which meet the basic requirements. +Once collected from the nodes, the surveys for those visors which met uptime are checked to verify hardware and other requirements, etc. -Other tiers are based on bandwidth which was handled by the visor. Meaning the logs from each end of the transport were fetched and agree +The system survey is only made available to those keys which are whitelisted for survey collection, but is additionally available to any hypervisor or dmsgpty_whitelist keys set inthe config for a given visor. -* **TIER 2** If the visor processed **any** verifiable bandwidth, the visor will have earned the rewards of the second tier plus those of the lowest tier. -* **TIER 1** If the visor processed above the average amount of bandwidth, it will receive first tier rewards, in addition to the lowest tier. +The public keys which require to be whitelisted in order to collect the surveys, for the purpose of reward eligibility verification, should populate in the visor's config automatically when the config is generated with visors of at least version 1.3.8. ## Hardware diff --git a/pkg/app/appcommon/log_store.go b/pkg/app/appcommon/log_store.go index 8b7f8af8df..88b732c922 100644 --- a/pkg/app/appcommon/log_store.go +++ b/pkg/app/appcommon/log_store.go @@ -38,7 +38,7 @@ func NewProcLogger(conf ProcConfig, mLog *logging.MasterLogger) (log *logging.Ma // TimestampFromLog is an utility function for retrieving the timestamp from a log. This function should be modified // if the time layout is changed func TimestampFromLog(log string) string { - return log[1 : 1+len(timeLayout)] + return strings.Split(log[1:1+len(timeLayout)], "]")[0] } // LogStore stores logs from apps, for later consumption from the hypervisor @@ -215,8 +215,7 @@ func (l *bBoltLogStore) Fire(entry *log.Entry) error { }() // time in RFC3339Nano is between the bytes 1 and 36. This will change if other time layout is in use - t := p[1 : 1+len(timeLayout)] - + t := strings.Split(str[1:1+len(timeLayout)], "]")[0] err = db.Update(func(tx *bbolt.Tx) error { b := tx.Bucket(l.bucket) return b.Put([]byte(t), []byte(str)) diff --git a/pkg/app/appcommon/proc_config.go b/pkg/app/appcommon/proc_config.go index 23cdb0014c..fa7e1ee52c 100644 --- a/pkg/app/appcommon/proc_config.go +++ b/pkg/app/appcommon/proc_config.go @@ -70,16 +70,17 @@ type ProcID uint16 // ProcConfig defines configuration parameters for `Proc`. type ProcConfig struct { - AppName string `json:"app_name"` - AppSrvAddr string `json:"app_server_addr"` - ProcKey ProcKey `json:"proc_key"` - ProcArgs []string `json:"proc_args"` - ProcEnvs []string `json:"proc_envs"` // Additional env variables. Will be overwritten if they conflict with skywire-app specific envs. - ProcWorkDir string `json:"proc_work_dir"` - VisorPK cipher.PubKey `json:"visor_pk"` - RoutingPort routing.Port `json:"routing_port"` - BinaryLoc string `json:"binary_loc"` - LogDBLoc string `json:"log_db_loc"` + AppName string `json:"app_name"` + AppSrvAddr string `json:"app_server_addr"` + ProcKey ProcKey `json:"proc_key"` + ProcArgs []string `json:"proc_args"` + ProcEnvs []string `json:"proc_envs"` // Additional env variables. Will be overwritten if they conflict with skywire-app specific envs. + ProcWorkDir string `json:"proc_work_dir"` + VisorPK cipher.PubKey `json:"visor_pk"` + RoutingPort routing.Port `json:"routing_port"` + BinaryLoc string `json:"binary_loc"` + LogDBLoc string `json:"log_db_loc"` + LogStorePath string `json:"log_store_path"` } // ProcConfigFromEnv obtains a ProcConfig from the associated env variable, returning an error if any. diff --git a/pkg/app/appevent/utils.go b/pkg/app/appevent/utils.go index 864f58fb8b..9997c1fb80 100644 --- a/pkg/app/appevent/utils.go +++ b/pkg/app/appevent/utils.go @@ -4,14 +4,14 @@ package appevent import "context" // SendTCPDial sends tcp dial event -func (eb *Broadcaster) SendTCPDial(ctx context.Context, remoteNet, remoteAddr string) { +func (eb *Broadcaster) SendTCPDial(ctx context.Context, remoteNet, remoteAddr string) { //nolint:all data := TCPDialData{RemoteNet: remoteNet, RemoteAddr: remoteAddr} event := NewEvent(TCPDial, data) eb.sendEvent(ctx, event) } // SendTPClose sends transport close event -func (eb *Broadcaster) SendTPClose(ctx context.Context, netType, addr string) { +func (eb *Broadcaster) SendTPClose(ctx context.Context, netType, addr string) { //nolint:all data := TCPCloseData{RemoteNet: string(netType), RemoteAddr: addr} event := NewEvent(TCPClose, data) if err := eb.Broadcast(context.Background(), event); err != nil { @@ -19,7 +19,7 @@ func (eb *Broadcaster) SendTPClose(ctx context.Context, netType, addr string) { } } -func (eb *Broadcaster) sendEvent(_ context.Context, event *Event) { +func (eb *Broadcaster) sendEvent(ctx context.Context, event *Event) { //nolint:all err := eb.Broadcast(context.Background(), event) //nolint:errcheck if err != nil { eb.log.Warn("Failed to broadcast event: %v", event) diff --git a/pkg/app/appnet/dmsg_networker.go b/pkg/app/appnet/dmsg_networker.go index b572002ef0..2c2a365fb8 100644 --- a/pkg/app/appnet/dmsg_networker.go +++ b/pkg/app/appnet/dmsg_networker.go @@ -29,7 +29,7 @@ func (n *DmsgNetworker) Dial(addr Addr) (net.Conn, error) { } // Ping dials remote `addr` via dmsg network. -func (n *DmsgNetworker) Ping(pk cipher.PubKey, addr Addr) (net.Conn, error) { +func (n *DmsgNetworker) Ping(pk cipher.PubKey, addr Addr) (net.Conn, error) { //nolint:all return nil, fmt.Errorf("Ping not available on dmsg network") } diff --git a/pkg/app/appserver/proc.go b/pkg/app/appserver/proc.go index 79e982f87a..cd6d0d0b08 100644 --- a/pkg/app/appserver/proc.go +++ b/pkg/app/appserver/proc.go @@ -16,6 +16,7 @@ import ( "time" ipc "github.com/james-barrow/golang-ipc" + "github.com/orandin/lumberjackrus" "github.com/sirupsen/logrus" "github.com/skycoin/skywire-utilities/pkg/logging" @@ -80,7 +81,7 @@ type Proc struct { // NewProc constructs `Proc`. func NewProc(mLog *logging.MasterLogger, conf appcommon.ProcConfig, disc appdisc.Updater, m ProcManager, - appName string) *Proc { + appName, logStorePath string) *Proc { if mLog == nil { mLog = logging.NewMasterLogger() } @@ -96,8 +97,14 @@ func NewProc(mLog *logging.MasterLogger, conf appcommon.ProcConfig, disc appdisc var appLogDB appcommon.LogStore var appLog *logging.MasterLogger var stderr io.ReadCloser + procLogger := mLog if conf.LogDBLoc != "" { appLog, appLogDB = appcommon.NewProcLogger(conf, mLog) + procLogger = appLog + if logStorePath != "" { + storeLog(appLog, logStorePath) + } + cmd.Stdout = appLog.WithField("_module", moduleName).WithField("func", "(STDOUT)").WriterLevel(logrus.DebugLevel) // we read the Stderr pipe in order to filter some false positive app errors @@ -109,7 +116,7 @@ func NewProc(mLog *logging.MasterLogger, conf appcommon.ProcConfig, disc appdisc p := &Proc{ disc: disc, conf: conf, - log: mLog.PackageLogger(moduleName), + log: procLogger.PackageLogger(moduleName), logDB: appLogDB, cmd: cmd, connCh: make(chan struct{}, 1), @@ -468,3 +475,73 @@ func (p *Proc) ConnectionsSummary() []ConnectionSummary { return summaries } + +func storeLog(log *logging.MasterLogger, localPath string) { + hook, _ := lumberjackrus.NewHook( //nolint + &lumberjackrus.LogFile{ + Filename: localPath + "/log/skywire.log", + MaxSize: 1, + MaxBackups: 1, + MaxAge: 1, + Compress: false, + LocalTime: false, + }, + logrus.TraceLevel, + &logging.TextFormatter{ + DisableColors: true, + FullTimestamp: true, + ForceFormatting: true, + }, + &lumberjackrus.LogFileOpts{ + logrus.InfoLevel: &lumberjackrus.LogFile{ + Filename: localPath + "/log/skywire.log", + MaxSize: 1, + MaxBackups: 1, + MaxAge: 1, + Compress: false, + LocalTime: false, + }, + logrus.WarnLevel: &lumberjackrus.LogFile{ + Filename: localPath + "/log/skywire.log", + MaxSize: 1, + MaxBackups: 1, + MaxAge: 1, + Compress: false, + LocalTime: false, + }, + logrus.TraceLevel: &lumberjackrus.LogFile{ + Filename: localPath + "/log/skywire.log", + MaxSize: 1, + MaxBackups: 1, + MaxAge: 1, + Compress: false, + LocalTime: false, + }, + logrus.ErrorLevel: &lumberjackrus.LogFile{ + Filename: localPath + "/log/skywire.log", + MaxSize: 1, + MaxBackups: 1, + MaxAge: 1, + Compress: false, + LocalTime: false, + }, + logrus.DebugLevel: &lumberjackrus.LogFile{ + Filename: localPath + "/log/skywire.log", + MaxSize: 1, + MaxBackups: 1, + MaxAge: 1, + Compress: false, + LocalTime: false, + }, + logrus.FatalLevel: &lumberjackrus.LogFile{ + Filename: localPath + "/log/skywire.log", + MaxSize: 1, + MaxBackups: 1, + MaxAge: 1, + Compress: false, + LocalTime: false, + }, + }, + ) + log.Hooks.Add(hook) +} diff --git a/pkg/app/appserver/proc_manager.go b/pkg/app/appserver/proc_manager.go index efeab9038a..357dde3bb5 100644 --- a/pkg/app/appserver/proc_manager.go +++ b/pkg/app/appserver/proc_manager.go @@ -73,10 +73,12 @@ type procManager struct { mx sync.RWMutex done chan struct{} + + logStorePath string } // NewProcManager constructs `ProcManager`. -func NewProcManager(mLog *logging.MasterLogger, discF *appdisc.Factory, eb *appevent.Broadcaster, addr string) (ProcManager, error) { +func NewProcManager(mLog *logging.MasterLogger, discF *appdisc.Factory, eb *appevent.Broadcaster, addr, logStorePath string) (ProcManager, error) { if mLog == nil { mLog = logging.NewMasterLogger() } @@ -93,16 +95,17 @@ func NewProcManager(mLog *logging.MasterLogger, discF *appdisc.Factory, eb *appe } procM := &procManager{ - mLog: mLog, - log: mLog.PackageLogger("proc_manager"), - lis: lis, - conns: make(map[string]net.Conn), - discF: discF, - procs: make(map[string]*Proc), - procsByKey: make(map[appcommon.ProcKey]*Proc), - errors: make(map[string]string), - eb: eb, - done: make(chan struct{}), + mLog: mLog, + log: mLog.PackageLogger("proc_manager"), + lis: lis, + conns: make(map[string]net.Conn), + discF: discF, + procs: make(map[string]*Proc), + procsByKey: make(map[appcommon.ProcKey]*Proc), + errors: make(map[string]string), + eb: eb, + done: make(chan struct{}), + logStorePath: logStorePath, } procM.connsWG.Add(1) @@ -207,7 +210,7 @@ func (m *procManager) Start(conf appcommon.ProcConfig) (appcommon.ProcID, error) Debug("No app discovery associated with app.") } - proc := NewProc(m.mLog, conf, disc, m, conf.AppName) + proc := NewProc(nil, conf, disc, m, conf.AppName, m.logStorePath) m.procs[conf.AppName] = proc m.procsByKey[conf.ProcKey] = proc @@ -253,7 +256,7 @@ func (m *procManager) Register(conf appcommon.ProcConfig) (appcommon.ProcKey, er Debug("No app discovery associated with app.") } - proc := NewProc(m.mLog, conf, disc, m, conf.AppName) + proc := NewProc(nil, conf, disc, m, conf.AppName, m.logStorePath) m.procs[conf.AppName] = proc m.procsByKey[conf.ProcKey] = proc go func() { diff --git a/pkg/app/appserver/proc_manager_test.go b/pkg/app/appserver/proc_manager_test.go index dae0e1bf28..5aeefa507d 100644 --- a/pkg/app/appserver/proc_manager_test.go +++ b/pkg/app/appserver/proc_manager_test.go @@ -12,7 +12,7 @@ import ( ) func TestProcManager_ProcByName(t *testing.T) { - mI, err := NewProcManager(nil, nil, nil, ":0") + mI, err := NewProcManager(nil, nil, nil, ":0", "") require.NoError(t, err) m, ok := mI.(*procManager) @@ -32,7 +32,7 @@ func TestProcManager_ProcByName(t *testing.T) { } func TestProcManager_Range(t *testing.T) { - mI, err := NewProcManager(nil, nil, nil, ":0") + mI, err := NewProcManager(nil, nil, nil, ":0", "") require.NoError(t, err) m, ok := mI.(*procManager) @@ -61,7 +61,7 @@ func TestProcManager_Range(t *testing.T) { } func TestProcManager_Pop(t *testing.T) { - mI, err := NewProcManager(nil, nil, nil, ":0") + mI, err := NewProcManager(nil, nil, nil, ":0", "") require.NoError(t, err) m, ok := mI.(*procManager) @@ -84,7 +84,7 @@ func TestProcManager_Pop(t *testing.T) { } func TestProcManager_SetDetailedStatus(t *testing.T) { - mI, err := NewProcManager(nil, nil, nil, ":0") + mI, err := NewProcManager(nil, nil, nil, ":0", "") require.NoError(t, err) m, ok := mI.(*procManager) @@ -109,7 +109,7 @@ func TestProcManager_SetDetailedStatus(t *testing.T) { } func TestProcManager_DetailedStatus(t *testing.T) { - mI, err := NewProcManager(nil, nil, nil, ":0") + mI, err := NewProcManager(nil, nil, nil, ":0", "") require.NoError(t, err) m, ok := mI.(*procManager) @@ -132,7 +132,7 @@ func TestProcManager_DetailedStatus(t *testing.T) { } func TestProcManager_RegisterAndDeregister(t *testing.T) { - mI, err := NewProcManager(nil, nil, nil, ":0") + mI, err := NewProcManager(nil, nil, nil, ":0", "") require.NoError(t, err) m, ok := mI.(*procManager) diff --git a/pkg/router/setupclient.go b/pkg/router/setupclient.go index 3288c3f7c0..f795fb2048 100644 --- a/pkg/router/setupclient.go +++ b/pkg/router/setupclient.go @@ -15,7 +15,7 @@ import ( "github.com/skycoin/skywire/pkg/skyenv" ) -const rpcName = "RPCGateway" +const rpcName = "SetupRPCGateway" // ErrSetupNode is used when the visor is unable to connect to a setup node var ErrSetupNode = errors.New("failed to dial to a setup node") diff --git a/pkg/skyenv/skyenv.go b/pkg/skyenv/skyenv.go index 4be52f5222..2ce8e906bd 100644 --- a/pkg/skyenv/skyenv.go +++ b/pkg/skyenv/skyenv.go @@ -10,8 +10,6 @@ const ( ConfigName = "skywire-config.json" // DMSGHTTPName is the default dmsghttp config name DMSGHTTPName = "dmsghttp-config.json" - // SkycoinKeyName is the default skycoin key file name - SkycoinKeyName = "skycoin.asc" // Dmsg port constants. // TODO(evanlinjin): Define these properly. These are currently random. @@ -109,14 +107,21 @@ const ( // NodeInfo is the name of the survey file NodeInfo string = "node-info.json" - - // NodeInfoSha256 is the name of the survey checksum file - NodeInfoSha256 string = "node-info.sha" ) +// SkywireConfig returns the full path to the package config +func SkywireConfig() string { + return SkywirePath + "/" + ConfigJSON +} + +// SkyEnvs returns the full path to the environmental variable file +func SkyEnvs() string { + return SkyenvFilePath + "/" + SkyenvFile +} + // PkgConfig struct contains paths specific to the installation type PkgConfig struct { - LauncherBinPath `json:"launcher"` + LauncherBinPath string `json:"launcher"` LocalPath string `json:"local_path"` Hypervisor `json:"hypervisor"` // TLSCertFile string `json:"tls_cert_file"` diff --git a/pkg/skyenv/skyenv_darwin.go b/pkg/skyenv/skyenv_darwin.go new file mode 100644 index 0000000000..7517a32bfe --- /dev/null +++ b/pkg/skyenv/skyenv_darwin.go @@ -0,0 +1,34 @@ +//go:build darwin +// +build darwin + +// Package skyenv defines variables and constants +package skyenv + +const ( + //OS detection at runtime + OS = "mac" + // SkywirePath is the path to the installation folder. + SkywirePath = "/Library/Application Support/Skywire" + // ConfigJSON is the config name generated by the script included with the installation on mac + ConfigJSON = "skywire-config.json" + + //TODO: @mrpalide set this correctly for macos. it shouldn't be in the installed path + + // SkyenvFilePath is the path to the SkyenvFile + SkyenvFilePath = "/Library/Application Support/Skywire" + // SkyenvFile contains environmental variables which are detected by `skywire-autoconfig` / `skywire-cli config auto` to set default or persistent values + SkyenvFile = "skyenv.sh" +) + +// PackageConfig contains installation paths (for mac) +func PackageConfig() PkgConfig { + pkgConfig := PkgConfig{ + LauncherBinPath: "/Applications/Skywire.app/Contents/MacOS/apps", + LocalPath: "/Library/Application Support/Skywire/local", + Hypervisor: Hypervisor{ + DbPath: "/Library/Application Support/Skywire/users.db", + EnableAuth: true, + }, + } + return pkgConfig +} diff --git a/pkg/skyenv/skyenv_linux.go b/pkg/skyenv/skyenv_linux.go new file mode 100644 index 0000000000..a352aaeea6 --- /dev/null +++ b/pkg/skyenv/skyenv_linux.go @@ -0,0 +1,31 @@ +//go:build linux +// +build linux + +// Package skyenv defines variables and constants +package skyenv + +const ( + //OS detection at runtime + OS = "linux" + // SkywirePath is the path to the installation folder for the linux packages. + SkywirePath = "/opt/skywire" + // ConfigJSON is the config name generated by the skywire-autocofig script in the linux packages + ConfigJSON = "skywire.json" + // SkyenvFilePath is the path to the SkyenvFile + SkyenvFilePath = "/etc/profile.d" + // SkyenvFile contains environmental variables which are detected by `skywire-autoconfig` / `skywire-cli config auto` to set default or persistent values + SkyenvFile = "skyenv.sh" +) + +// PackageConfig contains installation paths (for linux) +func PackageConfig() PkgConfig { + pkgConfig := PkgConfig{ + LauncherBinPath: "/opt/skywire/apps", + LocalPath: "/opt/skywire/local", + Hypervisor: Hypervisor{ + DbPath: "/opt/skywire/users.db", + EnableAuth: true, + }, + } + return pkgConfig +} diff --git a/pkg/skyenv/skyenv_windows.go b/pkg/skyenv/skyenv_windows.go new file mode 100644 index 0000000000..8ac6adf91f --- /dev/null +++ b/pkg/skyenv/skyenv_windows.go @@ -0,0 +1,34 @@ +//go:build windows +// +build windows + +// Package skyenv defines variables and constants +package skyenv + +const ( + //OS detection at runtime + OS = "win" + // SkywirePath is the path to the installation folder for the .msi + SkywirePath = "C:/Program Files/Skywire" + // ConfigJSON is the config name generated by the batch file included with the windows .msi + ConfigJSON = "skywire-config.json" + + //TODO: @mrpalide set this correctly for windows. it shouldn't be in the installed path + + // SkyenvFilePath is the path to the SkyenvFile + SkyenvFilePath = "C:/Program Files/Skywire" + // SkyenvFile contains environmental variables which are detected by `skywire-autoconfig` / `skywire-cli config auto` to set default or persistent values + SkyenvFile = "skyenv.bat" +) + +// PackageConfig contains installation paths (for windows) +func PackageConfig() PkgConfig { + pkgConfig := PkgConfig{ + LauncherBinPath: "C:/Program Files/Skywire/apps", + LocalPath: "C:/Program Files/Skywire/local", + Hypervisor: Hypervisor{ + DbPath: "C:/Program Files/Skywire/users.db", + EnableAuth: true, + }, + } + return pkgConfig +} diff --git a/pkg/transport/discovery.go b/pkg/transport/discovery.go index 6dd05c7880..aaf93df3c0 100644 --- a/pkg/transport/discovery.go +++ b/pkg/transport/discovery.go @@ -30,7 +30,7 @@ func NewDiscoveryMock() DiscoveryClient { return &mockDiscoveryClient{entries: map[uuid.UUID]Entry{}} } -func (td *mockDiscoveryClient) RegisterTransports(ctx context.Context, entries ...*SignedEntry) error { +func (td *mockDiscoveryClient) RegisterTransports(ctx context.Context, entries ...*SignedEntry) error { //nolint:all td.Lock() for _, entry := range entries { td.entries[entry.Entry.ID] = *entry.Entry @@ -40,7 +40,7 @@ func (td *mockDiscoveryClient) RegisterTransports(ctx context.Context, entries . return nil } -func (td *mockDiscoveryClient) GetTransportByID(ctx context.Context, id uuid.UUID) (*Entry, error) { +func (td *mockDiscoveryClient) GetTransportByID(ctx context.Context, id uuid.UUID) (*Entry, error) { //nolint:all td.Lock() entry, ok := td.entries[id] td.Unlock() @@ -57,7 +57,7 @@ func (td *mockDiscoveryClient) GetTransportByID(ctx context.Context, id uuid.UUI }, nil } -func (td *mockDiscoveryClient) GetTransportsByEdge(ctx context.Context, pk cipher.PubKey) ([]*Entry, error) { +func (td *mockDiscoveryClient) GetTransportsByEdge(ctx context.Context, pk cipher.PubKey) ([]*Entry, error) { //nolint:all td.Lock() res := make([]*Entry, 0) for _, entry := range td.entries { @@ -78,7 +78,7 @@ func (td *mockDiscoveryClient) GetTransportsByEdge(ctx context.Context, pk ciphe // NOTE that mock implementation doesn't checks whether the transport to be deleted is valid or not, this is, that // it can be deleted by the visor who called DeleteTransport -func (td *mockDiscoveryClient) DeleteTransport(ctx context.Context, id uuid.UUID) error { +func (td *mockDiscoveryClient) DeleteTransport(ctx context.Context, id uuid.UUID) error { //nolint:all td.Lock() defer td.Unlock() diff --git a/pkg/transport/managed_transport.go b/pkg/transport/managed_transport.go index 674742c0f2..22e0d42869 100644 --- a/pkg/transport/managed_transport.go +++ b/pkg/transport/managed_transport.go @@ -360,7 +360,7 @@ func (mt *ManagedTransport) deleteFromDiscovery() error { */ // WritePacket writes a packet to the remote. -func (mt *ManagedTransport) WritePacket(ctx context.Context, packet routing.Packet) error { +func (mt *ManagedTransport) WritePacket(ctx context.Context, packet routing.Packet) error { //nolint:all mt.transportMx.Lock() defer mt.transportMx.Unlock() diff --git a/pkg/transport/manager.go b/pkg/transport/manager.go index cc83f61881..3b5e62a10a 100644 --- a/pkg/transport/manager.go +++ b/pkg/transport/manager.go @@ -84,7 +84,7 @@ func NewManager(log *logging.Logger, arClient addrresolver.APIClient, ebc *appev // InitDmsgClient initilizes the dmsg client and also adds dmsgC to the factory func (tm *Manager) InitDmsgClient(ctx context.Context, dmsgC *dmsg.Client) { tm.factory.DmsgC = dmsgC - tm.InitClient(ctx, network.DMSG) + tm.InitClient(ctx, network.DMSG, 0) } // Serve starts all network clients and starts accepting connections @@ -146,9 +146,8 @@ func (tm *Manager) SetPTpsCache(pTps []PersistentTransports) { } // InitClient initilizes a network client -func (tm *Manager) InitClient(ctx context.Context, netType network.Type) { - - client, err := tm.factory.MakeClient(netType) +func (tm *Manager) InitClient(ctx context.Context, netType network.Type, port int) { + client, err := tm.factory.MakeClient(netType, port) if err != nil { tm.Logger.Warnf("Cannot initialize %s transport client", netType) } diff --git a/pkg/transport/network/addrresolver/client.go b/pkg/transport/network/addrresolver/client.go index 6a9f03c3fb..514e8f1d7e 100644 --- a/pkg/transport/network/addrresolver/client.go +++ b/pkg/transport/network/addrresolver/client.go @@ -211,7 +211,7 @@ type LocalAddresses struct { Addresses []string `json:"addresses"` } -func (c *httpClient) Addresses(ctx context.Context) string { +func (c *httpClient) Addresses(_ context.Context) string { if c.sudphConn != nil { return strings.Split(c.sudphConn.LocalAddr().String(), ":")[3] } diff --git a/pkg/transport/network/client.go b/pkg/transport/network/client.go index 4c75a07848..2742f88db9 100644 --- a/pkg/transport/network/client.go +++ b/pkg/transport/network/client.go @@ -62,7 +62,7 @@ type ClientFactory struct { } // MakeClient creates a new client of specified type -func (f *ClientFactory) MakeClient(netType Type) (Client, error) { +func (f *ClientFactory) MakeClient(netType Type, port int) (Client, error) { log := logging.MustGetLogger(string(netType)) if f.MLogger != nil { log = f.MLogger.PackageLogger(string(netType)) @@ -88,9 +88,9 @@ func (f *ClientFactory) MakeClient(netType Type) (Client, error) { case STCP: return newStcp(generic, f.PKTable), nil case STCPR: - return newStcpr(resolved), nil + return newStcpr(resolved, port), nil case SUDPH: - return newSudph(resolved), nil + return newSudph(resolved, port), nil case DMSG: return newDmsgClient(f.DmsgC), nil } @@ -149,7 +149,7 @@ func (c *genericClient) acceptTransports(lis net.Listener) { c.log.Debugf("listening on addr: %v", c.connListener.Addr()) for { if err := c.acceptTransport(); err != nil { - if errors.Is(err, io.EOF) { + if errors.Is(err, io.EOF) || strings.Contains(err.Error(), "encrypt connection to") { continue // likely it's a dummy connection from service discovery } diff --git a/pkg/transport/network/stcpr.go b/pkg/transport/network/stcpr.go index 7a219a5c77..7186e18c94 100644 --- a/pkg/transport/network/stcpr.go +++ b/pkg/transport/network/stcpr.go @@ -3,6 +3,7 @@ package network import ( "context" + "fmt" "io" "net" @@ -12,10 +13,11 @@ import ( type stcprClient struct { *resolvedClient + port int } -func newStcpr(resolved *resolvedClient) Client { - client := &stcprClient{resolvedClient: resolved} +func newStcpr(resolved *resolvedClient, port int) Client { + client := &stcprClient{resolvedClient: resolved, port: port} client.netType = STCPR return client } @@ -50,10 +52,22 @@ func (c *stcprClient) Start() error { } func (c *stcprClient) serve() { - lis, err := net.Listen("tcp", "") - if err != nil { - c.log.Errorf("Failed to listen on random port: %v", err) - return + var lis net.Listener + var err error + var confPort string + if c.port != 0 { + confPort = fmt.Sprintf(":%d", c.port) + } + for { + lis, err = net.Listen("tcp", confPort) + if err != nil { + c.log.WithError(err).Warnf("Failed to listen on port: %d", c.port) + c.port++ + confPort = fmt.Sprintf(":%d", c.port) + c.log.Warnf("Trying port %d", c.port) + continue + } + break } localAddr := lis.Addr().String() diff --git a/pkg/transport/network/sudph.go b/pkg/transport/network/sudph.go index 4f3d39eff4..e03785e96e 100644 --- a/pkg/transport/network/sudph.go +++ b/pkg/transport/network/sudph.go @@ -30,10 +30,11 @@ const ( type sudphClient struct { *resolvedClient filter *pfilter.PacketFilter + port int } -func newSudph(resolved *resolvedClient) Client { - client := &sudphClient{resolvedClient: resolved} +func newSudph(resolved *resolvedClient, port int) Client { + client := &sudphClient{resolvedClient: resolved, port: port} client.netType = SUDPH return client } @@ -50,7 +51,7 @@ func (c *sudphClient) Start() error { func (c *sudphClient) serve() { lis, err := c.listen() if err != nil { - c.log.Errorf("Failed to listen on random port: %v", err) + c.log.Errorf("Failed to listen on port: %v", err) return } c.acceptTransports(lis) @@ -58,9 +59,22 @@ func (c *sudphClient) serve() { // listen func (c *sudphClient) listen() (net.Listener, error) { - packetListener, err := net.ListenPacket("udp", "") - if err != nil { - return nil, err + var packetListener net.PacketConn + var err error + var confPort string + if c.port != 0 { + confPort = fmt.Sprintf(":%d", c.port) + } + for { + packetListener, err = net.ListenPacket("udp", confPort) + if err != nil { + c.log.WithError(err).Warnf("Failed to listen on port: %d", c.port) + c.port++ + confPort = fmt.Sprintf(":%d", c.port) + c.log.Warnf("Trying port %d", c.port) + continue + } + break } c.filter = pfilter.NewPacketFilter(packetListener) sudphVisorsConn := c.filter.NewConn(visorsConnPriority, nil) diff --git a/pkg/visor/api.go b/pkg/visor/api.go index 95fa3bb4cc..5a1d88084b 100644 --- a/pkg/visor/api.go +++ b/pkg/visor/api.go @@ -89,6 +89,7 @@ type API interface { //skysocks-client controls StartSkysocksClient(pk string) error StopSkysocksClient() error + ProxyServers(version, country string) ([]servicedisc.Service, error) //transports TransportTypes() ([]string, error) @@ -361,7 +362,7 @@ func (v *Visor) SetRewardAddress(p string) (string, error) { return p, fmt.Errorf("failed to write config to file. err=%v", err) } // generate survey after set/update reward address - visorconfig.GenerateSurvey(v.conf, v.log, false, v.rawSurvey) + visorconfig.GenerateSurvey(v.conf, v.log, false) return p, nil } @@ -916,6 +917,27 @@ func (v *Visor) VPNServers(version, country string) ([]servicedisc.Service, erro return vpnServers, nil } +// ProxyServers gets available public VPN server from service discovery URL +func (v *Visor) ProxyServers(version, country string) ([]servicedisc.Service, error) { + log := logging.MustGetLogger("proxyservers") + vLog := logging.NewMasterLogger() + vLog.SetLevel(logrus.InfoLevel) + + sdClient := servicedisc.NewClient(log, vLog, servicedisc.Config{ + Type: servicedisc.ServiceTypeProxy, + PK: v.conf.PK, + SK: v.conf.SK, + DiscAddr: v.conf.Launcher.ServiceDisc, + DisplayNodeIP: v.conf.Launcher.DisplayNodeIP, + }, &http.Client{Timeout: time.Duration(20) * time.Second}, "") + proxyServers, err := sdClient.Services(context.Background(), 0, version, country) + if err != nil { + v.log.Error("Error getting public vpn servers: ", err) + return nil, err + } + return proxyServers, nil +} + // PublicVisors gets available public public visors from service discovery URL func (v *Visor) PublicVisors(version, country string) ([]servicedisc.Service, error) { log := logging.MustGetLogger("public_visors") diff --git a/pkg/visor/cmd.go b/pkg/visor/cmd.go index 50da50d396..97650c04cf 100644 --- a/pkg/visor/cmd.go +++ b/pkg/visor/cmd.go @@ -54,7 +54,8 @@ var ( // visorBuildInfo holds information about the build visorBuildInfo *buildinfo.Info dmsgServer string - rawSurvey bool + isStoreLog bool + isForceColor bool ) func init() { @@ -115,7 +116,6 @@ func init() { hiddenflags = append(hiddenflags, "hv") RootCmd.Flags().BoolVarP(&disableHypervisorPKs, "xhv", "k", false, "disable remote hypervisors \u001b[0m*") hiddenflags = append(hiddenflags, "xhv") - // initAutoPeerFlags() RootCmd.Flags().StringVarP(&logLvl, "loglvl", "s", "", "[ debug | warn | error | fatal | panic | trace ] \u001b[0m*") hiddenflags = append(hiddenflags, "loglvl") RootCmd.Flags().StringVarP(&pprofMode, "pprofmode", "q", "", "[ cpu | mem | mutex | block | trace | http ]") @@ -128,10 +128,11 @@ func init() { hiddenflags = append(hiddenflags, "syslog") RootCmd.Flags().StringVarP(&completion, "completion", "z", "", "[ bash | zsh | fish | powershell ]") hiddenflags = append(hiddenflags, "completion") - RootCmd.Flags().BoolVar(&rawSurvey, "raw-survey", false, "survey will generate and store decrypted if pass this flag") - hiddenflags = append(hiddenflags, "raw-survey") + RootCmd.Flags().BoolVarP(&isStoreLog, "storelog", "l", false, "store all logs to file") + hiddenflags = append(hiddenflags, "storelog") + RootCmd.Flags().BoolVar(&isForceColor, "forcecolor", false, "force color logging when out is not STDOUT") + hiddenflags = append(hiddenflags, "forcecolor") RootCmd.Flags().BoolVar(&all, "all", false, "show all flags") - for _, j := range hiddenflags { RootCmd.Flags().MarkHidden(j) //nolint } @@ -139,36 +140,9 @@ func init() { } -//omit due to possible panic -/* -func initAutoPeerFlags() { - localIPs, err := netutil.DefaultNetworkInterfaceIPs() - if err != nil { - logger.WithError(err).Warn("Could not determine network interface IP address") - if len(localIPs) == 0 { - localIPs = append(localIPs, net.ParseIP("192.168.0.1")) - } - } - RootCmd.Flags().StringVarP(&autoPeerIP, "hvip", "l", trimStringFromDot(localIPs[0].String())+".2:7998", "set hypervisor by ip") - hiddenflags = append(hiddenflags, "hvip") - isDefaultAutopeer := false - if os.Getenv("AUTOPEER") == "1" { - isDefaultAutopeer = true - } - RootCmd.Flags().BoolVarP(&isAutoPeer, "autopeer", "m", isDefaultAutopeer, "enable autopeering to remote hypervisor") - hiddenflags = append(hiddenflags, "autopeer") -} -func trimStringFromDot(s string) string { - if idx := strings.LastIndex(s, "."); idx != -1 { - return s[:idx] - } - return s -} -*/ - // RootCmd contains the help command & invocation flags var RootCmd = &cobra.Command{ - Use: "skywire-visor", + Use: "visor", Short: "Skywire Visor", Long: ` ┌─┐┬┌─┬ ┬┬ ┬┬┬─┐┌─┐ diff --git a/pkg/visor/init.go b/pkg/visor/init.go index 159448e66d..3e060322c7 100644 --- a/pkg/visor/init.go +++ b/pkg/visor/init.go @@ -9,6 +9,7 @@ import ( "errors" "fmt" "io" + "mime" "net" "net/http" "os" @@ -191,7 +192,7 @@ func initVisorConfig(ctx context.Context, v *Visor, log *logging.Logger) error { } */ -func initDmsgHTTP(ctx context.Context, v *Visor, log *logging.Logger) error { +func initDmsgHTTP(ctx context.Context, v *Visor, log *logging.Logger) error { //nolint:all var keys cipher.PubKeys servers := v.conf.Dmsg.Servers @@ -225,7 +226,7 @@ func initDmsgHTTP(ctx context.Context, v *Visor, log *logging.Logger) error { return nil } -func initEventBroadcaster(ctx context.Context, v *Visor, log *logging.Logger) error { +func initEventBroadcaster(ctx context.Context, v *Visor, log *logging.Logger) error { //nolint:all const ebcTimeout = time.Second ebc := appevent.NewBroadcaster(log, ebcTimeout) v.pushCloseStack("event_broadcaster", ebc.Close) @@ -269,7 +270,7 @@ func initAddressResolver(ctx context.Context, v *Visor, log *logging.Logger) err return nil } -func initDiscovery(ctx context.Context, v *Visor, log *logging.Logger) error { +func initDiscovery(ctx context.Context, v *Visor, log *logging.Logger) error { //nolint:all // Prepare app discovery factory. factory := appdisc.Factory{ Log: v.MasterLogger().PackageLogger("app_discovery"), @@ -303,7 +304,7 @@ func initDiscovery(ctx context.Context, v *Visor, log *logging.Logger) error { return nil } -func initStunClient(ctx context.Context, v *Visor, log *logging.Logger) error { +func initStunClient(ctx context.Context, v *Visor, log *logging.Logger) error { //nolint:all sc := network.GetStunDetails(v.conf.StunServers, log) v.initLock.Lock() @@ -313,7 +314,7 @@ func initStunClient(ctx context.Context, v *Visor, log *logging.Logger) error { return nil } -func initDmsg(ctx context.Context, v *Visor, log *logging.Logger) (err error) { +func initDmsg(ctx context.Context, v *Visor, log *logging.Logger) (err error) { //nolint:all if v.conf.Dmsg == nil { return fmt.Errorf("cannot initialize dmsg: empty configuration") } @@ -376,7 +377,7 @@ func initDmsgCtrl(ctx context.Context, v *Visor, _ *logging.Logger) error { return nil } -func initDmsgHTTPLogServer(ctx context.Context, v *Visor, log *logging.Logger) error { +func initDmsgHTTPLogServer(ctx context.Context, v *Visor, log *logging.Logger) error { //nolint:all dmsgC := v.dmsgC if dmsgC == nil { return fmt.Errorf("cannot initialize dmsg log server: dmsg not configured") @@ -388,7 +389,21 @@ func initDmsgHTTPLogServer(ctx context.Context, v *Visor, log *logging.Logger) e printLog = true } - lsAPI := logserver.New(logger, v.conf.Transport.LogStore.Location, v.conf.LocalPath, v.conf.CustomDmsgHTTPPath, printLog) + //whitelist access to the surveys for the hypervisor, dmsggpty whitelist, and for the surveywhitelist of keys which is fetched from the conf service + var whitelistedPKs []cipher.PubKey + if v.conf.SurveyWhitelist != nil { + whitelistedPKs = append(whitelistedPKs, v.conf.SurveyWhitelist...) + } + if v.conf.Hypervisors != nil { + whitelistedPKs = append(whitelistedPKs, v.conf.Hypervisors...) + } + if v.conf.Dmsgpty != nil { + if v.conf.Dmsgpty.Whitelist != nil { + whitelistedPKs = append(whitelistedPKs, v.conf.Dmsgpty.Whitelist...) + } + } + + lsAPI := logserver.New(logger, v.conf.Transport.LogStore.Location, v.conf.LocalPath, v.conf.DmsgHTTPServerPath, whitelistedPKs, v.conf.PK, printLog) lis, err := dmsgC.Listen(visorconfig.DmsgHTTPPort) if err != nil { @@ -433,12 +448,12 @@ func initDmsgHTTPLogServer(ctx context.Context, v *Visor, log *logging.Logger) e return nil } -func initSystemSurvey(ctx context.Context, v *Visor, log *logging.Logger) error { - go visorconfig.GenerateSurvey(v.conf, log, true, v.rawSurvey) +func initSystemSurvey(ctx context.Context, v *Visor, log *logging.Logger) error { //nolint:all + go visorconfig.GenerateSurvey(v.conf, log, true) return nil } -func initDmsgTrackers(ctx context.Context, v *Visor, _ *logging.Logger) error { +func initDmsgTrackers(ctx context.Context, v *Visor, _ *logging.Logger) error { //nolint:all dmsgC := v.dmsgC dtm := dmsgtracker.NewDmsgTrackerManager(v.MasterLogger(), dmsgC, 0, 0) @@ -466,20 +481,20 @@ func initSudphClient(ctx context.Context, v *Visor, log *logging.Logger) error { case stun.NATSymmetric, stun.NATSymmetricUDPFirewall: log.Warnf("SUDPH transport wont be available as visor is under %v", v.stunClient.NATType.String()) default: - v.tpM.InitClient(ctx, network.SUDPH) + v.tpM.InitClient(ctx, network.SUDPH, v.conf.Transport.SudphPort) } } return nil } -func initStcprClient(ctx context.Context, v *Visor, log *logging.Logger) error { - v.tpM.InitClient(ctx, network.STCPR) +func initStcprClient(ctx context.Context, v *Visor, log *logging.Logger) error { //nolint:all + v.tpM.InitClient(ctx, network.STCPR, v.conf.Transport.StcprPort) return nil } -func initStcpClient(ctx context.Context, v *Visor, log *logging.Logger) error { +func initStcpClient(ctx context.Context, v *Visor, log *logging.Logger) error { //nolint:all if v.conf.STCP != nil { - v.tpM.InitClient(ctx, network.STCP) + v.tpM.InitClient(ctx, network.STCP, 0) } return nil } @@ -567,7 +582,7 @@ func initTransportSetup(ctx context.Context, v *Visor, log *logging.Logger) erro ctx, cancel := context.WithCancel(ctx) // To remove the block set by NewTransportListener if dmsg is not initialized go func() { - ts, err := ts.NewTransportListener(ctx, v.conf.PK, v.conf.Transport.TransportSetup, v.dmsgC, v.tpM, v.MasterLogger()) + ts, err := ts.NewTransportListener(ctx, v.conf.PK, v.conf.Transport.TransportSetupPKs, v.dmsgC, v.tpM, v.MasterLogger()) if err != nil { log.Warn(err) cancel() @@ -971,7 +986,7 @@ func initRouter(ctx context.Context, v *Visor, log *logging.Logger) error { TransportManager: v.tpM, RouteFinder: rfClient, RouteGroupDialer: router.NewSetupNodeDialer(), - SetupNodes: conf.SetupNodes, + SetupNodes: conf.RouteSetupNodes, RulesGCInterval: 0, // TODO MinHops: v.conf.Routing.MinHops, } @@ -1003,11 +1018,11 @@ func initRouter(ctx context.Context, v *Visor, log *logging.Logger) error { return nil } -func initLauncher(ctx context.Context, v *Visor, log *logging.Logger) error { +func initLauncher(ctx context.Context, v *Visor, log *logging.Logger) error { //nolint:all conf := v.conf.Launcher // Prepare proc manager. - procM, err := appserver.NewProcManager(v.MasterLogger(), &v.serviceDisc, v.ebc, conf.ServerAddr) + procM, err := appserver.NewProcManager(v.MasterLogger(), &v.serviceDisc, v.ebc, conf.ServerAddr, v.conf.LocalPath) if err != nil { err := fmt.Errorf("failed to start proc_manager: %w", err) return err @@ -1113,7 +1128,7 @@ func vpnEnvMaker(conf *visorconfig.V1, dmsgC, dmsgDC *dmsg.Client, tpRemoteAddrs } } -func initCLI(ctx context.Context, v *Visor, log *logging.Logger) error { +func initCLI(ctx context.Context, v *Visor, log *logging.Logger) error { //nolint:all if v.conf.CLIAddr == "" { v.log.Debug("'cli_addr' is not configured, skipping.") return nil @@ -1136,7 +1151,7 @@ func initCLI(ctx context.Context, v *Visor, log *logging.Logger) error { return nil } -func initHypervisors(ctx context.Context, v *Visor, log *logging.Logger) error { +func initHypervisors(ctx context.Context, v *Visor, log *logging.Logger) error { //nolint:all hvErrs := make(map[cipher.PubKey]chan error, len(v.conf.Hypervisors)) for _, hv := range v.conf.Hypervisors { @@ -1236,7 +1251,7 @@ func initUptimeTracker(ctx context.Context, v *Visor, log *logging.Logger) error // advertise this visor as public in service discovery // this service is not considered critical and always returns true -func initPublicVisor(_ context.Context, v *Visor, log *logging.Logger) error { +func initPublicVisor(_ context.Context, v *Visor, log *logging.Logger) error { //nolint:all if !v.conf.IsPublic { // call Stop() method to clean service discovery for the situation that // visor was public, then stop (not normal shutdown), then start as non-public @@ -1302,11 +1317,16 @@ func initDmsgpty(ctx context.Context, v *Visor, log *logging.Logger) error { wl := dmsgpty.NewMemoryWhitelist() + // Initialize the dmsgpty whitelist + if err := wl.Add(v.conf.Dmsgpty.Whitelist...); err != nil { + return err + } + // Ensure hypervisors are added to the whitelist. if err := wl.Add(v.conf.Hypervisors...); err != nil { return err } - // add itself to the whitelist to allow local pty + // add the visor's own public key to the whitelist to allow local pty if err := wl.Add(v.conf.PK); err != nil { v.log.Errorf("Cannot add itself to the pty whitelist: %s", err) } @@ -1417,7 +1437,7 @@ func initPublicAutoconnect(ctx context.Context, v *Visor, log *logging.Logger) e return nil } -func initHypervisor(_ context.Context, v *Visor, log *logging.Logger) error { +func initHypervisor(_ context.Context, v *Visor, log *logging.Logger) error { //nolint:all if v.conf.Hypervisor == nil { v.log.Error("hypervisor config = nil") return nil @@ -1439,6 +1459,11 @@ func initHypervisor(_ context.Context, v *Visor, log *logging.Logger) error { // Serve HTTP(s). + // Needed to work with modern browsers when serving from windows, which need the correct mime type for javascript. + if err := mime.AddExtensionType(".js", "application/javascript"); err != nil { + log.Fatalln("Unable to register js mime type.") + } + v.log.WithField("addr", conf.HTTPAddr). WithField("tls", conf.EnableTLS). Info("Serving hypervisor...") diff --git a/pkg/visor/logserver/api.go b/pkg/visor/logserver/api.go index ec77f6b6b5..21fe804b96 100644 --- a/pkg/visor/logserver/api.go +++ b/pkg/visor/logserver/api.go @@ -3,17 +3,22 @@ package logserver import ( "encoding/json" + "fmt" + "net" "net/http" + "os" + "path/filepath" + "strings" "time" - "github.com/go-chi/chi/v5" - "github.com/go-chi/chi/v5/middleware" - "github.com/sirupsen/logrus" + "github.com/gin-gonic/gin" + coincipher "github.com/skycoin/skycoin/src/cipher" "github.com/skycoin/skywire-utilities/pkg/buildinfo" + "github.com/skycoin/skywire-utilities/pkg/cipher" "github.com/skycoin/skywire-utilities/pkg/httputil" "github.com/skycoin/skywire-utilities/pkg/logging" - "github.com/skycoin/skywire/pkg/skyenv" + "github.com/skycoin/skywire/pkg/visor/visorconfig" ) // API register all the API endpoints. @@ -25,67 +30,233 @@ type API struct { startedAt time.Time } -// New creates a new api. -func New(log *logging.Logger, tpLogPath, localPath, customPath string, printLog bool) *API { +// New creates a new API. +func New(log *logging.Logger, tpLogPath, localPath, customPath string, whitelistedPKs []cipher.PubKey, visorPK cipher.PubKey, printLog bool) *API { api := &API{ logger: log, startedAt: time.Now(), } - - r := chi.NewRouter() - - r.Use(middleware.RequestID) - r.Use(middleware.RealIP) + // disable gin's debug logging on startup + gin.SetMode(gin.ReleaseMode) + // Gin router without default logging + r := gin.New() + // use Gin's recovery logging middleware to recover from panic + r.Use(gin.Recovery()) if printLog { - r.Use(middleware.Logger) - r.Use(middleware.Recoverer) + // use custom logging middleware + r.Use(loggingMiddleware()) + } + + // whitelist-based authentication for survey collection if there are keys whitelisted for that + // no survey-whitelisted keys means the file is publicly accessible + authRoute := r.Group("/") + if len(whitelistedPKs) > 0 { + authRoute.Use(whitelistAuth(whitelistedPKs)) } - r.Use(httputil.SetLoggerMiddleware(log)) + // note that the survey FILE only exists / is generated if the reward address is set + authRoute.StaticFile("/"+visorconfig.NodeInfo, filepath.Join(localPath, visorconfig.NodeInfo)) // "/node-info.json" - r.Get("/health", api.health) + // serve the file with the reward address - only exists if the reward address is set + authRoute.StaticFile("/"+visorconfig.RewardFile, filepath.Join(localPath, visorconfig.RewardFile)) // "/reward.txt" - fsTP := http.FileServer(http.Dir(tpLogPath)) - r.Handle("/*", http.StripPrefix("/", fsTP)) + // This survey endpoint generates the survey as a response + authRoute.GET("/node-info", func(c *gin.Context) { + var rewardAddress string + var cAddr coincipher.Address + //check for reward address + rewardAddressBytes, err := os.ReadFile(localPath + "/" + visorconfig.RewardFile) //nolint + if err == nil { + //remove any newlines & whitespace from rewardAddress string + rewardAddress = strings.TrimSpace(string(rewardAddressBytes)) + //validate the skycoin address + cAddr, err = coincipher.DecodeBase58Address(rewardAddress) + if err != nil { + log.WithError(err).Error("Invalid skycoin reward address " + rewardAddress) + } + log.Debug("Skycoin reward address: ", cAddr.String()) + } + survey, err := visorconfig.SystemSurvey() + if err != nil { + log.WithError(err).Error("Could not read system info.") + } + survey.PubKey = visorPK + survey.SkycoinAddress = cAddr.String() + // Print results. + s, err := json.MarshalIndent(survey, "", "\t") + if err != nil { + log.WithError(err).Error("Could not marshal system survey to json.") + } + c.JSON(http.StatusOK, s) + }) - fsLocal := http.FileServer(http.Dir(localPath)) - r.Handle("/"+skyenv.NodeInfo, http.StripPrefix("/", fsLocal)) - r.Handle("/"+skyenv.NodeInfoSha256, http.StripPrefix("/", fsLocal)) - r.Handle("/"+skyenv.RewardFile, http.StripPrefix("/", fsLocal)) - r.Handle("/transport_logs/*", http.StripPrefix("/", fsLocal)) + r.GET("/health", func(c *gin.Context) { + api.health(c) + }) - fsCustom := http.FileServer(http.Dir(customPath)) - r.Handle("/*", http.StripPrefix("/", fsCustom)) + // serve transport log files ; then any files in the custom path + r.GET("/:file", func(c *gin.Context) { + // files with .csv extension are **likely** transport log files + if filepath.Ext(c.Param("file")) == ".csv" { + // check transport logs dir for the file, and serve it if it exists + _, err := os.Stat(filepath.Join(tpLogPath, c.Param("file"))) + if err == nil { + c.File(filepath.Join(tpLogPath, c.Param("file"))) + return + } + } + // Check for any file in custom dmsghttp dir path + _, err := os.Stat(filepath.Join(customPath, c.Param("file"))) + if err == nil { + c.File(filepath.Join(customPath, c.Param("file"))) + return + } + // File not found, return 404 + c.Writer.WriteHeader(http.StatusNotFound) + }) api.Handler = r return api } -func (api *API) health(w http.ResponseWriter, r *http.Request) { - info := buildinfo.Get() - api.writeJSON(w, r, http.StatusOK, httputil.HealthCheckResponse{ - BuildInfo: info, - StartedAt: api.startedAt, - }) -} - -func (api *API) writeJSON(w http.ResponseWriter, r *http.Request, code int, object interface{}) { - jsonObject, err := json.Marshal(object) +func (api *API) health(c *gin.Context) { + jsonObject, err := json.Marshal( + httputil.HealthCheckResponse{ + BuildInfo: buildinfo.Get(), + StartedAt: api.startedAt, + }) if err != nil { - api.log(r).WithError(err).Errorf("failed to encode json response") - w.WriteHeader(http.StatusInternalServerError) - + httputil.GetLogger(c.Request).WithError(err).Errorf("failed to encode json response") + c.Writer.WriteHeader(http.StatusInternalServerError) + c.AbortWithStatus(http.StatusInternalServerError) return } - w.Header().Set("Content-Type", "application/json") - w.WriteHeader(code) + c.Header("Content-Type", "application/json") + c.Writer.WriteHeader(http.StatusOK) - _, err = w.Write(jsonObject) + _, err = c.Writer.Write(jsonObject) if err != nil { - api.log(r).WithError(err).Errorf("failed to write json response") + httputil.GetLogger(c.Request).WithError(err).Errorf("failed to write json response") + } +} + +func whitelistAuth(whitelistedPKs []cipher.PubKey) gin.HandlerFunc { + return func(c *gin.Context) { + // Get the remote PK. + remotePK, _, err := net.SplitHostPort(c.Request.RemoteAddr) + if err != nil { + c.Writer.WriteHeader(http.StatusInternalServerError) + _, err := c.Writer.Write([]byte("500 Internal Server Error")) + if err != nil { + httputil.GetLogger(c.Request).WithError(err).Errorf("write http response") + } + c.AbortWithStatus(http.StatusInternalServerError) + return + } + // Check if the remote PK is whitelisted. + whitelisted := false + if len(whitelistedPKs) == 0 { + whitelisted = true + } else { + for _, whitelistedPK := range whitelistedPKs { + if remotePK == whitelistedPK.String() { + whitelisted = true + break + } + } + } + if whitelisted { + c.Next() + } else { + // Otherwise, return a 401 Unauthorized error. + c.Writer.WriteHeader(http.StatusUnauthorized) + _, err := c.Writer.Write([]byte("401 Unauthorized")) + if err != nil { + httputil.GetLogger(c.Request).WithError(err).Errorf("write http response") + } + c.AbortWithStatus(http.StatusUnauthorized) + return + } + } +} + +func loggingMiddleware() gin.HandlerFunc { + return func(c *gin.Context) { + start := time.Now() + c.Next() + latency := time.Since(start) + if latency > time.Minute { + latency = latency.Truncate(time.Second) + } + statusCode := c.Writer.Status() + method := c.Request.Method + path := c.Request.URL.Path + // Get the background color based on the status code + statusCodeBackgroundColor := getBackgroundColor(statusCode) + // Get the method color + methodColor := getMethodColor(method) + // Print the logging in a custom format which includes the publickeyfrom c.Request.RemoteAddr ex.: + // [DMSGHTTP] 2023/05/18 - 19:43:15 | 200 | 10.80885ms | | 02b5ee5333aa6b7f5fc623b7d5f35f505cb7f974e98a70751cf41962f84c8c4637:49153 | GET /node-info.json + fmt.Printf("[DMSGHTTP] %s |%s %3d %s| %13v | %15s | %72s |%s %-7s %s %s\n", + time.Now().Format("2006/01/02 - 15:04:05"), + statusCodeBackgroundColor, + statusCode, + resetColor(), + latency, + c.ClientIP(), + c.Request.RemoteAddr, + methodColor, + method, + resetColor(), + path, + ) + } +} +func getBackgroundColor(statusCode int) string { + switch { + case statusCode >= http.StatusOK && statusCode < http.StatusMultipleChoices: + return green + case statusCode >= http.StatusMultipleChoices && statusCode < http.StatusBadRequest: + return white + case statusCode >= http.StatusBadRequest && statusCode < http.StatusInternalServerError: + return yellow + default: + return red + } +} + +func getMethodColor(method string) string { + switch method { + case http.MethodGet: + return blue + case http.MethodPost: + return cyan + case http.MethodPut: + return yellow + case http.MethodDelete: + return red + case http.MethodPatch: + return green + case http.MethodHead: + return magenta + case http.MethodOptions: + return white + default: + return reset } } -func (api *API) log(r *http.Request) logrus.FieldLogger { - return httputil.GetLogger(r) +func resetColor() string { + return reset } + +const ( + green = "\033[97;42m" + white = "\033[90;47m" + yellow = "\033[90;43m" + red = "\033[97;41m" + blue = "\033[97;44m" + magenta = "\033[97;45m" + cyan = "\033[97;46m" + reset = "\033[0m" +) diff --git a/pkg/visor/remote_hypervisor.go b/pkg/visor/remote_hypervisor.go index 16c1d5dc71..83f07282ee 100644 --- a/pkg/visor/remote_hypervisor.go +++ b/pkg/visor/remote_hypervisor.go @@ -16,7 +16,11 @@ func FetchHvPk(ipPort string) (string, error) { if err != nil { return "", err } - defer res.Body.Close() //nolint:errcheck + defer func() { + if err := res.Body.Close(); err != nil { + return + } + }() resBody, err := io.ReadAll(res.Body) if err != nil { return "", err diff --git a/pkg/visor/rpc.go b/pkg/visor/rpc.go index 5be8726979..2c008a16ae 100644 --- a/pkg/visor/rpc.go +++ b/pkg/visor/rpc.go @@ -635,14 +635,14 @@ func (r *RPC) SetPublicAutoconnect(pAc *bool, _ *struct{}) (err error) { return err } -// FilterVPNServersIn is input for VPNServers -type FilterVPNServersIn struct { +// FilterServersIn is input for VPNServers and ProxyServers +type FilterServersIn struct { Version string Country string } // VPNServers gets available public VPN server from service discovery URL -func (r *RPC) VPNServers(vc *FilterVPNServersIn, out *[]servicedisc.Service) (err error) { +func (r *RPC) VPNServers(vc *FilterServersIn, out *[]servicedisc.Service) (err error) { defer rpcutil.LogCall(r.log, "VPNServers", nil)(out, &err) vpnServers, err := r.visor.VPNServers(vc.Version, vc.Country) if vpnServers != nil { @@ -651,6 +651,16 @@ func (r *RPC) VPNServers(vc *FilterVPNServersIn, out *[]servicedisc.Service) (er return err } +// ProxyServers gets available socks5 proxy servers from service discovery URL +func (r *RPC) ProxyServers(vc *FilterServersIn, out *[]servicedisc.Service) (err error) { + defer rpcutil.LogCall(r.log, "ProxyServers", nil)(out, &err) + proxyServers, err := r.visor.ProxyServers(vc.Version, vc.Country) + if proxyServers != nil { + *out = proxyServers + } + return err +} + // RemoteVisors return connected remote visors func (r *RPC) RemoteVisors(_ *struct{}, out *[]string) (err error) { defer rpcutil.LogCall(r.log, "RemoteVisor", nil)(out, &err) diff --git a/pkg/visor/rpc_client.go b/pkg/visor/rpc_client.go index 92771da9ec..86c246c333 100644 --- a/pkg/visor/rpc_client.go +++ b/pkg/visor/rpc_client.go @@ -489,7 +489,17 @@ type StatusMessage struct { // VPNServers calls VPNServers. func (rc *rpcClient) VPNServers(version, country string) ([]servicedisc.Service, error) { output := []servicedisc.Service{} - err := rc.Call("VPNServers", &FilterVPNServersIn{ // nolint + err := rc.Call("VPNServers", &FilterServersIn{ // nolint + Version: version, + Country: country, + }, &output) + return output, err +} + +// ProxyServers calls ProxyServers. +func (rc *rpcClient) ProxyServers(version, country string) ([]servicedisc.Service, error) { + output := []servicedisc.Service{} + err := rc.Call("ProxyServers", &FilterServersIn{ // nolint Version: version, Country: country, }, &output) @@ -767,7 +777,7 @@ func (mc *mockRPCClient) Uptime() (float64, error) { } // SetRewardAddress implements API -func (mc *mockRPCClient) SetRewardAddress(p string) (string, error) { +func (mc *mockRPCClient) SetRewardAddress(p string) (string, error) { //nolint:all return "", nil } @@ -941,7 +951,7 @@ func (mc *mockRPCClient) SetAppPK(string, cipher.PubKey) error { } // SetAppKillswitch implements API. -func (mc *mockRPCClient) SetAppKillswitch(appName string, killswitch bool) error { +func (mc *mockRPCClient) SetAppKillswitch(appName string, killswitch bool) error { //nolint:all return mc.do(true, func() error { const socksName = "skysocks" @@ -956,7 +966,7 @@ func (mc *mockRPCClient) SetAppKillswitch(appName string, killswitch bool) error } // SetAppSecure implements API. -func (mc *mockRPCClient) SetAppSecure(appName string, isSecure bool) error { +func (mc *mockRPCClient) SetAppSecure(appName string, isSecure bool) error { //nolint:all return mc.do(true, func() error { const socksName = "skysocks" @@ -986,7 +996,7 @@ func (mc *mockRPCClient) SetAppDNS(string, string) error { } // DoCustomSetting implents API. -func (mc *mockRPCClient) DoCustomSetting(appName string, customSetting map[string]string) error { +func (mc *mockRPCClient) DoCustomSetting(appName string, customSetting map[string]string) error { //nolint:all return mc.do(true, func() error { for i := range mc.o.Apps { if mc.o.Apps[i].Name == appName { @@ -1219,6 +1229,11 @@ func (mc *mockRPCClient) VPNServers(_, _ string) ([]servicedisc.Service, error) return []servicedisc.Service{}, nil } +// ProxyServers implements API +func (mc *mockRPCClient) ProxyServers(_, _ string) ([]servicedisc.Service, error) { + return []servicedisc.Service{}, nil +} + // RemoteVisors implements API func (mc *mockRPCClient) RemoteVisors() ([]string, error) { return []string{}, nil @@ -1235,12 +1250,12 @@ func (mc *mockRPCClient) IsDMSGClientReady() (bool, error) { } // Connect implements API. -func (mc *mockRPCClient) Connect(remotePK cipher.PubKey, remotePort, localPort int) (uuid.UUID, error) { +func (mc *mockRPCClient) Connect(remotePK cipher.PubKey, remotePort, localPort int) (uuid.UUID, error) { //nolint:all return uuid.UUID{}, nil } // Disconnect implements API. -func (mc *mockRPCClient) Disconnect(id uuid.UUID) error { +func (mc *mockRPCClient) Disconnect(id uuid.UUID) error { //nolint:all return nil } @@ -1250,12 +1265,12 @@ func (mc *mockRPCClient) List() (map[uuid.UUID]*appnet.ForwardConn, error) { } // RegisterHTTPPort implements API. -func (mc *mockRPCClient) RegisterHTTPPort(localPort int) error { +func (mc *mockRPCClient) RegisterHTTPPort(localPort int) error { //nolint:all return nil } // DeregisterHTTPPort implements API. -func (mc *mockRPCClient) DeregisterHTTPPort(localPort int) error { +func (mc *mockRPCClient) DeregisterHTTPPort(localPort int) error { //nolint:all return nil } diff --git a/pkg/visor/rpc_test.go b/pkg/visor/rpc_test.go index d6f8d9afaf..bc58b7af0b 100644 --- a/pkg/visor/rpc_test.go +++ b/pkg/visor/rpc_test.go @@ -30,8 +30,8 @@ func TestHealth(t *testing.T) { Discovery: "foo", } c.Routing = &visorconfig.Routing{ - RouteFinder: "foo", - SetupNodes: []cipher.PubKey{c.PK}, + RouteFinder: "foo", + RouteSetupNodes: []cipher.PubKey{c.PK}, } utClient := &utclient.MockAPIClient{} diff --git a/pkg/visor/static/268.35663b722cee380a.js b/pkg/visor/static/268.35663b722cee380a.js new file mode 100644 index 0000000000..feb2a5ff3d --- /dev/null +++ b/pkg/visor/static/268.35663b722cee380a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkskywire_manager=self.webpackChunkskywire_manager||[]).push([[268],{4268:e=>{e.exports=JSON.parse('{"common":{"save":"Guardar","cancel":"Cancelar","downloaded":"Recibido","uploaded":"Enviado","loading-error":"Hubo un error obteniendo los datos. Reintentando...","operation-error":"Hubo un error al intentar completar la operaci\xf3n.","no-connection-error":"No hay conexi\xf3n a Internet o conexi\xf3n con el hipervisor.","error":"Error:","refreshed":"Datos refrescados.","options":"Opciones","logout":"Cerrar sesi\xf3n","logout-error":"Error cerrando la sesi\xf3n.","logout-confirmation":"Are you sure you want to log out?","time-in-ms":"{{ time }}ms.","time-in-segs":"{{ time }}s.","ok":"Ok","yes":"S\xed","no":"No","unknown":"Desconocido","close":"Cerrar","window-size-error":"La ventana es demasiado estrecha para el contenido."},"labeled-element":{"edit-label":"Editar etiqueta","remove-label":"Remover etiqueta","go-to-settings":"Ir a la configuraci\xf3n","copy":"Copiar","remove-label-confirmation":"\xbfRealmente desea eliminar la etiqueta?","unnamed-element":"Sin nombre","unnamed-local-visor":"Visor local","local-element":"Local","tooltip":"Haga clic para copiar la entrada o cambiar la etiqueta","tooltip-with-text":"{{ text }} (Haga clic para copiar la entrada o cambiar la etiqueta)"},"labels":{"title":"Etiquetas","info":"Etiquetas que ha introducido para identificar f\xe1cilmente visores, transportes y otros elementos, en lugar de tener que leer identificadores generados por una m\xe1quina.","list-title":"Lista de etiquetas","label":"Etiqueta","id":"ID del elemento","type":"Tipo","delete-confirmation":"\xbfSeguro que desea borrar la etiqueta?","delete-selected-confirmation":"\xbfSeguro que desea borrar las etiquetas seleccionados?","delete":"Borrar etiqueta","deleted":"Operaci\xf3n de borrado completada.","empty":"No hay etiquetas guardadas.","empty-with-filter":"Ninguna etiqueta coincide con los criterios de filtrado seleccionados.","filter-dialog":{"label":"La etiqueta debe contener","id":"El id debe contener","type":"El tipo debe ser","type-options":{"any":"Cualquiera","visor":"Visor","dmsg-server":"Servidor DMSG","transport":"Transporte"}}},"filters":{"filter-action":"Filtrar","filter-info":"Lista de filtros.","press-to-remove":"(Presione para remover los filtros)","remove-confirmation":"\xbfSeguro que desea remover los filtros?"},"tables":{"title":"Ordenar por","sorting-title":"Ordenado por:","sort-by-value":"Valor","sort-by-label":"Etiqueta","label":"(etiqueta)","inverted-order":"(invertido)"},"start":{"title":"Inicio","loading-error":"Hubo un error obteniendo los datos iniciales. Reintentando..."},"node":{"title":"Detalles del visor","not-found":"Visor no encontrado.","logs":{"title":"Registros de operaci\xf3n","no-logs":"No se encontraron registros de operaci\xf3n para este visor.","no-logs-for-filter":"No hay registros de operaci\xf3n que coincidan con el filtro seleccionado.","view-all":"Ver todos los registros en formato original >","view-rest":"Ver los {{ number }} elementos en formato original >","selected-filter":"Mostrando:","filter-ignored":"En filtro excluy\xf3 {{ number }} registros","filter-title":"Filtro","filter-all":"Todos los registros","filter-debug":"Debug o m\xe1s importante","filter-info":"Info o m\xe1s importante","filter-warning":"Warning o m\xe1s importante","filter-error":"Error o m\xe1s importante","filter-faltal":"Faltal o m\xe1s importante","filter-panic":"Panic"},"statuses":{"online":"Online","online-tooltip":"El visor se encuentra online.","connecting":"Conectando","connecting-tooltip":"El visor se encuentra online, pero todav\xeda est\xe1 conectando con el uptime tracker.","unknown":"Desconocido","unknown-tooltip":"El visor se encuentra online, pero no ha sido posible determinar si est\xe1 conectado con el uptime tracker.","partially-online":"Online con problemas","partially-online-tooltip":"El visor se encuentra online, pero desconectado del uptime tracker.","offline":"Offline","offline-tooltip":"El visor se encuentra offline."},"details":{"node-info":{"title":"Informaci\xf3n del visor","label":"Etiqueta:","public-key":"Llave p\xfablica:","symmetic-nat":"NAT sim\xe9trica:","public-ip":"IP p\xfablica:","ip":"IP:","dmsg-server":"Servidor DMSG:","no-dmsg-server":"No connectado","ping":"Ping:","node-version":"Versi\xf3n del visor:","build-type":"Tipo de build:","skybian-version":"Versi\xf3n de Skybian:","unknown-build":"Desconocido","time":{"title":"Tiempo online:","seconds":"unos segundos","minute":"1 minuto","minutes":"{{ time }} minutos","hour":"1 hora","hours":"{{ time }} horas","day":"1 d\xeda","days":"{{ time }} d\xedas","week":"1 semana","weeks":"{{ time }} semanas"}},"rewards-info":{"title":"Informaci\xf3n de Recompensas","rewards-address":"Direcci\xf3n de recompensas:","not-registered":"No registrado","not-registered-info":"No ha especificado una direcci\xf3n de Skycoin para recibir recompensas para este visor. Si quiere registrar el visor para recibir recompensas, presione el bot\xf3n \\"Establecer direcci\xf3n\\" e introduzca la una direcci\xf3n de Skycoin.","open-in-explorer":"Abrir en el explorador de blockchain","set-address-button":"Establecer direcci\xf3n","change-address-button":"Cambiar direcci\xf3n"},"transports-info":{"title":"Informaci\xf3n de Transportes","autoconnect":"Autoconectar:","autoconnect-info":"Al activarse, el visor crear\xe1 autom\xe1ticamente los transportes necesarios cuando se solicite la conexi\xf3n a un visor p\xfablico. Al desactivarse, los transportes deber\xe1n ser creados antes de poder establecer la conexi\xf3n.","enabled":"Activado","disabled":"Desactivado","enable-button":"Activar","disable-button":"Desactivar","enable-confirmation":"\xbfSeguro que desea activar la funci\xf3n de autoconectar?","disable-confirmation":"\xbfSeguro que desea desactivar la funci\xf3n de autoconectar?","enable-done":"La funci\xf3n de autoconectar ha sido activada.","disable-done":"La funci\xf3n de autoconectar ha sido desactivada."},"router-info":{"title":"Informaci\xf3n del Enrutador","min-hops":"Saltos m\xednimos:","max-hops":"Saltos m\xe1ximos:","change-config-button":"Cambiar configuraci\xf3n"},"node-health":{"title":"Informaci\xf3n de Salud","status":"Estatus:","transport-discovery":"Transport discovery:","route-finder":"Route finder:","setup-node":"Setup node:","uptime-tracker":"Uptime tracker:","address-resolver":"Address resolver:","element-offline":"Offline"},"node-traffic-data":"Datos de tr\xe1fico"},"tabs":{"info":"Info","apps":"Apps","routing":"Enrutamiento"},"error-load":"Hubo un error al intentar refrescar los datos. Reintentando..."},"rewards-address-config":{"title":"Configuraci\xf3n de direcci\xf3n de recompensas","info":"Aqu\xed usted puede establecer la direcci\xf3n de Skycoin a la que quiere que se env\xeden las recompensas. Si deja la direcci\xf3n vac\xeda, el registro ser\xe1 eliminado y el visor no recibir\xe1 recompensas.","more-info-link":"(M\xe1s informaci\xf3n acerca del sistema de recompensas)","address":"Direcci\xf3n ","address-error":"Por favor, coloque una direcci\xf3n Skycoin valida.","save-config-button":"Guardar configuraci\xf3n","done":"Cambios guardados.","empty-warning":"La direcci\xf3n est\xe1 vac\xeda, as\xed que el registro ser\xe1 eliminado y no recibir\xe1 recompensas. \xbfRealmente desea continuar?"},"router-config":{"title":"Configuraci\xf3n del Enrutador","info":"Aqu\xed podr\xe1 configurar cuantos saltos la conexi\xf3n deber\xe1 realizar a trav\xe9s de otros visores de Skywire antes de alcanzar el destino final. NOTA: los cambios no afectar\xe1n a las rutas ya existentes.","min-hops":"Saltos m\xednimos","min-hops-error":"Por favor, coloque un n\xfamero valido.","save-config-button":"Guardar configuraci\xf3n","done":"Cambios guardados."},"nodes":{"title":"Lista de visores","dmsg-title":"DMSG","modify-rewards-all":"Cambiar direcci\xf3n de recompensas","update-all":"Actualizar todos los visores online","hypervisor":"Hypervisor","state":"Estado","state-tooltip":"Estado actual","label":"Etiqueta","key":"Llave","dmsg-server":"Servidor DMSG","ping":"Ping","hypervisor-info":"Este visor es el Hypervisor actual.","copy-key":"Copiar llave","copy-dmsg":"Copiar llave DMSG","copy-data":"Copiar datos","view-node":"Ver visor","delete-node":"Remover visor","delete-all-offline":"Remover todos los visores offline","error-load":"Hubo un error al intentar refrescar la lista. Reintentando...","empty":"No hay ning\xfan visor conectado a este hypervisor.","empty-with-filter":"Ningun visor coincide con los criterios de filtrado seleccionados.","delete-node-confirmation":"\xbfSeguro que desea remover el visor de la lista?","delete-all-offline-confirmation":"\xbfSeguro que desea remover todos los visores offline de la lista?","delete-all-filtered-offline-confirmation":"Todos los visores offline que satisfagan los criterios de filtrado actuales ser\xe1n removidos de la lista. \xbfSeguro que desea continuar?","deleted":"Visor removido.","deleted-singular":"1 visor offline removido.","deleted-plural":"{{ number }} visores offline removidos.","no-visors-to-update":"No hay visores para actualizar.","no-visors-to-modify":"No hay visores para modificar.","filter-dialog":{"online":"El visor debe estar","label":"La etiqueta debe contener","key":"La llave debe contener","dmsg":"La llave del servidor DMSG debe contener","online-options":{"any":"Online u offline","online":"Online","offline":"Offline"}}},"bulk-rewards":{"title":"Cambiar direcci\xf3n de recompensas","info":"Introduzca la direcci\xf3n de Skycoin donde desea recibir las recompensas. La direcci\xf3n ser\xe1 establecida en todos los visores seleccionados. Si deja la direcci\xf3n vac\xeda, el registro ser\xe1 eliminado y los visores no recibir\xe1n recompensas. Tambi\xe9n puede colocar la direcci\xf3n de recompensas de cada visor individualmente usando la opci\xf3n en la pantalla de detalles del visor.","more-info-link":"(M\xe1s informaci\xf3n acerca del sistema de recompensas)","address":"Nueva direcci\xf3n","select-visors":"Visores a modificar:","current-address":"Direcci\xf3n actual:","not-registered":"Ninguna (no registrado para recompensas).","checking":"Consultando...","error-checking":"Error consultando:","processing":"Procesando...","error-processing":"Error realizando el cambio:","done":"Cambio realizado.","perform-changes":"Aplicar cambios","empty-warning":"La direcci\xf3n est\xe1 vac\xeda, as\xed que los registros ser\xe1n eliminados y no recibir\xe1 recompensas. \xbfRealmente desea continuar?"},"edit-label":{"label":"Etiqueta","done":"Etiqueta guardada.","label-removed-warning":"La etiqueta fue removida."},"settings":{"title":"Configuraci\xf3n","checking-auth":"Revisando configuraci\xf3n de autenticaci\xf3n.","password":{"initial-config-help":"Use esta opci\xf3n para establecer la contrase\xf1a inicial. Despu\xe9s de establecer una contrase\xf1a no es posible usar esta opci\xf3n para modificarla.","help":"Opciones para cambiar la contrase\xf1a.","old-password":"Contrase\xf1a actual","new-password":"Nueva contrase\xf1a","repeat-password":"Repita la contrase\xf1a","password-changed":"Contrase\xf1a cambiada.","error-changing":"Error cambiando la contrase\xf1a.","initial-config":{"title":"Establecer contrase\xf1a inicial","password":"Contrase\xf1a","repeat-password":"Repita la contrase\xf1a","set-password":"Establecer contrase\xf1a","done":"Contrase\xf1a establecida. Por favor \xfasela para acceder al sistema.","error":"Error. Por favor aseg\xfarese de que no hubiese establecido la contrase\xf1a anteriormente."},"errors":{"bad-old-password":"La contrase\xf1a actual introducida no es correcta.","old-password-required":"La contrase\xf1a actual es requerida.","new-password-error":"La contrase\xf1a debe tener entre 6 y 64 caracteres.","passwords-not-match":"Las contrase\xf1as no coinciden.","default-password":"No utilice la contrase\xf1a por defecto (1234)."}},"updater-config":{"open-link":"Mostrar la configuraci\xf3n del actualizador","open-confirmation":"La configuraci\xf3n del actualizador es s\xf3lo para usuarios experimentados. Seguro que desea continuar?","help":"Utilice este formulario para modificar la configuraci\xf3n que utilizar\xe1 el actualizador. Se ignorar\xe1n todos los campos vac\xedos. La configuraci\xf3n se utilizar\xe1 para todas las operaciones de actualizaci\xf3n, sin importar qu\xe9 elemento se est\xe9 actualizando, as\xed que por favor tenga cuidado.","channel":"Canal","version":"Versi\xf3n","archive-url":"URL del archivo","checksum-url":"URL del checksum","not-saved":"Los cambios a\xfan no se han guardado.","save":"Guardar cambios","remove-settings":"Remover la configuraci\xf3n","saved":"Las configuracion personalizada ha sido guardada.","removed":"Las configuracion personalizada ha sido removida.","save-confirmation":"\xbfSeguro que desea aplicar la configuraci\xf3n personalizada?","remove-confirmation":"\xbfSeguro que desea remover la configuraci\xf3n personalizada?"},"change-password":"Cambiar contrase\xf1a","refresh-rate":"Frecuencia de refrescado","refresh-rate-help":"Tiempo que el sistema espera para actualizar autom\xe1ticamente los datos.","refresh-rate-confirmation":"Frecuencia de refrescado cambiada.","seconds":"segundos"},"login":{"password":"Contrase\xf1a","incorrect-password":"Contrase\xf1a incorrecta.","initial-config":"Configurar lanzamiento inicial"},"actions":{"menu":{"terminal":"Terminal","config":"Configuraci\xf3n","update":"Actualizar","reboot":"Reiniciar","logs":"Ver logs"},"reboot":{"confirmation":"\xbfSeguro que desea reiniciar el visor?","done":"El visor se est\xe1 reiniciando."},"update":{"confirmation":"Una terminal ser\xe1 abierta en una nueva pesta\xf1a y el proceso de actualizaci\xf3n iniciar\xe1 autom\xe1ticamente. \xbfDesea continuar?"},"terminal-options":{"full":"Terminal completa","simple":"Terminal simple"},"terminal":{"title":"Terminal","input-start":"Terminal de Skywire para {{address}}","error":"Error inesperado mientras se intentaba ejecutar el comando."}},"update":{"title":"Actualizar","error-title":"Error","processing":"Buscando actualizaciones...","no-update":"No hay ninguna actualizaci\xf3n para el visor. La versi\xf3n instalada actualmente es:","no-updates":"No se encontraron nuevas actualizaciones.","already-updating":"Algunos visores ya est\xe1n siendo actualizandos:","with-error":"No fue posible verificar los siguientes visores:","update-available":"Las siguientes actualizaciones fueron encontradas:","update-available-singular":"Las siguientes actualizaciones para 1 visor fueron encontradas:","update-available-plural":"Las siguientes actualizaciones para {{ number }} visores fueron encontradas:","update-available-additional-singular":"Las siguientes actualizaciones adicionales para 1 visor fueron encontradas:","update-available-additional-plural":"Las siguientes actualizaciones adicionales para {{ number }} visores fueron encontradas:","update-instructions":"Haga clic en el bot\xf3n \'Instalar actualizaciones\' para continuar.","updating":"La operaci\xf3n de actualizaci\xf3n se ha iniciado, puede abrir esta ventana nuevamente para verificar el progreso:","version-change":"De {{ currentVersion }} a {{ newVersion }}","selected-channel":"Canal seleccionado:","downloaded-file-name-prefix":"Descargando: ","speed-prefix":"Velocidad: ","time-downloading-prefix":"Tiempo descargando: ","time-left-prefix":"Tiempo aprox. faltante: ","starting":"Preparando para actualizar","finished":"Conexi\xf3n de estado terminada","install":"Instalar actualizaciones"},"update-all":{"title":"Actualizar","updatable-list-text":"Por favor, presione los botones de los visores que desea actualizar. Una terminal ser\xe1 abierta en una nueva pesta\xf1a por cada visor y el proceso de actualizaci\xf3n iniciar\xe1 autom\xe1ticamente.","non-updatable-list-text":"Los siguientes visores no pueden ser actualizados v\xeda la terminal:","update-button":"Actualizar"},"apps":{"log":{"title":"Log","empty":"No hay mensajes de log para el rango de fecha seleccionado.","filter-button":"Mostrando s\xf3lo logs generados desde:","view-all":"Ver todas las {{ totalLogs }} entradas","filter":{"title":"Filtro","filter":"Mostrar s\xf3lo logs generados desde","7-days":"Los \xfaltimos 7 d\xedas","1-month":"Los \xfaltimos 30 d\xedas","3-months":"Los \xfaltimos 3 meses","6-months":"Los \xfaltimos 6 meses","1-year":"El \xfaltimo a\xf1o","all":"mostrar todos"}},"apps-list":{"title":"Aplicaciones","title-official":"Aplicaciones Oficiales","title-user":"Aplicaciones de Usuario","list-title":"Lista de aplicaciones","app-name":"Nombre","port":"Puerto","state":"Estado","state-tooltip":"Estado actual","auto-start":"Autoinicio","empty-official":"El visor no tiene ninguna aplicaci\xf3n oficial.","empty-user":"El visor no tiene ninguna aplicaci\xf3n de usuario.","empty-with-filter":"Ninguna app coincide con los criterios de filtrado seleccionados.","disable-autostart":"Deshabilitar autoinicio","enable-autostart":"Habilitar autoinicio","autostart-disabled":"Autoinicio deshabilitado","autostart-enabled":"Autoinicio habilitado","unavailable-logs-error":"No es posible mostrar los logs mientras la aplicaci\xf3n no se est\xe1 ejecutando.","filter-dialog":{"state":"El estado debe ser","name":"El nombre debe contener","port":"El puerto debe contener","autostart":"El autoinicio debe estar","state-options":{"any":"Iniciada o detenida","running":"Iniciada","stopped":"Detenida"},"autostart-options":{"any":"Activado or desactivado","enabled":"Activado","disabled":"Desactivado"}}},"user-app-settings":{"title":"{{ name }} (Configuraci\xf3n)","info":"Aqu\xed puede editar la configuraci\xf3n de la app como pares nombre-valor. Por favor, revise la documentaci\xf3n de la aplicaci\xf3n para ver cu\xe1les configuraciones y valores soporta esta app.","name":"Nombre {{ number }}","value":"Valor {{ number }}","remove":"Remover","add":"Agregar configuraci\xf3n","save":"Guardar","invalid-confirmation":"Una o m\xe1s configuraciones no tienen nombre y ser\xe1n ignoradas. \xbfDesea continuar?","empty-confirmation":"La lista de configuraci\xf3n est\xe1 vac\xeda. \xbfRealmente desea continuar?","changes-made":"Los cambios han sido realizados."},"vpn-socks-server-settings":{"socks-title":"Configuraci\xf3n de Skysocks","vpn-title":"Configuraci\xf3n de VPN-Server","new-password":"Nueva contrase\xf1a (dejar en blanco para eliminar la contrase\xf1a)","repeat-password":"Repita la contrase\xf1a","netifc":"Interfaz de red predeterminada (opcional)","passwords-not-match":"Las contrase\xf1as no coinciden.","secure-mode-check":"Usar modo seguro","secure-mode-info":"Cuando est\xe1 activo, el servidor no permite SSH con los clientes y no permite ning\xfan tr\xe1fico de clientes VPN a la red local del servidor.","save":"Guardar","remove-passowrd-confirmation":"Ha dejado el campo de contrase\xf1a vac\xedo. \xbfSeguro que desea eliminar la contrase\xf1a?","change-passowrd-confirmation":"\xbfSeguro que desea cambiar la contrase\xf1a?","changes-made":"Los cambios han sido realizados."},"vpn-socks-client-settings":{"socks-title":"Configuraci\xf3n de Skysocks-Client","vpn-title":"Configuraci\xf3n de VPN-Client","discovery-tab":"Buscar","remote-visor-tab":"Introducir manualmente","settings-tab":"Configuracion","history-tab":"Historial","use":"Usar estos datos","change-note":"Cambiar nota","remove-entry":"Remover entrada","note":"Nota:","note-entered-manually":"Introducido manualmente","note-obtained":"Obtenido del servicio de descubrimiento","key":"Llave:","port":"Puerto:","location":"Ubicaci\xf3n:","state-available":"Disponible","state-offline":"Offline","public-key":"Llave p\xfablica del visor remoto","password":"Contrase\xf1a","password-history-warning":"Nota: la contrase\xf1a no se guardar\xe1 en el historial.","copy-pk-info":"Copiar la llave p\xfablica.","copied-pk-info":"La llave p\xfablica ha sido copiada.","copy-pk-error":"Hubo un problema al intentar cambiar la llave p\xfablica.","no-elements":"Actualmente no hay elementos para mostrar. Por favor, int\xe9ntelo de nuevo m\xe1s tarde.","no-elements-for-filters":"No hay elementos que cumplan los criterios de filtro.","no-filter":"No se ha seleccionado ning\xfan filtro","click-to-change":"Haga clic para cambiar","remote-key-length-error":"La llave p\xfablica debe tener 66 caracteres.","remote-key-chars-error":"La llave p\xfablica s\xf3lo debe contener caracteres hexadecimales.","save":"Guardar","remove-from-history-confirmation":"\xbfSeguro de que desea eliminar la entrada del historial?","change-key-confirmation":"\xbfSeguro que desea cambiar la llave p\xfablica del visor remoto?","changes-made":"Los cambios han sido realizados.","no-history":"Esta pesta\xf1a mostrar\xe1 las \xfaltimas {{ number }} llaves p\xfablicas usadas.","default-note-warning":"La nota por defecto ha sido utilizada.","pagination-info":"{{ currentElementsRange }} de {{ totalElements }}","dns":"Direcci\xf3n IP del servidor DNS personalizado","dns-error":"Valor inv\xe1lido.","killswitch-check":"Activar killswitch","killswitch-info":"Cuando est\xe1 activo, todas las conexiones de red se desactivar\xe1n si la aplicaci\xf3n se est\xe1 ejecutando pero la protecci\xf3n VPN est\xe1 interrumpida (por errores temporales o cualquier otro problema). Esto evita fugas de datos.","settings-changed-alert":"Los cambios a\xfan no se han guardado.","save-settings":"Guardar configuracion","change-note-dialog":{"title":"Cambiar Nota","note":"Nota"},"password-dialog":{"title":"Introducir Contrase\xf1a","password":"Contrase\xf1a","info":"Se le solicita una contrase\xf1a porque una contrase\xf1a fue utilizada cuando se cre\xf3 la entrada seleccionada, pero no fue guardada por razones de seguridad. Puede dejar la contrase\xf1a vac\xeda si es necesario.","continue-button":"Continuar"},"filter-dialog":{"title":"Filtros","country":"El pa\xeds debe ser","any-country":"Cualquiera","location":"La ubicaci\xf3n debe contener","pub-key":"La llave p\xfablica debe contener","apply":"Aplicar"}},"stop-app":"Detener","start-app":"Iniciar","view-logs":"Ver logs","settings":"Configuraci\xf3n","open":"Abrir","error":"Se produjo un error y no fue posible realizar la operaci\xf3n.","stop-confirmation":"\xbfSeguro que desea detener la aplicaci\xf3n?","stop-selected-confirmation":"\xbfSeguro que desea detener las aplicaciones seleccionadas?","disable-autostart-confirmation":"\xbfSeguro que desea deshabilitar el autoinicio de la aplicaci\xf3n?","enable-autostart-confirmation":"\xbfSeguro que desea habilitar el autoinicio de la aplicaci\xf3n?","disable-autostart-selected-confirmation":"\xbfSeguro que desea deshabilitar el autoinicio de las aplicaciones seleccionadas?","enable-autostart-selected-confirmation":"\xbfSeguro que desea habilitar el autoinicio de las aplicaciones seleccionadas?","operation-completed":"Operaci\xf3n completada.","operation-unnecessary":"La selecci\xf3n ya tiene la configuraci\xf3n solicitada.","status-running":"Corriendo","status-connecting":"Conectando","status-stopped":"Detenida","status-failed":"Finaliz\xf3 con el siguiente error: {{ error }}","status-running-tooltip":"La aplicaci\xf3n est\xe1 actualmente corriendo","status-connecting-tooltip":"La aplicaci\xf3n est\xe1 actualmente conectando","status-stopped-tooltip":"La aplicaci\xf3n est\xe1 actualmente detenida","status-failed-tooltip":"La app finaliz\xf3 con el siguiente error: {{ error }}"},"transports":{"title":"Transportes","info":"Conexiones que tiene con visores remotos de Skywire, para permitir que las aplicaciones Skywire locales se comuniquen con las aplicaciones que se ejecutan en esos visores remotos.","list-title":"Lista de transportes","offline":"Offline","persistent":"Persistente","persistent-tooltip":"Transportes persistentes, los cuales son creados autom\xe1ticamente al iniciar el visor y son recreados autom\xe1ticamente en caso de desconexi\xf3n.","persistent-transport-tooltip":"Este transporte es persistente, as\xed que es creado autom\xe1ticamente al iniciar el visor y es recreado autom\xe1ticamente en caso de desconexi\xf3n.","persistent-transport-button-tooltip":"Este transporte es persistente, as\xed que es creado autom\xe1ticamente al iniciar el visor y es recreado autom\xe1ticamente en caso de desconexi\xf3n. Presione aqu\xed para volverlo no persistente.","non-persistent-transport-button-tooltip":"Presione aqu\xed para volver persistente el transporte. Los transportes persistentes son creados autom\xe1ticamente al iniciar el visor y son recreados autom\xe1ticamente en caso de desconexi\xf3n.","make-persistent":"Volver persistente","make-non-persistent":"Volver no persistente","make-selected-persistent":"Volver persistentes los seleccionados","make-selected-non-persistent":"Volver no persistentes los seleccionados","changes-made":"Cambios hechos.","no-changes-needed":"Ning\xfan cambio fue necesario.","id":"ID","remote-node":"Remoto","type":"Tipo","create":"Crear transporte","make-persistent-confirmation":"\xbfSeguro que desea volver persistente el transporte?","make-non-persistent-confirmation":"\xbfSeguro que desea volver no persistente el transporte?","make-selected-persistent-confirmation":"\xbfSeguro que desea volver persistentes los transportes seleccionados?","make-selected-non-persistent-confirmation":"\xbfSeguro que desea volver no persistentes los transportes seleccionados?","make-offline-non-persistent-confirmation":"\xbfSeguro que desea volver no persistente el transporte? No seguir\xe1 siendo mostrado en la lista mientras se encuentre offline.","delete-confirmation":"\xbfSeguro que desea borrar el transporte?","delete-persistent-confirmation":"Este transporte es persistente, as\xed que puede ser recreado poco despu\xe9s de ser borrado. \xbfSeguro que desea borrarlo?","delete-selected-confirmation":"\xbfSeguro que desea borrar los transportes seleccionados?","delete":"Borrar transporte","deleted":"Operaci\xf3n de borrado completada.","empty":"El visor no tiene ning\xfan transporte.","empty-with-filter":"Ningun transporte coincide con los criterios de filtrado seleccionados.","details":{"title":"Detalles","basic":{"title":"Informaci\xf3n b\xe1sica","persistent":"Persistente:","id":"ID:","local-pk":"Llave p\xfablica local:","remote-pk":"Llave p\xfablica remota:","type":"Tipo:"},"data":{"title":"Transmisi\xf3n de datos","uploaded":"Datos enviados:","downloaded":"Datos recibidos:"}},"dialog":{"remote-key":"Llave p\xfablica remota","label":"Nombre del transporte (opcional)","transport-type":"Tipo de transporte","make-persistent":"Hacer persistente","persistent-tooltip":"Los transportes persistentes son creados autom\xe1ticamente al iniciar el visor y son recreados autom\xe1ticamente en caso de desconexi\xf3n.","only-persistent-created":"El transporte persistente fue creado, pero podr\xeda no haber sido activado.","success":"Transporte creado.","success-without-label":"El transporte fue creado, pero no fue posible guardar la etiqueta.","errors":{"remote-key-length-error":"La llave p\xfablica remota debe tener 66 caracteres.","remote-key-chars-error":"La llave p\xfablica remota s\xf3lo debe contener caracteres hexadecimales.","transport-type-error":"El tipo de transporte es requerido."}},"filter-dialog":{"persistent":"El transporte debe ser","id":"El id debe contener","remote-node":"La llave remota debe contener","persistent-options":{"any":"Cualquiera","persistent":"Persistente","non-persistent":"No persistente"}}},"routes":{"title":"Rutas","info":"Caminos utilizados para llegar a los visores remotos con los que se han establecido transportes. Las rutas se generan autom\xe1ticamente seg\xfan sea necesario.","list-title":"Lista de rutas","key":"Llave","type":"Tipo","source":"Inicio","destination":"Destino","delete-confirmation":"\xbfSeguro que desea borrar la ruta?","delete-selected-confirmation":"\xbfSeguro que desea borrar las rutas seleccionadas?","delete":"Borrar ruta","deleted":"Operaci\xf3n de borrado completada.","empty":"El visor no tiene ninguna ruta.","empty-with-filter":"Ninguna ruta coincide con los criterios de filtrado seleccionados.","details":{"title":"Detalles","basic":{"title":"Informaci\xf3n b\xe1sica","key":"Llave:","rule":"Regla:"},"summary":{"title":"Resumen de regla","keep-alive":"Keep alive:","type":"Tipo de regla:","key-route-id":"ID de la llave de la ruta:"},"specific-fields-titles":{"app":"Campos de applicaci\xf3n","forward":"Campos de reenv\xedo","intermediary-forward":"Campos de reenv\xedo intermedio"},"specific-fields":{"route-id":"ID de la siguiente ruta:","transport-id":"ID del siguiente transporte:","destination-pk":"Llave p\xfablica de destino:","source-pk":"Llave p\xfablica de origen:","destination-port":"Puerto de destino:","source-port":"Puerto de origen:"}},"filter-dialog":{"key":"La llave debe contener","type":"El tipo debe ser","source":"El inicio debe contener","destination":"El destino debe contener","any-type-option":"Cualquiera"}},"copy":{"tooltip":"Presione para copiar","tooltip-with-text":"{{ text }} (Presione para copiar)","copied":"\xa1Copiado!"},"selection":{"select-all":"Seleccionar todo","unselect-all":"Deseleccionar todo","delete-all":"Borrar los elementos seleccionados","start-all":"Iniciar las apps seleccionadas","stop-all":"Detener las apps seleccionadas","enable-autostart-all":"Habilitar el autoinicio de las apps seleccionadas","disable-autostart-all":"Deshabilitar el autoinicio de las apps seleccionadas"},"refresh-button":{"seconds":"Refrescado hace unos segundos","minute":"Refrescado hace un minuto","minutes":"Refrescado hace {{ time }} minutos","hour":"Refrescado hace una hora","hours":"Refrescado hace {{ time }} horas","day":"Refrescado hace un d\xeda","days":"Refrescado hace {{ time }} d\xedas","week":"Refrescado hace una semana","weeks":"Refrescado hace {{ time }} semanas","error-tooltip":"Hubo un error al intentar refrescar los datos. Reintentando autom\xe1ticamente cada {{ time }} segundos..."},"view-all-link":{"label":"Ver todos los {{ number }} elementos"},"paginator":{"first":"Primera","last":"\xdaltima","total":"Total: {{ number }} p\xe1ginas","select-page-title":"Seleccionar p\xe1gina"},"confirmation":{"header-text":"Confirmaci\xf3n","confirm-button":"S\xed","cancel-button":"No","close":"Cerrar","error-header-text":"Error","done-header-text":"Hecho"},"language":{"title":"Seleccionar lenguaje"},"tabs-window":{"title":"Cambiar pesta\xf1a"},"vpn":{"title":"Panel de Control de VPN","start":"Inicio","servers":"Servidores","settings":"Configuracion","unnamed":"Sin nombre","starting-blocked-server-error":"No se puede conectar con el servidor seleccionado porque se ha agregado a la lista de servidores bloqueados.","unexpedted-error":"Se produjo un error inesperado y no se pudo completar la operaci\xf3n.","remote-access-title":"Parece que est\xe1 accediendo al sistema de manera remota","remote-access-text":"Esta aplicaci\xf3n s\xf3lo permite administrar la protecci\xf3n VPN del dispositivo en el que fue instalada. Los cambios hechos con ella no afectar\xe1n a dispositivos remotos como el que parece estar usando. Tambi\xe9n es posible que los datos de IP que se muestren sean incorrectos.","server-change":{"busy-error":"El sistema est\xe1 ocupado. Por favor, espere.","backend-error":"No fue posible cambiar el servidor. Por favor, aseg\xfarese de que la clave p\xfablica sea correcta y de que la aplicaci\xf3n VPN se est\xe9 ejecutando.","already-selected-warning":"El servidor seleccionado ya est\xe1 siendo utilizando.","change-server-while-connected-confirmation":"La protecci\xf3n VPN se interrumpir\xe1 mientras se cambia el servidor y algunos datos pueden transmitirse sin protecci\xf3n durante el proceso. \xbfDesea continuar?","start-same-server-confirmation":"Ya hab\xeda seleccionado ese servidor. \xbfDesea conectarte a \xe9l?"},"error-page":{"text":"La aplicaci\xf3n de cliente VPN no est\xe1 disponible.","more-info":"No fue posible conectarse a la aplicaci\xf3n cliente VPN. Esto puede deberse a un error de configuraci\xf3n, un problema inesperado con el visor o porque utiliz\xf3 una clave p\xfablica no v\xe1lida en la URL.","text-pk":"Configuraci\xf3n inv\xe1lida.","more-info-pk":"La aplicaci\xf3n no puede ser iniciada porque no ha especificado la clave p\xfablica del visor.","text-storage":"Error al guardar los datos.","more-info-storage":"Ha habido un conflicto al intentar guardar los datos y la aplicaci\xf3n se ha cerrado para prevenir errores. Esto puede suceder si abre la aplicaci\xf3n en m\xe1s de una pesta\xf1a o ventana.","text-pk-change":"Operaci\xf3n inv\xe1lida.","more-info-pk-change":"Por favor, utilice esta aplicaci\xf3n para administrar s\xf3lo un cliente VPN."},"connection-info":{"state-title":"El estado de tu conexi\xf3n es actualmente:","state-connecting":"Conectando","state-connecting-info":"Se est\xe1 activando la protecci\xf3n VPN.","state-connected":"Conectado","state-connected-info":"La protecci\xf3n VPN est\xe1 activada.","state-disconnecting":"Desconectando","state-disconnecting-info":"Se est\xe1 desactivando la protecci\xf3n VPN.","state-reconnecting":"Reconectando","state-reconnecting-info":"Se est\xe1 restaurando la protecci\xf3n de VPN.","state-disconnected":"Desconectado","state-disconnected-info":"La protecci\xf3n VPN est\xe1 desactivada.","state-info":"Estado actual de la conexi\xf3n.","latency-info":"Latencia actual.","upload-info":"Velocidad de subida.","download-info":"Velocidad de descarga."},"connection-error":{"text":"Error de conexi\xf3n","info":"Problema conectando con la app vpn. Algunos datos mostrados podr\xedan estar desactualizados."},"status-page":{"start-title":"Iniciar VPN","no-server":"\xa1Ning\xfan servidor seleccionado!","disconnect":"Desconectar","last-error":"\xdaltimo error:","unknown-error":"Error desconocido.","disconnect-confirmation":"\xbfRealmente desea detener la protecci\xf3n VPN?","upload-info":"Estad\xedsticas de datos subidos.","download-info":"Estad\xedsticas de datos descargados.","latency-info":"Estad\xedsticas de latencia.","total-data-label":"total","problem-connecting-error":"No fue posible conectarse al servidor. El servidor puede no ser v\xe1lido o estar temporalmente inactivo.","problem-starting-error":"No fue posible iniciar la VPN. Por favor, aseg\xfarese de que la aplicaci\xf3n base de cliente VPN est\xe9 ejecutandose.","problem-stopping-error":"No fue posible detener la VPN. Por favor, aseg\xfarese de que la aplicaci\xf3n base de cliente VPN est\xe9 ejecutandose.","generic-problem-error":"No fue posible realizar la operaci\xf3n. Por favor, aseg\xfarese de que la aplicaci\xf3n base de cliente VPN est\xe9 ejecutandose.","select-server-warning":"Por favor, seleccione un servidor primero.","data":{"ip":"Direcci\xf3n IP:","ip-problem-info":"Hubo un problema al intentar obtener la IP. Por favor, verif\xedquela utilizando un servicio externo.","ip-country-problem-info":"Hubo un problema al intentar obtener el pa\xeds. Por favor, verif\xedquelo utilizando un servicio externo.","ip-refresh-info":"Refrescar","ip-refresh-time-warning":"Por favor, espere {{ seconds }} segundo(s) antes de refrescar los datos.","ip-refresh-loading-warning":"Por favor, espere a que finalice la operaci\xf3n anterior.","country":"Pa\xeds:","server":"Servidor:","server-note":"Nota del servidor:","original-server-note":"Nota original del servidor:","local-pk":"Llave p\xfablica del visor local:","remote-pk":"Llave p\xfablica del visor remoto:","unavailable":"No disponible"}},"server-options":{"tooltip":"Opciones","connect-without-password":"Conectarse sin contrase\xf1a","connect-without-password-confirmation":"La conexi\xf3n se realizar\xe1 sin la contrase\xf1a. \xbfSeguro que desea continuar?","connect-using-password":"Conectarse usando una contrase\xf1a","connect-using-another-password":"Conectarse usando otra contrase\xf1a","edit-name":"Nombre personalizado","edit-label":"Nota personalizada","make-favorite":"Hacer favorito","make-favorite-confirmation":"\xbfRealmente desea marcar este servidor como favorito? Se eliminar\xe1 de la lista de bloqueados.","make-favorite-done":"Agregado a la lista de favoritos.","remove-from-favorites":"Quitar de favoritos","remove-from-favorites-done":"Eliminado de la lista de favoritos.","block":"Bloquear servidor","block-done":"Agregado a la lista de bloqueados.","block-confirmation":"\xbfRealmente desea bloquear este servidor? Se eliminar\xe1 de la lista de favoritos.","block-selected-confirmation":"\xbfRealmente desea bloquear el servidor actualmente seleccionado? Se cerrar\xe1n todas las conexiones.","block-selected-favorite-confirmation":"\xbfRealmente desea bloquear el servidor actualmente seleccionado? Se cerrar\xe1n todas las conexiones y se eliminar\xe1 de la lista de favoritos.","unblock":"Desbloquear servidor","unblock-done":"Eliminado de la lista de bloqueados.","remove-from-history":"Quitar del historial","remove-from-history-confirmation":"\xbfRealmente desea quitar del historial el servidor?","remove-from-history-done":"Eliminado del historial.","edit-value":{"name-title":"Nombre Personalizado","note-title":"Nota Personalizada","name-label":"Nombre personalizado","note-label":"Nota personalizada","apply-button":"Aplicar","changes-made-confirmation":"Se ha realizado el cambio."}},"server-conditions":{"selected-info":"Este es el servidor actualmente seleccionado.","blocked-info":"Este servidor est\xe1 en la lista de bloqueados.","favorite-info":"Este servidor est\xe1 en la lista de favoritos.","history-info":"Este servidor est\xe1 en el historial de servidores.","has-password-info":"Se estableci\xf3 una contrase\xf1a para conectarse con este servidor."},"server-list":{"date-small-table-label":"Fecha","date-info":"\xdaltima vez en la que us\xf3 este servidor.","country-small-table-label":"Pa\xeds","country-info":"Pa\xeds donde se encuentra el servidor.","name-small-table-label":"Nombre","location-small-table-label":"Ubicaci\xf3n","public-key-small-table-label":"Lp","public-key-info":"Llave p\xfablica del servidor.","congestion-rating-small-table-label":"Calificaci\xf3n de congesti\xf3n","congestion-rating-info":"Calificaci\xf3n del servidor relacionada con lo congestionado que suele estar.","congestion-small-table-label":"Congesti\xf3n","congestion-info":"Congesti\xf3n actual del servidor.","latency-rating-small-table-label":"Calificaci\xf3n de latencia","latency-rating-info":"Calificaci\xf3n del servidor relacionada con la latencia que suele tener.","latency-small-table-label":"Latencia","latency-info":"Latencia actual del servidor.","hops-small-table-label":"Saltos","hops-info":"Cu\xe1ntos saltos se necesitan para conectarse con el servidor.","note-small-table-label":"Nota","note-info":"Nota acerca del servidor.","gold-rating-info":"Oro","silver-rating-info":"Plata","bronze-rating-info":"Bronce","notes-info":"Nota personalizada: {{ custom }} - Nota original: {{ original }}","empty-discovery":"Actualmente no hay servidores VPN para mostrar. Por favor, int\xe9ntelo de nuevo m\xe1s tarde.","empty-history":"No hay historial que mostrar.","empty-favorites":"No hay servidores favoritos para mostrar.","empty-blocked":"No hay servidores bloqueados para mostrar.","empty-with-filter":"Ning\xfan servidor VPN coincide con los criterios de filtrado seleccionados.","add-manually-info":"Agregar el servidor manualmente.","current-filters":"Filtros actuales (presione para eliminar)","none":"Ninguno","unknown":"Desconocido","tabs":{"public":"P\xfablicos","history":"Historial","favorites":"Favoritos","blocked":"Bloqueados"},"add-server-dialog":{"title":"Ingresar manualmente","pk-label":"Llave p\xfablica del servidor","password-label":"Contrase\xf1a del servidor (si tiene)","name-label":"Nombre del servidor (opcional)","note-label":"Nota personal (opcional)","pk-length-error":"La llave p\xfablica debe tener 66 caracteres.","pk-chars-error":"La llave p\xfablica s\xf3lo debe contener caracteres hexadecimales.","use-server-button":"Usar servidor"},"password-dialog":{"title":"Introducir Contrase\xf1a","password-if-any-label":"Contrase\xf1a del servidor (si tiene)","password-label":"Contrase\xf1a del servidor","continue-button":"Continuar"},"filter-dialog":{"country":"El pa\xeds debe ser","name":"El nombre debe contener","location":"La ubicaci\xf3n debe contener","public-key":"La llave p\xfablica debe contener","congestion-rating":"La calificaci\xf3n de congesti\xf3n debe ser","latency-rating":"La calificaci\xf3n de latencia debe ser","rating-options":{"any":"Cualquiera","gold":"Oro","silver":"Plata","bronze":"Bronce"},"country-options":{"any":"Cualquiera"}}},"settings-page":{"setting-small-table-label":"Ajuste","value-small-table-label":"Valor","killswitch":"Killswitch","killswitch-info":"Cuando est\xe1 activo, todas las conexiones de red se desactivar\xe1n si la aplicaci\xf3n se est\xe1 ejecutando pero la protecci\xf3n VPN es interrumpida (por errores temporales o cualquier otro problema). Esto evita fugas de datos.","get-ip":"Obtener informaci\xf3n de IP","get-ip-info":"Cuando est\xe1 activa, la aplicaci\xf3n utilizar\xe1 servicios externos para obtener informaci\xf3n sobre la IP actual.","data-units":"Unidades de datos","data-units-info":"Permite seleccionar las unidades que se utilizar\xe1n para mostrar las estad\xedsticas de transmisi\xf3n de datos.","minimum-hops":"Saltos m\xednimos","minimum-hops-info":"Permite configurar la cantidad m\xednima de saltos que la conexi\xf3n deber\xe1 realizar a trav\xe9s de otros visores de Skywire antes de alcanzar el destino final.","dns":"Servidor DNS personalizado","dns-info":"Permite usar un servidor DNS personalizado, lo que podr\xeda mejorar la privacidad y prevenir que algunos sitios sean bloqueados por el servidor DNS por defecto de su proveedor.","setting-none":"Ninguno","setting-on":"Encendido","setting-off":"Apagado","working-warning":"El sistema est\xe1 ocupado. Por favor, espere a que finalice la operaci\xf3n anterior.","change-while-connected-confirmation":"La protecci\xf3n VPN se interrumpir\xe1 mientras se realiza el cambio. \xbfDesea continuar?","data-units-modal":{"title":"Unidades de Datos","only-bits":"Bits para todas las estad\xedsticas","only-bytes":"Bytes para todas las estad\xedsticas","bits-speed-and-bytes-volume":"Bits para velocidad y bytes para volumen (predeterminado)"}},"dns-config":{"title":"Servidor DNS personalizado","ip":"Direcci\xf3n IP del servidor DNS personalizado","save-config-button":"Guardar configuraci\xf3n","done":"Cambios guardados."}}}')}}]); \ No newline at end of file diff --git a/pkg/visor/static/268.c7fec9c243c2618c.js b/pkg/visor/static/268.c7fec9c243c2618c.js deleted file mode 100644 index 8a94bdca84..0000000000 --- a/pkg/visor/static/268.c7fec9c243c2618c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkskywire_manager=self.webpackChunkskywire_manager||[]).push([[268],{4268:e=>{e.exports=JSON.parse('{"common":{"save":"Guardar","cancel":"Cancelar","downloaded":"Recibido","uploaded":"Enviado","loading-error":"Hubo un error obteniendo los datos. Reintentando...","operation-error":"Hubo un error al intentar completar la operaci\xf3n.","no-connection-error":"No hay conexi\xf3n a Internet o conexi\xf3n con el hipervisor.","error":"Error:","refreshed":"Datos refrescados.","options":"Opciones","logout":"Cerrar sesi\xf3n","logout-error":"Error cerrando la sesi\xf3n.","logout-confirmation":"Are you sure you want to log out?","time-in-ms":"{{ time }}ms.","time-in-segs":"{{ time }}s.","ok":"Ok","yes":"S\xed","no":"No","unknown":"Desconocido","close":"Cerrar","window-size-error":"La ventana es demasiado estrecha para el contenido."},"labeled-element":{"edit-label":"Editar etiqueta","remove-label":"Remover etiqueta","go-to-settings":"Ir a la configuraci\xf3n","copy":"Copiar","remove-label-confirmation":"\xbfRealmente desea eliminar la etiqueta?","unnamed-element":"Sin nombre","unnamed-local-visor":"Visor local","local-element":"Local","tooltip":"Haga clic para copiar la entrada o cambiar la etiqueta","tooltip-with-text":"{{ text }} (Haga clic para copiar la entrada o cambiar la etiqueta)"},"labels":{"title":"Etiquetas","info":"Etiquetas que ha introducido para identificar f\xe1cilmente visores, transportes y otros elementos, en lugar de tener que leer identificadores generados por una m\xe1quina.","list-title":"Lista de etiquetas","label":"Etiqueta","id":"ID del elemento","type":"Tipo","delete-confirmation":"\xbfSeguro que desea borrar la etiqueta?","delete-selected-confirmation":"\xbfSeguro que desea borrar las etiquetas seleccionados?","delete":"Borrar etiqueta","deleted":"Operaci\xf3n de borrado completada.","empty":"No hay etiquetas guardadas.","empty-with-filter":"Ninguna etiqueta coincide con los criterios de filtrado seleccionados.","filter-dialog":{"label":"La etiqueta debe contener","id":"El id debe contener","type":"El tipo debe ser","type-options":{"any":"Cualquiera","visor":"Visor","dmsg-server":"Servidor DMSG","transport":"Transporte"}}},"filters":{"filter-action":"Filtrar","filter-info":"Lista de filtros.","press-to-remove":"(Presione para remover los filtros)","remove-confirmation":"\xbfSeguro que desea remover los filtros?"},"tables":{"title":"Ordenar por","sorting-title":"Ordenado por:","sort-by-value":"Valor","sort-by-label":"Etiqueta","label":"(etiqueta)","inverted-order":"(invertido)"},"start":{"title":"Inicio","loading-error":"Hubo un error obteniendo los datos iniciales. Reintentando..."},"node":{"title":"Detalles del visor","not-found":"Visor no encontrado.","statuses":{"online":"Online","online-tooltip":"El visor se encuentra online.","connecting":"Conectando","connecting-tooltip":"El visor se encuentra online, pero todav\xeda est\xe1 conectando con el uptime tracker.","unknown":"Desconocido","unknown-tooltip":"El visor se encuentra online, pero no ha sido posible determinar si est\xe1 conectado con el uptime tracker.","partially-online":"Online con problemas","partially-online-tooltip":"El visor se encuentra online, pero desconectado del uptime tracker.","offline":"Offline","offline-tooltip":"El visor se encuentra offline."},"details":{"node-info":{"title":"Informaci\xf3n del visor","label":"Etiqueta:","public-key":"Llave p\xfablica:","symmetic-nat":"NAT sim\xe9trica:","public-ip":"IP p\xfablica:","ip":"IP:","dmsg-server":"Servidor DMSG:","ping":"Ping:","node-version":"Versi\xf3n del visor:","build-type":"Tipo de build:","skybian-version":"Versi\xf3n de Skybian:","unknown-build":"Desconocido","time":{"title":"Tiempo online:","seconds":"unos segundos","minute":"1 minuto","minutes":"{{ time }} minutos","hour":"1 hora","hours":"{{ time }} horas","day":"1 d\xeda","days":"{{ time }} d\xedas","week":"1 semana","weeks":"{{ time }} semanas"}},"rewards-info":{"title":"Informaci\xf3n de Recompensas","rewards-address":"Direcci\xf3n de recompensas:","not-registered":"No registrado","not-registered-info":"No ha especificado una direcci\xf3n de Skycoin para recibir recompensas para este visor. Si quiere registrar el visor para recibir recompensas, presione el bot\xf3n \\"Establecer direcci\xf3n\\" e introduzca la una direcci\xf3n de Skycoin.","open-in-explorer":"Abrir en el explorador de blockchain","set-address-button":"Establecer direcci\xf3n","change-address-button":"Cambiar direcci\xf3n"},"transports-info":{"title":"Informaci\xf3n de Transportes","autoconnect":"Autoconectar:","autoconnect-info":"Al activarse, el visor crear\xe1 autom\xe1ticamente los transportes necesarios cuando se solicite la conexi\xf3n a un visor p\xfablico. Al desactivarse, los transportes deber\xe1n ser creados antes de poder establecer la conexi\xf3n.","enabled":"Activado","disabled":"Desactivado","enable-button":"Activar","disable-button":"Desactivar","enable-confirmation":"\xbfSeguro que desea activar la funci\xf3n de autoconectar?","disable-confirmation":"\xbfSeguro que desea desactivar la funci\xf3n de autoconectar?","enable-done":"La funci\xf3n de autoconectar ha sido activada.","disable-done":"La funci\xf3n de autoconectar ha sido desactivada."},"router-info":{"title":"Informaci\xf3n del Enrutador","min-hops":"Saltos m\xednimos:","max-hops":"Saltos m\xe1ximos:","change-config-button":"Cambiar configuraci\xf3n"},"node-health":{"title":"Informaci\xf3n de Salud","status":"Estatus:","transport-discovery":"Transport discovery:","route-finder":"Route finder:","setup-node":"Setup node:","uptime-tracker":"Uptime tracker:","address-resolver":"Address resolver:","element-offline":"Offline"},"node-traffic-data":"Datos de tr\xe1fico"},"tabs":{"info":"Info","apps":"Apps","routing":"Enrutamiento"},"error-load":"Hubo un error al intentar refrescar los datos. Reintentando..."},"rewards-address-config":{"title":"Configuraci\xf3n de direcci\xf3n de recompensas","info":"Aqu\xed usted puede establecer la direcci\xf3n de Skycoin a la que quiere que se env\xeden las recompensas. Si deja la direcci\xf3n vac\xeda, el registro ser\xe1 eliminado y el visor no recibir\xe1 recompensas.","more-info-link":"(M\xe1s informaci\xf3n acerca del sistema de recompensas)","address":"Direcci\xf3n ","address-error":"Por favor, coloque una direcci\xf3n Skycoin valida.","save-config-button":"Guardar configuraci\xf3n","done":"Cambios guardados.","empty-warning":"La direcci\xf3n est\xe1 vac\xeda, as\xed que el registro ser\xe1 eliminado y no recibir\xe1 recompensas. \xbfRealmente desea continuar?"},"router-config":{"title":"Configuraci\xf3n del Enrutador","info":"Aqu\xed podr\xe1 configurar cuantos saltos la conexi\xf3n deber\xe1 realizar a trav\xe9s de otros visores de Skywire antes de alcanzar el destino final. NOTA: los cambios no afectar\xe1n a las rutas ya existentes.","min-hops":"Saltos m\xednimos","min-hops-error":"Por favor, coloque un n\xfamero valido.","save-config-button":"Guardar configuraci\xf3n","done":"Cambios guardados."},"nodes":{"title":"Lista de visores","dmsg-title":"DMSG","modify-rewards-all":"Cambiar direcci\xf3n de recompensas","update-all":"Actualizar todos los visores online","hypervisor":"Hypervisor","state":"Estado","state-tooltip":"Estado actual","label":"Etiqueta","key":"Llave","dmsg-server":"Servidor DMSG","ping":"Ping","hypervisor-info":"Este visor es el Hypervisor actual.","copy-key":"Copiar llave","copy-dmsg":"Copiar llave DMSG","copy-data":"Copiar datos","view-node":"Ver visor","delete-node":"Remover visor","delete-all-offline":"Remover todos los visores offline","error-load":"Hubo un error al intentar refrescar la lista. Reintentando...","empty":"No hay ning\xfan visor conectado a este hypervisor.","empty-with-filter":"Ningun visor coincide con los criterios de filtrado seleccionados.","delete-node-confirmation":"\xbfSeguro que desea remover el visor de la lista?","delete-all-offline-confirmation":"\xbfSeguro que desea remover todos los visores offline de la lista?","delete-all-filtered-offline-confirmation":"Todos los visores offline que satisfagan los criterios de filtrado actuales ser\xe1n removidos de la lista. \xbfSeguro que desea continuar?","deleted":"Visor removido.","deleted-singular":"1 visor offline removido.","deleted-plural":"{{ number }} visores offline removidos.","no-visors-to-update":"No hay visores para actualizar.","no-visors-to-modify":"No hay visores para modificar.","filter-dialog":{"online":"El visor debe estar","label":"La etiqueta debe contener","key":"La llave debe contener","dmsg":"La llave del servidor DMSG debe contener","online-options":{"any":"Online u offline","online":"Online","offline":"Offline"}}},"bulk-rewards":{"title":"Cambiar direcci\xf3n de recompensas","info":"Introduzca la direcci\xf3n de Skycoin donde desea recibir las recompensas. La direcci\xf3n ser\xe1 establecida en todos los visores seleccionados. Si deja la direcci\xf3n vac\xeda, el registro ser\xe1 eliminado y los visores no recibir\xe1n recompensas. Tambi\xe9n puede colocar la direcci\xf3n de recompensas de cada visor individualmente usando la opci\xf3n en la pantalla de detalles del visor.","more-info-link":"(M\xe1s informaci\xf3n acerca del sistema de recompensas)","address":"Nueva direcci\xf3n","select-visors":"Visores a modificar:","current-address":"Direcci\xf3n actual:","not-registered":"Ninguna (no registrado para recompensas).","checking":"Consultando...","error-checking":"Error consultando:","processing":"Procesando...","error-processing":"Error realizando el cambio:","done":"Cambio realizado.","perform-changes":"Aplicar cambios","empty-warning":"La direcci\xf3n est\xe1 vac\xeda, as\xed que los registros ser\xe1n eliminados y no recibir\xe1 recompensas. \xbfRealmente desea continuar?"},"edit-label":{"label":"Etiqueta","done":"Etiqueta guardada.","label-removed-warning":"La etiqueta fue removida."},"settings":{"title":"Configuraci\xf3n","checking-auth":"Revisando configuraci\xf3n de autenticaci\xf3n.","password":{"initial-config-help":"Use esta opci\xf3n para establecer la contrase\xf1a inicial. Despu\xe9s de establecer una contrase\xf1a no es posible usar esta opci\xf3n para modificarla.","help":"Opciones para cambiar la contrase\xf1a.","old-password":"Contrase\xf1a actual","new-password":"Nueva contrase\xf1a","repeat-password":"Repita la contrase\xf1a","password-changed":"Contrase\xf1a cambiada.","error-changing":"Error cambiando la contrase\xf1a.","initial-config":{"title":"Establecer contrase\xf1a inicial","password":"Contrase\xf1a","repeat-password":"Repita la contrase\xf1a","set-password":"Establecer contrase\xf1a","done":"Contrase\xf1a establecida. Por favor \xfasela para acceder al sistema.","error":"Error. Por favor aseg\xfarese de que no hubiese establecido la contrase\xf1a anteriormente."},"errors":{"bad-old-password":"La contrase\xf1a actual introducida no es correcta.","old-password-required":"La contrase\xf1a actual es requerida.","new-password-error":"La contrase\xf1a debe tener entre 6 y 64 caracteres.","passwords-not-match":"Las contrase\xf1as no coinciden.","default-password":"No utilice la contrase\xf1a por defecto (1234)."}},"updater-config":{"open-link":"Mostrar la configuraci\xf3n del actualizador","open-confirmation":"La configuraci\xf3n del actualizador es s\xf3lo para usuarios experimentados. Seguro que desea continuar?","help":"Utilice este formulario para modificar la configuraci\xf3n que utilizar\xe1 el actualizador. Se ignorar\xe1n todos los campos vac\xedos. La configuraci\xf3n se utilizar\xe1 para todas las operaciones de actualizaci\xf3n, sin importar qu\xe9 elemento se est\xe9 actualizando, as\xed que por favor tenga cuidado.","channel":"Canal","version":"Versi\xf3n","archive-url":"URL del archivo","checksum-url":"URL del checksum","not-saved":"Los cambios a\xfan no se han guardado.","save":"Guardar cambios","remove-settings":"Remover la configuraci\xf3n","saved":"Las configuracion personalizada ha sido guardada.","removed":"Las configuracion personalizada ha sido removida.","save-confirmation":"\xbfSeguro que desea aplicar la configuraci\xf3n personalizada?","remove-confirmation":"\xbfSeguro que desea remover la configuraci\xf3n personalizada?"},"change-password":"Cambiar contrase\xf1a","refresh-rate":"Frecuencia de refrescado","refresh-rate-help":"Tiempo que el sistema espera para actualizar autom\xe1ticamente los datos.","refresh-rate-confirmation":"Frecuencia de refrescado cambiada.","seconds":"segundos"},"login":{"password":"Contrase\xf1a","incorrect-password":"Contrase\xf1a incorrecta.","initial-config":"Configurar lanzamiento inicial"},"actions":{"menu":{"terminal":"Terminal","config":"Configuraci\xf3n","update":"Actualizar","reboot":"Reiniciar","logs":"Ver logs"},"reboot":{"confirmation":"\xbfSeguro que desea reiniciar el visor?","done":"El visor se est\xe1 reiniciando."},"update":{"confirmation":"Una terminal ser\xe1 abierta en una nueva pesta\xf1a y el proceso de actualizaci\xf3n iniciar\xe1 autom\xe1ticamente. \xbfDesea continuar?"},"terminal-options":{"full":"Terminal completa","simple":"Terminal simple"},"terminal":{"title":"Terminal","input-start":"Terminal de Skywire para {{address}}","error":"Error inesperado mientras se intentaba ejecutar el comando."}},"update":{"title":"Actualizar","error-title":"Error","processing":"Buscando actualizaciones...","no-update":"No hay ninguna actualizaci\xf3n para el visor. La versi\xf3n instalada actualmente es:","no-updates":"No se encontraron nuevas actualizaciones.","already-updating":"Algunos visores ya est\xe1n siendo actualizandos:","with-error":"No fue posible verificar los siguientes visores:","update-available":"Las siguientes actualizaciones fueron encontradas:","update-available-singular":"Las siguientes actualizaciones para 1 visor fueron encontradas:","update-available-plural":"Las siguientes actualizaciones para {{ number }} visores fueron encontradas:","update-available-additional-singular":"Las siguientes actualizaciones adicionales para 1 visor fueron encontradas:","update-available-additional-plural":"Las siguientes actualizaciones adicionales para {{ number }} visores fueron encontradas:","update-instructions":"Haga clic en el bot\xf3n \'Instalar actualizaciones\' para continuar.","updating":"La operaci\xf3n de actualizaci\xf3n se ha iniciado, puede abrir esta ventana nuevamente para verificar el progreso:","version-change":"De {{ currentVersion }} a {{ newVersion }}","selected-channel":"Canal seleccionado:","downloaded-file-name-prefix":"Descargando: ","speed-prefix":"Velocidad: ","time-downloading-prefix":"Tiempo descargando: ","time-left-prefix":"Tiempo aprox. faltante: ","starting":"Preparando para actualizar","finished":"Conexi\xf3n de estado terminada","install":"Instalar actualizaciones"},"update-all":{"title":"Actualizar","updatable-list-text":"Por favor, presione los botones de los visores que desea actualizar. Una terminal ser\xe1 abierta en una nueva pesta\xf1a por cada visor y el proceso de actualizaci\xf3n iniciar\xe1 autom\xe1ticamente.","non-updatable-list-text":"Los siguientes visores no pueden ser actualizados v\xeda la terminal:","update-button":"Actualizar"},"apps":{"log":{"title":"Log","empty":"No hay mensajes de log para el rango de fecha seleccionado.","filter-button":"Mostrando s\xf3lo logs generados desde:","view-all":"Ver todas las {{ totalLogs }} entradas","filter":{"title":"Filtro","filter":"Mostrar s\xf3lo logs generados desde","7-days":"Los \xfaltimos 7 d\xedas","1-month":"Los \xfaltimos 30 d\xedas","3-months":"Los \xfaltimos 3 meses","6-months":"Los \xfaltimos 6 meses","1-year":"El \xfaltimo a\xf1o","all":"mostrar todos"}},"apps-list":{"title":"Aplicaciones","title-official":"Aplicaciones Oficiales","title-user":"Aplicaciones de Usuario","list-title":"Lista de aplicaciones","app-name":"Nombre","port":"Puerto","state":"Estado","state-tooltip":"Estado actual","auto-start":"Autoinicio","empty-official":"El visor no tiene ninguna aplicaci\xf3n oficial.","empty-user":"El visor no tiene ninguna aplicaci\xf3n de usuario.","empty-with-filter":"Ninguna app coincide con los criterios de filtrado seleccionados.","disable-autostart":"Deshabilitar autoinicio","enable-autostart":"Habilitar autoinicio","autostart-disabled":"Autoinicio deshabilitado","autostart-enabled":"Autoinicio habilitado","unavailable-logs-error":"No es posible mostrar los logs mientras la aplicaci\xf3n no se est\xe1 ejecutando.","filter-dialog":{"state":"El estado debe ser","name":"El nombre debe contener","port":"El puerto debe contener","autostart":"El autoinicio debe estar","state-options":{"any":"Iniciada o detenida","running":"Iniciada","stopped":"Detenida"},"autostart-options":{"any":"Activado or desactivado","enabled":"Activado","disabled":"Desactivado"}}},"user-app-settings":{"title":"{{ name }} (Configuraci\xf3n)","info":"Aqu\xed puede editar la configuraci\xf3n de la app como pares nombre-valor. Por favor, revise la documentaci\xf3n de la aplicaci\xf3n para ver cu\xe1les configuraciones y valores soporta esta app.","name":"Nombre {{ number }}","value":"Valor {{ number }}","remove":"Remover","add":"Agregar configuraci\xf3n","save":"Guardar","invalid-confirmation":"Una o m\xe1s configuraciones no tienen nombre y ser\xe1n ignoradas. \xbfDesea continuar?","empty-confirmation":"La lista de configuraci\xf3n est\xe1 vac\xeda. \xbfRealmente desea continuar?","changes-made":"Los cambios han sido realizados."},"vpn-socks-server-settings":{"socks-title":"Configuraci\xf3n de Skysocks","vpn-title":"Configuraci\xf3n de VPN-Server","new-password":"Nueva contrase\xf1a (dejar en blanco para eliminar la contrase\xf1a)","repeat-password":"Repita la contrase\xf1a","netifc":"Interfaz de red predeterminada (opcional)","passwords-not-match":"Las contrase\xf1as no coinciden.","secure-mode-check":"Usar modo seguro","secure-mode-info":"Cuando est\xe1 activo, el servidor no permite SSH con los clientes y no permite ning\xfan tr\xe1fico de clientes VPN a la red local del servidor.","save":"Guardar","remove-passowrd-confirmation":"Ha dejado el campo de contrase\xf1a vac\xedo. \xbfSeguro que desea eliminar la contrase\xf1a?","change-passowrd-confirmation":"\xbfSeguro que desea cambiar la contrase\xf1a?","changes-made":"Los cambios han sido realizados."},"vpn-socks-client-settings":{"socks-title":"Configuraci\xf3n de Skysocks-Client","vpn-title":"Configuraci\xf3n de VPN-Client","discovery-tab":"Buscar","remote-visor-tab":"Introducir manualmente","settings-tab":"Configuracion","history-tab":"Historial","use":"Usar estos datos","change-note":"Cambiar nota","remove-entry":"Remover entrada","note":"Nota:","note-entered-manually":"Introducido manualmente","note-obtained":"Obtenido del servicio de descubrimiento","key":"Llave:","port":"Puerto:","location":"Ubicaci\xf3n:","state-available":"Disponible","state-offline":"Offline","public-key":"Llave p\xfablica del visor remoto","password":"Contrase\xf1a","password-history-warning":"Nota: la contrase\xf1a no se guardar\xe1 en el historial.","copy-pk-info":"Copiar la llave p\xfablica.","copied-pk-info":"La llave p\xfablica ha sido copiada.","copy-pk-error":"Hubo un problema al intentar cambiar la llave p\xfablica.","no-elements":"Actualmente no hay elementos para mostrar. Por favor, int\xe9ntelo de nuevo m\xe1s tarde.","no-elements-for-filters":"No hay elementos que cumplan los criterios de filtro.","no-filter":"No se ha seleccionado ning\xfan filtro","click-to-change":"Haga clic para cambiar","remote-key-length-error":"La llave p\xfablica debe tener 66 caracteres.","remote-key-chars-error":"La llave p\xfablica s\xf3lo debe contener caracteres hexadecimales.","save":"Guardar","remove-from-history-confirmation":"\xbfSeguro de que desea eliminar la entrada del historial?","change-key-confirmation":"\xbfSeguro que desea cambiar la llave p\xfablica del visor remoto?","changes-made":"Los cambios han sido realizados.","no-history":"Esta pesta\xf1a mostrar\xe1 las \xfaltimas {{ number }} llaves p\xfablicas usadas.","default-note-warning":"La nota por defecto ha sido utilizada.","pagination-info":"{{ currentElementsRange }} de {{ totalElements }}","dns":"Direcci\xf3n IP del servidor DNS personalizado","dns-error":"Valor inv\xe1lido.","killswitch-check":"Activar killswitch","killswitch-info":"Cuando est\xe1 activo, todas las conexiones de red se desactivar\xe1n si la aplicaci\xf3n se est\xe1 ejecutando pero la protecci\xf3n VPN est\xe1 interrumpida (por errores temporales o cualquier otro problema). Esto evita fugas de datos.","settings-changed-alert":"Los cambios a\xfan no se han guardado.","save-settings":"Guardar configuracion","change-note-dialog":{"title":"Cambiar Nota","note":"Nota"},"password-dialog":{"title":"Introducir Contrase\xf1a","password":"Contrase\xf1a","info":"Se le solicita una contrase\xf1a porque una contrase\xf1a fue utilizada cuando se cre\xf3 la entrada seleccionada, pero no fue guardada por razones de seguridad. Puede dejar la contrase\xf1a vac\xeda si es necesario.","continue-button":"Continuar"},"filter-dialog":{"title":"Filtros","country":"El pa\xeds debe ser","any-country":"Cualquiera","location":"La ubicaci\xf3n debe contener","pub-key":"La llave p\xfablica debe contener","apply":"Aplicar"}},"stop-app":"Detener","start-app":"Iniciar","view-logs":"Ver logs","settings":"Configuraci\xf3n","open":"Abrir","error":"Se produjo un error y no fue posible realizar la operaci\xf3n.","stop-confirmation":"\xbfSeguro que desea detener la aplicaci\xf3n?","stop-selected-confirmation":"\xbfSeguro que desea detener las aplicaciones seleccionadas?","disable-autostart-confirmation":"\xbfSeguro que desea deshabilitar el autoinicio de la aplicaci\xf3n?","enable-autostart-confirmation":"\xbfSeguro que desea habilitar el autoinicio de la aplicaci\xf3n?","disable-autostart-selected-confirmation":"\xbfSeguro que desea deshabilitar el autoinicio de las aplicaciones seleccionadas?","enable-autostart-selected-confirmation":"\xbfSeguro que desea habilitar el autoinicio de las aplicaciones seleccionadas?","operation-completed":"Operaci\xf3n completada.","operation-unnecessary":"La selecci\xf3n ya tiene la configuraci\xf3n solicitada.","status-running":"Corriendo","status-connecting":"Conectando","status-stopped":"Detenida","status-failed":"Finaliz\xf3 con el siguiente error: {{ error }}","status-running-tooltip":"La aplicaci\xf3n est\xe1 actualmente corriendo","status-connecting-tooltip":"La aplicaci\xf3n est\xe1 actualmente conectando","status-stopped-tooltip":"La aplicaci\xf3n est\xe1 actualmente detenida","status-failed-tooltip":"La app finaliz\xf3 con el siguiente error: {{ error }}"},"transports":{"title":"Transportes","info":"Conexiones que tiene con visores remotos de Skywire, para permitir que las aplicaciones Skywire locales se comuniquen con las aplicaciones que se ejecutan en esos visores remotos.","list-title":"Lista de transportes","offline":"Offline","persistent":"Persistente","persistent-tooltip":"Transportes persistentes, los cuales son creados autom\xe1ticamente al iniciar el visor y son recreados autom\xe1ticamente en caso de desconexi\xf3n.","persistent-transport-tooltip":"Este transporte es persistente, as\xed que es creado autom\xe1ticamente al iniciar el visor y es recreado autom\xe1ticamente en caso de desconexi\xf3n.","persistent-transport-button-tooltip":"Este transporte es persistente, as\xed que es creado autom\xe1ticamente al iniciar el visor y es recreado autom\xe1ticamente en caso de desconexi\xf3n. Presione aqu\xed para volverlo no persistente.","non-persistent-transport-button-tooltip":"Presione aqu\xed para volver persistente el transporte. Los transportes persistentes son creados autom\xe1ticamente al iniciar el visor y son recreados autom\xe1ticamente en caso de desconexi\xf3n.","make-persistent":"Volver persistente","make-non-persistent":"Volver no persistente","make-selected-persistent":"Volver persistentes los seleccionados","make-selected-non-persistent":"Volver no persistentes los seleccionados","changes-made":"Cambios hechos.","no-changes-needed":"Ning\xfan cambio fue necesario.","id":"ID","remote-node":"Remoto","type":"Tipo","create":"Crear transporte","make-persistent-confirmation":"\xbfSeguro que desea volver persistente el transporte?","make-non-persistent-confirmation":"\xbfSeguro que desea volver no persistente el transporte?","make-selected-persistent-confirmation":"\xbfSeguro que desea volver persistentes los transportes seleccionados?","make-selected-non-persistent-confirmation":"\xbfSeguro que desea volver no persistentes los transportes seleccionados?","make-offline-non-persistent-confirmation":"\xbfSeguro que desea volver no persistente el transporte? No seguir\xe1 siendo mostrado en la lista mientras se encuentre offline.","delete-confirmation":"\xbfSeguro que desea borrar el transporte?","delete-persistent-confirmation":"Este transporte es persistente, as\xed que puede ser recreado poco despu\xe9s de ser borrado. \xbfSeguro que desea borrarlo?","delete-selected-confirmation":"\xbfSeguro que desea borrar los transportes seleccionados?","delete":"Borrar transporte","deleted":"Operaci\xf3n de borrado completada.","empty":"El visor no tiene ning\xfan transporte.","empty-with-filter":"Ningun transporte coincide con los criterios de filtrado seleccionados.","details":{"title":"Detalles","basic":{"title":"Informaci\xf3n b\xe1sica","persistent":"Persistente:","id":"ID:","local-pk":"Llave p\xfablica local:","remote-pk":"Llave p\xfablica remota:","type":"Tipo:"},"data":{"title":"Transmisi\xf3n de datos","uploaded":"Datos enviados:","downloaded":"Datos recibidos:"}},"dialog":{"remote-key":"Llave p\xfablica remota","label":"Nombre del transporte (opcional)","transport-type":"Tipo de transporte","make-persistent":"Hacer persistente","persistent-tooltip":"Los transportes persistentes son creados autom\xe1ticamente al iniciar el visor y son recreados autom\xe1ticamente en caso de desconexi\xf3n.","only-persistent-created":"El transporte persistente fue creado, pero podr\xeda no haber sido activado.","success":"Transporte creado.","success-without-label":"El transporte fue creado, pero no fue posible guardar la etiqueta.","errors":{"remote-key-length-error":"La llave p\xfablica remota debe tener 66 caracteres.","remote-key-chars-error":"La llave p\xfablica remota s\xf3lo debe contener caracteres hexadecimales.","transport-type-error":"El tipo de transporte es requerido."}},"filter-dialog":{"persistent":"El transporte debe ser","id":"El id debe contener","remote-node":"La llave remota debe contener","persistent-options":{"any":"Cualquiera","persistent":"Persistente","non-persistent":"No persistente"}}},"routes":{"title":"Rutas","info":"Caminos utilizados para llegar a los visores remotos con los que se han establecido transportes. Las rutas se generan autom\xe1ticamente seg\xfan sea necesario.","list-title":"Lista de rutas","key":"Llave","type":"Tipo","source":"Inicio","destination":"Destino","delete-confirmation":"\xbfSeguro que desea borrar la ruta?","delete-selected-confirmation":"\xbfSeguro que desea borrar las rutas seleccionadas?","delete":"Borrar ruta","deleted":"Operaci\xf3n de borrado completada.","empty":"El visor no tiene ninguna ruta.","empty-with-filter":"Ninguna ruta coincide con los criterios de filtrado seleccionados.","details":{"title":"Detalles","basic":{"title":"Informaci\xf3n b\xe1sica","key":"Llave:","rule":"Regla:"},"summary":{"title":"Resumen de regla","keep-alive":"Keep alive:","type":"Tipo de regla:","key-route-id":"ID de la llave de la ruta:"},"specific-fields-titles":{"app":"Campos de applicaci\xf3n","forward":"Campos de reenv\xedo","intermediary-forward":"Campos de reenv\xedo intermedio"},"specific-fields":{"route-id":"ID de la siguiente ruta:","transport-id":"ID del siguiente transporte:","destination-pk":"Llave p\xfablica de destino:","source-pk":"Llave p\xfablica de origen:","destination-port":"Puerto de destino:","source-port":"Puerto de origen:"}},"filter-dialog":{"key":"La llave debe contener","type":"El tipo debe ser","source":"El inicio debe contener","destination":"El destino debe contener","any-type-option":"Cualquiera"}},"copy":{"tooltip":"Presione para copiar","tooltip-with-text":"{{ text }} (Presione para copiar)","copied":"\xa1Copiado!"},"selection":{"select-all":"Seleccionar todo","unselect-all":"Deseleccionar todo","delete-all":"Borrar los elementos seleccionados","start-all":"Iniciar las apps seleccionadas","stop-all":"Detener las apps seleccionadas","enable-autostart-all":"Habilitar el autoinicio de las apps seleccionadas","disable-autostart-all":"Deshabilitar el autoinicio de las apps seleccionadas"},"refresh-button":{"seconds":"Refrescado hace unos segundos","minute":"Refrescado hace un minuto","minutes":"Refrescado hace {{ time }} minutos","hour":"Refrescado hace una hora","hours":"Refrescado hace {{ time }} horas","day":"Refrescado hace un d\xeda","days":"Refrescado hace {{ time }} d\xedas","week":"Refrescado hace una semana","weeks":"Refrescado hace {{ time }} semanas","error-tooltip":"Hubo un error al intentar refrescar los datos. Reintentando autom\xe1ticamente cada {{ time }} segundos..."},"view-all-link":{"label":"Ver todos los {{ number }} elementos"},"paginator":{"first":"Primera","last":"\xdaltima","total":"Total: {{ number }} p\xe1ginas","select-page-title":"Seleccionar p\xe1gina"},"confirmation":{"header-text":"Confirmaci\xf3n","confirm-button":"S\xed","cancel-button":"No","close":"Cerrar","error-header-text":"Error","done-header-text":"Hecho"},"language":{"title":"Seleccionar lenguaje"},"tabs-window":{"title":"Cambiar pesta\xf1a"},"vpn":{"title":"Panel de Control de VPN","start":"Inicio","servers":"Servidores","settings":"Configuracion","unnamed":"Sin nombre","starting-blocked-server-error":"No se puede conectar con el servidor seleccionado porque se ha agregado a la lista de servidores bloqueados.","unexpedted-error":"Se produjo un error inesperado y no se pudo completar la operaci\xf3n.","remote-access-title":"Parece que est\xe1 accediendo al sistema de manera remota","remote-access-text":"Esta aplicaci\xf3n s\xf3lo permite administrar la protecci\xf3n VPN del dispositivo en el que fue instalada. Los cambios hechos con ella no afectar\xe1n a dispositivos remotos como el que parece estar usando. Tambi\xe9n es posible que los datos de IP que se muestren sean incorrectos.","server-change":{"busy-error":"El sistema est\xe1 ocupado. Por favor, espere.","backend-error":"No fue posible cambiar el servidor. Por favor, aseg\xfarese de que la clave p\xfablica sea correcta y de que la aplicaci\xf3n VPN se est\xe9 ejecutando.","already-selected-warning":"El servidor seleccionado ya est\xe1 siendo utilizando.","change-server-while-connected-confirmation":"La protecci\xf3n VPN se interrumpir\xe1 mientras se cambia el servidor y algunos datos pueden transmitirse sin protecci\xf3n durante el proceso. \xbfDesea continuar?","start-same-server-confirmation":"Ya hab\xeda seleccionado ese servidor. \xbfDesea conectarte a \xe9l?"},"error-page":{"text":"La aplicaci\xf3n de cliente VPN no est\xe1 disponible.","more-info":"No fue posible conectarse a la aplicaci\xf3n cliente VPN. Esto puede deberse a un error de configuraci\xf3n, un problema inesperado con el visor o porque utiliz\xf3 una clave p\xfablica no v\xe1lida en la URL.","text-pk":"Configuraci\xf3n inv\xe1lida.","more-info-pk":"La aplicaci\xf3n no puede ser iniciada porque no ha especificado la clave p\xfablica del visor.","text-storage":"Error al guardar los datos.","more-info-storage":"Ha habido un conflicto al intentar guardar los datos y la aplicaci\xf3n se ha cerrado para prevenir errores. Esto puede suceder si abre la aplicaci\xf3n en m\xe1s de una pesta\xf1a o ventana.","text-pk-change":"Operaci\xf3n inv\xe1lida.","more-info-pk-change":"Por favor, utilice esta aplicaci\xf3n para administrar s\xf3lo un cliente VPN."},"connection-info":{"state-title":"El estado de tu conexi\xf3n es actualmente:","state-connecting":"Conectando","state-connecting-info":"Se est\xe1 activando la protecci\xf3n VPN.","state-connected":"Conectado","state-connected-info":"La protecci\xf3n VPN est\xe1 activada.","state-disconnecting":"Desconectando","state-disconnecting-info":"Se est\xe1 desactivando la protecci\xf3n VPN.","state-reconnecting":"Reconectando","state-reconnecting-info":"Se est\xe1 restaurando la protecci\xf3n de VPN.","state-disconnected":"Desconectado","state-disconnected-info":"La protecci\xf3n VPN est\xe1 desactivada.","state-info":"Estado actual de la conexi\xf3n.","latency-info":"Latencia actual.","upload-info":"Velocidad de subida.","download-info":"Velocidad de descarga."},"connection-error":{"text":"Error de conexi\xf3n","info":"Problema conectando con la app vpn. Algunos datos mostrados podr\xedan estar desactualizados."},"status-page":{"start-title":"Iniciar VPN","no-server":"\xa1Ning\xfan servidor seleccionado!","disconnect":"Desconectar","last-error":"\xdaltimo error:","unknown-error":"Error desconocido.","disconnect-confirmation":"\xbfRealmente desea detener la protecci\xf3n VPN?","upload-info":"Estad\xedsticas de datos subidos.","download-info":"Estad\xedsticas de datos descargados.","latency-info":"Estad\xedsticas de latencia.","total-data-label":"total","problem-connecting-error":"No fue posible conectarse al servidor. El servidor puede no ser v\xe1lido o estar temporalmente inactivo.","problem-starting-error":"No fue posible iniciar la VPN. Por favor, aseg\xfarese de que la aplicaci\xf3n base de cliente VPN est\xe9 ejecutandose.","problem-stopping-error":"No fue posible detener la VPN. Por favor, aseg\xfarese de que la aplicaci\xf3n base de cliente VPN est\xe9 ejecutandose.","generic-problem-error":"No fue posible realizar la operaci\xf3n. Por favor, aseg\xfarese de que la aplicaci\xf3n base de cliente VPN est\xe9 ejecutandose.","select-server-warning":"Por favor, seleccione un servidor primero.","data":{"ip":"Direcci\xf3n IP:","ip-problem-info":"Hubo un problema al intentar obtener la IP. Por favor, verif\xedquela utilizando un servicio externo.","ip-country-problem-info":"Hubo un problema al intentar obtener el pa\xeds. Por favor, verif\xedquelo utilizando un servicio externo.","ip-refresh-info":"Refrescar","ip-refresh-time-warning":"Por favor, espere {{ seconds }} segundo(s) antes de refrescar los datos.","ip-refresh-loading-warning":"Por favor, espere a que finalice la operaci\xf3n anterior.","country":"Pa\xeds:","server":"Servidor:","server-note":"Nota del servidor:","original-server-note":"Nota original del servidor:","local-pk":"Llave p\xfablica del visor local:","remote-pk":"Llave p\xfablica del visor remoto:","unavailable":"No disponible"}},"server-options":{"tooltip":"Opciones","connect-without-password":"Conectarse sin contrase\xf1a","connect-without-password-confirmation":"La conexi\xf3n se realizar\xe1 sin la contrase\xf1a. \xbfSeguro que desea continuar?","connect-using-password":"Conectarse usando una contrase\xf1a","connect-using-another-password":"Conectarse usando otra contrase\xf1a","edit-name":"Nombre personalizado","edit-label":"Nota personalizada","make-favorite":"Hacer favorito","make-favorite-confirmation":"\xbfRealmente desea marcar este servidor como favorito? Se eliminar\xe1 de la lista de bloqueados.","make-favorite-done":"Agregado a la lista de favoritos.","remove-from-favorites":"Quitar de favoritos","remove-from-favorites-done":"Eliminado de la lista de favoritos.","block":"Bloquear servidor","block-done":"Agregado a la lista de bloqueados.","block-confirmation":"\xbfRealmente desea bloquear este servidor? Se eliminar\xe1 de la lista de favoritos.","block-selected-confirmation":"\xbfRealmente desea bloquear el servidor actualmente seleccionado? Se cerrar\xe1n todas las conexiones.","block-selected-favorite-confirmation":"\xbfRealmente desea bloquear el servidor actualmente seleccionado? Se cerrar\xe1n todas las conexiones y se eliminar\xe1 de la lista de favoritos.","unblock":"Desbloquear servidor","unblock-done":"Eliminado de la lista de bloqueados.","remove-from-history":"Quitar del historial","remove-from-history-confirmation":"\xbfRealmente desea quitar del historial el servidor?","remove-from-history-done":"Eliminado del historial.","edit-value":{"name-title":"Nombre Personalizado","note-title":"Nota Personalizada","name-label":"Nombre personalizado","note-label":"Nota personalizada","apply-button":"Aplicar","changes-made-confirmation":"Se ha realizado el cambio."}},"server-conditions":{"selected-info":"Este es el servidor actualmente seleccionado.","blocked-info":"Este servidor est\xe1 en la lista de bloqueados.","favorite-info":"Este servidor est\xe1 en la lista de favoritos.","history-info":"Este servidor est\xe1 en el historial de servidores.","has-password-info":"Se estableci\xf3 una contrase\xf1a para conectarse con este servidor."},"server-list":{"date-small-table-label":"Fecha","date-info":"\xdaltima vez en la que us\xf3 este servidor.","country-small-table-label":"Pa\xeds","country-info":"Pa\xeds donde se encuentra el servidor.","name-small-table-label":"Nombre","location-small-table-label":"Ubicaci\xf3n","public-key-small-table-label":"Lp","public-key-info":"Llave p\xfablica del servidor.","congestion-rating-small-table-label":"Calificaci\xf3n de congesti\xf3n","congestion-rating-info":"Calificaci\xf3n del servidor relacionada con lo congestionado que suele estar.","congestion-small-table-label":"Congesti\xf3n","congestion-info":"Congesti\xf3n actual del servidor.","latency-rating-small-table-label":"Calificaci\xf3n de latencia","latency-rating-info":"Calificaci\xf3n del servidor relacionada con la latencia que suele tener.","latency-small-table-label":"Latencia","latency-info":"Latencia actual del servidor.","hops-small-table-label":"Saltos","hops-info":"Cu\xe1ntos saltos se necesitan para conectarse con el servidor.","note-small-table-label":"Nota","note-info":"Nota acerca del servidor.","gold-rating-info":"Oro","silver-rating-info":"Plata","bronze-rating-info":"Bronce","notes-info":"Nota personalizada: {{ custom }} - Nota original: {{ original }}","empty-discovery":"Actualmente no hay servidores VPN para mostrar. Por favor, int\xe9ntelo de nuevo m\xe1s tarde.","empty-history":"No hay historial que mostrar.","empty-favorites":"No hay servidores favoritos para mostrar.","empty-blocked":"No hay servidores bloqueados para mostrar.","empty-with-filter":"Ning\xfan servidor VPN coincide con los criterios de filtrado seleccionados.","add-manually-info":"Agregar el servidor manualmente.","current-filters":"Filtros actuales (presione para eliminar)","none":"Ninguno","unknown":"Desconocido","tabs":{"public":"P\xfablicos","history":"Historial","favorites":"Favoritos","blocked":"Bloqueados"},"add-server-dialog":{"title":"Ingresar manualmente","pk-label":"Llave p\xfablica del servidor","password-label":"Contrase\xf1a del servidor (si tiene)","name-label":"Nombre del servidor (opcional)","note-label":"Nota personal (opcional)","pk-length-error":"La llave p\xfablica debe tener 66 caracteres.","pk-chars-error":"La llave p\xfablica s\xf3lo debe contener caracteres hexadecimales.","use-server-button":"Usar servidor"},"password-dialog":{"title":"Introducir Contrase\xf1a","password-if-any-label":"Contrase\xf1a del servidor (si tiene)","password-label":"Contrase\xf1a del servidor","continue-button":"Continuar"},"filter-dialog":{"country":"El pa\xeds debe ser","name":"El nombre debe contener","location":"La ubicaci\xf3n debe contener","public-key":"La llave p\xfablica debe contener","congestion-rating":"La calificaci\xf3n de congesti\xf3n debe ser","latency-rating":"La calificaci\xf3n de latencia debe ser","rating-options":{"any":"Cualquiera","gold":"Oro","silver":"Plata","bronze":"Bronce"},"country-options":{"any":"Cualquiera"}}},"settings-page":{"setting-small-table-label":"Ajuste","value-small-table-label":"Valor","killswitch":"Killswitch","killswitch-info":"Cuando est\xe1 activo, todas las conexiones de red se desactivar\xe1n si la aplicaci\xf3n se est\xe1 ejecutando pero la protecci\xf3n VPN es interrumpida (por errores temporales o cualquier otro problema). Esto evita fugas de datos.","get-ip":"Obtener informaci\xf3n de IP","get-ip-info":"Cuando est\xe1 activa, la aplicaci\xf3n utilizar\xe1 servicios externos para obtener informaci\xf3n sobre la IP actual.","data-units":"Unidades de datos","data-units-info":"Permite seleccionar las unidades que se utilizar\xe1n para mostrar las estad\xedsticas de transmisi\xf3n de datos.","minimum-hops":"Saltos m\xednimos","minimum-hops-info":"Permite configurar la cantidad m\xednima de saltos que la conexi\xf3n deber\xe1 realizar a trav\xe9s de otros visores de Skywire antes de alcanzar el destino final.","dns":"Servidor DNS personalizado","dns-info":"Permite usar un servidor DNS personalizado, lo que podr\xeda mejorar la privacidad y prevenir que algunos sitios sean bloqueados por el servidor DNS por defecto de su proveedor.","setting-none":"Ninguno","setting-on":"Encendido","setting-off":"Apagado","working-warning":"El sistema est\xe1 ocupado. Por favor, espere a que finalice la operaci\xf3n anterior.","change-while-connected-confirmation":"La protecci\xf3n VPN se interrumpir\xe1 mientras se realiza el cambio. \xbfDesea continuar?","data-units-modal":{"title":"Unidades de Datos","only-bits":"Bits para todas las estad\xedsticas","only-bytes":"Bytes para todas las estad\xedsticas","bits-speed-and-bytes-volume":"Bits para velocidad y bytes para volumen (predeterminado)"}},"dns-config":{"title":"Servidor DNS personalizado","ip":"Direcci\xf3n IP del servidor DNS personalizado","save-config-button":"Guardar configuraci\xf3n","done":"Cambios guardados."}}}')}}]); \ No newline at end of file diff --git a/pkg/visor/static/3rdpartylicenses.txt b/pkg/visor/static/3rdpartylicenses.txt index f89f175d54..8ffef4ab7a 100644 --- a/pkg/visor/static/3rdpartylicenses.txt +++ b/pkg/visor/static/3rdpartylicenses.txt @@ -5,7 +5,7 @@ MIT MIT The MIT License -Copyright (c) 2022 Google LLC. +Copyright (c) 2023 Google LLC. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -39,7 +39,7 @@ MIT MIT The MIT License -Copyright (c) 2022 Google LLC. +Copyright (c) 2023 Google LLC. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -66,33 +66,8 @@ MIT @angular/router MIT -@material/dialog -MIT -The MIT License - -Copyright (c) 2014-2020 Google, Inc. - -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. - - @ngx-translate/core -MIT +SEE LICENSE IN LICENSE bignumber.js MIT @@ -478,7 +453,7 @@ zone.js MIT The MIT License -Copyright (c) 2010-2020 Google LLC. https://angular.io/license +Copyright (c) 2010-2022 Google LLC. https://angular.io/license Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/pkg/visor/static/502.30b5c9a96853e2a7.js b/pkg/visor/static/502.30b5c9a96853e2a7.js deleted file mode 100644 index 4c3c253d0b..0000000000 --- a/pkg/visor/static/502.30b5c9a96853e2a7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkskywire_manager=self.webpackChunkskywire_manager||[]).push([[502],{502:e=>{e.exports=JSON.parse('{"common":{"save":"Save","cancel":"Cancel","downloaded":"Downloaded","uploaded":"Uploaded","loading-error":"There was an error getting the data. Retrying...","operation-error":"There was an error trying to complete the operation.","no-connection-error":"There is no internet connection or connection to the Hypervisor.","error":"Error:","refreshed":"Data refreshed.","options":"Options","logout":"Logout","logout-error":"Error logging out.","logout-confirmation":"Are you sure you want to log out?","time-in-ms":"{{ time }}ms.","time-in-segs":"{{ time }}s.","ok":"Ok","yes":"Yes","no":"No","unknown":"Unknown","close":"Close","window-size-error":"The window is too narrow for the content."},"labeled-element":{"edit-label":"Edit label","remove-label":"Remove label","go-to-settings":"Go to settings","copy":"Copy","remove-label-confirmation":"Do you really want to remove the label?","unnamed-element":"Unnamed","unnamed-local-visor":"Local visor","local-element":"Local","tooltip":"Click to copy the entry or change the label","tooltip-with-text":"{{ text }} (Click to copy the entry or change the label)"},"labels":{"title":"Labels","info":"Labels you have entered to easily identify visors, transports and other elements, instead of having to read machine generated identifiers.","list-title":"Label list","label":"Label","id":"Element ID","type":"Type","delete-confirmation":"Are you sure you want to delete the label?","delete-selected-confirmation":"Are you sure you want to delete the selected labels?","delete":"Delete label","deleted":"Delete operation completed.","empty":"There aren\'t any saved labels.","empty-with-filter":"No label matches the selected filtering criteria.","filter-dialog":{"label":"The label must contain","id":"The id must contain","type":"The type must be","type-options":{"any":"Any","visor":"Visor","dmsg-server":"DMSG server","transport":"Transport"}}},"filters":{"filter-action":"Filter","filter-info":"Filter list.","press-to-remove":"(Press to remove the filters)","remove-confirmation":"Are you sure you want to remove the filters?"},"tables":{"title":"Order by","sorting-title":"Ordered by:","sort-by-value":"Value","sort-by-label":"Label","label":"(label)","inverted-order":"(inverted)"},"start":{"title":"Start","loading-error":"An error occurred while getting the initial data. Retrying..."},"node":{"title":"Visor details","not-found":"Visor not found.","statuses":{"online":"Online","online-tooltip":"The visor is online.","connecting":"Connecting","connecting-tooltip":"The visor is online, but still connecting to the uptime tracker.","unknown":"Unknown","unknown-tooltip":"The visor is online, but it has not been possible to determine if it is connected to the uptime tracker.","partially-online":"Online with problems","partially-online-tooltip":"The visor is online, but disconnected from the uptime tracker.","offline":"Offline","offline-tooltip":"The visor is offline."},"details":{"node-info":{"title":"Visor Info","label":"Label:","public-key":"Public key:","symmetic-nat":"Symmetic NAT:","public-ip":"Public IP:","ip":"IP:","dmsg-server":"DMSG server:","ping":"Ping:","node-version":"Visor version:","build-type":"Build type:","skybian-version":"Skybian version:","unknown-build":"Unknown","time":{"title":"Time online:","seconds":"a few seconds","minute":"1 minute","minutes":"{{ time }} minutes","hour":"1 hour","hours":"{{ time }} hours","day":"1 day","days":"{{ time }} days","week":"1 week","weeks":"{{ time }} weeks"}},"rewards-info":{"title":"Reward Info","rewards-address":"Reward address:","not-registered":"Not registered","not-registered-info":"You have not specified a Skycoin address for receiving rewards for this visor. If you want to register the visor for receiving rewards, press the \\"Set address\\" button and set a Skycoin address.","open-in-explorer":"Open in blockchain explorer","set-address-button":"Set address","change-address-button":"Change address"},"transports-info":{"title":"Transports Info","autoconnect":"Autoconnect:","autoconnect-info":"When enabled, the visor will automatically create the transports needed when a connection to a public visor is requested. If disabled, the transports will have to be created before being able to make the connection.","enabled":"Enabled","disabled":"Disabled","enable-button":"Enable","disable-button":"Disable","enable-confirmation":"Are you sure you want to enable the autoconnect feature?","disable-confirmation":"Are you sure you want to disable the autoconnect feature?","enable-done":"The autoconnect feature has been enabled.","disable-done":"The autoconnect feature has been disabled."},"router-info":{"title":"Router Info","min-hops":"Min hops:","max-hops":"Max hops:","change-config-button":"Change configuration"},"node-health":{"title":"Health Info","uptime-tracker":"Uptime tracker:","connected":"Connected","disconnected":"Disconnected"},"node-traffic-data":"Traffic data"},"tabs":{"info":"Info","apps":"Apps","routing":"Routing"},"error-load":"An error occurred while refreshing the data. Retrying..."},"rewards-address-config":{"title":"Reward Address Configuration","info":"Here you can set to which Skycoin address you want the rewards to be sent. If you leave the address empty, the registration will be deleted and the visor will not receive rewards.","more-info-link":"(More info about the reward system)","address":"Address","address-error":"Please enter a valid Skycoin address.","save-config-button":"Save configuration","done":"Changes saved.","empty-warning":"The address in empty, so the registration will be deleted and no rewards will be received. Do you really want to continue?"},"router-config":{"title":"Router Configuration","info":"Here you can configure how many hops the connections must pass through other Skywire visors before reaching the final destination. NOTE: the changes will not affect the existing routes.","min-hops":"Min hops","min-hops-error":"Please enter a valid number.","save-config-button":"Save configuration","done":"Changes saved."},"nodes":{"title":"Visor list","dmsg-title":"DMSG","modify-rewards-all":"Change rewards address","update-all":"Update all online visors","hypervisor":"Hypervisor","state":"State","state-tooltip":"Current state","label":"Label","key":"Key","dmsg-server":"DMSG server","ping":"Ping","hypervisor-info":"This visor is the current Hypervisor.","copy-key":"Copy key","copy-dmsg":"Copy DMSG server key","copy-data":"Copy data","view-node":"View visor","delete-node":"Remove visor","delete-all-offline":"Remove all offline visors","error-load":"An error occurred while refreshing the list. Retrying...","empty":"There aren\'t any visors connected to this hypervisor.","empty-with-filter":"No visor matches the selected filtering criteria.","delete-node-confirmation":"Are you sure you want to remove the visor from the list?","delete-all-offline-confirmation":"Are you sure you want to remove all offline visors from the list?","delete-all-filtered-offline-confirmation":"All offline visors satisfying the current filtering criteria will be removed from the list. Are you sure you want to continue?","deleted":"Visor removed.","deleted-singular":"1 offline visor removed.","deleted-plural":"{{ number }} offline visors removed.","no-visors-to-update":"There are no visors to update.","no-visors-to-modify":"There are no visors to modify.","filter-dialog":{"online":"The visor must be","label":"The label must contain","key":"The public key must contain","dmsg":"The DMSG server key must contain","online-options":{"any":"Online or offline","online":"Online","offline":"Offline"}}},"bulk-rewards":{"title":"Change reward address","info":"Enter the Skycoin address where you want to receive the rewards. The address will be set on all the selected visors. If you leave the address empty, the registration will be deleted and the visors will not receive rewards. You can also set the reward address of each node individually using the option on the visor details page.","more-info-link":"(More info about the reward system)","address":"New address","select-visors":"Visors to alter:","current-address":"Current address:","not-registered":"None (not registered on the reward program).","checking":"Checking...","error-checking":"Error checking:","processing":"Processing...","error-processing":"Error making the change:","done":"Change done.","perform-changes":"Perform changes","empty-warning":"The address in empty, so the registrations will be deleted and no rewards will be received. Do you really want to continue?"},"edit-label":{"label":"Label","done":"Label saved.","label-removed-warning":"The label was removed."},"settings":{"title":"Settings","checking-auth":"Checking authentication settings.","password":{"initial-config-help":"Use this option for setting the initial password. After a password has been set, it is not possible to use this option to modify it.","help":"Options for changing your password.","old-password":"Old password","new-password":"New password","repeat-password":"Repeat password","password-changed":"Password changed.","error-changing":"Error changing password.","initial-config":{"title":"Set initial password","password":"Password","repeat-password":"Repeat password","set-password":"Set password","done":"Password set. Please use it to access the system.","error":"Error. Please make sure you have not already set the password."},"errors":{"bad-old-password":"The provided old password is not correct.","old-password-required":"Old password is required.","new-password-error":"Password must be 6-64 characters long.","passwords-not-match":"Passwords do not match.","default-password":"Don\'t use the default password (1234)."}},"updater-config":{"open-link":"Show updater settings","open-confirmation":"The updater settings are for experienced users only. Are you sure you want to continue?","help":"Use this form for overriding the settings that will be used by the updater. All empty fields will be ignored. The settings will be used for all updating operations, no mater which element is being updated, so please be careful.","channel":"Channel","version":"Version","archive-url":"Archive URL","checksum-url":"Checksum URL","not-saved":"The changes have not been saved yet.","save":"Save changes","remove-settings":"Remove the settings","saved":"The custom settings have been saved.","removed":"The custom settings have been removed.","save-confirmation":"Are you sure you want to apply the custom settings?","remove-confirmation":"Are you sure you want to remove the custom settings?"},"change-password":"Change password","refresh-rate":"Refresh rate","refresh-rate-help":"Time the system waits to update the data automatically.","refresh-rate-confirmation":"Refresh rate changed.","seconds":"seconds"},"login":{"password":"Password","incorrect-password":"Incorrect password.","initial-config":"Configure initial launch"},"actions":{"menu":{"terminal":"Terminal","config":"Configuration","update":"Update","reboot":"Reboot","logs":"View logs"},"reboot":{"confirmation":"Are you sure you want to reboot the visor?","done":"The visor is restarting."},"update":{"confirmation":"A terminal will be opened in a new tab and the update procedure will be started automatically. Do you want to continue?"},"terminal-options":{"full":"Full terminal","simple":"Simple terminal"},"terminal":{"title":"Terminal","input-start":"Skywire terminal for {{address}}","error":"Unexpected error while trying to execute the command."}},"update":{"title":"Update","error-title":"Error","processing":"Looking for updates...","no-update":"There is no update for the visor. The currently installed version is:","no-updates":"No new updates were found.","already-updating":"Some visors are already being updated:","with-error":"It was not possible to check the following visors:","update-available":"The following updates were found:","update-available-singular":"The following updates for 1 visor were found:","update-available-plural":"The following updates for {{ number }} visors were found:","update-available-additional-singular":"The following additional updates for 1 visor were found:","update-available-additional-plural":"The following additional updates for {{ number }} visors were found:","update-instructions":"Click the \'Install updates\' button to continue.","updating":"The update operation has been started, you can open this window again for checking the progress:","version-change":"From {{ currentVersion }} to {{ newVersion }}","selected-channel":"Selected channel:","downloaded-file-name-prefix":"Downloading: ","speed-prefix":"Speed: ","time-downloading-prefix":"Time downloading: ","time-left-prefix":"Aprox. time left: ","starting":"Preparing to update","finished":"Status connection finished","install":"Install updates"},"update-all":{"title":"Update","updatable-list-text":"Please press the buttons of the visors you want to update. A terminal will be opened in a new tab for each visor and the update procedure will be started automatically.","non-updatable-list-text":"The following visors can not be updated via the terminal:","update-button":"Update"},"apps":{"log":{"title":"Log","empty":"There are no log messages for the selected time range.","filter-button":"Only showing logs generated since:","view-all":"View all {{ totalLogs }} entries","filter":{"title":"Filter","filter":"Only show logs generated since","7-days":"The last 7 days","1-month":"The last 30 days","3-months":"The last 3 months","6-months":"The last 6 months","1-year":"The last year","all":"Show all"}},"apps-list":{"title":"Applications","title-official":"Official Applications","title-user":"User Applications","list-title":"Application list","app-name":"Name","port":"Port","state":"State","state-tooltip":"Current state","auto-start":"Auto start","empty-official":"This visor doesn\'t have any official applications.","empty-user":"This visor doesn\'t have any user applications.","empty-with-filter":"No app matches the selected filtering criteria.","disable-autostart":"Disable autostart","enable-autostart":"Enable autostart","autostart-disabled":"Autostart disabled","autostart-enabled":"Autostart enabled","unavailable-logs-error":"Unable to show the logs while the app is not running.","filter-dialog":{"state":"The state must be","name":"The name must contain","port":"The port must contain","autostart":"The autostart must be","state-options":{"any":"Running or stopped","running":"Running","stopped":"Stopped"},"autostart-options":{"any":"Enabled or disabled","enabled":"Enabled","disabled":"Disabled"}}},"user-app-settings":{"title":"{{ name }} (Settings)","info":"Here you can edit the app settings as name-value pairs. Please check the application docs to see which settings and values are supported by this app.","name":"Name {{ number }}","value":"Value {{ number }}","remove":"Remove","add":"Add setting","save":"Save","invalid-confirmation":"One or more settings do not have a name and will be ignored. Do you want to continue?","empty-confirmation":"The settings list is empty. Do you really want to continue?","changes-made":"The changes have been made."},"vpn-socks-server-settings":{"socks-title":"Skysocks Settings","vpn-title":"VPN-Server Settings","new-password":"New password (Leave empty to remove the password)","repeat-password":"Repeat password","netifc":"Default network interface (optional)","passwords-not-match":"Passwords do not match.","secure-mode-check":"Use secure mode","secure-mode-info":"When active, the server doesn\'t allow client/server SSH and doesn\'t allow any traffic from VPN clients to the server local network.","save":"Save","remove-passowrd-confirmation":"You left the password field empty. Are you sure you want to remove the password?","change-passowrd-confirmation":"Are you sure you want to change the password?","changes-made":"The changes have been made."},"vpn-socks-client-settings":{"socks-title":"Skysocks-Client Settings","vpn-title":"VPN-Client Settings","discovery-tab":"Search","remote-visor-tab":"Enter manually","history-tab":"History","settings-tab":"Settings","use":"Use this data","change-note":"Change note","remove-entry":"Remove entry","note":"Note:","note-entered-manually":"Entered manually","note-obtained":"Obtained from the discovery service","key":"Key:","port":"Port:","location":"Location:","state-available":"Available","state-offline":"Offline","public-key":"Remote visor public key","password":"Password","password-history-warning":"Note: the password will not be saved in the history.","copy-pk-info":"Copy public key.","copied-pk-info":"The public key has been copied.","copy-pk-error":"There was a problem copying the public key.","no-elements":"Currently there are no elements to show. Please try again later.","no-elements-for-filters":"There are no elements that meet the filter criteria.","no-filter":"No filter has been selected","click-to-change":"Click to change","remote-key-length-error":"The public key must be 66 characters long.","remote-key-chars-error":"The public key must only contain hexadecimal characters.","save":"Save","remove-from-history-confirmation":"Are you sure you want to remove the entry from the history?","change-key-confirmation":"Are you sure you want to change the remote visor public key?","changes-made":"The changes have been made.","no-history":"This tab will show the last {{ number }} public keys used.","default-note-warning":"The default note has been used.","pagination-info":"{{ currentElementsRange }} of {{ totalElements }}","dns":"Custom DNS server IP address","dns-error":"Invalid value.","killswitch-check":"Activate killswitch","killswitch-info":"When active, all network connections will be disabled if the app is running but the VPN protection is interrupted (for temporary errors or any other problem). This avoids data leaks.","settings-changed-alert":" The changes have not been saved yet.","save-settings":"Save settings","change-note-dialog":{"title":"Change Note","note":"Note"},"password-dialog":{"title":"Enter Password","password":"Password","info":"You are being asked for a password because a password was set when the selected entry was created, but the it was not saved for security reasons. You can leave the password empty if needed.","continue-button":"Continue"},"filter-dialog":{"title":"Filters","country":"The country must be","any-country":"Any","location":"The location must contain","pub-key":"The public key must contain","apply":"Apply"}},"stop-app":"Stop","start-app":"Start","view-logs":"View logs","settings":"Settings","open":"Open","error":"An error has occured and it was not possible to perform the operation.","stop-confirmation":"Are you sure you want to stop the app?","stop-selected-confirmation":"Are you sure you want to stop the selected apps?","disable-autostart-confirmation":"Are you sure you want to disable autostart for the app?","enable-autostart-confirmation":"Are you sure you want to enable autostart for the app?","disable-autostart-selected-confirmation":"Are you sure you want to disable autostart for the selected apps?","enable-autostart-selected-confirmation":"Are you sure you want to enable autostart for the selected apps?","operation-completed":"Operation completed.","operation-unnecessary":"The selection already has the requested setting.","status-running":"Running","status-connecting":"Connecting","status-stopped":"Stopped","status-failed":"Ended with the following error: {{ error }}","status-running-tooltip":"App is currently running","status-connecting-tooltip":"App is currently connecting","status-stopped-tooltip":"App is currently stopped","status-failed-tooltip":"The app finished with the following error: {{ error }}"},"transports":{"title":"Transports","info":"Connections you have with remote Skywire visors, to allow local Skywire apps to communicate with apps running on those remote visors.","list-title":"Transport list","offline":"Offline","persistent":"Persistent","persistent-tooltip":"Persistent transports, which are created automatically when the visor is turned on and are automatically recreated in case of disconnection.","persistent-transport-tooltip":"This transport is persistent, so it is created automatically when the visor is turned on and automatically recreated in case of disconnection.","persistent-transport-button-tooltip":"This transport is persistent, so it is created automatically when the visor is turned on and automatically recreated in case of disconnection. Press to make non-persistent.","non-persistent-transport-button-tooltip":"Press to make this transport persistent. Persistent transports are created automatically when the visor is turned on and automatically recreated in case of disconnection.","make-persistent":"Make persistent","make-non-persistent":"Make non-persistent","make-selected-persistent":"Make all selected persistent","make-selected-non-persistent":"Make all selected non-persistent","changes-made":"Changes made.","no-changes-needed":"No changes were needed.","id":"ID","remote-node":"Remote","type":"Type","create":"Create transport","make-persistent-confirmation":"Are you sure you want to make the transport persistent?","make-non-persistent-confirmation":"Are you sure you want to make the transport non-persistent?","make-selected-persistent-confirmation":"Are you sure you want to make the selected transports persistent?","make-selected-non-persistent-confirmation":"Are you sure you want to make the selected transports non-persistent?","make-offline-non-persistent-confirmation":"Are you sure you want to make the transport non-persistent? It will not be shown in the list while offline anymore.","delete-confirmation":"Are you sure you want to delete the transport?","delete-persistent-confirmation":"This transport is persistent, so it may be recreated shortly after deletion. Are you sure you want to delete it?","delete-selected-confirmation":"Are you sure you want to delete the selected transports?","delete":"Delete transport","deleted":"Delete operation completed.","empty":"Visor doesn\'t have any transports.","empty-with-filter":"No transport matches the selected filtering criteria.","details":{"title":"Details","basic":{"title":"Basic info","persistent":"Persistent:","id":"ID:","local-pk":"Local public key:","remote-pk":"Remote public key:","type":"Type:"},"data":{"title":"Data transmission","uploaded":"Uploaded data:","downloaded":"Downloaded data:"}},"dialog":{"remote-key":"Remote public key","label":"Identification name (optional)","transport-type":"Transport type","make-persistent":"Make persistent","persistent-tooltip":"Persistent transports are created automatically when the visor is turned on and automatically recreated in case of disconnection.","only-persistent-created":"The persistent transport was created, but it may have not been activated.","success":"Transport created.","success-without-label":"The transport was created, but it was not possible to save the label.","errors":{"remote-key-length-error":"The remote public key must be 66 characters long.","remote-key-chars-error":"The remote public key must only contain hexadecimal characters.","transport-type-error":"The transport type is required."}},"filter-dialog":{"persistent":"The transport must be","id":"The id must contain","remote-node":"The remote key must contain","persistent-options":{"any":"Any","persistent":"Persistent","non-persistent":"Non-persistent"}}},"routes":{"title":"Routes","info":"Paths used to reach the remote visors to which transports have been established. Routes are automatically generated as needed.","list-title":"Route list","key":"Key","type":"Type","source":"Source","destination":"Destination","delete-confirmation":"Are you sure you want to delete the route?","delete-selected-confirmation":"Are you sure you want to delete the selected routes?","delete":"Delete route","deleted":"Delete operation completed.","empty":"Visor doesn\'t have any routes.","empty-with-filter":"No route matches the selected filtering criteria.","details":{"title":"Details","basic":{"title":"Basic info","key":"Key:","rule":"Rule:"},"summary":{"title":"Rule summary","keep-alive":"Keep alive:","type":"Rule type:","key-route-id":"Key route ID:"},"specific-fields-titles":{"app":"App fields","forward":"Forward fields","intermediary-forward":"Intermediary forward fields"},"specific-fields":{"route-id":"Next route ID:","transport-id":"Next transport ID:","destination-pk":"Destination public key:","source-pk":"Source public key:","destination-port":"Destination port:","source-port":"Source port:"}},"filter-dialog":{"key":"The key must contain","type":"The type must be","source":"The source must contain","destination":"The destination must contain","any-type-option":"Any"}},"copy":{"tooltip":"Click to copy","tooltip-with-text":"{{ text }} (Click to copy)","copied":"Copied!"},"selection":{"select-all":"Select all","unselect-all":"Unselect all","delete-all":"Delete all selected elements","start-all":"Start all selected apps","stop-all":"Stop all selected apps","enable-autostart-all":"Enable autostart for all selected apps","disable-autostart-all":"Disable autostart for all selected apps"},"refresh-button":{"seconds":"Updated a few seconds ago","minute":"Updated 1 minute ago","minutes":"Updated {{ time }} minutes ago","hour":"Updated 1 hour ago","hours":"Updated {{ time }} hours ago","day":"Updated 1 day ago","days":"Updated {{ time }} days ago","week":"Updated 1 week ago","weeks":"Updated {{ time }} weeks ago","error-tooltip":"There was an error updating the data. Retrying automatically every {{ time }} seconds..."},"view-all-link":{"label":"View all {{ number }} elements"},"paginator":{"first":"First","last":"Last","total":"Total: {{ number }} pages","select-page-title":"Select page"},"confirmation":{"header-text":"Confirmation","confirm-button":"Yes","cancel-button":"No","close":"Close","error-header-text":"Error","done-header-text":"Done"},"language":{"title":"Select language"},"tabs-window":{"title":"Change tab"},"vpn":{"title":"VPN Control Panel","start":"Start","servers":"Servers","settings":"Settings","unnamed":"Unnamed","starting-blocked-server-error":"Unable to connect to the selected server because it has been added to the blocked servers list.","unexpedted-error":"An unexpected error occurred and the operation could not be completed.","remote-access-title":"It appears that you are accessing the system remotely","remote-access-text":"This application only allows you to manage the VPN protection of the device on which it was installed. Changes made with it will not affect remote devices like the one you seem to be using. Also, the displayed IP data may be incorrect.","server-change":{"busy-error":"The system is busy. Please wait.","backend-error":"It was not possible to change the server. Please make sure the public key is correct and the VPN app is running.","already-selected-warning":"The selected server is already being used.","change-server-while-connected-confirmation":"The VPN protection will be interrupted while changing the server and some data may be transmitted unprotected during the process. Do you want to continue?","start-same-server-confirmation":"You had already selected that server. Do you want to connect to it?"},"error-page":{"text":"The VPN client app is not available.","more-info":"It was not possible to connect to the VPN client app. This may be due to a configuration error, an unexpected problem with the visor or because you used an invalid public key in the URL.","text-pk":"Invalid configuration.","more-info-pk":"The application cannot be started because you have not specified the visor public key.","text-storage":"Error saving data.","more-info-storage":"There has been a conflict when trying to save the data and the application has been closed to prevent errors. This could happen if you open the application in more than one tab or window.","text-pk-change":"Invalid operation.","more-info-pk-change":"Please use this application to manage only one VPN client."},"connection-info":{"state-title":"Your connection is currently:","state-connecting":"Connecting","state-connecting-info":"The VPN protection is being activated.","state-connected":"Connected","state-connected-info":"The VPN protection is on.","state-disconnecting":"Disconnecting","state-disconnecting-info":"The VPN protection is being deactivated.","state-reconnecting":"Reconnecting","state-reconnecting-info":"The VPN protection is being restored.","state-disconnected":"Disconnected","state-disconnected-info":"The VPN protection is off.","state-info":"Current connection status.","latency-info":"Current latency.","upload-info":"Upload speed.","download-info":"Download speed."},"connection-error":{"text":"Connection error","info":"Problem connecting with the vpn app. Some data being displayed could be outdated."},"status-page":{"start-title":"Start VPN","no-server":"No server selected!","disconnect":"Disconnect","last-error":"Last error:","unknown-error":"Unknown error.","disconnect-confirmation":"Are you sure you want to stop the VPN protection?","upload-info":"Uploaded data stats.","download-info":"Downloaded data stats.","latency-info":"Latency stats.","total-data-label":"total","problem-connecting-error":"It was not possible to connect to the server. The server may be invalid or temporarily down.","problem-starting-error":"It was not possible to start the VPN. Please make sure the base VPN client app is running.","problem-stopping-error":"It was not possible to stop the VPN. Please make sure the base VPN client app is running.","generic-problem-error":"It was not possible to perform the operation. Please make sure the base VPN client app is running.","select-server-warning":"Please select a server first.","data":{"ip":"IP address:","ip-problem-info":"There was a problem trying to get the IP. Please verify it using an external service.","ip-country-problem-info":"There was a problem trying to get the country. Please verify it using an external service.","ip-refresh-info":"Refresh","ip-refresh-time-warning":"Please wait {{ seconds }} second(s) before refreshing the data.","ip-refresh-loading-warning":"Please wait for the previous operation to finish.","country":"Country:","server":"Server:","server-note":"Server note:","original-server-note":"Original server note:","local-pk":"Local visor public key:","remote-pk":"Remote visor public key:","unavailable":"Unavailable"}},"server-options":{"tooltip":"Options","connect-without-password":"Connect without password","connect-without-password-confirmation":"The connection will be made without the password. Are you sure you want to continue?","connect-using-password":"Connect using a password","connect-using-another-password":"Connect using another password","edit-name":"Custom name","edit-label":"Custom note","make-favorite":"Make favorite","make-favorite-confirmation":"Are you sure you want to mark this server as favorite? It will be removed from the blocked list.","make-favorite-done":"Added to the favorites list.","remove-from-favorites":"Remove from favorites","remove-from-favorites-done":"Removed from the favorites list.","block":"Block server","block-done":"Added to the blocked list.","block-confirmation":"Are you sure you want to block this server? It will be removed from the favorites list.","block-selected-confirmation":"Are you sure you want to block the currently selected server? All connections will be closed.","block-selected-favorite-confirmation":"Are you sure you want to block the currently selected server? All connections will be closed and it will be removed from the favorites list.","unblock":"Unblock server","unblock-done":"Removed from the blocked list.","remove-from-history":"Remove from history","remove-from-history-confirmation":"Are you sure you want to remove this server from the history?","remove-from-history-done":"Removed from history.","edit-value":{"name-title":"Custom Name","note-title":"Custom Note","name-label":"Custom name","note-label":"Custom note","apply-button":"Apply","changes-made-confirmation":"The change has been made."}},"server-conditions":{"selected-info":"This is the currently selected server.","blocked-info":"This server is in the blocked list.","favorite-info":"This server is in the favorites list.","history-info":"This server is in the server history.","has-password-info":"A password was set for connecting with this server."},"server-list":{"date-small-table-label":"Date","date-info":"Last time you used this server.","country-small-table-label":"Country","country-info":"Country where the server is located.","name-small-table-label":"Name","location-small-table-label":"Location","public-key-small-table-label":"Pk","public-key-info":"Server public key.","congestion-rating-small-table-label":"Congestion rating","congestion-rating-info":"Rating of the server related to how congested it tends to be.","congestion-small-table-label":"Congestion","congestion-info":"Current server congestion.","latency-rating-small-table-label":"Latency rating","latency-rating-info":"Rating of the server related to how much latency it tends to have.","latency-small-table-label":"Latency","latency-info":"Current server latency.","hops-small-table-label":"Hops","hops-info":"How many hops are needed for connecting with the server.","note-small-table-label":"Note","note-info":"Note about the server.","gold-rating-info":"Gold","silver-rating-info":"Silver","bronze-rating-info":"Bronze","notes-info":"Custom note: {{ custom }} - Original note: {{ original }}","empty-discovery":"Currently there are no VPN servers to show. Please try again later.","empty-history":"There is no history to show.","empty-favorites":"There are no favorite servers to show.","empty-blocked":"There are no blocked servers to show.","empty-with-filter":"No VPN server matches the selected filtering criteria.","add-manually-info":"Add server manually.","current-filters":"Current filters (press to remove)","none":"None","unknown":"Unknown","tabs":{"public":"Public","history":"History","favorites":"Favorites","blocked":"Blocked"},"add-server-dialog":{"title":"Enter manually","pk-label":"Server public key","password-label":"Server password (if any)","name-label":"Server name (optional)","note-label":"Personal note (optional)","pk-length-error":"The public key must be 66 characters long.","pk-chars-error":"The public key must only contain hexadecimal characters.","use-server-button":"Use server"},"password-dialog":{"title":"Enter Password","password-if-any-label":"Server password (if any)","password-label":"Server password","continue-button":"Continue"},"filter-dialog":{"country":"The country must be","name":"The name must contain","location":"The location must contain","public-key":"The public key must contain","congestion-rating":"The congestion rating must be","latency-rating":"The latency rating must be","rating-options":{"any":"Any","gold":"Gold","silver":"Silver","bronze":"Bronze"},"country-options":{"any":"Any"}}},"settings-page":{"setting-small-table-label":"Setting","value-small-table-label":"Value","killswitch":"Killswitch","killswitch-info":"When active, all network connections will be disabled if the app is running but the VPN protection is interrupted (for temporary errors or any other problem). This avoids data leaks.","get-ip":"Get IP info","get-ip-info":"When active, the application will use external services to obtain information about the current IP.","data-units":"Data units","data-units-info":"Allows to select the units that will be used to display the data transmission statistics.","minimum-hops":"Minimum hops","minimum-hops-info":"Allows to set the minimum number of hops the connections must pass through other Skywire visors before reaching the final destination.","dns":"Custom DNS server","dns-info":"Allows to use a custom DNS server, which could improve privacy and prevent sites from being blocked by the default DNS server of your ISP.","setting-none":"None","setting-on":"On","setting-off":"Off","working-warning":"The system is busy. Please wait for the previous operation to finish.","change-while-connected-confirmation":"The VPN protection will be interrupted while changing the setting. Do you want to continue?","data-units-modal":{"title":"Data Units","only-bits":"Bits for all stats","only-bytes":"Bytes for all stats","bits-speed-and-bytes-volume":"Bits for speed and bytes for volume (default)"}},"dns-config":{"title":"Custom DNS server","ip":"Custom DNS server IP address","save-config-button":"Save configuration","done":"Changes saved."}}}')}}]); \ No newline at end of file diff --git a/pkg/visor/static/502.58e896e8ce0ed015.js b/pkg/visor/static/502.58e896e8ce0ed015.js new file mode 100644 index 0000000000..d27ff511f4 --- /dev/null +++ b/pkg/visor/static/502.58e896e8ce0ed015.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkskywire_manager=self.webpackChunkskywire_manager||[]).push([[502],{502:e=>{e.exports=JSON.parse('{"common":{"save":"Save","cancel":"Cancel","downloaded":"Downloaded","uploaded":"Uploaded","loading-error":"There was an error getting the data. Retrying...","operation-error":"There was an error trying to complete the operation.","no-connection-error":"There is no internet connection or connection to the Hypervisor.","error":"Error:","refreshed":"Data refreshed.","options":"Options","logout":"Logout","logout-error":"Error logging out.","logout-confirmation":"Are you sure you want to log out?","time-in-ms":"{{ time }}ms.","time-in-segs":"{{ time }}s.","ok":"Ok","yes":"Yes","no":"No","unknown":"Unknown","close":"Close","window-size-error":"The window is too narrow for the content."},"labeled-element":{"edit-label":"Edit label","remove-label":"Remove label","go-to-settings":"Go to settings","copy":"Copy","remove-label-confirmation":"Do you really want to remove the label?","unnamed-element":"Unnamed","unnamed-local-visor":"Local visor","local-element":"Local","tooltip":"Click to copy the entry or change the label","tooltip-with-text":"{{ text }} (Click to copy the entry or change the label)"},"labels":{"title":"Labels","info":"Labels you have entered to easily identify visors, transports and other elements, instead of having to read machine generated identifiers.","list-title":"Label list","label":"Label","id":"Element ID","type":"Type","delete-confirmation":"Are you sure you want to delete the label?","delete-selected-confirmation":"Are you sure you want to delete the selected labels?","delete":"Delete label","deleted":"Delete operation completed.","empty":"There aren\'t any saved labels.","empty-with-filter":"No label matches the selected filtering criteria.","filter-dialog":{"label":"The label must contain","id":"The id must contain","type":"The type must be","type-options":{"any":"Any","visor":"Visor","dmsg-server":"DMSG server","transport":"Transport"}}},"filters":{"filter-action":"Filter","filter-info":"Filter list.","press-to-remove":"(Press to remove the filters)","remove-confirmation":"Are you sure you want to remove the filters?"},"tables":{"title":"Order by","sorting-title":"Ordered by:","sort-by-value":"Value","sort-by-label":"Label","label":"(label)","inverted-order":"(inverted)"},"start":{"title":"Start","loading-error":"An error occurred while getting the initial data. Retrying..."},"node":{"title":"Visor details","not-found":"Visor not found.","logs":{"title":"Runtime Logs","no-logs":"No runtime logs were found for this visor.","no-logs-for-filter":"No runtime logs matches the selected filter.","view-all":"View all logs in raw format >","view-rest":"View all {{ number }} elements in raw format >","selected-filter":"Showing:","filter-ignored":"The filter excluded {{ number }} entries","filter-title":"Filter","filter-all":"All logs","filter-debug":"Debug or more important","filter-info":"Info or more important","filter-warning":"Warning or more important","filter-error":"Error or more important","filter-faltal":"Faltal or more important","filter-panic":"Panic"},"statuses":{"online":"Online","online-tooltip":"The visor is online.","connecting":"Connecting","connecting-tooltip":"The visor is online, but still connecting to the uptime tracker.","unknown":"Unknown","unknown-tooltip":"The visor is online, but it has not been possible to determine if it is connected to the uptime tracker.","partially-online":"Online with problems","partially-online-tooltip":"The visor is online, but disconnected from the uptime tracker.","offline":"Offline","offline-tooltip":"The visor is offline."},"details":{"node-info":{"title":"Visor Info","label":"Label:","public-key":"Public key:","symmetic-nat":"Symmetic NAT:","public-ip":"Public IP:","ip":"IP:","dmsg-server":"DMSG server:","no-dmsg-server":"Not connected","ping":"Ping:","node-version":"Visor version:","build-type":"Build type:","skybian-version":"Skybian version:","unknown-build":"Unknown","time":{"title":"Time online:","seconds":"a few seconds","minute":"1 minute","minutes":"{{ time }} minutes","hour":"1 hour","hours":"{{ time }} hours","day":"1 day","days":"{{ time }} days","week":"1 week","weeks":"{{ time }} weeks"}},"rewards-info":{"title":"Reward Info","rewards-address":"Reward address:","not-registered":"Not registered","not-registered-info":"You have not specified a Skycoin address for receiving rewards for this visor. If you want to register the visor for receiving rewards, press the \\"Set address\\" button and set a Skycoin address.","open-in-explorer":"Open in blockchain explorer","set-address-button":"Set address","change-address-button":"Change address"},"transports-info":{"title":"Transports Info","autoconnect":"Autoconnect:","autoconnect-info":"When enabled, the visor will automatically create the transports needed when a connection to a public visor is requested. If disabled, the transports will have to be created before being able to make the connection.","enabled":"Enabled","disabled":"Disabled","enable-button":"Enable","disable-button":"Disable","enable-confirmation":"Are you sure you want to enable the autoconnect feature?","disable-confirmation":"Are you sure you want to disable the autoconnect feature?","enable-done":"The autoconnect feature has been enabled.","disable-done":"The autoconnect feature has been disabled."},"router-info":{"title":"Router Info","min-hops":"Min hops:","max-hops":"Max hops:","change-config-button":"Change configuration"},"node-health":{"title":"Health Info","uptime-tracker":"Uptime tracker:","connected":"Connected","disconnected":"Disconnected"},"node-traffic-data":"Traffic data"},"tabs":{"info":"Info","apps":"Apps","routing":"Routing"},"error-load":"An error occurred while refreshing the data. Retrying..."},"rewards-address-config":{"title":"Reward Address Configuration","info":"Here you can set to which Skycoin address you want the rewards to be sent. If you leave the address empty, the registration will be deleted and the visor will not receive rewards.","more-info-link":"(More info about the reward system)","address":"Address","address-error":"Please enter a valid Skycoin address.","save-config-button":"Save configuration","done":"Changes saved.","empty-warning":"The address in empty, so the registration will be deleted and no rewards will be received. Do you really want to continue?"},"router-config":{"title":"Router Configuration","info":"Here you can configure how many hops the connections must pass through other Skywire visors before reaching the final destination. NOTE: the changes will not affect the existing routes.","min-hops":"Min hops","min-hops-error":"Please enter a valid number.","save-config-button":"Save configuration","done":"Changes saved."},"nodes":{"title":"Visor list","dmsg-title":"DMSG","modify-rewards-all":"Change rewards address","update-all":"Update all online visors","hypervisor":"Hypervisor","state":"State","state-tooltip":"Current state","label":"Label","key":"Key","dmsg-server":"DMSG server","ping":"Ping","hypervisor-info":"This visor is the current Hypervisor.","copy-key":"Copy key","copy-dmsg":"Copy DMSG server key","copy-data":"Copy data","view-node":"View visor","delete-node":"Remove visor","delete-all-offline":"Remove all offline visors","error-load":"An error occurred while refreshing the list. Retrying...","empty":"There aren\'t any visors connected to this hypervisor.","empty-with-filter":"No visor matches the selected filtering criteria.","delete-node-confirmation":"Are you sure you want to remove the visor from the list?","delete-all-offline-confirmation":"Are you sure you want to remove all offline visors from the list?","delete-all-filtered-offline-confirmation":"All offline visors satisfying the current filtering criteria will be removed from the list. Are you sure you want to continue?","deleted":"Visor removed.","deleted-singular":"1 offline visor removed.","deleted-plural":"{{ number }} offline visors removed.","no-visors-to-update":"There are no visors to update.","no-visors-to-modify":"There are no visors to modify.","filter-dialog":{"online":"The visor must be","label":"The label must contain","key":"The public key must contain","dmsg":"The DMSG server key must contain","online-options":{"any":"Online or offline","online":"Online","offline":"Offline"}}},"bulk-rewards":{"title":"Change reward address","info":"Enter the Skycoin address where you want to receive the rewards. The address will be set on all the selected visors. If you leave the address empty, the registration will be deleted and the visors will not receive rewards. You can also set the reward address of each node individually using the option on the visor details page.","more-info-link":"(More info about the reward system)","address":"New address","select-visors":"Visors to alter:","current-address":"Current address:","not-registered":"None (not registered on the reward program).","checking":"Checking...","error-checking":"Error checking:","processing":"Processing...","error-processing":"Error making the change:","done":"Change done.","perform-changes":"Perform changes","empty-warning":"The address in empty, so the registrations will be deleted and no rewards will be received. Do you really want to continue?"},"edit-label":{"label":"Label","done":"Label saved.","label-removed-warning":"The label was removed."},"settings":{"title":"Settings","checking-auth":"Checking authentication settings.","password":{"initial-config-help":"Use this option for setting the initial password. After a password has been set, it is not possible to use this option to modify it.","help":"Options for changing your password.","old-password":"Old password","new-password":"New password","repeat-password":"Repeat password","password-changed":"Password changed.","error-changing":"Error changing password.","initial-config":{"title":"Set initial password","password":"Password","repeat-password":"Repeat password","set-password":"Set password","done":"Password set. Please use it to access the system.","error":"Error. Please make sure you have not already set the password."},"errors":{"bad-old-password":"The provided old password is not correct.","old-password-required":"Old password is required.","new-password-error":"Password must be 6-64 characters long.","passwords-not-match":"Passwords do not match.","default-password":"Don\'t use the default password (1234)."}},"updater-config":{"open-link":"Show updater settings","open-confirmation":"The updater settings are for experienced users only. Are you sure you want to continue?","help":"Use this form for overriding the settings that will be used by the updater. All empty fields will be ignored. The settings will be used for all updating operations, no mater which element is being updated, so please be careful.","channel":"Channel","version":"Version","archive-url":"Archive URL","checksum-url":"Checksum URL","not-saved":"The changes have not been saved yet.","save":"Save changes","remove-settings":"Remove the settings","saved":"The custom settings have been saved.","removed":"The custom settings have been removed.","save-confirmation":"Are you sure you want to apply the custom settings?","remove-confirmation":"Are you sure you want to remove the custom settings?"},"change-password":"Change password","refresh-rate":"Refresh rate","refresh-rate-help":"Time the system waits to update the data automatically.","refresh-rate-confirmation":"Refresh rate changed.","seconds":"seconds"},"login":{"password":"Password","incorrect-password":"Incorrect password.","initial-config":"Configure initial launch"},"actions":{"menu":{"terminal":"Terminal","config":"Configuration","update":"Update","reboot":"Reboot","logs":"View logs"},"reboot":{"confirmation":"Are you sure you want to reboot the visor?","done":"The visor is restarting."},"update":{"confirmation":"A terminal will be opened in a new tab and the update procedure will be started automatically. Do you want to continue?"},"terminal-options":{"full":"Full terminal","simple":"Simple terminal"},"terminal":{"title":"Terminal","input-start":"Skywire terminal for {{address}}","error":"Unexpected error while trying to execute the command."}},"update":{"title":"Update","error-title":"Error","processing":"Looking for updates...","no-update":"There is no update for the visor. The currently installed version is:","no-updates":"No new updates were found.","already-updating":"Some visors are already being updated:","with-error":"It was not possible to check the following visors:","update-available":"The following updates were found:","update-available-singular":"The following updates for 1 visor were found:","update-available-plural":"The following updates for {{ number }} visors were found:","update-available-additional-singular":"The following additional updates for 1 visor were found:","update-available-additional-plural":"The following additional updates for {{ number }} visors were found:","update-instructions":"Click the \'Install updates\' button to continue.","updating":"The update operation has been started, you can open this window again for checking the progress:","version-change":"From {{ currentVersion }} to {{ newVersion }}","selected-channel":"Selected channel:","downloaded-file-name-prefix":"Downloading: ","speed-prefix":"Speed: ","time-downloading-prefix":"Time downloading: ","time-left-prefix":"Aprox. time left: ","starting":"Preparing to update","finished":"Status connection finished","install":"Install updates"},"update-all":{"title":"Update","updatable-list-text":"Please press the buttons of the visors you want to update. A terminal will be opened in a new tab for each visor and the update procedure will be started automatically.","non-updatable-list-text":"The following visors can not be updated via the terminal:","update-button":"Update"},"apps":{"log":{"title":"Log","empty":"There are no log messages for the selected time range.","filter-button":"Only showing logs generated since:","view-all":"View all {{ totalLogs }} entries","filter":{"title":"Filter","filter":"Only show logs generated since","7-days":"The last 7 days","1-month":"The last 30 days","3-months":"The last 3 months","6-months":"The last 6 months","1-year":"The last year","all":"Show all"}},"apps-list":{"title":"Applications","title-official":"Official Applications","title-user":"User Applications","list-title":"Application list","app-name":"Name","port":"Port","state":"State","state-tooltip":"Current state","auto-start":"Auto start","empty-official":"This visor doesn\'t have any official applications.","empty-user":"This visor doesn\'t have any user applications.","empty-with-filter":"No app matches the selected filtering criteria.","disable-autostart":"Disable autostart","enable-autostart":"Enable autostart","autostart-disabled":"Autostart disabled","autostart-enabled":"Autostart enabled","unavailable-logs-error":"Unable to show the logs while the app is not running.","filter-dialog":{"state":"The state must be","name":"The name must contain","port":"The port must contain","autostart":"The autostart must be","state-options":{"any":"Running or stopped","running":"Running","stopped":"Stopped"},"autostart-options":{"any":"Enabled or disabled","enabled":"Enabled","disabled":"Disabled"}}},"user-app-settings":{"title":"{{ name }} (Settings)","info":"Here you can edit the app settings as name-value pairs. Please check the application docs to see which settings and values are supported by this app.","name":"Name {{ number }}","value":"Value {{ number }}","remove":"Remove","add":"Add setting","save":"Save","invalid-confirmation":"One or more settings do not have a name and will be ignored. Do you want to continue?","empty-confirmation":"The settings list is empty. Do you really want to continue?","changes-made":"The changes have been made."},"vpn-socks-server-settings":{"socks-title":"Skysocks Settings","vpn-title":"VPN-Server Settings","new-password":"New password (Leave empty to remove the password)","repeat-password":"Repeat password","netifc":"Default network interface (optional)","passwords-not-match":"Passwords do not match.","secure-mode-check":"Use secure mode","secure-mode-info":"When active, the server doesn\'t allow client/server SSH and doesn\'t allow any traffic from VPN clients to the server local network.","save":"Save","remove-passowrd-confirmation":"You left the password field empty. Are you sure you want to remove the password?","change-passowrd-confirmation":"Are you sure you want to change the password?","changes-made":"The changes have been made."},"vpn-socks-client-settings":{"socks-title":"Skysocks-Client Settings","vpn-title":"VPN-Client Settings","discovery-tab":"Search","remote-visor-tab":"Enter manually","history-tab":"History","settings-tab":"Settings","use":"Use this data","change-note":"Change note","remove-entry":"Remove entry","note":"Note:","note-entered-manually":"Entered manually","note-obtained":"Obtained from the discovery service","key":"Key:","port":"Port:","location":"Location:","state-available":"Available","state-offline":"Offline","public-key":"Remote visor public key","password":"Password","password-history-warning":"Note: the password will not be saved in the history.","copy-pk-info":"Copy public key.","copied-pk-info":"The public key has been copied.","copy-pk-error":"There was a problem copying the public key.","no-elements":"Currently there are no elements to show. Please try again later.","no-elements-for-filters":"There are no elements that meet the filter criteria.","no-filter":"No filter has been selected","click-to-change":"Click to change","remote-key-length-error":"The public key must be 66 characters long.","remote-key-chars-error":"The public key must only contain hexadecimal characters.","save":"Save","remove-from-history-confirmation":"Are you sure you want to remove the entry from the history?","change-key-confirmation":"Are you sure you want to change the remote visor public key?","changes-made":"The changes have been made.","no-history":"This tab will show the last {{ number }} public keys used.","default-note-warning":"The default note has been used.","pagination-info":"{{ currentElementsRange }} of {{ totalElements }}","dns":"Custom DNS server IP address","dns-error":"Invalid value.","killswitch-check":"Activate killswitch","killswitch-info":"When active, all network connections will be disabled if the app is running but the VPN protection is interrupted (for temporary errors or any other problem). This avoids data leaks.","settings-changed-alert":" The changes have not been saved yet.","save-settings":"Save settings","change-note-dialog":{"title":"Change Note","note":"Note"},"password-dialog":{"title":"Enter Password","password":"Password","info":"You are being asked for a password because a password was set when the selected entry was created, but the it was not saved for security reasons. You can leave the password empty if needed.","continue-button":"Continue"},"filter-dialog":{"title":"Filters","country":"The country must be","any-country":"Any","location":"The location must contain","pub-key":"The public key must contain","apply":"Apply"}},"stop-app":"Stop","start-app":"Start","view-logs":"View logs","settings":"Settings","open":"Open","error":"An error has occured and it was not possible to perform the operation.","stop-confirmation":"Are you sure you want to stop the app?","stop-selected-confirmation":"Are you sure you want to stop the selected apps?","disable-autostart-confirmation":"Are you sure you want to disable autostart for the app?","enable-autostart-confirmation":"Are you sure you want to enable autostart for the app?","disable-autostart-selected-confirmation":"Are you sure you want to disable autostart for the selected apps?","enable-autostart-selected-confirmation":"Are you sure you want to enable autostart for the selected apps?","operation-completed":"Operation completed.","operation-unnecessary":"The selection already has the requested setting.","status-running":"Running","status-connecting":"Connecting","status-stopped":"Stopped","status-failed":"Ended with the following error: {{ error }}","status-running-tooltip":"App is currently running","status-connecting-tooltip":"App is currently connecting","status-stopped-tooltip":"App is currently stopped","status-failed-tooltip":"The app finished with the following error: {{ error }}"},"transports":{"title":"Transports","info":"Connections you have with remote Skywire visors, to allow local Skywire apps to communicate with apps running on those remote visors.","list-title":"Transport list","offline":"Offline","persistent":"Persistent","persistent-tooltip":"Persistent transports, which are created automatically when the visor is turned on and are automatically recreated in case of disconnection.","persistent-transport-tooltip":"This transport is persistent, so it is created automatically when the visor is turned on and automatically recreated in case of disconnection.","persistent-transport-button-tooltip":"This transport is persistent, so it is created automatically when the visor is turned on and automatically recreated in case of disconnection. Press to make non-persistent.","non-persistent-transport-button-tooltip":"Press to make this transport persistent. Persistent transports are created automatically when the visor is turned on and automatically recreated in case of disconnection.","make-persistent":"Make persistent","make-non-persistent":"Make non-persistent","make-selected-persistent":"Make all selected persistent","make-selected-non-persistent":"Make all selected non-persistent","changes-made":"Changes made.","no-changes-needed":"No changes were needed.","id":"ID","remote-node":"Remote","type":"Type","create":"Create transport","make-persistent-confirmation":"Are you sure you want to make the transport persistent?","make-non-persistent-confirmation":"Are you sure you want to make the transport non-persistent?","make-selected-persistent-confirmation":"Are you sure you want to make the selected transports persistent?","make-selected-non-persistent-confirmation":"Are you sure you want to make the selected transports non-persistent?","make-offline-non-persistent-confirmation":"Are you sure you want to make the transport non-persistent? It will not be shown in the list while offline anymore.","delete-confirmation":"Are you sure you want to delete the transport?","delete-persistent-confirmation":"This transport is persistent, so it may be recreated shortly after deletion. Are you sure you want to delete it?","delete-selected-confirmation":"Are you sure you want to delete the selected transports?","delete":"Delete transport","deleted":"Delete operation completed.","empty":"Visor doesn\'t have any transports.","empty-with-filter":"No transport matches the selected filtering criteria.","details":{"title":"Details","basic":{"title":"Basic info","persistent":"Persistent:","id":"ID:","local-pk":"Local public key:","remote-pk":"Remote public key:","type":"Type:"},"data":{"title":"Data transmission","uploaded":"Uploaded data:","downloaded":"Downloaded data:"}},"dialog":{"remote-key":"Remote public key","label":"Identification name (optional)","transport-type":"Transport type","make-persistent":"Make persistent","persistent-tooltip":"Persistent transports are created automatically when the visor is turned on and automatically recreated in case of disconnection.","only-persistent-created":"The persistent transport was created, but it may have not been activated.","success":"Transport created.","success-without-label":"The transport was created, but it was not possible to save the label.","errors":{"remote-key-length-error":"The remote public key must be 66 characters long.","remote-key-chars-error":"The remote public key must only contain hexadecimal characters.","transport-type-error":"The transport type is required."}},"filter-dialog":{"persistent":"The transport must be","id":"The id must contain","remote-node":"The remote key must contain","persistent-options":{"any":"Any","persistent":"Persistent","non-persistent":"Non-persistent"}}},"routes":{"title":"Routes","info":"Paths used to reach the remote visors to which transports have been established. Routes are automatically generated as needed.","list-title":"Route list","key":"Key","type":"Type","source":"Source","destination":"Destination","delete-confirmation":"Are you sure you want to delete the route?","delete-selected-confirmation":"Are you sure you want to delete the selected routes?","delete":"Delete route","deleted":"Delete operation completed.","empty":"Visor doesn\'t have any routes.","empty-with-filter":"No route matches the selected filtering criteria.","details":{"title":"Details","basic":{"title":"Basic info","key":"Key:","rule":"Rule:"},"summary":{"title":"Rule summary","keep-alive":"Keep alive:","type":"Rule type:","key-route-id":"Key route ID:"},"specific-fields-titles":{"app":"App fields","forward":"Forward fields","intermediary-forward":"Intermediary forward fields"},"specific-fields":{"route-id":"Next route ID:","transport-id":"Next transport ID:","destination-pk":"Destination public key:","source-pk":"Source public key:","destination-port":"Destination port:","source-port":"Source port:"}},"filter-dialog":{"key":"The key must contain","type":"The type must be","source":"The source must contain","destination":"The destination must contain","any-type-option":"Any"}},"copy":{"tooltip":"Click to copy","tooltip-with-text":"{{ text }} (Click to copy)","copied":"Copied!"},"selection":{"select-all":"Select all","unselect-all":"Unselect all","delete-all":"Delete all selected elements","start-all":"Start all selected apps","stop-all":"Stop all selected apps","enable-autostart-all":"Enable autostart for all selected apps","disable-autostart-all":"Disable autostart for all selected apps"},"refresh-button":{"seconds":"Updated a few seconds ago","minute":"Updated 1 minute ago","minutes":"Updated {{ time }} minutes ago","hour":"Updated 1 hour ago","hours":"Updated {{ time }} hours ago","day":"Updated 1 day ago","days":"Updated {{ time }} days ago","week":"Updated 1 week ago","weeks":"Updated {{ time }} weeks ago","error-tooltip":"There was an error updating the data. Retrying automatically every {{ time }} seconds..."},"view-all-link":{"label":"View all {{ number }} elements"},"paginator":{"first":"First","last":"Last","total":"Total: {{ number }} pages","select-page-title":"Select page"},"confirmation":{"header-text":"Confirmation","confirm-button":"Yes","cancel-button":"No","close":"Close","error-header-text":"Error","done-header-text":"Done"},"language":{"title":"Select language"},"tabs-window":{"title":"Change tab"},"vpn":{"title":"VPN Control Panel","start":"Start","servers":"Servers","settings":"Settings","unnamed":"Unnamed","starting-blocked-server-error":"Unable to connect to the selected server because it has been added to the blocked servers list.","unexpedted-error":"An unexpected error occurred and the operation could not be completed.","remote-access-title":"It appears that you are accessing the system remotely","remote-access-text":"This application only allows you to manage the VPN protection of the device on which it was installed. Changes made with it will not affect remote devices like the one you seem to be using. Also, the displayed IP data may be incorrect.","server-change":{"busy-error":"The system is busy. Please wait.","backend-error":"It was not possible to change the server. Please make sure the public key is correct and the VPN app is running.","already-selected-warning":"The selected server is already being used.","change-server-while-connected-confirmation":"The VPN protection will be interrupted while changing the server and some data may be transmitted unprotected during the process. Do you want to continue?","start-same-server-confirmation":"You had already selected that server. Do you want to connect to it?"},"error-page":{"text":"The VPN client app is not available.","more-info":"It was not possible to connect to the VPN client app. This may be due to a configuration error, an unexpected problem with the visor or because you used an invalid public key in the URL.","text-pk":"Invalid configuration.","more-info-pk":"The application cannot be started because you have not specified the visor public key.","text-storage":"Error saving data.","more-info-storage":"There has been a conflict when trying to save the data and the application has been closed to prevent errors. This could happen if you open the application in more than one tab or window.","text-pk-change":"Invalid operation.","more-info-pk-change":"Please use this application to manage only one VPN client."},"connection-info":{"state-title":"Your connection is currently:","state-connecting":"Connecting","state-connecting-info":"The VPN protection is being activated.","state-connected":"Connected","state-connected-info":"The VPN protection is on.","state-disconnecting":"Disconnecting","state-disconnecting-info":"The VPN protection is being deactivated.","state-reconnecting":"Reconnecting","state-reconnecting-info":"The VPN protection is being restored.","state-disconnected":"Disconnected","state-disconnected-info":"The VPN protection is off.","state-info":"Current connection status.","latency-info":"Current latency.","upload-info":"Upload speed.","download-info":"Download speed."},"connection-error":{"text":"Connection error","info":"Problem connecting with the vpn app. Some data being displayed could be outdated."},"status-page":{"start-title":"Start VPN","no-server":"No server selected!","disconnect":"Disconnect","last-error":"Last error:","unknown-error":"Unknown error.","disconnect-confirmation":"Are you sure you want to stop the VPN protection?","upload-info":"Uploaded data stats.","download-info":"Downloaded data stats.","latency-info":"Latency stats.","total-data-label":"total","problem-connecting-error":"It was not possible to connect to the server. The server may be invalid or temporarily down.","problem-starting-error":"It was not possible to start the VPN. Please make sure the base VPN client app is running.","problem-stopping-error":"It was not possible to stop the VPN. Please make sure the base VPN client app is running.","generic-problem-error":"It was not possible to perform the operation. Please make sure the base VPN client app is running.","select-server-warning":"Please select a server first.","data":{"ip":"IP address:","ip-problem-info":"There was a problem trying to get the IP. Please verify it using an external service.","ip-country-problem-info":"There was a problem trying to get the country. Please verify it using an external service.","ip-refresh-info":"Refresh","ip-refresh-time-warning":"Please wait {{ seconds }} second(s) before refreshing the data.","ip-refresh-loading-warning":"Please wait for the previous operation to finish.","country":"Country:","server":"Server:","server-note":"Server note:","original-server-note":"Original server note:","local-pk":"Local visor public key:","remote-pk":"Remote visor public key:","unavailable":"Unavailable"}},"server-options":{"tooltip":"Options","connect-without-password":"Connect without password","connect-without-password-confirmation":"The connection will be made without the password. Are you sure you want to continue?","connect-using-password":"Connect using a password","connect-using-another-password":"Connect using another password","edit-name":"Custom name","edit-label":"Custom note","make-favorite":"Make favorite","make-favorite-confirmation":"Are you sure you want to mark this server as favorite? It will be removed from the blocked list.","make-favorite-done":"Added to the favorites list.","remove-from-favorites":"Remove from favorites","remove-from-favorites-done":"Removed from the favorites list.","block":"Block server","block-done":"Added to the blocked list.","block-confirmation":"Are you sure you want to block this server? It will be removed from the favorites list.","block-selected-confirmation":"Are you sure you want to block the currently selected server? All connections will be closed.","block-selected-favorite-confirmation":"Are you sure you want to block the currently selected server? All connections will be closed and it will be removed from the favorites list.","unblock":"Unblock server","unblock-done":"Removed from the blocked list.","remove-from-history":"Remove from history","remove-from-history-confirmation":"Are you sure you want to remove this server from the history?","remove-from-history-done":"Removed from history.","edit-value":{"name-title":"Custom Name","note-title":"Custom Note","name-label":"Custom name","note-label":"Custom note","apply-button":"Apply","changes-made-confirmation":"The change has been made."}},"server-conditions":{"selected-info":"This is the currently selected server.","blocked-info":"This server is in the blocked list.","favorite-info":"This server is in the favorites list.","history-info":"This server is in the server history.","has-password-info":"A password was set for connecting with this server."},"server-list":{"date-small-table-label":"Date","date-info":"Last time you used this server.","country-small-table-label":"Country","country-info":"Country where the server is located.","name-small-table-label":"Name","location-small-table-label":"Location","public-key-small-table-label":"Pk","public-key-info":"Server public key.","congestion-rating-small-table-label":"Congestion rating","congestion-rating-info":"Rating of the server related to how congested it tends to be.","congestion-small-table-label":"Congestion","congestion-info":"Current server congestion.","latency-rating-small-table-label":"Latency rating","latency-rating-info":"Rating of the server related to how much latency it tends to have.","latency-small-table-label":"Latency","latency-info":"Current server latency.","hops-small-table-label":"Hops","hops-info":"How many hops are needed for connecting with the server.","note-small-table-label":"Note","note-info":"Note about the server.","gold-rating-info":"Gold","silver-rating-info":"Silver","bronze-rating-info":"Bronze","notes-info":"Custom note: {{ custom }} - Original note: {{ original }}","empty-discovery":"Currently there are no VPN servers to show. Please try again later.","empty-history":"There is no history to show.","empty-favorites":"There are no favorite servers to show.","empty-blocked":"There are no blocked servers to show.","empty-with-filter":"No VPN server matches the selected filtering criteria.","add-manually-info":"Add server manually.","current-filters":"Current filters (press to remove)","none":"None","unknown":"Unknown","tabs":{"public":"Public","history":"History","favorites":"Favorites","blocked":"Blocked"},"add-server-dialog":{"title":"Enter manually","pk-label":"Server public key","password-label":"Server password (if any)","name-label":"Server name (optional)","note-label":"Personal note (optional)","pk-length-error":"The public key must be 66 characters long.","pk-chars-error":"The public key must only contain hexadecimal characters.","use-server-button":"Use server"},"password-dialog":{"title":"Enter Password","password-if-any-label":"Server password (if any)","password-label":"Server password","continue-button":"Continue"},"filter-dialog":{"country":"The country must be","name":"The name must contain","location":"The location must contain","public-key":"The public key must contain","congestion-rating":"The congestion rating must be","latency-rating":"The latency rating must be","rating-options":{"any":"Any","gold":"Gold","silver":"Silver","bronze":"Bronze"},"country-options":{"any":"Any"}}},"settings-page":{"setting-small-table-label":"Setting","value-small-table-label":"Value","killswitch":"Killswitch","killswitch-info":"When active, all network connections will be disabled if the app is running but the VPN protection is interrupted (for temporary errors or any other problem). This avoids data leaks.","get-ip":"Get IP info","get-ip-info":"When active, the application will use external services to obtain information about the current IP.","data-units":"Data units","data-units-info":"Allows to select the units that will be used to display the data transmission statistics.","minimum-hops":"Minimum hops","minimum-hops-info":"Allows to set the minimum number of hops the connections must pass through other Skywire visors before reaching the final destination.","dns":"Custom DNS server","dns-info":"Allows to use a custom DNS server, which could improve privacy and prevent sites from being blocked by the default DNS server of your ISP.","setting-none":"None","setting-on":"On","setting-off":"Off","working-warning":"The system is busy. Please wait for the previous operation to finish.","change-while-connected-confirmation":"The VPN protection will be interrupted while changing the setting. Do you want to continue?","data-units-modal":{"title":"Data Units","only-bits":"Bits for all stats","only-bytes":"Bytes for all stats","bits-speed-and-bytes-volume":"Bits for speed and bytes for volume (default)"}},"dns-config":{"title":"Custom DNS server","ip":"Custom DNS server IP address","save-config-button":"Save configuration","done":"Changes saved."}}}')}}]); \ No newline at end of file diff --git a/pkg/visor/static/974.9e3a712842f1432f.js b/pkg/visor/static/974.9e3a712842f1432f.js deleted file mode 100644 index 1cfc1568f7..0000000000 --- a/pkg/visor/static/974.9e3a712842f1432f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkskywire_manager=self.webpackChunkskywire_manager||[]).push([[974],{3974:e=>{e.exports=JSON.parse('{"common":{"save":"Save","cancel":"Cancel","downloaded":"Downloaded","uploaded":"Uploaded","loading-error":"There was an error getting the data. Retrying...","operation-error":"There was an error trying to complete the operation.","no-connection-error":"There is no internet connection or connection to the Hypervisor.","error":"Error:","refreshed":"Data refreshed.","options":"Options","logout":"Logout","logout-error":"Error logging out.","logout-confirmation":"Are you sure you want to log out?","time-in-ms":"{{ time }}ms.","time-in-segs":"{{ time }}s.","ok":"Ok","yes":"Yes","no":"No","unknown":"Unknown","close":"Close","window-size-error":"The window is too narrow for the content."},"labeled-element":{"edit-label":"Edit label","remove-label":"Remove label","go-to-settings":"Go to settings","copy":"Copy","remove-label-confirmation":"Do you really want to remove the label?","unnamed-element":"Unnamed","unnamed-local-visor":"Local visor","local-element":"Local","tooltip":"Click to copy the entry or change the label","tooltip-with-text":"{{ text }} (Click to copy the entry or change the label)"},"labels":{"title":"Labels","info":"Labels you have entered to easily identify visors, transports and other elements, instead of having to read machine generated identifiers.","list-title":"Label list","label":"Label","id":"Element ID","type":"Type","delete-confirmation":"Are you sure you want to delete the label?","delete-selected-confirmation":"Are you sure you want to delete the selected labels?","delete":"Delete label","deleted":"Delete operation completed.","empty":"There aren\'t any saved labels.","empty-with-filter":"No label matches the selected filtering criteria.","filter-dialog":{"label":"The label must contain","id":"The id must contain","type":"The type must be","type-options":{"any":"Any","visor":"Visor","dmsg-server":"DMSG server","transport":"Transport"}}},"filters":{"filter-action":"Filter","filter-info":"Filter list.","press-to-remove":"(Press to remove the filters)","remove-confirmation":"Are you sure you want to remove the filters?"},"tables":{"title":"Order by","sorting-title":"Ordered by:","sort-by-value":"Value","sort-by-label":"Label","label":"(label)","inverted-order":"(inverted)"},"start":{"title":"Start","loading-error":"An error occurred while getting the initial data. Retrying..."},"node":{"title":"Visor details","not-found":"Visor not found.","statuses":{"online":"Online","online-tooltip":"The visor is online.","connecting":"Connecting","connecting-tooltip":"The visor is online, but still connecting to the uptime tracker.","unknown":"Unknown","unknown-tooltip":"The visor is online, but it has not been possible to determine if it is connected to the uptime tracker.","partially-online":"Online with problems","partially-online-tooltip":"The visor is online, but disconnected from the uptime tracker.","offline":"Offline","offline-tooltip":"The visor is offline."},"details":{"node-info":{"title":"Visor Info","label":"Label:","public-key":"Public key:","symmetic-nat":"Symmetic NAT:","public-ip":"Public IP:","ip":"IP:","dmsg-server":"DMSG server:","ping":"Ping:","node-version":"Visor version:","build-type":"Build type:","skybian-version":"Skybian version:","unknown-build":"Unknown","time":{"title":"Time online:","seconds":"a few seconds","minute":"1 minute","minutes":"{{ time }} minutes","hour":"1 hour","hours":"{{ time }} hours","day":"1 day","days":"{{ time }} days","week":"1 week","weeks":"{{ time }} weeks"}},"rewards-info":{"title":"Reward Info","rewards-address":"Reward address:","not-registered":"Not registered","not-registered-info":"You have not specified a Skycoin address for receiving rewards for this visor. If you want to register the visor for receiving rewards, press the \\"Set address\\" button and set a Skycoin address.","open-in-explorer":"Open in blockchain explorer","set-address-button":"Set address","change-address-button":"Change address"},"transports-info":{"title":"Transports Info","autoconnect":"Autoconnect:","autoconnect-info":"When enabled, the visor will automatically create the transports needed when a connection to a public visor is requested. If disabled, the transports will have to be created before being able to make the connection.","enabled":"Enabled","disabled":"Disabled","enable-button":"Enable","disable-button":"Disable","enable-confirmation":"Are you sure you want to enable the autoconnect feature?","disable-confirmation":"Are you sure you want to disable the autoconnect feature?","enable-done":"The autoconnect feature has been enabled.","disable-done":"The autoconnect feature has been disabled."},"router-info":{"title":"Router Info","min-hops":"Min hops:","max-hops":"Max hops:","change-config-button":"Change configuration"},"node-health":{"title":"Health Info","status":"Status:","transport-discovery":"Transport discovery:","route-finder":"Route finder:","setup-node":"Setup node:","uptime-tracker":"Uptime tracker:","address-resolver":"Address resolver:","element-offline":"Offline"},"node-traffic-data":"Traffic data"},"tabs":{"info":"Info","apps":"Apps","routing":"Routing"},"error-load":"An error occurred while refreshing the data. Retrying..."},"rewards-address-config":{"title":"Reward Address Configuration","info":"Here you can set to which Skycoin address you want the rewards to be sent. If you leave the address empty, the registration will be deleted and the visor will not receive rewards.","more-info-link":"(More info about the reward system)","address":"Address","address-error":"Please enter a valid Skycoin address.","save-config-button":"Save configuration","done":"Changes saved.","empty-warning":"The address in empty, so the registrations will be deleted and no rewards will be received. Do you really want to continue?"},"router-config":{"title":"Router Configuration","info":"Here you can configure how many hops the connections must pass through other Skywire visors before reaching the final destination. NOTE: the changes will not affect the existing routes.","min-hops":"Min hops","min-hops-error":"Please enter a valid number.","save-config-button":"Save configuration","done":"Changes saved."},"nodes":{"title":"Visor list","dmsg-title":"DMSG","modify-rewards-all":"Change rewards address","update-all":"Update all online visors","hypervisor":"Hypervisor","state":"State","state-tooltip":"Current state","label":"Label","key":"Key","dmsg-server":"DMSG server","ping":"Ping","hypervisor-info":"This visor is the current Hypervisor.","copy-key":"Copy key","copy-dmsg":"Copy DMSG server key","copy-data":"Copy data","view-node":"View visor","delete-node":"Remove visor","delete-all-offline":"Remove all offline visors","error-load":"An error occurred while refreshing the list. Retrying...","empty":"There aren\'t any visors connected to this hypervisor.","empty-with-filter":"No visor matches the selected filtering criteria.","delete-node-confirmation":"Are you sure you want to remove the visor from the list?","delete-all-offline-confirmation":"Are you sure you want to remove all offline visors from the list?","delete-all-filtered-offline-confirmation":"All offline visors satisfying the current filtering criteria will be removed from the list. Are you sure you want to continue?","deleted":"Visor removed.","deleted-singular":"1 offline visor removed.","deleted-plural":"{{ number }} offline visors removed.","no-visors-to-update":"There are no visors to update.","no-visors-to-modify":"There are no visors to modify.","filter-dialog":{"online":"The visor must be","label":"The label must contain","key":"The public key must contain","dmsg":"The DMSG server key must contain","online-options":{"any":"Online or offline","online":"Online","offline":"Offline"}}},"bulk-rewards":{"title":"Change reward address","info":"Enter the Skycoin address where you want to receive the rewards. The address will be set on all the selected visors. If you leave the address empty, the registration will be deleted and the visors will not receive rewards. You can also set the reward address of each node individually using the option on the visor details page.","more-info-link":"(More info about the reward system)","address":"New address","select-visors":"Visors to alter:","current-address":"Current address:","not-registered":"None (not registered on the reward program).","checking":"Checking...","error-checking":"Error checking:","processing":"Processing...","error-processing":"Error making the change:","done":"Change done.","perform-changes":"Perform changes","empty-warning":"The address in empty, so the registration will be deleted and no rewards will be received. Do you really want to continue?"},"edit-label":{"label":"Label","done":"Label saved.","label-removed-warning":"The label was removed."},"settings":{"title":"Settings","checking-auth":"Checking authentication settings.","password":{"initial-config-help":"Use this option for setting the initial password. After a password has been set, it is not possible to use this option to modify it.","help":"Options for changing your password.","old-password":"Old password","new-password":"New password","repeat-password":"Repeat password","password-changed":"Password changed.","error-changing":"Error changing password.","initial-config":{"title":"Set initial password","password":"Password","repeat-password":"Repeat password","set-password":"Set password","done":"Password set. Please use it to access the system.","error":"Error. Please make sure you have not already set the password."},"errors":{"bad-old-password":"The provided old password is not correct.","old-password-required":"Old password is required.","new-password-error":"Password must be 6-64 characters long.","passwords-not-match":"Passwords do not match.","default-password":"Don\'t use the default password (1234)."}},"updater-config":{"open-link":"Show updater settings","open-confirmation":"The updater settings are for experienced users only. Are you sure you want to continue?","help":"Use this form for overriding the settings that will be used by the updater. All empty fields will be ignored. The settings will be used for all updating operations, no mater which element is being updated, so please be careful.","channel":"Channel","version":"Version","archive-url":"Archive URL","checksum-url":"Checksum URL","not-saved":"The changes have not been saved yet.","save":"Save changes","remove-settings":"Remove the settings","saved":"The custom settings have been saved.","removed":"The custom settings have been removed.","save-confirmation":"Are you sure you want to apply the custom settings?","remove-confirmation":"Are you sure you want to remove the custom settings?"},"change-password":"Change password","refresh-rate":"Refresh rate","refresh-rate-help":"Time the system waits to update the data automatically.","refresh-rate-confirmation":"Refresh rate changed.","seconds":"seconds"},"login":{"password":"Password","incorrect-password":"Incorrect password.","initial-config":"Configure initial launch"},"actions":{"menu":{"terminal":"Terminal","config":"Configuration","update":"Update","reboot":"Reboot","logs":"View logs"},"reboot":{"confirmation":"Are you sure you want to reboot the visor?","done":"The visor is restarting."},"update":{"confirmation":"A terminal will be opened in a new tab and the update procedure will be started automatically. Do you want to continue?"},"terminal-options":{"full":"Full terminal","simple":"Simple terminal"},"terminal":{"title":"Terminal","input-start":"Skywire terminal for {{address}}","error":"Unexpected error while trying to execute the command."}},"update":{"title":"Update","error-title":"Error","processing":"Looking for updates...","no-update":"There is no update for the visor. The currently installed version is:","no-updates":"No new updates were found.","already-updating":"Some visors are already being updated:","with-error":"It was not possible to check the following visors:","update-available":"The following updates were found:","update-available-singular":"The following updates for 1 visor were found:","update-available-plural":"The following updates for {{ number }} visors were found:","update-available-additional-singular":"The following additional updates for 1 visor were found:","update-available-additional-plural":"The following additional updates for {{ number }} visors were found:","update-instructions":"Click the \'Install updates\' button to continue.","updating":"The update operation has been started, you can open this window again for checking the progress:","version-change":"From {{ currentVersion }} to {{ newVersion }}","selected-channel":"Selected channel:","downloaded-file-name-prefix":"Downloading: ","speed-prefix":"Speed: ","time-downloading-prefix":"Time downloading: ","time-left-prefix":"Aprox. time left: ","starting":"Preparing to update","finished":"Status connection finished","install":"Install updates"},"update-all":{"title":"Update","updatable-list-text":"Please press the buttons of the visors you want to update. A terminal will be opened in a new tab for each visor and the update procedure will be started automatically.","non-updatable-list-text":"The following visors can not be updated via the terminal:","update-button":"Update"},"apps":{"log":{"title":"Log","empty":"There are no log messages for the selected time range.","filter-button":"Only showing logs generated since:","view-all":"View all {{ totalLogs }} entries","filter":{"title":"Filter","filter":"Only show logs generated since","7-days":"The last 7 days","1-month":"The last 30 days","3-months":"The last 3 months","6-months":"The last 6 months","1-year":"The last year","all":"Show all"}},"apps-list":{"title":"Applications","title-official":"Official Applications","title-user":"User Applications","list-title":"Application list","app-name":"Name","port":"Port","state":"State","state-tooltip":"Current state","auto-start":"Auto start","empty-official":"This visor doesn\'t have any official applications.","empty-user":"This visor doesn\'t have any user applications.","empty-with-filter":"No app matches the selected filtering criteria.","disable-autostart":"Disable autostart","enable-autostart":"Enable autostart","autostart-disabled":"Autostart disabled","autostart-enabled":"Autostart enabled","unavailable-logs-error":"Unable to show the logs while the app is not running.","filter-dialog":{"state":"The state must be","name":"The name must contain","port":"The port must contain","autostart":"The autostart must be","state-options":{"any":"Running or stopped","running":"Running","stopped":"Stopped"},"autostart-options":{"any":"Enabled or disabled","enabled":"Enabled","disabled":"Disabled"}}},"user-app-settings":{"title":"{{ name }} (Settings)","info":"Here you can edit the app settings as name-value pairs. Please check the application docs to see which settings and values are supported by this app.","name":"Name {{ number }}","value":"Value {{ number }}","remove":"Remove","add":"Add setting","save":"Save","invalid-confirmation":"One or more settings do not have a name and will be ignored. Do you want to continue?","empty-confirmation":"The settings list is empty. Do you really want to continue?","changes-made":"The changes have been made."},"vpn-socks-server-settings":{"socks-title":"Skysocks Settings","vpn-title":"VPN-Server Settings","new-password":"New password (Leave empty to remove the password)","repeat-password":"Repeat password","netifc":"Default network interface (optional)","passwords-not-match":"Passwords do not match.","secure-mode-check":"Use secure mode","secure-mode-info":"When active, the server doesn\'t allow client/server SSH and doesn\'t allow any traffic from VPN clients to the server local network.","save":"Save","remove-passowrd-confirmation":"You left the password field empty. Are you sure you want to remove the password?","change-passowrd-confirmation":"Are you sure you want to change the password?","changes-made":"The changes have been made."},"vpn-socks-client-settings":{"socks-title":"Skysocks-Client Settings","vpn-title":"VPN-Client Settings","discovery-tab":"Search","remote-visor-tab":"Enter manually","history-tab":"History","settings-tab":"Settings","use":"Use this data","change-note":"Change note","remove-entry":"Remove entry","note":"Note:","note-entered-manually":"Entered manually","note-obtained":"Obtained from the discovery service","key":"Key:","port":"Port:","location":"Location:","state-available":"Available","state-offline":"Offline","public-key":"Remote visor public key","password":"Password","password-history-warning":"Note: the password will not be saved in the history.","copy-pk-info":"Copy public key.","copied-pk-info":"The public key has been copied.","copy-pk-error":"There was a problem copying the public key.","no-elements":"Currently there are no elements to show. Please try again later.","no-elements-for-filters":"There are no elements that meet the filter criteria.","no-filter":"No filter has been selected","click-to-change":"Click to change","remote-key-length-error":"The public key must be 66 characters long.","remote-key-chars-error":"The public key must only contain hexadecimal characters.","save":"Save","remove-from-history-confirmation":"Are you sure you want to remove the entry from the history?","change-key-confirmation":"Are you sure you want to change the remote visor public key?","changes-made":"The changes have been made.","no-history":"This tab will show the last {{ number }} public keys used.","default-note-warning":"The default note has been used.","pagination-info":"{{ currentElementsRange }} of {{ totalElements }}","dns":"Custom DNS server IP address","dns-error":"Invalid value.","killswitch-check":"Activate killswitch","killswitch-info":"When active, all network connections will be disabled if the app is running but the VPN protection is interrupted (for temporary errors or any other problem). This avoids data leaks.","settings-changed-alert":" The changes have not been saved yet.","save-settings":"Save settings","change-note-dialog":{"title":"Change Note","note":"Note"},"password-dialog":{"title":"Enter Password","password":"Password","info":"You are being asked for a password because a password was set when the selected entry was created, but the it was not saved for security reasons. You can leave the password empty if needed.","continue-button":"Continue"},"filter-dialog":{"title":"Filters","country":"The country must be","any-country":"Any","location":"The location must contain","pub-key":"The public key must contain","apply":"Apply"}},"stop-app":"Stop","start-app":"Start","view-logs":"View logs","settings":"Settings","open":"Open","error":"An error has occured and it was not possible to perform the operation.","stop-confirmation":"Are you sure you want to stop the app?","stop-selected-confirmation":"Are you sure you want to stop the selected apps?","disable-autostart-confirmation":"Are you sure you want to disable autostart for the app?","enable-autostart-confirmation":"Are you sure you want to enable autostart for the app?","disable-autostart-selected-confirmation":"Are you sure you want to disable autostart for the selected apps?","enable-autostart-selected-confirmation":"Are you sure you want to enable autostart for the selected apps?","operation-completed":"Operation completed.","operation-unnecessary":"The selection already has the requested setting.","status-running":"Running","status-connecting":"Connecting","status-stopped":"Stopped","status-failed":"Ended with the following error: {{ error }}","status-running-tooltip":"App is currently running","status-connecting-tooltip":"App is currently connecting","status-stopped-tooltip":"App is currently stopped","status-failed-tooltip":"The app finished with the following error: {{ error }}"},"transports":{"title":"Transports","info":"Connections you have with remote Skywire visors, to allow local Skywire apps to communicate with apps running on those remote visors.","list-title":"Transport list","offline":"Offline","persistent":"Persistent","persistent-tooltip":"Persistent transports, which are created automatically when the visor is turned on and are automatically recreated in case of disconnection.","persistent-transport-tooltip":"This transport is persistent, so it is created automatically when the visor is turned on and automatically recreated in case of disconnection.","persistent-transport-button-tooltip":"This transport is persistent, so it is created automatically when the visor is turned on and automatically recreated in case of disconnection. Press to make non-persistent.","non-persistent-transport-button-tooltip":"Press to make this transport persistent. Persistent transports are created automatically when the visor is turned on and automatically recreated in case of disconnection.","make-persistent":"Make persistent","make-non-persistent":"Make non-persistent","make-selected-persistent":"Make all selected persistent","make-selected-non-persistent":"Make all selected non-persistent","changes-made":"Changes made.","no-changes-needed":"No changes were needed.","id":"ID","remote-node":"Remote","type":"Type","create":"Create transport","make-persistent-confirmation":"Are you sure you want to make the transport persistent?","make-non-persistent-confirmation":"Are you sure you want to make the transport non-persistent?","make-selected-persistent-confirmation":"Are you sure you want to make the selected transports persistent?","make-selected-non-persistent-confirmation":"Are you sure you want to make the selected transports non-persistent?","make-offline-non-persistent-confirmation":"Are you sure you want to make the transport non-persistent? It will not be shown in the list while offline anymore.","delete-confirmation":"Are you sure you want to delete the transport?","delete-persistent-confirmation":"This transport is persistent, so it may be recreated shortly after deletion. Are you sure you want to delete it?","delete-selected-confirmation":"Are you sure you want to delete the selected transports?","delete":"Delete transport","deleted":"Delete operation completed.","empty":"Visor doesn\'t have any transports.","empty-with-filter":"No transport matches the selected filtering criteria.","details":{"title":"Details","basic":{"title":"Basic info","persistent":"Persistent:","id":"ID:","local-pk":"Local public key:","remote-pk":"Remote public key:","type":"Type:"},"data":{"title":"Data transmission","uploaded":"Uploaded data:","downloaded":"Downloaded data:"}},"dialog":{"remote-key":"Remote public key","label":"Identification name (optional)","transport-type":"Transport type","make-persistent":"Make persistent","persistent-tooltip":"Persistent transports are created automatically when the visor is turned on and automatically recreated in case of disconnection.","only-persistent-created":"The persistent transport was created, but it may have not been activated.","success":"Transport created.","success-without-label":"The transport was created, but it was not possible to save the label.","errors":{"remote-key-length-error":"The remote public key must be 66 characters long.","remote-key-chars-error":"The remote public key must only contain hexadecimal characters.","transport-type-error":"The transport type is required."}},"filter-dialog":{"persistent":"The transport must be","id":"The id must contain","remote-node":"The remote key must contain","persistent-options":{"any":"Any","persistent":"Persistent","non-persistent":"Non-persistent"}}},"routes":{"title":"Routes","info":"Paths used to reach the remote visors to which transports have been established. Routes are automatically generated as needed.","list-title":"Route list","key":"Key","type":"Type","source":"Source","destination":"Destination","delete-confirmation":"Are you sure you want to delete the route?","delete-selected-confirmation":"Are you sure you want to delete the selected routes?","delete":"Delete route","deleted":"Delete operation completed.","empty":"Visor doesn\'t have any routes.","empty-with-filter":"No route matches the selected filtering criteria.","details":{"title":"Details","basic":{"title":"Basic info","key":"Key:","rule":"Rule:"},"summary":{"title":"Rule summary","keep-alive":"Keep alive:","type":"Rule type:","key-route-id":"Key route ID:"},"specific-fields-titles":{"app":"App fields","forward":"Forward fields","intermediary-forward":"Intermediary forward fields"},"specific-fields":{"route-id":"Next route ID:","transport-id":"Next transport ID:","destination-pk":"Destination public key:","source-pk":"Source public key:","destination-port":"Destination port:","source-port":"Source port:"}},"filter-dialog":{"key":"The key must contain","type":"The type must be","source":"The source must contain","destination":"The destination must contain","any-type-option":"Any"}},"copy":{"tooltip":"Click to copy","tooltip-with-text":"{{ text }} (Click to copy)","copied":"Copied!"},"selection":{"select-all":"Select all","unselect-all":"Unselect all","delete-all":"Delete all selected elements","start-all":"Start all selected apps","stop-all":"Stop all selected apps","enable-autostart-all":"Enable autostart for all selected apps","disable-autostart-all":"Disable autostart for all selected apps"},"refresh-button":{"seconds":"Updated a few seconds ago","minute":"Updated 1 minute ago","minutes":"Updated {{ time }} minutes ago","hour":"Updated 1 hour ago","hours":"Updated {{ time }} hours ago","day":"Updated 1 day ago","days":"Updated {{ time }} days ago","week":"Updated 1 week ago","weeks":"Updated {{ time }} weeks ago","error-tooltip":"There was an error updating the data. Retrying automatically every {{ time }} seconds..."},"view-all-link":{"label":"View all {{ number }} elements"},"paginator":{"first":"First","last":"Last","total":"Total: {{ number }} pages","select-page-title":"Select page"},"confirmation":{"header-text":"Confirmation","confirm-button":"Yes","cancel-button":"No","close":"Close","error-header-text":"Error","done-header-text":"Done"},"language":{"title":"Select language"},"tabs-window":{"title":"Change tab"},"vpn":{"title":"VPN Control Panel","start":"Start","servers":"Servers","settings":"Settings","unnamed":"Unnamed","starting-blocked-server-error":"Unable to connect to the selected server because it has been added to the blocked servers list.","unexpedted-error":"An unexpected error occurred and the operation could not be completed.","remote-access-title":"It appears that you are accessing the system remotely","remote-access-text":"This application only allows you to manage the VPN protection of the device on which it was installed. Changes made with it will not affect remote devices like the one you seem to be using. Also, the displayed IP data may be incorrect.","server-change":{"busy-error":"The system is busy. Please wait.","backend-error":"It was not possible to change the server. Please make sure the public key is correct and the VPN app is running.","already-selected-warning":"The selected server is already being used.","change-server-while-connected-confirmation":"The VPN protection will be interrupted while changing the server and some data may be transmitted unprotected during the process. Do you want to continue?","start-same-server-confirmation":"You had already selected that server. Do you want to connect to it?"},"error-page":{"text":"The VPN client app is not available.","more-info":"It was not possible to connect to the VPN client app. This may be due to a configuration error, an unexpected problem with the visor or because you used an invalid public key in the URL.","text-pk":"Invalid configuration.","more-info-pk":"The application cannot be started because you have not specified the visor public key.","text-storage":"Error saving data.","more-info-storage":"There has been a conflict when trying to save the data and the application has been closed to prevent errors. This could happen if you open the application in more than one tab or window.","text-pk-change":"Invalid operation.","more-info-pk-change":"Please use this application to manage only one VPN client."},"connection-info":{"state-title":"Your connection is currently:","state-connecting":"Connecting","state-connecting-info":"The VPN protection is being activated.","state-connected":"Connected","state-connected-info":"The VPN protection is on.","state-disconnecting":"Disconnecting","state-disconnecting-info":"The VPN protection is being deactivated.","state-reconnecting":"Reconnecting","state-reconnecting-info":"The VPN protection is being restored.","state-disconnected":"Disconnected","state-disconnected-info":"The VPN protection is off.","state-info":"Current connection status.","latency-info":"Current latency.","upload-info":"Upload speed.","download-info":"Download speed."},"connection-error":{"text":"Connection error","info":"Problem connecting with the vpn app. Some data being displayed could be outdated."},"status-page":{"start-title":"Start VPN","no-server":"No server selected!","disconnect":"Disconnect","last-error":"Last error:","unknown-error":"Unknown error.","disconnect-confirmation":"Are you sure you want to stop the VPN protection?","upload-info":"Uploaded data stats.","download-info":"Downloaded data stats.","latency-info":"Latency stats.","total-data-label":"total","problem-connecting-error":"It was not possible to connect to the server. The server may be invalid or temporarily down.","problem-starting-error":"It was not possible to start the VPN. Please make sure the base VPN client app is running.","problem-stopping-error":"It was not possible to stop the VPN. Please make sure the base VPN client app is running.","generic-problem-error":"It was not possible to perform the operation. Please make sure the base VPN client app is running.","select-server-warning":"Please select a server first.","data":{"ip":"IP address:","ip-problem-info":"There was a problem trying to get the IP. Please verify it using an external service.","ip-country-problem-info":"There was a problem trying to get the country. Please verify it using an external service.","ip-refresh-info":"Refresh","ip-refresh-time-warning":"Please wait {{ seconds }} second(s) before refreshing the data.","ip-refresh-loading-warning":"Please wait for the previous operation to finish.","country":"Country:","server":"Server:","server-note":"Server note:","original-server-note":"Original server note:","local-pk":"Local visor public key:","remote-pk":"Remote visor public key:","unavailable":"Unavailable"}},"server-options":{"tooltip":"Options","connect-without-password":"Connect without password","connect-without-password-confirmation":"The connection will be made without the password. Are you sure you want to continue?","connect-using-password":"Connect using a password","connect-using-another-password":"Connect using another password","edit-name":"Custom name","edit-label":"Custom note","make-favorite":"Make favorite","make-favorite-confirmation":"Are you sure you want to mark this server as favorite? It will be removed from the blocked list.","make-favorite-done":"Added to the favorites list.","remove-from-favorites":"Remove from favorites","remove-from-favorites-done":"Removed from the favorites list.","block":"Block server","block-done":"Added to the blocked list.","block-confirmation":"Are you sure you want to block this server? It will be removed from the favorites list.","block-selected-confirmation":"Are you sure you want to block the currently selected server? All connections will be closed.","block-selected-favorite-confirmation":"Are you sure you want to block the currently selected server? All connections will be closed and it will be removed from the favorites list.","unblock":"Unblock server","unblock-done":"Removed from the blocked list.","remove-from-history":"Remove from history","remove-from-history-confirmation":"Are you sure you want to remove this server from the history?","remove-from-history-done":"Removed from history.","edit-value":{"name-title":"Custom Name","note-title":"Custom Note","name-label":"Custom name","note-label":"Custom note","apply-button":"Apply","changes-made-confirmation":"The change has been made."}},"server-conditions":{"selected-info":"This is the currently selected server.","blocked-info":"This server is in the blocked list.","favorite-info":"This server is in the favorites list.","history-info":"This server is in the server history.","has-password-info":"A password was set for connecting with this server."},"server-list":{"date-small-table-label":"Date","date-info":"Last time you used this server.","country-small-table-label":"Country","country-info":"Country where the server is located.","name-small-table-label":"Name","location-small-table-label":"Location","public-key-small-table-label":"Pk","public-key-info":"Server public key.","congestion-rating-small-table-label":"Congestion rating","congestion-rating-info":"Rating of the server related to how congested it tends to be.","congestion-small-table-label":"Congestion","congestion-info":"Current server congestion.","latency-rating-small-table-label":"Latency rating","latency-rating-info":"Rating of the server related to how much latency it tends to have.","latency-small-table-label":"Latency","latency-info":"Current server latency.","hops-small-table-label":"Hops","hops-info":"How many hops are needed for connecting with the server.","note-small-table-label":"Note","note-info":"Note about the server.","gold-rating-info":"Gold","silver-rating-info":"Silver","bronze-rating-info":"Bronze","notes-info":"Custom note: {{ custom }} - Original note: {{ original }}","empty-discovery":"Currently there are no VPN servers to show. Please try again later.","empty-history":"There is no history to show.","empty-favorites":"There are no favorite servers to show.","empty-blocked":"There are no blocked servers to show.","empty-with-filter":"No VPN server matches the selected filtering criteria.","add-manually-info":"Add server manually.","current-filters":"Current filters (press to remove)","none":"None","unknown":"Unknown","tabs":{"public":"Public","history":"History","favorites":"Favorites","blocked":"Blocked"},"add-server-dialog":{"title":"Enter manually","pk-label":"Server public key","password-label":"Server password (if any)","name-label":"Server name (optional)","note-label":"Personal note (optional)","pk-length-error":"The public key must be 66 characters long.","pk-chars-error":"The public key must only contain hexadecimal characters.","use-server-button":"Use server"},"password-dialog":{"title":"Enter Password","password-if-any-label":"Server password (if any)","password-label":"Server password","continue-button":"Continue"},"filter-dialog":{"country":"The country must be","name":"The name must contain","location":"The location must contain","public-key":"The public key must contain","congestion-rating":"The congestion rating must be","latency-rating":"The latency rating must be","rating-options":{"any":"Any","gold":"Gold","silver":"Silver","bronze":"Bronze"},"country-options":{"any":"Any"}}},"settings-page":{"setting-small-table-label":"Setting","value-small-table-label":"Value","killswitch":"Killswitch","killswitch-info":"When active, all network connections will be disabled if the app is running but the VPN protection is interrupted (for temporary errors or any other problem). This avoids data leaks.","get-ip":"Get IP info","get-ip-info":"When active, the application will use external services to obtain information about the current IP.","data-units":"Data units","data-units-info":"Allows to select the units that will be used to display the data transmission statistics.","minimum-hops":"Minimum hops","minimum-hops-info":"Allows to set the minimum number of hops the connections must pass through other Skywire visors before reaching the final destination.","dns":"Custom DNS server","dns-info":"Allows to use a custom DNS server, which could improve privacy and prevent sites from being blocked by the default DNS server of your ISP.","setting-none":"None","setting-on":"On","setting-off":"Off","working-warning":"The system is busy. Please wait for the previous operation to finish.","change-while-connected-confirmation":"The VPN protection will be interrupted while changing the setting. Do you want to continue?","data-units-modal":{"title":"Data Units","only-bits":"Bits for all stats","only-bytes":"Bytes for all stats","bits-speed-and-bytes-volume":"Bits for speed and bytes for volume (default)"}},"dns-config":{"title":"Custom DNS server","ip":"Custom DNS server IP address","save-config-button":"Save configuration","done":"Changes saved."}}}')}}]); \ No newline at end of file diff --git a/pkg/visor/static/974.c5a367fdf75808a3.js b/pkg/visor/static/974.c5a367fdf75808a3.js new file mode 100644 index 0000000000..849078c64a --- /dev/null +++ b/pkg/visor/static/974.c5a367fdf75808a3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkskywire_manager=self.webpackChunkskywire_manager||[]).push([[974],{3974:e=>{e.exports=JSON.parse('{"common":{"save":"Save","cancel":"Cancel","downloaded":"Downloaded","uploaded":"Uploaded","loading-error":"There was an error getting the data. Retrying...","operation-error":"There was an error trying to complete the operation.","no-connection-error":"There is no internet connection or connection to the Hypervisor.","error":"Error:","refreshed":"Data refreshed.","options":"Options","logout":"Logout","logout-error":"Error logging out.","logout-confirmation":"Are you sure you want to log out?","time-in-ms":"{{ time }}ms.","time-in-segs":"{{ time }}s.","ok":"Ok","yes":"Yes","no":"No","unknown":"Unknown","close":"Close","window-size-error":"The window is too narrow for the content."},"labeled-element":{"edit-label":"Edit label","remove-label":"Remove label","go-to-settings":"Go to settings","copy":"Copy","remove-label-confirmation":"Do you really want to remove the label?","unnamed-element":"Unnamed","unnamed-local-visor":"Local visor","local-element":"Local","tooltip":"Click to copy the entry or change the label","tooltip-with-text":"{{ text }} (Click to copy the entry or change the label)"},"labels":{"title":"Labels","info":"Labels you have entered to easily identify visors, transports and other elements, instead of having to read machine generated identifiers.","list-title":"Label list","label":"Label","id":"Element ID","type":"Type","delete-confirmation":"Are you sure you want to delete the label?","delete-selected-confirmation":"Are you sure you want to delete the selected labels?","delete":"Delete label","deleted":"Delete operation completed.","empty":"There aren\'t any saved labels.","empty-with-filter":"No label matches the selected filtering criteria.","filter-dialog":{"label":"The label must contain","id":"The id must contain","type":"The type must be","type-options":{"any":"Any","visor":"Visor","dmsg-server":"DMSG server","transport":"Transport"}}},"filters":{"filter-action":"Filter","filter-info":"Filter list.","press-to-remove":"(Press to remove the filters)","remove-confirmation":"Are you sure you want to remove the filters?"},"tables":{"title":"Order by","sorting-title":"Ordered by:","sort-by-value":"Value","sort-by-label":"Label","label":"(label)","inverted-order":"(inverted)"},"start":{"title":"Start","loading-error":"An error occurred while getting the initial data. Retrying..."},"node":{"title":"Visor details","not-found":"Visor not found.","logs":{"title":"Runtime Logs","no-logs":"No runtime logs were found for this visor.","no-logs-for-filter":"No runtime logs matches the selected filter.","view-all":"View all logs in raw format >","view-rest":"View all {{ number }} elements in raw format >","selected-filter":"Showing:","filter-ignored":"The filter excluded {{ number }} entries","filter-title":"Filter","filter-all":"All logs","filter-debug":"Debug or more important","filter-info":"Info or more important","filter-warning":"Warning or more important","filter-error":"Error or more important","filter-faltal":"Faltal or more important","filter-panic":"Panic"},"statuses":{"online":"Online","online-tooltip":"The visor is online.","connecting":"Connecting","connecting-tooltip":"The visor is online, but still connecting to the uptime tracker.","unknown":"Unknown","unknown-tooltip":"The visor is online, but it has not been possible to determine if it is connected to the uptime tracker.","partially-online":"Online with problems","partially-online-tooltip":"The visor is online, but disconnected from the uptime tracker.","offline":"Offline","offline-tooltip":"The visor is offline."},"details":{"node-info":{"title":"Visor Info","label":"Label:","public-key":"Public key:","symmetic-nat":"Symmetic NAT:","public-ip":"Public IP:","ip":"IP:","dmsg-server":"DMSG server:","no-dmsg-server":"Not connected","ping":"Ping:","node-version":"Visor version:","build-type":"Build type:","skybian-version":"Skybian version:","unknown-build":"Unknown","time":{"title":"Time online:","seconds":"a few seconds","minute":"1 minute","minutes":"{{ time }} minutes","hour":"1 hour","hours":"{{ time }} hours","day":"1 day","days":"{{ time }} days","week":"1 week","weeks":"{{ time }} weeks"}},"rewards-info":{"title":"Reward Info","rewards-address":"Reward address:","not-registered":"Not registered","not-registered-info":"You have not specified a Skycoin address for receiving rewards for this visor. If you want to register the visor for receiving rewards, press the \\"Set address\\" button and set a Skycoin address.","open-in-explorer":"Open in blockchain explorer","set-address-button":"Set address","change-address-button":"Change address"},"transports-info":{"title":"Transports Info","autoconnect":"Autoconnect:","autoconnect-info":"When enabled, the visor will automatically create the transports needed when a connection to a public visor is requested. If disabled, the transports will have to be created before being able to make the connection.","enabled":"Enabled","disabled":"Disabled","enable-button":"Enable","disable-button":"Disable","enable-confirmation":"Are you sure you want to enable the autoconnect feature?","disable-confirmation":"Are you sure you want to disable the autoconnect feature?","enable-done":"The autoconnect feature has been enabled.","disable-done":"The autoconnect feature has been disabled."},"router-info":{"title":"Router Info","min-hops":"Min hops:","max-hops":"Max hops:","change-config-button":"Change configuration"},"node-health":{"title":"Health Info","status":"Status:","transport-discovery":"Transport discovery:","route-finder":"Route finder:","setup-node":"Setup node:","uptime-tracker":"Uptime tracker:","address-resolver":"Address resolver:","element-offline":"Offline"},"node-traffic-data":"Traffic data"},"tabs":{"info":"Info","apps":"Apps","routing":"Routing"},"error-load":"An error occurred while refreshing the data. Retrying..."},"rewards-address-config":{"title":"Reward Address Configuration","info":"Here you can set to which Skycoin address you want the rewards to be sent. If you leave the address empty, the registration will be deleted and the visor will not receive rewards.","more-info-link":"(More info about the reward system)","address":"Address","address-error":"Please enter a valid Skycoin address.","save-config-button":"Save configuration","done":"Changes saved.","empty-warning":"The address in empty, so the registrations will be deleted and no rewards will be received. Do you really want to continue?"},"router-config":{"title":"Router Configuration","info":"Here you can configure how many hops the connections must pass through other Skywire visors before reaching the final destination. NOTE: the changes will not affect the existing routes.","min-hops":"Min hops","min-hops-error":"Please enter a valid number.","save-config-button":"Save configuration","done":"Changes saved."},"nodes":{"title":"Visor list","dmsg-title":"DMSG","modify-rewards-all":"Change rewards address","update-all":"Update all online visors","hypervisor":"Hypervisor","state":"State","state-tooltip":"Current state","label":"Label","key":"Key","dmsg-server":"DMSG server","ping":"Ping","hypervisor-info":"This visor is the current Hypervisor.","copy-key":"Copy key","copy-dmsg":"Copy DMSG server key","copy-data":"Copy data","view-node":"View visor","delete-node":"Remove visor","delete-all-offline":"Remove all offline visors","error-load":"An error occurred while refreshing the list. Retrying...","empty":"There aren\'t any visors connected to this hypervisor.","empty-with-filter":"No visor matches the selected filtering criteria.","delete-node-confirmation":"Are you sure you want to remove the visor from the list?","delete-all-offline-confirmation":"Are you sure you want to remove all offline visors from the list?","delete-all-filtered-offline-confirmation":"All offline visors satisfying the current filtering criteria will be removed from the list. Are you sure you want to continue?","deleted":"Visor removed.","deleted-singular":"1 offline visor removed.","deleted-plural":"{{ number }} offline visors removed.","no-visors-to-update":"There are no visors to update.","no-visors-to-modify":"There are no visors to modify.","filter-dialog":{"online":"The visor must be","label":"The label must contain","key":"The public key must contain","dmsg":"The DMSG server key must contain","online-options":{"any":"Online or offline","online":"Online","offline":"Offline"}}},"bulk-rewards":{"title":"Change reward address","info":"Enter the Skycoin address where you want to receive the rewards. The address will be set on all the selected visors. If you leave the address empty, the registration will be deleted and the visors will not receive rewards. You can also set the reward address of each node individually using the option on the visor details page.","more-info-link":"(More info about the reward system)","address":"New address","select-visors":"Visors to alter:","current-address":"Current address:","not-registered":"None (not registered on the reward program).","checking":"Checking...","error-checking":"Error checking:","processing":"Processing...","error-processing":"Error making the change:","done":"Change done.","perform-changes":"Perform changes","empty-warning":"The address in empty, so the registration will be deleted and no rewards will be received. Do you really want to continue?"},"edit-label":{"label":"Label","done":"Label saved.","label-removed-warning":"The label was removed."},"settings":{"title":"Settings","checking-auth":"Checking authentication settings.","password":{"initial-config-help":"Use this option for setting the initial password. After a password has been set, it is not possible to use this option to modify it.","help":"Options for changing your password.","old-password":"Old password","new-password":"New password","repeat-password":"Repeat password","password-changed":"Password changed.","error-changing":"Error changing password.","initial-config":{"title":"Set initial password","password":"Password","repeat-password":"Repeat password","set-password":"Set password","done":"Password set. Please use it to access the system.","error":"Error. Please make sure you have not already set the password."},"errors":{"bad-old-password":"The provided old password is not correct.","old-password-required":"Old password is required.","new-password-error":"Password must be 6-64 characters long.","passwords-not-match":"Passwords do not match.","default-password":"Don\'t use the default password (1234)."}},"updater-config":{"open-link":"Show updater settings","open-confirmation":"The updater settings are for experienced users only. Are you sure you want to continue?","help":"Use this form for overriding the settings that will be used by the updater. All empty fields will be ignored. The settings will be used for all updating operations, no mater which element is being updated, so please be careful.","channel":"Channel","version":"Version","archive-url":"Archive URL","checksum-url":"Checksum URL","not-saved":"The changes have not been saved yet.","save":"Save changes","remove-settings":"Remove the settings","saved":"The custom settings have been saved.","removed":"The custom settings have been removed.","save-confirmation":"Are you sure you want to apply the custom settings?","remove-confirmation":"Are you sure you want to remove the custom settings?"},"change-password":"Change password","refresh-rate":"Refresh rate","refresh-rate-help":"Time the system waits to update the data automatically.","refresh-rate-confirmation":"Refresh rate changed.","seconds":"seconds"},"login":{"password":"Password","incorrect-password":"Incorrect password.","initial-config":"Configure initial launch"},"actions":{"menu":{"terminal":"Terminal","config":"Configuration","update":"Update","reboot":"Reboot","logs":"View logs"},"reboot":{"confirmation":"Are you sure you want to reboot the visor?","done":"The visor is restarting."},"update":{"confirmation":"A terminal will be opened in a new tab and the update procedure will be started automatically. Do you want to continue?"},"terminal-options":{"full":"Full terminal","simple":"Simple terminal"},"terminal":{"title":"Terminal","input-start":"Skywire terminal for {{address}}","error":"Unexpected error while trying to execute the command."}},"update":{"title":"Update","error-title":"Error","processing":"Looking for updates...","no-update":"There is no update for the visor. The currently installed version is:","no-updates":"No new updates were found.","already-updating":"Some visors are already being updated:","with-error":"It was not possible to check the following visors:","update-available":"The following updates were found:","update-available-singular":"The following updates for 1 visor were found:","update-available-plural":"The following updates for {{ number }} visors were found:","update-available-additional-singular":"The following additional updates for 1 visor were found:","update-available-additional-plural":"The following additional updates for {{ number }} visors were found:","update-instructions":"Click the \'Install updates\' button to continue.","updating":"The update operation has been started, you can open this window again for checking the progress:","version-change":"From {{ currentVersion }} to {{ newVersion }}","selected-channel":"Selected channel:","downloaded-file-name-prefix":"Downloading: ","speed-prefix":"Speed: ","time-downloading-prefix":"Time downloading: ","time-left-prefix":"Aprox. time left: ","starting":"Preparing to update","finished":"Status connection finished","install":"Install updates"},"update-all":{"title":"Update","updatable-list-text":"Please press the buttons of the visors you want to update. A terminal will be opened in a new tab for each visor and the update procedure will be started automatically.","non-updatable-list-text":"The following visors can not be updated via the terminal:","update-button":"Update"},"apps":{"log":{"title":"Log","empty":"There are no log messages for the selected time range.","filter-button":"Only showing logs generated since:","view-all":"View all {{ totalLogs }} entries","filter":{"title":"Filter","filter":"Only show logs generated since","7-days":"The last 7 days","1-month":"The last 30 days","3-months":"The last 3 months","6-months":"The last 6 months","1-year":"The last year","all":"Show all"}},"apps-list":{"title":"Applications","title-official":"Official Applications","title-user":"User Applications","list-title":"Application list","app-name":"Name","port":"Port","state":"State","state-tooltip":"Current state","auto-start":"Auto start","empty-official":"This visor doesn\'t have any official applications.","empty-user":"This visor doesn\'t have any user applications.","empty-with-filter":"No app matches the selected filtering criteria.","disable-autostart":"Disable autostart","enable-autostart":"Enable autostart","autostart-disabled":"Autostart disabled","autostart-enabled":"Autostart enabled","unavailable-logs-error":"Unable to show the logs while the app is not running.","filter-dialog":{"state":"The state must be","name":"The name must contain","port":"The port must contain","autostart":"The autostart must be","state-options":{"any":"Running or stopped","running":"Running","stopped":"Stopped"},"autostart-options":{"any":"Enabled or disabled","enabled":"Enabled","disabled":"Disabled"}}},"user-app-settings":{"title":"{{ name }} (Settings)","info":"Here you can edit the app settings as name-value pairs. Please check the application docs to see which settings and values are supported by this app.","name":"Name {{ number }}","value":"Value {{ number }}","remove":"Remove","add":"Add setting","save":"Save","invalid-confirmation":"One or more settings do not have a name and will be ignored. Do you want to continue?","empty-confirmation":"The settings list is empty. Do you really want to continue?","changes-made":"The changes have been made."},"vpn-socks-server-settings":{"socks-title":"Skysocks Settings","vpn-title":"VPN-Server Settings","new-password":"New password (Leave empty to remove the password)","repeat-password":"Repeat password","netifc":"Default network interface (optional)","passwords-not-match":"Passwords do not match.","secure-mode-check":"Use secure mode","secure-mode-info":"When active, the server doesn\'t allow client/server SSH and doesn\'t allow any traffic from VPN clients to the server local network.","save":"Save","remove-passowrd-confirmation":"You left the password field empty. Are you sure you want to remove the password?","change-passowrd-confirmation":"Are you sure you want to change the password?","changes-made":"The changes have been made."},"vpn-socks-client-settings":{"socks-title":"Skysocks-Client Settings","vpn-title":"VPN-Client Settings","discovery-tab":"Search","remote-visor-tab":"Enter manually","history-tab":"History","settings-tab":"Settings","use":"Use this data","change-note":"Change note","remove-entry":"Remove entry","note":"Note:","note-entered-manually":"Entered manually","note-obtained":"Obtained from the discovery service","key":"Key:","port":"Port:","location":"Location:","state-available":"Available","state-offline":"Offline","public-key":"Remote visor public key","password":"Password","password-history-warning":"Note: the password will not be saved in the history.","copy-pk-info":"Copy public key.","copied-pk-info":"The public key has been copied.","copy-pk-error":"There was a problem copying the public key.","no-elements":"Currently there are no elements to show. Please try again later.","no-elements-for-filters":"There are no elements that meet the filter criteria.","no-filter":"No filter has been selected","click-to-change":"Click to change","remote-key-length-error":"The public key must be 66 characters long.","remote-key-chars-error":"The public key must only contain hexadecimal characters.","save":"Save","remove-from-history-confirmation":"Are you sure you want to remove the entry from the history?","change-key-confirmation":"Are you sure you want to change the remote visor public key?","changes-made":"The changes have been made.","no-history":"This tab will show the last {{ number }} public keys used.","default-note-warning":"The default note has been used.","pagination-info":"{{ currentElementsRange }} of {{ totalElements }}","dns":"Custom DNS server IP address","dns-error":"Invalid value.","killswitch-check":"Activate killswitch","killswitch-info":"When active, all network connections will be disabled if the app is running but the VPN protection is interrupted (for temporary errors or any other problem). This avoids data leaks.","settings-changed-alert":" The changes have not been saved yet.","save-settings":"Save settings","change-note-dialog":{"title":"Change Note","note":"Note"},"password-dialog":{"title":"Enter Password","password":"Password","info":"You are being asked for a password because a password was set when the selected entry was created, but the it was not saved for security reasons. You can leave the password empty if needed.","continue-button":"Continue"},"filter-dialog":{"title":"Filters","country":"The country must be","any-country":"Any","location":"The location must contain","pub-key":"The public key must contain","apply":"Apply"}},"stop-app":"Stop","start-app":"Start","view-logs":"View logs","settings":"Settings","open":"Open","error":"An error has occured and it was not possible to perform the operation.","stop-confirmation":"Are you sure you want to stop the app?","stop-selected-confirmation":"Are you sure you want to stop the selected apps?","disable-autostart-confirmation":"Are you sure you want to disable autostart for the app?","enable-autostart-confirmation":"Are you sure you want to enable autostart for the app?","disable-autostart-selected-confirmation":"Are you sure you want to disable autostart for the selected apps?","enable-autostart-selected-confirmation":"Are you sure you want to enable autostart for the selected apps?","operation-completed":"Operation completed.","operation-unnecessary":"The selection already has the requested setting.","status-running":"Running","status-connecting":"Connecting","status-stopped":"Stopped","status-failed":"Ended with the following error: {{ error }}","status-running-tooltip":"App is currently running","status-connecting-tooltip":"App is currently connecting","status-stopped-tooltip":"App is currently stopped","status-failed-tooltip":"The app finished with the following error: {{ error }}"},"transports":{"title":"Transports","info":"Connections you have with remote Skywire visors, to allow local Skywire apps to communicate with apps running on those remote visors.","list-title":"Transport list","offline":"Offline","persistent":"Persistent","persistent-tooltip":"Persistent transports, which are created automatically when the visor is turned on and are automatically recreated in case of disconnection.","persistent-transport-tooltip":"This transport is persistent, so it is created automatically when the visor is turned on and automatically recreated in case of disconnection.","persistent-transport-button-tooltip":"This transport is persistent, so it is created automatically when the visor is turned on and automatically recreated in case of disconnection. Press to make non-persistent.","non-persistent-transport-button-tooltip":"Press to make this transport persistent. Persistent transports are created automatically when the visor is turned on and automatically recreated in case of disconnection.","make-persistent":"Make persistent","make-non-persistent":"Make non-persistent","make-selected-persistent":"Make all selected persistent","make-selected-non-persistent":"Make all selected non-persistent","changes-made":"Changes made.","no-changes-needed":"No changes were needed.","id":"ID","remote-node":"Remote","type":"Type","create":"Create transport","make-persistent-confirmation":"Are you sure you want to make the transport persistent?","make-non-persistent-confirmation":"Are you sure you want to make the transport non-persistent?","make-selected-persistent-confirmation":"Are you sure you want to make the selected transports persistent?","make-selected-non-persistent-confirmation":"Are you sure you want to make the selected transports non-persistent?","make-offline-non-persistent-confirmation":"Are you sure you want to make the transport non-persistent? It will not be shown in the list while offline anymore.","delete-confirmation":"Are you sure you want to delete the transport?","delete-persistent-confirmation":"This transport is persistent, so it may be recreated shortly after deletion. Are you sure you want to delete it?","delete-selected-confirmation":"Are you sure you want to delete the selected transports?","delete":"Delete transport","deleted":"Delete operation completed.","empty":"Visor doesn\'t have any transports.","empty-with-filter":"No transport matches the selected filtering criteria.","details":{"title":"Details","basic":{"title":"Basic info","persistent":"Persistent:","id":"ID:","local-pk":"Local public key:","remote-pk":"Remote public key:","type":"Type:"},"data":{"title":"Data transmission","uploaded":"Uploaded data:","downloaded":"Downloaded data:"}},"dialog":{"remote-key":"Remote public key","label":"Identification name (optional)","transport-type":"Transport type","make-persistent":"Make persistent","persistent-tooltip":"Persistent transports are created automatically when the visor is turned on and automatically recreated in case of disconnection.","only-persistent-created":"The persistent transport was created, but it may have not been activated.","success":"Transport created.","success-without-label":"The transport was created, but it was not possible to save the label.","errors":{"remote-key-length-error":"The remote public key must be 66 characters long.","remote-key-chars-error":"The remote public key must only contain hexadecimal characters.","transport-type-error":"The transport type is required."}},"filter-dialog":{"persistent":"The transport must be","id":"The id must contain","remote-node":"The remote key must contain","persistent-options":{"any":"Any","persistent":"Persistent","non-persistent":"Non-persistent"}}},"routes":{"title":"Routes","info":"Paths used to reach the remote visors to which transports have been established. Routes are automatically generated as needed.","list-title":"Route list","key":"Key","type":"Type","source":"Source","destination":"Destination","delete-confirmation":"Are you sure you want to delete the route?","delete-selected-confirmation":"Are you sure you want to delete the selected routes?","delete":"Delete route","deleted":"Delete operation completed.","empty":"Visor doesn\'t have any routes.","empty-with-filter":"No route matches the selected filtering criteria.","details":{"title":"Details","basic":{"title":"Basic info","key":"Key:","rule":"Rule:"},"summary":{"title":"Rule summary","keep-alive":"Keep alive:","type":"Rule type:","key-route-id":"Key route ID:"},"specific-fields-titles":{"app":"App fields","forward":"Forward fields","intermediary-forward":"Intermediary forward fields"},"specific-fields":{"route-id":"Next route ID:","transport-id":"Next transport ID:","destination-pk":"Destination public key:","source-pk":"Source public key:","destination-port":"Destination port:","source-port":"Source port:"}},"filter-dialog":{"key":"The key must contain","type":"The type must be","source":"The source must contain","destination":"The destination must contain","any-type-option":"Any"}},"copy":{"tooltip":"Click to copy","tooltip-with-text":"{{ text }} (Click to copy)","copied":"Copied!"},"selection":{"select-all":"Select all","unselect-all":"Unselect all","delete-all":"Delete all selected elements","start-all":"Start all selected apps","stop-all":"Stop all selected apps","enable-autostart-all":"Enable autostart for all selected apps","disable-autostart-all":"Disable autostart for all selected apps"},"refresh-button":{"seconds":"Updated a few seconds ago","minute":"Updated 1 minute ago","minutes":"Updated {{ time }} minutes ago","hour":"Updated 1 hour ago","hours":"Updated {{ time }} hours ago","day":"Updated 1 day ago","days":"Updated {{ time }} days ago","week":"Updated 1 week ago","weeks":"Updated {{ time }} weeks ago","error-tooltip":"There was an error updating the data. Retrying automatically every {{ time }} seconds..."},"view-all-link":{"label":"View all {{ number }} elements"},"paginator":{"first":"First","last":"Last","total":"Total: {{ number }} pages","select-page-title":"Select page"},"confirmation":{"header-text":"Confirmation","confirm-button":"Yes","cancel-button":"No","close":"Close","error-header-text":"Error","done-header-text":"Done"},"language":{"title":"Select language"},"tabs-window":{"title":"Change tab"},"vpn":{"title":"VPN Control Panel","start":"Start","servers":"Servers","settings":"Settings","unnamed":"Unnamed","starting-blocked-server-error":"Unable to connect to the selected server because it has been added to the blocked servers list.","unexpedted-error":"An unexpected error occurred and the operation could not be completed.","remote-access-title":"It appears that you are accessing the system remotely","remote-access-text":"This application only allows you to manage the VPN protection of the device on which it was installed. Changes made with it will not affect remote devices like the one you seem to be using. Also, the displayed IP data may be incorrect.","server-change":{"busy-error":"The system is busy. Please wait.","backend-error":"It was not possible to change the server. Please make sure the public key is correct and the VPN app is running.","already-selected-warning":"The selected server is already being used.","change-server-while-connected-confirmation":"The VPN protection will be interrupted while changing the server and some data may be transmitted unprotected during the process. Do you want to continue?","start-same-server-confirmation":"You had already selected that server. Do you want to connect to it?"},"error-page":{"text":"The VPN client app is not available.","more-info":"It was not possible to connect to the VPN client app. This may be due to a configuration error, an unexpected problem with the visor or because you used an invalid public key in the URL.","text-pk":"Invalid configuration.","more-info-pk":"The application cannot be started because you have not specified the visor public key.","text-storage":"Error saving data.","more-info-storage":"There has been a conflict when trying to save the data and the application has been closed to prevent errors. This could happen if you open the application in more than one tab or window.","text-pk-change":"Invalid operation.","more-info-pk-change":"Please use this application to manage only one VPN client."},"connection-info":{"state-title":"Your connection is currently:","state-connecting":"Connecting","state-connecting-info":"The VPN protection is being activated.","state-connected":"Connected","state-connected-info":"The VPN protection is on.","state-disconnecting":"Disconnecting","state-disconnecting-info":"The VPN protection is being deactivated.","state-reconnecting":"Reconnecting","state-reconnecting-info":"The VPN protection is being restored.","state-disconnected":"Disconnected","state-disconnected-info":"The VPN protection is off.","state-info":"Current connection status.","latency-info":"Current latency.","upload-info":"Upload speed.","download-info":"Download speed."},"connection-error":{"text":"Connection error","info":"Problem connecting with the vpn app. Some data being displayed could be outdated."},"status-page":{"start-title":"Start VPN","no-server":"No server selected!","disconnect":"Disconnect","last-error":"Last error:","unknown-error":"Unknown error.","disconnect-confirmation":"Are you sure you want to stop the VPN protection?","upload-info":"Uploaded data stats.","download-info":"Downloaded data stats.","latency-info":"Latency stats.","total-data-label":"total","problem-connecting-error":"It was not possible to connect to the server. The server may be invalid or temporarily down.","problem-starting-error":"It was not possible to start the VPN. Please make sure the base VPN client app is running.","problem-stopping-error":"It was not possible to stop the VPN. Please make sure the base VPN client app is running.","generic-problem-error":"It was not possible to perform the operation. Please make sure the base VPN client app is running.","select-server-warning":"Please select a server first.","data":{"ip":"IP address:","ip-problem-info":"There was a problem trying to get the IP. Please verify it using an external service.","ip-country-problem-info":"There was a problem trying to get the country. Please verify it using an external service.","ip-refresh-info":"Refresh","ip-refresh-time-warning":"Please wait {{ seconds }} second(s) before refreshing the data.","ip-refresh-loading-warning":"Please wait for the previous operation to finish.","country":"Country:","server":"Server:","server-note":"Server note:","original-server-note":"Original server note:","local-pk":"Local visor public key:","remote-pk":"Remote visor public key:","unavailable":"Unavailable"}},"server-options":{"tooltip":"Options","connect-without-password":"Connect without password","connect-without-password-confirmation":"The connection will be made without the password. Are you sure you want to continue?","connect-using-password":"Connect using a password","connect-using-another-password":"Connect using another password","edit-name":"Custom name","edit-label":"Custom note","make-favorite":"Make favorite","make-favorite-confirmation":"Are you sure you want to mark this server as favorite? It will be removed from the blocked list.","make-favorite-done":"Added to the favorites list.","remove-from-favorites":"Remove from favorites","remove-from-favorites-done":"Removed from the favorites list.","block":"Block server","block-done":"Added to the blocked list.","block-confirmation":"Are you sure you want to block this server? It will be removed from the favorites list.","block-selected-confirmation":"Are you sure you want to block the currently selected server? All connections will be closed.","block-selected-favorite-confirmation":"Are you sure you want to block the currently selected server? All connections will be closed and it will be removed from the favorites list.","unblock":"Unblock server","unblock-done":"Removed from the blocked list.","remove-from-history":"Remove from history","remove-from-history-confirmation":"Are you sure you want to remove this server from the history?","remove-from-history-done":"Removed from history.","edit-value":{"name-title":"Custom Name","note-title":"Custom Note","name-label":"Custom name","note-label":"Custom note","apply-button":"Apply","changes-made-confirmation":"The change has been made."}},"server-conditions":{"selected-info":"This is the currently selected server.","blocked-info":"This server is in the blocked list.","favorite-info":"This server is in the favorites list.","history-info":"This server is in the server history.","has-password-info":"A password was set for connecting with this server."},"server-list":{"date-small-table-label":"Date","date-info":"Last time you used this server.","country-small-table-label":"Country","country-info":"Country where the server is located.","name-small-table-label":"Name","location-small-table-label":"Location","public-key-small-table-label":"Pk","public-key-info":"Server public key.","congestion-rating-small-table-label":"Congestion rating","congestion-rating-info":"Rating of the server related to how congested it tends to be.","congestion-small-table-label":"Congestion","congestion-info":"Current server congestion.","latency-rating-small-table-label":"Latency rating","latency-rating-info":"Rating of the server related to how much latency it tends to have.","latency-small-table-label":"Latency","latency-info":"Current server latency.","hops-small-table-label":"Hops","hops-info":"How many hops are needed for connecting with the server.","note-small-table-label":"Note","note-info":"Note about the server.","gold-rating-info":"Gold","silver-rating-info":"Silver","bronze-rating-info":"Bronze","notes-info":"Custom note: {{ custom }} - Original note: {{ original }}","empty-discovery":"Currently there are no VPN servers to show. Please try again later.","empty-history":"There is no history to show.","empty-favorites":"There are no favorite servers to show.","empty-blocked":"There are no blocked servers to show.","empty-with-filter":"No VPN server matches the selected filtering criteria.","add-manually-info":"Add server manually.","current-filters":"Current filters (press to remove)","none":"None","unknown":"Unknown","tabs":{"public":"Public","history":"History","favorites":"Favorites","blocked":"Blocked"},"add-server-dialog":{"title":"Enter manually","pk-label":"Server public key","password-label":"Server password (if any)","name-label":"Server name (optional)","note-label":"Personal note (optional)","pk-length-error":"The public key must be 66 characters long.","pk-chars-error":"The public key must only contain hexadecimal characters.","use-server-button":"Use server"},"password-dialog":{"title":"Enter Password","password-if-any-label":"Server password (if any)","password-label":"Server password","continue-button":"Continue"},"filter-dialog":{"country":"The country must be","name":"The name must contain","location":"The location must contain","public-key":"The public key must contain","congestion-rating":"The congestion rating must be","latency-rating":"The latency rating must be","rating-options":{"any":"Any","gold":"Gold","silver":"Silver","bronze":"Bronze"},"country-options":{"any":"Any"}}},"settings-page":{"setting-small-table-label":"Setting","value-small-table-label":"Value","killswitch":"Killswitch","killswitch-info":"When active, all network connections will be disabled if the app is running but the VPN protection is interrupted (for temporary errors or any other problem). This avoids data leaks.","get-ip":"Get IP info","get-ip-info":"When active, the application will use external services to obtain information about the current IP.","data-units":"Data units","data-units-info":"Allows to select the units that will be used to display the data transmission statistics.","minimum-hops":"Minimum hops","minimum-hops-info":"Allows to set the minimum number of hops the connections must pass through other Skywire visors before reaching the final destination.","dns":"Custom DNS server","dns-info":"Allows to use a custom DNS server, which could improve privacy and prevent sites from being blocked by the default DNS server of your ISP.","setting-none":"None","setting-on":"On","setting-off":"Off","working-warning":"The system is busy. Please wait for the previous operation to finish.","change-while-connected-confirmation":"The VPN protection will be interrupted while changing the setting. Do you want to continue?","data-units-modal":{"title":"Data Units","only-bits":"Bits for all stats","only-bytes":"Bytes for all stats","bits-speed-and-bytes-volume":"Bits for speed and bytes for volume (default)"}},"dns-config":{"title":"Custom DNS server","ip":"Custom DNS server IP address","save-config-button":"Save configuration","done":"Changes saved."}}}')}}]); \ No newline at end of file diff --git a/pkg/visor/static/assets/i18n/en.json b/pkg/visor/static/assets/i18n/en.json index bd20dd68d7..79aa6c8329 100644 --- a/pkg/visor/static/assets/i18n/en.json +++ b/pkg/visor/static/assets/i18n/en.json @@ -87,6 +87,23 @@ "node": { "title": "Visor details", "not-found": "Visor not found.", + "logs" : { + "title": "Runtime Logs", + "no-logs": "No runtime logs were found for this visor.", + "no-logs-for-filter": "No runtime logs matches the selected filter.", + "view-all": "View all logs in raw format >", + "view-rest": "View all {{ number }} elements in raw format >", + "selected-filter": "Showing:", + "filter-ignored": "The filter excluded {{ number }} entries", + "filter-title": "Filter", + "filter-all": "All logs", + "filter-debug": "Debug or more important", + "filter-info": "Info or more important", + "filter-warning": "Warning or more important", + "filter-error": "Error or more important", + "filter-faltal": "Faltal or more important", + "filter-panic": "Panic" + }, "statuses": { "online": "Online", "online-tooltip": "The visor is online.", @@ -108,6 +125,7 @@ "public-ip": "Public IP:", "ip": "IP:", "dmsg-server": "DMSG server:", + "no-dmsg-server": "Not connected", "ping": "Ping:", "node-version": "Visor version:", "build-type": "Build type:", diff --git a/pkg/visor/static/assets/i18n/es.json b/pkg/visor/static/assets/i18n/es.json index 22dd8e965a..27dd44541f 100644 --- a/pkg/visor/static/assets/i18n/es.json +++ b/pkg/visor/static/assets/i18n/es.json @@ -87,6 +87,23 @@ "node": { "title": "Detalles del visor", "not-found": "Visor no encontrado.", + "logs" : { + "title": "Registros de operación", + "no-logs": "No se encontraron registros de operación para este visor.", + "no-logs-for-filter": "No hay registros de operación que coincidan con el filtro seleccionado.", + "view-all": "Ver todos los registros en formato original >", + "view-rest": "Ver los {{ number }} elementos en formato original >", + "selected-filter": "Mostrando:", + "filter-ignored": "En filtro excluyó {{ number }} registros", + "filter-title": "Filtro", + "filter-all": "Todos los registros", + "filter-debug": "Debug o más importante", + "filter-info": "Info o más importante", + "filter-warning": "Warning o más importante", + "filter-error": "Error o más importante", + "filter-faltal": "Faltal o más importante", + "filter-panic": "Panic" + }, "statuses": { "online": "Online", "online-tooltip": "El visor se encuentra online.", @@ -108,6 +125,7 @@ "public-ip": "IP pública:", "ip": "IP:", "dmsg-server": "Servidor DMSG:", + "no-dmsg-server": "No connectado", "ping": "Ping:", "node-version": "Versión del visor:", "build-type": "Tipo de build:", diff --git a/pkg/visor/static/assets/i18n/es_base.json b/pkg/visor/static/assets/i18n/es_base.json index c22f858f3d..8c853eda94 100644 --- a/pkg/visor/static/assets/i18n/es_base.json +++ b/pkg/visor/static/assets/i18n/es_base.json @@ -87,6 +87,23 @@ "node": { "title": "Visor details", "not-found": "Visor not found.", + "logs" : { + "title": "Runtime Logs", + "no-logs": "No runtime logs were found for this visor.", + "no-logs-for-filter": "No runtime logs matches the selected filter.", + "view-all": "View all logs in raw format >", + "view-rest": "View all {{ number }} elements in raw format >", + "selected-filter": "Showing:", + "filter-ignored": "The filter excluded {{ number }} entries", + "filter-title": "Filter", + "filter-all": "All logs", + "filter-debug": "Debug or more important", + "filter-info": "Info or more important", + "filter-warning": "Warning or more important", + "filter-error": "Error or more important", + "filter-faltal": "Faltal or more important", + "filter-panic": "Panic" + }, "statuses": { "online": "Online", "online-tooltip": "The visor is online.", @@ -108,6 +125,7 @@ "public-ip": "Public IP:", "ip": "IP:", "dmsg-server": "DMSG server:", + "no-dmsg-server": "Not connected", "ping": "Ping:", "node-version": "Visor version:", "build-type": "Build type:", diff --git a/pkg/visor/static/assets/img/big-flags/gh.png b/pkg/visor/static/assets/img/big-flags/gh.png new file mode 100644 index 0000000000..fe5cfa0d4f Binary files /dev/null and b/pkg/visor/static/assets/img/big-flags/gh.png differ diff --git a/pkg/visor/static/assets/img/flags/gh.png b/pkg/visor/static/assets/img/flags/gh.png new file mode 100644 index 0000000000..4e2f896591 Binary files /dev/null and b/pkg/visor/static/assets/img/flags/gh.png differ diff --git a/pkg/visor/static/index.html b/pkg/visor/static/index.html index f395162adf..65f80e331c 100644 --- a/pkg/visor/static/index.html +++ b/pkg/visor/static/index.html @@ -5,10 +5,10 @@ - +
- + \ No newline at end of file diff --git a/pkg/visor/static/main.2875ec8f84204886.js b/pkg/visor/static/main.2875ec8f84204886.js deleted file mode 100644 index ffc9aba2d6..0000000000 --- a/pkg/visor/static/main.2875ec8f84204886.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkskywire_manager=self.webpackChunkskywire_manager||[]).push([[179],{9019:(ue,ge,N)=>{"use strict";function O(n){return"function"==typeof n}let _=!1;const u={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else _&&console.log("RxJS: Back to a better error behavior. Thank you. <3");_=n},get useDeprecatedSynchronousErrorHandling(){return _}};function f(n){setTimeout(()=>{throw n},0)}const h={closed:!0,next(n){},error(n){if(u.useDeprecatedSynchronousErrorHandling)throw n;f(n)},complete(){}},y=Array.isArray||(n=>n&&"number"==typeof n.length);function p(n){return null!==n&&"object"==typeof n}const x=(()=>{function n(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((e,i)=>`${i+1}) ${e.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return n.prototype=Object.create(Error.prototype),n})();class T{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let t;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:i,_unsubscribe:o,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof T)e.remove(this);else if(null!==e)for(let a=0;at.concat(e instanceof x?e.errors:e),[])}T.EMPTY=((n=new T).closed=!0,n);const k="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class A extends T{constructor(t,e,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=h;break;case 1:if(!t){this.destination=h;break}if("object"==typeof t){t instanceof A?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new U(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new U(this,t,e,i)}}[k](){return this}static create(t,e,i){const o=new A(t,e,i);return o.syncErrorThrowable=!1,o}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class U extends A{constructor(t,e,i,o){super(),this._parentSubscriber=t;let s,a=this;O(e)?s=e:e&&(s=e.next,i=e.error,o=e.complete,e!==h&&(a=Object.create(e),O(a.unsubscribe)&&this.add(a.unsubscribe.bind(a)),a.unsubscribe=this.unsubscribe.bind(this))),this._context=a,this._next=s,this._error=i,this._complete=o}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;u.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:i}=u;if(this._error)i&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)i?(e.syncErrorValue=t,e.syncErrorThrown=!0):f(t),this.unsubscribe();else{if(this.unsubscribe(),i)throw t;f(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);u.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(i){if(this.unsubscribe(),u.useDeprecatedSynchronousErrorHandling)throw i;f(i)}}__tryOrSetError(t,e,i){if(!u.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,i)}catch(o){return u.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=o,t.syncErrorThrown=!0,!0):(f(o),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const ie="function"==typeof Symbol&&Symbol.observable||"@@observable";function ve(n){return n}function Z(...n){return Q(n)}function Q(n){return 0===n.length?ve:1===n.length?n[0]:function(e){return n.reduce((i,o)=>o(i),e)}}let ce=(()=>{class n{constructor(e){this._isScalar=!1,e&&(this._subscribe=e)}lift(e){const i=new n;return i.source=this,i.operator=e,i}subscribe(e,i,o){const{operator:s}=this,a=function K(n,t,e){if(n){if(n instanceof A)return n;if(n[k])return n[k]()}return n||t||e?new A(n,t,e):new A(h)}(e,i,o);if(a.add(s?s.call(a,this.source):this.source||u.useDeprecatedSynchronousErrorHandling&&!a.syncErrorThrowable?this._subscribe(a):this._trySubscribe(a)),u.useDeprecatedSynchronousErrorHandling&&a.syncErrorThrowable&&(a.syncErrorThrowable=!1,a.syncErrorThrown))throw a.syncErrorValue;return a}_trySubscribe(e){try{return this._subscribe(e)}catch(i){u.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=i),function H(n){for(;n;){const{closed:t,destination:e,isStopped:i}=n;if(t||i)return!1;n=e&&e instanceof A?e:null}return!0}(e)?e.error(i):console.warn(i)}}forEach(e,i){return new(i=G(i))((o,s)=>{let a;a=this.subscribe(l=>{try{e(l)}catch(c){s(c),a&&a.unsubscribe()}},s,o)})}_subscribe(e){const{source:i}=this;return i&&i.subscribe(e)}[ie](){return this}pipe(...e){return 0===e.length?this:Q(e)(this)}toPromise(e){return new(e=G(e))((i,o)=>{let s;this.subscribe(a=>s=a,a=>o(a),()=>i(s))})}}return n.create=t=>new n(t),n})();function G(n){if(n||(n=u.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const ee=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class ae extends T{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const i=e.indexOf(this.subscriber);-1!==i&&e.splice(i,1)}}class le extends A{constructor(t){super(t),this.destination=t}}let X=(()=>{class n extends ce{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[k](){return new le(this)}lift(e){const i=new Te(this,this);return i.operator=e,i}next(e){if(this.closed)throw new ee;if(!this.isStopped){const{observers:i}=this,o=i.length,s=i.slice();for(let a=0;anew Te(t,e),n})();class Te extends X{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):T.EMPTY}}function Se(n){return n&&"function"==typeof n.schedule}function Ce(n,t){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new He(n,t))}}class He{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new et(t,this.project,this.thisArg))}}class et extends A{constructor(t,e,i){super(t),this.project=e,this.count=0,this.thisArg=i||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(e)}}const ot=n=>t=>{for(let e=0,i=n.length;en&&"number"==typeof n.length&&"function"!=typeof n;function Ti(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Li=n=>{if(n&&"function"==typeof n[ie])return(n=>t=>{const e=n[ie]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(t)})(n);if(Ue(n))return ot(n);if(Ti(n))return(n=>t=>(n.then(e=>{t.closed||(t.next(e),t.complete())},e=>t.error(e)).then(null,f),t))(n);if(n&&"function"==typeof n[en])return(n=>t=>{const e=n[en]();for(;;){let i;try{i=e.next()}catch(o){return t.error(o),t}if(i.done){t.complete();break}if(t.next(i.value),t.closed)break}return"function"==typeof e.return&&t.add(()=>{e.return&&e.return()}),t})(n);{const e=`You provided ${p(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function W(n,t){return new ce(e=>{const i=new T;let o=0;return i.add(t.schedule(function(){o!==n.length?(e.next(n[o++]),e.closed||i.add(this.schedule())):e.complete()})),i})}function de(n,t){return t?function he(n,t){if(null!=n){if(function ne(n){return n&&"function"==typeof n[ie]}(n))return function rr(n,t){return new ce(e=>{const i=new T;return i.add(t.schedule(()=>{const o=n[ie]();i.add(o.subscribe({next(s){i.add(t.schedule(()=>e.next(s)))},error(s){i.add(t.schedule(()=>e.error(s)))},complete(){i.add(t.schedule(()=>e.complete()))}}))})),i})}(n,t);if(Ti(n))return function Ze(n,t){return new ce(e=>{const i=new T;return i.add(t.schedule(()=>n.then(o=>{i.add(t.schedule(()=>{e.next(o),i.add(t.schedule(()=>e.complete()))}))},o=>{i.add(t.schedule(()=>e.error(o)))}))),i})}(n,t);if(Ue(n))return W(n,t);if(function pe(n){return n&&"function"==typeof n[en]}(n)||"string"==typeof n)return function re(n,t){if(!n)throw new Error("Iterable cannot be null");return new ce(e=>{const i=new T;let o;return i.add(()=>{o&&"function"==typeof o.return&&o.return()}),i.add(t.schedule(()=>{o=n[en](),i.add(t.schedule(function(){if(e.closed)return;let s,a;try{const l=o.next();s=l.value,a=l.done}catch(l){return void e.error(l)}a?e.complete():(e.next(s),this.schedule())}))})),i})}(n,t)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}(n,t):n instanceof ce?n:new ce(Li(n))}class be extends A{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class Me extends A{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function Ee(n,t){if(t.closed)return;if(n instanceof ce)return n.subscribe(t);let e;try{e=Li(n)(t)}catch(i){t.error(i)}return e}function Ne(n,t,e=Number.POSITIVE_INFINITY){return"function"==typeof t?i=>i.pipe(Ne((o,s)=>de(n(o,s)).pipe(Ce((a,l)=>t(o,a,s,l))),e)):("number"==typeof t&&(e=t),i=>i.lift(new ut(n,e)))}class ut{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new _t(t,this.project,this.concurrent))}}class _t extends Me{constructor(t,e,i=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function on(n=Number.POSITIVE_INFINITY){return Ne(ve,n)}function Ln(n,t){return t?W(n,t):new ce(ot(n))}function vt(...n){let t=Number.POSITIVE_INFINITY,e=null,i=n[n.length-1];return Se(i)?(e=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(t=n.pop())):"number"==typeof i&&(t=n.pop()),null===e&&1===n.length&&n[0]instanceof ce?n[0]:on(t)(Ln(n,e))}function jt(){return function(t){return t.lift(new jn(t))}}class jn{constructor(t){this.connectable=t}call(t,e){const{connectable:i}=this;i._refCount++;const o=new ri(t,i),s=e.subscribe(o);return o.closed||(o.connection=i.connect()),s}}class ri extends A{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:i}=this,o=t._connection;this.connection=null,o&&(!i||o===i)&&o.unsubscribe()}}class Gr extends ce{constructor(t,e){super(),this.source=t,this.subjectFactory=e,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 T,t.add(this.source.subscribe(new Ei(this.getSubject(),this))),t.closed&&(this._connection=null,t=T.EMPTY)),t}refCount(){return jt()(this)}}const ko=(()=>{const n=Gr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class Ei extends le{constructor(t,e){super(t),this.connectable=e}_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 e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}class En{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:i}=this,o=this.subjectFactory(),s=i(o).subscribe(t);return s.add(e.subscribe(o)),s}}function Fu(){return new X}function wa(){return n=>jt()(function oi(n,t){return function(i){let o;if(o="function"==typeof n?n:function(){return n},"function"==typeof t)return i.lift(new En(o,t));const s=Object.create(i,ko);return s.source=i,s.subjectFactory=o,s}}(Fu)(n))}function In(n){for(let t in n)if(n[t]===In)return t;throw Error("Could not find renamed property on target object.")}function xa(n,t){for(const e in t)t.hasOwnProperty(e)&&!n.hasOwnProperty(e)&&(n[e]=t[e])}function Pn(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(Pn).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const t=n.toString();if(null==t)return""+t;const e=t.indexOf("\n");return-1===e?t:t.substring(0,e)}function Ca(n,t){return null==n||""===n?null===t?"":t:null==t||""===t?n:n+" "+t}const Bg=In({__forward_ref__:In});function sn(n){return n.__forward_ref__=sn,n.toString=function(){return Pn(this())},n}function yt(n){return gt(n)?n():n}function gt(n){return"function"==typeof n&&n.hasOwnProperty(Bg)&&n.__forward_ref__===sn}function Ru(n){return n&&!!n.\u0275providers}const So="https://g.co/ng/security#xss";class Fe extends Error{constructor(t,e){super(function kn(n,t){return`NG0${Math.abs(n)}${t?": "+t.trim():""}`}(t,e)),this.code=t}}function kt(n){return"string"==typeof n?n:null==n?"":String(n)}function si(n,t){throw new Fe(-201,!1)}function qr(n,t){null==n&&function gn(n,t,e,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${e} ${i} ${t} <=Actual]`))}(t,n,null,"!=")}function Ye(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function At(n){return{providers:n.providers||[],imports:n.imports||[]}}function Pc(n){return gp(n,Oc)||gp(n,Mp)}function gp(n,t){return n.hasOwnProperty(t)?n[t]:null}function yp(n){return n&&(n.hasOwnProperty(Hu)||n.hasOwnProperty(zg))?n[Hu]:null}const Oc=In({\u0275prov:In}),Hu=In({\u0275inj:In}),Mp=In({ngInjectableDef:In}),zg=In({ngInjectorDef:In});var Mt=(()=>((Mt=Mt||{})[Mt.Default=0]="Default",Mt[Mt.Host=1]="Host",Mt[Mt.Self=2]="Self",Mt[Mt.SkipSelf=4]="SkipSelf",Mt[Mt.Optional=8]="Optional",Mt))();let Vu;function dr(n){const t=Vu;return Vu=n,t}function ju(n,t,e){const i=Pc(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&Mt.Optional?null:void 0!==t?t:void si(Pn(n))}const dn=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),gl={},zu="__NG_DI_FLAG__",Fc="ngTempTokenPath",Wg=/\n/gm,wp="__source";let Sa;function Da(n){const t=Sa;return Sa=n,t}function Gg(n,t=Mt.Default){if(void 0===Sa)throw new Fe(-203,!1);return null===Sa?ju(n,void 0,t):Sa.get(n,t&Mt.Optional?null:void 0,t)}function we(n,t=Mt.Default){return(function _l(){return Vu}()||Gg)(yt(n),t)}function Lt(n,t=Mt.Default){return we(n,Rc(t))}function Rc(n){return typeof n>"u"||"number"==typeof n?n:0|(n.optional&&8)|(n.host&&1)|(n.self&&2)|(n.skipSelf&&4)}function Uu(n){const t=[];for(let e=0;e((so=so||{})[so.OnPush=0]="OnPush",so[so.Default=1]="Default",so))(),Rr=(()=>(function(n){n[n.Emulated=0]="Emulated",n[n.None=2]="None",n[n.ShadowDom=3]="ShadowDom"}(Rr||(Rr={})),Rr))();const jo={},un=[],vl=In({\u0275cmp:In}),Wu=In({\u0275dir:In}),$u=In({\u0275pipe:In}),kp=In({\u0275mod:In}),zo=In({\u0275fac:In}),Ta=In({__NG_ELEMENT_ID__:In});let Ii=0;function qe(n){return us(()=>{const e=!0===n.standalone,i={},o={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:i,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===so.OnPush,directiveDefs:null,pipeDefs:null,standalone:e,dependencies:e&&n.dependencies||null,getStandaloneInjector:null,selectors:n.selectors||un,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Rr.Emulated,id:"c"+Ii++,styles:n.styles||un,_:null,setInput:null,schemas:n.schemas||null,tView:null,findHostDirectiveDefs:null,hostDirectives:null},s=n.dependencies,a=n.features;return o.inputs=Nc(n.inputs,i),o.outputs=Nc(n.outputs),a&&a.forEach(l=>l(o)),o.directiveDefs=s?()=>("function"==typeof s?s():s).map(Gu).filter(Sp):null,o.pipeDefs=s?()=>("function"==typeof s?s():s).map(Mi).filter(Sp):null,o})}function Bs(n,t,e){const i=n.\u0275cmp;i.directiveDefs=()=>("function"==typeof t?t():t).map(Gu),i.pipeDefs=()=>("function"==typeof e?e():e).map(Mi)}function Gu(n){return bn(n)||Hi(n)}function Sp(n){return null!==n}function Et(n){return us(()=>({type:n.type,bootstrap:n.bootstrap||un,declarations:n.declarations||un,imports:n.imports||un,exports:n.exports||un,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null}))}function Nc(n,t){if(null==n)return jo;const e={};for(const i in n)if(n.hasOwnProperty(i)){let o=n[i],s=o;Array.isArray(o)&&(s=o[1],o=o[0]),e[o]=i,t&&(t[o]=s)}return e}const Ke=qe;function Qn(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,standalone:!0===n.standalone,onDestroy:n.type.prototype.ngOnDestroy||null}}function bn(n){return n[vl]||null}function Hi(n){return n[Wu]||null}function Mi(n){return n[$u]||null}function ur(n,t){const e=n[kp]||null;if(!e&&!0===t)throw new Error(`Type ${Pn(n)} does not have '\u0275mod' property.`);return e}function Nr(n){return Array.isArray(n)&&"object"==typeof n[1]}function fr(n){return Array.isArray(n)&&!0===n[1]}function Ku(n){return 0!=(4&n.flags)}function wl(n){return n.componentOffset>-1}function zc(n){return 1==(1&n.flags)}function Sr(n){return null!==n.template}function Zu(n){return 0!=(256&n[2])}function Yr(n,t){return n.hasOwnProperty(zo)?n[zo]:null}class Fp{constructor(t,e,i){this.previousValue=t,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function Gi(){return Qu}function Qu(n){return n.type.prototype.ngOnChanges&&(n.setInput=Qg),Rp}function Rp(){const n=Yp(this),t=n?.current;if(t){const e=n.previous;if(e===jo)n.previous=t;else for(let i in t)e[i]=t[i];n.current=null,this.ngOnChanges(t)}}function Qg(n,t,e,i){const o=this.declaredInputs[e],s=Yp(n)||function Jg(n,t){return n[Np]=t}(n,{previous:jo,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[o];a[o]=new Fp(c&&c.currentValue,t,l===jo),n[i]=t}Gi.ngInherit=!0;const Np="__ngSimpleChanges__";function Yp(n){return n[Np]||null}function qi(n){for(;Array.isArray(n);)n=n[0];return n}function Uc(n,t){return qi(t[n])}function pr(n,t){return qi(t[n.index])}function Vp(n,t){return n.data[t]}function Pa(n,t){return n[t]}function Br(n,t){const e=t[n];return Nr(e)?e:e[0]}function Wc(n){return 64==(64&n[2])}function hs(n,t){return null==t?null:n[t]}function eh(n){n[18]=0}function $c(n,t){n[5]+=t;let e=n,i=n[3];for(;null!==i&&(1===t&&1===e[5]||-1===t&&0===e[5]);)i[5]+=t,e=i,i=i[3]}const It={lFrame:qp(null),bindingsEnabled:!0};function zp(){return It.bindingsEnabled}function ze(){return It.lFrame.lView}function nn(){return It.lFrame.tView}function Pe(n){return It.lFrame.contextLView=n,n[8]}function Oe(n){return It.lFrame.contextLView=null,n}function wi(){let n=Up();for(;null!==n&&64===n.type;)n=n.parent;return n}function Up(){return It.lFrame.currentTNode}function Eo(n,t){const e=It.lFrame;e.currentTNode=n,e.isParent=t}function th(){return It.lFrame.isParent}function Gc(){It.lFrame.isParent=!1}function mr(){const n=It.lFrame;let t=n.bindingRootIndex;return-1===t&&(t=n.bindingRootIndex=n.tView.bindingStartIndex),t}function Hr(){return It.lFrame.bindingIndex++}function Go(n){const t=It.lFrame,e=t.bindingIndex;return t.bindingIndex=t.bindingIndex+n,e}function hb(n,t){const e=It.lFrame;e.bindingIndex=e.bindingRootIndex=n,ih(t)}function ih(n){It.lFrame.currentDirectiveIndex=n}function rh(n){const t=It.lFrame.currentDirectiveIndex;return-1===t?null:n[t]}function oh(){return It.lFrame.currentQueryIndex}function Sn(n){It.lFrame.currentQueryIndex=n}function qc(n){const t=n[1];return 2===t.type?t.declTNode:1===t.type?n[6]:null}function sh(n,t,e){if(e&Mt.SkipSelf){let o=t,s=n;for(;!(o=o.parent,null!==o||e&Mt.Host||(o=qc(s),null===o||(s=s[15],10&o.type))););if(null===o)return!1;t=o,n=s}const i=It.lFrame=Gp();return i.currentTNode=t,i.lView=n,!0}function Cl(n){const t=Gp(),e=n[1];It.lFrame=t,t.currentTNode=e.firstChild,t.lView=n,t.tView=e,t.contextLView=n,t.bindingIndex=e.bindingStartIndex,t.inI18n=!1}function Gp(){const n=It.lFrame,t=null===n?null:n.child;return null===t?qp(n):t}function qp(n){const t={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:n,child:null,inI18n:!1};return null!==n&&(n.child=t),t}function Kp(){const n=It.lFrame;return It.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Zp=Kp;function ah(){const n=Kp();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function ar(){return It.lFrame.selectedIndex}function Us(n){It.lFrame.selectedIndex=n}function Jn(){const n=It.lFrame;return Vp(n.tView,n.selectedIndex)}function fs(){It.lFrame.currentNamespace="svg"}function kl(){!function lh(){It.lFrame.currentNamespace=null}()}function ao(n,t){for(let e=t.directiveStart,i=t.directiveEnd;e=i)break}else t[c]<0&&(n[18]+=65536),(l>11>16&&(3&n[2])===t){n[2]+=2048;try{s.call(l)}finally{}}}else try{s.call(l)}finally{}}class Sl{constructor(t,e,i){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function uh(n,t,e){let i=0;for(;it){a=s-1;break}}}for(;s>16}(n),i=t;for(;e>0;)i=i[15],e--;return i}let hh=!0;function Jc(n){const t=hh;return hh=n,t}let an=0;const m={};function V(n,t){const e=se(n,t);if(-1!==e)return e;const i=t[1];i.firstCreatePass&&(n.injectorIndex=t.length,$(i.data,n),$(t,null),$(i.blueprint,null));const o=Le(n,t),s=n.injectorIndex;if(lo(o)){const a=Xc(o),l=Qc(o,t),c=l[1].data;for(let M=0;M<8;M++)t[s+M]=l[a+M]|c[a+M]}return t[s+8]=o,s}function $(n,t){n.push(0,0,0,0,0,0,0,0,t)}function se(n,t){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===t[n.injectorIndex+8]?-1:n.injectorIndex}function Le(n,t){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let e=0,i=null,o=t;for(;null!==o;){if(i=PM(o),null===i)return-1;if(e++,o=o[15],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return-1}function je(n,t,e){!function E(n,t,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(Ta)&&(i=e[Ta]),null==i&&(i=e[Ta]=an++);const o=255&i;t.data[n+(o>>5)]|=1<=0?255&t:gP:t}(e);if("function"==typeof s){if(!sh(t,n,i))return i&Mt.Host?rn(o,0,i):pi(t,e,i,o);try{const a=s(i);if(null!=a||i&Mt.Optional)return a;si()}finally{Zp()}}else if("number"==typeof s){let a=null,l=se(n,t),c=-1,M=i&Mt.Host?t[16][6]:null;for((-1===l||i&Mt.SkipSelf)&&(c=-1===l?Le(n,t):t[l+8],-1!==c&&IM(i,!1)?(a=t[1],l=Xc(c),t=Qc(c,t)):l=-1);-1!==l;){const P=t[1];if(td(s,l,P.data)){const Y=Ll(l,t,e,a,i,M);if(Y!==m)return Y}c=t[l+8],-1!==c&&IM(i,t[1].data[l+8]===M)&&td(s,l,t)?(a=P,l=Xc(c),t=Qc(c,t)):l=-1}}return o}function Ll(n,t,e,i,o,s){const a=t[1],l=a.data[n+8],P=ed(l,a,e,null==i?wl(l)&&hh:i!=a&&0!=(3&l.type),o&Mt.Host&&s===l);return null!==P?ps(t,a,P,l):m}function ed(n,t,e,i,o){const s=n.providerIndexes,a=t.data,l=1048575&s,c=n.directiveStart,P=s>>20,q=o?l+P:n.directiveEnd;for(let te=i?l:l+P;te=c&&fe.type===e)return te}if(o){const te=a[c];if(te&&Sr(te)&&te.type===e)return c}return null}function ps(n,t,e,i){let o=n[e];const s=t.data;if(function bb(n){return n instanceof Sl}(o)){const a=o;a.resolving&&function oo(n,t){const e=t?`. Dependency path: ${t.join(" > ")} > ${n}`:"";throw new Fe(-200,`Circular dependency in DI detected for ${n}${e}`)}(function _n(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():kt(n)}(s[e]));const l=Jc(a.canSeeViewProviders);a.resolving=!0;const c=a.injectImpl?dr(a.injectImpl):null;sh(n,i,Mt.Default);try{o=n[e]=a.factory(void 0,s,n,i),t.firstCreatePass&&e>=i.directiveStart&&function _b(n,t,e){const{ngOnChanges:i,ngOnInit:o,ngDoCheck:s}=t.type.prototype;if(i){const a=Qu(t);(e.preOrderHooks||(e.preOrderHooks=[])).push(n,a),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(n,a)}o&&(e.preOrderHooks||(e.preOrderHooks=[])).push(0-n,o),s&&((e.preOrderHooks||(e.preOrderHooks=[])).push(n,s),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(n,s))}(e,s[e],t)}finally{null!==c&&dr(c),Jc(l),a.resolving=!1,Zp()}}return o}function td(n,t,e){return!!(e[t+(n>>5)]&1<{const t=n.prototype.constructor,e=t[zo]||xb(t),i=Object.prototype;let o=Object.getPrototypeOf(n.prototype).constructor;for(;o&&o!==i;){const s=o[zo]||xb(o);if(s&&s!==e)return s;o=Object.getPrototypeOf(o)}return s=>new s})}function xb(n){return gt(n)?()=>{const t=xb(yt(n));return t&&t()}:Yr(n)}function PM(n){const t=n[1],e=t.type;return 2===e?t.declTNode:1===e?n[6]:null}function Ra(n){return function Yt(n,t){if("class"===t)return n.classes;if("style"===t)return n.styles;const e=n.attrs;if(e){const i=e.length;let o=0;for(;o{const i=function Cb(n){return function(...e){if(n){const i=n(...e);for(const o in i)this[o]=i[o]}}}(t);function o(...s){if(this instanceof o)return i.apply(this,s),this;const a=new o(...s);return l.annotation=a,l;function l(c,M,P){const Y=c.hasOwnProperty(rd)?c[rd]:Object.defineProperty(c,rd,{value:[]})[rd];for(;Y.length<=P;)Y.push(null);return(Y[P]=Y[P]||[]).push(a),c}}return e&&(o.prototype=Object.create(e.prototype)),o.prototype.ngMetadataName=n,o.annotationCls=o,o})}class Be{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=Ye({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function El(n,t){n.forEach(e=>Array.isArray(e)?El(e,t):t(e))}function AM(n,t,e){t>=n.length?n.push(e):n.splice(t,0,e)}function tm(n,t){return t>=n.length-1?n.pop():n.splice(t,1)[0]}function mh(n,t){const e=[];for(let i=0;i=0?n[1|i]=e:(i=~i,function wP(n,t,e,i){let o=n.length;if(o==t)n.push(e,i);else if(1===o)n.push(i,n[0]),n[0]=e;else{for(o--,n.push(n[o-1],n[o]);o>t;)n[o]=n[o-2],o--;n[t]=e,n[t+1]=i}}(n,i,t,e)),i}function Sb(n,t){const e=ad(n,t);if(e>=0)return n[1|e]}function ad(n,t){return function FM(n,t,e){let i=0,o=n.length>>e;for(;o!==i;){const s=i+(o-i>>1),a=n[s<t?o=s:i=s+1}return~(o<({token:n})),-1),$s=bl(sd("Optional"),8),ld=bl(sd("SkipSelf"),4);var Zr=(()=>((Zr=Zr||{})[Zr.Important=1]="Important",Zr[Zr.DashCase=2]="DashCase",Zr))();const Ib=new Map;let UP=0;const Ob="__ngContext__";function Dr(n,t){Nr(t)?(n[Ob]=t[20],function $P(n){Ib.set(n[20],n)}(t)):n[Ob]=t}function Fb(n,t){return undefined(n,t)}function vh(n){const t=n[3];return fr(t)?t[3]:t}function Rb(n){return tw(n[13])}function Nb(n){return tw(n[4])}function tw(n){for(;null!==n&&!fr(n);)n=n[4];return n}function dd(n,t,e,i,o){if(null!=i){let s,a=!1;fr(i)?s=i:Nr(i)&&(a=!0,i=i[0]);const l=qi(i);0===n&&null!==e?null==o?aw(t,e,l):Il(t,e,l,o||null,!0):1===n&&null!==e?Il(t,e,l,o||null,!0):2===n?function Ub(n,t,e){const i=sm(n,t);i&&function hO(n,t,e,i){n.removeChild(t,e,i)}(n,i,t,e)}(t,l,a):3===n&&t.destroyNode(l),null!=s&&function mO(n,t,e,i,o){const s=e[7];s!==qi(e)&&dd(t,n,i,s,o);for(let l=10;l0&&(n[e-1][4]=i[4]);const s=tm(n,10+t);!function rO(n,t){yh(n,t,t[11],2,null,null),t[0]=null,t[6]=null}(i[1],i);const a=s[19];null!==a&&a.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-65}return i}function rw(n,t){if(!(128&t[2])){const e=t[11];e.destroyNode&&yh(n,t,e,3,null,null),function aO(n){let t=n[13];if(!t)return Vb(n[1],n);for(;t;){let e=null;if(Nr(t))e=t[13];else{const i=t[10];i&&(e=i)}if(!e){for(;t&&!t[4]&&t!==n;)Nr(t)&&Vb(t[1],t),t=t[3];null===t&&(t=n),Nr(t)&&Vb(t[1],t),e=t&&t[4]}t=e}}(t)}}function Vb(n,t){if(!(128&t[2])){t[2]&=-65,t[2]|=128,function uO(n,t){let e;if(null!=n&&null!=(e=n.destroyHooks))for(let i=0;i=0?i[o=a]():i[o=-a].unsubscribe(),s+=2}else{const a=i[o=e[s+1]];e[s].call(a)}if(null!==i){for(let s=o+1;s-1){const{encapsulation:s}=n.data[i.directiveStart+o];if(s===Rr.None||s===Rr.Emulated)return null}return pr(i,e)}}(n,t.parent,e)}function Il(n,t,e,i,o){n.insertBefore(t,e,i,o)}function aw(n,t,e){n.appendChild(t,e)}function lw(n,t,e,i,o){null!==i?Il(n,t,e,i,o):aw(n,t,e)}function sm(n,t){return n.parentNode(t)}function cw(n,t,e){return uw(n,t,e)}let cm,Gb,dm,uw=function dw(n,t,e){return 40&n.type?pr(n,e):null};function am(n,t,e,i){const o=ow(n,i,t),s=t[11],l=cw(i.parent||t[6],i,t);if(null!=o)if(Array.isArray(e))for(let c=0;cn,createScript:n=>n,createScriptURL:n=>n})}catch{}return cm}()?.createHTML(n)||n}function yw(n){return function qb(){if(void 0===dm&&(dm=null,dn.trustedTypes))try{dm=dn.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch{}return dm}()?.createScriptURL(n)||n}class Ol{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${So})`}}class wO extends Ol{getTypeName(){return"HTML"}}class xO extends Ol{getTypeName(){return"Style"}}class CO extends Ol{getTypeName(){return"Script"}}class kO extends Ol{getTypeName(){return"URL"}}class SO extends Ol{getTypeName(){return"ResourceURL"}}function uo(n){return n instanceof Ol?n.changingThisBreaksApplicationSecurity:n}function ms(n,t){const e=function DO(n){return n instanceof Ol&&n.getTypeName()||null}(n);if(null!=e&&e!==t){if("ResourceURL"===e&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${e} (see ${So})`)}return e===t}class OO{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Pl(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch{return null}}}class AO{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const e=this.inertDocument.createElement("html");this.inertDocument.appendChild(e);const i=this.inertDocument.createElement("body");e.appendChild(i)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Pl(t),e;const i=this.inertDocument.createElement("body");return i.innerHTML=Pl(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(t){const e=t.attributes;for(let o=e.length-1;0"),!0}endElement(t){const e=t.nodeName.toLowerCase();Kb.hasOwnProperty(e)&&!ww.hasOwnProperty(e)&&(this.buf.push(""))}chars(t){this.buf.push(Sw(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const BO=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,HO=/([^\#-~ |!])/g;function Sw(n){return n.replace(/&/g,"&").replace(BO,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(HO,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(//g,">")}let hm;function Dw(n,t){let e=null;try{hm=hm||function Mw(n){const t=new AO(n);return function FO(){try{return!!(new window.DOMParser).parseFromString(Pl(""),"text/html")}catch{return!1}}()?new OO(t):t}(n);let i=t?String(t):"";e=hm.getInertBodyElement(i);let o=5,s=i;do{if(0===o)throw new Error("Failed to sanitize html because the input is unstable");o--,i=s,s=e.innerHTML,e=hm.getInertBodyElement(i)}while(i!==s);return Pl((new YO).sanitizeChildren(Xb(e)||e))}finally{if(e){const i=Xb(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function Xb(n){return"content"in n&&function VO(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var wn=(()=>((wn=wn||{})[wn.NONE=0]="NONE",wn[wn.HTML=1]="HTML",wn[wn.STYLE=2]="STYLE",wn[wn.SCRIPT=3]="SCRIPT",wn[wn.URL=4]="URL",wn[wn.RESOURCE_URL=5]="RESOURCE_URL",wn))();function _s(n){const t=wh();return t?t.sanitize(wn.URL,n)||"":ms(n,"URL")?uo(n):um(kt(n))}function Tw(n){const t=wh();if(t)return yw(t.sanitize(wn.RESOURCE_URL,n)||"");if(ms(n,"ResourceURL"))return yw(uo(n));throw new Fe(904,!1)}function wh(){const n=ze();return n&&n[12]}const fm=new Be("ENVIRONMENT_INITIALIZER"),Ew=new Be("INJECTOR",-1),Iw=new Be("INJECTOR_DEF_TYPES");class Pw{get(t,e=gl){if(e===gl){const i=new Error(`NullInjectorError: No provider for ${Pn(t)}!`);throw i.name="NullInjectorError",i}return e}}function KO(...n){return{\u0275providers:Ow(0,n),\u0275fromNgModule:!0}}function Ow(n,...t){const e=[],i=new Set;let o;return El(t,s=>{const a=s;Qb(a,e,[],i)&&(o||(o=[]),o.push(a))}),void 0!==o&&Aw(o,e),e}function Aw(n,t){for(let e=0;e{t.push(s)})}}function Qb(n,t,e,i){if(!(n=yt(n)))return!1;let o=null,s=yp(n);const a=!s&&bn(n);if(s||a){if(a&&!a.standalone)return!1;o=n}else{const c=n.ngModule;if(s=yp(c),!s)return!1;o=c}const l=i.has(o);if(a){if(l)return!1;if(i.add(o),a.dependencies){const c="function"==typeof a.dependencies?a.dependencies():a.dependencies;for(const M of c)Qb(M,t,e,i)}}else{if(!s)return!1;{if(null!=s.imports&&!l){let M;i.add(o);try{El(s.imports,P=>{Qb(P,t,e,i)&&(M||(M=[]),M.push(P))})}finally{}void 0!==M&&Aw(M,t)}if(!l){const M=Yr(o)||(()=>new o);t.push({provide:o,useFactory:M,deps:un},{provide:Iw,useValue:o,multi:!0},{provide:fm,useValue:()=>we(o),multi:!0})}const c=s.providers;null==c||l||Jb(c,P=>{t.push(P)})}}return o!==n&&void 0!==n.providers}function Jb(n,t){for(let e of n)Ru(e)&&(e=e.\u0275providers),Array.isArray(e)?Jb(e,t):t(e)}const ZO=In({provide:String,useValue:In});function ev(n){return null!==n&&"object"==typeof n&&ZO in n}function Al(n){return"function"==typeof n}const tv=new Be("Set Injector scope."),pm={},QO={};let nv;function mm(){return void 0===nv&&(nv=new Pw),nv}class gs{}class Nw extends gs{constructor(t,e,i,o){super(),this.parent=e,this.source=i,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,rv(t,a=>this.processProvider(a)),this.records.set(Ew,ud(void 0,this)),o.has("environment")&&this.records.set(gs,ud(void 0,this));const s=this.records.get(tv);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Iw.multi,un,Mt.Self))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();for(const t of this._onDestroyHooks)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(t){this._onDestroyHooks.push(t)}runInContext(t){this.assertNotDestroyed();const e=Da(this),i=dr(void 0);try{return t()}finally{Da(e),dr(i)}}get(t,e=gl,i=Mt.Default){this.assertNotDestroyed(),i=Rc(i);const o=Da(this),s=dr(void 0);try{if(!(i&Mt.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function iA(n){return"function"==typeof n||"object"==typeof n&&n instanceof Be}(t)&&Pc(t);l=c&&this.injectableDefInScope(c)?ud(iv(t),pm):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(i&Mt.Self?mm():this.parent).get(t,e=i&Mt.Optional&&e===gl?null:e)}catch(a){if("NullInjectorError"===a.name){if((a[Fc]=a[Fc]||[]).unshift(Pn(t)),o)throw a;return function Kg(n,t,e,i){const o=n[Fc];throw t[wp]&&o.unshift(t[wp]),n.message=function Zg(n,t,e,i=null){n=n&&"\n"===n.charAt(0)&&"\u0275"==n.charAt(1)?n.slice(2):n;let o=Pn(t);if(Array.isArray(t))o=t.map(Pn).join(" -> ");else if("object"==typeof t){let s=[];for(let a in t)if(t.hasOwnProperty(a)){let l=t[a];s.push(a+":"+("string"==typeof l?JSON.stringify(l):Pn(l)))}o=`{${s.join(", ")}}`}return`${e}${i?"("+i+")":""}[${o}]: ${n.replace(Wg,"\n ")}`}("\n"+n.message,o,e,i),n.ngTokenPath=o,n[Fc]=null,n}(a,t,"R3InjectorError",this.source)}throw a}finally{dr(s),Da(o)}}resolveInjectorInitializers(){const t=Da(this),e=dr(void 0);try{const i=this.get(fm.multi,un,Mt.Self);for(const o of i)o()}finally{Da(t),dr(e)}}toString(){const t=[],e=this.records;for(const i of e.keys())t.push(Pn(i));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Fe(205,!1)}processProvider(t){let e=Al(t=yt(t))?t:yt(t&&t.provide);const i=function eA(n){return ev(n)?ud(void 0,n.useValue):ud(Yw(n),pm)}(t);if(Al(t)||!0!==t.multi)this.records.get(e);else{let o=this.records.get(e);o||(o=ud(void 0,pm,!0),o.factory=()=>Uu(o.multi),this.records.set(e,o)),e=t,o.multi.push(t)}this.records.set(e,i)}hydrate(t,e){return e.value===pm&&(e.value=QO,e.value=e.factory()),"object"==typeof e.value&&e.value&&function nA(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=yt(t.providedIn);return"string"==typeof e?"any"===e||this.scopes.has(e):this.injectorDefTypes.has(e)}}function iv(n){const t=Pc(n),e=null!==t?t.factory:Yr(n);if(null!==e)return e;if(n instanceof Be)throw new Fe(204,!1);if(n instanceof Function)return function JO(n){const t=n.length;if(t>0)throw mh(t,"?"),new Fe(204,!1);const e=function bp(n){const t=n&&(n[Oc]||n[Mp]);if(t){const e=function vp(n){if(n.hasOwnProperty("name"))return n.name;const t=(""+n).match(/^function\s*([^\s(]+)/);return null===t?"":t[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${e}" 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 "${e}" class.`),t}return null}(n);return null!==e?()=>e.factory(n):()=>new n}(n);throw new Fe(204,!1)}function Yw(n,t,e){let i;if(Al(n)){const o=yt(n);return Yr(o)||iv(o)}if(ev(n))i=()=>yt(n.useValue);else if(function Rw(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Uu(n.deps||[]));else if(function Fw(n){return!(!n||!n.useExisting)}(n))i=()=>we(yt(n.useExisting));else{const o=yt(n&&(n.useClass||n.provide));if(!function tA(n){return!!n.deps}(n))return Yr(o)||iv(o);i=()=>new o(...Uu(n.deps))}return i}function ud(n,t,e=!1){return{factory:n,value:t,multi:e?[]:void 0}}function rv(n,t){for(const e of n)Array.isArray(e)?rv(e,t):e&&Ru(e)?rv(e.\u0275providers,t):t(e)}class rA{}class Bw{}class sA{resolveComponentFactory(t){throw function oA(n){const t=Error(`No component factory found for ${Pn(n)}. Did you add it to @NgModule.entryComponents?`);return t.ngComponent=n,t}(t)}}let Na=(()=>{class n{}return n.NULL=new sA,n})();function aA(){return hd(wi(),ze())}function hd(n,t){return new bt(pr(n,t))}let bt=(()=>{class n{constructor(e){this.nativeElement=e}}return n.__NG_ELEMENT_ID__=aA,n})();function lA(n){return n instanceof bt?n.nativeElement:n}class xh{}let qs=(()=>{class n{}return n.__NG_ELEMENT_ID__=()=>function cA(){const n=ze(),e=Br(wi().index,n);return(Nr(e)?e:n)[11]}(),n})(),dA=(()=>{class n{}return n.\u0275prov=Ye({token:n,providedIn:"root",factory:()=>null}),n})();class Fl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const uA=new Fl("15.0.4"),ov={};function av(n){return n.ngOriginalError}class Ks{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t);this._console.error("ERROR",t),e&&this._console.error("ORIGINAL ERROR",e)}_findOriginalError(t){let e=t&&av(t);for(;e&&av(e);)e=av(e);return e||null}}function Vw(n){return n.ownerDocument.defaultView}function Zs(n){return n instanceof Function?n():n}function zw(n,t,e){let i=n.length;for(;;){const o=n.indexOf(t,e);if(-1===o)return o;if(0===o||n.charCodeAt(o-1)<=32){const s=t.length;if(o+s===i||n.charCodeAt(o+s)<=32)return o}e=o+1}}const Uw="ng-template";function MA(n,t,e){let i=0;for(;is?"":o[Y+1].toLowerCase();const te=8&i?q:null;if(te&&-1!==zw(te,M,0)||2&i&&M!==q){if(Zo(i))return!1;a=!0}}}}else{if(!a&&!Zo(i)&&!Zo(c))return!1;if(a&&Zo(c))continue;a=!1,i=c|1&i}}return Zo(i)||a}function Zo(n){return 0==(1&n)}function CA(n,t,e,i){if(null===t)return-1;let o=0;if(i||!e){let s=!1;for(;o-1)for(e++;e0?'="'+l+'"':"")+"]"}else 8&i?o+="."+a:4&i&&(o+=" "+a);else""!==o&&!Zo(a)&&(t+=Gw(s,o),o=""),i=a,s=s||!Zo(i);e++}return""!==o&&(t+=Gw(s,o)),t}const Ft={};function d(n){qw(nn(),ze(),ar()+n,!1)}function qw(n,t,e,i){if(!i)if(3==(3&t[2])){const s=n.preOrderCheckHooks;null!==s&&Kc(t,s,e)}else{const s=n.preOrderHooks;null!==s&&Zc(t,s,0,e)}Us(e)}function Qw(n,t=null,e=null,i){const o=Jw(n,t,e,i);return o.resolveInjectorInitializers(),o}function Jw(n,t=null,e=null,i,o=new Set){const s=[e||un,KO(n)];return i=i||("object"==typeof n?void 0:Pn(n)),new Nw(s,t||mm(),i||null,o)}let mi=(()=>{class n{static create(e,i){if(Array.isArray(e))return Qw({name:""},i,e,"");{const o=e.name??"";return Qw({name:o},e.parent,e.providers,o)}}}return n.THROW_IF_NOT_FOUND=gl,n.NULL=new Pw,n.\u0275prov=Ye({token:n,providedIn:"any",factory:()=>we(Ew)}),n.__NG_ELEMENT_ID__=-1,n})();function F(n,t=Mt.Default){const e=ze();return null===e?we(n,t):Vr(wi(),e,yt(n),t)}function Ya(){throw new Error("invalid")}function sx(n,t){const e=n.contentQueries;if(null!==e)for(let i=0;i22&&qw(n,t,22,!1),e(i,o)}finally{Us(s)}}function pv(n,t,e){if(Ku(t)){const o=t.directiveEnd;for(let s=t.directiveStart;s0;){const e=n[--t];if("number"==typeof e&&e<0)return e}return 0})(a)!=l&&a.push(l),a.push(e,i,s)}}(n,t,i,Ch(n,e,o.hostVars,Ft),o)}function bs(n,t,e,i,o,s){const a=pr(n,t);!function yv(n,t,e,i,o,s,a){if(null==s)n.removeAttribute(t,o,e);else{const l=null==a?kt(s):a(s,i||"",o);n.setAttribute(t,o,l,e)}}(t[11],a,s,n.value,e,i,o)}function mF(n,t,e,i,o,s){const a=s[t];if(null!==a){const l=i.setInput;for(let c=0;c0&&Mv(e)}}function Mv(n){for(let i=Rb(n);null!==i;i=Nb(i))for(let o=10;o0&&Mv(s)}const e=n[1].components;if(null!==e)for(let i=0;i0&&Mv(o)}}function yF(n,t){const e=Br(t,n),i=e[1];(function MF(n,t){for(let e=t.length;e-1&&(Hb(t,i),tm(e,i))}this._attachedToViewContainer=!1}rw(this._lView[1],this._lView)}onDestroy(t){cx(this._lView[1],this._lView,null,t)}markForCheck(){wv(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-65}reattach(){this._lView[2]|=64}detectChanges(){ym(this._lView[1],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new Fe(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function sO(n,t){yh(n,t,t[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new Fe(902,!1);this._appRef=t}}class wF extends kh{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;ym(t[1],t,t[8],!1)}checkNoChanges(){}get context(){return null}}class yx extends Na{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const e=bn(t);return new Sh(e,this.ngModule)}}function Mx(n){const t=[];for(let e in n)n.hasOwnProperty(e)&&t.push({propName:n[e],templateName:e});return t}class CF{constructor(t,e){this.injector=t,this.parentInjector=e}get(t,e,i){i=Rc(i);const o=this.injector.get(t,ov,i);return o!==ov||e===ov?o:this.parentInjector.get(t,e,i)}}class Sh extends Bw{constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=function EA(n){return n.map(LA).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}get inputs(){return Mx(this.componentDef.inputs)}get outputs(){return Mx(this.componentDef.outputs)}create(t,e,i,o){let s=(o=o||this.ngModule)instanceof gs?o:o?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const a=s?new CF(t,s):t,l=a.get(xh,null);if(null===l)throw new Fe(407,!1);const c=a.get(dA,null),M=l.createRenderer(null,this.componentDef),P=this.componentDef.selectors[0][0]||"div",Y=i?function eF(n,t,e){return n.selectRootElement(t,e===Rr.ShadowDom)}(M,i,this.componentDef.encapsulation):Bb(M,P,function xF(n){const t=n.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(P)),q=this.componentDef.onPush?288:272,te=gv(0,null,null,1,0,null,null,null,null,null),fe=gm(null,te,null,q,null,null,l,M,c,a,null);let ke,Ie;Cl(fe);try{const Re=this.componentDef;let Xe,Ae=null;Re.findHostDirectiveDefs?(Xe=[],Ae=new Map,Re.findHostDirectiveDefs(Re,Xe,Ae),Xe.push(Re)):Xe=[Re];const ct=function SF(n,t){const e=n[1];return n[22]=t,md(e,22,2,"#host",null)}(fe,Y),pn=function DF(n,t,e,i,o,s,a,l){const c=o[1];!function TF(n,t,e,i){for(const o of n)t.mergedAttrs=Dl(t.mergedAttrs,o.hostAttrs);null!==t.mergedAttrs&&(Mm(t,t.mergedAttrs,!0),null!==e&&_w(i,e,t))}(i,n,t,a);const M=s.createRenderer(t,e),P=gm(o,lx(e),null,e.onPush?32:16,o[n.index],n,s,M,l||null,null,null);return c.firstCreatePass&&vv(c,n,i.length-1),vm(o,P),o[n.index]=P}(ct,Y,Re,Xe,fe,l,M);Ie=Vp(te,22),Y&&function EF(n,t,e,i){if(i)uh(n,e,["ng-version",uA.full]);else{const{attrs:o,classes:s}=function IA(n){const t=[],e=[];let i=1,o=2;for(;i0&&mw(n,e,s.join(" "))}}(M,Re,Y,i),void 0!==e&&function IF(n,t,e){const i=n.projection=[];for(let o=0;o=0;i--){const o=n[i];o.hostVars=t+=o.hostVars,o.hostAttrs=Dl(o.hostAttrs,e=Dl(e,o.hostAttrs))}}(i)}function kv(n){return n===jo?{}:n===un?[]:n}function AF(n,t){const e=n.viewQuery;n.viewQuery=e?(i,o)=>{t(i,o),e(i,o)}:t}function FF(n,t){const e=n.contentQueries;n.contentQueries=e?(i,o,s)=>{t(i,o,s),e(i,o,s)}:t}function RF(n,t){const e=n.hostBindings;n.hostBindings=e?(i,o)=>{t(i,o),e(i,o)}:t}let xm=null;function Rl(){if(!xm){const n=dn.Symbol;if(n&&n.iterator)xm=n.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;ea(qi(ct[i.index])):i.index;let Ae=null;if(!a&&l&&(Ae=function ZF(n,t,e,i){const o=n.cleanup;if(null!=o)for(let s=0;sc?l[c]:null}"string"==typeof a&&(s+=2)}return null}(n,t,o,i.index)),null!==Ae)(Ae.__ngLastListenerFn__||Ae).__ngNextListenerFn__=s,Ae.__ngLastListenerFn__=s,q=!1;else{s=Yx(i,t,P,s,!1);const ct=e.listen(Ie,o,s);Y.push(s,ct),M&&M.push(o,Xe,Re,Re+1)}}else s=Yx(i,t,P,s,!1);const te=i.outputs;let fe;if(q&&null!==te&&(fe=te[o])){const ke=fe.length;if(ke)for(let Ie=0;Ie-1?Br(n.index,t):t);let c=Nx(t,0,i,a),M=s.__ngNextListenerFn__;for(;M;)c=Nx(t,0,M,a)&&c,M=M.__ngNextListenerFn__;return o&&!1===c&&(a.preventDefault(),a.returnValue=!1),c}}function z(n=1){return function qo(n){return(It.lFrame.contextLView=function fb(n,t){for(;n>0;)t=t[15],n--;return t}(n,It.lFrame.contextLView))[8]}(n)}function XF(n,t){let e=null;const i=function kA(n){const t=n.attrs;if(null!=t){const e=t.indexOf(5);if(0==(1&e))return t[e+1]}return null}(n);for(let o=0;o>17&32767}function Iv(n){return 2|n}function Yl(n){return(131068&n)>>2}function Pv(n,t){return-131069&n|t<<2}function Ov(n){return 1|n}function Gx(n,t,e,i,o){const s=n[e+1],a=null===t;let l=i?Ba(s):Yl(s),c=!1;for(;0!==l&&(!1===c||a);){const P=n[l+1];iR(n[l],t)&&(c=!0,n[l+1]=i?Ov(P):Iv(P)),l=i?Ba(P):Yl(P)}c&&(n[e+1]=i?Iv(s):Ov(s))}function iR(n,t){return null===n||null==t||(Array.isArray(n)?n[1]:n)===t||!(!Array.isArray(n)||"string"!=typeof t)&&ad(n,t)>=0}const Zi={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function qx(n){return n.substring(Zi.key,Zi.keyEnd)}function rR(n){return n.substring(Zi.value,Zi.valueEnd)}function Kx(n,t){const e=Zi.textEnd;return e===t?-1:(t=Zi.keyEnd=function aR(n,t,e){for(;t32;)t++;return t}(n,Zi.key=t,e),kd(n,t,e))}function Zx(n,t){const e=Zi.textEnd;let i=Zi.key=kd(n,t,e);return e===i?-1:(i=Zi.keyEnd=function lR(n,t,e){let i;for(;t=65&&(-33&i)<=90||i>=48&&i<=57);)t++;return t}(n,i,e),i=Qx(n,i,e),i=Zi.value=kd(n,i,e),i=Zi.valueEnd=function cR(n,t,e){let i=-1,o=-1,s=-1,a=t,l=a;for(;a32&&(l=a),s=o,o=i,i=-33&c}return l}(n,i,e),Qx(n,i,e))}function Xx(n){Zi.key=0,Zi.keyEnd=0,Zi.value=0,Zi.valueEnd=0,Zi.textEnd=n.length}function kd(n,t,e){for(;t=0;e=Zx(t,e))nC(n,qx(t),rR(t))}function fo(n){Jo(co,ys,n,!0)}function ys(n,t){for(let e=function oR(n){return Xx(n),Kx(n,kd(n,0,Zi.textEnd))}(t);e>=0;e=Kx(t,e))co(n,qx(t),!0)}function Qo(n,t,e,i){const o=ze(),s=nn(),a=Go(2);s.firstUpdatePass&&tC(s,n,a,i),t!==Ft&&Tr(o,a,t)&&iC(s,s.data[ar()],o,o[11],n,o[a+1]=function gR(n,t){return null==n||("string"==typeof t?n+=t:"object"==typeof n&&(n=Pn(uo(n)))),n}(t,e),i,a)}function Jo(n,t,e,i){const o=nn(),s=Go(2);o.firstUpdatePass&&tC(o,null,s,i);const a=ze();if(e!==Ft&&Tr(a,s,e)){const l=o.data[ar()];if(oC(l,i)&&!eC(o,s)){let c=i?l.classesWithoutHost:l.stylesWithoutHost;null!==c&&(e=Ca(c,e||"")),Dv(o,l,a,e,i)}else!function _R(n,t,e,i,o,s,a,l){o===Ft&&(o=un);let c=0,M=0,P=0=n.expandoStartIndex}function tC(n,t,e,i){const o=n.data;if(null===o[e+1]){const s=o[ar()],a=eC(n,e);oC(s,i)&&null===t&&!a&&(t=!1),t=function uR(n,t,e,i){const o=rh(n);let s=i?t.residualClasses:t.residualStyles;if(null===o)0===(i?t.classBindings:t.styleBindings)&&(e=Eh(e=Av(null,n,t,e,i),t.attrs,i),s=null);else{const a=t.directiveStylingLast;if(-1===a||n[a]!==o)if(e=Av(o,n,t,e,i),null===s){let c=function hR(n,t,e){const i=e?t.classBindings:t.styleBindings;if(0!==Yl(i))return n[Ba(i)]}(n,t,i);void 0!==c&&Array.isArray(c)&&(c=Av(null,n,t,c[1],i),c=Eh(c,t.attrs,i),function fR(n,t,e,i){n[Ba(e?t.classBindings:t.styleBindings)]=i}(n,t,i,c))}else s=function pR(n,t,e){let i;const o=t.directiveEnd;for(let s=1+t.directiveStylingLast;s0)&&(M=!0)}else P=e;if(o)if(0!==c){const q=Ba(n[l+1]);n[i+1]=km(q,l),0!==q&&(n[q+1]=Pv(n[q+1],i)),n[l+1]=function JF(n,t){return 131071&n|t<<17}(n[l+1],i)}else n[i+1]=km(l,0),0!==l&&(n[l+1]=Pv(n[l+1],i)),l=i;else n[i+1]=km(c,0),0===l?l=i:n[c+1]=Pv(n[c+1],i),c=i;M&&(n[i+1]=Iv(n[i+1])),Gx(n,P,i,!0),Gx(n,P,i,!1),function nR(n,t,e,i,o){const s=o?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof t&&ad(s,t)>=0&&(e[i+1]=Ov(e[i+1]))}(t,P,n,i,s),a=km(l,c),s?t.classBindings=a:t.styleBindings=a}(o,s,t,e,a,i)}}function Av(n,t,e,i,o){let s=null;const a=e.directiveEnd;let l=e.directiveStylingLast;for(-1===l?l=e.directiveStart:l++;l0;){const c=n[o],M=Array.isArray(c),P=M?c[1]:c,Y=null===P;let q=e[o+1];q===Ft&&(q=Y?un:void 0);let te=Y?Sb(q,i):P===i?q:void 0;if(M&&!Sm(te)&&(te=Sb(c,i)),Sm(te)&&(l=te,a))return l;const fe=n[o+1];o=a?Ba(fe):Yl(fe)}if(null!==t){let c=s?t.residualClasses:t.residualStyles;null!=c&&(l=Sb(c,i))}return l}function Sm(n){return void 0!==n}function oC(n,t){return 0!=(n.flags&(t?8:16))}function I(n,t=""){const e=ze(),i=nn(),o=n+22,s=i.firstCreatePass?md(i,o,1,t,null):i.data[o],a=e[o]=function Yb(n,t){return n.createText(t)}(e[11],t);am(i,e,a,s),Eo(s,!1)}function oe(n){return me("",n,""),oe}function me(n,t,e){const i=ze(),o=gd(i,n,t,e);return o!==Ft&&Xs(i,ar(),o),me}function po(n,t,e,i,o){const s=ze(),a=bd(s,n,t,e,i,o);return a!==Ft&&Xs(s,ar(),a),po}function Qs(n,t,e){const i=ze();return Tr(i,Hr(),t)&&ho(nn(),Jn(),i,n,t,i[11],e,!0),Qs}function Fv(n,t,e){const i=ze();if(Tr(i,Hr(),t)){const s=nn(),a=Jn();ho(s,a,i,n,t,bx(rh(s.data),a,i),e,!0)}return Fv}const Bl=void 0;var RR=["en",[["a","p"],["AM","PM"],Bl],[["AM","PM"],Bl,Bl],[["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"]],Bl,[["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"]],Bl,[["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}",Bl,"{1} 'at' {0}",Bl],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function FR(n){const e=Math.floor(Math.abs(n)),i=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===i?1:5}];let Sd={};function jr(n){const t=function NR(n){return n.toLowerCase().replace(/_/g,"-")}(n);let e=CC(t);if(e)return e;const i=t.split("-")[0];if(e=CC(i),e)return e;if("en"===i)return RR;throw new Fe(701,!1)}function CC(n){return n in Sd||(Sd[n]=dn.ng&&dn.ng.common&&dn.ng.common.locales&&dn.ng.common.locales[n]),Sd[n]}var at=(()=>((at=at||{})[at.LocaleId=0]="LocaleId",at[at.DayPeriodsFormat=1]="DayPeriodsFormat",at[at.DayPeriodsStandalone=2]="DayPeriodsStandalone",at[at.DaysFormat=3]="DaysFormat",at[at.DaysStandalone=4]="DaysStandalone",at[at.MonthsFormat=5]="MonthsFormat",at[at.MonthsStandalone=6]="MonthsStandalone",at[at.Eras=7]="Eras",at[at.FirstDayOfWeek=8]="FirstDayOfWeek",at[at.WeekendRange=9]="WeekendRange",at[at.DateFormat=10]="DateFormat",at[at.TimeFormat=11]="TimeFormat",at[at.DateTimeFormat=12]="DateTimeFormat",at[at.NumberSymbols=13]="NumberSymbols",at[at.NumberFormats=14]="NumberFormats",at[at.CurrencyCode=15]="CurrencyCode",at[at.CurrencySymbol=16]="CurrencySymbol",at[at.CurrencyName=17]="CurrencyName",at[at.Currencies=18]="Currencies",at[at.Directionality=19]="Directionality",at[at.PluralCase=20]="PluralCase",at[at.ExtraData=21]="ExtraData",at))();const Dd="en-US";let kC=Dd;function Yv(n,t,e,i,o){if(n=yt(n),Array.isArray(n))for(let s=0;s>20;if(Al(n)||!n.multi){const te=new Sl(c,o,F),fe=Hv(l,t,o?P:P+q,Y);-1===fe?(je(V(M,a),s,l),Bv(s,n,t.length),t.push(l),M.directiveStart++,M.directiveEnd++,o&&(M.providerIndexes+=1048576),e.push(te),a.push(te)):(e[fe]=te,a[fe]=te)}else{const te=Hv(l,t,P+q,Y),fe=Hv(l,t,P,P+q),ke=te>=0&&e[te],Ie=fe>=0&&e[fe];if(o&&!Ie||!o&&!ke){je(V(M,a),s,l);const Re=function F3(n,t,e,i,o){const s=new Sl(n,e,F);return s.multi=[],s.index=t,s.componentProviders=0,ZC(s,o,i&&!e),s}(o?A3:O3,e.length,o,i,c);!o&&Ie&&(e[fe].providerFactory=Re),Bv(s,n,t.length,0),t.push(l),M.directiveStart++,M.directiveEnd++,o&&(M.providerIndexes+=1048576),e.push(Re),a.push(Re)}else Bv(s,n,te>-1?te:fe,ZC(e[o?fe:te],c,!o&&i));!o&&i&&Ie&&e[fe].componentProviders++}}}function Bv(n,t,e,i){const o=Al(t),s=function XO(n){return!!n.useClass}(t);if(o||s){const c=(s?yt(t.useClass):t).prototype.ngOnDestroy;if(c){const M=n.destroyHooks||(n.destroyHooks=[]);if(!o&&t.multi){const P=M.indexOf(e);-1===P?M.push(e,[i,c]):M[P+1].push(i,c)}else M.push(e,c)}}}function ZC(n,t,e){return e&&n.componentProviders++,n.multi.push(t)-1}function Hv(n,t,e,i){for(let o=e;o{e.providersResolver=(i,o)=>function P3(n,t,e){const i=nn();if(i.firstCreatePass){const o=Sr(n);Yv(e,i.data,i.blueprint,o,!0),Yv(t,i.data,i.blueprint,o,!1)}}(i,o?o(n):n,t)}}class Td{}class XC{}class QC extends Td{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new yx(this);const i=ur(t);this._bootstrapComponents=Zs(i.bootstrap),this._r3Injector=Jw(t,e,[{provide:Td,useValue:this},{provide:Na,useValue:this.componentFactoryResolver}],Pn(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class jv extends XC{constructor(t){super(),this.moduleType=t}create(t){return new QC(this.moduleType,t)}}class N3 extends Td{constructor(t,e,i){super(),this.componentFactoryResolver=new yx(this),this.instance=null;const o=new Nw([...t,{provide:Td,useValue:this},{provide:Na,useValue:this.componentFactoryResolver}],e||mm(),i,new Set(["environment"]));this.injector=o,o.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}function Im(n,t,e=null){return new N3(n,t,e).injector}let Y3=(()=>{class n{constructor(e){this._injector=e,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e.id)){const i=Ow(0,e.type),o=i.length>0?Im([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e.id,o)}return this.cachedInjectors.get(e.id)}ngOnDestroy(){try{for(const e of this.cachedInjectors.values())null!==e&&e.destroy()}finally{this.cachedInjectors.clear()}}}return n.\u0275prov=Ye({token:n,providedIn:"environment",factory:()=>new n(we(gs))}),n})();function zv(n){n.getStandaloneInjector=t=>t.get(Y3).getOrCreateStandaloneInjector(n)}function Un(n,t,e){const i=mr()+n,o=ze();return o[i]===Ft?vs(o,i,e?t.call(e):t()):function Th(n,t){return n[t]}(o,i)}function Ve(n,t,e,i){return ok(ze(),mr(),n,t,e,i)}function ln(n,t,e,i,o){return sk(ze(),mr(),n,t,e,i,o)}function Rh(n,t){const e=n[t];return e===Ft?void 0:e}function ok(n,t,e,i,o,s){const a=t+e;return Tr(n,a,o)?vs(n,a+1,s?i.call(s,o):i(o)):Rh(n,a+1)}function sk(n,t,e,i,o,s,a){const l=t+e;return Nl(n,l,o,s)?vs(n,l+2,a?i.call(a,o,s):i(o,s)):Rh(n,l+2)}function R(n,t){const e=nn();let i;const o=n+22;e.firstCreatePass?(i=function eN(n,t){if(t)for(let e=t.length-1;e>=0;e--){const i=t[e];if(n===i.name)return i}}(t,e.pipeRegistry),e.data[o]=i,i.onDestroy&&(e.destroyHooks||(e.destroyHooks=[])).push(o,i.onDestroy)):i=e.data[o];const s=i.factory||(i.factory=Yr(i.type)),a=dr(F);try{const l=Jc(!1),c=s();return Jc(l),function GF(n,t,e,i){e>=n.data.length&&(n.data[e]=null,n.blueprint[e]=null),t[e]=i}(e,ze(),o,c),c}finally{dr(a)}}function B(n,t,e){const i=n+22,o=ze(),s=Pa(o,i);return Nh(o,i)?ok(o,mr(),t,s.transform,e,s):s.transform(e)}function Pt(n,t,e,i){const o=n+22,s=ze(),a=Pa(s,o);return Nh(s,o)?sk(s,mr(),t,a.transform,e,i,a):a.transform(e,i)}function Nh(n,t){return n[1].data[t].pure}function Wv(n){return t=>{setTimeout(n,void 0,t)}}const ht=class rN extends X{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,i){let o=t,s=e||(()=>null),a=i;if(t&&"object"==typeof t){const c=t;o=c.next?.bind(c),s=c.error?.bind(c),a=c.complete?.bind(c)}this.__isAsync&&(s=Wv(s),o&&(o=Wv(o)),a&&(a=Wv(a)));const l=super.subscribe({next:o,error:s,complete:a});return t instanceof T&&t.add(l),l}};function oN(){return this._results[Rl()]()}class Hl{constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=Rl(),i=Hl.prototype;i[e]||(i[e]=oN)}get changes(){return this._changes||(this._changes=new ht)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,e){return this._results.reduce(t,e)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,e){const i=this;i.dirty=!1;const o=function Io(n){return n.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function yP(n,t,e){if(n.length!==t.length)return!1;for(let i=0;i{class n{}return n.__NG_ELEMENT_ID__=lN,n})();const sN=lr,aN=class extends sN{constructor(t,e,i){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=i}createEmbeddedView(t,e){const i=this._declarationTContainer.tViews,o=gm(this._declarationLView,i,t,16,null,i.declTNode,null,null,null,null,e||null);o[17]=this._declarationLView[this._declarationTContainer.index];const a=this._declarationLView[19];return null!==a&&(o[19]=a.createEmbeddedView(i)),fv(i,o,t),new kh(o)}};function lN(){return Pm(wi(),ze())}function Pm(n,t){return 4&n.type?new aN(t,n,hd(n,t)):null}let Xi=(()=>{class n{}return n.__NG_ELEMENT_ID__=cN,n})();function cN(){return hk(wi(),ze())}const dN=Xi,dk=class extends dN{constructor(t,e,i){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=i}get element(){return hd(this._hostTNode,this._hostLView)}get injector(){return new nd(this._hostTNode,this._hostLView)}get parentInjector(){const t=Le(this._hostTNode,this._hostLView);if(lo(t)){const e=Qc(t,this._hostLView),i=Xc(t);return new nd(e[1].data[i+8],e)}return new nd(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=uk(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,e,i){let o,s;"number"==typeof i?o=i:null!=i&&(o=i.index,s=i.injector);const a=t.createEmbeddedView(e||{},s);return this.insert(a,o),a}createComponent(t,e,i,o,s){const a=t&&!function ph(n){return"function"==typeof n}(t);let l;if(a)l=e;else{const Y=e||{};l=Y.index,i=Y.injector,o=Y.projectableNodes,s=Y.environmentInjector||Y.ngModuleRef}const c=a?t:new Sh(bn(t)),M=i||this.parentInjector;if(!s&&null==c.ngModule){const q=(a?M:this.parentInjector).get(gs,null);q&&(s=q)}const P=c.create(M,o,void 0,s);return this.insert(P.hostView,l),P}insert(t,e){const i=t._lView,o=i[1];if(function rb(n){return fr(n[3])}(i)){const P=this.indexOf(t);if(-1!==P)this.detach(P);else{const Y=i[3],q=new dk(Y,Y[6],Y[3]);q.detach(q.indexOf(t))}}const s=this._adjustIndex(e),a=this._lContainer;!function lO(n,t,e,i){const o=10+i,s=e.length;i>0&&(e[o-1][4]=t),i0)i.push(a[l/2]);else{const M=s[l+1],P=t[-c];for(let Y=10;Y{class n{constructor(e){this.appInits=e,this.resolve=Am,this.reject=Am,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,o)=>{this.resolve=i,this.reject=o})}runInitializers(){if(this.initialized)return;const e=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let o=0;o{s.subscribe({complete:l,error:c})});e.push(a)}}Promise.all(e).then(()=>{i()}).catch(o=>{this.reject(o)}),0===e.length&&i(),this.initialized=!0}}return n.\u0275fac=function(e){return new(e||n)(we(Fm,8))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const Id=new Be("AppId",{providedIn:"root",factory:function Rk(){return`${ny()}${ny()}${ny()}`}});function ny(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Nk=new Be("Platform Initializer"),Nm=new Be("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Yk=new Be("appBootstrapListener"),Vi=new Be("AnimationModuleType");let RN=(()=>{class n{log(e){console.log(e)}warn(e){console.warn(e)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"platform"}),n})();const ws=new Be("LocaleId",{providedIn:"root",factory:()=>Lt(ws,Mt.Optional|Mt.SkipSelf)||function NN(){return typeof $localize<"u"&&$localize.locale||Dd}()});class BN{constructor(t,e){this.ngModuleFactory=t,this.componentFactories=e}}let Bk=(()=>{class n{compileModuleSync(e){return new jv(e)}compileModuleAsync(e){return Promise.resolve(this.compileModuleSync(e))}compileModuleAndAllComponentsSync(e){const i=this.compileModuleSync(e),s=Zs(ur(e).declarations).reduce((a,l)=>{const c=bn(l);return c&&a.push(new Sh(c)),a},[]);return new BN(i,s)}compileModuleAndAllComponentsAsync(e){return Promise.resolve(this.compileModuleAndAllComponentsSync(e))}clearCache(){}clearCacheFor(e){}getModuleId(e){}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const jN=(()=>Promise.resolve(0))();function iy(n){typeof Zone>"u"?jN.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class pt{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ht(!1),this.onMicrotaskEmpty=new ht(!1),this.onStable=new ht(!1),this.onError=new ht(!1),typeof Zone>"u")throw new Fe(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!i&&e,o.shouldCoalesceRunChangeDetection=i,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function zN(){let n=dn.requestAnimationFrame,t=dn.cancelAnimationFrame;if(typeof Zone<"u"&&n&&t){const e=n[Zone.__symbol__("OriginalDelegate")];e&&(n=e);const i=t[Zone.__symbol__("OriginalDelegate")];i&&(t=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function $N(n){const t=()=>{!function WN(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(dn,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,oy(n),n.isCheckStableRunning=!0,ry(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),oy(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,o,s,a,l)=>{try{return jk(n),e.invokeTask(o,s,a,l)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&t(),zk(n)}},onInvoke:(e,i,o,s,a,l,c)=>{try{return jk(n),e.invoke(o,s,a,l,c)}finally{n.shouldCoalesceRunChangeDetection&&t(),zk(n)}},onHasTask:(e,i,o,s)=>{e.hasTask(o,s),i===o&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,oy(n),ry(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(e,i,o,s)=>(e.handleError(o,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!pt.isInAngularZone())throw new Fe(909,!1)}static assertNotInAngularZone(){if(pt.isInAngularZone())throw new Fe(909,!1)}run(t,e,i){return this._inner.run(t,e,i)}runTask(t,e,i,o){const s=this._inner,a=s.scheduleEventTask("NgZoneEvent: "+o,t,UN,Am,Am);try{return s.runTask(a,e,i)}finally{s.cancelTask(a)}}runGuarded(t,e,i){return this._inner.runGuarded(t,e,i)}runOutsideAngular(t){return this._outer.run(t)}}const UN={};function ry(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function oy(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function jk(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function zk(n){n._nesting--,ry(n)}class GN{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ht,this.onMicrotaskEmpty=new ht,this.onStable=new ht,this.onError=new ht}run(t,e,i){return t.apply(e,i)}runGuarded(t,e,i){return t.apply(e,i)}runOutsideAngular(t){return t()}runTask(t,e,i,o){return t.apply(e,i)}}const Uk=new Be(""),Ym=new Be("");let ly,sy=(()=>{class n{constructor(e,i,o){this._ngZone=e,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,ly||(function qN(n){ly=n}(o),o.addToWindow(i)),this._watchAngularEvents(),e.run(()=>{this.taskTrackingZone=typeof Zone>"u"?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:()=>{pt.assertNotInAngularZone(),iy(()=>{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())iy(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb(this._didWork)}this._didWork=!1});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,o){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==s),e(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:e,timeoutId:s,updateCb:o})}whenStable(e,i,o){if(o&&!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(e,i,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(e){this.registry.registerApplication(e,this)}unregisterApplication(e){this.registry.unregisterApplication(e)}findProviders(e,i,o){return[]}}return n.\u0275fac=function(e){return new(e||n)(we(pt),we(ay),we(Ym))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})(),ay=(()=>{class n{constructor(){this._applications=new Map}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return ly?.findTestabilityInTree(this,e,i)??null}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"platform"}),n})(),Va=null;const Wk=new Be("AllowMultipleToken"),cy=new Be("PlatformDestroyListeners");class $k{constructor(t,e){this.name=t,this.token=e}}function qk(n,t,e=[]){const i=`Platform: ${t}`,o=new Be(i);return(s=[])=>{let a=dy();if(!a||a.injector.get(Wk,!1)){const l=[...e,...s,{provide:o,useValue:!0}];n?n(l):function XN(n){if(Va&&!Va.get(Wk,!1))throw new Fe(400,!1);Va=n;const t=n.get(Zk);(function Gk(n){const t=n.get(Nk,null);t&&t.forEach(e=>e())})(n)}(function Kk(n=[],t){return mi.create({name:t,providers:[{provide:tv,useValue:"platform"},{provide:cy,useValue:new Set([()=>Va=null])},...n]})}(l,i))}return function JN(n){const t=dy();if(!t)throw new Fe(401,!1);return t}()}}function dy(){return Va?.get(Zk)??null}let Zk=(()=>{class n{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const o=function Qk(n,t){let e;return e="noop"===n?new GN:("zone.js"===n?void 0:n)||new pt(t),e}(i?.ngZone,function Xk(n){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!n||!n.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!n||!n.ngZoneRunCoalescing)||!1}}(i)),s=[{provide:pt,useValue:o}];return o.run(()=>{const a=mi.create({providers:s,parent:this.injector,name:e.moduleType.name}),l=e.create(a),c=l.injector.get(Ks,null);if(!c)throw new Fe(402,!1);return o.runOutsideAngular(()=>{const M=o.onError.subscribe({next:P=>{c.handleError(P)}});l.onDestroy(()=>{Bm(this._modules,l),M.unsubscribe()})}),function Jk(n,t,e){try{const i=e();return Lh(i)?i.catch(o=>{throw t.runOutsideAngular(()=>n.handleError(o)),o}):i}catch(i){throw t.runOutsideAngular(()=>n.handleError(i)),i}}(c,o,()=>{const M=l.injector.get(Rm);return M.runInitializers(),M.donePromise.then(()=>(function SC(n){qr(n,"Expected localeId to be defined"),"string"==typeof n&&(kC=n.toLowerCase().replace(/_/g,"-"))}(l.injector.get(ws,Dd)||Dd),this._moduleDoBootstrap(l),l))})})}bootstrapModule(e,i=[]){const o=eS({},i);return function KN(n,t,e){const i=new jv(e);return Promise.resolve(i)}(0,0,e).then(s=>this.bootstrapModuleFactory(s,o))}_moduleDoBootstrap(e){const i=e.injector.get(Pd);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(o=>i.bootstrap(o));else{if(!e.instance.ngDoBootstrap)throw new Fe(403,!1);e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Fe(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const e=this._injector.get(cy,null);e&&(e.forEach(i=>i()),e.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(e){return new(e||n)(we(mi))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"platform"}),n})();function eS(n,t){return Array.isArray(t)?t.reduce(eS,n):{...n,...t}}let Pd=(()=>{class n{constructor(e,i,o){this._zone=e,this._injector=i,this._exceptionHandler=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const s=new ce(l=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{l.next(this._stable),l.complete()})}),a=new ce(l=>{let c;this._zone.runOutsideAngular(()=>{c=this._zone.onStable.subscribe(()=>{pt.assertNotInAngularZone(),iy(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,l.next(!0))})})});const M=this._zone.onUnstable.subscribe(()=>{pt.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{l.next(!1)}))});return()=>{c.unsubscribe(),M.unsubscribe()}});this.isStable=vt(s,a.pipe(wa()))}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(e,i){const o=e instanceof Bw;if(!this._injector.get(Rm).done)throw!o&&function Ea(n){const t=bn(n)||Hi(n)||Mi(n);return null!==t&&t.standalone}(e),new Fe(405,false);let a;a=o?e:this._injector.get(Na).resolveComponentFactory(e),this.componentTypes.push(a.componentType);const l=function ZN(n){return n.isBoundToModule}(a)?void 0:this._injector.get(Td),M=a.create(mi.NULL,[],i||a.selector,l),P=M.location.nativeElement,Y=M.injector.get(Uk,null);return Y?.registerApplication(P),M.onDestroy(()=>{this.detachView(M.hostView),Bm(this.components,M),Y?.unregisterApplication(P)}),this._loadComponent(M),M}tick(){if(this._runningTick)throw new Fe(101,!1);try{this._runningTick=!0;for(let e of this._views)e.detectChanges()}catch(e){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(e))}finally{this._runningTick=!1}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;Bm(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e);const i=this._injector.get(Yk,[]);i.push(...this._bootstrapListeners),i.forEach(o=>o(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>Bm(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new Fe(406,!1);const e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return n.\u0275fac=function(e){return new(e||n)(we(pt),we(gs),we(Ks))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function Bm(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}let di=(()=>{class n{}return n.__NG_ELEMENT_ID__=t4,n})();function t4(n){return function n4(n,t,e){if(wl(n)&&!e){const i=Br(n.index,t);return new kh(i,i)}return 47&n.type?new kh(t[16],t):null}(wi(),ze(),16==(16&n))}class oS{constructor(){}supports(t){return Dh(t)}create(t){return new c4(t)}}const l4=(n,t)=>t;class c4{constructor(t){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=t||l4}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,i=this._removalsHead,o=0,s=null;for(;e||i;){const a=!i||e&&e.currentIndex{a=this._trackByFn(o,l),null!==e&&Object.is(e.trackById,a)?(i&&(e=this._verifyReinsertion(e,l,a,o)),Object.is(e.item,l)||this._addIdentityChange(e,l)):(e=this._mismatch(e,l,a,o),i=!0),e=e._next,o++}),this.length=o;return this._truncate(e),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,e,i,o){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,s,o)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(i,o))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,s,o)):t=this._addAfter(new d4(e,i),s,o),t}_verifyReinsertion(t,e,i,o){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?t=this._reinsertAfter(s,t._prev,o):t.currentIndex!=o&&(t.currentIndex=o,this._addToMoves(t,o)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}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(t,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const o=t._prevRemoved,s=t._nextRemoved;return null===o?this._removalsHead=s:o._nextRemoved=s,null===s?this._removalsTail=o:s._prevRemoved=o,this._insertAfter(t,e,i),this._addToMoves(t,i),t}_moveAfter(t,e,i){return this._unlink(t),this._insertAfter(t,e,i),this._addToMoves(t,i),t}_addAfter(t,e,i){return this._insertAfter(t,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,i){const o=null===e?this._itHead:e._next;return t._next=o,t._prev=e,null===o?this._itTail=t:o._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new sS),this._linkedRecords.put(t),t.currentIndex=i,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,i=t._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new sS),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class d4{constructor(t,e){this.item=t,this.trackById=e,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 u4{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,t))return i;return null}remove(t){const e=t._prevDup,i=t._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class sS{constructor(){this.map=new Map}put(t){const e=t.trackById;let i=this.map.get(e);i||(i=new u4,this.map.set(e,i)),i.add(t)}get(t,e){const o=this.map.get(t);return o?o.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function aS(n,t,e){const i=n.previousIndex;if(null===i)return i;let o=0;return e&&i{if(e&&e.key===o)this._maybeAddToChanges(e,i),this._appendAfter=e,e=e._next;else{const s=this._getOrCreateRecordForKey(o,i);e=this._insertBeforeOrAppend(e,s)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let i=e;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const i=t._prev;return e._next=t,e._prev=i,t._prev=e,i&&(i._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const o=this._records.get(t);this._maybeAddToChanges(o,e);const s=o._prev,a=o._next;return s&&(s._next=a),a&&(a._prev=s),o._next=null,o._prev=null,o}const i=new f4(t);return this._records.set(t,i),i.currentValue=e,this._addToAdditions(i),i}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(i=>e(t[i],i))}}class f4{constructor(t){this.key=t,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 cS(){return new Bh([new oS])}let Bh=(()=>{class n{constructor(e){this.factories=e}static create(e,i){if(null!=i){const o=i.factories.slice();e=e.concat(o)}return new n(e)}static extend(e){return{provide:n,useFactory:i=>n.create(e,i||cS()),deps:[[n,new ld,new $s]]}}find(e){const i=this.factories.find(o=>o.supports(e));if(null!=i)return i;throw new Fe(901,!1)}}return n.\u0275prov=Ye({token:n,providedIn:"root",factory:cS}),n})();function dS(){return new Hh([new lS])}let Hh=(()=>{class n{constructor(e){this.factories=e}static create(e,i){if(i){const o=i.factories.slice();e=e.concat(o)}return new n(e)}static extend(e){return{provide:n,useFactory:i=>n.create(e,i||dS()),deps:[[n,new ld,new $s]]}}find(e){const i=this.factories.find(o=>o.supports(e));if(i)return i;throw new Fe(901,!1)}}return n.\u0275prov=Ye({token:n,providedIn:"root",factory:dS}),n})();const _4=qk(null,"core",[]);let g4=(()=>{class n{constructor(e){}}return n.\u0275fac=function(e){return new(e||n)(we(Pd))},n.\u0275mod=Et({type:n}),n.\u0275inj=At({}),n})();function Od(n){return"boolean"==typeof n?n:null!=n&&"false"!==n}let my=null;function xs(){return my}class y4{}const St=new Be("DocumentToken");let _y=(()=>{class n{historyGo(e){throw new Error("Not implemented")}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:function(){return function M4(){return we(uS)}()},providedIn:"platform"}),n})();const w4=new Be("Location Initialized");let uS=(()=>{class n extends _y{constructor(e){super(),this._doc=e,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return xs().getBaseHref(this._doc)}onPopState(e){const i=xs().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",e,!1),()=>i.removeEventListener("popstate",e)}onHashChange(e){const i=xs().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",e,!1),()=>i.removeEventListener("hashchange",e)}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(e){this.location.pathname=e}pushState(e,i,o){hS()?this._history.pushState(e,i,o):this.location.hash=o}replaceState(e,i,o){hS()?this._history.replaceState(e,i,o):this.location.hash=o}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}}return n.\u0275fac=function(e){return new(e||n)(we(St))},n.\u0275prov=Ye({token:n,factory:function(){return function x4(){return new uS(we(St))}()},providedIn:"platform"}),n})();function hS(){return!!window.history.pushState}function gy(n,t){if(0==n.length)return t;if(0==t.length)return n;let e=0;return n.endsWith("/")&&e++,t.startsWith("/")&&e++,2==e?n+t.substring(1):1==e?n+t:n+"/"+t}function fS(n){const t=n.match(/#|\?|$/),e=t&&t.index||n.length;return n.slice(0,e-("/"===n[e-1]?1:0))+n.slice(e)}function ea(n){return n&&"?"!==n[0]?"?"+n:n}let jl=(()=>{class n{historyGo(e){throw new Error("Not implemented")}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:function(){return Lt(mS)},providedIn:"root"}),n})();const pS=new Be("appBaseHref");let mS=(()=>{class n extends jl{constructor(e,i){super(),this._platformLocation=e,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??Lt(St).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return gy(this._baseHref,e)}path(e=!1){const i=this._platformLocation.pathname+ea(this._platformLocation.search),o=this._platformLocation.hash;return o&&e?`${i}${o}`:i}pushState(e,i,o,s){const a=this.prepareExternalUrl(o+ea(s));this._platformLocation.pushState(e,i,a)}replaceState(e,i,o,s){const a=this.prepareExternalUrl(o+ea(s));this._platformLocation.replaceState(e,i,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}}return n.\u0275fac=function(e){return new(e||n)(we(_y),we(pS,8))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),C4=(()=>{class n extends jl{constructor(e,i){super(),this._platformLocation=e,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}path(e=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(e){const i=gy(this._baseHref,e);return i.length>0?"#"+i:i}pushState(e,i,o,s){let a=this.prepareExternalUrl(o+ea(s));0==a.length&&(a=this._platformLocation.pathname),this._platformLocation.pushState(e,i,a)}replaceState(e,i,o,s){let a=this.prepareExternalUrl(o+ea(s));0==a.length&&(a=this._platformLocation.pathname),this._platformLocation.replaceState(e,i,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}}return n.\u0275fac=function(e){return new(e||n)(we(_y),we(pS,8))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})(),Vh=(()=>{class n{constructor(e){this._subject=new ht,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=e;const i=this._locationStrategy.getBaseHref();this._basePath=function D4(n){if(new RegExp("^(https?:)?//").test(n)){const[,e]=n.split(/\/\/[^\/]+/);return e}return n}(fS(_S(i))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(e=!1){return this.normalize(this._locationStrategy.path(e))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(e,i=""){return this.path()==this.normalize(e+ea(i))}normalize(e){return n.stripTrailingSlash(function S4(n,t){return n&&t.startsWith(n)?t.substring(n.length):t}(this._basePath,_S(e)))}prepareExternalUrl(e){return e&&"/"!==e[0]&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,i="",o=null){this._locationStrategy.pushState(o,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ea(i)),o)}replaceState(e,i="",o=null){this._locationStrategy.replaceState(o,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ea(i)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(e=0){this._locationStrategy.historyGo?.(e)}onUrlChange(e){return this._urlChangeListeners.push(e),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)})),()=>{const i=this._urlChangeListeners.indexOf(e);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(e="",i){this._urlChangeListeners.forEach(o=>o(e,i))}subscribe(e,i,o){return this._subject.subscribe({next:e,error:i,complete:o})}}return n.normalizeQueryParams=ea,n.joinWithSlash=gy,n.stripTrailingSlash=fS,n.\u0275fac=function(e){return new(e||n)(we(jl))},n.\u0275prov=Ye({token:n,factory:function(){return function k4(){return new Vh(we(jl))}()},providedIn:"root"}),n})();function _S(n){return n.replace(/\/index.html$/,"")}var Pi=(()=>((Pi=Pi||{})[Pi.Format=0]="Format",Pi[Pi.Standalone=1]="Standalone",Pi))(),Zt=(()=>((Zt=Zt||{})[Zt.Narrow=0]="Narrow",Zt[Zt.Abbreviated=1]="Abbreviated",Zt[Zt.Wide=2]="Wide",Zt[Zt.Short=3]="Short",Zt))(),_i=(()=>((_i=_i||{})[_i.Short=0]="Short",_i[_i.Medium=1]="Medium",_i[_i.Long=2]="Long",_i[_i.Full=3]="Full",_i))(),xt=(()=>((xt=xt||{})[xt.Decimal=0]="Decimal",xt[xt.Group=1]="Group",xt[xt.List=2]="List",xt[xt.PercentSign=3]="PercentSign",xt[xt.PlusSign=4]="PlusSign",xt[xt.MinusSign=5]="MinusSign",xt[xt.Exponential=6]="Exponential",xt[xt.SuperscriptingExponent=7]="SuperscriptingExponent",xt[xt.PerMille=8]="PerMille",xt[xt.Infinity=9]="Infinity",xt[xt.NaN=10]="NaN",xt[xt.TimeSeparator=11]="TimeSeparator",xt[xt.CurrencyDecimal=12]="CurrencyDecimal",xt[xt.CurrencyGroup=13]="CurrencyGroup",xt))();function jm(n,t){return Ao(jr(n)[at.DateFormat],t)}function zm(n,t){return Ao(jr(n)[at.TimeFormat],t)}function Um(n,t){return Ao(jr(n)[at.DateTimeFormat],t)}function Oo(n,t){const e=jr(n),i=e[at.NumberSymbols][t];if(typeof i>"u"){if(t===xt.CurrencyDecimal)return e[at.NumberSymbols][xt.Decimal];if(t===xt.CurrencyGroup)return e[at.NumberSymbols][xt.Group]}return i}function bS(n){if(!n[at.ExtraData])throw new Error(`Missing extra locale data for the locale "${n[at.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function Ao(n,t){for(let e=t;e>-1;e--)if(typeof n[e]<"u")return n[e];throw new Error("Locale data API: locale data undefined")}function vy(n){const[t,e]=n.split(":");return{hours:+t,minutes:+e}}const H4=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,jh={},V4=/((?:[^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 Ji=(()=>((Ji=Ji||{})[Ji.Short=0]="Short",Ji[Ji.ShortGMT=1]="ShortGMT",Ji[Ji.Long=2]="Long",Ji[Ji.Extended=3]="Extended",Ji))(),Dt=(()=>((Dt=Dt||{})[Dt.FullYear=0]="FullYear",Dt[Dt.Month=1]="Month",Dt[Dt.Date=2]="Date",Dt[Dt.Hours=3]="Hours",Dt[Dt.Minutes=4]="Minutes",Dt[Dt.Seconds=5]="Seconds",Dt[Dt.FractionalSeconds=6]="FractionalSeconds",Dt[Dt.Day=7]="Day",Dt))(),zt=(()=>((zt=zt||{})[zt.DayPeriods=0]="DayPeriods",zt[zt.Days=1]="Days",zt[zt.Months=2]="Months",zt[zt.Eras=3]="Eras",zt))();function vS(n,t,e,i){let o=function Z4(n){if(wS(n))return n;if("number"==typeof n&&!isNaN(n))return new Date(n);if("string"==typeof n){if(n=n.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(n)){const[o,s=1,a=1]=n.split("-").map(l=>+l);return Wm(o,s-1,a)}const e=parseFloat(n);if(!isNaN(n-e))return new Date(e);let i;if(i=n.match(H4))return function X4(n){const t=new Date(0);let e=0,i=0;const o=n[8]?t.setUTCFullYear:t.setFullYear,s=n[8]?t.setUTCHours:t.setHours;n[9]&&(e=Number(n[9]+n[10]),i=Number(n[9]+n[11])),o.call(t,Number(n[1]),Number(n[2])-1,Number(n[3]));const a=Number(n[4]||0)-e,l=Number(n[5]||0)-i,c=Number(n[6]||0),M=Math.floor(1e3*parseFloat("0."+(n[7]||0)));return s.call(t,a,l,c,M),t}(i)}const t=new Date(n);if(!wS(t))throw new Error(`Unable to convert "${n}" into a date`);return t}(n);t=ta(e,t)||t;let l,a=[];for(;t;){if(l=V4.exec(t),!l){a.push(t);break}{a=a.concat(l.slice(1));const P=a.pop();if(!P)break;t=P}}let c=o.getTimezoneOffset();i&&(c=MS(i,c),o=function K4(n,t,e){const i=e?-1:1,o=n.getTimezoneOffset();return function q4(n,t){return(n=new Date(n.getTime())).setMinutes(n.getMinutes()+t),n}(n,i*(MS(t,o)-o))}(o,i,!0));let M="";return a.forEach(P=>{const Y=function G4(n){if(My[n])return My[n];let t;switch(n){case"G":case"GG":case"GGG":t=qn(zt.Eras,Zt.Abbreviated);break;case"GGGG":t=qn(zt.Eras,Zt.Wide);break;case"GGGGG":t=qn(zt.Eras,Zt.Narrow);break;case"y":t=zi(Dt.FullYear,1,0,!1,!0);break;case"yy":t=zi(Dt.FullYear,2,0,!0,!0);break;case"yyy":t=zi(Dt.FullYear,3,0,!1,!0);break;case"yyyy":t=zi(Dt.FullYear,4,0,!1,!0);break;case"Y":t=Km(1);break;case"YY":t=Km(2,!0);break;case"YYY":t=Km(3);break;case"YYYY":t=Km(4);break;case"M":case"L":t=zi(Dt.Month,1,1);break;case"MM":case"LL":t=zi(Dt.Month,2,1);break;case"MMM":t=qn(zt.Months,Zt.Abbreviated);break;case"MMMM":t=qn(zt.Months,Zt.Wide);break;case"MMMMM":t=qn(zt.Months,Zt.Narrow);break;case"LLL":t=qn(zt.Months,Zt.Abbreviated,Pi.Standalone);break;case"LLLL":t=qn(zt.Months,Zt.Wide,Pi.Standalone);break;case"LLLLL":t=qn(zt.Months,Zt.Narrow,Pi.Standalone);break;case"w":t=yy(1);break;case"ww":t=yy(2);break;case"W":t=yy(1,!0);break;case"d":t=zi(Dt.Date,1);break;case"dd":t=zi(Dt.Date,2);break;case"c":case"cc":t=zi(Dt.Day,1);break;case"ccc":t=qn(zt.Days,Zt.Abbreviated,Pi.Standalone);break;case"cccc":t=qn(zt.Days,Zt.Wide,Pi.Standalone);break;case"ccccc":t=qn(zt.Days,Zt.Narrow,Pi.Standalone);break;case"cccccc":t=qn(zt.Days,Zt.Short,Pi.Standalone);break;case"E":case"EE":case"EEE":t=qn(zt.Days,Zt.Abbreviated);break;case"EEEE":t=qn(zt.Days,Zt.Wide);break;case"EEEEE":t=qn(zt.Days,Zt.Narrow);break;case"EEEEEE":t=qn(zt.Days,Zt.Short);break;case"a":case"aa":case"aaa":t=qn(zt.DayPeriods,Zt.Abbreviated);break;case"aaaa":t=qn(zt.DayPeriods,Zt.Wide);break;case"aaaaa":t=qn(zt.DayPeriods,Zt.Narrow);break;case"b":case"bb":case"bbb":t=qn(zt.DayPeriods,Zt.Abbreviated,Pi.Standalone,!0);break;case"bbbb":t=qn(zt.DayPeriods,Zt.Wide,Pi.Standalone,!0);break;case"bbbbb":t=qn(zt.DayPeriods,Zt.Narrow,Pi.Standalone,!0);break;case"B":case"BB":case"BBB":t=qn(zt.DayPeriods,Zt.Abbreviated,Pi.Format,!0);break;case"BBBB":t=qn(zt.DayPeriods,Zt.Wide,Pi.Format,!0);break;case"BBBBB":t=qn(zt.DayPeriods,Zt.Narrow,Pi.Format,!0);break;case"h":t=zi(Dt.Hours,1,-12);break;case"hh":t=zi(Dt.Hours,2,-12);break;case"H":t=zi(Dt.Hours,1);break;case"HH":t=zi(Dt.Hours,2);break;case"m":t=zi(Dt.Minutes,1);break;case"mm":t=zi(Dt.Minutes,2);break;case"s":t=zi(Dt.Seconds,1);break;case"ss":t=zi(Dt.Seconds,2);break;case"S":t=zi(Dt.FractionalSeconds,1);break;case"SS":t=zi(Dt.FractionalSeconds,2);break;case"SSS":t=zi(Dt.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":t=Gm(Ji.Short);break;case"ZZZZZ":t=Gm(Ji.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":t=Gm(Ji.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":t=Gm(Ji.Long);break;default:return null}return My[n]=t,t}(P);M+=Y?Y(o,e,c):"''"===P?"'":P.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),M}function Wm(n,t,e){const i=new Date(0);return i.setFullYear(n,t,e),i.setHours(0,0,0),i}function ta(n,t){const e=function T4(n){return jr(n)[at.LocaleId]}(n);if(jh[e]=jh[e]||{},jh[e][t])return jh[e][t];let i="";switch(t){case"shortDate":i=jm(n,_i.Short);break;case"mediumDate":i=jm(n,_i.Medium);break;case"longDate":i=jm(n,_i.Long);break;case"fullDate":i=jm(n,_i.Full);break;case"shortTime":i=zm(n,_i.Short);break;case"mediumTime":i=zm(n,_i.Medium);break;case"longTime":i=zm(n,_i.Long);break;case"fullTime":i=zm(n,_i.Full);break;case"short":const o=ta(n,"shortTime"),s=ta(n,"shortDate");i=$m(Um(n,_i.Short),[o,s]);break;case"medium":const a=ta(n,"mediumTime"),l=ta(n,"mediumDate");i=$m(Um(n,_i.Medium),[a,l]);break;case"long":const c=ta(n,"longTime"),M=ta(n,"longDate");i=$m(Um(n,_i.Long),[c,M]);break;case"full":const P=ta(n,"fullTime"),Y=ta(n,"fullDate");i=$m(Um(n,_i.Full),[P,Y])}return i&&(jh[e][t]=i),i}function $m(n,t){return t&&(n=n.replace(/\{([^}]+)}/g,function(e,i){return null!=t&&i in t?t[i]:e})),n}function ts(n,t,e="-",i,o){let s="";(n<0||o&&n<=0)&&(o?n=1-n:(n=-n,s=e));let a=String(n);for(;a.length0||l>-e)&&(l+=e),n===Dt.Hours)0===l&&-12===e&&(l=12);else if(n===Dt.FractionalSeconds)return function j4(n,t){return ts(n,3).substring(0,t)}(l,t);const c=Oo(a,xt.MinusSign);return ts(l,t,c,i,o)}}function qn(n,t,e=Pi.Format,i=!1){return function(o,s){return function U4(n,t,e,i,o,s){switch(e){case zt.Months:return function I4(n,t,e){const i=jr(n),s=Ao([i[at.MonthsFormat],i[at.MonthsStandalone]],t);return Ao(s,e)}(t,o,i)[n.getMonth()];case zt.Days:return function E4(n,t,e){const i=jr(n),s=Ao([i[at.DaysFormat],i[at.DaysStandalone]],t);return Ao(s,e)}(t,o,i)[n.getDay()];case zt.DayPeriods:const a=n.getHours(),l=n.getMinutes();if(s){const M=function F4(n){const t=jr(n);return bS(t),(t[at.ExtraData][2]||[]).map(i=>"string"==typeof i?vy(i):[vy(i[0]),vy(i[1])])}(t),P=function R4(n,t,e){const i=jr(n);bS(i);const s=Ao([i[at.ExtraData][0],i[at.ExtraData][1]],t)||[];return Ao(s,e)||[]}(t,o,i),Y=M.findIndex(q=>{if(Array.isArray(q)){const[te,fe]=q,ke=a>=te.hours&&l>=te.minutes,Ie=a0?Math.floor(o/60):Math.ceil(o/60);switch(n){case Ji.Short:return(o>=0?"+":"")+ts(a,2,s)+ts(Math.abs(o%60),2,s);case Ji.ShortGMT:return"GMT"+(o>=0?"+":"")+ts(a,1,s);case Ji.Long:return"GMT"+(o>=0?"+":"")+ts(a,2,s)+":"+ts(Math.abs(o%60),2,s);case Ji.Extended:return 0===i?"Z":(o>=0?"+":"")+ts(a,2,s)+":"+ts(Math.abs(o%60),2,s);default:throw new Error(`Unknown zone width "${n}"`)}}}function yS(n){return Wm(n.getFullYear(),n.getMonth(),n.getDate()+(4-n.getDay()))}function yy(n,t=!1){return function(e,i){let o;if(t){const s=new Date(e.getFullYear(),e.getMonth(),1).getDay()-1,a=e.getDate();o=1+Math.floor((a+s)/7)}else{const s=yS(e),a=function $4(n){const t=Wm(n,0,1).getDay();return Wm(n,0,1+(t<=4?4:11)-t)}(s.getFullYear()),l=s.getTime()-a.getTime();o=1+Math.round(l/6048e5)}return ts(o,n,Oo(i,xt.MinusSign))}}function Km(n,t=!1){return function(e,i){return ts(yS(e).getFullYear(),n,Oo(i,xt.MinusSign),t)}}const My={};function MS(n,t){n=n.replace(/:/g,"");const e=Date.parse("Jan 01, 1970 00:00:00 "+n)/6e4;return isNaN(e)?t:e}function wS(n){return n instanceof Date&&!isNaN(n.valueOf())}function SS(n,t){t=encodeURIComponent(t);for(const e of n.split(";")){const i=e.indexOf("="),[o,s]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(o.trim()===t)return decodeURIComponent(s)}return null}let On=(()=>{class n{constructor(e,i,o,s){this._iterableDiffers=e,this._keyValueDiffers=i,this._ngEl=o,this._renderer=s,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(e){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof e?e.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(e){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof e?e.split(/\s+/):e,this._rawClass&&(Dh(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const e=this._iterableDiffer.diff(this._rawClass);e&&this._applyIterableChanges(e)}else if(this._keyValueDiffer){const e=this._keyValueDiffer.diff(this._rawClass);e&&this._applyKeyValueChanges(e)}}_applyKeyValueChanges(e){e.forEachAddedItem(i=>this._toggleClass(i.key,i.currentValue)),e.forEachChangedItem(i=>this._toggleClass(i.key,i.currentValue)),e.forEachRemovedItem(i=>{i.previousValue&&this._toggleClass(i.key,!1)})}_applyIterableChanges(e){e.forEachAddedItem(i=>{if("string"!=typeof i.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${Pn(i.item)}`);this._toggleClass(i.item,!0)}),e.forEachRemovedItem(i=>this._toggleClass(i.item,!1))}_applyClasses(e){e&&(Array.isArray(e)||e instanceof Set?e.forEach(i=>this._toggleClass(i,!0)):Object.keys(e).forEach(i=>this._toggleClass(i,!!e[i])))}_removeClasses(e){e&&(Array.isArray(e)||e instanceof Set?e.forEach(i=>this._toggleClass(i,!1)):Object.keys(e).forEach(i=>this._toggleClass(i,!1)))}_toggleClass(e,i){(e=e.trim())&&e.split(/\s+/g).forEach(o=>{i?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}}return n.\u0275fac=function(e){return new(e||n)(F(Bh),F(Hh),F(bt),F(qs))},n.\u0275dir=Ke({type:n,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),n})();class u5{constructor(t,e,i,o){this.$implicit=t,this.ngForOf=e,this.index=i,this.count=o}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 Ci=(()=>{class n{constructor(e,i,o){this._viewContainer=e,this._template=i,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){const e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){const i=this._viewContainer;e.forEachOperation((o,s,a)=>{if(null==o.previousIndex)i.createEmbeddedView(this._template,new u5(o.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)i.remove(null===s?void 0:s);else if(null!==s){const l=i.get(s);i.move(l,a),LS(l,o)}});for(let o=0,s=i.length;o{LS(i.get(o.currentIndex),o)})}static ngTemplateContextGuard(e,i){return!0}}return n.\u0275fac=function(e){return new(e||n)(F(Xi),F(lr),F(Bh))},n.\u0275dir=Ke({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),n})();function LS(n,t){n.context.$implicit=t.item}let Ot=(()=>{class n{constructor(e,i){this._viewContainer=e,this._context=new f5,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){ES("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){ES("ngIfElse",e),this._elseTemplateRef=e,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(e,i){return!0}}return n.\u0275fac=function(e){return new(e||n)(F(Xi),F(lr))},n.\u0275dir=Ke({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),n})();class f5{constructor(){this.$implicit=null,this.ngIf=null}}function ES(n,t){if(t&&!t.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${Pn(t)}'.`)}class Dy{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let Uh=(()=>{class n{constructor(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(e){this._ngSwitch=e,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(e){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(e)}_matchCase(e){const i=e==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(e){if(this._defaultViews&&e!==this._defaultUsed){this._defaultUsed=e;for(let i=0;i{class n{constructor(e,i,o){this.ngSwitch=o,o._addCase(),this._view=new Dy(e,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return n.\u0275fac=function(e){return new(e||n)(F(Xi),F(lr),F(Uh,9))},n.\u0275dir=Ke({type:n,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0}),n})(),IS=(()=>{class n{constructor(e,i,o){o._addDefault(new Dy(e,i))}}return n.\u0275fac=function(e){return new(e||n)(F(Xi),F(lr),F(Uh,9))},n.\u0275dir=Ke({type:n,selectors:[["","ngSwitchDefault",""]],standalone:!0}),n})(),Ad=(()=>{class n{constructor(e){this._viewContainerRef=e,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(e){if(e.ngTemplateOutlet||e.ngTemplateOutletInjector){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:o,ngTemplateOutletContext:s,ngTemplateOutletInjector:a}=this;this._viewRef=i.createEmbeddedView(o,s,a?{injector:a}:void 0)}else this._viewRef=null}else this._viewRef&&e.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return n.\u0275fac=function(e){return new(e||n)(F(Xi))},n.\u0275dir=Ke({type:n,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[Gi]}),n})();const S5=new Be("DATE_PIPE_DEFAULT_TIMEZONE"),D5=new Be("DATE_PIPE_DEFAULT_OPTIONS");let OS=(()=>{class n{constructor(e,i,o){this.locale=e,this.defaultTimezone=i,this.defaultOptions=o}transform(e,i,o,s){if(null==e||""===e||e!=e)return null;try{return vS(e,i??this.defaultOptions?.dateFormat??"mediumDate",s||this.locale,o??this.defaultOptions?.timezone??this.defaultTimezone??void 0)}catch(a){throw function ns(n,t){return new Fe(2100,!1)}()}}}return n.\u0275fac=function(e){return new(e||n)(F(ws,16),F(S5,24),F(D5,24))},n.\u0275pipe=Qn({name:"date",type:n,pure:!0,standalone:!0}),n})(),na=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({}),n})();const FS="browser";let j5=(()=>{class n{}return n.\u0275prov=Ye({token:n,providedIn:"root",factory:()=>new z5(we(St),window)}),n})();class z5{constructor(t,e){this.document=t,this.window=e,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const e=function U5(n,t){const e=n.getElementById(t)||n.getElementsByName(t)[0];if(e)return e;if("function"==typeof n.createTreeWalker&&n.body&&(n.body.createShadowRoot||n.body.attachShadow)){const i=n.createTreeWalker(n.body,NodeFilter.SHOW_ELEMENT);let o=i.currentNode;for(;o;){const s=o.shadowRoot;if(s){const a=s.getElementById(t)||s.querySelector(`[name="${t}"]`);if(a)return a}o=i.nextNode()}}return null}(this.document,t);e&&(this.scrollToElement(e),e.focus())}setHistoryScrollRestoration(t){if(this.supportScrollRestoration()){const e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=t)}}scrollToElement(t){const e=t.getBoundingClientRect(),i=e.left+this.window.pageXOffset,o=e.top+this.window.pageYOffset,s=this.offset();this.window.scrollTo(i-s[0],o-s[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const t=RS(this.window.history)||RS(Object.getPrototypeOf(this.window.history));return!(!t||!t.writable&&!t.set)}catch{return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}function RS(n){return Object.getOwnPropertyDescriptor(n,"scrollRestoration")}class NS{}class gY extends y4{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Oy extends gY{static makeCurrent(){!function v4(n){my||(my=n)}(new Oy)}onAndCancel(t,e,i){return t.addEventListener(e,i,!1),()=>{t.removeEventListener(e,i,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=function bY(){return $h=$h||document.querySelector("base"),$h?$h.getAttribute("href"):null}();return null==e?null:function vY(n){Qm=Qm||document.createElement("a"),Qm.setAttribute("href",n);const t=Qm.pathname;return"/"===t.charAt(0)?t:`/${t}`}(e)}resetBaseElement(){$h=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return SS(document.cookie,t)}}let Qm,$h=null;const zS=new Be("TRANSITION_ID"),MY=[{provide:Fm,useFactory:function yY(n,t,e){return()=>{e.get(Rm).donePromise.then(()=>{const i=xs(),o=t.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();const Jm=new Be("EventManagerPlugins");let e_=(()=>{class n{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(o=>o.manager=this),this._plugins=e.slice().reverse()}addEventListener(e,i,o){return this._findPluginFor(i).addEventListener(e,i,o)}addGlobalEventListener(e,i,o){return this._findPluginFor(i).addGlobalEventListener(e,i,o)}getZone(){return this._zone}_findPluginFor(e){const i=this._eventNameToPlugin.get(e);if(i)return i;const o=this._plugins;for(let s=0;s{class n{constructor(){this._stylesSet=new Set}addStyles(e){const i=new Set;e.forEach(o=>{this._stylesSet.has(o)||(this._stylesSet.add(o),i.add(o))}),this.onStylesAdded(i)}onStylesAdded(e){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})(),Gh=(()=>{class n extends WS{constructor(e){super(),this._doc=e,this._hostNodes=new Map,this._hostNodes.set(e.head,[])}_addStylesToHost(e,i,o){e.forEach(s=>{const a=this._doc.createElement("style");a.textContent=s,o.push(i.appendChild(a))})}addHost(e){const i=[];this._addStylesToHost(this._stylesSet,e,i),this._hostNodes.set(e,i)}removeHost(e){const i=this._hostNodes.get(e);i&&i.forEach($S),this._hostNodes.delete(e)}onStylesAdded(e){this._hostNodes.forEach((i,o)=>{this._addStylesToHost(e,o,i)})}ngOnDestroy(){this._hostNodes.forEach(e=>e.forEach($S))}}return n.\u0275fac=function(e){return new(e||n)(we(St))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();function $S(n){xs().remove(n)}const Ay={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/",math:"http://www.w3.org/1998/MathML/"},Fy=/%COMP%/g;function Ry(n,t){return t.flat(100).map(e=>e.replace(Fy,n))}function KS(n){return t=>{if("__ngUnwrap__"===t)return n;!1===n(t)&&(t.preventDefault(),t.returnValue=!1)}}let t_=(()=>{class n{constructor(e,i,o){this.eventManager=e,this.sharedStylesHost=i,this.appId=o,this.rendererByCompId=new Map,this.defaultRenderer=new Ny(e)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;switch(i.encapsulation){case Rr.Emulated:{let o=this.rendererByCompId.get(i.id);return o||(o=new LY(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,o)),o.applyToHost(e),o}case 1:case Rr.ShadowDom:return new EY(this.eventManager,this.sharedStylesHost,e,i);default:if(!this.rendererByCompId.has(i.id)){const o=Ry(i.id,i.styles);this.sharedStylesHost.addStyles(o),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(e){return new(e||n)(we(e_),we(Gh),we(Id))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();class Ny{constructor(t){this.eventManager=t,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,e){return e?document.createElementNS(Ay[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){(XS(t)?t.content:t).appendChild(e)}insertBefore(t,e,i){t&&(XS(t)?t.content:t).insertBefore(e,i)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let i="string"==typeof t?document.querySelector(t):t;if(!i)throw new Error(`The selector "${t}" did not match any elements`);return e||(i.textContent=""),i}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,i,o){if(o){e=o+":"+e;const s=Ay[o];s?t.setAttributeNS(s,e,i):t.setAttribute(e,i)}else t.setAttribute(e,i)}removeAttribute(t,e,i){if(i){const o=Ay[i];o?t.removeAttributeNS(o,e):t.removeAttribute(`${i}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,i,o){o&(Zr.DashCase|Zr.Important)?t.style.setProperty(e,i,o&Zr.Important?"important":""):t.style[e]=i}removeStyle(t,e,i){i&Zr.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,i){t[e]=i}setValue(t,e){t.nodeValue=e}listen(t,e,i){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,KS(i)):this.eventManager.addEventListener(t,e,KS(i))}}function XS(n){return"TEMPLATE"===n.tagName&&void 0!==n.content}class LY extends Ny{constructor(t,e,i,o){super(t),this.component=i;const s=Ry(o+"-"+i.id,i.styles);e.addStyles(s),this.contentAttr=function SY(n){return"_ngcontent-%COMP%".replace(Fy,n)}(o+"-"+i.id),this.hostAttr=function DY(n){return"_nghost-%COMP%".replace(Fy,n)}(o+"-"+i.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const i=super.createElement(t,e);return super.setAttribute(i,this.contentAttr,""),i}}class EY extends Ny{constructor(t,e,i,o){super(t),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=Ry(o.id,o.styles);for(let a=0;a{class n extends US{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,o){return e.addEventListener(i,o,!1),()=>this.removeEventListener(e,i,o)}removeEventListener(e,i,o){return e.removeEventListener(i,o)}}return n.\u0275fac=function(e){return new(e||n)(we(St))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();const QS=["alt","control","meta","shift"],PY={"\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"},OY={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let AY=(()=>{class n extends US{constructor(e){super(e)}supports(e){return null!=n.parseEventName(e)}addEventListener(e,i,o){const s=n.parseEventName(i),a=n.eventCallback(s.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>xs().onAndCancel(e,s.domEventName,a))}static parseEventName(e){const i=e.toLowerCase().split("."),o=i.shift();if(0===i.length||"keydown"!==o&&"keyup"!==o)return null;const s=n._normalizeKey(i.pop());let a="",l=i.indexOf("code");if(l>-1&&(i.splice(l,1),a="code."),QS.forEach(M=>{const P=i.indexOf(M);P>-1&&(i.splice(P,1),a+=M+".")}),a+=s,0!=i.length||0===s.length)return null;const c={};return c.domEventName=o,c.fullKey=a,c}static matchEventFullKeyCode(e,i){let o=PY[e.key]||e.key,s="";return i.indexOf("code.")>-1&&(o=e.code,s="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),QS.forEach(a=>{a!==o&&(0,OY[a])(e)&&(s+=a+".")}),s+=o,s===i)}static eventCallback(e,i,o){return s=>{n.matchEventFullKeyCode(s,e)&&o.runGuarded(()=>i(s))}}static _normalizeKey(e){return"esc"===e?"escape":e}}return n.\u0275fac=function(e){return new(e||n)(we(St))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();const eD=[{provide:Nm,useValue:FS},{provide:Nk,useValue:function FY(){Oy.makeCurrent()},multi:!0},{provide:St,useFactory:function NY(){return function MO(n){Gb=n}(document),document},deps:[]}],YY=qk(_4,"browser",eD),tD=new Be(""),nD=[{provide:Ym,useClass:class wY{addToWindow(t){dn.getAngularTestability=(i,o=!0)=>{const s=t.findTestabilityInTree(i,o);if(null==s)throw new Error("Could not find testability for element.");return s},dn.getAllAngularTestabilities=()=>t.getAllTestabilities(),dn.getAllAngularRootElements=()=>t.getAllRootElements(),dn.frameworkStabilizers||(dn.frameworkStabilizers=[]),dn.frameworkStabilizers.push(i=>{const o=dn.getAllAngularTestabilities();let s=o.length,a=!1;const l=function(c){a=a||c,s--,0==s&&i(a)};o.forEach(function(c){c.whenStable(l)})})}findTestabilityInTree(t,e,i){return null==e?null:t.getTestability(e)??(i?xs().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null)}},deps:[]},{provide:Uk,useClass:sy,deps:[pt,ay,Ym]},{provide:sy,useClass:sy,deps:[pt,ay,Ym]}],iD=[{provide:tv,useValue:"root"},{provide:Ks,useFactory:function RY(){return new Ks},deps:[]},{provide:Jm,useClass:IY,multi:!0,deps:[St,pt,Nm]},{provide:Jm,useClass:AY,multi:!0,deps:[St]},{provide:t_,useClass:t_,deps:[e_,Gh,Id]},{provide:xh,useExisting:t_},{provide:WS,useExisting:Gh},{provide:Gh,useClass:Gh,deps:[St]},{provide:e_,useClass:e_,deps:[Jm,pt]},{provide:NS,useClass:xY,deps:[]},[]];let rD=(()=>{class n{constructor(e){}static withServerTransition(e){return{ngModule:n,providers:[{provide:Id,useValue:e.appId},{provide:zS,useExisting:Id},MY]}}}return n.\u0275fac=function(e){return new(e||n)(we(tD,12))},n.\u0275mod=Et({type:n}),n.\u0275inj=At({providers:[...iD,...nD],imports:[na,g4]}),n})(),oD=(()=>{class n{constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}}return n.\u0275fac=function(e){return new(e||n)(we(St))},n.\u0275prov=Ye({token:n,factory:function(e){let i=null;return i=e?new e:function HY(){return new oD(we(St))}(),i},providedIn:"root"}),n})();typeof window<"u"&&window;let Hy=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:function(e){let i=null;return i=e?new(e||n):we(lD),i},providedIn:"root"}),n})(),lD=(()=>{class n extends Hy{constructor(e){super(),this._doc=e}sanitize(e,i){if(null==i)return null;switch(e){case wn.NONE:return i;case wn.HTML:return ms(i,"HTML")?uo(i):Dw(this._doc,String(i)).toString();case wn.STYLE:return ms(i,"Style")?uo(i):i;case wn.SCRIPT:if(ms(i,"Script"))return uo(i);throw new Error("unsafe value used in a script context");case wn.URL:return ms(i,"URL")?uo(i):um(String(i));case wn.RESOURCE_URL:if(ms(i,"ResourceURL"))return uo(i);throw new Error(`unsafe value used in a resource URL context (see ${So})`);default:throw new Error(`Unexpected SecurityContext ${e} (see ${So})`)}}bypassSecurityTrustHtml(e){return function TO(n){return new wO(n)}(e)}bypassSecurityTrustStyle(e){return function LO(n){return new xO(n)}(e)}bypassSecurityTrustScript(e){return function EO(n){return new CO(n)}(e)}bypassSecurityTrustUrl(e){return function IO(n){return new kO(n)}(e)}bypassSecurityTrustResourceUrl(e){return function PO(n){return new SO(n)}(e)}}return n.\u0275fac=function(e){return new(e||n)(we(St))},n.\u0275prov=Ye({token:n,factory:function(e){let i=null;return i=e?new e:function GY(n){return new lD(n.get(St))}(we(mi)),i},providedIn:"root"}),n})();class cD{}class qY{}const ia="*";function ra(n,t){return{type:7,name:n,definitions:t,options:{}}}function Ur(n,t=null){return{type:4,styles:t,timings:n}}function uD(n,t=null){return{type:2,steps:n,options:t}}function Kn(n){return{type:6,styles:n,offset:null}}function mo(n,t,e){return{type:0,name:n,styles:t,options:e}}function Lr(n,t,e=null){return{type:1,expr:n,animation:t,options:e}}function Vy(n=null){return{type:9,options:n}}function jy(n,t,e=null){return{type:11,selector:n,animation:t,options:e}}function hD(n){Promise.resolve().then(n)}class qh{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._originalOnStartFns.push(t),this._onStartFns.push(t)}onDone(t){this._originalOnDoneFns.push(t),this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){hD(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class fD{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,i=0,o=0;const s=this.players.length;0==s?hD(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++e==s&&this._onFinish()}),a.onDestroy(()=>{++i==s&&this._onDestroy()}),a.onStart(()=>{++o==s&&this._onStart()})}),this.totalTime=this.players.reduce((a,l)=>Math.max(a,l.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(i=>{const o=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(o)})}getPosition(){const t=this.players.reduce((e,i)=>null===e||i.totalTime>e.totalTime?i:e,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}function pD(n){return new Fe(3e3,!1)}function LB(){return typeof window<"u"&&typeof window.document<"u"}function Uy(){return typeof process<"u"&&"[object process]"==={}.toString.call(process)}function za(n){switch(n.length){case 0:return new qh;case 1:return n[0];default:return new fD(n)}}function mD(n,t,e,i,o=new Map,s=new Map){const a=[],l=[];let c=-1,M=null;if(i.forEach(P=>{const Y=P.get("offset"),q=Y==c,te=q&&M||new Map;P.forEach((fe,ke)=>{let Ie=ke,Re=fe;if("offset"!==ke)switch(Ie=t.normalizePropertyName(Ie,a),Re){case"!":Re=o.get(ke);break;case ia:Re=s.get(ke);break;default:Re=t.normalizeStyleValue(ke,Ie,Re,a)}te.set(Ie,Re)}),q||l.push(te),M=te,c=Y}),a.length)throw function gB(n){return new Fe(3502,!1)}();return l}function Wy(n,t,e,i){switch(t){case"start":n.onStart(()=>i(e&&$y(e,"start",n)));break;case"done":n.onDone(()=>i(e&&$y(e,"done",n)));break;case"destroy":n.onDestroy(()=>i(e&&$y(e,"destroy",n)))}}function $y(n,t,e){const s=Gy(n.element,n.triggerName,n.fromState,n.toState,t||n.phaseName,e.totalTime??n.totalTime,!!e.disabled),a=n._data;return null!=a&&(s._data=a),s}function Gy(n,t,e,i,o="",s=0,a){return{element:n,triggerName:t,fromState:e,toState:i,phaseName:o,totalTime:s,disabled:!!a}}function _o(n,t,e){let i=n.get(t);return i||n.set(t,i=e),i}function _D(n){const t=n.indexOf(":");return[n.substring(1,t),n.slice(t+1)]}let qy=(n,t)=>!1,gD=(n,t,e)=>[],bD=null;function Ky(n){const t=n.parentNode||n.host;return t===bD?null:t}(Uy()||typeof Element<"u")&&(LB()?(bD=(()=>document.documentElement)(),qy=(n,t)=>{for(;t;){if(t===n)return!0;t=Ky(t)}return!1}):qy=(n,t)=>n.contains(t),gD=(n,t,e)=>{if(e)return Array.from(n.querySelectorAll(t));const i=n.querySelector(t);return i?[i]:[]});let zl=null,vD=!1;const yD=qy,MD=gD;let wD=(()=>{class n{validateStyleProperty(e){return function IB(n){zl||(zl=function PB(){return typeof document<"u"?document.body:null}()||{},vD=!!zl.style&&"WebkitAppearance"in zl.style);let t=!0;return zl.style&&!function EB(n){return"ebkit"==n.substring(1,6)}(n)&&(t=n in zl.style,!t&&vD&&(t="Webkit"+n.charAt(0).toUpperCase()+n.slice(1)in zl.style)),t}(e)}matchesElement(e,i){return!1}containsElement(e,i){return yD(e,i)}getParentElement(e){return Ky(e)}query(e,i,o){return MD(e,i,o)}computeStyle(e,i,o){return o||""}animate(e,i,o,s,a,l=[],c){return new qh(o,s)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})(),Zy=(()=>{class n{}return n.NOOP=new wD,n})();const Xy="ng-enter",n_="ng-leave",i_="ng-trigger",r_=".ng-trigger",CD="ng-animating",Qy=".ng-animating";function oa(n){if("number"==typeof n)return n;const t=n.match(/^(-?[\.\d]+)(m?s)/);return!t||t.length<2?0:Jy(parseFloat(t[1]),t[2])}function Jy(n,t){return"s"===t?1e3*n:n}function o_(n,t,e){return n.hasOwnProperty("duration")?n:function FB(n,t,e){let o,s=0,a="";if("string"==typeof n){const l=n.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===l)return t.push(pD()),{duration:0,delay:0,easing:""};o=Jy(parseFloat(l[1]),l[2]);const c=l[3];null!=c&&(s=Jy(parseFloat(c),l[4]));const M=l[5];M&&(a=M)}else o=n;if(!e){let l=!1,c=t.length;o<0&&(t.push(function KY(){return new Fe(3100,!1)}()),l=!0),s<0&&(t.push(function ZY(){return new Fe(3101,!1)}()),l=!0),l&&t.splice(c,0,pD())}return{duration:o,delay:s,easing:a}}(n,t,e)}function Kh(n,t={}){return Object.keys(n).forEach(e=>{t[e]=n[e]}),t}function kD(n){const t=new Map;return Object.keys(n).forEach(e=>{t.set(e,n[e])}),t}function Ua(n,t=new Map,e){if(e)for(let[i,o]of e)t.set(i,o);for(let[i,o]of n)t.set(i,o);return t}function DD(n,t,e){return e?t+":"+e+";":""}function TD(n){let t="";for(let e=0;e{const s=t0(o);e&&!e.has(o)&&e.set(o,n.style[s]),n.style[s]=i}),Uy()&&TD(n))}function Ul(n,t){n.style&&(t.forEach((e,i)=>{const o=t0(i);n.style[o]=""}),Uy()&&TD(n))}function Zh(n){return Array.isArray(n)?1==n.length?n[0]:uD(n):n}const e0=new RegExp("{{\\s*(.+?)\\s*}}","g");function LD(n){let t=[];if("string"==typeof n){let e;for(;e=e0.exec(n);)t.push(e[1]);e0.lastIndex=0}return t}function Xh(n,t,e){const i=n.toString(),o=i.replace(e0,(s,a)=>{let l=t[a];return null==l&&(e.push(function QY(n){return new Fe(3003,!1)}()),l=""),l.toString()});return o==i?n:o}function s_(n){const t=[];let e=n.next();for(;!e.done;)t.push(e.value),e=n.next();return t}const YB=/-+([a-z0-9])/g;function t0(n){return n.replace(YB,(...t)=>t[1].toUpperCase())}function BB(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function go(n,t,e){switch(t.type){case 7:return n.visitTrigger(t,e);case 0:return n.visitState(t,e);case 1:return n.visitTransition(t,e);case 2:return n.visitSequence(t,e);case 3:return n.visitGroup(t,e);case 4:return n.visitAnimate(t,e);case 5:return n.visitKeyframes(t,e);case 6:return n.visitStyle(t,e);case 8:return n.visitReference(t,e);case 9:return n.visitAnimateChild(t,e);case 10:return n.visitAnimateRef(t,e);case 11:return n.visitQuery(t,e);case 12:return n.visitStagger(t,e);default:throw function JY(n){return new Fe(3004,!1)}()}}function ED(n,t){return window.getComputedStyle(n)[t]}function WB(n,t){const e=[];return"string"==typeof n?n.split(/\s*,\s*/).forEach(i=>function $B(n,t,e){if(":"==n[0]){const c=function GB(n,t){switch(n){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,i)=>parseFloat(i)>parseFloat(e);case":decrement":return(e,i)=>parseFloat(i) *"}}(n,e);if("function"==typeof c)return void t.push(c);n=c}const i=n.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return e.push(function hB(n){return new Fe(3015,!1)}()),t;const o=i[1],s=i[2],a=i[3];t.push(ID(o,a));"<"==s[0]&&!("*"==o&&"*"==a)&&t.push(ID(a,o))}(i,e,t)):e.push(n),e}const d_=new Set(["true","1"]),u_=new Set(["false","0"]);function ID(n,t){const e=d_.has(n)||u_.has(n),i=d_.has(t)||u_.has(t);return(o,s)=>{let a="*"==n||n==o,l="*"==t||t==s;return!a&&e&&"boolean"==typeof o&&(a=o?d_.has(n):u_.has(n)),!l&&i&&"boolean"==typeof s&&(l=s?d_.has(t):u_.has(t)),a&&l}}const qB=new RegExp("s*:selfs*,?","g");function n0(n,t,e,i){return new KB(n).build(t,e,i)}class KB{constructor(t){this._driver=t}build(t,e,i){const o=new QB(e);return this._resetContextStyleTimingState(o),go(this,Zh(t),o)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles=new Map,t.collectedStyles.set("",new Map),t.currentTime=0}visitTrigger(t,e){let i=e.queryCount=0,o=e.depCount=0;const s=[],a=[];return"@"==t.name.charAt(0)&&e.errors.push(function tB(){return new Fe(3006,!1)}()),t.definitions.forEach(l=>{if(this._resetContextStyleTimingState(e),0==l.type){const c=l,M=c.name;M.toString().split(/\s*,\s*/).forEach(P=>{c.name=P,s.push(this.visitState(c,e))}),c.name=M}else if(1==l.type){const c=this.visitTransition(l,e);i+=c.queryCount,o+=c.depCount,a.push(c)}else e.errors.push(function nB(){return new Fe(3007,!1)}())}),{type:7,name:t.name,states:s,transitions:a,queryCount:i,depCount:o,options:null}}visitState(t,e){const i=this.visitStyle(t.styles,e),o=t.options&&t.options.params||null;if(i.containsDynamicStyles){const s=new Set,a=o||{};i.styles.forEach(l=>{l instanceof Map&&l.forEach(c=>{LD(c).forEach(M=>{a.hasOwnProperty(M)||s.add(M)})})}),s.size&&(s_(s.values()),e.errors.push(function iB(n,t){return new Fe(3008,!1)}()))}return{type:0,name:t.name,style:i,options:o?{params:o}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const i=go(this,Zh(t.animation),e);return{type:1,matchers:WB(t.expr,e.errors),animation:i,queryCount:e.queryCount,depCount:e.depCount,options:Wl(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(i=>go(this,i,e)),options:Wl(t.options)}}visitGroup(t,e){const i=e.currentTime;let o=0;const s=t.steps.map(a=>{e.currentTime=i;const l=go(this,a,e);return o=Math.max(o,e.currentTime),l});return e.currentTime=o,{type:3,steps:s,options:Wl(t.options)}}visitAnimate(t,e){const i=function eH(n,t){if(n.hasOwnProperty("duration"))return n;if("number"==typeof n)return r0(o_(n,t).duration,0,"");const e=n;if(e.split(/\s+/).some(s=>"{"==s.charAt(0)&&"{"==s.charAt(1))){const s=r0(0,0,"");return s.dynamic=!0,s.strValue=e,s}const o=o_(e,t);return r0(o.duration,o.delay,o.easing)}(t.timings,e.errors);e.currentAnimateTimings=i;let o,s=t.styles?t.styles:Kn({});if(5==s.type)o=this.visitKeyframes(s,e);else{let a=t.styles,l=!1;if(!a){l=!0;const M={};i.easing&&(M.easing=i.easing),a=Kn(M)}e.currentTime+=i.duration+i.delay;const c=this.visitStyle(a,e);c.isEmptyStep=l,o=c}return e.currentAnimateTimings=null,{type:4,timings:i,style:o,options:null}}visitStyle(t,e){const i=this._makeStyleAst(t,e);return this._validateStyleAst(i,e),i}_makeStyleAst(t,e){const i=[],o=Array.isArray(t.styles)?t.styles:[t.styles];for(let l of o)"string"==typeof l?l===ia?i.push(l):e.errors.push(new Fe(3002,!1)):i.push(kD(l));let s=!1,a=null;return i.forEach(l=>{if(l instanceof Map&&(l.has("easing")&&(a=l.get("easing"),l.delete("easing")),!s))for(let c of l.values())if(c.toString().indexOf("{{")>=0){s=!0;break}}),{type:6,styles:i,easing:a,offset:t.offset,containsDynamicStyles:s,options:null}}_validateStyleAst(t,e){const i=e.currentAnimateTimings;let o=e.currentTime,s=e.currentTime;i&&s>0&&(s-=i.duration+i.delay),t.styles.forEach(a=>{"string"!=typeof a&&a.forEach((l,c)=>{const M=e.collectedStyles.get(e.currentQuerySelector),P=M.get(c);let Y=!0;P&&(s!=o&&s>=P.startTime&&o<=P.endTime&&(e.errors.push(function oB(n,t,e,i,o){return new Fe(3010,!1)}()),Y=!1),s=P.startTime),Y&&M.set(c,{startTime:s,endTime:o}),e.options&&function NB(n,t,e){const i=t.params||{},o=LD(n);o.length&&o.forEach(s=>{i.hasOwnProperty(s)||e.push(function XY(n){return new Fe(3001,!1)}())})}(l,e.options,e.errors)})})}visitKeyframes(t,e){const i={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(function sB(){return new Fe(3011,!1)}()),i;let s=0;const a=[];let l=!1,c=!1,M=0;const P=t.steps.map(Re=>{const Xe=this._makeStyleAst(Re,e);let Ae=null!=Xe.offset?Xe.offset:function JB(n){if("string"==typeof n)return null;let t=null;if(Array.isArray(n))n.forEach(e=>{if(e instanceof Map&&e.has("offset")){const i=e;t=parseFloat(i.get("offset")),i.delete("offset")}});else if(n instanceof Map&&n.has("offset")){const e=n;t=parseFloat(e.get("offset")),e.delete("offset")}return t}(Xe.styles),ct=0;return null!=Ae&&(s++,ct=Xe.offset=Ae),c=c||ct<0||ct>1,l=l||ct0&&s{const Ae=q>0?Xe==te?1:q*Xe:a[Xe],ct=Ae*Ie;e.currentTime=fe+ke.delay+ct,ke.duration=ct,this._validateStyleAst(Re,e),Re.offset=Ae,i.styles.push(Re)}),i}visitReference(t,e){return{type:8,animation:go(this,Zh(t.animation),e),options:Wl(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:Wl(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:Wl(t.options)}}visitQuery(t,e){const i=e.currentQuerySelector,o=t.options||{};e.queryCount++,e.currentQuery=t;const[s,a]=function ZB(n){const t=!!n.split(/\s*,\s*/).find(e=>":self"==e);return t&&(n=n.replace(qB,"")),n=n.replace(/@\*/g,r_).replace(/@\w+/g,e=>r_+"-"+e.slice(1)).replace(/:animating/g,Qy),[n,t]}(t.selector);e.currentQuerySelector=i.length?i+" "+s:s,_o(e.collectedStyles,e.currentQuerySelector,new Map);const l=go(this,Zh(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:11,selector:s,limit:o.limit||0,optional:!!o.optional,includeSelf:a,animation:l,originalSelector:t.selector,options:Wl(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push(function dB(){return new Fe(3013,!1)}());const i="full"===t.timings?{duration:0,delay:0,easing:"full"}:o_(t.timings,e.errors,!0);return{type:12,animation:go(this,Zh(t.animation),e),timings:i,options:null}}}class QB{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function Wl(n){return n?(n=Kh(n)).params&&(n.params=function XB(n){return n?Kh(n):null}(n.params)):n={},n}function r0(n,t,e){return{duration:n,delay:t,easing:e}}function o0(n,t,e,i,o,s,a=null,l=!1){return{type:1,element:n,keyframes:t,preStyleProps:e,postStyleProps:i,duration:o,delay:s,totalTime:o+s,easing:a,subTimeline:l}}class h_{constructor(){this._map=new Map}get(t){return this._map.get(t)||[]}append(t,e){let i=this._map.get(t);i||this._map.set(t,i=[]),i.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const iH=new RegExp(":enter","g"),oH=new RegExp(":leave","g");function s0(n,t,e,i,o,s=new Map,a=new Map,l,c,M=[]){return(new sH).buildKeyframes(n,t,e,i,o,s,a,l,c,M)}class sH{buildKeyframes(t,e,i,o,s,a,l,c,M,P=[]){M=M||new h_;const Y=new a0(t,e,M,o,s,P,[]);Y.options=c;const q=c.delay?oa(c.delay):0;Y.currentTimeline.delayNextStep(q),Y.currentTimeline.setStyles([a],null,Y.errors,c),go(this,i,Y);const te=Y.timelines.filter(fe=>fe.containsAnimation());if(te.length&&l.size){let fe;for(let ke=te.length-1;ke>=0;ke--){const Ie=te[ke];if(Ie.element===e){fe=Ie;break}}fe&&!fe.allowOnlyTimelineStyles()&&fe.setStyles([l],null,Y.errors,c)}return te.length?te.map(fe=>fe.buildKeyframes()):[o0(e,[],[],[],0,q,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const i=e.subInstructions.get(e.element);if(i){const o=e.createSubContext(t.options),s=e.currentTimeline.currentTime,a=this._visitSubInstructions(i,o,o.options);s!=a&&e.transformIntoNewTimeline(a)}e.previousNode=t}visitAnimateRef(t,e){const i=e.createSubContext(t.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([t.options,t.animation.options],e,i),this.visitReference(t.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=t}_applyAnimationRefDelays(t,e,i){for(const o of t){const s=o?.delay;if(s){const a="number"==typeof s?s:oa(Xh(s,o?.params??{},e.errors));i.delayNextStep(a)}}}_visitSubInstructions(t,e,i){let s=e.currentTimeline.currentTime;const a=null!=i.duration?oa(i.duration):null,l=null!=i.delay?oa(i.delay):null;return 0!==a&&t.forEach(c=>{const M=e.appendInstructionToTimeline(c,a,l);s=Math.max(s,M.duration+M.delay)}),s}visitReference(t,e){e.updateOptions(t.options,!0),go(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const i=e.subContextCount;let o=e;const s=t.options;if(s&&(s.params||s.delay)&&(o=e.createSubContext(s),o.transformIntoNewTimeline(),null!=s.delay)){6==o.previousNode.type&&(o.currentTimeline.snapshotCurrentStyles(),o.previousNode=f_);const a=oa(s.delay);o.delayNextStep(a)}t.steps.length&&(t.steps.forEach(a=>go(this,a,o)),o.currentTimeline.applyStylesToKeyframe(),o.subContextCount>i&&o.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const i=[];let o=e.currentTimeline.currentTime;const s=t.options&&t.options.delay?oa(t.options.delay):0;t.steps.forEach(a=>{const l=e.createSubContext(t.options);s&&l.delayNextStep(s),go(this,a,l),o=Math.max(o,l.currentTimeline.currentTime),i.push(l.currentTimeline)}),i.forEach(a=>e.currentTimeline.mergeTimelineCollectedStyles(a)),e.transformIntoNewTimeline(o),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const i=t.strValue;return o_(e.params?Xh(i,e.params,e.errors):i,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const i=e.currentAnimateTimings=this._visitTiming(t.timings,e),o=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),o.snapshotCurrentStyles());const s=t.style;5==s.type?this.visitKeyframes(s,e):(e.incrementTime(i.duration),this.visitStyle(s,e),o.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const i=e.currentTimeline,o=e.currentAnimateTimings;!o&&i.hasCurrentStyleProperties()&&i.forwardFrame();const s=o&&o.easing||t.easing;t.isEmptyStep?i.applyEmptyStep(s):i.setStyles(t.styles,s,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const i=e.currentAnimateTimings,o=e.currentTimeline.duration,s=i.duration,l=e.createSubContext().currentTimeline;l.easing=i.easing,t.styles.forEach(c=>{l.forwardTime((c.offset||0)*s),l.setStyles(c.styles,c.easing,e.errors,e.options),l.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(l),e.transformIntoNewTimeline(o+s),e.previousNode=t}visitQuery(t,e){const i=e.currentTimeline.currentTime,o=t.options||{},s=o.delay?oa(o.delay):0;s&&(6===e.previousNode.type||0==i&&e.currentTimeline.hasCurrentStyleProperties())&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=f_);let a=i;const l=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!o.optional,e.errors);e.currentQueryTotal=l.length;let c=null;l.forEach((M,P)=>{e.currentQueryIndex=P;const Y=e.createSubContext(t.options,M);s&&Y.delayNextStep(s),M===e.element&&(c=Y.currentTimeline),go(this,t.animation,Y),Y.currentTimeline.applyStylesToKeyframe(),a=Math.max(a,Y.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(a),c&&(e.currentTimeline.mergeTimelineCollectedStyles(c),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const i=e.parentContext,o=e.currentTimeline,s=t.timings,a=Math.abs(s.duration),l=a*(e.currentQueryTotal-1);let c=a*e.currentQueryIndex;switch(s.duration<0?"reverse":s.easing){case"reverse":c=l-c;break;case"full":c=i.currentStaggerTime}const P=e.currentTimeline;c&&P.delayNextStep(c);const Y=P.currentTime;go(this,t.animation,e),e.previousNode=t,i.currentStaggerTime=o.currentTime-Y+(o.startTime-i.currentTimeline.startTime)}}const f_={};class a0{constructor(t,e,i,o,s,a,l,c){this._driver=t,this.element=e,this.subInstructions=i,this._enterClassName=o,this._leaveClassName=s,this.errors=a,this.timelines=l,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=f_,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=c||new p_(this._driver,e,0),l.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const i=t;let o=this.options;null!=i.duration&&(o.duration=oa(i.duration)),null!=i.delay&&(o.delay=oa(i.delay));const s=i.params;if(s){let a=o.params;a||(a=this.options.params={}),Object.keys(s).forEach(l=>{(!e||!a.hasOwnProperty(l))&&(a[l]=Xh(s[l],a,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const i=t.params={};Object.keys(e).forEach(o=>{i[o]=e[o]})}}return t}createSubContext(t=null,e,i){const o=e||this.element,s=new a0(this._driver,o,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(o,i||0));return s.previousNode=this.previousNode,s.currentAnimateTimings=this.currentAnimateTimings,s.options=this._copyOptions(),s.updateOptions(t),s.currentQueryIndex=this.currentQueryIndex,s.currentQueryTotal=this.currentQueryTotal,s.parentContext=this,this.subContextCount++,s}transformIntoNewTimeline(t){return this.previousNode=f_,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,i){const o={duration:e??t.duration,delay:this.currentTimeline.currentTime+(i??0)+t.delay,easing:""},s=new aH(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,o,t.stretchStartingKeyframe);return this.timelines.push(s),o}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,i,o,s,a){let l=[];if(o&&l.push(this.element),t.length>0){t=(t=t.replace(iH,"."+this._enterClassName)).replace(oH,"."+this._leaveClassName);let M=this._driver.query(this.element,t,1!=i);0!==i&&(M=i<0?M.slice(M.length+i,M.length):M.slice(0,i)),l.push(...M)}return!s&&0==l.length&&a.push(function uB(n){return new Fe(3014,!1)}()),l}}class p_{constructor(t,e,i,o){this._driver=t,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=o,this.duration=0,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1===this._keyframes.size&&this._pendingStyles.size;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new p_(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles.set(t,e),this._globalTimelineStyles.set(t,e),this._styleSummary.set(t,{time:this.currentTime,value:e})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&this._previousKeyframe.set("easing",t);for(let[e,i]of this._globalTimelineStyles)this._backFill.set(e,i||ia),this._currentKeyframe.set(e,ia);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,i,o){e&&this._previousKeyframe.set("easing",e);const s=o&&o.params||{},a=function lH(n,t){const e=new Map;let i;return n.forEach(o=>{if("*"===o){i=i||t.keys();for(let s of i)e.set(s,ia)}else Ua(o,e)}),e}(t,this._globalTimelineStyles);for(let[l,c]of a){const M=Xh(c,s,i);this._pendingStyles.set(l,M),this._localTimelineStyles.has(l)||this._backFill.set(l,this._globalTimelineStyles.get(l)??ia),this._updateStyle(l,M)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((t,e)=>{this._currentKeyframe.set(e,t)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((t,e)=>{this._currentKeyframe.has(e)||this._currentKeyframe.set(e,t)}))}snapshotCurrentStyles(){for(let[t,e]of this._localTimelineStyles)this._pendingStyles.set(t,e),this._updateStyle(t,e)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){t._styleSummary.forEach((e,i)=>{const o=this._styleSummary.get(i);(!o||e.time>o.time)&&this._updateStyle(i,e.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let o=[];this._keyframes.forEach((l,c)=>{const M=Ua(l,new Map,this._backFill);M.forEach((P,Y)=>{"!"===P?t.add(Y):P===ia&&e.add(Y)}),i||M.set("offset",c/this.duration),o.push(M)});const s=t.size?s_(t.values()):[],a=e.size?s_(e.values()):[];if(i){const l=o[0],c=new Map(l);l.set("offset",0),c.set("offset",1),o=[l,c]}return o0(this.element,o,s,a,this.duration,this.startTime,this.easing,!1)}}class aH extends p_{constructor(t,e,i,o,s,a,l=!1){super(t,e,a.delay),this.keyframes=i,this.preStyleProps=o,this.postStyleProps=s,this._stretchStartingKeyframe=l,this.timings={duration:a.duration,delay:a.delay,easing:a.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:i,easing:o}=this.timings;if(this._stretchStartingKeyframe&&e){const s=[],a=i+e,l=e/a,c=Ua(t[0]);c.set("offset",0),s.push(c);const M=Ua(t[0]);M.set("offset",AD(l)),s.push(M);const P=t.length-1;for(let Y=1;Y<=P;Y++){let q=Ua(t[Y]);const te=q.get("offset");q.set("offset",AD((e+te*i)/a)),s.push(q)}i=a,e=0,o="",t=s}return o0(this.element,t,this.preStyleProps,this.postStyleProps,i,e,o,!0)}}function AD(n,t=3){const e=Math.pow(10,t-1);return Math.round(n*e)/e}class l0{}const cH=new Set(["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"]);class dH extends l0{normalizePropertyName(t,e){return t0(t)}normalizeStyleValue(t,e,i,o){let s="";const a=i.toString().trim();if(cH.has(e)&&0!==i&&"0"!==i)if("number"==typeof i)s="px";else{const l=i.match(/^[+-]?[\d\.]+([a-z]*)$/);l&&0==l[1].length&&o.push(function eB(n,t){return new Fe(3005,!1)}())}return a+s}}function FD(n,t,e,i,o,s,a,l,c,M,P,Y,q){return{type:0,element:n,triggerName:t,isRemovalTransition:o,fromState:e,fromStyles:s,toState:i,toStyles:a,timelines:l,queriedElements:c,preStyleProps:M,postStyleProps:P,totalTime:Y,errors:q}}const c0={};class RD{constructor(t,e,i){this._triggerName=t,this.ast=e,this._stateStyles=i}match(t,e,i,o){return function uH(n,t,e,i,o){return n.some(s=>s(t,e,i,o))}(this.ast.matchers,t,e,i,o)}buildStyles(t,e,i){let o=this._stateStyles.get("*");return void 0!==t&&(o=this._stateStyles.get(t?.toString())||o),o?o.buildStyles(e,i):new Map}build(t,e,i,o,s,a,l,c,M,P){const Y=[],q=this.ast.options&&this.ast.options.params||c0,fe=this.buildStyles(i,l&&l.params||c0,Y),ke=c&&c.params||c0,Ie=this.buildStyles(o,ke,Y),Re=new Set,Xe=new Map,Ae=new Map,ct="void"===o,pn={params:hH(ke,q),delay:this.ast.options?.delay},Mn=P?[]:s0(t,e,this.ast.animation,s,a,fe,Ie,pn,M,Y);let Ar=0;if(Mn.forEach(ya=>{Ar=Math.max(ya.duration+ya.delay,Ar)}),Y.length)return FD(e,this._triggerName,i,o,ct,fe,Ie,[],[],Xe,Ae,Ar,Y);Mn.forEach(ya=>{const Ma=ya.element,fP=_o(Xe,Ma,new Set);ya.preStyleProps.forEach(Lc=>fP.add(Lc));const mp=_o(Ae,Ma,new Set);ya.postStyleProps.forEach(Lc=>mp.add(Lc)),Ma!==e&&Re.add(Ma)});const va=s_(Re.values());return FD(e,this._triggerName,i,o,ct,fe,Ie,Mn,va,Xe,Ae,Ar)}}function hH(n,t){const e=Kh(t);for(const i in n)n.hasOwnProperty(i)&&null!=n[i]&&(e[i]=n[i]);return e}class fH{constructor(t,e,i){this.styles=t,this.defaultParams=e,this.normalizer=i}buildStyles(t,e){const i=new Map,o=Kh(this.defaultParams);return Object.keys(t).forEach(s=>{const a=t[s];null!==a&&(o[s]=a)}),this.styles.styles.forEach(s=>{"string"!=typeof s&&s.forEach((a,l)=>{a&&(a=Xh(a,o,e));const c=this.normalizer.normalizePropertyName(l,e);a=this.normalizer.normalizeStyleValue(l,c,a,e),i.set(l,a)})}),i}}class mH{constructor(t,e,i){this.name=t,this.ast=e,this._normalizer=i,this.transitionFactories=[],this.states=new Map,e.states.forEach(o=>{this.states.set(o.name,new fH(o.style,o.options&&o.options.params||{},i))}),ND(this.states,"true","1"),ND(this.states,"false","0"),e.transitions.forEach(o=>{this.transitionFactories.push(new RD(t,o,this.states))}),this.fallbackTransition=function _H(n,t,e){return new RD(n,{type:1,animation:{type:2,steps:[],options:null},matchers:[(a,l)=>!0],options:null,queryCount:0,depCount:0},t)}(t,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,i,o){return this.transitionFactories.find(a=>a.match(t,e,i,o))||null}matchStyles(t,e,i){return this.fallbackTransition.buildStyles(t,e,i)}}function ND(n,t,e){n.has(t)?n.has(e)||n.set(e,n.get(t)):n.has(e)&&n.set(t,n.get(e))}const gH=new h_;class bH{constructor(t,e,i){this.bodyNode=t,this._driver=e,this._normalizer=i,this._animations=new Map,this._playersById=new Map,this.players=[]}register(t,e){const i=[],s=n0(this._driver,e,i,[]);if(i.length)throw function bB(n){return new Fe(3503,!1)}();this._animations.set(t,s)}_buildPlayer(t,e,i){const o=t.element,s=mD(0,this._normalizer,0,t.keyframes,e,i);return this._driver.animate(o,s,t.duration,t.delay,t.easing,[],!0)}create(t,e,i={}){const o=[],s=this._animations.get(t);let a;const l=new Map;if(s?(a=s0(this._driver,e,s,Xy,n_,new Map,new Map,i,gH,o),a.forEach(P=>{const Y=_o(l,P.element,new Map);P.postStyleProps.forEach(q=>Y.set(q,null))})):(o.push(function vB(){return new Fe(3300,!1)}()),a=[]),o.length)throw function yB(n){return new Fe(3504,!1)}();l.forEach((P,Y)=>{P.forEach((q,te)=>{P.set(te,this._driver.computeStyle(Y,te,ia))})});const M=za(a.map(P=>{const Y=l.get(P.element);return this._buildPlayer(P,new Map,Y)}));return this._playersById.set(t,M),M.onDestroy(()=>this.destroy(t)),this.players.push(M),M}destroy(t){const e=this._getPlayer(t);e.destroy(),this._playersById.delete(t);const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(t){const e=this._playersById.get(t);if(!e)throw function MB(n){return new Fe(3301,!1)}();return e}listen(t,e,i,o){const s=Gy(e,"","","");return Wy(this._getPlayer(t),i,s,o),()=>{}}command(t,e,i,o){if("register"==i)return void this.register(t,o[0]);if("create"==i)return void this.create(t,e,o[0]||{});const s=this._getPlayer(t);switch(i){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(o[0]));break;case"destroy":this.destroy(t)}}}const YD="ng-animate-queued",d0="ng-animate-disabled",xH=[],BD={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},CH={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Fo="__ng_removed";class u0{constructor(t,e=""){this.namespaceId=e;const i=t&&t.hasOwnProperty("value");if(this.value=function TH(n){return n??null}(i?t.value:t),i){const s=Kh(t);delete s.value,this.options=s}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(t){const e=t.params;if(e){const i=this.options.params;Object.keys(e).forEach(o=>{null==i[o]&&(i[o]=e[o])})}}}const Qh="void",h0=new u0(Qh);class kH{constructor(t,e,i){this.id=t,this.hostElement=e,this._engine=i,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,Ro(e,this._hostClassName)}listen(t,e,i,o){if(!this._triggers.has(e))throw function wB(n,t){return new Fe(3302,!1)}();if(null==i||0==i.length)throw function xB(n){return new Fe(3303,!1)}();if(!function LH(n){return"start"==n||"done"==n}(i))throw function CB(n,t){return new Fe(3400,!1)}();const s=_o(this._elementListeners,t,[]),a={name:e,phase:i,callback:o};s.push(a);const l=_o(this._engine.statesByElement,t,new Map);return l.has(e)||(Ro(t,i_),Ro(t,i_+"-"+e),l.set(e,h0)),()=>{this._engine.afterFlush(()=>{const c=s.indexOf(a);c>=0&&s.splice(c,1),this._triggers.has(e)||l.delete(e)})}}register(t,e){return!this._triggers.has(t)&&(this._triggers.set(t,e),!0)}_getTrigger(t){const e=this._triggers.get(t);if(!e)throw function kB(n){return new Fe(3401,!1)}();return e}trigger(t,e,i,o=!0){const s=this._getTrigger(e),a=new f0(this.id,e,t);let l=this._engine.statesByElement.get(t);l||(Ro(t,i_),Ro(t,i_+"-"+e),this._engine.statesByElement.set(t,l=new Map));let c=l.get(e);const M=new u0(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&c&&M.absorbOptions(c.options),l.set(e,M),c||(c=h0),M.value!==Qh&&c.value===M.value){if(!function PH(n,t){const e=Object.keys(n),i=Object.keys(t);if(e.length!=i.length)return!1;for(let o=0;o{Ul(t,Ie),Cs(t,Re)})}return}const q=_o(this._engine.playersByElement,t,[]);q.forEach(ke=>{ke.namespaceId==this.id&&ke.triggerName==e&&ke.queued&&ke.destroy()});let te=s.matchTransition(c.value,M.value,t,M.params),fe=!1;if(!te){if(!o)return;te=s.fallbackTransition,fe=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:te,fromState:c,toState:M,player:a,isFallbackTransition:fe}),fe||(Ro(t,YD),a.onStart(()=>{Fd(t,YD)})),a.onDone(()=>{let ke=this.players.indexOf(a);ke>=0&&this.players.splice(ke,1);const Ie=this._engine.playersByElement.get(t);if(Ie){let Re=Ie.indexOf(a);Re>=0&&Ie.splice(Re,1)}}),this.players.push(a),q.push(a),a}deregister(t){this._triggers.delete(t),this._engine.statesByElement.forEach(e=>e.delete(t)),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(o=>o.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const i=this._engine.driver.query(t,r_,!0);i.forEach(o=>{if(o[Fo])return;const s=this._engine.fetchNamespacesByElement(o);s.size?s.forEach(a=>a.triggerLeaveAnimation(o,e,!1,!0)):this.clearElementCache(o)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(o=>this.clearElementCache(o)))}triggerLeaveAnimation(t,e,i,o){const s=this._engine.statesByElement.get(t),a=new Map;if(s){const l=[];if(s.forEach((c,M)=>{if(a.set(M,c.value),this._triggers.has(M)){const P=this.trigger(t,M,Qh,o);P&&l.push(P)}}),l.length)return this._engine.markElementAsRemoved(this.id,t,!0,e,a),i&&za(l).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),i=this._engine.statesByElement.get(t);if(e&&i){const o=new Set;e.forEach(s=>{const a=s.name;if(o.has(a))return;o.add(a);const c=this._triggers.get(a).fallbackTransition,M=i.get(a)||h0,P=new u0(Qh),Y=new f0(this.id,a,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:a,transition:c,fromState:M,toState:P,player:Y,isFallbackTransition:!0})})}}removeNode(t,e){const i=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let o=!1;if(i.totalAnimations){const s=i.players.length?i.playersByQueriedElement.get(t):[];if(s&&s.length)o=!0;else{let a=t;for(;a=a.parentNode;)if(i.statesByElement.get(a)){o=!0;break}}}if(this.prepareLeaveAnimationListeners(t),o)i.markElementAsRemoved(this.id,t,!1,e);else{const s=t[Fo];(!s||s===BD)&&(i.afterFlush(()=>this.clearElementCache(t)),i.destroyInnerAnimations(t),i._onRemovalComplete(t,e))}}insertNode(t,e){Ro(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(i=>{const o=i.player;if(o.destroyed)return;const s=i.element,a=this._elementListeners.get(s);a&&a.forEach(l=>{if(l.name==i.triggerName){const c=Gy(s,i.triggerName,i.fromState.value,i.toState.value);c._data=t,Wy(i.player,l.phase,c,l.callback)}}),o.markedForDestroy?this._engine.afterFlush(()=>{o.destroy()}):e.push(i)}),this._queue=[],e.sort((i,o)=>{const s=i.transition.ast.depCount,a=o.transition.ast.depCount;return 0==s||0==a?s-a:this._engine.driver.containsElement(i.element,o.element)?1:-1})}destroy(t){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(i=>i.element===t)||e,e}}class SH{constructor(t,e,i){this.bodyNode=t,this.driver=e,this._normalizer=i,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=(o,s)=>{}}_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&t.push(i)})}),t}createNamespace(t,e){const i=new kH(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[t]=i}_balanceNamespaceList(t,e){const i=this._namespaceList,o=this.namespacesByHostElement;if(i.length-1>=0){let a=!1,l=this.driver.getParentElement(e);for(;l;){const c=o.get(l);if(c){const M=i.indexOf(c);i.splice(M+1,0,t),a=!0;break}l=this.driver.getParentElement(l)}a||i.unshift(t)}else i.push(t);return o.set(e,t),t}register(t,e){let i=this._namespaceLookup[t];return i||(i=this.createNamespace(t,e)),i}registerTrigger(t,e,i){let o=this._namespaceLookup[t];o&&o.register(e,i)&&this.totalAnimations++}destroy(t,e){if(!t)return;const i=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[t];const o=this._namespaceList.indexOf(i);o>=0&&this._namespaceList.splice(o,1)}),this.afterFlushAnimationsDone(()=>i.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,i=this.statesByElement.get(t);if(i)for(let o of i.values())if(o.namespaceId){const s=this._fetchNamespace(o.namespaceId);s&&e.add(s)}return e}trigger(t,e,i,o){if(m_(e)){const s=this._fetchNamespace(t);if(s)return s.trigger(e,i,o),!0}return!1}insertNode(t,e,i,o){if(!m_(e))return;const s=e[Fo];if(s&&s.setForRemoval){s.setForRemoval=!1,s.setForMove=!0;const a=this.collectedLeaveElements.indexOf(e);a>=0&&this.collectedLeaveElements.splice(a,1)}if(t){const a=this._fetchNamespace(t);a&&a.insertNode(e,i)}o&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),Ro(t,d0)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),Fd(t,d0))}removeNode(t,e,i,o){if(m_(e)){const s=t?this._fetchNamespace(t):null;if(s?s.removeNode(e,o):this.markElementAsRemoved(t,e,!1,o),i){const a=this.namespacesByHostElement.get(e);a&&a.id!==t&&a.removeNode(e,o)}}else this._onRemovalComplete(e,o)}markElementAsRemoved(t,e,i,o,s){this.collectedLeaveElements.push(e),e[Fo]={namespaceId:t,setForRemoval:o,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:s}}listen(t,e,i,o,s){return m_(e)?this._fetchNamespace(t).listen(e,i,o,s):()=>{}}_buildInstruction(t,e,i,o,s){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,i,o,t.fromState.options,t.toState.options,e,s)}destroyInnerAnimations(t){let e=this.driver.query(t,r_,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,Qy,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return za(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[Fo];if(e&&e.setForRemoval){if(t[Fo]=BD,e.namespaceId){this.destroyInnerAnimations(t);const i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}t.classList?.contains(d0)&&this.markElementAsDisabled(t,!1),this.driver.query(t,".ng-animate-disabled",!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,o)=>this._balanceNamespaceList(i,o)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],e.length?za(e).onDone(()=>{i.forEach(o=>o())}):i.forEach(o=>o())}}reportError(t){throw function SB(n){return new Fe(3402,!1)}()}_flushAnimations(t,e){const i=new h_,o=[],s=new Map,a=[],l=new Map,c=new Map,M=new Map,P=new Set;this.disabledNodes.forEach(mt=>{P.add(mt);const wt=this.driver.query(mt,".ng-animate-queued",!0);for(let Tt=0;Tt{const Tt=Xy+ke++;fe.set(wt,Tt),mt.forEach(mn=>Ro(mn,Tt))});const Ie=[],Re=new Set,Xe=new Set;for(let mt=0;mtRe.add(mn)):Xe.add(wt))}const Ae=new Map,ct=jD(q,Array.from(Re));ct.forEach((mt,wt)=>{const Tt=n_+ke++;Ae.set(wt,Tt),mt.forEach(mn=>Ro(mn,Tt))}),t.push(()=>{te.forEach((mt,wt)=>{const Tt=fe.get(wt);mt.forEach(mn=>Fd(mn,Tt))}),ct.forEach((mt,wt)=>{const Tt=Ae.get(wt);mt.forEach(mn=>Fd(mn,Tt))}),Ie.forEach(mt=>{this.processLeaveNode(mt)})});const pn=[],Mn=[];for(let mt=this._namespaceList.length-1;mt>=0;mt--)this._namespaceList[mt].drainQueuedTransitions(e).forEach(Tt=>{const mn=Tt.player,cr=Tt.element;if(pn.push(mn),this.collectedEnterElements.length){const Fr=cr[Fo];if(Fr&&Fr.setForMove){if(Fr.previousTriggersValues&&Fr.previousTriggersValues.has(Tt.triggerName)){const Ec=Fr.previousTriggersValues.get(Tt.triggerName),Vo=this.statesByElement.get(Tt.element);if(Vo&&Vo.has(Tt.triggerName)){const Yg=Vo.get(Tt.triggerName);Yg.value=Ec,Vo.set(Tt.triggerName,Yg)}}return void mn.destroy()}}const Ns=!Y||!this.driver.containsElement(Y,cr),Co=Ae.get(cr),ml=fe.get(cr),bi=this._buildInstruction(Tt,i,ml,Co,Ns);if(bi.errors&&bi.errors.length)return void Mn.push(bi);if(Ns)return mn.onStart(()=>Ul(cr,bi.fromStyles)),mn.onDestroy(()=>Cs(cr,bi.toStyles)),void o.push(mn);if(Tt.isFallbackTransition)return mn.onStart(()=>Ul(cr,bi.fromStyles)),mn.onDestroy(()=>Cs(cr,bi.toStyles)),void o.push(mn);const _P=[];bi.timelines.forEach(Fr=>{Fr.stretchStartingKeyframe=!0,this.disabledNodes.has(Fr.element)||_P.push(Fr)}),bi.timelines=_P,i.append(cr,bi.timelines),a.push({instruction:bi,player:mn,element:cr}),bi.queriedElements.forEach(Fr=>_o(l,Fr,[]).push(mn)),bi.preStyleProps.forEach((Fr,Ec)=>{if(Fr.size){let Vo=c.get(Ec);Vo||c.set(Ec,Vo=new Set),Fr.forEach((Yg,iM)=>Vo.add(iM))}}),bi.postStyleProps.forEach((Fr,Ec)=>{let Vo=M.get(Ec);Vo||M.set(Ec,Vo=new Set),Fr.forEach((Yg,iM)=>Vo.add(iM))})});if(Mn.length){const mt=[];Mn.forEach(wt=>{mt.push(function DB(n,t){return new Fe(3505,!1)}())}),pn.forEach(wt=>wt.destroy()),this.reportError(mt)}const Ar=new Map,va=new Map;a.forEach(mt=>{const wt=mt.element;i.has(wt)&&(va.set(wt,wt),this._beforeAnimationBuild(mt.player.namespaceId,mt.instruction,Ar))}),o.forEach(mt=>{const wt=mt.element;this._getPreviousPlayers(wt,!1,mt.namespaceId,mt.triggerName,null).forEach(mn=>{_o(Ar,wt,[]).push(mn),mn.destroy()})});const ya=Ie.filter(mt=>UD(mt,c,M)),Ma=new Map;VD(Ma,this.driver,Xe,M,ia).forEach(mt=>{UD(mt,c,M)&&ya.push(mt)});const mp=new Map;te.forEach((mt,wt)=>{VD(mp,this.driver,new Set(mt),c,"!")}),ya.forEach(mt=>{const wt=Ma.get(mt),Tt=mp.get(mt);Ma.set(mt,new Map([...Array.from(wt?.entries()??[]),...Array.from(Tt?.entries()??[])]))});const Lc=[],pP=[],mP={};a.forEach(mt=>{const{element:wt,player:Tt,instruction:mn}=mt;if(i.has(wt)){if(P.has(wt))return Tt.onDestroy(()=>Cs(wt,mn.toStyles)),Tt.disabled=!0,Tt.overrideTotalTime(mn.totalTime),void o.push(Tt);let cr=mP;if(va.size>1){let Co=wt;const ml=[];for(;Co=Co.parentNode;){const bi=va.get(Co);if(bi){cr=bi;break}ml.push(Co)}ml.forEach(bi=>va.set(bi,cr))}const Ns=this._buildAnimation(Tt.namespaceId,mn,Ar,s,mp,Ma);if(Tt.setRealPlayer(Ns),cr===mP)Lc.push(Tt);else{const Co=this.playersByElement.get(cr);Co&&Co.length&&(Tt.parentPlayer=za(Co)),o.push(Tt)}}else Ul(wt,mn.fromStyles),Tt.onDestroy(()=>Cs(wt,mn.toStyles)),pP.push(Tt),P.has(wt)&&o.push(Tt)}),pP.forEach(mt=>{const wt=s.get(mt.element);if(wt&&wt.length){const Tt=za(wt);mt.setRealPlayer(Tt)}}),o.forEach(mt=>{mt.parentPlayer?mt.syncPlayerEvents(mt.parentPlayer):mt.destroy()});for(let mt=0;mt!Ns.destroyed);cr.length?EH(this,wt,cr):this.processLeaveNode(wt)}return Ie.length=0,Lc.forEach(mt=>{this.players.push(mt),mt.onDone(()=>{mt.destroy();const wt=this.players.indexOf(mt);this.players.splice(wt,1)}),mt.play()}),Lc}elementContainsData(t,e){let i=!1;const o=e[Fo];return o&&o.setForRemoval&&(i=!0),this.playersByElement.has(e)&&(i=!0),this.playersByQueriedElement.has(e)&&(i=!0),this.statesByElement.has(e)&&(i=!0),this._fetchNamespace(t).elementContainsData(e)||i}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,i,o,s){let a=[];if(e){const l=this.playersByQueriedElement.get(t);l&&(a=l)}else{const l=this.playersByElement.get(t);if(l){const c=!s||s==Qh;l.forEach(M=>{M.queued||!c&&M.triggerName!=o||a.push(M)})}}return(i||o)&&(a=a.filter(l=>!(i&&i!=l.namespaceId||o&&o!=l.triggerName))),a}_beforeAnimationBuild(t,e,i){const s=e.element,a=e.isRemovalTransition?void 0:t,l=e.isRemovalTransition?void 0:e.triggerName;for(const c of e.timelines){const M=c.element,P=M!==s,Y=_o(i,M,[]);this._getPreviousPlayers(M,P,a,l,e.toState).forEach(te=>{const fe=te.getRealPlayer();fe.beforeDestroy&&fe.beforeDestroy(),te.destroy(),Y.push(te)})}Ul(s,e.fromStyles)}_buildAnimation(t,e,i,o,s,a){const l=e.triggerName,c=e.element,M=[],P=new Set,Y=new Set,q=e.timelines.map(fe=>{const ke=fe.element;P.add(ke);const Ie=ke[Fo];if(Ie&&Ie.removedBeforeQueried)return new qh(fe.duration,fe.delay);const Re=ke!==c,Xe=function IH(n){const t=[];return zD(n,t),t}((i.get(ke)||xH).map(Ar=>Ar.getRealPlayer())).filter(Ar=>!!Ar.element&&Ar.element===ke),Ae=s.get(ke),ct=a.get(ke),pn=mD(0,this._normalizer,0,fe.keyframes,Ae,ct),Mn=this._buildPlayer(fe,pn,Xe);if(fe.subTimeline&&o&&Y.add(ke),Re){const Ar=new f0(t,l,ke);Ar.setRealPlayer(Mn),M.push(Ar)}return Mn});M.forEach(fe=>{_o(this.playersByQueriedElement,fe.element,[]).push(fe),fe.onDone(()=>function DH(n,t,e){let i=n.get(t);if(i){if(i.length){const o=i.indexOf(e);i.splice(o,1)}0==i.length&&n.delete(t)}return i}(this.playersByQueriedElement,fe.element,fe))}),P.forEach(fe=>Ro(fe,CD));const te=za(q);return te.onDestroy(()=>{P.forEach(fe=>Fd(fe,CD)),Cs(c,e.toStyles)}),Y.forEach(fe=>{_o(o,fe,[]).push(te)}),te}_buildPlayer(t,e,i){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,i):new qh(t.duration,t.delay)}}class f0{constructor(t,e,i){this.namespaceId=t,this.triggerName=e,this.element=i,this._player=new qh,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,this._queuedCallbacks.forEach((e,i)=>{e.forEach(o=>Wy(t,i,void 0,o))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){_o(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}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(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function m_(n){return n&&1===n.nodeType}function HD(n,t){const e=n.style.display;return n.style.display=t??"none",e}function VD(n,t,e,i,o){const s=[];e.forEach(c=>s.push(HD(c)));const a=[];i.forEach((c,M)=>{const P=new Map;c.forEach(Y=>{const q=t.computeStyle(M,Y,o);P.set(Y,q),(!q||0==q.length)&&(M[Fo]=CH,a.push(M))}),n.set(M,P)});let l=0;return e.forEach(c=>HD(c,s[l++])),a}function jD(n,t){const e=new Map;if(n.forEach(l=>e.set(l,[])),0==t.length)return e;const o=new Set(t),s=new Map;function a(l){if(!l)return 1;let c=s.get(l);if(c)return c;const M=l.parentNode;return c=e.has(M)?M:o.has(M)?1:a(M),s.set(l,c),c}return t.forEach(l=>{const c=a(l);1!==c&&e.get(c).push(l)}),e}function Ro(n,t){n.classList?.add(t)}function Fd(n,t){n.classList?.remove(t)}function EH(n,t,e){za(e).onDone(()=>n.processLeaveNode(t))}function zD(n,t){for(let e=0;eo.add(s)):t.set(n,i),e.delete(n),!0}class __{constructor(t,e,i){this.bodyNode=t,this._driver=e,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(o,s)=>{},this._transitionEngine=new SH(t,e,i),this._timelineEngine=new bH(t,e,i),this._transitionEngine.onRemovalComplete=(o,s)=>this.onRemovalComplete(o,s)}registerTrigger(t,e,i,o,s){const a=t+"-"+o;let l=this._triggerCache[a];if(!l){const c=[],P=n0(this._driver,s,c,[]);if(c.length)throw function _B(n,t){return new Fe(3404,!1)}();l=function pH(n,t,e){return new mH(n,t,e)}(o,P,this._normalizer),this._triggerCache[a]=l}this._transitionEngine.registerTrigger(e,o,l)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,i,o){this._transitionEngine.insertNode(t,e,i,o)}onRemove(t,e,i,o){this._transitionEngine.removeNode(t,e,o||!1,i)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,i,o){if("@"==i.charAt(0)){const[s,a]=_D(i);this._timelineEngine.command(s,e,a,o)}else this._transitionEngine.trigger(t,e,i,o)}listen(t,e,i,o,s){if("@"==i.charAt(0)){const[a,l]=_D(i);return this._timelineEngine.listen(a,e,l,s)}return this._transitionEngine.listen(t,e,i,o,s)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}let AH=(()=>{class n{constructor(e,i,o){this._element=e,this._startStyles=i,this._endStyles=o,this._state=0;let s=n.initialStylesByElement.get(e);s||n.initialStylesByElement.set(e,s=new Map),this._initialStyles=s}start(){this._state<1&&(this._startStyles&&Cs(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Cs(this._element,this._initialStyles),this._endStyles&&(Cs(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(n.initialStylesByElement.delete(this._element),this._startStyles&&(Ul(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Ul(this._element,this._endStyles),this._endStyles=null),Cs(this._element,this._initialStyles),this._state=3)}}return n.initialStylesByElement=new WeakMap,n})();function p0(n){let t=null;return n.forEach((e,i)=>{(function FH(n){return"display"===n||"position"===n})(i)&&(t=t||new Map,t.set(i,e))}),t}class WD{constructor(t,e,i,o){this.element=t,this.keyframes=e,this.options=i,this._specialStyles=o,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:new Map,this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(t){const e=[];return t.forEach(i=>{e.push(Object.fromEntries(i))}),e}_triggerWebAnimation(t,e,i){return t.animate(this._convertKeyframesToObject(e),i)}onStart(t){this._originalOnStartFns.push(t),this._onStartFns.push(t)}onDone(t){this._originalOnDoneFns.push(t),this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),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,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_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(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,o)=>{"offset"!==o&&t.set(o,this._finished?i:ED(this.element,o))}),this.currentSnapshot=t}triggerCallback(t){const e="start"===t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class RH{validateStyleProperty(t){return!0}validateAnimatableStyleProperty(t){return!0}matchesElement(t,e){return!1}containsElement(t,e){return yD(t,e)}getParentElement(t){return Ky(t)}query(t,e,i){return MD(t,e,i)}computeStyle(t,e,i){return window.getComputedStyle(t)[e]}animate(t,e,i,o,s,a=[]){const c={duration:i,delay:o,fill:0==o?"both":"forwards"};s&&(c.easing=s);const M=new Map,P=a.filter(te=>te instanceof WD);(function HB(n,t){return 0===n||0===t})(i,o)&&P.forEach(te=>{te.currentSnapshot.forEach((fe,ke)=>M.set(ke,fe))});let Y=function RB(n){return n.length?n[0]instanceof Map?n:n.map(t=>kD(t)):[]}(e).map(te=>Ua(te));Y=function VB(n,t,e){if(e.size&&t.length){let i=t[0],o=[];if(e.forEach((s,a)=>{i.has(a)||o.push(a),i.set(a,s)}),o.length)for(let s=1;sa.set(l,ED(n,l)))}}return t}(t,Y,M);const q=function OH(n,t){let e=null,i=null;return Array.isArray(t)&&t.length?(e=p0(t[0]),t.length>1&&(i=p0(t[t.length-1]))):t instanceof Map&&(e=p0(t)),e||i?new AH(n,e,i):null}(t,Y);return new WD(t,Y,c,q)}}let NH=(()=>{class n extends cD{constructor(e,i){super(),this._nextAnimationId=0,this._renderer=e.createRenderer(i.body,{id:"0",encapsulation:Rr.None,styles:[],data:{animation:[]}})}build(e){const i=this._nextAnimationId.toString();this._nextAnimationId++;const o=Array.isArray(e)?uD(e):e;return $D(this._renderer,null,i,"register",[o]),new YH(i,this._renderer)}}return n.\u0275fac=function(e){return new(e||n)(we(xh),we(St))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();class YH extends qY{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new BH(this._id,t,e||{},this._renderer)}}class BH{constructor(t,e,i,o){this.id=t,this.element=e,this._renderer=o,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return $D(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}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(t){this._command("setPosition",t)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function $D(n,t,e,i,o){return n.setProperty(t,`@@${e}:${i}`,o)}const GD="@.disabled";let HH=(()=>{class n{constructor(e,i,o){this.delegate=e,this.engine=i,this._zone=o,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),i.onRemovalComplete=(s,a)=>{const l=a?.parentNode(s);l&&a.removeChild(l,s)}}createRenderer(e,i){const s=this.delegate.createRenderer(e,i);if(!(e&&i&&i.data&&i.data.animation)){let P=this._rendererCache.get(s);return P||(P=new qD("",s,this.engine,()=>this._rendererCache.delete(s)),this._rendererCache.set(s,P)),P}const a=i.id,l=i.id+"-"+this._currentId;this._currentId++,this.engine.register(l,e);const c=P=>{Array.isArray(P)?P.forEach(c):this.engine.registerTrigger(a,l,e,P.name,P)};return i.data.animation.forEach(c),new VH(this,l,s,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(e,i,o){e>=0&&ei(o)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(s=>{const[a,l]=s;a(l)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,o]))}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 n.\u0275fac=function(e){return new(e||n)(we(xh),we(__),we(pt))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();class qD{constructor(t,e,i,o){this.namespaceId=t,this.delegate=e,this.engine=i,this._onDestroy=o,this.destroyNode=this.delegate.destroyNode?s=>e.destroyNode(s):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy(),this._onDestroy?.()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,i,o=!0){this.delegate.insertBefore(t,e,i),this.engine.onInsert(this.namespaceId,e,t,o)}removeChild(t,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate,i)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,i,o){this.delegate.setAttribute(t,e,i,o)}removeAttribute(t,e,i){this.delegate.removeAttribute(t,e,i)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,i,o){this.delegate.setStyle(t,e,i,o)}removeStyle(t,e,i){this.delegate.removeStyle(t,e,i)}setProperty(t,e,i){"@"==e.charAt(0)&&e==GD?this.disableAnimations(t,!!i):this.delegate.setProperty(t,e,i)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,i){return this.delegate.listen(t,e,i)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class VH extends qD{constructor(t,e,i,o,s){super(e,i,o,s),this.factory=t,this.namespaceId=e}setProperty(t,e,i){"@"==e.charAt(0)?"."==e.charAt(1)&&e==GD?this.disableAnimations(t,i=void 0===i||!!i):this.engine.process(this.namespaceId,t,e.slice(1),i):this.delegate.setProperty(t,e,i)}listen(t,e,i){if("@"==e.charAt(0)){const o=function jH(n){switch(n){case"body":return document.body;case"document":return document;case"window":return window;default:return n}}(t);let s=e.slice(1),a="";return"@"!=s.charAt(0)&&([s,a]=function zH(n){const t=n.indexOf(".");return[n.substring(0,t),n.slice(t+1)]}(s)),this.engine.listen(this.namespaceId,o,s,a,l=>{this.factory.scheduleListenerCallback(l._data||-1,i,l)})}return this.delegate.listen(t,e,i)}}let UH=(()=>{class n extends __{constructor(e,i,o,s){super(e.body,i,o)}ngOnDestroy(){this.flush()}}return n.\u0275fac=function(e){return new(e||n)(we(St),we(Zy),we(l0),we(Pd))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();const KD=[{provide:cD,useClass:NH},{provide:l0,useFactory:function WH(){return new dH}},{provide:__,useClass:UH},{provide:xh,useFactory:function $H(n,t,e){return new HH(n,t,e)},deps:[t_,__,pt]}],m0=[{provide:Zy,useFactory:()=>new RH},{provide:Vi,useValue:"BrowserAnimations"},...KD],ZD=[{provide:Zy,useClass:wD},{provide:Vi,useValue:"NoopAnimations"},...KD];let GH=(()=>{class n{static withConfig(e){return{ngModule:n,providers:e.disableAnimations?ZD:m0}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({providers:m0,imports:[rD]}),n})();function We(...n){let t=n[n.length-1];return Se(t)?(n.pop(),W(n,t)):Ln(n)}function Wa(n,t){return Ne(n,t,1)}function ki(n,t){return function(i){return i.lift(new qH(n,t))}}class qH{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new KH(t,this.predicate,this.thisArg))}}class KH extends A{constructor(t,e,i){super(t),this.predicate=e,this.thisArg=i,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(i){return void this.destination.error(i)}e&&this.destination.next(t)}}class b_{}class _0{}class ks{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const o=e.slice(0,i),s=o.toLowerCase(),a=e.slice(i+1).trim();this.maybeSetNormalizedName(o,s),this.headers.has(s)?this.headers.get(s).push(a):this.headers.set(s,[a])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let i=t[e];const o=e.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(o,i),this.maybeSetNormalizedName(e,o))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof ks?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new ks;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof ks?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let i=t.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(t.name,e);const o=("a"===t.op?this.headers.get(e):void 0)||[];o.push(...i),this.headers.set(e,o);break;case"d":const s=t.value;if(s){let a=this.headers.get(e);if(!a)return;a=a.filter(l=>-1===s.indexOf(l)),0===a.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,a)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class ZH{encodeKey(t){return XD(t)}encodeValue(t){return XD(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const QH=/%(\d[a-f0-9])/gi,JH={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function XD(n){return encodeURIComponent(n).replace(QH,(t,e)=>JH[e]??t)}function v_(n){return`${n}`}class $a{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new ZH,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function XH(n,t){const e=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(o=>{const s=o.indexOf("="),[a,l]=-1==s?[t.decodeKey(o),""]:[t.decodeKey(o.slice(0,s)),t.decodeValue(o.slice(s+1))],c=e.get(a)||[];c.push(l),e.set(a,c)}),e}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const i=t.fromObject[e],o=Array.isArray(i)?i.map(v_):[v_(i)];this.map.set(e,o)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(i=>{const o=t[i];Array.isArray(o)?o.forEach(s=>{e.push({param:i,value:s,op:"a"})}):e.push({param:i,value:o,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new $a({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(v_(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let i=this.map.get(t.param)||[];const o=i.indexOf(v_(t.value));-1!==o&&i.splice(o,1),i.length>0?this.map.set(t.param,i):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class eV{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function QD(n){return typeof ArrayBuffer<"u"&&n instanceof ArrayBuffer}function JD(n){return typeof Blob<"u"&&n instanceof Blob}function eT(n){return typeof FormData<"u"&&n instanceof FormData}class Jh{constructor(t,e,i,o){let s;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function tV(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==i?i:null,s=o):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new ks),this.context||(this.context=new eV),this.params){const a=this.params.toString();if(0===a.length)this.urlWithParams=e;else{const l=e.indexOf("?");this.urlWithParams=e+(-1===l?"?":lY.set(q,t.setHeaders[q]),c)),t.setParams&&(M=Object.keys(t.setParams).reduce((Y,q)=>Y.set(q,t.setParams[q]),M)),new Jh(e,i,s,{params:M,headers:c,context:P,reportProgress:l,responseType:o,withCredentials:a})}}var Ui=(()=>((Ui=Ui||{})[Ui.Sent=0]="Sent",Ui[Ui.UploadProgress=1]="UploadProgress",Ui[Ui.ResponseHeader=2]="ResponseHeader",Ui[Ui.DownloadProgress=3]="DownloadProgress",Ui[Ui.Response=4]="Response",Ui[Ui.User=5]="User",Ui))();class g0{constructor(t,e=200,i="OK"){this.headers=t.headers||new ks,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||i,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class b0 extends g0{constructor(t={}){super(t),this.type=Ui.ResponseHeader}clone(t={}){return new b0({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class y_ extends g0{constructor(t={}){super(t),this.type=Ui.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new y_({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class tT extends g0{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function v0(n,t){return{body:t,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let $l=(()=>{class n{constructor(e){this.handler=e}request(e,i,o={}){let s;if(e instanceof Jh)s=e;else{let c,M;c=o.headers instanceof ks?o.headers:new ks(o.headers),o.params&&(M=o.params instanceof $a?o.params:new $a({fromObject:o.params})),s=new Jh(e,i,void 0!==o.body?o.body:null,{headers:c,context:o.context,params:M,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials})}const a=We(s).pipe(Wa(c=>this.handler.handle(c)));if(e instanceof Jh||"events"===o.observe)return a;const l=a.pipe(ki(c=>c instanceof y_));switch(o.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return l.pipe(Ce(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Ce(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Ce(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Ce(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new $a).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,o={}){return this.request("PATCH",e,v0(o,i))}post(e,i,o={}){return this.request("POST",e,v0(o,i))}put(e,i,o={}){return this.request("PUT",e,v0(o,i))}}return n.\u0275fac=function(e){return new(e||n)(we(b_))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();function nT(n,t){return t(n)}function iV(n,t){return(e,i)=>t.intercept(e,{handle:o=>n(o,i)})}const oV=new Be("HTTP_INTERCEPTORS"),ef=new Be("HTTP_INTERCEPTOR_FNS");function sV(){let n=null;return(t,e)=>(null===n&&(n=(Lt(oV,{optional:!0})??[]).reduceRight(iV,nT)),n(t,e))}let iT=(()=>{class n extends b_{constructor(e,i){super(),this.backend=e,this.injector=i,this.chain=null}handle(e){if(null===this.chain){const i=Array.from(new Set(this.injector.get(ef)));this.chain=i.reduceRight((o,s)=>function rV(n,t,e){return(i,o)=>e.runInContext(()=>t(i,s=>n(s,o)))}(o,s,this.injector),nT)}return this.chain(e,i=>this.backend.handle(i))}}return n.\u0275fac=function(e){return new(e||n)(we(_0),we(gs))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();const dV=/^\)\]\}',?\n/;let oT=(()=>{class n{constructor(e){this.xhrFactory=e}handle(e){if("JSONP"===e.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new ce(i=>{const o=this.xhrFactory.build();if(o.open(e.method,e.urlWithParams),e.withCredentials&&(o.withCredentials=!0),e.headers.forEach((te,fe)=>o.setRequestHeader(te,fe.join(","))),e.headers.has("Accept")||o.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){const te=e.detectContentTypeHeader();null!==te&&o.setRequestHeader("Content-Type",te)}if(e.responseType){const te=e.responseType.toLowerCase();o.responseType="json"!==te?te:"text"}const s=e.serializeBody();let a=null;const l=()=>{if(null!==a)return a;const te=o.statusText||"OK",fe=new ks(o.getAllResponseHeaders()),ke=function uV(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(o)||e.url;return a=new b0({headers:fe,status:o.status,statusText:te,url:ke}),a},c=()=>{let{headers:te,status:fe,statusText:ke,url:Ie}=l(),Re=null;204!==fe&&(Re=typeof o.response>"u"?o.responseText:o.response),0===fe&&(fe=Re?200:0);let Xe=fe>=200&&fe<300;if("json"===e.responseType&&"string"==typeof Re){const Ae=Re;Re=Re.replace(dV,"");try{Re=""!==Re?JSON.parse(Re):null}catch(ct){Re=Ae,Xe&&(Xe=!1,Re={error:ct,text:Re})}}Xe?(i.next(new y_({body:Re,headers:te,status:fe,statusText:ke,url:Ie||void 0})),i.complete()):i.error(new tT({error:Re,headers:te,status:fe,statusText:ke,url:Ie||void 0}))},M=te=>{const{url:fe}=l(),ke=new tT({error:te,status:o.status||0,statusText:o.statusText||"Unknown Error",url:fe||void 0});i.error(ke)};let P=!1;const Y=te=>{P||(i.next(l()),P=!0);let fe={type:Ui.DownloadProgress,loaded:te.loaded};te.lengthComputable&&(fe.total=te.total),"text"===e.responseType&&!!o.responseText&&(fe.partialText=o.responseText),i.next(fe)},q=te=>{let fe={type:Ui.UploadProgress,loaded:te.loaded};te.lengthComputable&&(fe.total=te.total),i.next(fe)};return o.addEventListener("load",c),o.addEventListener("error",M),o.addEventListener("timeout",M),o.addEventListener("abort",M),e.reportProgress&&(o.addEventListener("progress",Y),null!==s&&o.upload&&o.upload.addEventListener("progress",q)),o.send(s),i.next({type:Ui.Sent}),()=>{o.removeEventListener("error",M),o.removeEventListener("abort",M),o.removeEventListener("load",c),o.removeEventListener("timeout",M),e.reportProgress&&(o.removeEventListener("progress",Y),null!==s&&o.upload&&o.upload.removeEventListener("progress",q)),o.readyState!==o.DONE&&o.abort()}})}}return n.\u0275fac=function(e){return new(e||n)(we(NS))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();const y0=new Be("XSRF_ENABLED"),sT="XSRF-TOKEN",aT=new Be("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>sT}),lT="X-XSRF-TOKEN",cT=new Be("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>lT});class dT{}let hV=(()=>{class n{constructor(e,i,o){this.doc=e,this.platform=i,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=SS(e,this.cookieName),this.lastCookieString=e),this.lastToken}}return n.\u0275fac=function(e){return new(e||n)(we(St),we(Nm),we(aT))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();function fV(n,t){const e=n.url.toLowerCase();if(!Lt(y0)||"GET"===n.method||"HEAD"===n.method||e.startsWith("http://")||e.startsWith("https://"))return t(n);const i=Lt(dT).getToken(),o=Lt(cT);return null!=i&&!n.headers.has(o)&&(n=n.clone({headers:n.headers.set(o,i)})),t(n)}var Oi=(()=>((Oi=Oi||{})[Oi.Interceptors=0]="Interceptors",Oi[Oi.LegacyInterceptors=1]="LegacyInterceptors",Oi[Oi.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",Oi[Oi.NoXsrfProtection=3]="NoXsrfProtection",Oi[Oi.JsonpSupport=4]="JsonpSupport",Oi[Oi.RequestsMadeViaParent=5]="RequestsMadeViaParent",Oi))();function Rd(n,t){return{\u0275kind:n,\u0275providers:t}}function pV(...n){const t=[$l,oT,iT,{provide:b_,useExisting:iT},{provide:_0,useExisting:oT},{provide:ef,useValue:fV,multi:!0},{provide:y0,useValue:!0},{provide:dT,useClass:hV}];for(const e of n)t.push(...e.\u0275providers);return function qO(n){return{\u0275providers:n}}(t)}const uT=new Be("LEGACY_INTERCEPTOR_FN");function _V({cookieName:n,headerName:t}){const e=[];return void 0!==n&&e.push({provide:aT,useValue:n}),void 0!==t&&e.push({provide:cT,useValue:t}),Rd(Oi.CustomXsrfConfiguration,e)}let gV=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({providers:[pV(Rd(Oi.LegacyInterceptors,[{provide:uT,useFactory:sV},{provide:ef,useExisting:uT,multi:!0}]),_V({cookieName:sT,headerName:lT}))]}),n})();class Er extends X{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new ee;return this._value}next(t){super.next(this._value=t)}}const M_=(()=>{function n(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return n.prototype=Object.create(Error.prototype),n})();class bV extends A{notifyNext(t,e,i,o,s){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class vV extends A{constructor(t,e,i){super(),this.parent=t,this.outerValue=e,this.outerIndex=i,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function yV(n,t,e,i,o=new vV(n,e,i)){if(!o.closed)return t instanceof ce?t.subscribe(o):Li(t)(o)}const hT={};function M0(...n){let t,e;return Se(n[n.length-1])&&(e=n.pop()),"function"==typeof n[n.length-1]&&(t=n.pop()),1===n.length&&y(n[0])&&(n=n[0]),Ln(n,e).lift(new MV(t))}class MV{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new wV(t,this.resultSelector))}}class wV extends bV{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(hT),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let i=0;in.complete());function w_(n){return n?function CV(n){return new ce(t=>n.schedule(()=>t.complete()))}(n):Ga}function tf(n){return new ce(t=>{let e;try{e=n()}catch(o){return void t.error(o)}return(e?de(e):w_()).subscribe(t)})}function Ir(n,t){return new ce(t?e=>t.schedule(kV,0,{error:n,subscriber:e}):e=>e.error(n))}function kV({error:n,subscriber:t}){t.error(n)}function gr(n,t){return"function"==typeof t?e=>e.pipe(gr((i,o)=>de(n(i,o)).pipe(Ce((s,a)=>t(i,s,o,a))))):e=>e.lift(new SV(n))}class SV{constructor(t){this.project=t}call(t,e){return e.subscribe(new DV(t,this.project))}}class DV extends Me{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const i=this.index++;try{e=this.project(t,i)}catch(o){return void this.destination.error(o)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const i=new be(this),o=this.destination;o.add(i),this.innerSubscription=Ee(t,i),this.innerSubscription!==i&&o.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;(!t||t.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const fT=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})();function ei(n){return t=>0===n?w_():t.lift(new TV(n))}class TV{constructor(t){if(this.total=t,this.total<0)throw new fT}call(t,e){return e.subscribe(new LV(t,this.total))}}class LV extends A{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,i=++this.count;i<=e&&(this.destination.next(t),i===e&&(this.destination.complete(),this.unsubscribe()))}}function bo(...n){const t=n[n.length-1];return Se(t)?(n.pop(),e=>Gl(n,e,t)):e=>Gl(n,e)}function nf(n=null){return t=>t.lift(new EV(n))}class EV{constructor(t){this.defaultValue=t}call(t,e){return e.subscribe(new IV(t,this.defaultValue))}}class IV extends A{constructor(t,e){super(t),this.defaultValue=e,this.isEmpty=!0}_next(t){this.isEmpty=!1,this.destination.next(t)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function pT(n=AV){return t=>t.lift(new PV(n))}class PV{constructor(t){this.errorFactory=t}call(t,e){return e.subscribe(new OV(t,this.errorFactory))}}class OV extends A{constructor(t,e){super(t),this.errorFactory=e,this.hasValue=!1}_next(t){this.hasValue=!0,this.destination.next(t)}_complete(){if(this.hasValue)return this.destination.complete();{let t;try{t=this.errorFactory()}catch(e){t=e}this.destination.error(t)}}}function AV(){return new M_}function qa(n,t){const e=arguments.length>=2;return i=>i.pipe(n?ki((o,s)=>n(o,s,i)):ve,ei(1),e?nf(t):pT(()=>new M_))}function Ka(){}function ui(n,t,e){return function(o){return o.lift(new FV(n,t,e))}}class FV{constructor(t,e,i){this.nextOrObserver=t,this.error=e,this.complete=i}call(t,e){return e.subscribe(new RV(t,this.nextOrObserver,this.error,this.complete))}}class RV extends A{constructor(t,e,i,o){super(t),this._tapNext=Ka,this._tapError=Ka,this._tapComplete=Ka,this._tapError=i||Ka,this._tapComplete=o||Ka,O(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||Ka,this._tapError=e.error||Ka,this._tapComplete=e.complete||Ka)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}function Jr(n){return function(e){const i=new NV(n),o=e.lift(i);return i.caught=o}}class NV{constructor(t){this.selector=t}call(t,e){return e.subscribe(new YV(t,this.selector,this.caught))}}class YV extends Me{constructor(t,e,i){super(t),this.selector=e,this.caught=i}error(t){if(!this.isStopped){let e;try{e=this.selector(t,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new be(this);this.add(i);const o=Ee(e,i);o!==i&&this.add(o)}}}function x_(n,t){let e=!1;return arguments.length>=2&&(e=!0),function(o){return o.lift(new BV(n,t,e))}}class BV{constructor(t,e,i=!1){this.accumulator=t,this.seed=e,this.hasSeed=i}call(t,e){return e.subscribe(new HV(t,this.accumulator,this.seed,this.hasSeed))}}class HV extends A{constructor(t,e,i,o){super(t),this.accumulator=e,this._seed=i,this.hasSeed=o,this.index=0}get seed(){return this._seed}set seed(t){this.hasSeed=!0,this._seed=t}_next(t){if(this.hasSeed)return this._tryNext(t);this.seed=t,this.destination.next(t)}_tryNext(t){const e=this.index++;let i;try{i=this.accumulator(this.seed,t,e)}catch(o){this.destination.error(o)}this.seed=i,this.destination.next(i)}}function rf(n){return function(e){return 0===n?w_():e.lift(new VV(n))}}class VV{constructor(t){if(this.total=t,this.total<0)throw new fT}call(t,e){return e.subscribe(new jV(t,this.total))}}class jV extends A{constructor(t,e){super(t),this.total=e,this.ring=new Array,this.count=0}_next(t){const e=this.ring,i=this.total,o=this.count++;e.length0){const i=this.count>=this.total?this.total:this.count,o=this.ring;for(let s=0;s=2;return i=>i.pipe(n?ki((o,s)=>n(o,s,i)):ve,rf(1),e?nf(t):pT(()=>new M_))}function _T(n,t=!1){return e=>e.lift(new zV(n,t))}class zV{constructor(t,e){this.predicate=t,this.inclusive=e}call(t,e){return e.subscribe(new UV(t,this.predicate,this.inclusive))}}class UV extends A{constructor(t,e,i){super(t),this.predicate=e,this.inclusive=i,this.index=0}_next(t){const e=this.destination;let i;try{i=this.predicate(t,this.index++)}catch(o){return void e.error(o)}this.nextOrComplete(t,i)}nextOrComplete(t,e){const i=this.destination;Boolean(e)?i.next(t):(this.inclusive&&i.next(t),i.complete())}}class $V{constructor(t){this.value=t}call(t,e){return e.subscribe(new GV(t,this.value))}}class GV extends A{constructor(t,e){super(t),this.value=e}_next(t){this.destination.next(this.value)}}function C_(n){return t=>t.lift(new qV(n))}class qV{constructor(t){this.callback=t}call(t,e){return e.subscribe(new KV(t,this.callback))}}class KV extends A{constructor(t,e){super(t),this.add(new T(e))}}const $t="primary",sf=Symbol("RouteTitle");class ZV{constructor(t){this.params=t||{}}has(t){return Object.prototype.hasOwnProperty.call(this.params,t)}get(t){if(this.has(t)){const e=this.params[t];return Array.isArray(e)?e[0]:e}return null}getAll(t){if(this.has(t)){const e=this.params[t];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}}function Nd(n){return new ZV(n)}function XV(n,t,e){const i=e.path.split("/");if(i.length>n.length||"full"===e.pathMatch&&(t.hasChildren()||i.lengthi[s]===o)}return n===t}function bT(n){return Array.prototype.concat.apply([],n)}function vT(n){return n.length>0?n[n.length-1]:null}function br(n,t){for(const e in n)n.hasOwnProperty(e)&&t(n[e],e)}function Za(n){return Tv(n)?n:Lh(n)?de(Promise.resolve(n)):We(n)}const k_=!1,JV={exact:function wT(n,t,e){if(!Kl(n.segments,t.segments)||!S_(n.segments,t.segments,e)||n.numberOfChildren!==t.numberOfChildren)return!1;for(const i in t.children)if(!n.children[i]||!wT(n.children[i],t.children[i],e))return!1;return!0},subset:xT},yT={exact:function e8(n,t){return Ss(n,t)},subset:function t8(n,t){return Object.keys(t).length<=Object.keys(n).length&&Object.keys(t).every(e=>gT(n[e],t[e]))},ignored:()=>!0};function MT(n,t,e){return JV[e.paths](n.root,t.root,e.matrixParams)&&yT[e.queryParams](n.queryParams,t.queryParams)&&!("exact"===e.fragment&&n.fragment!==t.fragment)}function xT(n,t,e){return CT(n,t,t.segments,e)}function CT(n,t,e,i){if(n.segments.length>e.length){const o=n.segments.slice(0,e.length);return!(!Kl(o,e)||t.hasChildren()||!S_(o,e,i))}if(n.segments.length===e.length){if(!Kl(n.segments,e)||!S_(n.segments,e,i))return!1;for(const o in t.children)if(!n.children[o]||!xT(n.children[o],t.children[o],i))return!1;return!0}{const o=e.slice(0,n.segments.length),s=e.slice(n.segments.length);return!!(Kl(n.segments,o)&&S_(n.segments,o,i)&&n.children[$t])&&CT(n.children[$t],t,s,i)}}function S_(n,t,e){return t.every((i,o)=>yT[e](n[o].parameters,i.parameters))}class ql{constructor(t=new qt([],{}),e={},i=null){this.root=t,this.queryParams=e,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Nd(this.queryParams)),this._queryParamMap}toString(){return r8.serialize(this)}}class qt{constructor(t,e){this.segments=t,this.children=e,this.parent=null,br(e,(i,o)=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return D_(this)}}class af{constructor(t,e){this.path=t,this.parameters=e}get parameterMap(){return this._parameterMap||(this._parameterMap=Nd(this.parameters)),this._parameterMap}toString(){return DT(this)}}function Kl(n,t){return n.length===t.length&&n.every((e,i)=>e.path===t[i].path)}let lf=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:function(){return new w0},providedIn:"root"}),n})();class w0{parse(t){const e=new f8(t);return new ql(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(t){const e=`/${cf(t.root,!0)}`,i=function a8(n){const t=Object.keys(n).map(e=>{const i=n[e];return Array.isArray(i)?i.map(o=>`${T_(e)}=${T_(o)}`).join("&"):`${T_(e)}=${T_(i)}`}).filter(e=>!!e);return t.length?`?${t.join("&")}`:""}(t.queryParams),o="string"==typeof t.fragment?`#${function o8(n){return encodeURI(n)}(t.fragment)}`:"";return`${e}${i}${o}`}}const r8=new w0;function D_(n){return n.segments.map(t=>DT(t)).join("/")}function cf(n,t){if(!n.hasChildren())return D_(n);if(t){const e=n.children[$t]?cf(n.children[$t],!1):"",i=[];return br(n.children,(o,s)=>{s!==$t&&i.push(`${s}:${cf(o,!1)}`)}),i.length>0?`${e}(${i.join("//")})`:e}{const e=function i8(n,t){let e=[];return br(n.children,(i,o)=>{o===$t&&(e=e.concat(t(i,o)))}),br(n.children,(i,o)=>{o!==$t&&(e=e.concat(t(i,o)))}),e}(n,(i,o)=>o===$t?[cf(n.children[$t],!1)]:[`${o}:${cf(i,!1)}`]);return 1===Object.keys(n.children).length&&null!=n.children[$t]?`${D_(n)}/${e[0]}`:`${D_(n)}/(${e.join("//")})`}}function kT(n){return encodeURIComponent(n).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function T_(n){return kT(n).replace(/%3B/gi,";")}function x0(n){return kT(n).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function L_(n){return decodeURIComponent(n)}function ST(n){return L_(n.replace(/\+/g,"%20"))}function DT(n){return`${x0(n.path)}${function s8(n){return Object.keys(n).map(t=>`;${x0(t)}=${x0(n[t])}`).join("")}(n.parameters)}`}const l8=/^[^\/()?;=#]+/;function E_(n){const t=n.match(l8);return t?t[0]:""}const c8=/^[^=?&#]+/,u8=/^[^&#]+/;class f8{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new qt([],{}):new qt([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(i[$t]=new qt(t,e)),i}parseSegment(){const t=E_(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Fe(4009,k_);return this.capture(t),new af(L_(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const e=E_(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const o=E_(this.remaining);o&&(i=o,this.capture(i))}t[L_(e)]=L_(i)}parseQueryParam(t){const e=function d8(n){const t=n.match(c8);return t?t[0]:""}(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const a=function h8(n){const t=n.match(u8);return t?t[0]:""}(this.remaining);a&&(i=a,this.capture(i))}const o=ST(e),s=ST(i);if(t.hasOwnProperty(o)){let a=t[o];Array.isArray(a)||(a=[a],t[o]=a),a.push(s)}else t[o]=s}parseParens(t){const e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=E_(this.remaining),o=this.remaining[i.length];if("/"!==o&&")"!==o&&";"!==o)throw new Fe(4010,k_);let s;i.indexOf(":")>-1?(s=i.slice(0,i.indexOf(":")),this.capture(s),this.capture(":")):t&&(s=$t);const a=this.parseChildren();e[s]=1===Object.keys(a).length?a[$t]:new qt([],a),this.consumeOptional("//")}return e}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new Fe(4011,k_)}}function C0(n){return n.segments.length>0?new qt([],{[$t]:n}):n}function I_(n){const t={};for(const i of Object.keys(n.children)){const s=I_(n.children[i]);(s.segments.length>0||s.hasChildren())&&(t[i]=s)}return function p8(n){if(1===n.numberOfChildren&&n.children[$t]){const t=n.children[$t];return new qt(n.segments.concat(t.segments),t.children)}return n}(new qt(n.segments,t))}function Zl(n){return n instanceof ql}function g8(n,t,e,i,o){if(0===e.length)return Yd(t.root,t.root,t.root,i,o);const s=function ET(n){if("string"==typeof n[0]&&1===n.length&&"/"===n[0])return new LT(!0,0,n);let t=0,e=!1;const i=n.reduce((o,s,a)=>{if("object"==typeof s&&null!=s){if(s.outlets){const l={};return br(s.outlets,(c,M)=>{l[M]="string"==typeof c?c.split("/"):c}),[...o,{outlets:l}]}if(s.segmentPath)return[...o,s.segmentPath]}return"string"!=typeof s?[...o,s]:0===a?(s.split("/").forEach((l,c)=>{0==c&&"."===l||(0==c&&""===l?e=!0:".."===l?t++:""!=l&&o.push(l))}),o):[...o,s]},[]);return new LT(e,t,i)}(e);return s.toRoot()?Yd(t.root,t.root,new qt([],{}),i,o):function a(c){const M=function v8(n,t,e,i){if(n.isAbsolute)return new Bd(t.root,!0,0);if(-1===i)return new Bd(e,e===t.root,0);return function IT(n,t,e){let i=n,o=t,s=e;for(;s>o;){if(s-=o,i=i.parent,!i)throw new Fe(4005,!1);o=i.segments.length}return new Bd(i,!1,o-s)}(e,i+(df(n.commands[0])?0:1),n.numberOfDoubleDots)}(s,t,n.snapshot?._urlSegment,c),P=M.processChildren?hf(M.segmentGroup,M.index,s.commands):S0(M.segmentGroup,M.index,s.commands);return Yd(t.root,M.segmentGroup,P,i,o)}(n.snapshot?._lastPathIndex)}function df(n){return"object"==typeof n&&null!=n&&!n.outlets&&!n.segmentPath}function uf(n){return"object"==typeof n&&null!=n&&n.outlets}function Yd(n,t,e,i,o){let a,s={};i&&br(i,(c,M)=>{s[M]=Array.isArray(c)?c.map(P=>`${P}`):`${c}`}),a=n===t?e:TT(n,t,e);const l=C0(I_(a));return new ql(l,s,o)}function TT(n,t,e){const i={};return br(n.children,(o,s)=>{i[s]=o===t?e:TT(o,t,e)}),new qt(n.segments,i)}class LT{constructor(t,e,i){if(this.isAbsolute=t,this.numberOfDoubleDots=e,this.commands=i,t&&i.length>0&&df(i[0]))throw new Fe(4003,!1);const o=i.find(uf);if(o&&o!==vT(i))throw new Fe(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Bd{constructor(t,e,i){this.segmentGroup=t,this.processChildren=e,this.index=i}}function S0(n,t,e){if(n||(n=new qt([],{})),0===n.segments.length&&n.hasChildren())return hf(n,t,e);const i=function M8(n,t,e){let i=0,o=t;const s={match:!1,pathIndex:0,commandIndex:0};for(;o=e.length)return s;const a=n.segments[o],l=e[i];if(uf(l))break;const c=`${l}`,M=i0&&void 0===c)break;if(c&&M&&"object"==typeof M&&void 0===M.outlets){if(!OT(c,M,a))return s;i+=2}else{if(!OT(c,{},a))return s;i++}o++}return{match:!0,pathIndex:o,commandIndex:i}}(n,t,e),o=e.slice(i.commandIndex);if(i.match&&i.pathIndex{"string"==typeof s&&(s=[s]),null!==s&&(o[a]=S0(n.children[a],t,s))}),br(n.children,(s,a)=>{void 0===i[a]&&(o[a]=s)}),new qt(n.segments,o)}}function D0(n,t,e){const i=n.segments.slice(0,t);let o=0;for(;o{"string"==typeof e&&(e=[e]),null!==e&&(t[i]=D0(new qt([],{}),0,e))}),t}function PT(n){const t={};return br(n,(e,i)=>t[i]=`${e}`),t}function OT(n,t,e){return n==e.path&&Ss(t,e.parameters)}class sa{constructor(t,e){this.id=t,this.url=e}}class T0 extends sa{constructor(t,e,i="imperative",o=null){super(t,e),this.type=0,this.navigationTrigger=i,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Xa extends sa{constructor(t,e,i){super(t,e),this.urlAfterRedirects=i,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class P_ extends sa{constructor(t,e,i,o){super(t,e),this.reason=i,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class AT extends sa{constructor(t,e,i,o){super(t,e),this.error=i,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class x8 extends sa{constructor(t,e,i,o){super(t,e),this.urlAfterRedirects=i,this.state=o,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class C8 extends sa{constructor(t,e,i,o){super(t,e),this.urlAfterRedirects=i,this.state=o,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class k8 extends sa{constructor(t,e,i,o,s){super(t,e),this.urlAfterRedirects=i,this.state=o,this.shouldActivate=s,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class S8 extends sa{constructor(t,e,i,o){super(t,e),this.urlAfterRedirects=i,this.state=o,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class D8 extends sa{constructor(t,e,i,o){super(t,e),this.urlAfterRedirects=i,this.state=o,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class T8{constructor(t){this.route=t,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class L8{constructor(t){this.route=t,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class E8{constructor(t){this.snapshot=t,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class I8{constructor(t){this.snapshot=t,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class P8{constructor(t){this.snapshot=t,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class O8{constructor(t){this.snapshot=t,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class FT{constructor(t,e,i){this.routerEvent=t,this.position=e,this.anchor=i,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}let F8=(()=>{class n{createUrlTree(e,i,o,s,a,l){return g8(e||i.root,o,s,a,l)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})(),R8=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:function(t){return F8.\u0275fac(t)},providedIn:"root"}),n})();class RT{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null}children(t){const e=L0(t,this._root);return e?e.children.map(i=>i.value):[]}firstChild(t){const e=L0(t,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(t){const e=E0(t,this._root);return e.length<2?[]:e[e.length-2].children.map(o=>o.value).filter(o=>o!==t)}pathFromRoot(t){return E0(t,this._root).map(e=>e.value)}}function L0(n,t){if(n===t.value)return t;for(const e of t.children){const i=L0(n,e);if(i)return i}return null}function E0(n,t){if(n===t.value)return[t];for(const e of t.children){const i=E0(n,e);if(i.length)return i.unshift(t),i}return[]}class aa{constructor(t,e){this.value=t,this.children=e}toString(){return`TreeNode(${this.value})`}}function Hd(n){const t={};return n&&n.children.forEach(e=>t[e.value.outlet]=e),t}class NT extends RT{constructor(t,e){super(t),this.snapshot=e,I0(this,t)}toString(){return this.snapshot.toString()}}function YT(n,t){const e=function N8(n,t){const a=new O_([],{},{},"",{},$t,t,null,n.root,-1,{});return new HT("",new aa(a,[]))}(n,t),i=new Er([new af("",{})]),o=new Er({}),s=new Er({}),a=new Er({}),l=new Er(""),c=new vr(i,o,a,l,s,$t,t,e.root);return c.snapshot=e.root,new NT(new aa(c,[]),e)}class vr{constructor(t,e,i,o,s,a,l,c){this.url=t,this.params=e,this.queryParams=i,this.fragment=o,this.data=s,this.outlet=a,this.component=l,this.title=this.data?.pipe(Ce(M=>M[sf]))??We(void 0),this._futureSnapshot=c}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(Ce(t=>Nd(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(Ce(t=>Nd(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function BT(n,t="emptyOnly"){const e=n.pathFromRoot;let i=0;if("always"!==t)for(i=e.length-1;i>=1;){const o=e[i],s=e[i-1];if(o.routeConfig&&""===o.routeConfig.path)i--;else{if(s.component)break;i--}}return function Y8(n){return n.reduce((t,e)=>({params:{...t.params,...e.params},data:{...t.data,...e.data},resolve:{...e.data,...t.resolve,...e.routeConfig?.data,...e._resolvedData}}),{params:{},data:{},resolve:{}})}(e.slice(i))}class O_{constructor(t,e,i,o,s,a,l,c,M,P,Y){this.url=t,this.params=e,this.queryParams=i,this.fragment=o,this.data=s,this.outlet=a,this.component=l,this.routeConfig=c,this._urlSegment=M,this._lastPathIndex=P,this._resolve=Y}get title(){return this.data?.[sf]}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=Nd(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=Nd(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class HT extends RT{constructor(t,e){super(e),this.url=t,I0(this,e)}toString(){return VT(this._root)}}function I0(n,t){t.value._routerState=n,t.children.forEach(e=>I0(n,e))}function VT(n){const t=n.children.length>0?` { ${n.children.map(VT).join(", ")} } `:"";return`${n.value}${t}`}function P0(n){if(n.snapshot){const t=n.snapshot,e=n._futureSnapshot;n.snapshot=e,Ss(t.queryParams,e.queryParams)||n.queryParams.next(e.queryParams),t.fragment!==e.fragment&&n.fragment.next(e.fragment),Ss(t.params,e.params)||n.params.next(e.params),function QV(n,t){if(n.length!==t.length)return!1;for(let e=0;eSs(e.parameters,t[i].parameters))}(n.url,t.url);return e&&!(!n.parent!=!t.parent)&&(!n.parent||O0(n.parent,t.parent))}function ff(n,t,e){if(e&&n.shouldReuseRoute(t.value,e.value.snapshot)){const i=e.value;i._futureSnapshot=t.value;const o=function H8(n,t,e){return t.children.map(i=>{for(const o of e.children)if(n.shouldReuseRoute(i.value,o.value.snapshot))return ff(n,i,o);return ff(n,i)})}(n,t,e);return new aa(i,o)}{if(n.shouldAttach(t.value)){const s=n.retrieve(t.value);if(null!==s){const a=s.route;return a.value._futureSnapshot=t.value,a.children=t.children.map(l=>ff(n,l)),a}}const i=function V8(n){return new vr(new Er(n.url),new Er(n.params),new Er(n.queryParams),new Er(n.fragment),new Er(n.data),n.outlet,n.component,n)}(t.value),o=t.children.map(s=>ff(n,s));return new aa(i,o)}}const A0="ngNavigationCancelingError";function jT(n,t){const{redirectTo:e,navigationBehaviorOptions:i}=Zl(t)?{redirectTo:t,navigationBehaviorOptions:void 0}:t,o=zT(!1,0,t);return o.url=e,o.navigationBehaviorOptions=i,o}function zT(n,t,e){const i=new Error("NavigationCancelingError: "+(n||""));return i[A0]=!0,i.cancellationCode=t,e&&(i.url=e),i}function UT(n){return WT(n)&&Zl(n.url)}function WT(n){return n&&n[A0]}class j8{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.injector=null,this.children=new pf,this.attachRef=null}}let pf=(()=>{class n{constructor(){this.contexts=new Map}onChildOutletCreated(e,i){const o=this.getOrCreateContext(e);o.outlet=i,this.contexts.set(e,o)}onChildOutletDestroyed(e){const i=this.getContext(e);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let i=this.getContext(e);return i||(i=new j8,this.contexts.set(e,i)),i}getContext(e){return this.contexts.get(e)||null}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const A_=!1;let F_=(()=>{class n{constructor(){this.activated=null,this._activatedRoute=null,this.name=$t,this.activateEvents=new ht,this.deactivateEvents=new ht,this.attachEvents=new ht,this.detachEvents=new ht,this.parentContexts=Lt(pf),this.location=Lt(Xi),this.changeDetector=Lt(di),this.environmentInjector=Lt(gs)}ngOnChanges(e){if(e.name){const{firstChange:i,previousValue:o}=e.name;if(i)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Fe(4012,A_);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Fe(4012,A_);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Fe(4012,A_);this.location.detach();const e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,i){this.activated=e,this._activatedRoute=i,this.location.insert(e.hostView),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){const e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,i){if(this.isActivated)throw new Fe(4013,A_);this._activatedRoute=e;const o=this.location,a=e.snapshot.component,l=this.parentContexts.getOrCreateContext(this.name).children,c=new z8(e,l,o.injector);if(i&&function U8(n){return!!n.resolveComponentFactory}(i)){const M=i.resolveComponentFactory(a);this.activated=o.createComponent(M,o.length,c)}else this.activated=o.createComponent(a,{index:o.length,injector:c,environmentInjector:i??this.environmentInjector});this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=Ke({type:n,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Gi]}),n})();class z8{constructor(t,e,i){this.route=t,this.childContexts=e,this.parent=i}get(t,e){return t===vr?this.route:t===pf?this.childContexts:this.parent.get(t,e)}}let F0=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=qe({type:n,selectors:[["ng-component"]],standalone:!0,features:[zv],decls:1,vars:0,template:function(e,i){1&e&&xe(0,"router-outlet")},dependencies:[F_],encapsulation:2}),n})();function $T(n,t){return n.providers&&!n._injector&&(n._injector=Im(n.providers,t,`Route: ${n.path}`)),n._injector??t}function N0(n){const t=n.children&&n.children.map(N0),e=t?{...n,children:t}:{...n};return!e.component&&!e.loadComponent&&(t||e.loadChildren)&&e.outlet&&e.outlet!==$t&&(e.component=F0),e}function No(n){return n.outlet||$t}function GT(n,t){const e=n.filter(i=>No(i)===t);return e.push(...n.filter(i=>No(i)!==t)),e}function mf(n){if(!n)return null;if(n.routeConfig?._injector)return n.routeConfig._injector;for(let t=n.parent;t;t=t.parent){const e=t.routeConfig;if(e?._loadedInjector)return e._loadedInjector;if(e?._injector)return e._injector}return null}class K8{constructor(t,e,i,o){this.routeReuseStrategy=t,this.futureState=e,this.currState=i,this.forwardEvent=o}activate(t){const e=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,i,t),P0(this.futureState.root),this.activateChildRoutes(e,i,t)}deactivateChildRoutes(t,e,i){const o=Hd(e);t.children.forEach(s=>{const a=s.value.outlet;this.deactivateRoutes(s,o[a],i),delete o[a]}),br(o,(s,a)=>{this.deactivateRouteAndItsChildren(s,i)})}deactivateRoutes(t,e,i){const o=t.value,s=e?e.value:null;if(o===s)if(o.component){const a=i.getContext(o.outlet);a&&this.deactivateChildRoutes(t,e,a.children)}else this.deactivateChildRoutes(t,e,i);else s&&this.deactivateRouteAndItsChildren(e,i)}deactivateRouteAndItsChildren(t,e){t.value.component&&this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,e):this.deactivateRouteAndOutlet(t,e)}detachAndStoreRouteSubtree(t,e){const i=e.getContext(t.value.outlet),o=i&&t.value.component?i.children:e,s=Hd(t);for(const a of Object.keys(s))this.deactivateRouteAndItsChildren(s[a],o);if(i&&i.outlet){const a=i.outlet.detach(),l=i.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:a,route:t,contexts:l})}}deactivateRouteAndOutlet(t,e){const i=e.getContext(t.value.outlet),o=i&&t.value.component?i.children:e,s=Hd(t);for(const a of Object.keys(s))this.deactivateRouteAndItsChildren(s[a],o);i&&i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated(),i.attachRef=null,i.resolver=null,i.route=null)}activateChildRoutes(t,e,i){const o=Hd(e);t.children.forEach(s=>{this.activateRoutes(s,o[s.value.outlet],i),this.forwardEvent(new O8(s.value.snapshot))}),t.children.length&&this.forwardEvent(new I8(t.value.snapshot))}activateRoutes(t,e,i){const o=t.value,s=e?e.value:null;if(P0(o),o===s)if(o.component){const a=i.getOrCreateContext(o.outlet);this.activateChildRoutes(t,e,a.children)}else this.activateChildRoutes(t,e,i);else if(o.component){const a=i.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const l=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),a.children.onOutletReAttached(l.contexts),a.attachRef=l.componentRef,a.route=l.route.value,a.outlet&&a.outlet.attach(l.componentRef,l.route.value),P0(l.route.value),this.activateChildRoutes(t,null,a.children)}else{const l=mf(o.snapshot),c=l?.get(Na)??null;a.attachRef=null,a.route=o,a.resolver=c,a.injector=l,a.outlet&&a.outlet.activateWith(o,a.injector),this.activateChildRoutes(t,null,a.children)}}else this.activateChildRoutes(t,null,i)}}class qT{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class R_{constructor(t,e){this.component=t,this.route=e}}function Z8(n,t,e){const i=n._root;return _f(i,t?t._root:null,e,[i.value])}function Vd(n,t){const e=Symbol(),i=t.get(n,e);return i===e?"function"!=typeof n||function jg(n){return null!==Pc(n)}(n)?t.get(n):n:i}function _f(n,t,e,i,o={canDeactivateChecks:[],canActivateChecks:[]}){const s=Hd(t);return n.children.forEach(a=>{(function Q8(n,t,e,i,o={canDeactivateChecks:[],canActivateChecks:[]}){const s=n.value,a=t?t.value:null,l=e?e.getContext(n.value.outlet):null;if(a&&s.routeConfig===a.routeConfig){const c=function J8(n,t,e){if("function"==typeof e)return e(n,t);switch(e){case"pathParamsChange":return!Kl(n.url,t.url);case"pathParamsOrQueryParamsChange":return!Kl(n.url,t.url)||!Ss(n.queryParams,t.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!O0(n,t)||!Ss(n.queryParams,t.queryParams);default:return!O0(n,t)}}(a,s,s.routeConfig.runGuardsAndResolvers);c?o.canActivateChecks.push(new qT(i)):(s.data=a.data,s._resolvedData=a._resolvedData),_f(n,t,s.component?l?l.children:null:e,i,o),c&&l&&l.outlet&&l.outlet.isActivated&&o.canDeactivateChecks.push(new R_(l.outlet.component,a))}else a&&gf(t,l,o),o.canActivateChecks.push(new qT(i)),_f(n,null,s.component?l?l.children:null:e,i,o)})(a,s[a.value.outlet],e,i.concat([a.value]),o),delete s[a.value.outlet]}),br(s,(a,l)=>gf(a,e.getContext(l),o)),o}function gf(n,t,e){const i=Hd(n),o=n.value;br(i,(s,a)=>{gf(s,o.component?t?t.children.getContext(a):null:t,e)}),e.canDeactivateChecks.push(new R_(o.component&&t&&t.outlet&&t.outlet.isActivated?t.outlet.component:null,o))}function bf(n){return"function"==typeof n}function Y0(n){return n instanceof M_||"EmptyError"===n?.name}const N_=Symbol("INITIAL_VALUE");function jd(){return gr(n=>M0(n.map(t=>t.pipe(ei(1),bo(N_)))).pipe(Ce(t=>{for(const e of t)if(!0!==e){if(e===N_)return N_;if(!1===e||e instanceof ql)return e}return!0}),ki(t=>t!==N_),ei(1)))}function KT(n){return Z(ui(t=>{if(Zl(t))throw jT(0,t)}),Ce(t=>!0===t))}const B0={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function ZT(n,t,e,i,o){const s=H0(n,t,e);return s.matched?function _6(n,t,e,i){const o=t.canMatch;return o&&0!==o.length?We(o.map(a=>{const l=Vd(a,n);return Za(function o6(n){return n&&bf(n.canMatch)}(l)?l.canMatch(t,e):n.runInContext(()=>l(t,e)))})).pipe(jd(),KT()):We(!0)}(i=$T(t,i),t,e).pipe(Ce(a=>!0===a?s:{...B0})):We(s)}function H0(n,t,e){if(""===t.path)return"full"===t.pathMatch&&(n.hasChildren()||e.length>0)?{...B0}:{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};const o=(t.matcher||XV)(e,n,t);if(!o)return{...B0};const s={};br(o.posParams,(l,c)=>{s[c]=l.path});const a=o.consumed.length>0?{...s,...o.consumed[o.consumed.length-1].parameters}:s;return{matched:!0,consumedSegments:o.consumed,remainingSegments:e.slice(o.consumed.length),parameters:a,positionalParamSegments:o.posParams??{}}}function Y_(n,t,e,i){if(e.length>0&&function v6(n,t,e){return e.some(i=>B_(n,t,i)&&No(i)!==$t)}(n,e,i)){const s=new qt(t,function b6(n,t,e,i){const o={};o[$t]=i,i._sourceSegment=n,i._segmentIndexShift=t.length;for(const s of e)if(""===s.path&&No(s)!==$t){const a=new qt([],{});a._sourceSegment=n,a._segmentIndexShift=t.length,o[No(s)]=a}return o}(n,t,i,new qt(e,n.children)));return s._sourceSegment=n,s._segmentIndexShift=t.length,{segmentGroup:s,slicedSegments:[]}}if(0===e.length&&function y6(n,t,e){return e.some(i=>B_(n,t,i))}(n,e,i)){const s=new qt(n.segments,function g6(n,t,e,i,o){const s={};for(const a of i)if(B_(n,e,a)&&!o[No(a)]){const l=new qt([],{});l._sourceSegment=n,l._segmentIndexShift=t.length,s[No(a)]=l}return{...o,...s}}(n,t,e,i,n.children));return s._sourceSegment=n,s._segmentIndexShift=t.length,{segmentGroup:s,slicedSegments:e}}const o=new qt(n.segments,n.children);return o._sourceSegment=n,o._segmentIndexShift=t.length,{segmentGroup:o,slicedSegments:e}}function B_(n,t,e){return(!(n.hasChildren()||t.length>0)||"full"!==e.pathMatch)&&""===e.path}function XT(n,t,e,i){return!!(No(n)===i||i!==$t&&B_(t,e,n))&&("**"===n.path||H0(t,n,e).matched)}function QT(n,t,e){return 0===t.length&&!n.children[e]}const H_=!1;class V_{constructor(t){this.segmentGroup=t||null}}class JT{constructor(t){this.urlTree=t}}function vf(n){return Ir(new V_(n))}function e2(n){return Ir(new JT(n))}class C6{constructor(t,e,i,o,s){this.injector=t,this.configLoader=e,this.urlSerializer=i,this.urlTree=o,this.config=s,this.allowRedirects=!0}apply(){const t=Y_(this.urlTree.root,[],[],this.config).segmentGroup,e=new qt(t.segments,t.children);return this.expandSegmentGroup(this.injector,this.config,e,$t).pipe(Ce(s=>this.createUrlTree(I_(s),this.urlTree.queryParams,this.urlTree.fragment))).pipe(Jr(s=>{if(s instanceof JT)return this.allowRedirects=!1,this.match(s.urlTree);throw s instanceof V_?this.noMatchError(s):s}))}match(t){return this.expandSegmentGroup(this.injector,this.config,t.root,$t).pipe(Ce(o=>this.createUrlTree(I_(o),t.queryParams,t.fragment))).pipe(Jr(o=>{throw o instanceof V_?this.noMatchError(o):o}))}noMatchError(t){return new Fe(4002,H_)}createUrlTree(t,e,i){const o=C0(t);return new ql(o,e,i)}expandSegmentGroup(t,e,i,o){return 0===i.segments.length&&i.hasChildren()?this.expandChildren(t,e,i).pipe(Ce(s=>new qt([],s))):this.expandSegment(t,i,e,i.segments,o,!0)}expandChildren(t,e,i){const o=[];for(const s of Object.keys(i.children))"primary"===s?o.unshift(s):o.push(s);return de(o).pipe(Wa(s=>{const a=i.children[s],l=GT(e,s);return this.expandSegmentGroup(t,l,a,s).pipe(Ce(c=>({segment:c,outlet:s})))}),x_((s,a)=>(s[a.outlet]=a.segment,s),{}),mT())}expandSegment(t,e,i,o,s,a){return de(i).pipe(Wa(l=>this.expandSegmentAgainstRoute(t,e,i,l,o,s,a).pipe(Jr(M=>{if(M instanceof V_)return We(null);throw M}))),qa(l=>!!l),Jr((l,c)=>{if(Y0(l))return QT(e,o,s)?We(new qt([],{})):vf(e);throw l}))}expandSegmentAgainstRoute(t,e,i,o,s,a,l){return XT(o,e,s,a)?void 0===o.redirectTo?this.matchSegmentAgainstRoute(t,e,o,s,a):l&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,e,i,o,s,a):vf(e):vf(e)}expandSegmentAgainstRouteUsingRedirect(t,e,i,o,s,a){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,i,o,a):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,i,o,s,a)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,e,i,o){const s=this.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?e2(s):this.lineralizeSegments(i,s).pipe(Ne(a=>{const l=new qt(a,{});return this.expandSegment(t,l,e,a,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,e,i,o,s,a){const{matched:l,consumedSegments:c,remainingSegments:M,positionalParamSegments:P}=H0(e,o,s);if(!l)return vf(e);const Y=this.applyRedirectCommands(c,o.redirectTo,P);return o.redirectTo.startsWith("/")?e2(Y):this.lineralizeSegments(o,Y).pipe(Ne(q=>this.expandSegment(t,e,i,q.concat(M),a,!1)))}matchSegmentAgainstRoute(t,e,i,o,s){return"**"===i.path?(t=$T(i,t),i.loadChildren?(i._loadedRoutes?We({routes:i._loadedRoutes,injector:i._loadedInjector}):this.configLoader.loadChildren(t,i)).pipe(Ce(l=>(i._loadedRoutes=l.routes,i._loadedInjector=l.injector,new qt(o,{})))):We(new qt(o,{}))):ZT(e,i,o,t).pipe(gr(({matched:a,consumedSegments:l,remainingSegments:c})=>a?this.getChildConfig(t=i._injector??t,i,o).pipe(Ne(P=>{const Y=P.injector??t,q=P.routes,{segmentGroup:te,slicedSegments:fe}=Y_(e,l,c,q),ke=new qt(te.segments,te.children);if(0===fe.length&&ke.hasChildren())return this.expandChildren(Y,q,ke).pipe(Ce(Ae=>new qt(l,Ae)));if(0===q.length&&0===fe.length)return We(new qt(l,{}));const Ie=No(i)===s;return this.expandSegment(Y,ke,q,fe,Ie?$t:s,!0).pipe(Ce(Xe=>new qt(l.concat(Xe.segments),Xe.children)))})):vf(e)))}getChildConfig(t,e,i){return e.children?We({routes:e.children,injector:t}):e.loadChildren?void 0!==e._loadedRoutes?We({routes:e._loadedRoutes,injector:e._loadedInjector}):function m6(n,t,e,i){const o=t.canLoad;return void 0===o||0===o.length?We(!0):We(o.map(a=>{const l=Vd(a,n);return Za(function t6(n){return n&&bf(n.canLoad)}(l)?l.canLoad(t,e):n.runInContext(()=>l(t,e)))})).pipe(jd(),KT())}(t,e,i).pipe(Ne(o=>o?this.configLoader.loadChildren(t,e).pipe(ui(s=>{e._loadedRoutes=s.routes,e._loadedInjector=s.injector})):function w6(n){return Ir(zT(H_,3))}())):We({routes:[],injector:t})}lineralizeSegments(t,e){let i=[],o=e.root;for(;;){if(i=i.concat(o.segments),0===o.numberOfChildren)return We(i);if(o.numberOfChildren>1||!o.children[$t])return Ir(new Fe(4e3,H_));o=o.children[$t]}}applyRedirectCommands(t,e,i){return this.applyRedirectCreateUrlTree(e,this.urlSerializer.parse(e),t,i)}applyRedirectCreateUrlTree(t,e,i,o){const s=this.createSegmentGroup(t,e.root,i,o);return new ql(s,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(t,e){const i={};return br(t,(o,s)=>{if("string"==typeof o&&o.startsWith(":")){const l=o.substring(1);i[s]=e[l]}else i[s]=o}),i}createSegmentGroup(t,e,i,o){const s=this.createSegments(t,e.segments,i,o);let a={};return br(e.children,(l,c)=>{a[c]=this.createSegmentGroup(t,l,i,o)}),new qt(s,a)}createSegments(t,e,i,o){return e.map(s=>s.path.startsWith(":")?this.findPosParam(t,s,o):this.findOrReturn(s,i))}findPosParam(t,e,i){const o=i[e.path.substring(1)];if(!o)throw new Fe(4001,H_);return o}findOrReturn(t,e){let i=0;for(const o of e){if(o.path===t.path)return e.splice(i),o;i++}return t}}class S6{}class L6{constructor(t,e,i,o,s,a,l){this.injector=t,this.rootComponentType=e,this.config=i,this.urlTree=o,this.url=s,this.paramsInheritanceStrategy=a,this.urlSerializer=l}recognize(){const t=Y_(this.urlTree.root,[],[],this.config.filter(e=>void 0===e.redirectTo)).segmentGroup;return this.processSegmentGroup(this.injector,this.config,t,$t).pipe(Ce(e=>{if(null===e)return null;const i=new O_([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},$t,this.rootComponentType,null,this.urlTree.root,-1,{}),o=new aa(i,e),s=new HT(this.url,o);return this.inheritParamsAndData(s._root),s}))}inheritParamsAndData(t){const e=t.value,i=BT(e,this.paramsInheritanceStrategy);e.params=Object.freeze(i.params),e.data=Object.freeze(i.data),t.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(t,e,i,o){return 0===i.segments.length&&i.hasChildren()?this.processChildren(t,e,i):this.processSegment(t,e,i,i.segments,o)}processChildren(t,e,i){return de(Object.keys(i.children)).pipe(Wa(o=>{const s=i.children[o],a=GT(e,o);return this.processSegmentGroup(t,a,s,o)}),x_((o,s)=>o&&s?(o.push(...s),o):null),_T(o=>null!==o),nf(null),mT(),Ce(o=>{if(null===o)return null;const s=n2(o);return function E6(n){n.sort((t,e)=>t.value.outlet===$t?-1:e.value.outlet===$t?1:t.value.outlet.localeCompare(e.value.outlet))}(s),s}))}processSegment(t,e,i,o,s){return de(e).pipe(Wa(a=>this.processSegmentAgainstRoute(a._injector??t,a,i,o,s)),qa(a=>!!a),Jr(a=>{if(Y0(a))return QT(i,o,s)?We([]):We(null);throw a}))}processSegmentAgainstRoute(t,e,i,o,s){if(e.redirectTo||!XT(e,i,o,s))return We(null);let a;if("**"===e.path){const l=o.length>0?vT(o).parameters:{},c=o2(i)+o.length;a=We({snapshot:new O_(o,l,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,s2(e),No(e),e.component??e._loadedComponent??null,e,r2(i),c,a2(e)),consumedSegments:[],remainingSegments:[]})}else a=ZT(i,e,o,t).pipe(Ce(({matched:l,consumedSegments:c,remainingSegments:M,parameters:P})=>{if(!l)return null;const Y=o2(i)+c.length;return{snapshot:new O_(c,P,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,s2(e),No(e),e.component??e._loadedComponent??null,e,r2(i),Y,a2(e)),consumedSegments:c,remainingSegments:M}}));return a.pipe(gr(l=>{if(null===l)return We(null);const{snapshot:c,consumedSegments:M,remainingSegments:P}=l;t=e._injector??t;const Y=e._loadedInjector??t,q=function I6(n){return n.children?n.children:n.loadChildren?n._loadedRoutes:[]}(e),{segmentGroup:te,slicedSegments:fe}=Y_(i,M,P,q.filter(Ie=>void 0===Ie.redirectTo));if(0===fe.length&&te.hasChildren())return this.processChildren(Y,q,te).pipe(Ce(Ie=>null===Ie?null:[new aa(c,Ie)]));if(0===q.length&&0===fe.length)return We([new aa(c,[])]);const ke=No(e)===s;return this.processSegment(Y,q,te,fe,ke?$t:s).pipe(Ce(Ie=>null===Ie?null:[new aa(c,Ie)]))}))}}function P6(n){const t=n.value.routeConfig;return t&&""===t.path&&void 0===t.redirectTo}function n2(n){const t=[],e=new Set;for(const i of n){if(!P6(i)){t.push(i);continue}const o=t.find(s=>i.value.routeConfig===s.value.routeConfig);void 0!==o?(o.children.push(...i.children),e.add(o)):t.push(i)}for(const i of e){const o=n2(i.children);t.push(new aa(i.value,o))}return t.filter(i=>!e.has(i))}function r2(n){let t=n;for(;t._sourceSegment;)t=t._sourceSegment;return t}function o2(n){let t=n,e=t._segmentIndexShift??0;for(;t._sourceSegment;)t=t._sourceSegment,e+=t._segmentIndexShift??0;return e-1}function s2(n){return n.data||{}}function a2(n){return n.resolve||{}}function l2(n){return"string"==typeof n.title||null===n.title}function V0(n){return gr(t=>{const e=n(t);return e?de(e).pipe(Ce(()=>t)):We(t)})}const zd=new Be("ROUTES");let j0=(()=>{class n{constructor(e,i){this.injector=e,this.compiler=i,this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap}loadComponent(e){if(this.componentLoaders.get(e))return this.componentLoaders.get(e);if(e._loadedComponent)return We(e._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(e);const i=Za(e.loadComponent()).pipe(Ce(d2),ui(s=>{this.onLoadEndListener&&this.onLoadEndListener(e),e._loadedComponent=s}),C_(()=>{this.componentLoaders.delete(e)})),o=new Gr(i,()=>new X).pipe(jt());return this.componentLoaders.set(e,o),o}loadChildren(e,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return We({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const s=this.loadModuleFactoryOrRoutes(i.loadChildren).pipe(Ce(l=>{this.onLoadEndListener&&this.onLoadEndListener(i);let c,M,P=!1;Array.isArray(l)?M=l:(c=l.create(e).injector,M=bT(c.get(zd,[],Mt.Self|Mt.Optional)));return{routes:M.map(N0),injector:c}}),C_(()=>{this.childrenLoaders.delete(i)})),a=new Gr(s,()=>new X).pipe(jt());return this.childrenLoaders.set(i,a),a}loadModuleFactoryOrRoutes(e){return Za(e()).pipe(Ce(d2),Ne(o=>o instanceof XC||Array.isArray(o)?We(o):de(this.compiler.compileModuleAsync(o))))}}return n.\u0275fac=function(e){return new(e||n)(we(mi),we(Bk))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function d2(n){return function V6(n){return n&&"object"==typeof n&&"default"in n}(n)?n.default:n}let z0=(()=>{class n{constructor(){this.currentNavigation=null,this.lastSuccessfulNavigation=null,this.events=new X,this.configLoader=Lt(j0),this.environmentInjector=Lt(gs),this.urlSerializer=Lt(lf),this.rootContexts=Lt(pf),this.navigationId=0,this.configLoader.onLoadEndListener=o=>this.events.next(new L8(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new T8(o))}get hasRequestedNavigation(){return 0!==this.navigationId}complete(){this.transitions?.complete()}handleNavigationRequest(e){const i=++this.navigationId;this.transitions?.next({...this.transitions.value,...e,id:i})}setupNavigations(e){return this.transitions=new Er({id:0,targetPageId:0,currentUrlTree:e.currentUrlTree,currentRawUrl:e.currentUrlTree,extractedUrl:e.urlHandlingStrategy.extract(e.currentUrlTree),urlAfterRedirects:e.urlHandlingStrategy.extract(e.currentUrlTree),rawUrl:e.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:e.routerState.snapshot,targetSnapshot:null,currentRouterState:e.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(ki(i=>0!==i.id),Ce(i=>({...i,extractedUrl:e.urlHandlingStrategy.extract(i.rawUrl)})),gr(i=>{let o=!1,s=!1;return We(i).pipe(ui(a=>{this.currentNavigation={id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),gr(a=>{const l=e.browserUrlTree.toString(),c=!e.navigated||a.extractedUrl.toString()!==l||l!==e.currentUrlTree.toString();if(("reload"===e.onSameUrlNavigation||c)&&e.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return h2(a.source)&&(e.browserUrlTree=a.extractedUrl),We(a).pipe(gr(P=>{const Y=this.transitions?.getValue();return this.events.next(new T0(P.id,this.urlSerializer.serialize(P.extractedUrl),P.source,P.restoredState)),Y!==this.transitions?.getValue()?Ga:Promise.resolve(P)}),function k6(n,t,e,i){return gr(o=>function x6(n,t,e,i,o){return new C6(n,t,e,i,o).apply()}(n,t,e,o.extractedUrl,i).pipe(Ce(s=>({...o,urlAfterRedirects:s}))))}(this.environmentInjector,this.configLoader,this.urlSerializer,e.config),ui(P=>{this.currentNavigation={...this.currentNavigation,finalUrl:P.urlAfterRedirects},i.urlAfterRedirects=P.urlAfterRedirects}),function A6(n,t,e,i,o){return Ne(s=>function T6(n,t,e,i,o,s,a="emptyOnly"){return new L6(n,t,e,i,o,a,s).recognize().pipe(gr(l=>null===l?function D6(n){return new ce(t=>t.error(n))}(new S6):We(l)))}(n,t,e,s.urlAfterRedirects,i.serialize(s.urlAfterRedirects),i,o).pipe(Ce(a=>({...s,targetSnapshot:a}))))}(this.environmentInjector,e.rootComponentType,e.config,this.urlSerializer,e.paramsInheritanceStrategy),ui(P=>{if(i.targetSnapshot=P.targetSnapshot,"eager"===e.urlUpdateStrategy){if(!P.extras.skipLocationChange){const q=e.urlHandlingStrategy.merge(P.urlAfterRedirects,P.rawUrl);e.setBrowserUrl(q,P)}e.browserUrlTree=P.urlAfterRedirects}const Y=new x8(P.id,this.urlSerializer.serialize(P.extractedUrl),this.urlSerializer.serialize(P.urlAfterRedirects),P.targetSnapshot);this.events.next(Y)}));if(c&&e.rawUrlTree&&e.urlHandlingStrategy.shouldProcessUrl(e.rawUrlTree)){const{id:Y,extractedUrl:q,source:te,restoredState:fe,extras:ke}=a,Ie=new T0(Y,this.urlSerializer.serialize(q),te,fe);this.events.next(Ie);const Re=YT(q,e.rootComponentType).snapshot;return We(i={...a,targetSnapshot:Re,urlAfterRedirects:q,extras:{...ke,skipLocationChange:!1,replaceUrl:!1}})}return e.rawUrlTree=a.rawUrl,a.resolve(null),Ga}),ui(a=>{const l=new C8(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}),Ce(a=>i={...a,guards:Z8(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),function a6(n,t){return Ne(e=>{const{targetSnapshot:i,currentSnapshot:o,guards:{canActivateChecks:s,canDeactivateChecks:a}}=e;return 0===a.length&&0===s.length?We({...e,guardsResult:!0}):function l6(n,t,e,i){return de(n).pipe(Ne(o=>function p6(n,t,e,i,o){const s=t&&t.routeConfig?t.routeConfig.canDeactivate:null;return s&&0!==s.length?We(s.map(l=>{const c=mf(t)??o,M=Vd(l,c);return Za(function r6(n){return n&&bf(n.canDeactivate)}(M)?M.canDeactivate(n,t,e,i):c.runInContext(()=>M(n,t,e,i))).pipe(qa())})).pipe(jd()):We(!0)}(o.component,o.route,e,t,i)),qa(o=>!0!==o,!0))}(a,i,o,n).pipe(Ne(l=>l&&function e6(n){return"boolean"==typeof n}(l)?function c6(n,t,e,i){return de(t).pipe(Wa(o=>Gl(function u6(n,t){return null!==n&&t&&t(new E8(n)),We(!0)}(o.route.parent,i),function d6(n,t){return null!==n&&t&&t(new P8(n)),We(!0)}(o.route,i),function f6(n,t,e){const i=t[t.length-1],s=t.slice(0,t.length-1).reverse().map(a=>function X8(n){const t=n.routeConfig?n.routeConfig.canActivateChild:null;return t&&0!==t.length?{node:n,guards:t}:null}(a)).filter(a=>null!==a).map(a=>tf(()=>We(a.guards.map(c=>{const M=mf(a.node)??e,P=Vd(c,M);return Za(function i6(n){return n&&bf(n.canActivateChild)}(P)?P.canActivateChild(i,n):M.runInContext(()=>P(i,n))).pipe(qa())})).pipe(jd())));return We(s).pipe(jd())}(n,o.path,e),function h6(n,t,e){const i=t.routeConfig?t.routeConfig.canActivate:null;if(!i||0===i.length)return We(!0);const o=i.map(s=>tf(()=>{const a=mf(t)??e,l=Vd(s,a);return Za(function n6(n){return n&&bf(n.canActivate)}(l)?l.canActivate(t,n):a.runInContext(()=>l(t,n))).pipe(qa())}));return We(o).pipe(jd())}(n,o.route,e))),qa(o=>!0!==o,!0))}(i,s,n,t):We(l)),Ce(l=>({...e,guardsResult:l})))})}(this.environmentInjector,a=>this.events.next(a)),ui(a=>{if(i.guardsResult=a.guardsResult,Zl(a.guardsResult))throw jT(0,a.guardsResult);const l=new k8(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.events.next(l)}),ki(a=>!!a.guardsResult||(e.restoreHistory(a),this.cancelNavigationTransition(a,"",3,e),!1)),V0(a=>{if(a.guards.canActivateChecks.length)return We(a).pipe(ui(l=>{const c=new S8(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(c)}),gr(l=>{let c=!1;return We(l).pipe(function F6(n,t){return Ne(e=>{const{targetSnapshot:i,guards:{canActivateChecks:o}}=e;if(!o.length)return We(e);let s=0;return de(o).pipe(Wa(a=>function R6(n,t,e,i){const o=n.routeConfig,s=n._resolve;return void 0!==o?.title&&!l2(o)&&(s[sf]=o.title),function N6(n,t,e,i){const o=function Y6(n){return[...Object.keys(n),...Object.getOwnPropertySymbols(n)]}(n);if(0===o.length)return We({});const s={};return de(o).pipe(Ne(a=>function B6(n,t,e,i){const o=mf(t)??i,s=Vd(n,o);return Za(s.resolve?s.resolve(t,e):o.runInContext(()=>s(t,e)))}(n[a],t,e,i).pipe(qa(),ui(l=>{s[a]=l}))),rf(1),function WV(n){return t=>t.lift(new $V(n))}(s),Jr(a=>Y0(a)?Ga:Ir(a)))}(s,n,t,i).pipe(Ce(a=>(n._resolvedData=a,n.data=BT(n,e).resolve,o&&l2(o)&&(n.data[sf]=o.title),null)))}(a.route,i,n,t)),ui(()=>s++),rf(1),Ne(a=>s===o.length?We(e):Ga))})}(e.paramsInheritanceStrategy,this.environmentInjector),ui({next:()=>c=!0,complete:()=>{c||(e.restoreHistory(l),this.cancelNavigationTransition(l,"",2,e))}}))}),ui(l=>{const c=new D8(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(c)}))}),V0(a=>{const l=c=>{const M=[];c.routeConfig?.loadComponent&&!c.routeConfig._loadedComponent&&M.push(this.configLoader.loadComponent(c.routeConfig).pipe(ui(P=>{c.component=P}),Ce(()=>{})));for(const P of c.children)M.push(...l(P));return M};return M0(l(a.targetSnapshot.root)).pipe(nf(),ei(1))}),V0(()=>e.afterPreactivation()),Ce(a=>{const l=function B8(n,t,e){const i=ff(n,t._root,e?e._root:void 0);return new NT(i,t)}(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return i={...a,targetRouterState:l}}),ui(a=>{e.currentUrlTree=a.urlAfterRedirects,e.rawUrlTree=e.urlHandlingStrategy.merge(a.urlAfterRedirects,a.rawUrl),e.routerState=a.targetRouterState,"deferred"===e.urlUpdateStrategy&&(a.extras.skipLocationChange||e.setBrowserUrl(e.rawUrlTree,a),e.browserUrlTree=a.urlAfterRedirects)}),((n,t,e)=>Ce(i=>(new K8(t,i.targetRouterState,i.currentRouterState,e).activate(n),i)))(this.rootContexts,e.routeReuseStrategy,a=>this.events.next(a)),ui({next:a=>{o=!0,this.lastSuccessfulNavigation=this.currentNavigation,e.navigated=!0,this.events.next(new Xa(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(e.currentUrlTree))),e.titleStrategy?.updateTitle(a.targetRouterState.snapshot),a.resolve(!0)},complete:()=>{o=!0}}),C_(()=>{o||s||this.cancelNavigationTransition(i,"",1,e),this.currentNavigation?.id===i.id&&(this.currentNavigation=null)}),Jr(a=>{if(s=!0,WT(a)){UT(a)||(e.navigated=!0,e.restoreHistory(i,!0));const l=new P_(i.id,this.urlSerializer.serialize(i.extractedUrl),a.message,a.cancellationCode);if(this.events.next(l),UT(a)){const c=e.urlHandlingStrategy.merge(a.url,e.rawUrlTree),M={skipLocationChange:i.extras.skipLocationChange,replaceUrl:"eager"===e.urlUpdateStrategy||h2(i.source)};e.scheduleNavigation(c,"imperative",null,M,{resolve:i.resolve,reject:i.reject,promise:i.promise})}else i.resolve(!1)}else{e.restoreHistory(i,!0);const l=new AT(i.id,this.urlSerializer.serialize(i.extractedUrl),a,i.targetSnapshot??void 0);this.events.next(l);try{i.resolve(e.errorHandler(a))}catch(c){i.reject(c)}}return Ga}))}))}cancelNavigationTransition(e,i,o,s){const a=new P_(e.id,this.urlSerializer.serialize(e.extractedUrl),i,o);this.events.next(a),e.resolve(!1)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function h2(n){return"imperative"!==n}let f2=(()=>{class n{buildTitle(e){let i,o=e.root;for(;void 0!==o;)i=this.getResolvedTitleForRoute(o)??i,o=o.children.find(s=>s.outlet===$t);return i}getResolvedTitleForRoute(e){return e.data[sf]}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:function(){return Lt(j6)},providedIn:"root"}),n})(),j6=(()=>{class n extends f2{constructor(e){super(),this.title=e}updateTitle(e){const i=this.buildTitle(e);void 0!==i&&this.title.setTitle(i)}}return n.\u0275fac=function(e){return new(e||n)(we(oD))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),p2=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:function(){return Lt(U6)},providedIn:"root"}),n})();class z6{shouldDetach(t){return!1}store(t,e){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,e){return t.routeConfig===e.routeConfig}}let U6=(()=>{class n extends z6{}return n.\u0275fac=function(){let t;return function(i){return(t||(t=zn(n)))(i||n)}}(),n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const j_=new Be("",{providedIn:"root",factory:()=>({})});let $6=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:function(){return Lt(G6)},providedIn:"root"}),n})(),G6=(()=>{class n{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,i){return e}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function q6(n){throw n}function K6(n,t,e){return t.parse("/")}const Z6={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},X6={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Xt=(()=>{class n{constructor(){this.disposed=!1,this.currentPageId=0,this.console=Lt(RN),this.isNgZoneEnabled=!1,this.options=Lt(j_,{optional:!0})||{},this.errorHandler=this.options.errorHandler||q6,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||K6,this.navigated=!1,this.lastSuccessfulId=-1,this.afterPreactivation=()=>We(void 0),this.urlHandlingStrategy=Lt($6),this.routeReuseStrategy=Lt(p2),this.urlCreationStrategy=Lt(R8),this.titleStrategy=Lt(f2),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=bT(Lt(zd,{optional:!0})??[]),this.navigationTransitions=Lt(z0),this.urlSerializer=Lt(lf),this.location=Lt(Vh),this.rootComponentType=null,this.isNgZoneEnabled=Lt(pt)instanceof pt&&pt.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new ql,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=YT(this.currentUrlTree,this.rootComponentType),this.navigationTransitions.setupNavigations(this).subscribe(e=>{this.lastSuccessfulId=e.id,this.currentPageId=e.targetPageId},e=>{this.console.warn(`Unhandled Navigation Error: ${e}`)})}get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return this.location.getState()?.\u0275routerPageId}get events(){return this.navigationTransitions.events}resetRootComponentType(e){this.rootComponentType=e,this.routerState.root.component=this.rootComponentType}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(e=>{const i="popstate"===e.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{const o={replaceUrl:!0},s=e.state?.navigationId?e.state:null;if(e.state){const l={...e.state};delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(o.state=l)}const a=this.parseUrl(e.url);this.scheduleNavigation(a,i,s,o)},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}resetConfig(e){this.config=e.map(N0),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(e,i={}){const{relativeTo:o,queryParams:s,fragment:a,queryParamsHandling:l,preserveFragment:c}=i,M=c?this.currentUrlTree.fragment:a;let P=null;switch(l){case"merge":P={...this.currentUrlTree.queryParams,...s};break;case"preserve":P=this.currentUrlTree.queryParams;break;default:P=s||null}return null!==P&&(P=this.removeEmptyProps(P)),this.urlCreationStrategy.createUrlTree(o,this.routerState,this.currentUrlTree,e,P,M??null)}navigateByUrl(e,i={skipLocationChange:!1}){const o=Zl(e)?e:this.parseUrl(e),s=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(s,"imperative",null,i)}navigate(e,i={skipLocationChange:!1}){return function Q6(n){for(let t=0;t{const s=e[o];return null!=s&&(i[o]=s),i},{})}scheduleNavigation(e,i,o,s,a){if(this.disposed)return Promise.resolve(!1);let l,c,M,P;return a?(l=a.resolve,c=a.reject,M=a.promise):M=new Promise((Y,q)=>{l=Y,c=q}),"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(o=this.location.getState()),P=o&&o.\u0275routerPageId?o.\u0275routerPageId:s.replaceUrl||s.skipLocationChange?this.browserPageId??0:(this.browserPageId??0)+1):P=0,this.navigationTransitions.handleNavigationRequest({targetPageId:P,source:i,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:s,resolve:l,reject:c,promise:M,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),M.catch(Y=>Promise.reject(Y))}setBrowserUrl(e,i){const o=this.urlSerializer.serialize(e),s={...i.extras.state,...this.generateNgRouterState(i.id,i.targetPageId)};this.location.isCurrentPathEqualTo(o)||i.extras.replaceUrl?this.location.replaceState(o,"",s):this.location.go(o,"",s)}restoreHistory(e,i=!1){if("computed"===this.canceledNavigationResolution){const o=this.currentPageId-e.targetPageId;"popstate"!==e.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==this.getCurrentNavigation()?.finalUrl||0===o?this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===o&&(this.resetState(e),this.browserUrlTree=e.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(o)}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){this.routerState=e.currentRouterState,this.currentUrlTree=e.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,i){return"computed"===this.canceledNavigationResolution?{navigationId:e,\u0275routerPageId:i}:{navigationId:e}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Qa=(()=>{class n{constructor(e,i,o,s,a,l){this.router=e,this.route=i,this.tabIndexAttribute=o,this.renderer=s,this.el=a,this.locationStrategy=l,this._preserveFragment=!1,this._skipLocationChange=!1,this._replaceUrl=!1,this.href=null,this.commands=null,this.onChanges=new X;const c=a.nativeElement.tagName;this.isAnchorElement="A"===c||"AREA"===c,this.isAnchorElement?this.subscription=e.events.subscribe(M=>{M instanceof Xa&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}set preserveFragment(e){this._preserveFragment=Od(e)}get preserveFragment(){return this._preserveFragment}set skipLocationChange(e){this._skipLocationChange=Od(e)}get skipLocationChange(){return this._skipLocationChange}set replaceUrl(e){this._replaceUrl=Od(e)}get replaceUrl(){return this._replaceUrl}setTabIndexIfNotOnNativeEl(e){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(e){null!=e?(this.commands=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(e,i,o,s,a){return!!(null===this.urlTree||this.isAnchorElement&&(0!==e||i||o||s||a||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(this.urlTree,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const e=null===this.href?null:function Lw(n,t,e){return function GO(n,t){return"src"===t&&("embed"===n||"frame"===n||"iframe"===n||"media"===n||"script"===n)||"href"===t&&("base"===n||"link"===n)?Tw:_s}(t,e)(n)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",e)}applyAttributeValue(e,i){const o=this.renderer,s=this.el.nativeElement;null!==i?o.setAttribute(s,e,i):o.removeAttribute(s,e)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}}return n.\u0275fac=function(e){return new(e||n)(F(Xt),F(vr),Ra("tabindex"),F(qs),F(bt),F(jl))},n.\u0275dir=Ke({type:n,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(e,i){1&e&&ye("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),2&e&&Ut("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",relativeTo:"relativeTo",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",routerLink:"routerLink"},standalone:!0,features:[Gi]}),n})();class _2{}let tj=(()=>{class n{constructor(e,i,o,s,a){this.router=e,this.injector=o,this.preloadingStrategy=s,this.loader=a}setUpPreloading(){this.subscription=this.router.events.pipe(ki(e=>e instanceof Xa),Wa(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,i){const o=[];for(const s of i){s.providers&&!s._injector&&(s._injector=Im(s.providers,e,`Route: ${s.path}`));const a=s._injector??e,l=s._loadedInjector??a;s.loadChildren&&!s._loadedRoutes&&void 0===s.canLoad||s.loadComponent&&!s._loadedComponent?o.push(this.preloadConfig(a,s)):(s.children||s._loadedRoutes)&&o.push(this.processRoutes(l,s.children??s._loadedRoutes))}return de(o).pipe(on())}preloadConfig(e,i){return this.preloadingStrategy.preload(i,()=>{let o;o=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(e,i):We(null);const s=o.pipe(Ne(a=>null===a?We(void 0):(i._loadedRoutes=a.routes,i._loadedInjector=a.injector,this.processRoutes(a.injector??e,a.routes))));return i.loadComponent&&!i._loadedComponent?de([s,this.loader.loadComponent(i)]).pipe(on()):s})}}return n.\u0275fac=function(e){return new(e||n)(we(Xt),we(Bk),we(gs),we(_2),we(j0))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const U0=new Be("");let g2=(()=>{class n{constructor(e,i,o,s,a={}){this.urlSerializer=e,this.transitions=i,this.viewportScroller=o,this.zone=s,this.options=a,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},a.scrollPositionRestoration=a.scrollPositionRestoration||"disabled",a.anchorScrolling=a.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof T0?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof Xa&&(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof FT&&(e.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(e.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,i){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new FT(e,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}}return n.\u0275fac=function(e){Ya()},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();function Wd(n,t){return{\u0275kind:n,\u0275providers:t}}function v2(){const n=Lt(mi);return t=>{const e=n.get(Pd);if(t!==e.components[0])return;const i=n.get(Xt),o=n.get(y2);1===n.get($0)&&i.initialNavigation(),n.get(M2,null,Mt.Optional)?.setUpPreloading(),n.get(U0,null,Mt.Optional)?.init(),i.resetRootComponentType(e.componentTypes[0]),o.closed||(o.next(),o.unsubscribe())}}const y2=new Be("",{factory:()=>new X}),$0=new Be("",{providedIn:"root",factory:()=>1});const M2=new Be("");function sj(n){return Wd(0,[{provide:M2,useExisting:tj},{provide:_2,useExisting:n}])}const w2=new Be("ROUTER_FORROOT_GUARD"),aj=[Vh,{provide:lf,useClass:w0},Xt,pf,{provide:vr,useFactory:function b2(n){return n.routerState.root},deps:[Xt]},j0,[]];function lj(){return new $k("Router",Xt)}let x2=(()=>{class n{constructor(e){}static forRoot(e,i){return{ngModule:n,providers:[aj,[],{provide:zd,multi:!0,useValue:e},{provide:w2,useFactory:hj,deps:[[Xt,new $s,new ld]]},{provide:j_,useValue:i||{}},i?.useHash?{provide:jl,useClass:C4}:{provide:jl,useClass:mS},{provide:U0,useFactory:()=>{const n=Lt(j5),t=Lt(pt),e=Lt(j_),i=Lt(z0),o=Lt(lf);return e.scrollOffset&&n.setOffset(e.scrollOffset),new g2(o,i,n,t,e)}},i?.preloadingStrategy?sj(i.preloadingStrategy).\u0275providers:[],{provide:$k,multi:!0,useFactory:lj},i?.initialNavigation?fj(i):[],[{provide:C2,useFactory:v2},{provide:Yk,multi:!0,useExisting:C2}]]}}static forChild(e){return{ngModule:n,providers:[{provide:zd,multi:!0,useValue:e}]}}}return n.\u0275fac=function(e){return new(e||n)(we(w2,8))},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[F0]}),n})();function hj(n){return"guarded"}function fj(n){return["disabled"===n.initialNavigation?Wd(3,[{provide:Fm,multi:!0,useFactory:()=>{const t=Lt(Xt);return()=>{t.setUpLocationChangeListener()}}},{provide:$0,useValue:2}]).\u0275providers:[],"enabledBlocking"===n.initialNavigation?Wd(2,[{provide:$0,useValue:0},{provide:Fm,multi:!0,deps:[mi],useFactory:t=>{const e=t.get(w4,Promise.resolve());return()=>e.then(()=>new Promise(o=>{const s=t.get(Xt),a=t.get(y2);(function i(o){t.get(Xt).events.pipe(ki(a=>a instanceof Xa||a instanceof P_||a instanceof AT),Ce(a=>a instanceof Xa||a instanceof P_&&(0===a.code||1===a.code)&&null),ki(a=>null!==a),ei(1)).subscribe(()=>{o()})})(()=>{o(!0)}),s.afterPreactivation=()=>(o(!0),a.closed?We(void 0):a),s.initialNavigation()}))}}]).\u0275providers:[]]}const C2=new Be("");class mj extends T{constructor(t,e){super()}schedule(t,e=0){return this}}class z_ extends mj{constructor(t,e){super(t,e),this.scheduler=t,this.work=e,this.pending=!1}schedule(t,e=0){if(this.closed)return this;this.state=t;const i=this.id,o=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(o,i,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(o,this.id,e),this}requestAsyncId(t,e,i=0){return setInterval(t.flush.bind(t,this),i)}recycleAsyncId(t,e,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return e;clearInterval(e)}execute(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(t,e);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,e){let o,i=!1;try{this.work(t)}catch(s){i=!0,o=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),o}_unsubscribe(){const t=this.id,e=this.scheduler,i=e.actions,o=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==o&&i.splice(o,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null}}let k2=(()=>{class n{constructor(e,i=n.now){this.SchedulerAction=e,this.now=i}schedule(e,i=0,o){return new this.SchedulerAction(this,e).schedule(o,i)}}return n.now=()=>Date.now(),n})();class is extends k2{constructor(t,e=k2.now){super(t,()=>is.delegate&&is.delegate!==this?is.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,i){return is.delegate&&is.delegate!==this?is.delegate.schedule(t,e,i):super.schedule(t,e,i)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let i;this.active=!0;do{if(i=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,i){for(;t=e.shift();)t.unsubscribe();throw i}}}const $d=new is(z_);class eo{constructor(t,e,i){this.kind=t,this.value=e,this.error=i,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,i){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return i&&i()}}accept(t,e,i){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,i)}toObservable(){switch(this.kind){case"N":return We(this.value);case"E":return Ir(this.error);case"C":return w_()}throw new Error("unexpected notification kind value")}static createNext(t){return typeof t<"u"?new eo("N",t):eo.undefinedValueNotification}static createError(t){return new eo("E",void 0,t)}static createComplete(){return eo.completeNotification}}function Ai(n,t=$d){const i=function _j(n){return n instanceof Date&&!isNaN(+n)}(n)?+n-t.now():Math.abs(n);return o=>o.lift(new gj(i,t))}eo.completeNotification=new eo("C"),eo.undefinedValueNotification=new eo("N",void 0);class gj{constructor(t,e){this.delay=t,this.scheduler=e}call(t,e){return e.subscribe(new G0(t,this.delay,this.scheduler))}}class G0 extends A{constructor(t,e,i){super(t),this.delay=e,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(t){const e=t.source,i=e.queue,o=t.scheduler,s=t.destination;for(;i.length>0&&i[0].time-o.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const a=Math.max(0,i[0].time-o.now());this.schedule(t,a)}else this.unsubscribe(),e.active=!1}_schedule(t){this.active=!0,this.destination.add(t.schedule(G0.dispatch,this.delay,{source:this,destination:this.destination,scheduler:t}))}scheduleNotification(t){if(!0===this.errored)return;const e=this.scheduler,i=new bj(e.now()+this.delay,t);this.queue.push(i),!1===this.active&&this._schedule(e)}_next(t){this.scheduleNotification(eo.createNext(t))}_error(t){this.errored=!0,this.queue=[],this.destination.error(t),this.unsubscribe()}_complete(){this.scheduleNotification(eo.createComplete()),this.unsubscribe()}}class bj{constructor(t,e){this.time=t,this.notification=e}}var Gd=(()=>(function(n){n.NoConnection="NoConnection",n.Unknown="Unknown"}(Gd||(Gd={})),Gd))();class vj{}const S2="common.operation-error";function Qt(n){if(n&&n.type&&!n.srcElement)return n;const t=new vj;if(t.originalError=n,!n||"string"==typeof n)return t.originalServerErrorMsg=n||"",t.translatableErrorMsg=n||S2,t.type=Gd.Unknown,t;t.originalServerErrorMsg=function Mj(n){if(n){if("string"==typeof n._body)return n._body;if(n.originalServerErrorMsg&&"string"==typeof n.originalServerErrorMsg)return n.originalServerErrorMsg;if(n.error&&"string"==typeof n.error)return n.error;if(n.error&&n.error.error&&n.error.error.message)return n.error.error.message;if(n.error&&n.error.error&&"string"==typeof n.error.error)return n.error.error;if(n.message)return n.message;if(n._body&&n._body.error)return n._body.error;try{return JSON.parse(n._body).error}catch{}}return null}(n);return null!=n.status&&(0===n.status||504===n.status)&&(t.type=Gd.NoConnection,t.translatableErrorMsg="common.no-connection-error"),t.type||(t.type=Gd.Unknown,t.translatableErrorMsg=t.originalServerErrorMsg?function yj(n){if(!n||0===n.length)return n;if(-1!==n.indexOf('"error":'))try{n=JSON.parse(n).error}catch{}if(n.startsWith("400")||n.startsWith("403")){const e=n.split(" - ",2);n=2===e.length?e[1]:n}const t=(n=n.trim()).substr(0,1);return t.toUpperCase()!==t&&(n=t.toUpperCase()+n.substr(1,n.length-1)),!n.endsWith(".")&&!n.endsWith(",")&&!n.endsWith(":")&&!n.endsWith(";")&&!n.endsWith("?")&&!n.endsWith("!")&&(n+="."),n}(t.originalServerErrorMsg):S2),t}const Cj=new class xj extends is{}(class wj extends z_{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(t,e,i):t.flush(this)}});class U_ extends A{constructor(t,e,i=0){super(t),this.scheduler=e,this.delay=i}static dispatch(t){const{notification:e,destination:i}=t;e.observe(i),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(U_.dispatch,this.delay,new Sj(t,this.destination)))}_next(t){this.scheduleMessage(eo.createNext(t))}_error(t){this.scheduleMessage(eo.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage(eo.createComplete()),this.unsubscribe()}}class Sj{constructor(t,e){this.notification=t,this.destination=e}}class Yo extends X{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){if(!this.isStopped){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift()}super.next(t)}nextTimeWindow(t){this.isStopped||(this._events.push(new Dj(this._getNow(),t)),this._trimBufferThenGetEvents()),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,i=e?this._events:this._trimBufferThenGetEvents(),o=this.scheduler,s=i.length;let a;if(this.closed)throw new ee;if(this.isStopped||this.hasError?a=T.EMPTY:(this.observers.push(t),a=new ae(this,t)),o&&t.add(t=new U_(t,o)),e)for(let l=0;le&&(a=Math.max(a,s-e)),a>0&&o.splice(0,a),o}}class Dj{constructor(t,e){this.time=t,this.value=e}}const W_="refreshSeconds",$_="labelsData",G_="localNodesData",D2="nodesData";var yr=(()=>(function(n){n.Node="nd",n.Transport="tp",n.DmsgServer="ds"}(yr||(yr={})),yr))();class ti{constructor(){this.currentRefreshTimeSubject=new Yo(1),this.savedLocalNodes=new Map,this.savedLabels=new Map,this.savedVisibleLocalNodes=new Set}initialize(t){this.storage=localStorage,this.hypervisorPk=t,this.migrateDataToHvStorage(),this.currentRefreshTime=parseInt(this.getDataForHv(W_),10)||10,this.currentRefreshTimeSubject.next(this.currentRefreshTime),this.getSavedLocalNodes().forEach(o=>{this.savedLocalNodes.set(o.publicKey,o),o.hidden||this.savedVisibleLocalNodes.add(o.publicKey)}),this.getSavedLabels().forEach(o=>this.savedLabels.set(o.id,o)),this.loadLegacyNodeData();const e=[];this.savedLocalNodes.forEach(o=>e.push(o));const i=[];this.savedLabels.forEach(o=>i.push(o)),this.saveLocalNodes(e),this.saveLabels(i)}getDataForHv(t){return this.storage.getItem(this.hypervisorPk+t)}setDataForHv(t,e){return this.storage.setItem(this.hypervisorPk+t,e)}migrateDataToHvStorage(){const t=this.storage.getItem(W_);if(t){const o=parseInt(t,10)||10;this.setRefreshTime(o),this.storage.removeItem(W_)}const e=this.storage.getItem(G_);if(e){const o=JSON.parse(e)||[];this.saveLocalNodes(o),this.storage.removeItem(G_)}const i=this.storage.getItem($_);if(i){const o=JSON.parse(i)||[];this.saveLabels(o),this.storage.removeItem($_)}}loadLegacyNodeData(){const t=JSON.parse(this.storage.getItem(D2))||[];if(t.length>0){const e=this.getSavedLocalNodes(),i=this.getSavedLabels();t.forEach(o=>{e.push({publicKey:o.publicKey,hidden:o.deleted,ip:null}),this.savedLocalNodes.set(o.publicKey,e[e.length-1]),o.deleted||this.savedVisibleLocalNodes.add(o.publicKey),i.push({id:o.publicKey,identifiedElementType:yr.Node,label:o.label}),this.savedLabels.set(o.publicKey,i[i.length-1])}),this.saveLocalNodes(e),this.saveLabels(i),this.storage.removeItem(D2)}}setRefreshTime(t){this.setDataForHv(W_,t.toString()),this.currentRefreshTime=t,this.currentRefreshTimeSubject.next(this.currentRefreshTime)}getRefreshTimeObservable(){return this.currentRefreshTimeSubject.asObservable()}getRefreshTime(){return this.currentRefreshTime}includeVisibleLocalNodes(t,e){this.changeLocalNodesHiddenProperty(t,e,!1)}setLocalNodesAsHidden(t,e){this.changeLocalNodesHiddenProperty(t,e,!0)}changeLocalNodesHiddenProperty(t,e,i){if(t.length!==e.length)throw new Error("Invalid params");const o=new Map,s=new Map;t.forEach((c,M)=>{o.set(c,e[M]),s.set(c,e[M])});let a=!1;const l=this.getSavedLocalNodes();l.forEach(c=>{o.has(c.publicKey)&&(s.has(c.publicKey)&&s.delete(c.publicKey),c.ip!==o.get(c.publicKey)&&(c.ip=o.get(c.publicKey),a=!0,this.savedLocalNodes.set(c.publicKey,c)),c.hidden!==i&&(c.hidden=i,a=!0,this.savedLocalNodes.set(c.publicKey,c),i?this.savedVisibleLocalNodes.delete(c.publicKey):this.savedVisibleLocalNodes.add(c.publicKey)))}),s.forEach((c,M)=>{a=!0;const P={publicKey:M,hidden:i,ip:c};l.push(P),this.savedLocalNodes.set(M,P),i?this.savedVisibleLocalNodes.delete(M):this.savedVisibleLocalNodes.add(M)}),a&&this.saveLocalNodes(l)}getSavedLocalNodes(){return JSON.parse(this.getDataForHv(G_))||[]}getSavedVisibleLocalNodes(){return this.savedVisibleLocalNodes}saveLocalNodes(t){this.setDataForHv(G_,JSON.stringify(t))}getSavedLabels(){return JSON.parse(this.getDataForHv($_))||[]}saveLabels(t){this.setDataForHv($_,JSON.stringify(t))}saveLabel(t,e,i){if(e){let o=!1;const s=this.getSavedLabels().map(a=>(a.id===t&&a.identifiedElementType===i&&(o=!0,a.label=e,this.savedLabels.set(a.id,{label:a.label,id:a.id,identifiedElementType:a.identifiedElementType})),a));if(o)this.saveLabels(s);else{const a={label:e,id:t,identifiedElementType:i};s.push(a),this.savedLabels.set(t,a),this.saveLabels(s)}}else{this.savedLabels.has(t)&&this.savedLabels.delete(t);let o=!1;const s=this.getSavedLabels().filter(a=>a.id!==t||(o=!0,!1));o&&this.saveLabels(s)}}getDefaultLabel(t){return t?t.ip?t.ip:t.localPk.substr(0,8):""}getLabelInfo(t){return this.savedLabels.has(t)?this.savedLabels.get(t):null}}function hn(n){return null!=n&&"false"!=`${n}`}function vo(n,t=0){return function Tj(n){return!isNaN(parseFloat(n))&&!isNaN(Number(n))}(n)?Number(n):t}function q_(n){return Array.isArray(n)?n:[n]}function Wi(n){return null==n?"":"string"==typeof n?n:`${n}px`}function la(n){return n instanceof bt?n.nativeElement:n}function qd(n,t,e,i){return O(e)&&(i=e,e=void 0),i?qd(n,t,e).pipe(Ce(o=>y(o)?i(...o):i(o))):new ce(o=>{T2(n,t,function s(a){o.next(arguments.length>1?Array.prototype.slice.call(arguments):a)},o,e)})}function T2(n,t,e,i,o){let s;if(function Ij(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const a=n;n.addEventListener(t,e,o),s=()=>a.removeEventListener(t,e,o)}else if(function Ej(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const a=n;n.on(t,e),s=()=>a.off(t,e)}else if(function Lj(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const a=n;n.addListener(t,e),s=()=>a.removeListener(t,e)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let a=0,l=n.length;a0?super.requestAsyncId(t,e,i):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame(()=>t.flush(null))))}recycleAsyncId(t,e,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(t,e,i);0===t.actions.length&&(cancelAnimationFrame(e),t.scheduled=void 0)}});let Fj=1;const Rj=Promise.resolve(),K_={};function L2(n){return n in K_&&(delete K_[n],!0)}const E2={setImmediate(n){const t=Fj++;return K_[t]=!0,Rj.then(()=>L2(t)&&n()),t},clearImmediate(n){L2(n)}},q0=new class Yj extends is{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let i,o=-1,s=e.length;t=t||e.shift();do{if(i=t.execute(t.state,t.delay))break}while(++o0?super.requestAsyncId(t,e,i):(t.actions.push(this),t.scheduled||(t.scheduled=E2.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(t,e,i);0===t.actions.length&&(E2.clearImmediate(e),t.scheduled=void 0)}});class Hj{constructor(t){this.durationSelector=t}call(t,e){return e.subscribe(new Vj(t,this.durationSelector))}}class Vj extends Me{constructor(t,e){super(t),this.durationSelector=e,this.hasValue=!1}_next(t){if(this.value=t,this.hasValue=!0,!this.throttled){let e;try{const{durationSelector:o}=this;e=o(t)}catch(o){return this.destination.error(o)}const i=Ee(e,new be(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:t,hasValue:e,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),e&&(this.value=void 0,this.hasValue=!1,this.destination.next(t))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function K0(n){return!y(n)&&n-parseFloat(n)+1>=0}function Z_(n=0,t,e){let i=-1;return K0(t)?i=Number(t)<1?1:Number(t):Se(t)&&(e=t),Se(e)||(e=$d),new ce(o=>{const s=K0(n)?n:+n-e.now();return e.schedule(jj,s,{index:0,period:i,subscriber:o})})}function jj(n){const{index:t,period:e,subscriber:i}=n;if(i.next(t),!i.closed){if(-1===e)return i.complete();n.index=t+1,this.schedule(n,e)}}function Z0(n,t=$d){return function Bj(n){return function(e){return e.lift(new Hj(n))}}(()=>Z_(n,t))}function xn(n){return t=>t.lift(new zj(n))}class zj{constructor(t){this.notifier=t}call(t,e){const i=new Uj(t),o=Ee(this.notifier,new be(i));return o&&!i.seenValue?(i.add(o),e.subscribe(i)):i}}class Uj extends Me{constructor(t){super(t),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}let X0;try{X0=typeof Intl<"u"&&Intl.v8BreakIterator}catch{X0=!1}let Kd,hi=(()=>{class n{constructor(e){this._platformId=e,this.isBrowser=this._platformId?function V5(n){return n===FS}(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!X0)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return n.\u0275fac=function(e){return new(e||n)(we(Nm))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const I2=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function P2(){if(Kd)return Kd;if("object"!=typeof document||!document)return Kd=new Set(I2),Kd;let n=document.createElement("input");return Kd=new Set(I2.filter(t=>(n.setAttribute("type",t),n.type===t))),Kd}let Mf,X_,Xl,Q0;function Ja(n){return function Wj(){if(null==Mf&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Mf=!0}))}finally{Mf=Mf||!1}return Mf}()?n:!!n.capture}function O2(){if(null==Xl){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return Xl=!1,Xl;if("scrollBehavior"in document.documentElement.style)Xl=!0;else{const n=Element.prototype.scrollTo;Xl=!!n&&!/\{\s*\[native code\]\s*\}/.test(n.toString())}}return Xl}function wf(){if("object"!=typeof document||!document)return 0;if(null==X_){const n=document.createElement("div"),t=n.style;n.dir="rtl",t.width="1px",t.overflow="auto",t.visibility="hidden",t.pointerEvents="none",t.position="absolute";const e=document.createElement("div"),i=e.style;i.width="2px",i.height="1px",n.appendChild(e),document.body.appendChild(n),X_=0,0===n.scrollLeft&&(n.scrollLeft=1,X_=0===n.scrollLeft?1:2),n.remove()}return X_}function J0(){let n=typeof document<"u"&&document?document.activeElement:null;for(;n&&n.shadowRoot;){const t=n.shadowRoot.activeElement;if(t===n)break;n=t}return n}function el(n){return n.composedPath?n.composedPath()[0]:n.target}function e1(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}const qj=new Be("cdk-dir-doc",{providedIn:"root",factory:function Kj(){return Lt(St)}}),Zj=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let Pr=(()=>{class n{constructor(e){if(this.value="ltr",this.change=new ht,e){const o=e.documentElement?e.documentElement.dir:null;this.value=function Xj(n){const t=n?.toLowerCase()||"";return"auto"===t&&typeof navigator<"u"&&navigator?.language?Zj.test(navigator.language)?"rtl":"ltr":"rtl"===t?"rtl":"ltr"}((e.body?e.body.dir:null)||o||"ltr")}}ngOnDestroy(){this.change.complete()}}return n.\u0275fac=function(e){return new(e||n)(we(qj,8))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),xf=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({}),n})();const Qj=["contentWrapper"],Jj=["*"],e7=new Be("VIRTUAL_SCROLL_STRATEGY");let Cf=(()=>{class n{constructor(e,i,o){this._ngZone=e,this._platform=i,this._scrolled=new X,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=o}register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.next(e)))}deregister(e){const i=this.scrollContainers.get(e);i&&(i.unsubscribe(),this.scrollContainers.delete(e))}scrolled(e=20){return this._platform.isBrowser?new ce(i=>{this._globalSubscription||this._addGlobalListener();const o=e>0?this._scrolled.pipe(Z0(e)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{o.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):We()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((e,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(e,i){const o=this.getAncestorScrollContainers(e);return this.scrolled(i).pipe(ki(s=>!s||o.indexOf(s)>-1))}getAncestorScrollContainers(e){const i=[];return this.scrollContainers.forEach((o,s)=>{this._scrollableContainsElement(s,e)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(e,i){let o=la(i),s=e.getElementRef().nativeElement;do{if(o==s)return!0}while(o=o.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>qd(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return n.\u0275fac=function(e){return new(e||n)(we(pt),we(hi),we(St,8))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),A2=(()=>{class n{constructor(e,i,o,s){this.elementRef=e,this.scrollDispatcher=i,this.ngZone=o,this.dir=s,this._destroyed=new X,this._elementScrolled=new ce(a=>this.ngZone.runOutsideAngular(()=>qd(this.elementRef.nativeElement,"scroll").pipe(xn(this._destroyed)).subscribe(a)))}ngOnInit(){this.scrollDispatcher.register(this)}ngOnDestroy(){this.scrollDispatcher.deregister(this),this._destroyed.next(),this._destroyed.complete()}elementScrolled(){return this._elementScrolled}getElementRef(){return this.elementRef}scrollTo(e){const i=this.elementRef.nativeElement,o=this.dir&&"rtl"==this.dir.value;null==e.left&&(e.left=o?e.end:e.start),null==e.right&&(e.right=o?e.start:e.end),null!=e.bottom&&(e.top=i.scrollHeight-i.clientHeight-e.bottom),o&&0!=wf()?(null!=e.left&&(e.right=i.scrollWidth-i.clientWidth-e.left),2==wf()?e.left=e.right:1==wf()&&(e.left=e.right?-e.right:e.right)):null!=e.right&&(e.left=i.scrollWidth-i.clientWidth-e.right),this._applyScrollToOptions(e)}_applyScrollToOptions(e){const i=this.elementRef.nativeElement;O2()?i.scrollTo(e):(null!=e.top&&(i.scrollTop=e.top),null!=e.left&&(i.scrollLeft=e.left))}measureScrollOffset(e){const i="left",o="right",s=this.elementRef.nativeElement;if("top"==e)return s.scrollTop;if("bottom"==e)return s.scrollHeight-s.clientHeight-s.scrollTop;const a=this.dir&&"rtl"==this.dir.value;return"start"==e?e=a?o:i:"end"==e&&(e=a?i:o),a&&2==wf()?e==i?s.scrollWidth-s.clientWidth-s.scrollLeft:s.scrollLeft:a&&1==wf()?e==i?s.scrollLeft+s.scrollWidth-s.clientWidth:-s.scrollLeft:e==i?s.scrollLeft:s.scrollWidth-s.clientWidth-s.scrollLeft}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(Cf),F(pt),F(Pr,8))},n.\u0275dir=Ke({type:n,selectors:[["","cdk-scrollable",""],["","cdkScrollable",""]],standalone:!0}),n})(),Ql=(()=>{class n{constructor(e,i,o){this._platform=e,this._change=new X,this._changeListener=s=>{this._change.next(s)},this._document=o,i.runOutsideAngular(()=>{if(e.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const e=this._getWindow();e.removeEventListener("resize",this._changeListener),e.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}getViewportRect(){const e=this.getViewportScrollPosition(),{width:i,height:o}=this.getViewportSize();return{top:e.top,left:e.left,bottom:e.top+o,right:e.left+i,height:o,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const e=this._document,i=this._getWindow(),o=e.documentElement,s=o.getBoundingClientRect();return{top:-s.top||e.body.scrollTop||i.scrollY||o.scrollTop||0,left:-s.left||e.body.scrollLeft||i.scrollX||o.scrollLeft||0}}change(e=20){return e>0?this._change.pipe(Z0(e)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}}return n.\u0275fac=function(e){return new(e||n)(we(hi),we(pt),we(St,8))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const F2=new Be("VIRTUAL_SCROLLABLE");let i7=(()=>{class n extends A2{constructor(e,i,o,s){super(e,i,o,s)}measureViewportSize(e){const i=this.elementRef.nativeElement;return"horizontal"===e?i.clientWidth:i.clientHeight}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(Cf),F(pt),F(Pr,8))},n.\u0275dir=Ke({type:n,features:[dt]}),n})();const o7=typeof requestAnimationFrame<"u"?Aj:q0;let s7=(()=>{class n extends i7{constructor(e,i,o,s,a,l,c,M){super(e,l,o,a),this.elementRef=e,this._changeDetectorRef=i,this._scrollStrategy=s,this.scrollable=M,this._platform=Lt(hi),this._detachedSubject=new X,this._renderedRangeSubject=new X,this._orientation="vertical",this._appendOnly=!1,this.scrolledIndexChange=new ce(P=>this._scrollStrategy.scrolledIndexChange.subscribe(Y=>Promise.resolve().then(()=>this.ngZone.run(()=>P.next(Y))))),this.renderedRangeStream=this._renderedRangeSubject,this._totalContentSize=0,this._totalContentWidth="",this._totalContentHeight="",this._renderedRange={start:0,end:0},this._dataLength=0,this._viewportSize=0,this._renderedContentOffset=0,this._renderedContentOffsetNeedsRewrite=!1,this._isChangeDetectionPending=!1,this._runAfterChangeDetection=[],this._viewportChanges=T.EMPTY,this._viewportChanges=c.change().subscribe(()=>{this.checkViewportSize()}),this.scrollable||(this.elementRef.nativeElement.classList.add("cdk-virtual-scrollable"),this.scrollable=this)}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._orientation=e,this._calculateSpacerSize())}get appendOnly(){return this._appendOnly}set appendOnly(e){this._appendOnly=hn(e)}ngOnInit(){!this._platform.isBrowser||(this.scrollable===this&&super.ngOnInit(),this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>{this._measureViewportSize(),this._scrollStrategy.attach(this),this.scrollable.elementScrolled().pipe(bo(null),Z0(0,o7)).subscribe(()=>this._scrollStrategy.onContentScrolled()),this._markChangeDetectionNeeded()})))}ngOnDestroy(){this.detach(),this._scrollStrategy.detach(),this._renderedRangeSubject.complete(),this._detachedSubject.complete(),this._viewportChanges.unsubscribe(),super.ngOnDestroy()}attach(e){this.ngZone.runOutsideAngular(()=>{this._forOf=e,this._forOf.dataStream.pipe(xn(this._detachedSubject)).subscribe(i=>{const o=i.length;o!==this._dataLength&&(this._dataLength=o,this._scrollStrategy.onDataLengthChanged()),this._doChangeDetection()})})}detach(){this._forOf=null,this._detachedSubject.next()}getDataLength(){return this._dataLength}getViewportSize(){return this._viewportSize}getRenderedRange(){return this._renderedRange}measureBoundingClientRectWithScrollOffset(e){return this.getElementRef().nativeElement.getBoundingClientRect()[e]}setTotalContentSize(e){this._totalContentSize!==e&&(this._totalContentSize=e,this._calculateSpacerSize(),this._markChangeDetectionNeeded())}setRenderedRange(e){(function r7(n,t){return n.start==t.start&&n.end==t.end})(this._renderedRange,e)||(this.appendOnly&&(e={start:0,end:Math.max(this._renderedRange.end,e.end)}),this._renderedRangeSubject.next(this._renderedRange=e),this._markChangeDetectionNeeded(()=>this._scrollStrategy.onContentRendered()))}getOffsetToRenderedContentStart(){return this._renderedContentOffsetNeedsRewrite?null:this._renderedContentOffset}setRenderedContentOffset(e,i="to-start"){e=this.appendOnly&&"to-start"===i?0:e;const s="horizontal"==this.orientation,a=s?"X":"Y";let c=`translate${a}(${Number((s&&this.dir&&"rtl"==this.dir.value?-1:1)*e)}px)`;this._renderedContentOffset=e,"to-end"===i&&(c+=` translate${a}(-100%)`,this._renderedContentOffsetNeedsRewrite=!0),this._renderedContentTransform!=c&&(this._renderedContentTransform=c,this._markChangeDetectionNeeded(()=>{this._renderedContentOffsetNeedsRewrite?(this._renderedContentOffset-=this.measureRenderedContentSize(),this._renderedContentOffsetNeedsRewrite=!1,this.setRenderedContentOffset(this._renderedContentOffset)):this._scrollStrategy.onRenderedOffsetChanged()}))}scrollToOffset(e,i="auto"){const o={behavior:i};"horizontal"===this.orientation?o.start=e:o.top=e,this.scrollable.scrollTo(o)}scrollToIndex(e,i="auto"){this._scrollStrategy.scrollToIndex(e,i)}measureScrollOffset(e){let i;return i=this.scrollable==this?o=>super.measureScrollOffset(o):o=>this.scrollable.measureScrollOffset(o),Math.max(0,i(e??("horizontal"===this.orientation?"start":"top"))-this.measureViewportOffset())}measureViewportOffset(e){let i;const o="left",s="right",a="rtl"==this.dir?.value;i="start"==e?a?s:o:"end"==e?a?o:s:e||("horizontal"===this.orientation?"left":"top");const l=this.scrollable.measureBoundingClientRectWithScrollOffset(i);return this.elementRef.nativeElement.getBoundingClientRect()[i]-l}measureRenderedContentSize(){const e=this._contentWrapper.nativeElement;return"horizontal"===this.orientation?e.offsetWidth:e.offsetHeight}measureRangeSize(e){return this._forOf?this._forOf.measureRangeSize(e,this.orientation):0}checkViewportSize(){this._measureViewportSize(),this._scrollStrategy.onDataLengthChanged()}_measureViewportSize(){this._viewportSize=this.scrollable.measureViewportSize(this.orientation)}_markChangeDetectionNeeded(e){e&&this._runAfterChangeDetection.push(e),this._isChangeDetectionPending||(this._isChangeDetectionPending=!0,this.ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>{this._doChangeDetection()})))}_doChangeDetection(){this._isChangeDetectionPending=!1,this._contentWrapper.nativeElement.style.transform=this._renderedContentTransform,this.ngZone.run(()=>this._changeDetectorRef.markForCheck());const e=this._runAfterChangeDetection;this._runAfterChangeDetection=[];for(const i of e)i()}_calculateSpacerSize(){this._totalContentHeight="horizontal"===this.orientation?"":`${this._totalContentSize}px`,this._totalContentWidth="horizontal"===this.orientation?`${this._totalContentSize}px`:""}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(di),F(pt),F(e7,8),F(Pr,8),F(Cf),F(Ql),F(F2,8))},n.\u0275cmp=qe({type:n,selectors:[["cdk-virtual-scroll-viewport"]],viewQuery:function(e,i){if(1&e&&ft(Qj,7),2&e){let o;nt(o=it())&&(i._contentWrapper=o.first)}},hostAttrs:[1,"cdk-virtual-scroll-viewport"],hostVars:4,hostBindings:function(e,i){2&e&&Gt("cdk-virtual-scroll-orientation-horizontal","horizontal"===i.orientation)("cdk-virtual-scroll-orientation-vertical","horizontal"!==i.orientation)},inputs:{orientation:"orientation",appendOnly:"appendOnly"},outputs:{scrolledIndexChange:"scrolledIndexChange"},standalone:!0,features:[Kt([{provide:A2,useFactory:(t,e)=>t||e,deps:[[new $s,new im(F2)],n]}]),dt,zv],ngContentSelectors:Jj,decls:4,vars:4,consts:[[1,"cdk-virtual-scroll-content-wrapper"],["contentWrapper",""],[1,"cdk-virtual-scroll-spacer"]],template:function(e,i){1&e&&(_r(),D(0,"div",0,1),vn(2),C(),xe(3,"div",2)),2&e&&(d(3),Ha("width",i._totalContentWidth)("height",i._totalContentHeight))},styles:["cdk-virtual-scroll-viewport{display:block;position:relative;transform:translateZ(0)}.cdk-virtual-scrollable{overflow:auto;will-change:scroll-position;contain:strict;-webkit-overflow-scrolling:touch}.cdk-virtual-scroll-content-wrapper{position:absolute;top:0;left:0;contain:content}[dir=rtl] .cdk-virtual-scroll-content-wrapper{right:0;left:auto}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper{min-height:100%}.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-horizontal .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-left:0;padding-right:0;margin-left:0;margin-right:0;border-left-width:0;border-right-width:0;outline:none}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper{min-width:100%}.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>dl:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ol:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>table:not([cdkVirtualFor]),.cdk-virtual-scroll-orientation-vertical .cdk-virtual-scroll-content-wrapper>ul:not([cdkVirtualFor]){padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:0;border-top-width:0;border-bottom-width:0;outline:none}.cdk-virtual-scroll-spacer{height:1px;transform-origin:0 0;flex:0 0 auto}[dir=rtl] .cdk-virtual-scroll-spacer{transform-origin:100% 0}"],encapsulation:2,changeDetection:0}),n})(),kf=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({}),n})(),R2=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[xf,kf,s7,xf,kf]}),n})();class t1{attach(t){return this._attachedHost=t,t.attach(this)}detach(){let t=this._attachedHost;null!=t&&(this._attachedHost=null,t.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(t){this._attachedHost=t}}class Zd extends t1{constructor(t,e,i,o,s){super(),this.component=t,this.viewContainerRef=e,this.injector=i,this.componentFactoryResolver=o,this.projectableNodes=s}}class Jl extends t1{constructor(t,e,i,o){super(),this.templateRef=t,this.viewContainerRef=e,this.context=i,this.injector=o}get origin(){return this.templateRef.elementRef}attach(t,e=this.context){return this.context=e,super.attach(t)}detach(){return this.context=void 0,super.detach()}}class a7 extends t1{constructor(t){super(),this.element=t instanceof bt?t.nativeElement:t}}class Q_{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(t){return t instanceof Zd?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof Jl?(this._attachedPortal=t,this.attachTemplatePortal(t)):this.attachDomPortal&&t instanceof a7?(this._attachedPortal=t,this.attachDomPortal(t)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(t){this._disposeFn=t}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class l7 extends Q_{constructor(t,e,i,o,s){super(),this.outletElement=t,this._componentFactoryResolver=e,this._appRef=i,this._defaultInjector=o,this.attachDomPortal=a=>{const l=a.element,c=this._document.createComment("dom-portal");l.parentNode.insertBefore(c,l),this.outletElement.appendChild(l),this._attachedPortal=a,super.setDisposeFn(()=>{c.parentNode&&c.parentNode.replaceChild(l,c)})},this._document=s}attachComponentPortal(t){const i=(t.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(t.component);let o;return t.viewContainerRef?(o=t.viewContainerRef.createComponent(i,t.viewContainerRef.length,t.injector||t.viewContainerRef.injector,t.projectableNodes||void 0),this.setDisposeFn(()=>o.destroy())):(o=i.create(t.injector||this._defaultInjector||mi.NULL),this._appRef.attachView(o.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(o.hostView),o.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(o)),this._attachedPortal=t,o}attachTemplatePortal(t){let e=t.viewContainerRef,i=e.createEmbeddedView(t.templateRef,t.context,{injector:t.injector});return i.rootNodes.forEach(o=>this.outletElement.appendChild(o)),i.detectChanges(),this.setDisposeFn(()=>{let o=e.indexOf(i);-1!==o&&e.remove(o)}),this._attachedPortal=t,i}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(t){return t.hostView.rootNodes[0]}}let c7=(()=>{class n extends Jl{constructor(e,i){super(e,i)}}return n.\u0275fac=function(e){return new(e||n)(F(lr),F(Xi))},n.\u0275dir=Ke({type:n,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[dt]}),n})(),tl=(()=>{class n extends Q_{constructor(e,i,o){super(),this._componentFactoryResolver=e,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new ht,this.attachDomPortal=s=>{const a=s.element,l=this._document.createComment("dom-portal");s.setAttachedHost(this),a.parentNode.insertBefore(l,a),this._getRootNode().appendChild(a),this._attachedPortal=s,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=o}get portal(){return this._attachedPortal}set portal(e){this.hasAttached()&&!e&&!this._isInitialized||(this.hasAttached()&&super.detach(),e&&super.attach(e),this._attachedPortal=e||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(e){e.setAttachedHost(this);const i=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,s=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component),a=i.createComponent(s,i.length,e.injector||i.injector,e.projectableNodes||void 0);return i!==this._viewContainerRef&&this._getRootNode().appendChild(a.hostView.rootNodes[0]),super.setDisposeFn(()=>a.destroy()),this._attachedPortal=e,this._attachedRef=a,this.attached.emit(a),a}attachTemplatePortal(e){e.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=e,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}}return n.\u0275fac=function(e){return new(e||n)(F(Na),F(Xi),F(St))},n.\u0275dir=Ke({type:n,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[dt]}),n})(),Xd=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({}),n})();function Ds(n,...t){return t.length?t.some(e=>n[e]):n.altKey||n.shiftKey||n.ctrlKey||n.metaKey}const Y2=O2();class x7{constructor(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=Wi(-this._previousScrollPosition.left),t.style.top=Wi(-this._previousScrollPosition.top),t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const t=this._document.documentElement,i=t.style,o=this._document.body.style,s=i.scrollBehavior||"",a=o.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),Y2&&(i.scrollBehavior=o.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),Y2&&(i.scrollBehavior=s,o.scrollBehavior=a)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const e=this._document.body,i=this._viewportRuler.getViewportSize();return e.scrollHeight>i.height||e.scrollWidth>i.width}}class C7{constructor(t,e,i,o){this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=i,this._config=o,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(t){this._overlayRef=t}enable(){if(this._scrollSubscription)return;const t=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=t.subscribe(()=>{const e=this._viewportRuler.getViewportScrollPosition().top;Math.abs(e-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=t.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class B2{enable(){}disable(){}attach(){}}function n1(n,t){return t.some(e=>n.bottome.bottom||n.righte.right)}function H2(n,t){return t.some(e=>n.tope.bottom||n.lefte.right)}class k7{constructor(t,e,i,o){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=i,this._config=o,this._scrollSubscription=null}attach(t){this._overlayRef=t}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const e=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:o}=this._viewportRuler.getViewportSize();n1(e,[{width:i,height:o,bottom:o,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let S7=(()=>{class n{constructor(e,i,o,s){this._scrollDispatcher=e,this._viewportRuler=i,this._ngZone=o,this.noop=()=>new B2,this.close=a=>new C7(this._scrollDispatcher,this._ngZone,this._viewportRuler,a),this.block=()=>new x7(this._viewportRuler,this._document),this.reposition=a=>new k7(this._scrollDispatcher,this._viewportRuler,this._ngZone,a),this._document=s}}return n.\u0275fac=function(e){return new(e||n)(we(Cf),we(Ql),we(pt),we(St))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();class Lf{constructor(t){if(this.scrollStrategy=new B2,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,t){const e=Object.keys(t);for(const i of e)void 0!==t[i]&&(this[i]=t[i])}}}class D7{constructor(t,e){this.connectionPair=t,this.scrollableViewProperties=e}}let V2=(()=>{class n{constructor(e){this._attachedOverlays=[],this._document=e}ngOnDestroy(){this.detach()}add(e){this.remove(e),this._attachedOverlays.push(e)}remove(e){const i=this._attachedOverlays.indexOf(e);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return n.\u0275fac=function(e){return new(e||n)(we(St))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),T7=(()=>{class n extends V2{constructor(e,i){super(e),this._ngZone=i,this._keydownListener=o=>{const s=this._attachedOverlays;for(let a=s.length-1;a>-1;a--)if(s[a]._keydownEvents.observers.length>0){const l=s[a]._keydownEvents;this._ngZone?this._ngZone.run(()=>l.next(o)):l.next(o);break}}}add(e){super.add(e),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return n.\u0275fac=function(e){return new(e||n)(we(St),we(pt,8))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),L7=(()=>{class n extends V2{constructor(e,i,o){super(e),this._platform=i,this._ngZone=o,this._cursorStyleIsSet=!1,this._pointerDownListener=s=>{this._pointerDownEventTarget=el(s)},this._clickListener=s=>{const a=el(s),l="click"===s.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:a;this._pointerDownEventTarget=null;const c=this._attachedOverlays.slice();for(let M=c.length-1;M>-1;M--){const P=c[M];if(P._outsidePointerEvents.observers.length<1||!P.hasAttached())continue;if(P.overlayElement.contains(a)||P.overlayElement.contains(l))break;const Y=P._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>Y.next(s)):Y.next(s)}}}add(e){if(super.add(e),!this._isAttached){const i=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(i)):this._addEventListeners(i),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const e=this._document.body;e.removeEventListener("pointerdown",this._pointerDownListener,!0),e.removeEventListener("click",this._clickListener,!0),e.removeEventListener("auxclick",this._clickListener,!0),e.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(e.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(e){e.addEventListener("pointerdown",this._pointerDownListener,!0),e.addEventListener("click",this._clickListener,!0),e.addEventListener("auxclick",this._clickListener,!0),e.addEventListener("contextmenu",this._clickListener,!0)}}return n.\u0275fac=function(e){return new(e||n)(we(St),we(hi),we(pt,8))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),ig=(()=>{class n{constructor(e,i){this._platform=i,this._document=e}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const e="cdk-overlay-container";if(this._platform.isBrowser||e1()){const o=this._document.querySelectorAll(`.${e}[platform="server"], .${e}[platform="test"]`);for(let s=0;sthis._backdropClick.next(Y),this._backdropTransitionendHandler=Y=>{this._disposeBackdrop(Y.target)},this._keydownEvents=new X,this._outsidePointerEvents=new X,o.scrollStrategy&&(this._scrollStrategy=o.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=o.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(t){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const e=this._portalOutlet.attach(t);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(ei(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),"function"==typeof e?.onDestroy&&e.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),t}dispose(){const t=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,t&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(t){t!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=t,this.hasAttached()&&(t.attach(this),this.updatePosition()))}updateSize(t){this._config={...this._config,...t},this._updateElementSize()}setDirection(t){this._config={...this._config,direction:t},this._updateElementDirection()}addPanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!0)}removePanelClass(t){this._pane&&this._toggleClasses(this._pane,t,!1)}getDirection(){const t=this._config.direction;return t?"string"==typeof t?t:t.value:"ltr"}updateScrollStrategy(t){t!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=t,this.hasAttached()&&(t.attach(this),t.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const t=this._pane.style;t.width=Wi(this._config.width),t.height=Wi(this._config.height),t.minWidth=Wi(this._config.minWidth),t.minHeight=Wi(this._config.minHeight),t.maxWidth=Wi(this._config.maxWidth),t.maxHeight=Wi(this._config.maxHeight)}_togglePointerEvents(t){this._pane.style.pointerEvents=t?"":"none"}_attachBackdrop(){const t="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(t)})}):this._backdropElement.classList.add(t)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const t=this._backdropElement;if(t){if(this._animationsDisabled)return void this._disposeBackdrop(t);t.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{t.addEventListener("transitionend",this._backdropTransitionendHandler)}),t.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(t)},500))}}_toggleClasses(t,e,i){const o=q_(e||[]).filter(s=>!!s);o.length&&(i?t.classList.add(...o):t.classList.remove(...o))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const t=this._ngZone.onStable.pipe(xn(vt(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),t.unsubscribe())})})}_disposeScrollStrategy(){const t=this._scrollStrategy;t&&(t.disable(),t.detach&&t.detach())}_disposeBackdrop(t){t&&(t.removeEventListener("click",this._backdropClickHandler),t.removeEventListener("transitionend",this._backdropTransitionendHandler),t.remove(),this._backdropElement===t&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}const j2="cdk-overlay-connected-position-bounding-box",E7=/([A-Za-z%]+)$/;class I7{constructor(t,e,i,o,s){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new X,this._resizeSubscription=T.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(t)}get positions(){return this._preferredPositions}attach(t){this._validatePositions(),t.hostElement.classList.add(j2),this._overlayRef=t,this._boundingBox=t.hostElement,this._pane=t.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const t=this._originRect,e=this._overlayRect,i=this._viewportRect,o=this._containerRect,s=[];let a;for(let l of this._preferredPositions){let c=this._getOriginPoint(t,o,l),M=this._getOverlayPoint(c,e,l),P=this._getOverlayFit(M,e,i,l);if(P.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(l,c);this._canFitWithFlexibleDimensions(P,M,i)?s.push({position:l,origin:c,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(c,l)}):(!a||a.overlayFit.visibleAreac&&(c=P,l=M)}return this._isPushed=!1,void this._applyPosition(l.position,l.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(a.position,a.originPoint);this._applyPosition(a.position,a.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ec(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(j2),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const t=this._lastPosition;if(t){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const e=this._getOriginPoint(this._originRect,this._containerRect,t);this._applyPosition(t,e)}else this.apply()}withScrollableContainers(t){return this._scrollables=t,this}withPositions(t){return this._preferredPositions=t,-1===t.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(t){return this._viewportMargin=t,this}withFlexibleDimensions(t=!0){return this._hasFlexibleDimensions=t,this}withGrowAfterOpen(t=!0){return this._growAfterOpen=t,this}withPush(t=!0){return this._canPush=t,this}withLockedPosition(t=!0){return this._positionLocked=t,this}setOrigin(t){return this._origin=t,this}withDefaultOffsetX(t){return this._offsetX=t,this}withDefaultOffsetY(t){return this._offsetY=t,this}withTransformOriginOn(t){return this._transformOriginSelector=t,this}_getOriginPoint(t,e,i){let o,s;if("center"==i.originX)o=t.left+t.width/2;else{const a=this._isRtl()?t.right:t.left,l=this._isRtl()?t.left:t.right;o="start"==i.originX?a:l}return e.left<0&&(o-=e.left),s="center"==i.originY?t.top+t.height/2:"top"==i.originY?t.top:t.bottom,e.top<0&&(s-=e.top),{x:o,y:s}}_getOverlayPoint(t,e,i){let o,s;return o="center"==i.overlayX?-e.width/2:"start"===i.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,s="center"==i.overlayY?-e.height/2:"top"==i.overlayY?0:-e.height,{x:t.x+o,y:t.y+s}}_getOverlayFit(t,e,i,o){const s=U2(e);let{x:a,y:l}=t,c=this._getOffset(o,"x"),M=this._getOffset(o,"y");c&&(a+=c),M&&(l+=M);let q=0-l,te=l+s.height-i.height,fe=this._subtractOverflows(s.width,0-a,a+s.width-i.width),ke=this._subtractOverflows(s.height,q,te),Ie=fe*ke;return{visibleArea:Ie,isCompletelyWithinViewport:s.width*s.height===Ie,fitsInViewportVertically:ke===s.height,fitsInViewportHorizontally:fe==s.width}}_canFitWithFlexibleDimensions(t,e,i){if(this._hasFlexibleDimensions){const o=i.bottom-e.y,s=i.right-e.x,a=z2(this._overlayRef.getConfig().minHeight),l=z2(this._overlayRef.getConfig().minWidth),M=t.fitsInViewportHorizontally||null!=l&&l<=s;return(t.fitsInViewportVertically||null!=a&&a<=o)&&M}return!1}_pushOverlayOnScreen(t,e,i){if(this._previousPushAmount&&this._positionLocked)return{x:t.x+this._previousPushAmount.x,y:t.y+this._previousPushAmount.y};const o=U2(e),s=this._viewportRect,a=Math.max(t.x+o.width-s.width,0),l=Math.max(t.y+o.height-s.height,0),c=Math.max(s.top-i.top-t.y,0),M=Math.max(s.left-i.left-t.x,0);let P=0,Y=0;return P=o.width<=s.width?M||-a:t.xfe&&!this._isInitialRender&&!this._growAfterOpen&&(a=t.y-fe/2)}if("end"===e.overlayX&&!o||"start"===e.overlayX&&o)q=i.width-t.x+this._viewportMargin,P=t.x-this._viewportMargin;else if("start"===e.overlayX&&!o||"end"===e.overlayX&&o)Y=t.x,P=i.right-t.x;else{const te=Math.min(i.right-t.x+i.left,t.x),fe=this._lastBoundingBoxSize.width;P=2*te,Y=t.x-te,P>fe&&!this._isInitialRender&&!this._growAfterOpen&&(Y=t.x-fe/2)}return{top:a,left:Y,bottom:l,right:q,width:P,height:s}}_setBoundingBoxStyles(t,e){const i=this._calculateBoundingBoxRect(t,e);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const o={};if(this._hasExactPosition())o.top=o.left="0",o.bottom=o.right=o.maxHeight=o.maxWidth="",o.width=o.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,a=this._overlayRef.getConfig().maxWidth;o.height=Wi(i.height),o.top=Wi(i.top),o.bottom=Wi(i.bottom),o.width=Wi(i.width),o.left=Wi(i.left),o.right=Wi(i.right),o.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",o.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",s&&(o.maxHeight=Wi(s)),a&&(o.maxWidth=Wi(a))}this._lastBoundingBoxSize=i,ec(this._boundingBox.style,o)}_resetBoundingBoxStyles(){ec(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ec(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(t,e){const i={},o=this._hasExactPosition(),s=this._hasFlexibleDimensions,a=this._overlayRef.getConfig();if(o){const P=this._viewportRuler.getViewportScrollPosition();ec(i,this._getExactOverlayY(e,t,P)),ec(i,this._getExactOverlayX(e,t,P))}else i.position="static";let l="",c=this._getOffset(e,"x"),M=this._getOffset(e,"y");c&&(l+=`translateX(${c}px) `),M&&(l+=`translateY(${M}px)`),i.transform=l.trim(),a.maxHeight&&(o?i.maxHeight=Wi(a.maxHeight):s&&(i.maxHeight="")),a.maxWidth&&(o?i.maxWidth=Wi(a.maxWidth):s&&(i.maxWidth="")),ec(this._pane.style,i)}_getExactOverlayY(t,e,i){let o={top:"",bottom:""},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),"bottom"===t.overlayY?o.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":o.top=Wi(s.y),o}_getExactOverlayX(t,e,i){let a,o={left:"",right:""},s=this._getOverlayPoint(e,this._overlayRect,t);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),a=this._isRtl()?"end"===t.overlayX?"left":"right":"end"===t.overlayX?"right":"left","right"===a?o.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":o.left=Wi(s.x),o}_getScrollVisibility(){const t=this._getOriginRect(),e=this._pane.getBoundingClientRect(),i=this._scrollables.map(o=>o.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:H2(t,i),isOriginOutsideView:n1(t,i),isOverlayClipped:H2(e,i),isOverlayOutsideView:n1(e,i)}}_subtractOverflows(t,...e){return e.reduce((i,o)=>i-Math.max(o,0),t)}_getNarrowedViewportRect(){const t=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+t-this._viewportMargin,bottom:i.top+e-this._viewportMargin,width:t-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(t,e){return"x"===e?null==t.offsetX?this._offsetX:t.offsetX:null==t.offsetY?this._offsetY:t.offsetY}_validatePositions(){}_addPanelClasses(t){this._pane&&q_(t).forEach(e=>{""!==e&&-1===this._appliedPanelClasses.indexOf(e)&&(this._appliedPanelClasses.push(e),this._pane.classList.add(e))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(t=>{this._pane.classList.remove(t)}),this._appliedPanelClasses=[])}_getOriginRect(){const t=this._origin;if(t instanceof bt)return t.nativeElement.getBoundingClientRect();if(t instanceof Element)return t.getBoundingClientRect();const e=t.width||0,i=t.height||0;return{top:t.y,bottom:t.y+i,left:t.x,right:t.x+e,height:i,width:e}}}function ec(n,t){for(let e in t)t.hasOwnProperty(e)&&(n[e]=t[e]);return n}function z2(n){if("number"!=typeof n&&null!=n){const[t,e]=n.split(E7);return e&&"px"!==e?null:parseFloat(t)}return n||null}function U2(n){return{top:Math.floor(n.top),right:Math.floor(n.right),bottom:Math.floor(n.bottom),left:Math.floor(n.left),width:Math.floor(n.width),height:Math.floor(n.height)}}const W2="cdk-global-overlay-wrapper";class P7{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(t){const e=t.getConfig();this._overlayRef=t,this._width&&!e.width&&t.updateSize({width:this._width}),this._height&&!e.height&&t.updateSize({height:this._height}),t.hostElement.classList.add(W2),this._isDisposed=!1}top(t=""){return this._bottomOffset="",this._topOffset=t,this._alignItems="flex-start",this}left(t=""){return this._xOffset=t,this._xPosition="left",this}bottom(t=""){return this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this}right(t=""){return this._xOffset=t,this._xPosition="right",this}start(t=""){return this._xOffset=t,this._xPosition="start",this}end(t=""){return this._xOffset=t,this._xPosition="end",this}width(t=""){return this._overlayRef?this._overlayRef.updateSize({width:t}):this._width=t,this}height(t=""){return this._overlayRef?this._overlayRef.updateSize({height:t}):this._height=t,this}centerHorizontally(t=""){return this.left(t),this._xPosition="center",this}centerVertically(t=""){return this.top(t),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:o,height:s,maxWidth:a,maxHeight:l}=i,c=!("100%"!==o&&"100vw"!==o||a&&"100%"!==a&&"100vw"!==a),M=!("100%"!==s&&"100vh"!==s||l&&"100%"!==l&&"100vh"!==l),P=this._xPosition,Y=this._xOffset,q="rtl"===this._overlayRef.getConfig().direction;let te="",fe="",ke="";c?ke="flex-start":"center"===P?(ke="center",q?fe=Y:te=Y):q?"left"===P||"end"===P?(ke="flex-end",te=Y):("right"===P||"start"===P)&&(ke="flex-start",fe=Y):"left"===P||"start"===P?(ke="flex-start",te=Y):("right"===P||"end"===P)&&(ke="flex-end",fe=Y),t.position=this._cssPosition,t.marginLeft=c?"0":te,t.marginTop=M?"0":this._topOffset,t.marginBottom=this._bottomOffset,t.marginRight=c?"0":fe,e.justifyContent=ke,e.alignItems=M?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const t=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,i=e.style;e.classList.remove(W2),i.justifyContent=i.alignItems=t.marginTop=t.marginBottom=t.marginLeft=t.marginRight=t.position="",this._overlayRef=null,this._isDisposed=!0}}let O7=(()=>{class n{constructor(e,i,o,s){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=s}global(){return new P7}flexibleConnectedTo(e){return new I7(e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return n.\u0275fac=function(e){return new(e||n)(we(Ql),we(St),we(hi),we(ig))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),A7=0,to=(()=>{class n{constructor(e,i,o,s,a,l,c,M,P,Y,q,te){this.scrollStrategies=e,this._overlayContainer=i,this._componentFactoryResolver=o,this._positionBuilder=s,this._keyboardDispatcher=a,this._injector=l,this._ngZone=c,this._document=M,this._directionality=P,this._location=Y,this._outsideClickDispatcher=q,this._animationsModuleType=te}create(e){const i=this._createHostElement(),o=this._createPaneElement(i),s=this._createPortalOutlet(o),a=new Lf(e);return a.direction=a.direction||this._directionality.value,new Ef(s,i,o,a,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,"NoopAnimations"===this._animationsModuleType)}position(){return this._positionBuilder}_createPaneElement(e){const i=this._document.createElement("div");return i.id="cdk-overlay-"+A7++,i.classList.add("cdk-overlay-pane"),e.appendChild(i),i}_createHostElement(){const e=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(e),e}_createPortalOutlet(e){return this._appRef||(this._appRef=this._injector.get(Pd)),new l7(e,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return n.\u0275fac=function(e){return new(e||n)(we(S7),we(ig),we(Na),we(O7),we(T7),we(mi),we(pt),we(St),we(Pr),we(Vh),we(L7),we(Vi,8))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const F7=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],$2=new Be("cdk-connected-overlay-scroll-strategy");let r1=(()=>{class n{constructor(e){this.elementRef=e}}return n.\u0275fac=function(e){return new(e||n)(F(bt))},n.\u0275dir=Ke({type:n,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"]}),n})(),G2=(()=>{class n{constructor(e,i,o,s,a){this._overlay=e,this._dir=a,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=T.EMPTY,this._attachSubscription=T.EMPTY,this._detachSubscription=T.EMPTY,this._positionSubscription=T.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new ht,this.positionChange=new ht,this.attach=new ht,this.detach=new ht,this.overlayKeydown=new ht,this.overlayOutsideClick=new ht,this._templatePortal=new Jl(i,o),this._scrollStrategyFactory=s,this.scrollStrategy=this._scrollStrategyFactory()}get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(e){this._hasBackdrop=hn(e)}get lockPosition(){return this._lockPosition}set lockPosition(e){this._lockPosition=hn(e)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(e){this._flexibleDimensions=hn(e)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(e){this._growAfterOpen=hn(e)}get push(){return this._push}set push(e){this._push=hn(e)}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=F7);const e=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=e.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=e.detachments().subscribe(()=>this.detach.emit()),e.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),27===i.keyCode&&!this.disableClose&&!Ds(i)&&(i.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{this.overlayOutsideClick.next(i)})}_buildConfig(){const e=this._position=this.positionStrategy||this._createPositionStrategy(),i=new Lf({direction:this._dir,positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(i.width=this.width),(this.height||0===this.height)&&(i.height=this.height),(this.minWidth||0===this.minWidth)&&(i.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(e){const i=this.positions.map(o=>({originX:o.originX,originY:o.originY,overlayX:o.overlayX,overlayY:o.overlayY,offsetX:o.offsetX||this.offsetX,offsetY:o.offsetY||this.offsetY,panelClass:o.panelClass||void 0}));return e.setOrigin(this._getFlexibleConnectedPositionStrategyOrigin()).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const e=this._overlay.position().flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());return this._updatePositionStrategy(e),e}_getFlexibleConnectedPositionStrategyOrigin(){return this.origin instanceof r1?this.origin.elementRef:this.origin}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(e=>{this.backdropClick.emit(e)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(_T(()=>this.positionChange.observers.length>0)).subscribe(e=>{this.positionChange.emit(e),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return n.\u0275fac=function(e){return new(e||n)(F(to),F(lr),F(Xi),F($2),F(Pr,8))},n.\u0275dir=Ke({type:n,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:["cdkConnectedOverlayOrigin","origin"],positions:["cdkConnectedOverlayPositions","positions"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],features:[Gi]}),n})();const N7={provide:$2,deps:[to],useFactory:function R7(n){return()=>n.scrollStrategies.reposition()}};let Qd=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({providers:[to,N7],imports:[xf,Xd,R2,R2]}),n})();function o1(n,t=$d){return e=>e.lift(new Y7(n,t))}class Y7{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new B7(t,this.dueTime,this.scheduler))}}class B7 extends A{constructor(t,e,i){super(t),this.dueTime=e,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(H7,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function H7(n){n.debouncedNext()}function s1(n){return t=>t.lift(new V7(n))}class V7{constructor(t){this.total=t}call(t,e){return e.subscribe(new j7(t,this.total))}}class j7 extends A{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){++this.count>this.total&&this.destination.next(t)}}function a1(n,t){return e=>e.lift(new z7(n,t))}class z7{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new U7(t,this.compare,this.keySelector))}}class U7 extends A{constructor(t,e,i){super(t),this.keySelector=i,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e;try{const{keySelector:o}=this;e=o?o(t):t}catch(o){return this.destination.error(o)}let i=!1;if(this.hasKey)try{const{compare:o}=this;i=o(this.key,e)}catch(o){return this.destination.error(o)}else this.hasKey=!0;i||(this.key=e,this.destination.next(t))}}let q2=(()=>{class n{create(e){return typeof MutationObserver>"u"?null:new MutationObserver(e)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),W7=(()=>{class n{constructor(e){this._mutationObserverFactory=e,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((e,i)=>this._cleanupObserver(i))}observe(e){const i=la(e);return new ce(o=>{const a=this._observeElement(i).subscribe(o);return()=>{a.unsubscribe(),this._unobserveElement(i)}})}_observeElement(e){if(this._observedElements.has(e))this._observedElements.get(e).count++;else{const i=new X,o=this._mutationObserverFactory.create(s=>i.next(s));o&&o.observe(e,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(e,{observer:o,stream:i,count:1})}return this._observedElements.get(e).stream}_unobserveElement(e){this._observedElements.has(e)&&(this._observedElements.get(e).count--,this._observedElements.get(e).count||this._cleanupObserver(e))}_cleanupObserver(e){if(this._observedElements.has(e)){const{observer:i,stream:o}=this._observedElements.get(e);i&&i.disconnect(),o.complete(),this._observedElements.delete(e)}}}return n.\u0275fac=function(e){return new(e||n)(we(q2))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),K2=(()=>{class n{constructor(e,i,o){this._contentObserver=e,this._elementRef=i,this._ngZone=o,this.event=new ht,this._disabled=!1,this._currentSubscription=null}get disabled(){return this._disabled}set disabled(e){this._disabled=hn(e),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(e){this._debounce=vo(e),this._subscribe()}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const e=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?e.pipe(o1(this.debounce)):e).subscribe(this.event)})}_unsubscribe(){this._currentSubscription?.unsubscribe()}}return n.\u0275fac=function(e){return new(e||n)(F(W7),F(bt),F(pt))},n.\u0275dir=Ke({type:n,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),n})(),l1=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({providers:[q2]}),n})();const Z2=new Set;let Jd,$7=(()=>{class n{constructor(e){this._platform=e,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):q7}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&function G7(n){if(!Z2.has(n))try{Jd||(Jd=document.createElement("style"),Jd.setAttribute("type","text/css"),document.head.appendChild(Jd)),Jd.sheet&&(Jd.sheet.insertRule(`@media ${n} {body{ }}`,0),Z2.add(n))}catch(t){console.error(t)}}(e),this._matchMedia(e)}}return n.\u0275fac=function(e){return new(e||n)(we(hi))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function q7(n){return{matches:"all"===n||""===n,media:n,addListener:()=>{},removeListener:()=>{}}}let c1=(()=>{class n{constructor(e,i){this._mediaMatcher=e,this._zone=i,this._queries=new Map,this._destroySubject=new X}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return X2(q_(e)).some(o=>this._registerQuery(o).mql.matches)}observe(e){let s=M0(X2(q_(e)).map(a=>this._registerQuery(a).observable));return s=Gl(s.pipe(ei(1)),s.pipe(s1(1),o1(0))),s.pipe(Ce(a=>{const l={matches:!1,breakpoints:{}};return a.forEach(({matches:c,query:M})=>{l.matches=l.matches||c,l.breakpoints[M]=c}),l}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);const i=this._mediaMatcher.matchMedia(e),s={observable:new ce(a=>{const l=c=>this._zone.run(()=>a.next(c));return i.addListener(l),()=>{i.removeListener(l)}}).pipe(bo(i),Ce(({matches:a})=>({query:e,matches:a})),xn(this._destroySubject)),mql:i};return this._queries.set(e,s),s}}return n.\u0275fac=function(e){return new(e||n)(we($7),we(pt))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function X2(n){return n.map(t=>t.split(",")).reduce((t,e)=>t.concat(e)).map(t=>t.trim())}function rg(n,t){return(n.getAttribute(t)||"").match(/\S+/g)||[]}const J2="cdk-describedby-message",og="cdk-describedby-host";let d1=0,Q7=(()=>{class n{constructor(e,i){this._platform=i,this._messageRegistry=new Map,this._messagesContainer=null,this._id=""+d1++,this._document=e,this._id=Lt(Id)+"-"+d1++}describe(e,i,o){if(!this._canBeDescribed(e,i))return;const s=u1(i,o);"string"!=typeof i?(eL(i,this._id),this._messageRegistry.set(s,{messageElement:i,referenceCount:0})):this._messageRegistry.has(s)||this._createMessageElement(i,o),this._isElementDescribedByMessage(e,s)||this._addMessageReference(e,s)}removeDescription(e,i,o){if(!i||!this._isElementNode(e))return;const s=u1(i,o);if(this._isElementDescribedByMessage(e,s)&&this._removeMessageReference(e,s),"string"==typeof i){const a=this._messageRegistry.get(s);a&&0===a.referenceCount&&this._deleteMessageElement(s)}0===this._messagesContainer?.childNodes.length&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){const e=this._document.querySelectorAll(`[${og}="${this._id}"]`);for(let i=0;i0!=o.indexOf(J2));e.setAttribute("aria-describedby",i.join(" "))}_addMessageReference(e,i){const o=this._messageRegistry.get(i);(function Z7(n,t,e){const i=rg(n,t);i.some(o=>o.trim()==e.trim())||(i.push(e.trim()),n.setAttribute(t,i.join(" ")))})(e,"aria-describedby",o.messageElement.id),e.setAttribute(og,this._id),o.referenceCount++}_removeMessageReference(e,i){const o=this._messageRegistry.get(i);o.referenceCount--,function X7(n,t,e){const o=rg(n,t).filter(s=>s!=e.trim());o.length?n.setAttribute(t,o.join(" ")):n.removeAttribute(t)}(e,"aria-describedby",o.messageElement.id),e.removeAttribute(og)}_isElementDescribedByMessage(e,i){const o=rg(e,"aria-describedby"),s=this._messageRegistry.get(i),a=s&&s.messageElement.id;return!!a&&-1!=o.indexOf(a)}_canBeDescribed(e,i){if(!this._isElementNode(e))return!1;if(i&&"object"==typeof i)return!0;const o=null==i?"":`${i}`.trim(),s=e.getAttribute("aria-label");return!(!o||s&&s.trim()===o)}_isElementNode(e){return e.nodeType===this._document.ELEMENT_NODE}}return n.\u0275fac=function(e){return new(e||n)(we(St),we(hi))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function u1(n,t){return"string"==typeof n?`${t||""}/${n}`:n}function eL(n,t){n.id||(n.id=`${J2}-${t}-${d1++}`)}class tL{constructor(t){this._items=t,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new X,this._typeaheadSubscription=T.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=e=>e.disabled,this._pressedLetters=[],this.tabOut=new X,this.change=new X,t instanceof Hl&&(this._itemChangesSubscription=t.changes.subscribe(e=>{if(this._activeItem){const o=e.toArray().indexOf(this._activeItem);o>-1&&o!==this._activeItemIndex&&(this._activeItemIndex=o)}}))}skipPredicate(t){return this._skipPredicateFn=t,this}withWrap(t=!0){return this._wrap=t,this}withVerticalOrientation(t=!0){return this._vertical=t,this}withHorizontalOrientation(t){return this._horizontal=t,this}withAllowedModifierKeys(t){return this._allowedModifierKeys=t,this}withTypeAhead(t=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(ui(e=>this._pressedLetters.push(e)),o1(t),ki(()=>this._pressedLetters.length>0),Ce(()=>this._pressedLetters.join(""))).subscribe(e=>{const i=this._getItemsArray();for(let o=1;o!t[s]||this._allowedModifierKeys.indexOf(s)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&o){this.setNextItemActive();break}return;case 38:if(this._vertical&&o){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&o){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&o){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&o){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&o){this.setLastItemActive();break}return;case 33:if(this._pageUpAndDown.enabled&&o){const s=this._activeItemIndex-this._pageUpAndDown.delta;this._setActiveItemByIndex(s>0?s:0,1);break}return;case 34:if(this._pageUpAndDown.enabled&&o){const s=this._activeItemIndex+this._pageUpAndDown.delta,a=this._getItemsArray().length;this._setActiveItemByIndex(s=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],t.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(t){const e=this._getItemsArray(),i="number"==typeof t?t:e.indexOf(t);this._activeItem=e[i]??null,this._activeItemIndex=i}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._letterKeyStream.complete(),this.tabOut.complete(),this.change.complete(),this._pressedLetters=[]}_setActiveItemByDelta(t){this._wrap?this._setActiveInWrapMode(t):this._setActiveInDefaultMode(t)}_setActiveInWrapMode(t){const e=this._getItemsArray();for(let i=1;i<=e.length;i++){const o=(this._activeItemIndex+t*i+e.length)%e.length;if(!this._skipPredicateFn(e[o]))return void this.setActiveItem(o)}}_setActiveInDefaultMode(t){this._setActiveItemByIndex(this._activeItemIndex+t,t)}_setActiveItemByIndex(t,e){const i=this._getItemsArray();if(i[t]){for(;this._skipPredicateFn(i[t]);)if(!i[t+=e])return;this.setActiveItem(t)}}_getItemsArray(){return this._items instanceof Hl?this._items.toArray():this._items}}class J7 extends tL{setActiveItem(t){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(t),this.activeItem&&this.activeItem.setActiveStyles()}}class nL extends tL{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(t){return this._origin=t,this}setActiveItem(t){super.setActiveItem(t),this.activeItem&&this.activeItem.focus(this._origin)}}let sg=(()=>{class n{constructor(e){this._platform=e}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return function t9(n){return!!(n.offsetWidth||n.offsetHeight||"function"==typeof n.getClientRects&&n.getClientRects().length)}(e)&&"visible"===getComputedStyle(e).visibility}isTabbable(e){if(!this._platform.isBrowser)return!1;const i=function e9(n){try{return n.frameElement}catch{return null}}(function c9(n){return n.ownerDocument&&n.ownerDocument.defaultView||window}(e));if(i&&(-1===rL(i)||!this.isVisible(i)))return!1;let o=e.nodeName.toLowerCase(),s=rL(e);return e.hasAttribute("contenteditable")?-1!==s:!("iframe"===o||"object"===o||this._platform.WEBKIT&&this._platform.IOS&&!function a9(n){let t=n.nodeName.toLowerCase(),e="input"===t&&n.type;return"text"===e||"password"===e||"select"===t||"textarea"===t}(e))&&("audio"===o?!!e.hasAttribute("controls")&&-1!==s:"video"===o?-1!==s&&(null!==s||this._platform.FIREFOX||e.hasAttribute("controls")):e.tabIndex>=0)}isFocusable(e,i){return function l9(n){return!function i9(n){return function o9(n){return"input"==n.nodeName.toLowerCase()}(n)&&"hidden"==n.type}(n)&&(function n9(n){let t=n.nodeName.toLowerCase();return"input"===t||"select"===t||"button"===t||"textarea"===t}(n)||function r9(n){return function s9(n){return"a"==n.nodeName.toLowerCase()}(n)&&n.hasAttribute("href")}(n)||n.hasAttribute("contenteditable")||iL(n))}(e)&&!this.isDisabled(e)&&(i?.ignoreVisibility||this.isVisible(e))}}return n.\u0275fac=function(e){return new(e||n)(we(hi))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function iL(n){if(!n.hasAttribute("tabindex")||void 0===n.tabIndex)return!1;let t=n.getAttribute("tabindex");return!(!t||isNaN(parseInt(t,10)))}function rL(n){if(!iL(n))return null;const t=parseInt(n.getAttribute("tabindex")||"",10);return isNaN(t)?-1:t}class d9{constructor(t,e,i,o,s=!1){this._element=t,this._checker=e,this._ngZone=i,this._document=o,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}get enabled(){return this._enabled}set enabled(t){this._enabled=t,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}destroy(){const t=this._startAnchor,e=this._endAnchor;t&&(t.removeEventListener("focus",this.startAnchorListener),t.remove()),e&&(e.removeEventListener("focus",this.endAnchorListener),e.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(t)))})}focusFirstTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(t)))})}focusLastTabbableElementWhenReady(t){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(t)))})}_getRegionBoundary(t){const e=this._element.querySelectorAll(`[cdk-focus-region-${t}], [cdkFocusRegion${t}], [cdk-focus-${t}]`);return"start"==t?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(t){const e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(e){if(!this._checker.isFocusable(e)){const i=this._getFirstTabbableElement(e);return i?.focus(t),!!i}return e.focus(t),!0}return this.focusFirstTabbableElement(t)}focusFirstTabbableElement(t){const e=this._getRegionBoundary("start");return e&&e.focus(t),!!e}focusLastTabbableElement(t){const e=this._getRegionBoundary("end");return e&&e.focus(t),!!e}hasAttached(){return this._hasAttached}_getFirstTabbableElement(t){if(this._checker.isFocusable(t)&&this._checker.isTabbable(t))return t;const e=t.children;for(let i=0;i=0;i--){const o=e[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[i]):null;if(o)return o}return null}_createAnchor(){const t=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,t),t.classList.add("cdk-visually-hidden"),t.classList.add("cdk-focus-trap-anchor"),t.setAttribute("aria-hidden","true"),t}_toggleAnchorTabIndex(t,e){t?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(t){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(t,this._startAnchor),this._toggleAnchorTabIndex(t,this._endAnchor))}_executeOnStable(t){this._ngZone.isStable?t():this._ngZone.onStable.pipe(ei(1)).subscribe(t)}}let h1=(()=>{class n{constructor(e,i,o){this._checker=e,this._ngZone=i,this._document=o}create(e,i=!1){return new d9(e,this._checker,this._ngZone,this._document,i)}}return n.\u0275fac=function(e){return new(e||n)(we(sg),we(pt),we(St))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function f1(n){return 0===n.buttons||0===n.offsetX&&0===n.offsetY}function p1(n){const t=n.touches&&n.touches[0]||n.changedTouches&&n.changedTouches[0];return!(!t||-1!==t.identifier||null!=t.radiusX&&1!==t.radiusX||null!=t.radiusY&&1!==t.radiusY)}const u9=new Be("cdk-input-modality-detector-options"),h9={ignoreKeys:[18,17,224,91,16]},eu=Ja({passive:!0,capture:!0});let f9=(()=>{class n{constructor(e,i,o,s){this._platform=e,this._mostRecentTarget=null,this._modality=new Er(null),this._lastTouchMs=0,this._onKeydown=a=>{this._options?.ignoreKeys?.some(l=>l===a.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=el(a))},this._onMousedown=a=>{Date.now()-this._lastTouchMs<650||(this._modality.next(f1(a)?"keyboard":"mouse"),this._mostRecentTarget=el(a))},this._onTouchstart=a=>{p1(a)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=el(a))},this._options={...h9,...s},this.modalityDetected=this._modality.pipe(s1(1)),this.modalityChanged=this.modalityDetected.pipe(a1()),e.isBrowser&&i.runOutsideAngular(()=>{o.addEventListener("keydown",this._onKeydown,eu),o.addEventListener("mousedown",this._onMousedown,eu),o.addEventListener("touchstart",this._onTouchstart,eu)})}get mostRecentModality(){return this._modality.value}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,eu),document.removeEventListener("mousedown",this._onMousedown,eu),document.removeEventListener("touchstart",this._onTouchstart,eu))}}return n.\u0275fac=function(e){return new(e||n)(we(hi),we(pt),we(St),we(u9,8))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const p9=new Be("liveAnnouncerElement",{providedIn:"root",factory:function m9(){return null}}),_9=new Be("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let g9=0,m1=(()=>{class n{constructor(e,i,o,s){this._ngZone=i,this._defaultOptions=s,this._document=o,this._liveElement=e||this._createLiveElement()}announce(e,...i){const o=this._defaultOptions;let s,a;return 1===i.length&&"number"==typeof i[0]?a=i[0]:[s,a]=i,this.clear(),clearTimeout(this._previousTimeout),s||(s=o&&o.politeness?o.politeness:"polite"),null==a&&o&&(a=o.duration),this._liveElement.setAttribute("aria-live",s),this._liveElement.id&&this._exposeAnnouncerToModals(this._liveElement.id),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(l=>this._currentResolve=l)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=e,"number"==typeof a&&(this._previousTimeout=setTimeout(()=>this.clear(),a)),this._currentResolve(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement?.remove(),this._liveElement=null,this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){const e="cdk-live-announcer-element",i=this._document.getElementsByClassName(e),o=this._document.createElement("div");for(let s=0;s .cdk-overlay-container [aria-modal="true"]');for(let o=0;o{class n{constructor(e,i,o,s,a){this._ngZone=e,this._platform=i,this._inputModalityDetector=o,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new X,this._rootNodeFocusAndBlurListener=l=>{for(let M=el(l);M;M=M.parentElement)"focus"===l.type?this._onFocus(l,M):this._onBlur(l,M)},this._document=s,this._detectionMode=a?.detectionMode||0}monitor(e,i=!1){const o=la(e);if(!this._platform.isBrowser||1!==o.nodeType)return We(null);const s=function Gj(n){if(function $j(){if(null==Q0){const n=typeof document<"u"?document.head:null;Q0=!(!n||!n.createShadowRoot&&!n.attachShadow)}return Q0}()){const t=n.getRootNode?n.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&t instanceof ShadowRoot)return t}return null}(o)||this._getDocument(),a=this._elementInfo.get(o);if(a)return i&&(a.checkChildren=!0),a.subject;const l={checkChildren:i,subject:new X,rootNode:s};return this._elementInfo.set(o,l),this._registerGlobalListeners(l),l.subject}stopMonitoring(e){const i=la(e),o=this._elementInfo.get(i);o&&(o.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(o))}focusVia(e,i,o){const s=la(e);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([l,c])=>this._originChanged(l,i,c)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(o))}ngOnDestroy(){this._elementInfo.forEach((e,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:e&&this._isLastInteractionFromInputLabel(e)?"mouse":"program"}_shouldBeAttributedToTouch(e){return 1===this._detectionMode||!!e?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(e,i){e.classList.toggle("cdk-focused",!!i),e.classList.toggle("cdk-touch-focused","touch"===i),e.classList.toggle("cdk-keyboard-focused","keyboard"===i),e.classList.toggle("cdk-mouse-focused","mouse"===i),e.classList.toggle("cdk-program-focused","program"===i)}_setOrigin(e,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=e,this._originFromTouchInteraction="touch"===e&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(e,i){const o=this._elementInfo.get(i),s=el(e);!o||!o.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),o)}_onBlur(e,i){const o=this._elementInfo.get(i);!o||o.checkChildren&&e.relatedTarget instanceof Node&&i.contains(e.relatedTarget)||(this._setClasses(i),this._emitOrigin(o,null))}_emitOrigin(e,i){e.subject.observers.length&&this._ngZone.run(()=>e.subject.next(i))}_registerGlobalListeners(e){if(!this._platform.isBrowser)return;const i=e.rootNode,o=this._rootNodeFocusListenerCount.get(i)||0;o||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,ag),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,ag)}),this._rootNodeFocusListenerCount.set(i,o+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(xn(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(e){const i=e.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const o=this._rootNodeFocusListenerCount.get(i);o>1?this._rootNodeFocusListenerCount.set(i,o-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,ag),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,ag),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(e,i,o){this._setClasses(e,i),this._emitOrigin(o,i),this._lastFocusOrigin=i}_getClosestElementsInfo(e){const i=[];return this._elementInfo.forEach((o,s)=>{(s===e||o.checkChildren&&s.contains(e))&&i.push([s,o])}),i}_isLastInteractionFromInputLabel(e){const{_mostRecentTarget:i,mostRecentModality:o}=this._inputModalityDetector;if("mouse"!==o||!i||i===e||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.disabled)return!1;const s=e.labels;if(s)for(let a=0;a{class n{constructor(e,i){this._elementRef=e,this._focusMonitor=i,this._focusOrigin=null,this.cdkFocusChange=new ht}get focusOrigin(){return this._focusOrigin}ngAfterViewInit(){const e=this._elementRef.nativeElement;this._monitorSubscription=this._focusMonitor.monitor(e,1===e.nodeType&&e.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(i=>{this._focusOrigin=i,this.cdkFocusChange.emit(i)})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(nl))},n.\u0275dir=Ke({type:n,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"},exportAs:["cdkMonitorFocus"]}),n})();const sL="cdk-high-contrast-black-on-white",aL="cdk-high-contrast-white-on-black",_1="cdk-high-contrast-active";let lL=(()=>{class n{constructor(e,i){this._platform=e,this._document=i,this._breakpointSubscription=Lt(c1).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);const i=this._document.defaultView||window,o=i&&i.getComputedStyle?i.getComputedStyle(e):null,s=(o&&o.backgroundColor||"").replace(/ /g,"");switch(e.remove(),s){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return 2;case"rgb(255,255,255)":case"rgb(255,250,239)":return 1}return 0}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const e=this._document.body.classList;e.remove(_1,sL,aL),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?e.add(_1,sL):2===i&&e.add(_1,aL)}}}return n.\u0275fac=function(e){return new(e||n)(we(hi),we(St))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),g1=(()=>{class n{constructor(e){e._applyBodyHighContrastModeCssClasses()}}return n.\u0275fac=function(e){return new(e||n)(we(lL))},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[l1]}),n})();var tc_OPEN="mdc-dialog--open",cL_DIALOG_ANIMATION_CLOSE_TIME_MS=(["textarea",".mdc-menu .mdc-list-item",".mdc-menu .mdc-deprecated-list-item"].join(", "),75);function y9(n,t){}class lg{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.closeOnNavigation=!0,this.closeOnDestroy=!0}}let dL=(()=>{class n extends Q_{constructor(e,i,o,s,a,l,c,M){super(),this._elementRef=e,this._focusTrapFactory=i,this._config=s,this._interactivityChecker=a,this._ngZone=l,this._overlayRef=c,this._focusMonitor=M,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=P=>{this._portalOutlet.hasAttached();const Y=this._portalOutlet.attachDomPortal(P);return this._contentAttached(),Y},this._ariaLabelledBy=this._config.ariaLabelledBy||null,this._document=o}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._restoreFocus()}attachComponentPortal(e){this._portalOutlet.hasAttached();const i=this._portalOutlet.attachComponentPortal(e);return this._contentAttached(),i}attachTemplatePortal(e){this._portalOutlet.hasAttached();const i=this._portalOutlet.attachTemplatePortal(e);return this._contentAttached(),i}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(e,i){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const o=()=>{e.removeEventListener("blur",o),e.removeEventListener("mousedown",o),e.removeAttribute("tabindex")};e.addEventListener("blur",o),e.addEventListener("mousedown",o)})),e.focus(i)}_focusByCssSelector(e,i){let o=this._elementRef.nativeElement.querySelector(e);o&&this._forceFocus(o,i)}_trapFocus(){const e=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||e.focus();break;case!0:case"first-tabbable":this._focusTrap.focusInitialElementWhenReady().then(i=>{i||this._focusDialogContainer()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus)}}_restoreFocus(){const e=this._config.restoreFocus;let i=null;if("string"==typeof e?i=this._document.querySelector(e):"boolean"==typeof e?i=e?this._elementFocusedBeforeDialogWasOpened:null:e&&(i=e),this._config.restoreFocus&&i&&"function"==typeof i.focus){const o=J0(),s=this._elementRef.nativeElement;(!o||o===this._document.body||o===s||s.contains(o))&&(this._focusMonitor?(this._focusMonitor.focusVia(i,this._closeInteractionType),this._closeInteractionType=null):i.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const e=this._elementRef.nativeElement,i=J0();return e===i||e.contains(i)}_initializeFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=J0())}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(h1),F(St,8),F(lg),F(sg),F(pt),F(Ef),F(nl))},n.\u0275cmp=qe({type:n,selectors:[["cdk-dialog-container"]],viewQuery:function(e,i){if(1&e&&ft(tl,7),2&e){let o;nt(o=it())&&(i._portalOutlet=o.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(e,i){2&e&&Ut("id",i._config.id||null)("role",i._config.role)("aria-modal",i._config.ariaModal)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null)},features:[dt],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(e,i){1&e&&j(0,y9,0,0,"ng-template",0)},dependencies:[tl],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2}),n})();class b1{constructor(t,e){this.overlayRef=t,this.config=e,this.closed=new X,this.disableClose=e.disableClose,this.backdropClick=t.backdropClick(),this.keydownEvents=t.keydownEvents(),this.outsidePointerEvents=t.outsidePointerEvents(),this.id=e.id,this.keydownEvents.subscribe(i=>{27===i.keyCode&&!this.disableClose&&!Ds(i)&&(i.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})})}close(t,e){if(this.containerInstance){const i=this.closed;this.containerInstance._closeInteractionType=e?.focusOrigin||"program",this.overlayRef.dispose(),i.next(t),i.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(t="",e=""){return this.overlayRef.updateSize({width:t,height:e}),this}addPanelClass(t){return this.overlayRef.addPanelClass(t),this}removePanelClass(t){return this.overlayRef.removePanelClass(t),this}}const uL=new Be("DialogScrollStrategy"),M9=new Be("DialogData"),w9=new Be("DefaultDialogConfig"),C9={provide:uL,deps:[to],useFactory:function x9(n){return()=>n.scrollStrategies.block()}};let k9=0,hL=(()=>{class n{constructor(e,i,o,s,a,l){this._overlay=e,this._injector=i,this._defaultOptions=o,this._parentDialog=s,this._overlayContainer=a,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new X,this._afterOpenedAtThisLevel=new X,this._ariaHiddenElements=new Map,this.afterAllClosed=tf(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(bo(void 0))),this._scrollStrategy=l}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}open(e,i){(i={...this._defaultOptions||new lg,...i}).id=i.id||"cdk-dialog-"+k9++,i.id&&this.getDialogById(i.id);const s=this._getOverlayConfig(i),a=this._overlay.create(s),l=new b1(a,i),c=this._attachContainer(a,l,i);return l.containerInstance=c,this._attachDialogContent(e,l,c,i),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(l),l.closed.subscribe(()=>this._removeOpenDialog(l,!0)),this.afterOpened.next(l),l}closeAll(){v1(this.openDialogs,e=>e.close())}getDialogById(e){return this.openDialogs.find(i=>i.id===e)}ngOnDestroy(){v1(this._openDialogsAtThisLevel,e=>{!1===e.config.closeOnDestroy&&this._removeOpenDialog(e,!1)}),v1(this._openDialogsAtThisLevel,e=>e.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(e){const i=new Lf({positionStrategy:e.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:e.scrollStrategy||this._scrollStrategy(),panelClass:e.panelClass,hasBackdrop:e.hasBackdrop,direction:e.direction,minWidth:e.minWidth,minHeight:e.minHeight,maxWidth:e.maxWidth,maxHeight:e.maxHeight,width:e.width,height:e.height,disposeOnNavigation:e.closeOnNavigation});return e.backdropClass&&(i.backdropClass=e.backdropClass),i}_attachContainer(e,i,o){const s=o.injector||o.viewContainerRef?.injector,a=[{provide:lg,useValue:o},{provide:b1,useValue:i},{provide:Ef,useValue:e}];let l;o.container?"function"==typeof o.container?l=o.container:(l=o.container.type,a.push(...o.container.providers(o))):l=dL;const c=new Zd(l,o.viewContainerRef,mi.create({parent:s||this._injector,providers:a}),o.componentFactoryResolver);return e.attach(c).instance}_attachDialogContent(e,i,o,s){if(e instanceof lr){const a=this._createInjector(s,i,o,void 0);let l={$implicit:s.data,dialogRef:i};s.templateContext&&(l={...l,..."function"==typeof s.templateContext?s.templateContext():s.templateContext}),o.attachTemplatePortal(new Jl(e,null,l,a))}else{const a=this._createInjector(s,i,o,this._injector),l=o.attachComponentPortal(new Zd(e,s.viewContainerRef,a,s.componentFactoryResolver));i.componentInstance=l.instance}}_createInjector(e,i,o,s){const a=e.injector||e.viewContainerRef?.injector,l=[{provide:M9,useValue:e.data},{provide:b1,useValue:i}];return e.providers&&("function"==typeof e.providers?l.push(...e.providers(i,e,o)):l.push(...e.providers)),e.direction&&(!a||!a.get(Pr,null,{optional:!0}))&&l.push({provide:Pr,useValue:{value:e.direction,change:We()}}),mi.create({parent:a||s,providers:l})}_removeOpenDialog(e,i){const o=this.openDialogs.indexOf(e);o>-1&&(this.openDialogs.splice(o,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((s,a)=>{s?a.setAttribute("aria-hidden",s):a.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),i&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const e=this._overlayContainer.getContainerElement();if(e.parentElement){const i=e.parentElement.children;for(let o=i.length-1;o>-1;o--){const s=i[o];s!==e&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){const e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}}return n.\u0275fac=function(e){return new(e||n)(we(to),we(mi),we(w9,8),we(n,12),we(ig),we(uL))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();function v1(n,t){let e=n.length;for(;e--;)t(n[e])}let S9=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({providers:[hL,C9],imports:[Qd,Xd,g1,Xd]}),n})();const D9=["text"];function T9(n,t){if(1&n&&xe(0,"mat-pseudo-checkbox",5),2&n){const e=z();w("state",e.selected?"checked":"unchecked")("disabled",e.disabled)}}function L9(n,t){if(1&n&&(D(0,"span",6),I(1),C()),2&n){const e=z();d(1),me("(",e.group.label,")")}}const E9=[[["mat-icon"]],"*"],I9=["mat-icon","*"],O9=new Be("mat-sanity-checks",{providedIn:"root",factory:function P9(){return!0}});let Hn=(()=>{class n{constructor(e,i,o){this._sanityChecks=i,this._document=o,this._hasDoneGlobalChecks=!1,e._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(e){return!e1()&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[e])}}return n.\u0275fac=function(e){return new(e||n)(we(lL),we(O9,8),we(St))},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[xf,xf]}),n})();function tu(n){return class extends n{constructor(...t){super(...t),this._disabled=!1}get disabled(){return this._disabled}set disabled(t){this._disabled=hn(t)}}}function If(n,t){return class extends n{constructor(...e){super(...e),this.defaultColor=t,this.color=t}get color(){return this._color}set color(e){const i=e||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}}}function Pf(n){return class extends n{constructor(...t){super(...t),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(t){this._disableRipple=hn(t)}}}function mL(n,t=0){return class extends n{constructor(...e){super(...e),this._tabIndex=t,this.defaultTabIndex=t}get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(e){this._tabIndex=null!=e?vo(e):this.defaultTabIndex}}}function _L(n){return class extends n{constructor(...t){super(...t),this.errorState=!1}updateErrorState(){const t=this.errorState,s=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);s!==t&&(this.errorState=s,this.stateChanges.next())}}}let F9=(()=>{class n{isErrorState(e,i){return!!(e&&e.invalid&&(e.dirty||i&&i.submitted))}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})(),y1=(()=>{class n{isErrorState(e,i){return!!(e&&e.invalid&&(e.touched||i&&i.submitted))}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();class R9{constructor(t,e,i,o=!1){this._renderer=t,this.element=e,this.config=i,this._animationForciblyDisabledThroughCss=o,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const gL=Ja({passive:!0,capture:!0});class N9{constructor(){this._events=new Map,this._delegateEventHandler=t=>{const e=el(t);e&&this._events.get(t.type)?.forEach((i,o)=>{(o===e||o.contains(e))&&i.forEach(s=>s.handleEvent(t))})}}addHandler(t,e,i,o){const s=this._events.get(e);if(s){const a=s.get(i);a?a.add(o):s.set(i,new Set([o]))}else this._events.set(e,new Map([[i,new Set([o])]])),t.runOutsideAngular(()=>{document.addEventListener(e,this._delegateEventHandler,gL)})}removeHandler(t,e,i){const o=this._events.get(t);if(!o)return;const s=o.get(e);!s||(s.delete(i),0===s.size&&o.delete(e),0===o.size&&(this._events.delete(t),document.removeEventListener(t,this._delegateEventHandler,gL)))}}const bL={enterDuration:225,exitDuration:150},vL=Ja({passive:!0,capture:!0}),yL=["mousedown","touchstart"],ML=["mouseup","mouseleave","touchend","touchcancel"];class Af{constructor(t,e,i,o){this._target=t,this._ngZone=e,this._platform=o,this._isPointerDown=!1,this._activeRipples=new Map,this._pointerUpEventsRegistered=!1,o.isBrowser&&(this._containerElement=la(i))}fadeInRipple(t,e,i={}){const o=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s={...bL,...i.animation};i.centered&&(t=o.left+o.width/2,e=o.top+o.height/2);const a=i.radius||function B9(n,t,e){const i=Math.max(Math.abs(n-e.left),Math.abs(n-e.right)),o=Math.max(Math.abs(t-e.top),Math.abs(t-e.bottom));return Math.sqrt(i*i+o*o)}(t,e,o),l=t-o.left,c=e-o.top,M=s.enterDuration,P=document.createElement("div");P.classList.add("mat-ripple-element"),P.style.left=l-a+"px",P.style.top=c-a+"px",P.style.height=2*a+"px",P.style.width=2*a+"px",null!=i.color&&(P.style.backgroundColor=i.color),P.style.transitionDuration=`${M}ms`,this._containerElement.appendChild(P);const Y=window.getComputedStyle(P),te=Y.transitionDuration,fe="none"===Y.transitionProperty||"0s"===te||"0s, 0s"===te||0===o.width&&0===o.height,ke=new R9(this,P,i,fe);P.style.transform="scale3d(1, 1, 1)",ke.state=0,i.persistent||(this._mostRecentTransientRipple=ke);let Ie=null;return!fe&&(M||s.exitDuration)&&this._ngZone.runOutsideAngular(()=>{const Re=()=>this._finishRippleTransition(ke),Xe=()=>this._destroyRipple(ke);P.addEventListener("transitionend",Re),P.addEventListener("transitioncancel",Xe),Ie={onTransitionEnd:Re,onTransitionCancel:Xe}}),this._activeRipples.set(ke,Ie),(fe||!M)&&this._finishRippleTransition(ke),ke}fadeOutRipple(t){if(2===t.state||3===t.state)return;const e=t.element,i={...bL,...t.config.animation};e.style.transitionDuration=`${i.exitDuration}ms`,e.style.opacity="0",t.state=2,(t._animationForciblyDisabledThroughCss||!i.exitDuration)&&this._finishRippleTransition(t)}fadeOutAll(){this._getActiveRipples().forEach(t=>t.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(t=>{t.config.persistent||t.fadeOut()})}setupTriggerEvents(t){const e=la(t);!this._platform.isBrowser||!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,yL.forEach(i=>{Af._eventManager.addHandler(this._ngZone,i,e,this)}))}handleEvent(t){"mousedown"===t.type?this._onMousedown(t):"touchstart"===t.type?this._onTouchStart(t):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{ML.forEach(e=>{this._triggerElement.addEventListener(e,this,vL)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(t){0===t.state?this._startFadeOutTransition(t):2===t.state&&this._destroyRipple(t)}_startFadeOutTransition(t){const e=t===this._mostRecentTransientRipple,{persistent:i}=t.config;t.state=1,!i&&(!e||!this._isPointerDown)&&t.fadeOut()}_destroyRipple(t){const e=this._activeRipples.get(t)??null;this._activeRipples.delete(t),this._activeRipples.size||(this._containerRect=null),t===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),t.state=3,null!==e&&(t.element.removeEventListener("transitionend",e.onTransitionEnd),t.element.removeEventListener("transitioncancel",e.onTransitionCancel)),t.element.remove()}_onMousedown(t){const e=f1(t),i=this._lastTouchStartEvent&&Date.now(){!t.config.persistent&&(1===t.state||t.config.terminateOnPointerUp&&0===t.state)&&t.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){const t=this._triggerElement;t&&(yL.forEach(e=>Af._eventManager.removeHandler(e,t,this)),this._pointerUpEventsRegistered&&ML.forEach(e=>t.removeEventListener(e,this,vL)))}}Af._eventManager=new N9;const wL=new Be("mat-ripple-global-options");let Ts=(()=>{class n{constructor(e,i,o,s,a){this._elementRef=e,this._animationMode=a,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new Af(this,i,e,o)}get disabled(){return this._disabled}set disabled(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:{...this._globalOptions.animation,..."NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{},...this.animation},terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(e,i=0,o){return"number"==typeof e?this._rippleRenderer.fadeInRipple(e,i,{...this.rippleConfig,...o}):this._rippleRenderer.fadeInRipple(0,0,{...this.rippleConfig,...e})}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(pt),F(hi),F(wL,8),F(Vi,8))},n.\u0275dir=Ke({type:n,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(e,i){2&e&&Gt("mat-ripple-unbounded",i.unbounded)},inputs:{color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],radius:["matRippleRadius","radius"],animation:["matRippleAnimation","animation"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"]},exportAs:["matRipple"]}),n})(),Ff=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[Hn,Hn]}),n})(),H9=(()=>{class n{constructor(e){this._animationMode=e,this.state="unchecked",this.disabled=!1}}return n.\u0275fac=function(e){return new(e||n)(F(Vi,8))},n.\u0275cmp=qe({type:n,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:8,hostBindings:function(e,i){2&e&&Gt("mat-pseudo-checkbox-indeterminate","indeterminate"===i.state)("mat-pseudo-checkbox-checked","checked"===i.state)("mat-pseudo-checkbox-disabled",i.disabled)("_mat-animation-noopable","NoopAnimations"===i._animationMode)},inputs:{state:"state",disabled:"disabled"},decls:0,vars:0,template:function(e,i){},styles:['.mat-pseudo-checkbox{border:2px solid;border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox.mat-pseudo-checkbox-indeterminate{border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px}.mat-pseudo-checkbox-checked::after{top:2.7px;width:10px;height:4px}'],encapsulation:2,changeDetection:0}),n})(),V9=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[Hn]}),n})();const xL=new Be("MAT_OPTION_PARENT_COMPONENT"),CL=new Be("MatOptgroup");let j9=0;class z9{constructor(t,e=!1){this.source=t,this.isUserInput=e}}let U9=(()=>{class n{constructor(e,i,o,s){this._element=e,this._changeDetectorRef=i,this._parent=o,this.group=s,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+j9++,this.onSelectionChange=new ht,this._stateChanges=new X}get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(e){this._disabled=hn(e)}get disableRipple(){return!(!this._parent||!this._parent.disableRipple)}get active(){return this._active}get viewValue(){return(this._text?.nativeElement.textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(e,i){const o=this._getHostElement();"function"==typeof o.focus&&o.focus(i)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(e){(13===e.keyCode||32===e.keyCode)&&!Ds(e)&&(this._selectViaInteraction(),e.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getAriaSelected(){return this.selected||!this.multiple&&null}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const e=this.viewValue;e!==this._mostRecentViewValue&&(this._mostRecentViewValue&&this._stateChanges.next(),this._mostRecentViewValue=e)}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(e=!1){this.onSelectionChange.emit(new z9(this,e))}}return n.\u0275fac=function(e){Ya()},n.\u0275dir=Ke({type:n,viewQuery:function(e,i){if(1&e&&ft(D9,7),2&e){let o;nt(o=it())&&(i._text=o.first)}},inputs:{value:"value",id:"id",disabled:"disabled"},outputs:{onSelectionChange:"onSelectionChange"}}),n})(),nu=(()=>{class n extends U9{constructor(e,i,o,s){super(e,i,o,s)}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(di),F(xL,8),F(CL,8))},n.\u0275cmp=qe({type:n,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-mdc-option","mat-mdc-focus-indicator","mdc-list-item"],hostVars:12,hostBindings:function(e,i){1&e&&ye("click",function(){return i._selectViaInteraction()})("keydown",function(s){return i._handleKeydown(s)}),2&e&&(Qs("id",i.id),Ut("tabindex",i._getTabIndex())("aria-selected",i._getAriaSelected())("aria-disabled",i.disabled.toString()),Gt("mdc-list-item--selected",i.selected)("mat-mdc-option-multiple",i.multiple)("mat-mdc-option-active",i.active)("mdc-list-item--disabled",i.disabled))},exportAs:["matOption"],features:[dt],ngContentSelectors:I9,decls:7,vars:4,consts:[["class","mat-mdc-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mdc-list-item__primary-text"],["text",""],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-mdc-option-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-mdc-option-pseudo-checkbox",3,"state","disabled"],[1,"cdk-visually-hidden"]],template:function(e,i){1&e&&(_r(E9),j(0,T9,1,2,"mat-pseudo-checkbox",0),vn(1),D(2,"span",1,2),vn(4,1),C(),j(5,L9,2,1,"span",3),xe(6,"div",4)),2&e&&(w("ngIf",i.multiple),d(5),w("ngIf",i.group&&i.group._inert),d(1),w("matRippleTrigger",i._getHostElement())("matRippleDisabled",i.disabled||i.disableRipple))},dependencies:[Ts,Ot,H9],styles:['.mat-mdc-option{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:16px;padding-right:16px;-webkit-user-select:none;user-select:none;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);min-height:48px}.mat-mdc-option:focus{outline:none}[dir=rtl] .mat-mdc-option,.mat-mdc-option[dir=rtl]{padding-left:16px;padding-right:16px}.mat-mdc-option.mdc-list-item{align-items:center}.mat-mdc-option.mdc-list-item--disabled{opacity:.38;cursor:default}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox{margin-right:0;margin-left:16px}.mat-mdc-option .mat-mdc-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit}.cdk-high-contrast-active .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple)::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .cdk-high-contrast-active .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple)::after{right:auto;left:16px}.mat-mdc-option-active::before{content:""}'],encapsulation:2,changeDetection:0}),n})(),kL=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[Ff,na,Hn,V9]}),n})();function G9(n,t){}class An{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0}}let q9=(()=>{class n extends dL{constructor(e,i,o,s,a,l,c,M){super(e,i,o,s,a,l,c,M),this._animationStateChanged=new ht}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(e){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(h1),F(St,8),F(An),F(sg),F(pt),F(Ef),F(nl))},n.\u0275cmp=qe({type:n,selectors:[["ng-component"]],features:[dt],decls:0,vars:0,template:function(e,i){},encapsulation:2}),n})();const SL="--mat-dialog-transition-duration";function DL(n){return null==n?null:"number"==typeof n?n:n.endsWith("ms")?vo(n.substring(0,n.length-2)):n.endsWith("s")?1e3*vo(n.substring(0,n.length-1)):"0"===n?0:null}let K9=(()=>{class n extends q9{constructor(e,i,o,s,a,l,c,M,P){super(e,i,o,s,a,l,c,P),this._animationMode=M,this._animationsEnabled="NoopAnimations"!==this._animationMode,this._hostElement=this._elementRef.nativeElement,this._openAnimationDuration=this._animationsEnabled?DL(this._config.enterAnimationDuration)??150:0,this._closeAnimationDuration=this._animationsEnabled?DL(this._config.exitAnimationDuration)??cL_DIALOG_ANIMATION_CLOSE_TIME_MS:0,this._animationTimer=null,this._finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._openAnimationDuration)},this._finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._closeAnimationDuration})}}_contentAttached(){super._contentAttached(),this._startOpenAnimation()}ngOnDestroy(){super.ngOnDestroy(),null!==this._animationTimer&&clearTimeout(this._animationTimer)}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._openAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(SL,`${this._openAnimationDuration}ms`),this._hostElement.classList.add("mdc-dialog--opening"),this._hostElement.classList.add(tc_OPEN),this._waitForAnimationToComplete(this._openAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add(tc_OPEN),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._closeAnimationDuration}),this._hostElement.classList.remove(tc_OPEN),this._animationsEnabled?(this._hostElement.style.setProperty(SL,`${this._openAnimationDuration}ms`),this._hostElement.classList.add("mdc-dialog--closing"),this._waitForAnimationToComplete(this._closeAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_clearAnimationClasses(){this._hostElement.classList.remove("mdc-dialog--opening"),this._hostElement.classList.remove("mdc-dialog--closing")}_waitForAnimationToComplete(e,i){null!==this._animationTimer&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(i,e)}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(h1),F(St,8),F(An),F(sg),F(pt),F(Ef),F(Vi,8),F(nl))},n.\u0275cmp=qe({type:n,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:8,hostBindings:function(e,i){2&e&&(Qs("id",i._config.id),Ut("aria-modal",i._config.ariaModal)("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),Gt("_mat-animation-noopable",!i._animationsEnabled))},features:[dt],decls:3,vars:0,consts:[[1,"mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1),j(2,G9,0,0,"ng-template",2),C()())},dependencies:[tl],styles:['.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-dialog,.mdc-dialog__scrim{position:fixed;top:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.mdc-dialog{display:none;z-index:var(--mdc-dialog-z-index, 7)}.mdc-dialog .mdc-dialog__content{padding:20px 24px 20px 24px}.mdc-dialog .mdc-dialog__surface{min-width:280px}@media(max-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:calc(100vw - 32px)}}@media(min-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:560px}}.mdc-dialog .mdc-dialog__surface{max-height:calc(100% - 32px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-width:none}@media(max-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px;width:560px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 112px)}}@media(max-width: 720px)and (min-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:560px}}@media(max-width: 720px)and (max-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:calc(100vh - 160px)}}@media(max-width: 720px)and (min-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px}}@media(max-width: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-height: 400px),(max-width: 600px),(min-width: 720px)and (max-height: 400px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{height:100%;max-height:100vh;max-width:100vw;width:100vw;border-radius:0}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{order:-1;left:-12px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__header{padding:0 16px 9px;justify-content:flex-start}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__title{margin-left:calc(16px - 2 * 12px)}}@media(min-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 400px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}.mdc-dialog.mdc-dialog__scrim--hidden .mdc-dialog__scrim{opacity:0}.mdc-dialog__scrim{opacity:0;z-index:-1}.mdc-dialog__container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;transform:scale(0.8);opacity:0;pointer-events:none}.mdc-dialog__surface{position:relative;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;max-width:100%;max-height:100%;pointer-events:auto;overflow-y:auto}.mdc-dialog__surface .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}[dir=rtl] .mdc-dialog__surface,.mdc-dialog__surface[dir=rtl]{text-align:right}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-dialog__surface{outline:2px solid windowText}}.mdc-dialog__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-dialog__surface::before{border-color:CanvasText}}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.mdc-dialog__surface::before{content:none}}.mdc-dialog__title{display:block;margin-top:0;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.mdc-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mdc-dialog__title,.mdc-dialog__title[dir=rtl]{text-align:right}.mdc-dialog--scrollable .mdc-dialog__title{margin-bottom:1px;padding-bottom:15px}.mdc-dialog--fullscreen .mdc-dialog__header{align-items:baseline;border-bottom:1px solid rgba(0,0,0,0);display:inline-flex;justify-content:space-between;padding:0 24px 9px;z-index:1}@media screen and (forced-colors: active){.mdc-dialog--fullscreen .mdc-dialog__header{border-bottom-color:CanvasText}}.mdc-dialog--fullscreen .mdc-dialog__header .mdc-dialog__close{right:-12px}.mdc-dialog--fullscreen .mdc-dialog__title{margin-bottom:0;padding:0;border-bottom:0}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__title{border-bottom:0;margin-bottom:0}.mdc-dialog--fullscreen .mdc-dialog__close{top:5px}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--fullscreen--titleless .mdc-dialog__close{margin-top:4px}.mdc-dialog--fullscreen--titleless.mdc-dialog--scrollable .mdc-dialog__close{margin-top:0}.mdc-dialog__content{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto}.mdc-dialog__content>:first-child{margin-top:0}.mdc-dialog__content>:last-child{margin-bottom:0}.mdc-dialog__title+.mdc-dialog__content,.mdc-dialog__header+.mdc-dialog__content{padding-top:0}.mdc-dialog--scrollable .mdc-dialog__title+.mdc-dialog__content{padding-top:8px;padding-bottom:8px}.mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:6px 0 0}.mdc-dialog--scrollable .mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:0}.mdc-dialog__actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--stacked .mdc-dialog__actions{flex-direction:column;align-items:flex-end}.mdc-dialog__button{margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog__button:first-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button:first-child,.mdc-dialog__button:first-child[dir=rtl]{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{text-align:left}.mdc-dialog--stacked .mdc-dialog__button:not(:first-child){margin-top:12px}.mdc-dialog--open,.mdc-dialog--opening,.mdc-dialog--closing{display:flex}.mdc-dialog--opening .mdc-dialog__scrim{transition:opacity 150ms linear}.mdc-dialog--opening .mdc-dialog__container{transition:opacity 75ms linear,transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog--closing .mdc-dialog__scrim,.mdc-dialog--closing .mdc-dialog__container{transition:opacity 75ms linear}.mdc-dialog--closing .mdc-dialog__container{transform:none}.mdc-dialog--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{transform:none;opacity:1}.mdc-dialog--open.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim{opacity:1}.mdc-dialog--open.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{transition:opacity 75ms linear}.mdc-dialog--open.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim{transition:opacity 150ms linear}.mdc-dialog__surface-scrim{display:none;opacity:0;position:absolute;width:100%;height:100%;z-index:1}.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{display:block}.mdc-dialog-scroll-lock{overflow:hidden}.mdc-dialog--no-content-padding .mdc-dialog__content{padding:0}.mdc-dialog--sheet .mdc-dialog__close{right:12px;top:9px;position:absolute;z-index:1}.mdc-dialog__scrim--removed{pointer-events:none}.mdc-dialog__scrim--removed .mdc-dialog__scrim,.mdc-dialog__scrim--removed .mdc-dialog__surface-scrim{display:none}.mat-mdc-dialog-content{max-height:65vh}.mat-mdc-dialog-container{position:static;display:block}.mat-mdc-dialog-container,.mat-mdc-dialog-container .mdc-dialog__container,.mat-mdc-dialog-container .mdc-dialog__surface{max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mat-mdc-dialog-container .mdc-dialog__surface{display:block;width:100%;height:100%}.mat-mdc-dialog-container{outline:0}.mat-mdc-dialog-container .mdc-dialog__surface{background-color:var(--mdc-dialog-container-color, white)}.mat-mdc-dialog-container .mdc-dialog__surface{box-shadow:var(--mdc-dialog-container-elevation, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12))}.mat-mdc-dialog-container .mdc-dialog__surface{border-radius:var(--mdc-dialog-container-shape, var(--mdc-shape-medium, 4px))}.mat-mdc-dialog-container.mdc-dialog--scrollable .mdc-dialog__title,.mat-mdc-dialog-container.mdc-dialog--scrollable .mdc-dialog__actions,.mat-mdc-dialog-container.mdc-dialog--scrollable.mdc-dialog-scroll-divider-footer .mdc-dialog__actions{border-color:var(--mdc-dialog-with-divider-divider-color, black)}.mat-mdc-dialog-container.mdc-dialog--scrollable .mdc-dialog__title{border-bottom-color:var(--mdc-dialog-with-divider-divider-color, black)}.mat-mdc-dialog-container .mdc-dialog__title{font-family:var(--mdc-dialog-subhead-font, "Arial");line-height:var(--mdc-dialog-subhead-line-height, 14px);font-size:var(--mdc-dialog-subhead-size, 14px);font-weight:var(--mdc-dialog-subhead-weight, 500);letter-spacing:var(--mdc-dialog-subhead-tracking, 1px)}.mat-mdc-dialog-container .mdc-dialog__title{color:var(--mdc-dialog-subhead-color, black)}.mat-mdc-dialog-container .mdc-dialog__content{font-family:var(--mdc-dialog-supporting-text-font, "Arial");line-height:var(--mdc-dialog-supporting-text-line-height, 14px);font-size:var(--mdc-dialog-supporting-text-size, 14px);font-weight:var(--mdc-dialog-supporting-text-weight, 500);letter-spacing:var(--mdc-dialog-supporting-text-tracking, 1px)}.mat-mdc-dialog-container .mdc-dialog__content{color:var(--mdc-dialog-supporting-text-color, black)}.mat-mdc-dialog-container .mdc-dialog__container{transition-duration:var(--mat-dialog-transition-duration, 0ms)}.mat-mdc-dialog-container._mat-animation-noopable .mdc-dialog__container{transition:none}.mat-mdc-dialog-content{display:block}.mat-mdc-dialog-actions{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}'],encapsulation:2}),n})();class Vn{constructor(t,e,i){this._ref=t,this._containerInstance=i,this._afterOpened=new X,this._beforeClosed=new X,this._state=0,this.disableClose=e.disableClose,this.id=t.id,i._animationStateChanged.pipe(ki(o=>"opened"===o.state),ei(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),i._animationStateChanged.pipe(ki(o=>"closed"===o.state),ei(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),t.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),vt(this.backdropClick(),this.keydownEvents().pipe(ki(o=>27===o.keyCode&&!this.disableClose&&!Ds(o)))).subscribe(o=>{this.disableClose||(o.preventDefault(),TL(this,"keydown"===o.type?"keyboard":"mouse"))})}close(t){this._result=t,this._containerInstance._animationStateChanged.pipe(ki(e=>"closing"===e.state),ei(1)).subscribe(e=>{this._beforeClosed.next(t),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(t){let e=this._ref.config.positionStrategy;return t&&(t.left||t.right)?t.left?e.left(t.left):e.right(t.right):e.centerHorizontally(),t&&(t.top||t.bottom)?t.top?e.top(t.top):e.bottom(t.bottom):e.centerVertically(),this._ref.updatePosition(),this}updateSize(t="",e=""){return this._ref.updateSize(t,e),this}addPanelClass(t){return this._ref.addPanelClass(t),this}removePanelClass(t){return this._ref.removePanelClass(t),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}}function TL(n,t,e){return n._closeInteractionType=t,n.close(e)}const Si=new Be("MatMdcDialogData"),LL=new Be("mat-mdc-dialog-default-options"),EL=new Be("mat-mdc-dialog-scroll-strategy"),X9={provide:EL,deps:[to],useFactory:function Z9(n){return()=>n.scrollStrategies.block()}};let Q9=0,J9=(()=>{class n{constructor(e,i,o,s,a,l,c,M,P,Y){this._overlay=e,this._defaultOptions=o,this._parentDialog=s,this._dialogRefConstructor=c,this._dialogContainerType=M,this._dialogDataToken=P,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new X,this._afterOpenedAtThisLevel=new X,this._idPrefix="mat-dialog-",this.dialogConfigClass=An,this.afterAllClosed=tf(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(bo(void 0))),this._scrollStrategy=l,this._dialog=i.get(hL)}get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}open(e,i){let o;(i={...this._defaultOptions||new An,...i}).id=i.id||`${this._idPrefix}${Q9++}`,i.scrollStrategy=i.scrollStrategy||this._scrollStrategy();const s=this._dialog.open(e,{...i,positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:i},{provide:lg,useValue:i}]},templateContext:()=>({dialogRef:o}),providers:(a,l,c)=>(o=new this._dialogRefConstructor(a,i,c),o.updatePosition(i?.position),[{provide:this._dialogContainerType,useValue:c},{provide:this._dialogDataToken,useValue:l.data},{provide:this._dialogRefConstructor,useValue:o}])});return o.componentInstance=s.componentInstance,this.openDialogs.push(o),this.afterOpened.next(o),o.afterClosed().subscribe(()=>{const a=this.openDialogs.indexOf(o);a>-1&&(this.openDialogs.splice(a,1),this.openDialogs.length||this._getAfterAllClosed().next())}),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(e){return this.openDialogs.find(i=>i.id===e)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(e){let i=e.length;for(;i--;)e[i].close()}}return n.\u0275fac=function(e){Ya()},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})(),Fn=(()=>{class n extends J9{constructor(e,i,o,s,a,l,c,M){super(e,i,s,l,c,a,Vn,K9,Si,M),this._idPrefix="mat-mdc-dialog-"}}return n.\u0275fac=function(e){return new(e||n)(we(to),we(mi),we(Vh,8),we(LL,8),we(EL),we(n,12),we(ig),we(Vi,8))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})(),ez=0,tz=(()=>{class n{constructor(e,i,o){this.dialogRef=e,this._elementRef=i,this._dialog=o,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=PL(this._elementRef,this._dialog.openDialogs))}ngOnChanges(e){const i=e._matDialogClose||e._matDialogCloseResult;i&&(this.dialogResult=i.currentValue)}_onButtonClick(e){TL(this.dialogRef,0===e.screenX&&0===e.screenY?"keyboard":"mouse",this.dialogResult)}}return n.\u0275fac=function(e){return new(e||n)(F(Vn,8),F(bt),F(Fn))},n.\u0275dir=Ke({type:n,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(e,i){1&e&&ye("click",function(s){return i._onButtonClick(s)}),2&e&&Ut("aria-label",i.ariaLabel||null)("type",i.type)},inputs:{ariaLabel:["aria-label","ariaLabel"],type:"type",dialogResult:["mat-dialog-close","dialogResult"],_matDialogClose:["matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[Gi]}),n})(),nz=(()=>{class n{constructor(e,i,o){this._dialogRef=e,this._elementRef=i,this._dialog=o,this.id="mat-mdc-dialog-title-"+ez++}ngOnInit(){this._dialogRef||(this._dialogRef=PL(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const e=this._dialogRef._containerInstance;e&&!e._ariaLabelledBy&&(e._ariaLabelledBy=this.id)})}}return n.\u0275fac=function(e){return new(e||n)(F(Vn,8),F(bt),F(Fn))},n.\u0275dir=Ke({type:n,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(e,i){2&e&&Qs("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),n})(),IL=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=Ke({type:n,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"]}),n})();function PL(n,t){let e=n.nativeElement.parentElement;for(;e&&!e.classList.contains("mat-mdc-dialog-container");)e=e.parentElement;return e?t.find(i=>i.id===e.id):null}let iz=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({providers:[Fn,X9],imports:[S9,Qd,Xd,Hn,Hn]}),n})();const AL=["mat-button",""],FL=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],RL=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"],NL=".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}",oz=["mat-icon-button",""],sz=["*"],az=[{selector:"mat-button",mdcClasses:["mdc-button","mat-mdc-button"]},{selector:"mat-flat-button",mdcClasses:["mdc-button","mdc-button--unelevated","mat-mdc-unelevated-button"]},{selector:"mat-raised-button",mdcClasses:["mdc-button","mdc-button--raised","mat-mdc-raised-button"]},{selector:"mat-stroked-button",mdcClasses:["mdc-button","mdc-button--outlined","mat-mdc-outlined-button"]},{selector:"mat-fab",mdcClasses:["mdc-fab","mat-mdc-fab"]},{selector:"mat-mini-fab",mdcClasses:["mdc-fab","mdc-fab--mini","mat-mdc-mini-fab"]},{selector:"mat-icon-button",mdcClasses:["mdc-icon-button","mat-mdc-icon-button"]}],lz=If(tu(Pf(class{constructor(n){this._elementRef=n}})));let M1=(()=>{class n extends lz{constructor(e,i,o,s){super(e),this._platform=i,this._ngZone=o,this._animationMode=s,this._focusMonitor=Lt(nl),this._isFab=!1;const a=e.nativeElement.classList;for(const l of az)this._hasHostAttributes(l.selector)&&l.mdcClasses.forEach(c=>{a.add(c)})}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(e="program",i){e?this._focusMonitor.focusVia(this._elementRef.nativeElement,e,i):this._elementRef.nativeElement.focus(i)}_hasHostAttributes(...e){return e.some(i=>this._elementRef.nativeElement.hasAttribute(i))}_isRippleDisabled(){return this.disableRipple||this.disabled}}return n.\u0275fac=function(e){Ya()},n.\u0275dir=Ke({type:n,viewQuery:function(e,i){if(1&e&&ft(Ts,5),2&e){let o;nt(o=it())&&(i.ripple=o.first)}},features:[dt]}),n})(),dz=(()=>{class n extends M1{constructor(e,i,o,s){super(e,i,o,s),this._haltDisabledEvents=a=>{this.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}}ngOnInit(){this._ngZone.runOutsideAngular(()=>{this._elementRef.nativeElement.addEventListener("click",this._haltDisabledEvents)})}ngOnDestroy(){super.ngOnDestroy(),this._elementRef.nativeElement.removeEventListener("click",this._haltDisabledEvents)}}return n.\u0275fac=function(e){Ya()},n.\u0275dir=Ke({type:n,features:[dt]}),n})(),Wr=(()=>{class n extends M1{constructor(e,i,o,s){super(e,i,o,s)}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(hi),F(pt),F(Vi,8))},n.\u0275cmp=qe({type:n,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""]],hostVars:7,hostBindings:function(e,i){2&e&&(Ut("disabled",i.disabled||null),Gt("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-unthemed",!i.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[dt],attrs:AL,ngContentSelectors:RL,decls:8,vars:6,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-mdc-focus-indicator"],["matRipple","",1,"mat-mdc-button-ripple",3,"matRippleDisabled","matRippleTrigger"],[1,"mat-mdc-button-touch-target"]],template:function(e,i){1&e&&(_r(FL),xe(0,"span",0),vn(1),D(2,"span",1),vn(3,1),C(),vn(4,2),xe(5,"span",2)(6,"span",3)(7,"span",4)),2&e&&(Gt("mdc-button__ripple",!i._isFab)("mdc-fab__ripple",i._isFab),d(6),w("matRippleDisabled",i._isRippleDisabled())("matRippleTrigger",i._elementRef.nativeElement))},dependencies:[Ts],styles:['.mdc-touch-target-wrapper{display:inline}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0)}.mdc-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button .mdc-button__progress-indicator{font-size:0;position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;line-height:initial}.mdc-button .mdc-button__label{position:relative}.mdc-button .mdc-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(\n 100% + 4px\n );width:calc(\n 100% + 4px\n );display:none}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring{border-color:CanvasText}}.mdc-button .mdc-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring::after{border-color:CanvasText}}@media screen and (forced-colors: active){.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring{display:block}}.mdc-button .mdc-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--touch{margin-top:6px;margin-bottom:6px}.mdc-button{padding:0 8px 0 8px}.mdc-button--unelevated{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--unelevated.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--unelevated.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--raised{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--raised.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--raised.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--outlined{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--outlined .mdc-button__ripple{border-style:solid;border-color:rgba(0,0,0,0)}.mat-mdc-button{height:var(--mdc-text-button-container-height, 36px);border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color, inherit)}.mat-mdc-button:disabled{color:var(--mdc-text-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button{height:var(--mdc-filled-button-container-height, 36px);border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button:not(:disabled){background-color:var(--mdc-filled-button-container-color, transparent)}.mat-mdc-unelevated-button:disabled{background-color:var(--mdc-filled-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color, inherit)}.mat-mdc-unelevated-button:disabled{color:var(--mdc-filled-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button{height:var(--mdc-protected-button-container-height, 36px);border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px));box-shadow:var(--mdc-protected-button-container-elevation, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){background-color:var(--mdc-protected-button-container-color, transparent)}.mat-mdc-raised-button:disabled{background-color:var(--mdc-protected-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color, inherit)}.mat-mdc-raised-button:disabled{color:var(--mdc-protected-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button.mdc-ripple-upgraded--background-focused,.mat-mdc-raised-button:not(.mdc-ripple-upgraded):focus{box-shadow:var(--mdc-protected-button-focus-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled):active{box-shadow:var(--mdc-protected-button-pressed-container-elevation, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation, 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button{height:var(--mdc-outlined-button-container-height, 36px);border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px));padding:0 15px 0 15px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color, inherit)}.mat-mdc-outlined-button:disabled{color:var(--mdc-outlined-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-outlined-button .mdc-button__ripple{border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-outlined-button:not(:disabled){border-color:var(--mdc-outlined-button-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button:disabled{border-color:var(--mdc-outlined-button-disabled-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button.mdc-button--icon-trailing{padding:0 11px 0 15px}.mat-mdc-outlined-button.mdc-button--icon-leading{padding:0 15px 0 11px}.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button .mdc-button__touch{left:calc(-1 * var(--mdc-outlined-button-outline-width, 1px));width:calc(100% + 2 * var(--mdc-outlined-button-outline-width, 1px))}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-button .mat-ripple-element,.mat-mdc-unelevated-button .mat-ripple-element,.mat-mdc-raised-button .mat-ripple-element,.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.mat-mdc-button .mdc-button__label,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-outlined-button .mdc-button__label{z-index:1}.mat-mdc-button .mat-mdc-focus-indicator,.mat-mdc-unelevated-button .mat-mdc-focus-indicator,.mat-mdc-raised-button .mat-mdc-focus-indicator,.mat-mdc-outlined-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-unelevated-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-raised-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-outlined-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-button[disabled],.mat-mdc-unelevated-button[disabled],.mat-mdc-raised-button[disabled],.mat-mdc-outlined-button[disabled]{cursor:default;pointer-events:none}.mat-mdc-button .mat-mdc-button-touch-target,.mat-mdc-unelevated-button .mat-mdc-button-touch-target,.mat-mdc-raised-button .mat-mdc-button-touch-target,.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}[dir=rtl] .mat-mdc-button>.mat-icon,.mat-mdc-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}.mat-mdc-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon,.mat-mdc-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-left:-4px;margin-right:8px}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:-4px}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon,.mat-mdc-raised-button .mdc-button__label+.mat-icon,.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:-4px}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon,.mat-mdc-unelevated-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-raised-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-outlined-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:-4px;margin-right:8px}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:-1px}.mat-mdc-unelevated-button .mat-mdc-focus-indicator::before,.mat-mdc-raised-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-mdc-outlined-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 3px) * -1)}',".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}"],encapsulation:2,changeDetection:0}),n})(),uz=(()=>{class n extends dz{constructor(e,i,o,s){super(e,i,o,s)}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(hi),F(pt),F(Vi,8))},n.\u0275cmp=qe({type:n,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-flat-button",""],["a","mat-stroked-button",""]],hostVars:9,hostBindings:function(e,i){2&e&&(Ut("disabled",i.disabled||null)("tabindex",i.disabled?-1:i.tabIndex)("aria-disabled",i.disabled.toString()),Gt("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-unthemed",!i.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[dt],attrs:AL,ngContentSelectors:RL,decls:8,vars:6,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-mdc-focus-indicator"],["matRipple","",1,"mat-mdc-button-ripple",3,"matRippleDisabled","matRippleTrigger"],[1,"mat-mdc-button-touch-target"]],template:function(e,i){1&e&&(_r(FL),xe(0,"span",0),vn(1),D(2,"span",1),vn(3,1),C(),vn(4,2),xe(5,"span",2)(6,"span",3)(7,"span",4)),2&e&&(Gt("mdc-button__ripple",!i._isFab)("mdc-fab__ripple",i._isFab),d(6),w("matRippleDisabled",i._isRippleDisabled())("matRippleTrigger",i._elementRef.nativeElement))},dependencies:[Ts],styles:['.mdc-touch-target-wrapper{display:inline}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0)}.mdc-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button .mdc-button__progress-indicator{font-size:0;position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;line-height:initial}.mdc-button .mdc-button__label{position:relative}.mdc-button .mdc-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(\n 100% + 4px\n );width:calc(\n 100% + 4px\n );display:none}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring{border-color:CanvasText}}.mdc-button .mdc-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring::after{border-color:CanvasText}}@media screen and (forced-colors: active){.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring{display:block}}.mdc-button .mdc-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--touch{margin-top:6px;margin-bottom:6px}.mdc-button{padding:0 8px 0 8px}.mdc-button--unelevated{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--unelevated.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--unelevated.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--raised{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--raised.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--raised.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--outlined{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--outlined .mdc-button__ripple{border-style:solid;border-color:rgba(0,0,0,0)}.mat-mdc-button{height:var(--mdc-text-button-container-height, 36px);border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color, inherit)}.mat-mdc-button:disabled{color:var(--mdc-text-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button{height:var(--mdc-filled-button-container-height, 36px);border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button:not(:disabled){background-color:var(--mdc-filled-button-container-color, transparent)}.mat-mdc-unelevated-button:disabled{background-color:var(--mdc-filled-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color, inherit)}.mat-mdc-unelevated-button:disabled{color:var(--mdc-filled-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button{height:var(--mdc-protected-button-container-height, 36px);border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px));box-shadow:var(--mdc-protected-button-container-elevation, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){background-color:var(--mdc-protected-button-container-color, transparent)}.mat-mdc-raised-button:disabled{background-color:var(--mdc-protected-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color, inherit)}.mat-mdc-raised-button:disabled{color:var(--mdc-protected-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button.mdc-ripple-upgraded--background-focused,.mat-mdc-raised-button:not(.mdc-ripple-upgraded):focus{box-shadow:var(--mdc-protected-button-focus-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled):active{box-shadow:var(--mdc-protected-button-pressed-container-elevation, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation, 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button{height:var(--mdc-outlined-button-container-height, 36px);border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px));padding:0 15px 0 15px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color, inherit)}.mat-mdc-outlined-button:disabled{color:var(--mdc-outlined-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-outlined-button .mdc-button__ripple{border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-outlined-button:not(:disabled){border-color:var(--mdc-outlined-button-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button:disabled{border-color:var(--mdc-outlined-button-disabled-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button.mdc-button--icon-trailing{padding:0 11px 0 15px}.mat-mdc-outlined-button.mdc-button--icon-leading{padding:0 15px 0 11px}.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button .mdc-button__touch{left:calc(-1 * var(--mdc-outlined-button-outline-width, 1px));width:calc(100% + 2 * var(--mdc-outlined-button-outline-width, 1px))}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-button .mat-ripple-element,.mat-mdc-unelevated-button .mat-ripple-element,.mat-mdc-raised-button .mat-ripple-element,.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.mat-mdc-button .mdc-button__label,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-outlined-button .mdc-button__label{z-index:1}.mat-mdc-button .mat-mdc-focus-indicator,.mat-mdc-unelevated-button .mat-mdc-focus-indicator,.mat-mdc-raised-button .mat-mdc-focus-indicator,.mat-mdc-outlined-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-unelevated-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-raised-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-outlined-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-button[disabled],.mat-mdc-unelevated-button[disabled],.mat-mdc-raised-button[disabled],.mat-mdc-outlined-button[disabled]{cursor:default;pointer-events:none}.mat-mdc-button .mat-mdc-button-touch-target,.mat-mdc-unelevated-button .mat-mdc-button-touch-target,.mat-mdc-raised-button .mat-mdc-button-touch-target,.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}[dir=rtl] .mat-mdc-button>.mat-icon,.mat-mdc-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}.mat-mdc-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon,.mat-mdc-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-left:-4px;margin-right:8px}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:-4px}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon,.mat-mdc-raised-button .mdc-button__label+.mat-icon,.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:-4px}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon,.mat-mdc-unelevated-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-raised-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-outlined-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:-4px;margin-right:8px}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:-1px}.mat-mdc-unelevated-button .mat-mdc-focus-indicator::before,.mat-mdc-raised-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-mdc-outlined-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 3px) * -1)}',NL],encapsulation:2,changeDetection:0}),n})(),il=(()=>{class n extends M1{constructor(e,i,o,s){super(e,i,o,s)}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(hi),F(pt),F(Vi,8))},n.\u0275cmp=qe({type:n,selectors:[["button","mat-icon-button",""]],hostVars:7,hostBindings:function(e,i){2&e&&(Ut("disabled",i.disabled||null),Gt("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-unthemed",!i.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[dt],attrs:oz,ngContentSelectors:sz,decls:5,vars:3,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-mdc-focus-indicator"],["matRipple","",1,"mat-mdc-button-ripple",3,"matRippleDisabled","matRippleCentered","matRippleTrigger"],[1,"mat-mdc-button-touch-target"]],template:function(e,i){1&e&&(_r(),xe(0,"span",0),vn(1),xe(2,"span",1)(3,"span",2)(4,"span",3)),2&e&&(d(3),w("matRippleDisabled",i._isRippleDisabled())("matRippleCentered",!0)("matRippleTrigger",i._elementRef.nativeElement))},dependencies:[Ts],styles:['.mdc-icon-button{font-size:24px;width:48px;height:48px;padding:12px}.mdc-icon-button .mdc-icon-button__focus-ring{max-height:48px;max-width:48px}.mdc-icon-button.mdc-icon-button--reduced-size .mdc-icon-button__ripple{width:40px;height:40px;margin-top:4px;margin-bottom:4px;margin-right:4px;margin-left:4px}.mdc-icon-button.mdc-icon-button--reduced-size .mdc-icon-button__focus-ring{max-height:40px;max-width:40px}.mdc-icon-button .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mdc-icon-button svg,.mdc-icon-button img{width:24px;height:24px}.mdc-icon-button{display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;color:inherit;text-decoration:none;cursor:pointer;user-select:none;z-index:0;overflow:visible}.mdc-icon-button .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}@media screen and (forced-colors: active){.mdc-icon-button.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring,.mdc-icon-button:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring{display:block}}.mdc-icon-button:disabled{cursor:default;pointer-events:none}.mdc-icon-button[hidden]{display:none}.mdc-icon-button--display-flex{align-items:center;display:inline-flex;justify-content:center}.mdc-icon-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%;display:none}@media screen and (forced-colors: active){.mdc-icon-button__focus-ring{border-color:CanvasText}}.mdc-icon-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-icon-button__focus-ring::after{border-color:CanvasText}}.mdc-icon-button__icon{display:inline-block}.mdc-icon-button__icon.mdc-icon-button__icon--on{display:none}.mdc-icon-button--on .mdc-icon-button__icon{display:none}.mdc-icon-button--on .mdc-icon-button__icon.mdc-icon-button__icon--on{display:inline-block}.mdc-icon-button__link{height:100%;left:0;outline:none;position:absolute;top:0;width:100%}.mat-mdc-icon-button{height:var(--mdc-icon-button-state-layer-size, 48px);width:var(--mdc-icon-button-state-layer-size, 48px);color:var(--mdc-icon-button-icon-color, inherit);border-radius:50%;flex-shrink:0;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button .mdc-button__icon{font-size:var(--mdc-icon-button-icon-size, 24px)}.mat-mdc-icon-button svg,.mat-mdc-icon-button img{width:var(--mdc-icon-button-icon-size, 24px);height:var(--mdc-icon-button-icon-size, 24px)}.mat-mdc-icon-button:disabled{opacity:var(--mdc-icon-button-disabled-icon-opacity, 0.38)}.mat-mdc-icon-button:disabled{color:var(--mdc-icon-button-disabled-icon-color, #000)}.mat-mdc-icon-button svg{vertical-align:baseline}.mat-mdc-icon-button[disabled]{cursor:default;pointer-events:none;opacity:1}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-icon-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.mat-mdc-icon-button .mdc-button__label{z-index:1}.mat-mdc-icon-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-icon-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-icon-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mat-mdc-icon-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:50%}.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before{background:rgba(0,0,0,0);opacity:1}',NL],encapsulation:2,changeDetection:0}),n})(),YL=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[Hn,Ff,Hn]}),n})();function fz(n,t){if(1&n){const e=tt();D(0,"div",2)(1,"button",3),ye("click",function(){return Pe(e),Oe(z().action())}),I(2),C()()}if(2&n){const e=z();d(2),me(" ",e.data.action," ")}}const pz=["label"];function mz(n,t){}const _z=Math.pow(2,31)-1;class cg{constructor(t,e){this._overlayRef=e,this._afterDismissed=new X,this._afterOpened=new X,this._onAction=new X,this._dismissedByAction=!1,this.containerInstance=t,t._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(t){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(t,_z))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}const w1=new Be("MatSnackBarData");class dg{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}let gz=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=Ke({type:n,selectors:[["","matSnackBarLabel",""]],hostAttrs:[1,"mat-mdc-snack-bar-label","mdc-snackbar__label"]}),n})(),bz=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=Ke({type:n,selectors:[["","matSnackBarActions",""]],hostAttrs:[1,"mat-mdc-snack-bar-actions","mdc-snackbar__actions"]}),n})(),vz=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=Ke({type:n,selectors:[["","matSnackBarAction",""]],hostAttrs:[1,"mat-mdc-snack-bar-action","mdc-snackbar__action"]}),n})(),yz=(()=>{class n{constructor(e,i){this.snackBarRef=e,this.data=i}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return n.\u0275fac=function(e){return new(e||n)(F(cg),F(w1))},n.\u0275cmp=qe({type:n,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-mdc-simple-snack-bar"],exportAs:["matSnackBar"],decls:3,vars:2,consts:[["matSnackBarLabel",""],["matSnackBarActions","",4,"ngIf"],["matSnackBarActions",""],["mat-button","","matSnackBarAction","",3,"click"]],template:function(e,i){1&e&&(D(0,"div",0),I(1),C(),j(2,fz,3,1,"div",1)),2&e&&(d(1),me(" ",i.data.message,"\n"),d(1),w("ngIf",i.hasAction))},dependencies:[Ot,Wr,gz,bz,vz],styles:[".mat-mdc-simple-snack-bar{display:flex}"],encapsulation:2,changeDetection:0}),n})();const Mz={snackBarState:ra("state",[mo("void, hidden",Kn({transform:"scale(0.8)",opacity:0})),mo("visible",Kn({transform:"scale(1)",opacity:1})),Lr("* => visible",Ur("150ms cubic-bezier(0, 0, 0.2, 1)")),Lr("* => void, * => hidden",Ur("75ms cubic-bezier(0.4, 0.0, 1, 1)",Kn({opacity:0})))])};let wz=(()=>{class n extends Q_{constructor(e,i,o,s,a){super(),this._ngZone=e,this._elementRef=i,this._changeDetectorRef=o,this._platform=s,this.snackBarConfig=a,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new X,this._onExit=new X,this._onEnter=new X,this._animationState="void",this.attachDomPortal=l=>{this._assertNotAttached();const c=this._portalOutlet.attachDomPortal(l);return this._afterPortalAttached(),c},this._live="assertive"!==a.politeness||a.announcementMessage?"off"===a.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(e){this._assertNotAttached();const i=this._portalOutlet.attachComponentPortal(e);return this._afterPortalAttached(),i}attachTemplatePortal(e){this._assertNotAttached();const i=this._portalOutlet.attachTemplatePortal(e);return this._afterPortalAttached(),i}onAnimationEnd(e){const{fromState:i,toState:o}=e;if(("void"===o&&"void"!==i||"hidden"===o)&&this._completeExit(),"visible"===o){const s=this._onEnter;this._ngZone.run(()=>{s.next(),s.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._ngZone.run(()=>{this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId)}),this._onExit}ngOnDestroy(){this._destroyed=!0,this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(ei(1)).subscribe(()=>{this._ngZone.run(()=>{this._onExit.next(),this._onExit.complete()})})}_afterPortalAttached(){const e=this._elementRef.nativeElement,i=this.snackBarConfig.panelClass;i&&(Array.isArray(i)?i.forEach(o=>e.classList.add(o)):e.classList.add(i))}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const e=this._elementRef.nativeElement.querySelector("[aria-hidden]"),i=this._elementRef.nativeElement.querySelector("[aria-live]");if(e&&i){let o=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&e.contains(document.activeElement)&&(o=document.activeElement),e.removeAttribute("aria-hidden"),i.appendChild(e),o?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return n.\u0275fac=function(e){return new(e||n)(F(pt),F(bt),F(di),F(hi),F(dg))},n.\u0275dir=Ke({type:n,viewQuery:function(e,i){if(1&e&&ft(tl,7),2&e){let o;nt(o=it())&&(i._portalOutlet=o.first)}},features:[dt]}),n})(),xz=(()=>{class n extends wz{_afterPortalAttached(){super._afterPortalAttached();const e=this._label.nativeElement,i="mdc-snackbar__label";e.classList.toggle(i,!e.querySelector(`.${i}`))}}return n.\u0275fac=function(){let t;return function(i){return(t||(t=zn(n)))(i||n)}}(),n.\u0275cmp=qe({type:n,selectors:[["mat-snack-bar-container"]],viewQuery:function(e,i){if(1&e&&ft(pz,7),2&e){let o;nt(o=it())&&(i._label=o.first)}},hostAttrs:[1,"mdc-snackbar","mat-mdc-snack-bar-container","mdc-snackbar--open"],hostVars:1,hostBindings:function(e,i){1&e&&Lv("@state.done",function(s){return i.onAnimationEnd(s)}),2&e&&Fv("@state",i._animationState)},features:[dt],decls:6,vars:2,consts:[[1,"mdc-snackbar__surface"],[1,"mat-mdc-snack-bar-label"],["label",""],["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1,2)(3,"div",3),j(4,mz,0,0,"ng-template",4),C(),xe(5,"div"),C()()),2&e&&(d(5),Ut("aria-live",i._live)("role",i._role))},dependencies:[tl],styles:['.mdc-snackbar{display:none;position:fixed;right:0;bottom:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-snackbar--opening,.mdc-snackbar--open,.mdc-snackbar--closing{display:flex}.mdc-snackbar--open .mdc-snackbar__label,.mdc-snackbar--open .mdc-snackbar__actions{visibility:visible}.mdc-snackbar__surface{padding-left:0;padding-right:8px;display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;transform:scale(0.8);opacity:0}.mdc-snackbar__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-snackbar__surface::before{border-color:CanvasText}}[dir=rtl] .mdc-snackbar__surface,.mdc-snackbar__surface[dir=rtl]{padding-left:8px;padding-right:0}.mdc-snackbar--open .mdc-snackbar__surface{transform:scale(1);opacity:1;pointer-events:auto}.mdc-snackbar--closing .mdc-snackbar__surface{transform:scale(1)}.mdc-snackbar__label{padding-left:16px;padding-right:8px;width:100%;flex-grow:1;box-sizing:border-box;margin:0;visibility:hidden;padding-top:14px;padding-bottom:14px}[dir=rtl] .mdc-snackbar__label,.mdc-snackbar__label[dir=rtl]{padding-left:8px;padding-right:16px}.mdc-snackbar__label::before{display:inline;content:attr(data-mdc-snackbar-label-text)}.mdc-snackbar__actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box;visibility:hidden}.mdc-snackbar__action+.mdc-snackbar__dismiss{margin-left:8px;margin-right:0}[dir=rtl] .mdc-snackbar__action+.mdc-snackbar__dismiss,.mdc-snackbar__action+.mdc-snackbar__dismiss[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-snack-bar-container{margin:8px;position:static}.mat-mdc-snack-bar-container .mdc-snackbar__surface{min-width:344px}@media(max-width: 480px),(max-width: 344px){.mat-mdc-snack-bar-container .mdc-snackbar__surface{min-width:100%}}.mat-mdc-snack-bar-container .mdc-snackbar__surface{max-width:672px}.mat-mdc-snack-bar-container .mdc-snackbar__surface{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)}.mat-mdc-snack-bar-container .mdc-snackbar__dismiss .mdc-button__icon{font-size:var(--mdc-icon-button-icon-size, 24px)}.mat-mdc-snack-bar-container .mdc-snackbar__dismiss svg,.mat-mdc-snack-bar-container .mdc-snackbar__dismiss img{width:var(--mdc-icon-button-icon-size, 24px);height:var(--mdc-icon-button-icon-size, 24px)}.mat-mdc-snack-bar-container .mdc-snackbar__surface{background-color:var(--mdc-snackbar-container-color, inherit)}.mat-mdc-snack-bar-container .mdc-snackbar__surface{border-radius:var(--mdc-snackbar-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-snack-bar-container .mdc-snackbar__label{color:var(--mdc-snackbar-supporting-text-color, inherit)}.mat-mdc-snack-bar-container .mdc-snackbar__label{font-size:var(--mdc-snackbar-supporting-text-size, inherit);font-family:var(--mdc-snackbar-supporting-text-font, inherit);font-weight:var(--mdc-snackbar-supporting-text-weight, inherit);line-height:var(--mdc-snackbar-supporting-text-line-height, inherit)}.cdk-high-contrast-active .mat-mdc-snack-bar-container{border:solid 1px}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled){color:var(--mat-mdc-snack-bar-button-color, transparent);--mat-mdc-button-persistent-ripple-color: currentColor}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled) .mat-ripple-element{background-color:currentColor;opacity:.1}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-handset .mdc-snackbar__surface{width:100%}'],encapsulation:2,data:{animation:[Mz.snackBarState]}}),n})(),BL=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[Qd,Xd,na,YL,Hn,Hn]}),n})();const x1=new Be("mat-snack-bar-default-options",{providedIn:"root",factory:function Cz(){return new dg}});let kz=(()=>{class n{constructor(e,i,o,s,a,l){this._overlay=e,this._live=i,this._injector=o,this._breakpointObserver=s,this._parentSnackBar=a,this._defaultConfig=l,this._snackBarRefAtThisLevel=null}get _openedSnackBarRef(){const e=this._parentSnackBar;return e?e._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(e){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=e:this._snackBarRefAtThisLevel=e}openFromComponent(e,i){return this._attach(e,i)}openFromTemplate(e,i){return this._attach(e,i)}open(e,i="",o){const s={...this._defaultConfig,...o};return s.data={message:e,action:i},s.announcementMessage===e&&(s.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,s)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(e,i){const s=mi.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:dg,useValue:i}]}),a=new Zd(this.snackBarContainerComponent,i.viewContainerRef,s),l=e.attach(a);return l.instance.snackBarConfig=i,l.instance}_attach(e,i){const o={...new dg,...this._defaultConfig,...i},s=this._createOverlay(o),a=this._attachSnackBarContainer(s,o),l=new cg(a,s);if(e instanceof lr){const c=new Jl(e,null,{$implicit:o.data,snackBarRef:l});l.instance=a.attachTemplatePortal(c)}else{const c=this._createInjector(o,l),M=new Zd(e,void 0,c),P=a.attachComponentPortal(M);l.instance=P.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(xn(s.detachments())).subscribe(c=>{s.overlayElement.classList.toggle(this.handsetCssClass,c.matches)}),o.announcementMessage&&a._onAnnounce.subscribe(()=>{this._live.announce(o.announcementMessage,o.politeness)}),this._animateSnackBar(l,o),this._openedSnackBarRef=l,this._openedSnackBarRef}_animateSnackBar(e,i){e.afterDismissed().subscribe(()=>{this._openedSnackBarRef==e&&(this._openedSnackBarRef=null),i.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{e.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):e.containerInstance.enter(),i.duration&&i.duration>0&&e.afterOpened().subscribe(()=>e._dismissAfter(i.duration))}_createOverlay(e){const i=new Lf;i.direction=e.direction;let o=this._overlay.position().global();const s="rtl"===e.direction,a="left"===e.horizontalPosition||"start"===e.horizontalPosition&&!s||"end"===e.horizontalPosition&&s,l=!a&&"center"!==e.horizontalPosition;return a?o.left("0"):l?o.right("0"):o.centerHorizontally(),"top"===e.verticalPosition?o.top("0"):o.bottom("0"),i.positionStrategy=o,this._overlay.create(i)}_createInjector(e,i){return mi.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:cg,useValue:i},{provide:w1,useValue:e.data}]})}}return n.\u0275fac=function(e){return new(e||n)(we(to),we(m1),we(mi),we(c1),we(n,12),we(x1))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})(),Sz=(()=>{class n extends kz{constructor(e,i,o,s,a,l){super(e,i,o,s,a,l),this.simpleSnackBarComponent=yz,this.snackBarContainerComponent=xz,this.handsetCssClass="mat-mdc-snack-bar-handset"}}return n.\u0275fac=function(e){return new(e||n)(we(to),we(m1),we(mi),we(c1),we(n,12),we(x1))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:BL}),n})();function HL(...n){if(1===n.length){const t=n[0];if(y(t))return ug(t,null);if(p(t)&&Object.getPrototypeOf(t)===Object.prototype){const e=Object.keys(t);return ug(e.map(i=>t[i]),e)}}if("function"==typeof n[n.length-1]){const t=n.pop();return ug(n=1===n.length&&y(n[0])?n[0]:n,null).pipe(Ce(e=>t(...e)))}return ug(n,null)}function ug(n,t){return new ce(e=>{const i=n.length;if(0===i)return void e.complete();const o=new Array(i);let s=0,a=0;for(let l=0;l{M||(M=!0,a++),o[l]=P},error:P=>e.error(P),complete:()=>{s++,(s===i||!M)&&(a===i&&e.next(t?t.reduce((P,Y,q)=>(P[Y]=o[q],P),{}):o),e.complete())}}))}})}const Dz=["*"];let hg;function Rf(n){return function Tz(){if(void 0===hg&&(hg=null,typeof window<"u")){const n=window;void 0!==n.trustedTypes&&(hg=n.trustedTypes.createPolicy("angular#components",{createHTML:t=>t}))}return hg}()?.createHTML(n)||n}function VL(n){return Error(`Unable to find icon with the name "${n}"`)}function jL(n){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${n}".`)}function zL(n){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${n}".`)}class nc{constructor(t,e,i){this.url=t,this.svgText=e,this.options=i}}let fg=(()=>{class n{constructor(e,i,o,s){this._httpClient=e,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass=["material-icons","mat-ligature-font"],this._document=o}addSvgIcon(e,i,o){return this.addSvgIconInNamespace("",e,i,o)}addSvgIconLiteral(e,i,o){return this.addSvgIconLiteralInNamespace("",e,i,o)}addSvgIconInNamespace(e,i,o,s){return this._addSvgIconConfig(e,i,new nc(o,null,s))}addSvgIconResolver(e){return this._resolvers.push(e),this}addSvgIconLiteralInNamespace(e,i,o,s){const a=this._sanitizer.sanitize(wn.HTML,o);if(!a)throw zL(o);const l=Rf(a);return this._addSvgIconConfig(e,i,new nc("",l,s))}addSvgIconSet(e,i){return this.addSvgIconSetInNamespace("",e,i)}addSvgIconSetLiteral(e,i){return this.addSvgIconSetLiteralInNamespace("",e,i)}addSvgIconSetInNamespace(e,i,o){return this._addSvgIconSetConfig(e,new nc(i,null,o))}addSvgIconSetLiteralInNamespace(e,i,o){const s=this._sanitizer.sanitize(wn.HTML,i);if(!s)throw zL(i);const a=Rf(s);return this._addSvgIconSetConfig(e,new nc("",a,o))}registerFontClassAlias(e,i=e){return this._fontCssClassesByAlias.set(e,i),this}classNameForFontAlias(e){return this._fontCssClassesByAlias.get(e)||e}setDefaultFontSetClass(...e){return this._defaultFontSetClass=e,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(e){const i=this._sanitizer.sanitize(wn.RESOURCE_URL,e);if(!i)throw jL(e);const o=this._cachedIconsByUrl.get(i);return o?We(pg(o)):this._loadSvgIconFromConfig(new nc(e,null)).pipe(ui(s=>this._cachedIconsByUrl.set(i,s)),Ce(s=>pg(s)))}getNamedSvgIcon(e,i=""){const o=UL(i,e);let s=this._svgIconConfigs.get(o);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,e),s)return this._svgIconConfigs.set(o,s),this._getSvgFromConfig(s);const a=this._iconSetConfigs.get(i);return a?this._getSvgFromIconSetConfigs(e,a):Ir(VL(o))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(e){return e.svgText?We(pg(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(Ce(i=>pg(i)))}_getSvgFromIconSetConfigs(e,i){const o=this._extractIconWithNameFromAnySet(e,i);return o?We(o):HL(i.filter(a=>!a.svgText).map(a=>this._loadSvgIconSetFromConfig(a).pipe(Jr(l=>{const M=`Loading icon set URL: ${this._sanitizer.sanitize(wn.RESOURCE_URL,a.url)} failed: ${l.message}`;return this._errorHandler.handleError(new Error(M)),We(null)})))).pipe(Ce(()=>{const a=this._extractIconWithNameFromAnySet(e,i);if(!a)throw VL(e);return a}))}_extractIconWithNameFromAnySet(e,i){for(let o=i.length-1;o>=0;o--){const s=i[o];if(s.svgText&&s.svgText.toString().indexOf(e)>-1){const a=this._svgElementFromConfig(s),l=this._extractSvgIconFromSet(a,e,s.options);if(l)return l}}return null}_loadSvgIconFromConfig(e){return this._fetchIcon(e).pipe(ui(i=>e.svgText=i),Ce(()=>this._svgElementFromConfig(e)))}_loadSvgIconSetFromConfig(e){return e.svgText?We(null):this._fetchIcon(e).pipe(ui(i=>e.svgText=i))}_extractSvgIconFromSet(e,i,o){const s=e.querySelector(`[id="${i}"]`);if(!s)return null;const a=s.cloneNode(!0);if(a.removeAttribute("id"),"svg"===a.nodeName.toLowerCase())return this._setSvgAttributes(a,o);if("symbol"===a.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(a),o);const l=this._svgElementFromString(Rf(""));return l.appendChild(a),this._setSvgAttributes(l,o)}_svgElementFromString(e){const i=this._document.createElement("DIV");i.innerHTML=e;const o=i.querySelector("svg");if(!o)throw Error(" tag not found");return o}_toSvgElement(e){const i=this._svgElementFromString(Rf("")),o=e.attributes;for(let s=0;sRf(M)),C_(()=>this._inProgressUrlFetches.delete(a)),wa());return this._inProgressUrlFetches.set(a,c),c}_addSvgIconConfig(e,i,o){return this._svgIconConfigs.set(UL(e,i),o),this}_addSvgIconSetConfig(e,i){const o=this._iconSetConfigs.get(e);return o?o.push(i):this._iconSetConfigs.set(e,[i]),this}_svgElementFromConfig(e){if(!e.svgElement){const i=this._svgElementFromString(e.svgText);this._setSvgAttributes(i,e.options),e.svgElement=i}return e.svgElement}_getIconConfigFromResolvers(e,i){for(let o=0;ot?t.pathname+t.search:""}}}),WL=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],Rz=WL.map(n=>`[${n}]`).join(", "),Nz=/^url\(['"]?#(.*?)['"]?\)$/;let Cn=(()=>{class n extends Pz{constructor(e,i,o,s,a,l){super(e),this._iconRegistry=i,this._location=s,this._errorHandler=a,this._inline=!1,this._previousFontSetClass=[],this._currentIconFetch=T.EMPTY,l&&(l.color&&(this.color=this.defaultColor=l.color),l.fontSet&&(this.fontSet=l.fontSet)),o||e.nativeElement.setAttribute("aria-hidden","true")}get inline(){return this._inline}set inline(e){this._inline=hn(e)}get svgIcon(){return this._svgIcon}set svgIcon(e){e!==this._svgIcon&&(e?this._updateSvgIcon(e):this._svgIcon&&this._clearSvgElement(),this._svgIcon=e)}get fontSet(){return this._fontSet}set fontSet(e){const i=this._cleanupFontValue(e);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(e){const i=this._cleanupFontValue(e);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}_splitIconName(e){if(!e)return["",""];const i=e.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${e}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const e=this._elementsWithExternalReferences;if(e&&e.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(e){this._clearSvgElement();const i=this._location.getPathname();this._previousPath=i,this._cacheChildrenWithExternalReferences(e),this._prependPathToReferences(i),this._elementRef.nativeElement.appendChild(e)}_clearSvgElement(){const e=this._elementRef.nativeElement;let i=e.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();i--;){const o=e.childNodes[i];(1!==o.nodeType||"svg"===o.nodeName.toLowerCase())&&o.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const e=this._elementRef.nativeElement,i=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(o=>o.length>0);this._previousFontSetClass.forEach(o=>e.classList.remove(o)),i.forEach(o=>e.classList.add(o)),this._previousFontSetClass=i,this.fontIcon!==this._previousFontIconClass&&!i.includes("mat-ligature-font")&&(this._previousFontIconClass&&e.classList.remove(this._previousFontIconClass),this.fontIcon&&e.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(e){return"string"==typeof e?e.trim().split(" ")[0]:e}_prependPathToReferences(e){const i=this._elementsWithExternalReferences;i&&i.forEach((o,s)=>{o.forEach(a=>{s.setAttribute(a.name,`url('${e}#${a.value}')`)})})}_cacheChildrenWithExternalReferences(e){const i=e.querySelectorAll(Rz),o=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const l=i[s],c=l.getAttribute(a),M=c?c.match(Nz):null;if(M){let P=o.get(l);P||(P=[],o.set(l,P)),P.push({name:a,value:M[1]})}})}_updateSvgIcon(e){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),e){const[i,o]=this._splitIconName(e);i&&(this._svgNamespace=i),o&&(this._svgName=o),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(o,i).pipe(ei(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${o}! ${s.message}`))})}}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(fg),Ra("aria-hidden"),F(Az),F(Ks),F(Oz,8))},n.\u0275cmp=qe({type:n,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:8,hostBindings:function(e,i){2&e&&(Ut("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet)("fontIcon",i._usingFontIcon()?i.fontIcon:null),Gt("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[dt],ngContentSelectors:Dz,decls:1,vars:0,template:function(e,i){1&e&&(_r(),vn(0))},styles:[".mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],encapsulation:2,changeDetection:0}),n})(),Yz=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[Hn,Hn]}),n})();function Hz(n,t,e){return 0===e?[t]:(n.push(t),n)}class Nf{}let $L=(()=>{class n extends Nf{getTranslation(e){return We({})}}return n.\u0275fac=function(){let t;return function(i){return(t||(t=zn(n)))(i||n)}}(),n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();class C1{}let GL=(()=>{class n{handle(e){return e.key}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();class mg{}let qL=(()=>{class n extends mg{compile(e,i){return e}compileTranslations(e,i){return e}}return n.\u0275fac=function(){let t;return function(i){return(t||(t=zn(n)))(i||n)}}(),n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();function Yf(n,t){if(n===t)return!0;if(null===n||null===t)return!1;if(n!=n&&t!=t)return!0;let o,s,a,e=typeof n;if(e==typeof t&&"object"==e){if(!Array.isArray(n)){if(Array.isArray(t))return!1;for(s in a=Object.create(null),n){if(!Yf(n[s],t[s]))return!1;a[s]=!0}for(s in t)if(!(s in a)&&typeof t[s]<"u")return!1;return!0}if(!Array.isArray(t))return!1;if((o=n.length)==t.length){for(s=0;s{k1(t[i])?i in n?e[i]=KL(n[i],t[i]):Object.assign(e,{[i]:t[i]}):Object.assign(e,{[i]:t[i]})}),e}class _g{}let ZL=(()=>{class n extends _g{constructor(){super(...arguments),this.templateMatcher=/{{\s?([^{}\s]*)\s?}}/g}interpolate(e,i){let o;return o="string"==typeof e?this.interpolateString(e,i):"function"==typeof e?this.interpolateFunction(e,i):e,o}getValue(e,i){let o=i.split(".");i="";do{i+=o.shift(),!rs(e)||!rs(e[i])||"object"!=typeof e[i]&&o.length?o.length?i+=".":e=void 0:(e=e[i],i="")}while(o.length);return e}interpolateFunction(e,i){return e(i)}interpolateString(e,i){return i?e.replace(this.templateMatcher,(o,s)=>{let a=this.getValue(i,s);return rs(a)?a:o}):e}}return n.\u0275fac=function(){let t;return function(i){return(t||(t=zn(n)))(i||n)}}(),n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})();class XL{constructor(){this.currentLang=this.defaultLang,this.translations={},this.langs=[],this.onTranslationChange=new ht,this.onLangChange=new ht,this.onDefaultLangChange=new ht}}const S1=new Be("USE_STORE"),D1=new Be("USE_DEFAULT_LANG");let no=(()=>{class n{constructor(e,i,o,s,a,l=!0,c=!1){this.store=e,this.currentLoader=i,this.compiler=o,this.parser=s,this.missingTranslationHandler=a,this.useDefaultLang=l,this.isolate=c,this.pending=!1,this._onTranslationChange=new ht,this._onLangChange=new ht,this._onDefaultLangChange=new ht,this._langs=[],this._translations={},this._translationRequests={}}get onTranslationChange(){return this.isolate?this._onTranslationChange:this.store.onTranslationChange}get onLangChange(){return this.isolate?this._onLangChange:this.store.onLangChange}get onDefaultLangChange(){return this.isolate?this._onDefaultLangChange:this.store.onDefaultLangChange}get defaultLang(){return this.isolate?this._defaultLang:this.store.defaultLang}set defaultLang(e){this.isolate?this._defaultLang=e:this.store.defaultLang=e}get currentLang(){return this.isolate?this._currentLang:this.store.currentLang}set currentLang(e){this.isolate?this._currentLang=e:this.store.currentLang=e}get langs(){return this.isolate?this._langs:this.store.langs}set langs(e){this.isolate?this._langs=e:this.store.langs=e}get translations(){return this.isolate?this._translations:this.store.translations}set translations(e){this.isolate?this._translations=e:this.store.translations=e}setDefaultLang(e){if(e===this.defaultLang)return;let i=this.retrieveTranslations(e);typeof i<"u"?(this.defaultLang||(this.defaultLang=e),i.pipe(ei(1)).subscribe(o=>{this.changeDefaultLang(e)})):this.changeDefaultLang(e)}getDefaultLang(){return this.defaultLang}use(e){if(e===this.currentLang)return We(this.translations[e]);let i=this.retrieveTranslations(e);return typeof i<"u"?(this.currentLang||(this.currentLang=e),i.pipe(ei(1)).subscribe(o=>{this.changeLang(e)}),i):(this.changeLang(e),We(this.translations[e]))}retrieveTranslations(e){let i;return typeof this.translations[e]>"u"&&(this._translationRequests[e]=this._translationRequests[e]||this.getTranslation(e),i=this._translationRequests[e]),i}getTranslation(e){return this.pending=!0,this.loadingTranslations=this.currentLoader.getTranslation(e).pipe(wa()),this.loadingTranslations.pipe(ei(1)).subscribe(i=>{this.translations[e]=this.compiler.compileTranslations(i,e),this.updateLangs(),this.pending=!1},i=>{this.pending=!1}),this.loadingTranslations}setTranslation(e,i,o=!1){i=this.compiler.compileTranslations(i,e),this.translations[e]=o&&this.translations[e]?KL(this.translations[e],i):i,this.updateLangs(),this.onTranslationChange.emit({lang:e,translations:this.translations[e]})}getLangs(){return this.langs}addLangs(e){e.forEach(i=>{-1===this.langs.indexOf(i)&&this.langs.push(i)})}updateLangs(){this.addLangs(Object.keys(this.translations))}getParsedResult(e,i,o){let s;if(i instanceof Array){let a={},l=!1;for(let c of i)a[c]=this.getParsedResult(e,c,o),"function"==typeof a[c].subscribe&&(l=!0);if(l){let c;for(let M of i){let P="function"==typeof a[M].subscribe?a[M]:We(a[M]);c=typeof c>"u"?P:vt(c,P)}return c.pipe(function Vz(){return function Bz(n,t){return arguments.length>=2?function(i){return Z(x_(n,t),rf(1),nf(t))(i)}:function(i){return Z(x_((o,s,a)=>n(o,s,a+1)),rf(1))(i)}}(Hz,[])}(),Ce(M=>{let P={};return M.forEach((Y,q)=>{P[i[q]]=Y}),P}))}return a}if(e&&(s=this.parser.interpolate(this.parser.getValue(e,i),o)),typeof s>"u"&&this.defaultLang&&this.defaultLang!==this.currentLang&&this.useDefaultLang&&(s=this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang],i),o)),typeof s>"u"){let a={key:i,translateService:this};typeof o<"u"&&(a.interpolateParams=o),s=this.missingTranslationHandler.handle(a)}return typeof s<"u"?s:i}get(e,i){if(!rs(e)||!e.length)throw new Error('Parameter "key" required');if(this.pending)return ce.create(o=>{let s=l=>{o.next(l),o.complete()},a=l=>{o.error(l)};this.loadingTranslations.subscribe(l=>{"function"==typeof(l=this.getParsedResult(this.compiler.compileTranslations(l,this.currentLang),e,i)).subscribe?l.subscribe(s,a):s(l)},a)});{let o=this.getParsedResult(this.translations[this.currentLang],e,i);return"function"==typeof o.subscribe?o:We(o)}}stream(e,i){if(!rs(e)||!e.length)throw new Error('Parameter "key" required');return Gl(this.get(e,i),this.onLangChange.pipe(gr(o=>{const s=this.getParsedResult(o.translations,e,i);return"function"==typeof s.subscribe?s:We(s)})))}instant(e,i){if(!rs(e)||!e.length)throw new Error('Parameter "key" required');let o=this.getParsedResult(this.translations[this.currentLang],e,i);if(typeof o.subscribe<"u"){if(e instanceof Array){let s={};return e.forEach((a,l)=>{s[e[l]]=e[l]}),s}return e}return o}set(e,i,o=this.currentLang){this.translations[o][e]=this.compiler.compile(i,o),this.updateLangs(),this.onTranslationChange.emit({lang:o,translations:this.translations[o]})}changeLang(e){this.currentLang=e,this.onLangChange.emit({lang:e,translations:this.translations[e]}),this.defaultLang||this.changeDefaultLang(e)}changeDefaultLang(e){this.defaultLang=e,this.onDefaultLangChange.emit({lang:e,translations:this.translations[e]})}reloadLang(e){return this.resetLang(e),this.getTranslation(e)}resetLang(e){this._translationRequests[e]=void 0,this.translations[e]=void 0}getBrowserLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let e=window.navigator.languages?window.navigator.languages[0]:null;return e=e||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,-1!==e.indexOf("-")&&(e=e.split("-")[0]),-1!==e.indexOf("_")&&(e=e.split("_")[0]),e}getBrowserCultureLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let e=window.navigator.languages?window.navigator.languages[0]:null;return e=e||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,e}}return n.\u0275fac=function(e){return new(e||n)(we(XL),we(Nf),we(mg),we(_g),we(C1),we(D1),we(S1))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})(),Ct=(()=>{class n{constructor(e,i){this.translate=e,this._ref=i,this.value=""}updateValue(e,i,o){let s=a=>{this.value=void 0!==a?a:e,this.lastKey=e,this._ref.markForCheck()};if(o){let a=this.translate.getParsedResult(o,e,i);"function"==typeof a.subscribe?a.subscribe(s):s(a)}this.translate.get(e,i).subscribe(s)}transform(e,...i){if(!e||0===e.length)return e;if(Yf(e,this.lastKey)&&Yf(i,this.lastParams))return this.value;let o;if(rs(i[0])&&i.length)if("string"==typeof i[0]&&i[0].length){let s=i[0].replace(/(\')?([a-zA-Z0-9_]+)(\')?(\s)?:/g,'"$2":').replace(/:(\s)?(\')(.*?)(\')/g,':"$3"');try{o=JSON.parse(s)}catch{throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${i[0]}`)}}else"object"==typeof i[0]&&!Array.isArray(i[0])&&(o=i[0]);return this.lastKey=e,this.lastParams=i,this.updateValue(e,o),this._dispose(),this.onTranslationChange||(this.onTranslationChange=this.translate.onTranslationChange.subscribe(s=>{this.lastKey&&s.lang===this.translate.currentLang&&(this.lastKey=null,this.updateValue(e,o,s.translations))})),this.onLangChange||(this.onLangChange=this.translate.onLangChange.subscribe(s=>{this.lastKey&&(this.lastKey=null,this.updateValue(e,o,s.translations))})),this.onDefaultLangChange||(this.onDefaultLangChange=this.translate.onDefaultLangChange.subscribe(()=>{this.lastKey&&(this.lastKey=null,this.updateValue(e,o))})),this.value}_dispose(){typeof this.onTranslationChange<"u"&&(this.onTranslationChange.unsubscribe(),this.onTranslationChange=void 0),typeof this.onLangChange<"u"&&(this.onLangChange.unsubscribe(),this.onLangChange=void 0),typeof this.onDefaultLangChange<"u"&&(this.onDefaultLangChange.unsubscribe(),this.onDefaultLangChange=void 0)}ngOnDestroy(){this._dispose()}}return n.\u0275fac=function(e){return new(e||n)(F(no,16),F(di,16))},n.\u0275pipe=Qn({name:"translate",type:n,pure:!1}),n.\u0275prov=Ye({token:n,factory:n.\u0275fac}),n})(),QL=(()=>{class n{static forRoot(e={}){return{ngModule:n,providers:[e.loader||{provide:Nf,useClass:$L},e.compiler||{provide:mg,useClass:qL},e.parser||{provide:_g,useClass:ZL},e.missingTranslationHandler||{provide:C1,useClass:GL},XL,{provide:S1,useValue:e.isolate},{provide:D1,useValue:e.useDefaultLang},no]}}static forChild(e={}){return{ngModule:n,providers:[e.loader||{provide:Nf,useClass:$L},e.compiler||{provide:mg,useClass:qL},e.parser||{provide:_g,useClass:ZL},e.missingTranslationHandler||{provide:C1,useClass:GL},{provide:S1,useValue:e.isolate},{provide:D1,useValue:e.useDefaultLang},no]}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({}),n})();function jz(n,t){if(1&n&&(D(0,"div",5)(1,"mat-icon",6),I(2),C()()),2&n){const e=z();d(1),w("inline",!0),d(1),oe(e.config.icon)}}function zz(n,t){if(1&n&&(D(0,"div",7),I(1),R(2,"translate"),R(3,"translate"),C()),2&n){const e=z();d(1),po(" ",B(2,2,"common.error")," ",Pt(3,4,e.config.smallText,e.config.smallTextTranslationParams)," ")}}var iu=(()=>(function(n){n.Error="error",n.Done="done",n.Warning="warning"}(iu||(iu={})),iu))(),ru=(()=>(function(n){n.Red="red-background",n.Green="green-background",n.Yellow="yellow-background"}(ru||(ru={})),ru))();class Bf{constructor(t,e){this.snackbarRef=e,this.config=t}close(){this.snackbarRef.dismiss()}}Bf.\u0275fac=function(t){return new(t||Bf)(F(w1),F(cg))},Bf.\u0275cmp=qe({type:Bf,selectors:[["app-snack-bar"]],decls:9,vars:8,consts:[["class","icon-container",4,"ngIf"],[1,"text-container"],["class","second-line",4,"ngIf"],[1,"close-button-separator"],[1,"close-button",3,"click"],[1,"icon-container"],[3,"inline"],[1,"second-line"]],template:function(t,e){1&t&&(D(0,"div"),j(1,jz,3,2,"div",0),D(2,"div",1),I(3),R(4,"translate"),j(5,zz,4,7,"div",2),C(),xe(6,"div",3),D(7,"mat-icon",4),ye("click",function(){return e.close()}),I(8,"close"),C()()),2&t&&(fo("main-container "+e.config.color),d(1),w("ngIf",e.config.icon),d(2),me(" ",Pt(4,5,e.config.text,e.config.textTranslationParams)," "),d(2),w("ngIf",e.config.smallText))},dependencies:[Ot,Cn,Ct],styles:['.cursor-pointer[_ngcontent-%COMP%], .close-button[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}.main-container[_ngcontent-%COMP%]{width:100%;display:flex;color:#fff;padding:15px;border-radius:5px}.red-background[_ngcontent-%COMP%]{background-color:#ea0606}.green-background[_ngcontent-%COMP%]{background-color:#1fb11f}.yellow-background[_ngcontent-%COMP%]{background-color:#f90}.icon-container[_ngcontent-%COMP%]{margin-right:10px;position:relative;top:1px}.text-container[_ngcontent-%COMP%]{flex-grow:1;margin-right:10px;font-size:1rem;word-break:break-word}.text-container[_ngcontent-%COMP%] .second-line[_ngcontent-%COMP%]{font-size:.8rem;opacity:.9}.close-button-separator[_ngcontent-%COMP%]{width:1px;margin-right:10px;background-color:#0000004d}.close-button[_ngcontent-%COMP%]{opacity:.7}.close-button[_ngcontent-%COMP%]:hover{opacity:1}mat-icon[_ngcontent-%COMP%]{position:relative;top:1px;-webkit-user-select:none;user-select:none}']});class cn{constructor(t){this.snackBar=t,this.lastWasTemporaryError=!1}showError(t,e=null,i=!1,o=null,s=null){t=Qt(t),o=o?Qt(o):null,this.lastWasTemporaryError=i,this.show(t.translatableErrorMsg,e,o?o.translatableErrorMsg:null,s,iu.Error,ru.Red,15e3)}showWarning(t,e=null){this.lastWasTemporaryError=!1,this.show(t,e,null,null,iu.Warning,ru.Yellow,15e3)}showDone(t,e=null){this.lastWasTemporaryError=!1,this.show(t,e,null,null,iu.Done,ru.Green,5e3)}closeCurrent(){this.snackBar.dismiss()}closeCurrentIfTemporaryError(){this.lastWasTemporaryError&&this.snackBar.dismiss()}show(t,e,i,o,s,a,l){this.snackBar.openFromComponent(Bf,{duration:l,panelClass:"snackbar-container",data:{text:t,textTranslationParams:e,smallText:i,smallTextTranslationParams:o,icon:s,color:a}})}}cn.\u0275fac=function(t){return new(t||cn)(we(Sz))},cn.\u0275prov=Ye({token:cn,factory:cn.\u0275fac,providedIn:"root"});const Ht={maxShortListElements:5,maxFullListElements:40,connectionRetryDelay:5e3,languages:[{code:"en",name:"English",iconName:"en.png"},{code:"es",name:"Espa\xf1ol",iconName:"es.png"},{code:"de",name:"Deutsch",iconName:"de.png"},{code:"pt",name:"Portugu\xeas (Brazil)",iconName:"pt.png"}],defaultLanguage:"en",smallModalWidth:"480px",mediumModalWidth:"640px",largeModalWidth:"900px",vpn:{hardcodedIpWhileDeveloping:!1}};class Uz{constructor(t){Object.assign(this,t)}}class ca{constructor(t){this.translate=t,this.currentLanguage=new Yo(1),this.languages=new Yo(1),this.storageKey="lang",this.languagesInternal=[],this.settingsLoaded=!1}loadLanguageSettings(){if(this.settingsLoaded)return;this.settingsLoaded=!0;const t=[];Ht.languages.forEach(e=>{const i=new Uz(e);this.languagesInternal.push(i),t.push(i.code)}),this.languages.next(this.languagesInternal),this.translate.addLangs(t),this.translate.setDefaultLang(Ht.defaultLanguage),this.translate.onLangChange.subscribe(e=>this.onLanguageChanged(e)),this.loadCurrentLanguage()}changeLanguage(t){this.translate.use(t)}onLanguageChanged(t){this.currentLanguage.next(this.languagesInternal.find(e=>e.code===t.lang)),localStorage.setItem(this.storageKey,t.lang)}loadCurrentLanguage(){let t=localStorage.getItem(this.storageKey);t=t||Ht.defaultLanguage,setTimeout(()=>this.translate.use(t),16)}}ca.\u0275fac=function(t){return new(t||ca)(we(no))},ca.\u0275prov=Ye({token:ca,factory:ca.\u0275fac,providedIn:"root"});const Wz={url:"",deserializer:n=>JSON.parse(n.data),serializer:n=>JSON.stringify(n)};class T1 extends Te{constructor(t,e){if(super(),t instanceof ce)this.destination=e,this.source=t;else{const i=this._config=Object.assign({},Wz);if(this._output=new X,"string"==typeof t)i.url=t;else for(let o in t)t.hasOwnProperty(o)&&(i[o]=t[o]);if(!i.WebSocketCtor&&WebSocket)i.WebSocketCtor=WebSocket;else if(!i.WebSocketCtor)throw new Error("no WebSocket constructor can be found");this.destination=new Yo}}lift(t){const e=new T1(this._config,this.destination);return e.operator=t,e.source=this,e}_resetState(){this._socket=null,this.source||(this.destination=new Yo),this._output=new X}multiplex(t,e,i){const o=this;return new ce(s=>{try{o.next(t())}catch(l){s.error(l)}const a=o.subscribe(l=>{try{i(l)&&s.next(l)}catch(c){s.error(c)}},l=>s.error(l),()=>s.complete());return()=>{try{o.next(e())}catch(l){s.error(l)}a.unsubscribe()}})}_connectSocket(){const{WebSocketCtor:t,protocol:e,url:i,binaryType:o}=this._config,s=this._output;let a=null;try{a=e?new t(i,e):new t(i),this._socket=a,o&&(this._socket.binaryType=o)}catch(c){return void s.error(c)}const l=new T(()=>{this._socket=null,a&&1===a.readyState&&a.close()});a.onopen=c=>{const{_socket:M}=this;if(!M)return a.close(),void this._resetState();const{openObserver:P}=this._config;P&&P.next(c);const Y=this.destination;this.destination=A.create(q=>{if(1===a.readyState)try{const{serializer:te}=this._config;a.send(te(q))}catch(te){this.destination.error(te)}},q=>{const{closingObserver:te}=this._config;te&&te.next(void 0),q&&q.code?a.close(q.code,q.reason):s.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),this._resetState()},()=>{const{closingObserver:q}=this._config;q&&q.next(void 0),a.close(),this._resetState()}),Y&&Y instanceof Yo&&l.add(Y.subscribe(this.destination))},a.onerror=c=>{this._resetState(),s.error(c)},a.onclose=c=>{this._resetState();const{closeObserver:M}=this._config;M&&M.next(c),c.wasClean?s.complete():s.error(c)},a.onmessage=c=>{try{const{deserializer:M}=this._config;s.next(M(c))}catch(M){s.error(M)}}}_subscribe(t){const{source:e}=this;return e?e.subscribe(t):(this._socket||this._connectSocket(),this._output.subscribe(t),t.add(()=>{const{_socket:i}=this;0===this._output.observers.length&&(i&&1===i.readyState&&i.close(),this._resetState())}),t)}unsubscribe(){const{_socket:t}=this;t&&1===t.readyState&&t.close(),this._resetState(),super.unsubscribe()}}var ou=(()=>(function(n){n.Json="json",n.Text="text"}(ou||(ou={})),ou))(),su=(()=>(function(n){n.Json="json"}(su||(su={})),su))();class ic{constructor(t){this.responseType=ou.Json,this.requestType=su.Json,this.ignoreAuth=!1,Object.assign(this,t)}}class yo{constructor(t,e,i){this.http=t,this.router=e,this.ngZone=i,this.apiPrefix="api/",this.wsApiPrefix="api/"}get(t,e=null){return this.request("GET",t,{},e)}post(t,e={},i=null){return this.request("POST",t,e,i)}put(t,e={},i=null){return this.request("PUT",t,e,i)}delete(t,e=null){return this.request("DELETE",t,{},e)}ws(t,e={}){const s=function Gz(n){return new T1(n)}((location.protocol.startsWith("https")?"wss://":"ws://")+location.host+"/"+this.wsApiPrefix+t);return s.next(e),s}request(t,e,i,o){return i=i||{},o=o||new ic,e.startsWith("/")&&(e=e.substr(1,e.length-1)),this.http.request(t,this.apiPrefix+e,{...this.getRequestOptions(o),responseType:o.responseType,withCredentials:!0,body:this.getPostBody(i,o)}).pipe(Ce(s=>this.successHandler(s)),Jr(s=>this.errorHandler(s,o)))}getRequestOptions(t){const e={};return e.headers=new ks,t.requestType===su.Json&&(e.headers=e.headers.append("Content-Type","application/json")),e}getPostBody(t,e){if(e.requestType===su.Json)return JSON.stringify(t);const i=new FormData;return Object.keys(t).forEach(o=>i.append(o,t[o])),i}successHandler(t){if("string"==typeof t&&"manager token is null"===t)throw new Error(t);return t}errorHandler(t,e){if(!e.ignoreAuth){if(401===t.status){const i=e.vpnKeyForAuth?["vpnlogin",e.vpnKeyForAuth]:["login"];this.ngZone.run(()=>this.router.navigate(i,{replaceUrl:!0}))}if(t.error&&"string"==typeof t.error&&t.error.includes("change password")){const i=e.vpnKeyForAuth?["vpnlogin",e.vpnKeyForAuth]:["login"];this.ngZone.run(()=>this.router.navigate(i,{replaceUrl:!0}))}}return Ir(Qt(t))}}yo.\u0275fac=function(t){return new(t||yo)(we($l),we(Xt),we(pt))},yo.\u0275prov=Ye({token:yo,factory:yo.\u0275fac,providedIn:"root"});const qz=["determinateSpinner"];function Kz(n,t){if(1&n&&(fs(),D(0,"svg",11),xe(1,"circle",12),C()),2&n){const e=z();Ut("viewBox",e._viewBox()),d(1),Ha("stroke-dasharray",e._strokeCircumference(),"px")("stroke-dashoffset",e._strokeCircumference()/2,"px")("stroke-width",e._circleStrokeWidth(),"%"),Ut("r",e._circleRadius())}}const Zz=If(class{constructor(n){this._elementRef=n}},"primary"),Xz=new Be("mat-progress-spinner-default-options",{providedIn:"root",factory:function Qz(){return{diameter:JL}}}),JL=100;let rc=(()=>{class n extends Zz{constructor(e,i,o){super(e),this.mode="mat-spinner"===this._elementRef.nativeElement.nodeName.toLowerCase()?"indeterminate":"determinate",this._value=0,this._diameter=JL,this._noopAnimations="NoopAnimations"===i&&!!o&&!o._forceAnimations,o&&(o.color&&(this.color=this.defaultColor=o.color),o.diameter&&(this.diameter=o.diameter),o.strokeWidth&&(this.strokeWidth=o.strokeWidth))}get value(){return"determinate"===this.mode?this._value:0}set value(e){this._value=Math.max(0,Math.min(100,vo(e)))}get diameter(){return this._diameter}set diameter(e){this._diameter=vo(e)}get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(e){this._strokeWidth=vo(e)}_circleRadius(){return(this.diameter-10)/2}_viewBox(){const e=2*this._circleRadius()+this.strokeWidth;return`0 0 ${e} ${e}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return"determinate"===this.mode?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(Vi,8),F(Xz))},n.\u0275cmp=qe({type:n,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(e,i){if(1&e&&ft(qz,5),2&e){let o;nt(o=it())&&(i._determinateCircle=o.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:12,hostBindings:function(e,i){2&e&&(Ut("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow","determinate"===i.mode?i.value:null)("mode",i.mode),Ha("width",i.diameter,"px")("height",i.diameter,"px"),Gt("_mat-animation-noopable",i._noopAnimations)("mdc-circular-progress--indeterminate","indeterminate"===i.mode))},inputs:{color:"color",mode:"mode",value:"value",diameter:"diameter",strokeWidth:"strokeWidth"},exportAs:["matProgressSpinner"],features:[dt],decls:14,vars:11,consts:[["circle",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["determinateSpinner",""],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(e,i){if(1&e&&(j(0,Kz,2,8,"ng-template",null,0,Ms),D(2,"div",1,2),fs(),D(4,"svg",3),xe(5,"circle",4),C()(),kl(),D(6,"div",5)(7,"div",6)(8,"div",7),Xo(9,8),C(),D(10,"div",9),Xo(11,8),C(),D(12,"div",10),Xo(13,8),C()()()),2&e){const o=li(1);d(4),Ut("viewBox",i._viewBox()),d(1),Ha("stroke-dasharray",i._strokeCircumference(),"px")("stroke-dashoffset",i._strokeDashOffset(),"px")("stroke-width",i._circleStrokeWidth(),"%"),Ut("r",i._circleRadius()),d(4),w("ngTemplateOutlet",o),d(2),w("ngTemplateOutlet",o),d(2),w("ngTemplateOutlet",o)}},dependencies:[Ad],styles:["@keyframes mdc-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdc-circular-progress-color-1-fade-in-out{from{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes mdc-circular-progress-color-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@keyframes mdc-circular-progress-left-spin{from{transform:rotate(265deg)}50%{transform:rotate(130deg)}to{transform:rotate(265deg)}}@keyframes mdc-circular-progress-right-spin{from{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-265deg)}}.mdc-circular-progress{display:inline-flex;position:relative;direction:ltr;line-height:0;transition:opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{transform:rotate(-90deg)}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:rgba(0,0,0,0)}.mdc-circular-progress__determinate-circle{transition:stroke-dashoffset 500ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.mdc-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{animation:mdc-circular-progress-container-rotate 1568.2352941176ms linear infinite}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-1{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-2{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-3{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-4{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--closed{opacity:0}.mat-mdc-progress-spinner{display:block;overflow:hidden;line-height:0}.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--mdc-circular-progress-active-indicator-color, transparent)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-1 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-2 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-3 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-4 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner._mat-animation-noopable,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__determinate-circle{transition:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__spinner-layer,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container{animation:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container circle{stroke-dasharray:0 !important}.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic,.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle{stroke:currentColor;stroke:CanvasText}"],encapsulation:2,changeDetection:0}),n})(),eU=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[na,Hn]}),n})();const tU=function(n){return{"white-theme":n}};class io{constructor(){this.showWhite=!0}}function nU(n,t){1&n&&(D(0,"div",5)(1,"div"),xe(2,"img",6),D(3,"div"),I(4),R(5,"translate"),C()()()),2&n&&(d(4),oe(B(5,1,"common.window-size-error")))}function iU(n,t){1&n&&xe(0,"router-outlet")}function rU(n,t){1&n&&xe(0,"app-loading-indicator",7)}io.\u0275fac=function(t){return new(t||io)},io.\u0275cmp=qe({type:io,selectors:[["app-loading-indicator"]],inputs:{showWhite:"showWhite"},decls:2,vars:4,consts:[[1,"container",3,"ngClass"],[3,"diameter"]],template:function(t,e){1&t&&(D(0,"div",0),xe(1,"mat-spinner",1),C()),2&t&&(w("ngClass",Ve(2,tU,e.showWhite)),d(1),w("diameter",50))},dependencies:[On,rc],styles:["[_nghost-%COMP%]{width:100%;height:100%;display:flex}.container[_ngcontent-%COMP%]{width:100%;align-self:center;display:flex;flex-direction:column;align-items:center}.container[_ngcontent-%COMP%] > mat-spinner[_ngcontent-%COMP%]{opacity:.5}"]});const oU=function(n){return{background:n}};class da{constructor(t,e,i,o,s,a){this.storage=t,this.snackbarService=o,this.languageService=s,this.apiService=a,this.inVpnClient=!1,this.inLoginPage=!1,this.hypervisorPkObtained=!1,this.pkErrorShown=!1,this.pkErrorsFound=0,da.currentInstance=this,i.afterOpened.subscribe(()=>o.closeCurrent()),e.events.subscribe(l=>{l instanceof Xa&&(o.closeCurrent(),i.closeAll(),window.scrollTo(0,0))}),i.afterAllClosed.subscribe(()=>o.closeCurrentIfTemporaryError()),e.events.subscribe(l=>{if(this.inVpnClient=e.url.includes("/vpn/")||e.url.includes("vpnlogin"),l.url){const c=this.inLoginPage;this.inLoginPage=l.url.includes("login"),c&&!this.inLoginPage&&!this.hypervisorPkObtained&&this.checkHypervisorPk(0)}e.url.length>2&&(document.title=this.inVpnClient?"Skywire VPN":"Skywire Manager")}),this.languageService.loadLanguageSettings(),this.checkHypervisorPk(0)}processLoginDone(){this.inLoginPage=!1,this.hypervisorPkObtained||this.checkHypervisorPk(0)}checkHypervisorPk(t){this.obtainPkSubscription&&this.obtainPkSubscription.unsubscribe(),this.obtainPkSubscription=We(1).pipe(Ai(t),Ne(()=>this.apiService.get("about"))).subscribe(e=>{e.public_key?(this.finishStartup(e.public_key),this.hypervisorPkObtained=!0):(this.pkErrorShown||(this.snackbarService.showError("start.loading-error",null,!0),this.pkErrorShown=!0),this.checkHypervisorPk(1e3))},e=>{if(this.pkErrorsFound+=1,this.pkErrorsFound>4&&!this.pkErrorShown){const i=Qt(e);this.snackbarService.showError("start.loading-error",null,!0,i),this.pkErrorShown=!0}this.inLoginPage||this.checkHypervisorPk(1e3)})}finishStartup(t){this.storage.initialize(t)}}da.\u0275fac=function(t){return new(t||da)(F(ti),F(Xt),F(Fn),F(cn),F(ca),F(yo))},da.\u0275cmp=qe({type:da,selectors:[["app-root"]],decls:5,vars:6,consts:[["class","size-alert d-md-none",4,"ngIf"],[1,"flex-1","content","container-fluid"],[3,"ngClass"],[4,"ngIf"],["class","h-100",4,"ngIf"],[1,"size-alert","d-md-none"],["src","assets/img/size-alert.png"],[1,"h-100"]],template:function(t,e){1&t&&(j(0,nU,6,3,"div",0),D(1,"div",1),xe(2,"div",2),j(3,iU,1,0,"router-outlet",3),j(4,rU,1,0,"app-loading-indicator",4),C()),2&t&&(w("ngIf",e.inVpnClient),d(2),w("ngClass",Ve(4,oU,e.inVpnClient)),d(1),w("ngIf",e.hypervisorPkObtained||e.inLoginPage),d(1),w("ngIf",!e.hypervisorPkObtained&&!e.inLoginPage))},dependencies:[On,Ot,F_,io,Ct],styles:[".size-alert[_ngcontent-%COMP%]{background-color:#000000d9;position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:inline-flex;align-items:center;justify-content:center;text-align:center;color:#fff}.size-alert[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{margin:0 40px;max-width:400px}[_nghost-%COMP%]{display:flex;flex-direction:column;justify-content:space-between;min-height:100%;height:100%}.content[_ngcontent-%COMP%]{padding:20px!important}.background[_ngcontent-%COMP%]{background-image:url(/assets/img/map.png);background-size:cover;background-position:center;opacity:.1;width:100%;height:100%;top:0;left:0;position:fixed}"]});class Ls{constructor(t){this.router=t,this.forceFailInternal=!1}set forceFail(t){this.forceFailInternal=t}canActivate(t,e){return this.checkIfCanActivate()}canActivateChild(t,e){return this.checkIfCanActivate()}checkIfCanActivate(){return this.forceFailInternal?(this.router.navigate(["login"],{replaceUrl:!0}),We(!1)):We(!0)}}Ls.\u0275fac=function(t){return new(t||Ls)(we(Xt))},Ls.\u0275prov=Ye({token:Ls,factory:Ls.\u0275fac,providedIn:"root"});var Es=(()=>(function(n){n[n.AuthDisabled=0]="AuthDisabled",n[n.Logged=1]="Logged",n[n.NotLogged=2]="NotLogged"}(Es||(Es={})),Es))();class Is{constructor(t,e,i){this.apiService=t,this.translateService=e,this.authGuardService=i}login(t){return this.apiService.post("login",{username:"admin",password:t},new ic({ignoreAuth:!0})).pipe(ui(e=>{if(!0!==e)throw new Error;this.authGuardService.forceFail=!1}))}checkLogin(){return this.apiService.get("user",new ic({ignoreAuth:!0})).pipe(Ce(t=>t.username?Es.Logged:Es.AuthDisabled),Jr(t=>(t=Qt(t)).originalError&&401===t.originalError.status?(this.authGuardService.forceFail=!0,We(Es.NotLogged)):Ir(t)))}logout(){return this.apiService.post("logout",{}).pipe(ui(t=>{if(!0!==t)throw new Error;this.authGuardService.forceFail=!0}))}changePassword(t,e){return this.apiService.post("change-password",{old_password:t,new_password:e},new ic({responseType:ou.Text,ignoreAuth:!0})).pipe(Ce(i=>{if("string"==typeof i&&"true"===i.trim())return!0;throw"Please do not change the default password."===i?new Error(this.translateService.instant("settings.password.errors.default-password")):new Error(this.translateService.instant("common.operation-error"))}),Jr(i=>((i=Qt(i)).originalError&&401===i.originalError.status&&(i.translatableErrorMsg="settings.password.errors.bad-old-password"),Ir(i))))}initialConfig(t){return this.apiService.post("create-account",{username:"admin",password:t},new ic({responseType:ou.Text,ignoreAuth:!0})).pipe(Ce(e=>{if("string"==typeof e&&"true"===e.trim())return!0;throw new Error(e)}),Jr(e=>((e=Qt(e)).originalError&&500===e.originalError.status&&(e.translatableErrorMsg="settings.password.initial-config.error"),Ir(e))))}}Is.\u0275fac=function(t){return new(t||Is)(we(yo),we(no),we(Ls))},Is.\u0275prov=Ye({token:Is,factory:Is.\u0275fac,providedIn:"root"});class Hf{constructor(t,e){this.authService=t,this.router=e}ngOnInit(){this.verificationSubscription=this.authService.checkLogin().subscribe(t=>{this.router.navigate(t!==Es.NotLogged?["nodes"]:["login"],{replaceUrl:!0})},()=>{this.router.navigate(["nodes"],{replaceUrl:!0})})}ngOnDestroy(){this.verificationSubscription.unsubscribe()}}Hf.\u0275fac=function(t){return new(t||Hf)(F(Is),F(Xt))},Hf.\u0275cmp=qe({type:Hf,selectors:[["app-start"]],decls:2,vars:0,consts:[[1,"h-100","w-100"]],template:function(t,e){1&t&&(D(0,"div",0),xe(1,"app-loading-indicator"),C())},dependencies:[io]});let eE=(()=>{class n{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}}return n.\u0275fac=function(e){return new(e||n)(F(qs),F(bt))},n.\u0275dir=Ke({type:n}),n})(),oc=(()=>{class n extends eE{}return n.\u0275fac=function(){let t;return function(i){return(t||(t=zn(n)))(i||n)}}(),n.\u0275dir=Ke({type:n,features:[dt]}),n})();const os=new Be("NgValueAccessor"),aU={provide:os,useExisting:sn(()=>Fi),multi:!0},cU=new Be("CompositionEventMode");let Fi=(()=>{class n extends eE{constructor(e,i,o){super(e,i),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function lU(){const n=xs()?xs().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}())}writeValue(e){this.setProperty("value",e??"")}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}return n.\u0275fac=function(e){return new(e||n)(F(qs),F(bt),F(cU,8))},n.\u0275dir=Ke({type:n,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(e,i){1&e&&ye("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},features:[Kt([aU]),dt]}),n})();function rl(n){return null==n||("string"==typeof n||Array.isArray(n))&&0===n.length}function nE(n){return null!=n&&"number"==typeof n.length}const Mr=new Be("NgValidators"),ol=new Be("NgAsyncValidators"),uU=/^(?=.{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 Vt{static min(t){return function iE(n){return t=>{if(rl(t.value)||rl(n))return null;const e=parseFloat(t.value);return!isNaN(e)&&e{if(rl(t.value)||rl(n))return null;const e=parseFloat(t.value);return!isNaN(e)&&e>n?{max:{max:n,actual:t.value}}:null}}(t)}static required(t){return function oE(n){return rl(n.value)?{required:!0}:null}(t)}static requiredTrue(t){return function sE(n){return!0===n.value?null:{required:!0}}(t)}static email(t){return function aE(n){return rl(n.value)||uU.test(n.value)?null:{email:!0}}(t)}static minLength(t){return function lE(n){return t=>rl(t.value)||!nE(t.value)?null:t.value.length{if(rl(i.value))return null;const o=i.value;return t.test(o)?null:{pattern:{requiredPattern:e,actualValue:o}}}}(t)}static nullValidator(t){return null}static compose(t){return _E(t)}static composeAsync(t){return gE(t)}}function cE(n){return t=>nE(t.value)&&t.value.length>n?{maxlength:{requiredLength:n,actualLength:t.value.length}}:null}function bg(n){return null}function uE(n){return null!=n}function hE(n){return Lh(n)?de(n):n}function fE(n){let t={};return n.forEach(e=>{t=null!=e?{...t,...e}:t}),0===Object.keys(t).length?null:t}function pE(n,t){return t.map(e=>e(n))}function mE(n){return n.map(t=>function hU(n){return!n.validate}(t)?t:e=>t.validate(e))}function _E(n){if(!n)return null;const t=n.filter(uE);return 0==t.length?null:function(e){return fE(pE(e,t))}}function L1(n){return null!=n?_E(mE(n)):null}function gE(n){if(!n)return null;const t=n.filter(uE);return 0==t.length?null:function(e){return HL(pE(e,t).map(hE)).pipe(Ce(fE))}}function E1(n){return null!=n?gE(mE(n)):null}function bE(n,t){return null===n?[t]:Array.isArray(n)?[...n,t]:[n,t]}function vE(n){return n._rawValidators}function yE(n){return n._rawAsyncValidators}function I1(n){return n?Array.isArray(n)?n:[n]:[]}function vg(n,t){return Array.isArray(n)?n.includes(t):n===t}function ME(n,t){const e=I1(t);return I1(n).forEach(o=>{vg(e,o)||e.push(o)}),e}function wE(n,t){return I1(t).filter(e=>!vg(n,e))}class xE{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(t){this._rawValidators=t||[],this._composedValidatorFn=L1(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=E1(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}class $r extends xE{get formDirective(){return null}get path(){return null}}class Ps extends xE{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class CE{constructor(t){this._cd=t}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Ri=(()=>{class n extends CE{constructor(e){super(e)}}return n.\u0275fac=function(e){return new(e||n)(F(Ps,2))},n.\u0275dir=Ke({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,i){2&e&&Gt("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[dt]}),n})(),Ni=(()=>{class n extends CE{constructor(e){super(e)}}return n.\u0275fac=function(e){return new(e||n)(F($r,10))},n.\u0275dir=Ke({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,i){2&e&&Gt("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)("ng-submitted",i.isSubmitted)},features:[dt]}),n})();const Vf="VALID",Mg="INVALID",au="PENDING",jf="DISABLED";function F1(n){return(wg(n)?n.validators:n)||null}function R1(n,t){return(wg(t)?t.asyncValidators:n)||null}function wg(n){return null!=n&&!Array.isArray(n)&&"object"==typeof n}function SE(n,t,e){const i=n.controls;if(!(t?Object.keys(i):i).length)throw new Fe(1e3,"");if(!i[e])throw new Fe(1001,"")}function DE(n,t,e){n._forEachChild((i,o)=>{if(void 0===e[o])throw new Fe(1002,"")})}class xg{constructor(t,e){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Vf}get invalid(){return this.status===Mg}get pending(){return this.status==au}get disabled(){return this.status===jf}get enabled(){return this.status!==jf}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(ME(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(ME(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(wE(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(wE(t,this._rawAsyncValidators))}hasValidator(t){return vg(this._rawValidators,t)}hasAsyncValidator(t){return vg(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(e=>{e.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=au,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=jf,this.errors=null,this._forEachChild(i=>{i.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=Vf,this._forEachChild(i=>{i.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Vf||this.status===au)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?jf:Vf}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=au,this._hasOwnPendingAsyncValidator=!0;const e=hE(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){let e=t;return null==e||(Array.isArray(e)||(e=e.split(".")),0===e.length)?null:e.reduce((i,o)=>i&&i._find(o),this)}getError(t,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new ht,this.statusChanges=new ht}_calculateStatus(){return this._allControlsDisabled()?jf:this.errors?Mg:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(au)?au:this._anyControlsHaveStatus(Mg)?Mg:Vf}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){wg(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function vU(n){return Array.isArray(n)?L1(n):n||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function yU(n){return Array.isArray(n)?E1(n):n||null}(this._rawAsyncValidators)}}class lu extends xg{constructor(t,e,i){super(F1(e),R1(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,i={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){DE(this,0,t),Object.keys(t).forEach(i=>{SE(this,!0,i),this.controls[i].setValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(i=>{const o=this.controls[i];o&&o.patchValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((i,o)=>{i.reset(t[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,i)=>(t[i]=e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&t(i,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[e,i]of Object.entries(this.controls))if(this.contains(e)&&t(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(e,i,o)=>((i.enabled||this.disabled)&&(e[o]=i.value),e))}_reduceChildren(t,e){let i=t;return this._forEachChild((o,s)=>{i=e(i,o,s)}),i}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}const TE=lu;class LE extends lu{}const cu=new Be("CallSetDisabledState",{providedIn:"root",factory:()=>Cg}),Cg="always";function kg(n,t){return[...t.path,n]}function zf(n,t,e=Cg){N1(n,t),t.valueAccessor.writeValue(n.value),(n.disabled||"always"===e)&&t.valueAccessor.setDisabledState?.(n.disabled),function wU(n,t){t.valueAccessor.registerOnChange(e=>{n._pendingValue=e,n._pendingChange=!0,n._pendingDirty=!0,"change"===n.updateOn&&EE(n,t)})}(n,t),function CU(n,t){const e=(i,o)=>{t.valueAccessor.writeValue(i),o&&t.viewToModelUpdate(i)};n.registerOnChange(e),t._registerOnDestroy(()=>{n._unregisterOnChange(e)})}(n,t),function xU(n,t){t.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,"blur"===n.updateOn&&n._pendingChange&&EE(n,t),"submit"!==n.updateOn&&n.markAsTouched()})}(n,t),function MU(n,t){if(t.valueAccessor.setDisabledState){const e=i=>{t.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(e),t._registerOnDestroy(()=>{n._unregisterOnDisabledChange(e)})}}(n,t)}function Sg(n,t,e=!0){const i=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(i),t.valueAccessor.registerOnTouched(i)),Tg(n,t),n&&(t._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function Dg(n,t){n.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function N1(n,t){const e=vE(n);null!==t.validator?n.setValidators(bE(e,t.validator)):"function"==typeof e&&n.setValidators([e]);const i=yE(n);null!==t.asyncValidator?n.setAsyncValidators(bE(i,t.asyncValidator)):"function"==typeof i&&n.setAsyncValidators([i]);const o=()=>n.updateValueAndValidity();Dg(t._rawValidators,o),Dg(t._rawAsyncValidators,o)}function Tg(n,t){let e=!1;if(null!==n){if(null!==t.validator){const o=vE(n);if(Array.isArray(o)&&o.length>0){const s=o.filter(a=>a!==t.validator);s.length!==o.length&&(e=!0,n.setValidators(s))}}if(null!==t.asyncValidator){const o=yE(n);if(Array.isArray(o)&&o.length>0){const s=o.filter(a=>a!==t.asyncValidator);s.length!==o.length&&(e=!0,n.setAsyncValidators(s))}}}const i=()=>{};return Dg(t._rawValidators,i),Dg(t._rawAsyncValidators,i),e}function EE(n,t){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function IE(n,t){N1(n,t)}function PE(n,t){n._syncPendingControls(),t.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}const LU={provide:$r,useExisting:sn(()=>Wf)},Uf=(()=>Promise.resolve())();let Wf=(()=>{class n extends $r{constructor(e,i,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new ht,this.form=new lu({},L1(e),E1(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){Uf.then(()=>{const i=this._findContainer(e.path);e.control=i.registerControl(e.name,e.control),zf(e.control,e,this.callSetDisabledState),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){Uf.then(()=>{const i=this._findContainer(e.path);i&&i.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){Uf.then(()=>{const i=this._findContainer(e.path),o=new lu({});IE(o,e),i.registerControl(e.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){Uf.then(()=>{const i=this._findContainer(e.path);i&&i.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,i){Uf.then(()=>{this.form.get(e.path).setValue(i)})}setValue(e){this.control.setValue(e)}onSubmit(e){return this.submitted=!0,PE(this.form,this._directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e){this.form.reset(e),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}}return n.\u0275fac=function(e){return new(e||n)(F(Mr,10),F(ol,10),F(cu,8))},n.\u0275dir=Ke({type:n,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(e,i){1&e&&ye("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Kt([LU]),dt]}),n})();function OE(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}function AE(n){return"object"==typeof n&&null!==n&&2===Object.keys(n).length&&"value"in n&&"disabled"in n}const du=class extends xg{constructor(t=null,e,i){super(F1(e),R1(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),wg(e)&&(e.nonNullable||e.initialValueIsDefault)&&(this.defaultValue=AE(t)?t.value:t)}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=this.defaultValue,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){OE(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){OE(this._onDisabledChange,t)}_forEachChild(t){}_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(t){AE(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},Lg=du;let FE=(()=>{class n extends $r{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return kg(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}}return n.\u0275fac=function(){let t;return function(i){return(t||(t=zn(n)))(i||n)}}(),n.\u0275dir=Ke({type:n,features:[dt]}),n})(),Yi=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=Ke({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),n})(),HE=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({}),n})();const V1=new Be("NgModelWithFormControlWarning"),YU={provide:$r,useExisting:sn(()=>ni)};let ni=(()=>{class n extends $r{constructor(e,i,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new ht,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Tg(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return zf(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){Sg(e.control||null,e,!1),function TU(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,PE(this.form,this.directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e){this.form.reset(e),this.submitted=!1}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,o=this.form.get(e.path);i!==o&&(Sg(i||null,e),(n=>n instanceof du)(o)&&(zf(o,e,this.callSetDisabledState),e.control=o))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);IE(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function kU(n,t){return Tg(n,t)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){N1(this.form,this),this._oldForm&&Tg(this._oldForm,this)}_checkFormPresent(){}}return n.\u0275fac=function(e){return new(e||n)(F(Mr,10),F(ol,10),F(cu,8))},n.\u0275dir=Ke({type:n,selectors:[["","formGroup",""]],hostBindings:function(e,i){1&e&&ye("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Kt([YU]),dt,Gi]}),n})();const BU={provide:$r,useExisting:sn(()=>$f)};let $f=(()=>{class n extends FE{constructor(e,i,o){super(),this._parent=e,this._setValidators(i),this._setAsyncValidators(o)}_checkParentType(){UE(this._parent)}}return n.\u0275fac=function(e){return new(e||n)(F($r,13),F(Mr,10),F(ol,10))},n.\u0275dir=Ke({type:n,selectors:[["","formGroupName",""]],inputs:{name:["formGroupName","name"]},features:[Kt([BU]),dt]}),n})();const HU={provide:$r,useExisting:sn(()=>Gf)};let Gf=(()=>{class n extends $r{constructor(e,i,o){super(),this._parent=e,this._setValidators(i),this._setAsyncValidators(o)}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 kg(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){UE(this._parent)}}return n.\u0275fac=function(e){return new(e||n)(F($r,13),F(Mr,10),F(ol,10))},n.\u0275dir=Ke({type:n,selectors:[["","formArrayName",""]],inputs:{name:["formArrayName","name"]},features:[Kt([HU]),dt]}),n})();function UE(n){return!(n instanceof $f||n instanceof ni||n instanceof Gf)}const VU={provide:Ps,useExisting:sn(()=>Di)};let Di=(()=>{class n extends Ps{constructor(e,i,o,s,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.update=new ht,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(i),this._setAsyncValidators(o),this.valueAccessor=function H1(n,t){if(!t)return null;let e,i,o;return Array.isArray(t),t.forEach(s=>{s.constructor===Fi?e=s:function DU(n){return Object.getPrototypeOf(n.constructor)===oc}(s)?i=s:o=s}),o||i||e||null}(0,s)}set isDisabled(e){}ngOnChanges(e){this._added||this._setUpControl(),function B1(n,t){if(!n.hasOwnProperty("model"))return!1;const e=n.model;return!!e.isFirstChange()||!Object.is(t,e.currentValue)}(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return kg(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._added=!0}}return n._ngModelWarningSentOnce=!1,n.\u0275fac=function(e){return new(e||n)(F($r,13),F(Mr,10),F(ol,10),F(os,10),F(V1,8))},n.\u0275dir=Ke({type:n,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[Kt([VU]),dt,Gi]}),n})();let sc=(()=>{class n{constructor(){this._validator=bg}ngOnChanges(e){if(this.inputName in e){const i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):bg,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return null!=e}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=Ke({type:n,features:[Gi]}),n})();const eW={provide:Mr,useExisting:sn(()=>wr),multi:!0};let wr=(()=>{class n extends sc{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=e=>function GE(n){return"number"==typeof n?n:parseInt(n,10)}(e),this.createValidator=e=>cE(e)}}return n.\u0275fac=function(){let t;return function(i){return(t||(t=zn(n)))(i||n)}}(),n.\u0275dir=Ke({type:n,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(e,i){2&e&&Ut("maxlength",i._enabled?i.maxlength:null)},inputs:{maxlength:"maxlength"},features:[Kt([eW]),dt]}),n})(),eI=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[HE]}),n})(),nW=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:cu,useValue:e.callSetDisabledState??Cg}]}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[eI]}),n})(),$1=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:V1,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:cu,useValue:e.callSetDisabledState??Cg}]}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[eI]}),n})();class tI extends xg{constructor(t,e,i){super(F1(e),R1(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,i={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(t,e={}){let i=this._adjustIndex(t);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,i={}){let o=this._adjustIndex(t);o<0&&(o=0),this.controls[o]&&this.controls[o]._registerOnCollectionChange(()=>{}),this.controls.splice(o,1),e&&(this.controls.splice(o,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){DE(this,0,t),t.forEach((i,o)=>{SE(this,!1,o),this.at(o).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(t.forEach((i,o)=>{this.at(o)&&this.at(o).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((i,o)=>{i.reset(t[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((e,i)=>!!i._syncPendingControls()||e,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((e,i)=>{t(e,i)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function nI(n){return!!n&&(void 0!==n.asyncValidators||void 0!==n.validators||void 0!==n.updateOn)}let iI=(()=>{class n{constructor(){this.useNonNullable=!1}get nonNullable(){const e=new n;return e.useNonNullable=!0,e}group(e,i=null){const o=this._reduceControls(e);let s={};return nI(i)?s=i:null!==i&&(s.validators=i.validator,s.asyncValidators=i.asyncValidator),new lu(o,s)}record(e,i=null){const o=this._reduceControls(e);return new LE(o,i)}control(e,i,o){let s={};return this.useNonNullable?(nI(i)?s=i:(s.validators=i,s.asyncValidators=o),new du(e,{...s,nonNullable:!0})):new du(e,i,o)}array(e,i,o){const s=e.map(a=>this._createControl(a));return new tI(s,i,o)}_reduceControls(e){const i={};return Object.keys(e).forEach(o=>{i[o]=this._createControl(e[o])}),i}_createControl(e){return e instanceof du||e instanceof xg?e:Array.isArray(e)?this.control(e[0],e.length>1?e[1]:null,e.length>2?e[2]:null):this.control(e)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:$1}),n})(),xr=(()=>{class n extends iI{group(e,i=null){return super.group(e,i)}control(e,i,o){return super.control(e,i,o)}array(e,i,o){return super.array(e,i,o)}}return n.\u0275fac=function(){let t;return function(i){return(t||(t=zn(n)))(i||n)}}(),n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:$1}),n})();const iW=["matFormFieldNotchedOutline",""],rW=["*"],oW=["textField"],sW=["iconPrefixContainer"],aW=["textPrefixContainer"];function lW(n,t){1&n&&xe(0,"span",19)}function cW(n,t){if(1&n){const e=tt();D(0,"label",17),ye("cdkObserveContent",function(){return Pe(e),Oe(z(2)._refreshOutlineNotchWidth())}),vn(1,1),j(2,lW,1,0,"span",18),C()}if(2&n){const e=z(2);w("floating",e._shouldLabelFloat())("cdkObserveContentDisabled",!e._hasOutline())("id",e._labelId),Ut("for",e._control.id)("aria-owns",e._control.id),d(2),w("ngIf",!e.hideRequiredMarker&&e._control.required)}}function dW(n,t){1&n&&j(0,cW,3,6,"label",16),2&n&&w("ngIf",z()._hasFloatingLabel())}function uW(n,t){1&n&&xe(0,"div",20)}function hW(n,t){}function fW(n,t){1&n&&j(0,hW,0,0,"ng-template",22),2&n&&(z(2),w("ngTemplateOutlet",li(1)))}function pW(n,t){if(1&n&&(D(0,"div",21),j(1,fW,1,1,"ng-template",9),C()),2&n){const e=z();w("matFormFieldNotchedOutlineOpen",e._shouldLabelFloat())("matFormFieldNotchedOutlineLabelWidth",e._labelWidth),d(1),w("ngIf",!e._forceDisplayInfixLabel())}}function mW(n,t){1&n&&(D(0,"div",23,24),vn(2,2),C())}function _W(n,t){1&n&&(D(0,"div",25,26),vn(2,3),C())}function gW(n,t){}function bW(n,t){1&n&&j(0,gW,0,0,"ng-template",22),2&n&&(z(),w("ngTemplateOutlet",li(1)))}function vW(n,t){1&n&&(D(0,"div",27),vn(1,4),C())}function yW(n,t){1&n&&(D(0,"div",28),vn(1,5),C())}function MW(n,t){1&n&&xe(0,"div",29)}function wW(n,t){1&n&&(D(0,"div",30),vn(1,6),C()),2&n&&w("@transitionMessages",z()._subscriptAnimationState)}function xW(n,t){if(1&n&&(D(0,"mat-hint",34),I(1),C()),2&n){const e=z(2);w("id",e._hintLabelId),d(1),oe(e.hintLabel)}}function CW(n,t){if(1&n&&(D(0,"div",31),j(1,xW,2,2,"mat-hint",32),vn(2,7),xe(3,"div",33),vn(4,8),C()),2&n){const e=z();w("@transitionMessages",e._subscriptAnimationState),d(1),w("ngIf",e.hintLabel)}}const kW=["*",[["mat-label"]],[["","matPrefix",""],["","matIconPrefix",""]],[["","matTextPrefix",""]],[["","matTextSuffix",""]],[["","matSuffix",""],["","matIconSuffix",""]],[["mat-error"],["","matError",""]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],SW=["*","mat-label","[matPrefix], [matIconPrefix]","[matTextPrefix]","[matTextSuffix]","[matSuffix], [matIconSuffix]","mat-error, [matError]","mat-hint:not([align='end'])","mat-hint[align='end']"];let rI=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=Ke({type:n,selectors:[["mat-label"]]}),n})(),DW=0;const oI=new Be("MatError");let sl=(()=>{class n{constructor(e,i){this.id="mat-mdc-error-"+DW++,e||i.nativeElement.setAttribute("aria-live","polite")}}return n.\u0275fac=function(e){return new(e||n)(Ra("aria-live"),F(bt))},n.\u0275dir=Ke({type:n,selectors:[["mat-error"],["","matError",""]],hostAttrs:["aria-atomic","true",1,"mat-mdc-form-field-error","mat-mdc-form-field-bottom-align"],hostVars:1,hostBindings:function(e,i){2&e&&Qs("id",i.id)},inputs:{id:"id"},features:[Kt([{provide:oI,useExisting:n}])]}),n})(),TW=0,sI=(()=>{class n{constructor(){this.align="start",this.id="mat-mdc-hint-"+TW++}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=Ke({type:n,selectors:[["mat-hint"]],hostAttrs:[1,"mat-mdc-form-field-hint","mat-mdc-form-field-bottom-align"],hostVars:4,hostBindings:function(e,i){2&e&&(Qs("id",i.id),Ut("align",null),Gt("mat-mdc-form-field-hint-end","end"===i.align))},inputs:{align:"align",id:"id"}}),n})();const LW=new Be("MatPrefix"),EW=new Be("MatSuffix");let aI=(()=>{class n{constructor(e){this._elementRef=e,this.floating=!1}getWidth(){return function IW(n){if(null!==n.offsetParent)return n.scrollWidth;const e=n.cloneNode(!0);e.style.setProperty("position","absolute"),e.style.setProperty("transform","translate(-9999px, -9999px)"),document.documentElement.appendChild(e);const i=e.scrollWidth;return e.remove(),i}(this._elementRef.nativeElement)}get element(){return this._elementRef.nativeElement}}return n.\u0275fac=function(e){return new(e||n)(F(bt))},n.\u0275dir=Ke({type:n,selectors:[["label","matFormFieldFloatingLabel",""]],hostAttrs:[1,"mdc-floating-label","mat-mdc-floating-label"],hostVars:2,hostBindings:function(e,i){2&e&&Gt("mdc-floating-label--float-above",i.floating)},inputs:{floating:"floating"}}),n})();const lI="mdc-line-ripple--active",Eg="mdc-line-ripple--deactivating";let cI=(()=>{class n{constructor(e,i){this._elementRef=e,this._handleTransitionEnd=o=>{const s=this._elementRef.nativeElement.classList,a=s.contains(Eg);"opacity"===o.propertyName&&a&&s.remove(lI,Eg)},i.runOutsideAngular(()=>{e.nativeElement.addEventListener("transitionend",this._handleTransitionEnd)})}activate(){const e=this._elementRef.nativeElement.classList;e.remove(Eg),e.add(lI)}deactivate(){this._elementRef.nativeElement.classList.add(Eg)}ngOnDestroy(){this._elementRef.nativeElement.removeEventListener("transitionend",this._handleTransitionEnd)}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(pt))},n.\u0275dir=Ke({type:n,selectors:[["div","matFormFieldLineRipple",""]],hostAttrs:[1,"mdc-line-ripple"]}),n})(),dI=(()=>{class n{constructor(e,i){this._elementRef=e,this._ngZone=i,this.labelWidth=0,this.open=!1}ngAfterViewInit(){const e=this._elementRef.nativeElement.querySelector(".mdc-floating-label");e?(this._elementRef.nativeElement.classList.add("mdc-notched-outline--upgraded"),"function"==typeof requestAnimationFrame&&(e.style.transitionDuration="0s",this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>e.style.transitionDuration="")}))):this._elementRef.nativeElement.classList.add("mdc-notched-outline--no-label")}_getNotchWidth(){return this.open?this.labelWidth>0?`calc(${this.labelWidth}px * var(--mat-mdc-form-field-floating-label-scale, 0.75) + 9px)`:"0px":null}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(pt))},n.\u0275cmp=qe({type:n,selectors:[["div","matFormFieldNotchedOutline",""]],hostAttrs:[1,"mdc-notched-outline"],hostVars:2,hostBindings:function(e,i){2&e&&Gt("mdc-notched-outline--notched",i.open)},inputs:{labelWidth:["matFormFieldNotchedOutlineLabelWidth","labelWidth"],open:["matFormFieldNotchedOutlineOpen","open"]},attrs:iW,ngContentSelectors:rW,decls:4,vars:2,consts:[[1,"mdc-notched-outline__leading"],[1,"mdc-notched-outline__notch"],[1,"mdc-notched-outline__trailing"]],template:function(e,i){1&e&&(_r(),xe(0,"div",0),D(1,"div",1),vn(2),C(),xe(3,"div",2)),2&e&&(d(1),Ha("width",i._getNotchWidth()))},encapsulation:2,changeDetection:0}),n})();const PW={transitionMessages:ra("transitionMessages",[mo("enter",Kn({opacity:1,transform:"translateY(0%)"})),Lr("void => enter",[Kn({opacity:0,transform:"translateY(-5px)"}),Ur("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let G1=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=Ke({type:n}),n})();const q1=new Be("MatFormField"),OW=new Be("MAT_FORM_FIELD_DEFAULT_OPTIONS");let uI=0,tr=(()=>{class n{constructor(e,i,o,s,a,l,c,M){this._elementRef=e,this._changeDetectorRef=i,this._ngZone=o,this._dir=s,this._platform=a,this._defaults=l,this._animationMode=c,this._document=M,this._hideRequiredMarker=!1,this.color="primary",this._appearance="fill",this._subscriptSizing=null,this._hintLabel="",this._hasIconPrefix=!1,this._hasTextPrefix=!1,this._hasIconSuffix=!1,this._hasTextSuffix=!1,this._labelId="mat-mdc-form-field-label-"+uI++,this._hintLabelId="mat-mdc-hint-"+uI++,this._subscriptAnimationState="",this._labelWidth=0,this._destroyed=new X,this._isFocused=null,this._needsOutlineLabelOffsetUpdateOnStable=!1,l&&(l.appearance&&(this.appearance=l.appearance),this._hideRequiredMarker=Boolean(l?.hideRequiredMarker),l.color&&(this.color=l.color))}get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(e){this._hideRequiredMarker=hn(e)}get floatLabel(){return this._floatLabel||this._defaults?.floatLabel||"auto"}set floatLabel(e){e!==this._floatLabel&&(this._floatLabel=e,this._changeDetectorRef.markForCheck())}get appearance(){return this._appearance}set appearance(e){const i=this._appearance;this._appearance=e||this._defaults?.appearance||"fill","outline"===this._appearance&&this._appearance!==i&&(this._refreshOutlineNotchWidth(),this._needsOutlineLabelOffsetUpdateOnStable=!0)}get subscriptSizing(){return this._subscriptSizing||this._defaults?.subscriptSizing||"fixed"}set subscriptSizing(e){this._subscriptSizing=e||this._defaults?.subscriptSizing||"fixed"}get hintLabel(){return this._hintLabel}set hintLabel(e){this._hintLabel=e,this._processHints()}get _control(){return this._explicitFormFieldControl||this._formFieldControl}set _control(e){this._explicitFormFieldControl=e}ngAfterViewInit(){this._updateFocusState(),this._refreshOutlineNotchWidth(),this._document?.fonts?.ready?this._document.fonts.ready.then(()=>{this._refreshOutlineNotchWidth(),this._changeDetectorRef.markForCheck()}):setTimeout(()=>this._refreshOutlineNotchWidth(),100),this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngAfterContentInit(){this._assertFormFieldControl(),this._initializeControl(),this._initializeSubscript(),this._initializePrefixAndSuffix(),this._initializeOutlineLabelOffsetSubscriptions()}ngAfterContentChecked(){this._assertFormFieldControl()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._textField||this._elementRef}_animateAndLockLabel(){this._hasFloatingLabel()&&(this.floatLabel="always")}_initializeControl(){const e=this._control;e.controlType&&this._elementRef.nativeElement.classList.add(`mat-mdc-form-field-type-${e.controlType}`),e.stateChanges.subscribe(()=>{this._updateFocusState(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),e.ngControl&&e.ngControl.valueChanges&&e.ngControl.valueChanges.pipe(xn(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck())}_checkPrefixAndSuffixTypes(){this._hasIconPrefix=!!this._prefixChildren.find(e=>!e._isText),this._hasTextPrefix=!!this._prefixChildren.find(e=>e._isText),this._hasIconSuffix=!!this._suffixChildren.find(e=>!e._isText),this._hasTextSuffix=!!this._suffixChildren.find(e=>e._isText)}_initializePrefixAndSuffix(){this._checkPrefixAndSuffixTypes(),vt(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._checkPrefixAndSuffixTypes(),this._changeDetectorRef.markForCheck()})}_initializeSubscript(){this._hintChildren.changes.subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._validateHints(),this._syncDescribedByIds()}_assertFormFieldControl(){}_updateFocusState(){this._control.focused&&!this._isFocused?(this._isFocused=!0,this._lineRipple?.activate()):!this._control.focused&&(this._isFocused||null===this._isFocused)&&(this._isFocused=!1,this._lineRipple?.deactivate()),this._textField?.nativeElement.classList.toggle("mdc-text-field--focused",this._control.focused)}_initializeOutlineLabelOffsetSubscriptions(){this._prefixChildren.changes.subscribe(()=>this._needsOutlineLabelOffsetUpdateOnStable=!0),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(xn(this._destroyed)).subscribe(()=>{this._needsOutlineLabelOffsetUpdateOnStable&&(this._needsOutlineLabelOffsetUpdateOnStable=!1,this._updateOutlineLabelOffset())})}),this._dir.change.pipe(xn(this._destroyed)).subscribe(()=>this._needsOutlineLabelOffsetUpdateOnStable=!0)}_shouldAlwaysFloat(){return"always"===this.floatLabel}_hasOutline(){return"outline"===this.appearance}_forceDisplayInfixLabel(){return!this._platform.isBrowser&&this._prefixChildren.length&&!this._shouldLabelFloat()}_hasFloatingLabel(){return!!this._labelChildNonStatic||!!this._labelChildStatic}_shouldLabelFloat(){return this._control.shouldLabelFloat||this._shouldAlwaysFloat()}_shouldForward(e){const i=this._control?this._control.ngControl:null;return i&&i[e]}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_refreshOutlineNotchWidth(){!this._hasOutline()||!this._floatingLabel||(this._labelWidth=this._floatingLabel.getWidth())}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_syncDescribedByIds(){if(this._control){let e=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&e.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const i=this._hintChildren?this._hintChildren.find(s=>"start"===s.align):null,o=this._hintChildren?this._hintChildren.find(s=>"end"===s.align):null;i?e.push(i.id):this._hintLabel&&e.push(this._hintLabelId),o&&e.push(o.id)}else this._errorChildren&&e.push(...this._errorChildren.map(i=>i.id));this._control.setDescribedByIds(e)}}_updateOutlineLabelOffset(){if(!this._platform.isBrowser||!this._hasOutline()||!this._floatingLabel)return;const e=this._floatingLabel.element;if(!this._iconPrefixContainer&&!this._textPrefixContainer)return void(e.style.transform="");if(!this._isAttachedToDom())return void(this._needsOutlineLabelOffsetUpdateOnStable=!0);const i=this._iconPrefixContainer?.nativeElement,o=this._textPrefixContainer?.nativeElement,s=i?.getBoundingClientRect().width??0,a=o?.getBoundingClientRect().width??0;e.style.transform=`var(\n --mat-mdc-form-field-label-transform,\n translateY(-50%) translateX(calc(${"rtl"===this._dir.value?"-1":"1"} * (${s+a}px + var(--mat-mdc-form-field-label-offset-x, 0px))))\n )`}_isAttachedToDom(){const e=this._elementRef.nativeElement;if(e.getRootNode){const i=e.getRootNode();return i&&i!==e}return document.documentElement.contains(e)}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(di),F(pt),F(Pr),F(hi),F(OW,8),F(Vi,8),F(St))},n.\u0275cmp=qe({type:n,selectors:[["mat-form-field"]],contentQueries:function(e,i,o){if(1&e&&(Qi(o,rI,5),Qi(o,rI,7),Qi(o,G1,5),Qi(o,LW,5),Qi(o,EW,5),Qi(o,oI,5),Qi(o,sI,5)),2&e){let s;nt(s=it())&&(i._labelChildNonStatic=s.first),nt(s=it())&&(i._labelChildStatic=s.first),nt(s=it())&&(i._formFieldControl=s.first),nt(s=it())&&(i._prefixChildren=s),nt(s=it())&&(i._suffixChildren=s),nt(s=it())&&(i._errorChildren=s),nt(s=it())&&(i._hintChildren=s)}},viewQuery:function(e,i){if(1&e&&(ft(oW,5),ft(sW,5),ft(aW,5),ft(aI,5),ft(dI,5),ft(cI,5)),2&e){let o;nt(o=it())&&(i._textField=o.first),nt(o=it())&&(i._iconPrefixContainer=o.first),nt(o=it())&&(i._textPrefixContainer=o.first),nt(o=it())&&(i._floatingLabel=o.first),nt(o=it())&&(i._notchedOutline=o.first),nt(o=it())&&(i._lineRipple=o.first)}},hostAttrs:[1,"mat-mdc-form-field"],hostVars:42,hostBindings:function(e,i){2&e&&Gt("mat-mdc-form-field-label-always-float",i._shouldAlwaysFloat())("mat-mdc-form-field-has-icon-prefix",i._hasIconPrefix)("mat-mdc-form-field-has-icon-suffix",i._hasIconSuffix)("mat-form-field-invalid",i._control.errorState)("mat-form-field-disabled",i._control.disabled)("mat-form-field-autofilled",i._control.autofilled)("mat-form-field-no-animations","NoopAnimations"===i._animationMode)("mat-form-field-appearance-fill","fill"==i.appearance)("mat-form-field-appearance-outline","outline"==i.appearance)("mat-form-field-hide-placeholder",i._hasFloatingLabel()&&!i._shouldLabelFloat())("mat-focused",i._control.focused)("mat-primary","accent"!==i.color&&"warn"!==i.color)("mat-accent","accent"===i.color)("mat-warn","warn"===i.color)("ng-untouched",i._shouldForward("untouched"))("ng-touched",i._shouldForward("touched"))("ng-pristine",i._shouldForward("pristine"))("ng-dirty",i._shouldForward("dirty"))("ng-valid",i._shouldForward("valid"))("ng-invalid",i._shouldForward("invalid"))("ng-pending",i._shouldForward("pending"))},inputs:{hideRequiredMarker:"hideRequiredMarker",color:"color",floatLabel:"floatLabel",appearance:"appearance",subscriptSizing:"subscriptSizing",hintLabel:"hintLabel"},exportAs:["matFormField"],features:[Kt([{provide:q1,useExisting:n}])],ngContentSelectors:SW,decls:18,vars:23,consts:[["labelTemplate",""],[1,"mat-mdc-text-field-wrapper","mdc-text-field",3,"click"],["textField",""],["class","mat-mdc-form-field-focus-overlay",4,"ngIf"],[1,"mat-mdc-form-field-flex"],["matFormFieldNotchedOutline","",3,"matFormFieldNotchedOutlineOpen","matFormFieldNotchedOutlineLabelWidth",4,"ngIf"],["class","mat-mdc-form-field-icon-prefix",4,"ngIf"],["class","mat-mdc-form-field-text-prefix",4,"ngIf"],[1,"mat-mdc-form-field-infix"],[3,"ngIf"],["class","mat-mdc-form-field-text-suffix",4,"ngIf"],["class","mat-mdc-form-field-icon-suffix",4,"ngIf"],["matFormFieldLineRipple","",4,"ngIf"],[1,"mat-mdc-form-field-subscript-wrapper","mat-mdc-form-field-bottom-align",3,"ngSwitch"],["class","mat-mdc-form-field-error-wrapper",4,"ngSwitchCase"],["class","mat-mdc-form-field-hint-wrapper",4,"ngSwitchCase"],["matFormFieldFloatingLabel","",3,"floating","cdkObserveContentDisabled","id","cdkObserveContent",4,"ngIf"],["matFormFieldFloatingLabel","",3,"floating","cdkObserveContentDisabled","id","cdkObserveContent"],["aria-hidden","true","class","mat-mdc-form-field-required-marker mdc-floating-label--required",4,"ngIf"],["aria-hidden","true",1,"mat-mdc-form-field-required-marker","mdc-floating-label--required"],[1,"mat-mdc-form-field-focus-overlay"],["matFormFieldNotchedOutline","",3,"matFormFieldNotchedOutlineOpen","matFormFieldNotchedOutlineLabelWidth"],[3,"ngTemplateOutlet"],[1,"mat-mdc-form-field-icon-prefix"],["iconPrefixContainer",""],[1,"mat-mdc-form-field-text-prefix"],["textPrefixContainer",""],[1,"mat-mdc-form-field-text-suffix"],[1,"mat-mdc-form-field-icon-suffix"],["matFormFieldLineRipple",""],[1,"mat-mdc-form-field-error-wrapper"],[1,"mat-mdc-form-field-hint-wrapper"],[3,"id",4,"ngIf"],[1,"mat-mdc-form-field-hint-spacer"],[3,"id"]],template:function(e,i){1&e&&(_r(kW),j(0,dW,1,1,"ng-template",null,0,Ms),D(2,"div",1,2),ye("click",function(s){return i._control.onContainerClick&&i._control.onContainerClick(s)}),j(4,uW,1,0,"div",3),D(5,"div",4),j(6,pW,2,3,"div",5),j(7,mW,3,0,"div",6),j(8,_W,3,0,"div",7),D(9,"div",8),j(10,bW,1,1,"ng-template",9),vn(11),C(),j(12,vW,2,0,"div",10),j(13,yW,2,0,"div",11),C(),j(14,MW,1,0,"div",12),C(),D(15,"div",13),j(16,wW,2,1,"div",14),j(17,CW,5,2,"div",15),C()),2&e&&(d(2),Gt("mdc-text-field--filled",!i._hasOutline())("mdc-text-field--outlined",i._hasOutline())("mdc-text-field--no-label",!i._hasFloatingLabel())("mdc-text-field--disabled",i._control.disabled)("mdc-text-field--invalid",i._control.errorState),d(2),w("ngIf",!i._hasOutline()&&!i._control.disabled),d(2),w("ngIf",i._hasOutline()),d(1),w("ngIf",i._hasIconPrefix),d(1),w("ngIf",i._hasTextPrefix),d(2),w("ngIf",!i._hasOutline()||i._forceDisplayInfixLabel()),d(2),w("ngIf",i._hasTextSuffix),d(1),w("ngIf",i._hasIconSuffix),d(1),w("ngIf",!i._hasOutline()),d(1),Gt("mat-mdc-form-field-subscript-dynamic-size","dynamic"===i.subscriptSizing),w("ngSwitch",i._getDisplayedMessages()),d(1),w("ngSwitchCase","error"),d(1),w("ngSwitchCase","hint"))},dependencies:[Ot,Ad,Uh,Ty,K2,sI,aI,dI,cI],styles:['.mdc-text-field{border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:0;border-bottom-left-radius:0;display:inline-flex;align-items:baseline;padding:0 16px;position:relative;box-sizing:border-box;overflow:hidden;will-change:opacity,transform,color}.mdc-text-field .mdc-floating-label{top:50%;transform:translateY(-50%);pointer-events:none}.mdc-text-field__input{height:28px;width:100%;min-width:0;border:none;border-radius:0;background:none;appearance:none;padding:0}.mdc-text-field__input::-ms-clear{display:none}.mdc-text-field__input::-webkit-calendar-picker-indicator{display:none}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}@media all{.mdc-text-field__input::placeholder{opacity:0}}@media all{.mdc-text-field__input:-ms-input-placeholder{opacity:0}}@media all{.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{opacity:1}}@media all{.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{opacity:1}}.mdc-text-field__affix{height:28px;opacity:0;white-space:nowrap}.mdc-text-field--label-floating .mdc-text-field__affix,.mdc-text-field--no-label .mdc-text-field__affix{opacity:1}@supports(-webkit-hyphens: none){.mdc-text-field--outlined .mdc-text-field__affix{align-items:center;align-self:center;display:inline-flex;height:100%}}.mdc-text-field__affix--prefix{padding-left:0;padding-right:2px}[dir=rtl] .mdc-text-field__affix--prefix,.mdc-text-field__affix--prefix[dir=rtl]{padding-left:2px;padding-right:0}.mdc-text-field--end-aligned .mdc-text-field__affix--prefix{padding-left:0;padding-right:12px}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__affix--prefix,.mdc-text-field--end-aligned .mdc-text-field__affix--prefix[dir=rtl]{padding-left:12px;padding-right:0}.mdc-text-field__affix--suffix{padding-left:12px;padding-right:0}[dir=rtl] .mdc-text-field__affix--suffix,.mdc-text-field__affix--suffix[dir=rtl]{padding-left:0;padding-right:12px}.mdc-text-field--end-aligned .mdc-text-field__affix--suffix{padding-left:2px;padding-right:0}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__affix--suffix,.mdc-text-field--end-aligned .mdc-text-field__affix--suffix[dir=rtl]{padding-left:0;padding-right:2px}.mdc-text-field--filled{height:56px}.mdc-text-field--filled::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.mdc-text-field--filled .mdc-floating-label{left:16px;right:initial}[dir=rtl] .mdc-text-field--filled .mdc-floating-label,.mdc-text-field--filled .mdc-floating-label[dir=rtl]{left:initial;right:16px}.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{height:100%}.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label{display:none}.mdc-text-field--filled.mdc-text-field--no-label::before{display:none}@supports(-webkit-hyphens: none){.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__affix{align-items:center;align-self:center;display:inline-flex;height:100%}}.mdc-text-field--outlined{height:56px;overflow:visible}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1)}.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) scale(0.75)}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--outlined .mdc-text-field__input{height:100%}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--mdc-shape-small, 4px)}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-top-left-radius:0;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px, var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{max-width:calc(100% - max(12px, var(--mdc-shape-small, 4px))*2)}}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-top-left-radius:0;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--mdc-shape-small, 4px)}@supports(top: max(0%)){.mdc-text-field--outlined{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined{padding-right:max(16px, var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-right:max(16px, var(--mdc-shape-small, 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-left:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-right:max(16px, var(--mdc-shape-small, 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-right:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:max(16px, var(--mdc-shape-small, 4px))}}.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-right:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-right:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:1px}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:initial}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:4px}.mdc-text-field--outlined .mdc-text-field__input{display:flex;border:none !important;background-color:rgba(0,0,0,0)}.mdc-text-field--outlined .mdc-notched-outline{z-index:1}.mdc-text-field--textarea{flex-direction:column;align-items:center;width:auto;height:auto;padding:0}.mdc-text-field--textarea .mdc-floating-label{top:19px}.mdc-text-field--textarea .mdc-floating-label:not(.mdc-floating-label--float-above){transform:none}.mdc-text-field--textarea .mdc-text-field__input{flex-grow:1;height:auto;min-height:1.5rem;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;resize:none;padding:0 16px}.mdc-text-field--textarea.mdc-text-field--filled::before{display:none}.mdc-text-field--textarea.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-10.25px) scale(0.75)}.mdc-text-field--textarea.mdc-text-field--filled .mdc-text-field__input{margin-top:23px;margin-bottom:9px}.mdc-text-field--textarea.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{margin-top:16px;margin-bottom:16px}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-27.25px) scale(1)}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-24.75px) scale(0.75)}.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-text-field__input{margin-top:16px;margin-bottom:16px}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label{top:18px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field__input{margin-bottom:2px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter{align-self:flex-end;padding:0 16px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter::after{display:inline-block;width:0;height:16px;content:"";vertical-align:-16px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter::before{display:none}.mdc-text-field__resizer{align-self:stretch;display:inline-flex;flex-direction:column;flex-grow:1;max-height:100%;max-width:100%;min-height:56px;min-width:fit-content;min-width:-moz-available;min-width:-webkit-fill-available;overflow:hidden;resize:both}.mdc-text-field--filled .mdc-text-field__resizer{transform:translateY(-1px)}.mdc-text-field--filled .mdc-text-field__resizer .mdc-text-field__input,.mdc-text-field--filled .mdc-text-field__resizer .mdc-text-field-character-counter{transform:translateY(1px)}.mdc-text-field--outlined .mdc-text-field__resizer{transform:translateX(-1px) translateY(-1px)}[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer,.mdc-text-field--outlined .mdc-text-field__resizer[dir=rtl]{transform:translateX(1px) translateY(-1px)}.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input,.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter{transform:translateX(1px) translateY(1px)}[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input,[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter,.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input[dir=rtl],.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter[dir=rtl]{transform:translateX(-1px) translateY(1px)}.mdc-text-field--with-leading-icon{padding-left:0;padding-right:16px}[dir=rtl] .mdc-text-field--with-leading-icon,.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:16px;padding-right:0}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 48px);left:48px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label[dir=rtl]{left:initial;right:48px}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 64px / 0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label{left:36px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:36px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) translateX(-32px) scale(1)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-37.25px) translateX(32px) scale(1)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) translateX(-32px) scale(0.75)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-34.75px) translateX(32px) scale(0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--with-trailing-icon{padding-left:16px;padding-right:0}[dir=rtl] .mdc-text-field--with-trailing-icon,.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0;padding-right:16px}.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 64px)}.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 64px / 0.75)}.mdc-text-field--with-trailing-icon.mdc-text-field--outlined :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 96px)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 96px / 0.75)}.mdc-text-field-helper-line{display:flex;justify-content:space-between;box-sizing:border-box}.mdc-text-field+.mdc-text-field-helper-line{padding-right:16px;padding-left:16px}.mdc-form-field>.mdc-text-field+label{align-self:flex-start}.mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--focused .mdc-notched-outline__trailing{border-width:2px}.mdc-text-field--focused+.mdc-text-field-helper-line .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg){opacity:1}.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:2px}.mdc-text-field--focused.mdc-text-field--outlined.mdc-text-field--textarea .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0}.mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{opacity:1}.mdc-text-field--disabled{pointer-events:none}@media screen and (forced-colors: active){.mdc-text-field--disabled .mdc-text-field__input{background-color:Window}.mdc-text-field--disabled .mdc-floating-label{z-index:1}}.mdc-text-field--disabled .mdc-floating-label{cursor:default}.mdc-text-field--disabled.mdc-text-field--filled .mdc-text-field__ripple{display:none}.mdc-text-field--disabled .mdc-text-field__input{pointer-events:auto}.mdc-text-field--end-aligned .mdc-text-field__input{text-align:right}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__input,.mdc-text-field--end-aligned .mdc-text-field__input[dir=rtl]{text-align:left}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__input,[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__input,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix{direction:ltr}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--prefix{padding-left:0;padding-right:2px}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--suffix{padding-left:12px;padding-right:0}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__icon--leading,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__icon--leading{order:1}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--suffix{order:2}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__input,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__input{order:3}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--prefix{order:4}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__icon--trailing,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__icon--trailing{order:5}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__input,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__input{text-align:right}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__affix--prefix{padding-right:12px}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__affix--suffix{padding-left:2px}.mdc-floating-label{position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform}[dir=rtl] .mdc-floating-label,.mdc-floating-label[dir=rtl]{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.mdc-floating-label--float-above{cursor:auto}.mdc-floating-label--required::after{margin-left:1px;margin-right:0px;content:"*"}[dir=rtl] .mdc-floating-label--required::after,.mdc-floating-label--required[dir=rtl]::after{margin-left:0;margin-right:1px}.mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline,.mdc-notched-outline[dir=rtl]{text-align:right}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{box-sizing:border-box;height:100%;border-top:1px solid;border-bottom:1px solid;pointer-events:none}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;width:12px}[dir=rtl] .mdc-notched-outline__leading,.mdc-notched-outline__leading[dir=rtl]{border-left:none;border-right:1px solid}.mdc-notched-outline__trailing{border-left:none;border-right:1px solid;flex-grow:1}[dir=rtl] .mdc-notched-outline__trailing,.mdc-notched-outline__trailing[dir=rtl]{border-left:1px solid;border-right:none}.mdc-notched-outline__notch{flex:0 0 auto;width:auto;max-width:calc(100% - 12px * 2)}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:133.3333333333%}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch,.mdc-notched-outline--notched .mdc-notched-outline__notch[dir=rtl]{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}.mdc-line-ripple::before,.mdc-line-ripple::after{position:absolute;bottom:0;left:0;width:100%;border-bottom-style:solid;content:""}.mdc-line-ripple::before{border-bottom-width:1px}.mdc-line-ripple::after{border-bottom-width:2px}.mdc-line-ripple::before{z-index:1}.mdc-line-ripple::after{transform:scaleX(0);opacity:0;z-index:2}.mdc-line-ripple--active::after{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating::after{opacity:0}.mat-mdc-form-field-textarea-control{vertical-align:middle;resize:vertical;box-sizing:border-box;height:auto;margin:0;padding:0;border:none;overflow:auto}.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{font:inherit;letter-spacing:inherit;text-decoration:inherit;text-transform:inherit;border:none}.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label{line-height:normal;pointer-events:all}.mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input,.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control{height:auto}.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control.mdc-text-field__input[type=color]{height:23px}.mat-mdc-text-field-wrapper{height:auto;flex:auto}.mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-left:0;--mat-mdc-form-field-label-offset-x: -16px}.mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-right:0}[dir=rtl] .mat-mdc-text-field-wrapper{padding-left:16px;padding-right:16px}[dir=rtl] .mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-left:0}[dir=rtl] .mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-right:0}.mat-mdc-form-field-label-always-float .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}.mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .mat-mdc-floating-label{left:auto;right:auto}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input{display:inline-block}.mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field .mdc-notched-outline__notch{padding-top:0}.mat-mdc-text-field-wrapper::before{content:none}.mat-mdc-form-field-subscript-wrapper{box-sizing:border-box;width:100%;position:relative}.mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-error-wrapper{position:absolute;top:0;left:0;right:0;padding:0 16px}.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-error-wrapper{position:static}.mat-mdc-form-field-bottom-align::before{content:"";display:inline-block;height:16px}.mat-mdc-form-field-bottom-align.mat-mdc-form-field-subscript-dynamic-size::before{content:unset}.mat-mdc-form-field-hint-end{order:1}.mat-mdc-form-field-hint-wrapper{display:flex}.mat-mdc-form-field-hint-spacer{flex:1 0 1em}.mat-mdc-form-field-error{display:block}.mat-mdc-form-field-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;opacity:0;pointer-events:none}select.mat-mdc-form-field-input-control{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(0,0,0,0);display:inline-flex;box-sizing:border-box}select.mat-mdc-form-field-input-control:not(:disabled){cursor:pointer}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{content:"";width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;position:absolute;right:0;top:50%;margin-top:-2.5px;pointer-events:none}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{right:auto;left:0}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:15px}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:0;padding-left:15px}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-mdc-text-field-wrapper{outline:solid 1px}.cdk-high-contrast-active .mat-form-field-appearance-fill.mat-form-field-disabled .mat-mdc-text-field-wrapper{outline-color:GrayText}.cdk-high-contrast-active .mat-form-field-appearance-fill.mat-focused .mat-mdc-text-field-wrapper{outline:dashed 3px}.cdk-high-contrast-active .mat-mdc-form-field.mat-focused .mdc-notched-outline{border:dashed 3px}.mat-mdc-form-field{--mat-mdc-form-field-floating-label-scale: 0.75;display:inline-flex;flex-direction:column;min-width:0;text-align:left}[dir=rtl] .mat-mdc-form-field{text-align:right}.mat-mdc-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-mdc-text-field-wrapper{width:100%}.mat-mdc-form-field-icon-prefix,.mat-mdc-form-field-icon-suffix{align-self:center;line-height:0;pointer-events:auto}.mat-mdc-form-field-icon-prefix,[dir=rtl] .mat-mdc-form-field-icon-suffix{padding:0 4px 0 0}.mat-mdc-form-field-icon-suffix,[dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 0 0 4px}.mat-mdc-form-field-icon-prefix>.mat-icon,.mat-mdc-form-field-icon-suffix>.mat-icon{padding:12px;box-sizing:content-box}.mat-mdc-form-field-subscript-wrapper .mat-icon,.mat-mdc-form-field label .mat-icon{width:1em;height:1em;font-size:inherit}.mat-mdc-form-field-infix{flex:auto;min-width:0;width:180px;position:relative;box-sizing:border-box}.mat-mdc-form-field .mdc-notched-outline__notch{margin-left:-1px;-webkit-clip-path:inset(-9em -999em -9em 1px);clip-path:inset(-9em -999em -9em 1px)}[dir=rtl] .mat-mdc-form-field .mdc-notched-outline__notch{margin-left:0;margin-right:-1px;-webkit-clip-path:inset(-9em 1px -9em -999em);clip-path:inset(-9em 1px -9em -999em)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input{transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}@media all{.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder{transition:opacity 67ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}}@media all{.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder{transition:opacity 67ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}}@media all{.mdc-text-field--no-label .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder,.mdc-text-field--focused .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms}}@media all{.mdc-text-field--no-label .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder{transition-delay:40ms;transition-duration:110ms}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__affix{transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--filled.mdc-ripple-upgraded--background-focused .mdc-text-field__ripple::before,.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before{transition-duration:75ms}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined{0%{transform:translateX(calc(0 - 0%)) translateY(-34.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-34.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-34.75px) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-34.75px) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea{transition:none}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea.mdc-text-field--filled .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-textarea-filled 250ms 1}@keyframes mdc-floating-label-shake-float-above-textarea-filled{0%{transform:translateX(calc(0 - 0%)) translateY(-10.25px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-10.25px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-10.25px) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-10.25px) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-textarea-outlined 250ms 1}@keyframes mdc-floating-label-shake-float-above-textarea-outlined{0%{transform:translateX(calc(0 - 0%)) translateY(-24.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-24.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-24.75px) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-24.75px) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon{0%{transform:translateX(calc(0 - 32px)) translateY(-34.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 32px)) translateY(-34.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 32px)) translateY(-34.75px) scale(0.75)}100%{transform:translateX(calc(0 - 32px)) translateY(-34.75px) scale(0.75)}}[dir=rtl] .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake,.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined[dir=rtl] .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl{0%{transform:translateX(calc(0 - -32px)) translateY(-34.75px) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - -32px)) translateY(-34.75px) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - -32px)) translateY(-34.75px) scale(0.75)}100%{transform:translateX(calc(0 - -32px)) translateY(-34.75px) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-floating-label{transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-standard 250ms 1}@keyframes mdc-floating-label-shake-float-above-standard{0%{transform:translateX(calc(0 - 0%)) translateY(-106%) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(-106%) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(-106%) scale(0.75)}100%{transform:translateX(calc(0 - 0%)) translateY(-106%) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-line-ripple::after{transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}'],encapsulation:2,data:{animation:[PW.transitionMessages]},changeDetection:0}),n})(),Ig=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[Hn,na,l1,Hn]}),n})();const pI=Ja({passive:!0});let RW=(()=>{class n{constructor(e,i){this._platform=e,this._ngZone=i,this._monitoredElements=new Map}monitor(e){if(!this._platform.isBrowser)return Ga;const i=la(e),o=this._monitoredElements.get(i);if(o)return o.subject;const s=new X,a="cdk-text-field-autofilled",l=c=>{"cdk-text-field-autofill-start"!==c.animationName||i.classList.contains(a)?"cdk-text-field-autofill-end"===c.animationName&&i.classList.contains(a)&&(i.classList.remove(a),this._ngZone.run(()=>s.next({target:c.target,isAutofilled:!1}))):(i.classList.add(a),this._ngZone.run(()=>s.next({target:c.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{i.addEventListener("animationstart",l,pI),i.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(i,{subject:s,unlisten:()=>{i.removeEventListener("animationstart",l,pI)}}),s}stopMonitoring(e){const i=la(e),o=this._monitoredElements.get(i);o&&(o.unlisten(),o.subject.complete(),i.classList.remove("cdk-text-field-autofill-monitored"),i.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(i))}ngOnDestroy(){this._monitoredElements.forEach((e,i)=>this.stopMonitoring(i))}}return n.\u0275fac=function(e){return new(e||n)(we(hi),we(pt))},n.\u0275prov=Ye({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),NW=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({}),n})();const YW=new Be("MAT_INPUT_VALUE_ACCESSOR"),BW=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let HW=0;const VW=_L(class{constructor(n,t,e,i){this._defaultErrorStateMatcher=n,this._parentForm=t,this._parentFormGroup=e,this.ngControl=i,this.stateChanges=new X}});let Cr=(()=>{class n extends VW{constructor(e,i,o,s,a,l,c,M,P,Y){super(l,s,a,o),this._elementRef=e,this._platform=i,this._autofillMonitor=M,this._formField=Y,this._uid="mat-input-"+HW++,this.focused=!1,this.stateChanges=new X,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(fe=>P2().has(fe)),this._iOSKeyupListener=fe=>{const ke=fe.target;!ke.value&&0===ke.selectionStart&&0===ke.selectionEnd&&(ke.setSelectionRange(1,1),ke.setSelectionRange(0,0))};const q=this._elementRef.nativeElement,te=q.nodeName.toLowerCase();this._inputValueAccessor=c||q,this._previousNativeValue=this.value,this.id=this.id,i.IOS&&P.runOutsideAngular(()=>{e.nativeElement.addEventListener("keyup",this._iOSKeyupListener)}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===te,this._isTextarea="textarea"===te,this._isInFormField=!!Y,this._isNativeSelect&&(this.controlType=q.multiple?"mat-native-select-multiple":"mat-native-select")}get disabled(){return this._disabled}set disabled(e){this._disabled=hn(e),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(e){this._id=e||this._uid}get required(){return this._required??this.ngControl?.control?.hasValidator(Vt.required)??!1}set required(e){this._required=hn(e)}get type(){return this._type}set type(e){this._type=e||"text",this._validateType(),!this._isTextarea&&P2().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(e){e!==this.value&&(this._inputValueAccessor.value=e,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(e){this._readonly=hn(e)}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(e=>{this.autofilled=e.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._platform.IOS&&this._elementRef.nativeElement.removeEventListener("keyup",this._iOSKeyupListener)}ngDoCheck(){this.ngControl&&(this.updateErrorState(),null!==this.ngControl.disabled&&this.ngControl.disabled!==this.disabled&&(this.disabled=this.ngControl.disabled,this.stateChanges.next())),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(e){this._elementRef.nativeElement.focus(e)}_focusChanged(e){e!==this.focused&&(this.focused=e,this.stateChanges.next())}_onInput(){}_dirtyCheckNativeValue(){const e=this._elementRef.nativeElement.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this.stateChanges.next())}_dirtyCheckPlaceholder(){const e=this._getPlaceholder();if(e!==this._previousPlaceholder){const i=this._elementRef.nativeElement;this._previousPlaceholder=e,e?i.setAttribute("placeholder",e):i.removeAttribute("placeholder")}}_getPlaceholder(){return this.placeholder||null}_validateType(){BW.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let e=this._elementRef.nativeElement.validity;return e&&e.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const e=this._elementRef.nativeElement,i=e.options[0];return this.focused||e.multiple||!this.empty||!!(e.selectedIndex>-1&&i&&i.label)}return this.focused||!this.empty}setDescribedByIds(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){const e=this._elementRef.nativeElement;return this._isNativeSelect&&(e.multiple||e.size>1)}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(hi),F(Ps,10),F(Wf,8),F(ni,8),F(y1),F(YW,10),F(RW),F(pt),F(q1,8))},n.\u0275dir=Ke({type:n,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-mdc-input-element"],hostVars:18,hostBindings:function(e,i){1&e&&ye("focus",function(){return i._focusChanged(!0)})("blur",function(){return i._focusChanged(!1)})("input",function(){return i._onInput()}),2&e&&(Qs("id",i.id)("disabled",i.disabled)("required",i.required),Ut("name",i.name||null)("readonly",i.readonly&&!i._isNativeSelect||null)("aria-invalid",i.empty&&i.required?null:i.errorState)("aria-required",i.required)("id",i.id),Gt("mat-input-server",i._isServer)("mat-mdc-form-field-textarea-control",i._isInFormField&&i._isTextarea)("mat-mdc-form-field-input-control",i._isInFormField)("mdc-text-field__input",i._isInFormField)("mat-mdc-native-select-inline",i._isInlineSelect()))},inputs:{disabled:"disabled",id:"id",placeholder:"placeholder",name:"name",required:"required",type:"type",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly"},exportAs:["matInput"],features:[Kt([{provide:G1,useExisting:n}]),dt,Gi]}),n})(),jW=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[Hn,Ig,Ig,NW,Hn]}),n})();const zW=["tooltip"],mI=new Be("mat-tooltip-scroll-strategy"),$W={provide:mI,deps:[to],useFactory:function WW(n){return()=>n.scrollStrategies.reposition({scrollThrottle:20})}},qW=new Be("mat-tooltip-default-options",{providedIn:"root",factory:function GW(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}}),_I="tooltip-panel",gI=Ja({passive:!0});let e$=(()=>{class n{constructor(e,i,o,s,a,l,c,M,P,Y,q,te){this._overlay=e,this._elementRef=i,this._scrollDispatcher=o,this._viewContainerRef=s,this._ngZone=a,this._platform=l,this._ariaDescriber=c,this._focusMonitor=M,this._dir=Y,this._defaultOptions=q,this._position="below",this._positionAtOrigin=!1,this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this._showDelay=this._defaultOptions.showDelay,this._hideDelay=this._defaultOptions.hideDelay,this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new X,this._scrollStrategy=P,this._document=te,q&&(q.position&&(this.position=q.position),q.positionAtOrigin&&(this.positionAtOrigin=q.positionAtOrigin),q.touchGestures&&(this.touchGestures=q.touchGestures)),Y.change.pipe(xn(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})}get position(){return this._position}set position(e){e!==this._position&&(this._position=e,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(e){this._positionAtOrigin=hn(e),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(e){this._disabled=hn(e),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get showDelay(){return this._showDelay}set showDelay(e){this._showDelay=vo(e)}get hideDelay(){return this._hideDelay}set hideDelay(e){this._hideDelay=vo(e),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}get message(){return this._message}set message(e){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=e?String(e).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(e){this._tooltipClass=e,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(xn(this._destroyed)).subscribe(e=>{e?"keyboard"===e&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const e=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([i,o])=>{e.removeEventListener(i,o,gI)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(e,this.message,"tooltip"),this._focusMonitor.stopMonitoring(e)}show(e=this.showDelay,i){if(this.disabled||!this.message||this._isTooltipVisible())return void this._tooltipInstance?._cancelPendingAnimations();const o=this._createOverlay(i);this._detach(),this._portal=this._portal||new Zd(this._tooltipComponent,this._viewContainerRef);const s=this._tooltipInstance=o.attach(this._portal).instance;s._triggerElement=this._elementRef.nativeElement,s._mouseLeaveHideDelay=this._hideDelay,s.afterHidden().pipe(xn(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),s.show(e)}hide(e=this.hideDelay){const i=this._tooltipInstance;i&&(i.isVisible()?i.hide(e):(i._cancelPendingAnimations(),this._detach()))}toggle(e){this._isTooltipVisible()?this.hide():this.show(void 0,e)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(e){if(this._overlayRef){const s=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!e)&&s._origin instanceof bt)return this._overlayRef;this._detach()}const i=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),o=this._overlay.position().flexibleConnectedTo(this.positionAtOrigin&&e||this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(i);return o.positionChanges.pipe(xn(this._destroyed)).subscribe(s=>{this._updateCurrentPositionClass(s.connectionPair),this._tooltipInstance&&s.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:o,panelClass:`${this._cssClassPrefix}-${_I}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(xn(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(xn(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe(xn(this._destroyed)).subscribe(s=>{this._isTooltipVisible()&&27===s.keyCode&&!Ds(s)&&(s.preventDefault(),s.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(e){const i=e.getConfig().positionStrategy,o=this._getOrigin(),s=this._getOverlayPosition();i.withPositions([this._addOffset({...o.main,...s.main}),this._addOffset({...o.fallback,...s.fallback})])}_addOffset(e){return e}_getOrigin(){const e=!this._dir||"ltr"==this._dir.value,i=this.position;let o;"above"==i||"below"==i?o={originX:"center",originY:"above"==i?"top":"bottom"}:"before"==i||"left"==i&&e||"right"==i&&!e?o={originX:"start",originY:"center"}:("after"==i||"right"==i&&e||"left"==i&&!e)&&(o={originX:"end",originY:"center"});const{x:s,y:a}=this._invertPosition(o.originX,o.originY);return{main:o,fallback:{originX:s,originY:a}}}_getOverlayPosition(){const e=!this._dir||"ltr"==this._dir.value,i=this.position;let o;"above"==i?o={overlayX:"center",overlayY:"bottom"}:"below"==i?o={overlayX:"center",overlayY:"top"}:"before"==i||"left"==i&&e||"right"==i&&!e?o={overlayX:"end",overlayY:"center"}:("after"==i||"right"==i&&e||"left"==i&&!e)&&(o={overlayX:"start",overlayY:"center"});const{x:s,y:a}=this._invertPosition(o.overlayX,o.overlayY);return{main:o,fallback:{overlayX:s,overlayY:a}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(ei(1),xn(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(e){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=e,this._tooltipInstance._markForCheck())}_invertPosition(e,i){return"above"===this.position||"below"===this.position?"top"===i?i="bottom":"bottom"===i&&(i="top"):"end"===e?e="start":"start"===e&&(e="end"),{x:e,y:i}}_updateCurrentPositionClass(e){const{overlayY:i,originX:o,originY:s}=e;let a;if(a="center"===i?this._dir&&"rtl"===this._dir.value?"end"===o?"left":"right":"start"===o?"left":"right":"bottom"===i&&"top"===s?"above":"below",a!==this._currentPosition){const l=this._overlayRef;if(l){const c=`${this._cssClassPrefix}-${_I}-`;l.removePanelClass(c+this._currentPosition),l.addPanelClass(c+a)}this._currentPosition=a}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",e=>{let i;this._setupPointerExitEventsIfNeeded(),void 0!==e.x&&void 0!==e.y&&(i=e),this.show(void 0,i)}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",e=>{const i=e.targetTouches?.[0],o=i?{x:i.clientX,y:i.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(void 0,o),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const e=[];if(this._platformSupportsMouseEvents())e.push(["mouseleave",i=>{const o=i.relatedTarget;(!o||!this._overlayRef?.overlayElement.contains(o))&&this.hide()}],["wheel",i=>this._wheelListener(i)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const i=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};e.push(["touchend",i],["touchcancel",i])}this._addListeners(e),this._passiveListeners.push(...e)}_addListeners(e){e.forEach(([i,o])=>{this._elementRef.nativeElement.addEventListener(i,o,gI)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(e){if(this._isTooltipVisible()){const i=this._document.elementFromPoint(e.clientX,e.clientY),o=this._elementRef.nativeElement;i!==o&&!o.contains(i)&&this.hide()}}_disableNativeGesturesIfNecessary(){const e=this.touchGestures;if("off"!==e){const i=this._elementRef.nativeElement,o=i.style;("on"===e||"INPUT"!==i.nodeName&&"TEXTAREA"!==i.nodeName)&&(o.userSelect=o.msUserSelect=o.webkitUserSelect=o.MozUserSelect="none"),("on"===e||!i.draggable)&&(o.webkitUserDrag="none"),o.touchAction="none",o.webkitTapHighlightColor="transparent"}}}return n.\u0275fac=function(e){Ya()},n.\u0275dir=Ke({type:n,inputs:{position:["matTooltipPosition","position"],positionAtOrigin:["matTooltipPositionAtOrigin","positionAtOrigin"],disabled:["matTooltipDisabled","disabled"],showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),n})(),gi=(()=>{class n extends e${constructor(e,i,o,s,a,l,c,M,P,Y,q,te){super(e,i,o,s,a,l,c,M,P,Y,q,te),this._tooltipComponent=n$,this._cssClassPrefix="mat-mdc",this._viewportMargin=8}_addOffset(e){const o=!this._dir||"ltr"==this._dir.value;return"top"===e.originY?e.offsetY=-8:"bottom"===e.originY?e.offsetY=8:"start"===e.originX?e.offsetX=o?-8:8:"end"===e.originX&&(e.offsetX=o?8:-8),e}}return n.\u0275fac=function(e){return new(e||n)(F(to),F(bt),F(Cf),F(Xi),F(pt),F(hi),F(Q7),F(nl),F(mI),F(Pr,8),F(qW,8),F(St))},n.\u0275dir=Ke({type:n,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],exportAs:["matTooltip"],features:[dt]}),n})(),t$=(()=>{class n{constructor(e,i){this._changeDetectorRef=e,this._closeOnInteraction=!1,this._isVisible=!1,this._onHide=new X,this._animationsDisabled="NoopAnimations"===i}show(e){clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},e)}hide(e){clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},e)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget:e}){(!e||!this._triggerElement.contains(e))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){}_handleAnimationEnd({animationName:e}){(e===this._showAnimation||e===this._hideAnimation)&&this._finalizeAnimation(e===this._showAnimation)}_cancelPendingAnimations(){clearTimeout(this._showTimeoutId),clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(e){e?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(e){const i=this._tooltip.nativeElement,o=this._showAnimation,s=this._hideAnimation;if(i.classList.remove(e?s:o),i.classList.add(e?o:s),this._isVisible=e,e&&!this._animationsDisabled&&"function"==typeof getComputedStyle){const a=getComputedStyle(i);("0s"===a.getPropertyValue("animation-duration")||"none"===a.getPropertyValue("animation-name"))&&(this._animationsDisabled=!0)}e&&this._onShow(),this._animationsDisabled&&(i.classList.add("_mat-animation-noopable"),this._finalizeAnimation(e))}}return n.\u0275fac=function(e){return new(e||n)(F(di),F(Vi,8))},n.\u0275dir=Ke({type:n}),n})(),n$=(()=>{class n extends t${constructor(e,i,o){super(e,o),this._elementRef=i,this._isMultiline=!1,this._showAnimation="mat-mdc-tooltip-show",this._hideAnimation="mat-mdc-tooltip-hide"}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck()}_isTooltipMultiline(){const e=this._elementRef.nativeElement.getBoundingClientRect();return e.height>24&&e.width>=200}}return n.\u0275fac=function(e){return new(e||n)(F(di),F(bt),F(Vi,8))},n.\u0275cmp=qe({type:n,selectors:[["mat-tooltip-component"]],viewQuery:function(e,i){if(1&e&&ft(zW,7),2&e){let o;nt(o=it())&&(i._tooltip=o.first)}},hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(e,i){1&e&&ye("mouseleave",function(s){return i._handleMouseLeave(s)}),2&e&&Ha("zoom",i.isVisible()?1:null)},features:[dt],decls:4,vars:4,consts:[[1,"mdc-tooltip","mdc-tooltip--shown","mat-mdc-tooltip",3,"ngClass","animationend"],["tooltip",""],[1,"mdc-tooltip__surface","mdc-tooltip__surface-animation"]],template:function(e,i){1&e&&(D(0,"div",0,1),ye("animationend",function(s){return i._handleAnimationEnd(s)}),D(2,"div",2),I(3),C()()),2&e&&(Gt("mdc-tooltip--multiline",i._isMultiline),w("ngClass",i.tooltipClass),d(3),oe(i.message))},dependencies:[On],styles:['.mdc-tooltip__surface{word-break:var(--mdc-tooltip-word-break, normal);overflow-wrap:anywhere}.mdc-tooltip{position:fixed;display:none;z-index:9}.mdc-tooltip-wrapper--rich{position:relative}.mdc-tooltip--shown,.mdc-tooltip--showing,.mdc-tooltip--hide{display:inline-flex}.mdc-tooltip--shown.mdc-tooltip--rich,.mdc-tooltip--showing.mdc-tooltip--rich,.mdc-tooltip--hide.mdc-tooltip--rich{display:inline-block;left:-320px;position:absolute}.mdc-tooltip__surface{line-height:16px;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center}.mdc-tooltip__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-tooltip__surface::before{border-color:CanvasText}}.mdc-tooltip--rich .mdc-tooltip__surface{align-items:flex-start;display:flex;flex-direction:column;min-height:24px;min-width:40px;max-width:320px;position:relative}.mdc-tooltip--multiline .mdc-tooltip__surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mdc-tooltip__surface,.mdc-tooltip--multiline .mdc-tooltip__surface[dir=rtl]{text-align:right}.mdc-tooltip__surface .mdc-tooltip__title{margin:0 8px}.mdc-tooltip__surface .mdc-tooltip__content{max-width:calc(200px - (2 * 8px));margin:8px;text-align:left}[dir=rtl] .mdc-tooltip__surface .mdc-tooltip__content,.mdc-tooltip__surface .mdc-tooltip__content[dir=rtl]{text-align:right}.mdc-tooltip--rich .mdc-tooltip__surface .mdc-tooltip__content{max-width:calc(320px - (2 * 8px));align-self:stretch}.mdc-tooltip__surface .mdc-tooltip__content-link{text-decoration:none}.mdc-tooltip--rich-actions,.mdc-tooltip__content,.mdc-tooltip__title{z-index:1}.mdc-tooltip__surface-animation{opacity:0;transform:scale(0.8);will-change:transform,opacity}.mdc-tooltip--shown .mdc-tooltip__surface-animation{transform:scale(1);opacity:1}.mdc-tooltip--hide .mdc-tooltip__surface-animation{transform:scale(1)}.mdc-tooltip__caret-surface-top,.mdc-tooltip__caret-surface-bottom{position:absolute;height:24px;width:24px;transform:rotate(35deg) skewY(20deg) scaleX(0.9396926208)}.mdc-tooltip__caret-surface-top .mdc-elevation-overlay,.mdc-tooltip__caret-surface-bottom .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-tooltip__caret-surface-bottom{outline:1px solid rgba(0,0,0,0);z-index:-1}@media screen and (forced-colors: active){.mdc-tooltip__caret-surface-bottom{outline-color:CanvasText}}.mdc-tooltip__surface{background-color:var(--mdc-plain-tooltip-container-color, #fff)}.mdc-tooltip__surface{border-radius:var(--mdc-plain-tooltip-container-shape, var(--mdc-shape-small, 4px))}.mdc-tooltip__caret-surface-top,.mdc-tooltip__caret-surface-bottom{border-radius:var(--mdc-plain-tooltip-container-shape, var(--mdc-shape-small, 4px))}.mdc-tooltip__surface{color:var(--mdc-plain-tooltip-supporting-text-color, #000)}.mdc-tooltip__surface{font-family:var(--mdc-plain-tooltip-supporting-text-font, inherit);font-size:var(--mdc-plain-tooltip-supporting-text-size, inherit);font-weight:var(--mdc-plain-tooltip-supporting-text-weight, inherit);letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking, inherit)}.mat-mdc-tooltip{position:relative;transform:scale(0)}.mat-mdc-tooltip::before{content:"";top:-8px;right:-8px;bottom:-8px;left:-8px;z-index:-1;position:absolute}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards}'],encapsulation:2,changeDetection:0}),n})(),i$=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({providers:[$W],imports:[g1,na,Qd,Hn,Hn,kf]}),n})();const r$=["button1"],o$=["button2"];function s$(n,t){1&n&&xe(0,"mat-spinner",5),2&n&&w("diameter",z().loadingSize)}function a$(n,t){1&n&&(D(0,"mat-icon"),I(1,"error_outline"),C())}const l$=function(n){return{"for-dark-background":n}};var ua=(()=>(function(n){n[n.Normal=0]="Normal",n[n.Error=1]="Error",n[n.Loading=2]="Loading"}(ua||(ua={})),ua))();class ii{constructor(){this.forDarkBackground=!1,this.disabled=!1,this.color="",this.loadingSize=20,this.action=new ht,this.state=ua.Normal,this.buttonStates=ua}ngOnDestroy(){this.action.complete()}click(){this.disabled||(this.reset(),this.action.emit())}reset(t=!0){this.state=ua.Normal,t&&(this.disabled=!1)}focus(){this.button1&&this.button1.focus(),this.button2&&this.button2.focus()}showEnabled(){this.disabled=!1}showDisabled(){this.disabled=!0}showLoading(t=!0){this.state=ua.Loading,t&&(this.disabled=!0)}showError(t=!0){this.state=ua.Error,t&&(this.disabled=!1)}get isLoading(){return this.state===ua.Loading}}ii.\u0275fac=function(t){return new(t||ii)},ii.\u0275cmp=qe({type:ii,selectors:[["app-button"]],viewQuery:function(t,e){if(1&t&&(ft(r$,5),ft(o$,5)),2&t){let i;nt(i=it())&&(e.button1=i.first),nt(i=it())&&(e.button2=i.first)}},inputs:{forDarkBackground:"forDarkBackground",disabled:"disabled",color:"color",loadingSize:"loadingSize"},outputs:{action:"action"},ngContentSelectors:["*"],decls:6,vars:7,consts:[["mat-raised-button","",3,"disabled","color","ngClass","click"],["button2",""],[1,"d-flex"],[3,"diameter",4,"ngIf"],[4,"ngIf"],[3,"diameter"]],template:function(t,e){1&t&&(_r(),D(0,"button",0,1),ye("click",function(){return e.click()}),D(2,"div",2),j(3,s$,1,1,"mat-spinner",3),j(4,a$,2,0,"mat-icon",4),vn(5),C()()),2&t&&(w("disabled",e.disabled)("color",e.color)("ngClass",Ve(5,l$,e.forDarkBackground)),d(3),w("ngIf",e.state===e.buttonStates.Loading),d(1),w("ngIf",e.state===e.buttonStates.Error))},dependencies:[On,Ot,Wr,Cn,rc],styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], button[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}button[_ngcontent-%COMP%]{color:#f8f9f9;border-radius:10px}button[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}mat-icon[_ngcontent-%COMP%], mat-spinner[_ngcontent-%COMP%]{display:inline-block;margin-right:15px}.for-dark-background[_ngcontent-%COMP%]:disabled{background-color:#000!important;color:#fff!important;opacity:.3}"]});const d$=["button"],u$=["firstInput"],h$=function(n){return{"element-disabled":n}};function f$(n,t){if(1&n&&(D(0,"mat-form-field",12)(1,"div",5)(2,"label",6),I(3),R(4,"translate"),C(),xe(5,"input",13),C(),D(6,"mat-error")(7,"span"),I(8),R(9,"translate"),C()()()),2&n){const e=z();w("ngClass",Ve(7,h$,e.working)),d(3),oe(B(4,3,"settings.password.old-password")),d(5),oe(B(9,5,"settings.password.errors.old-password-required"))}}const p$=function(n){return{"rounded-elevated-box":n}},bI=function(n,t){return{"white-form-field":n,"element-disabled":t}},m$=function(n,t){return{"mt-2 app-button":n,"float-right":t}};class uu{constructor(t,e,i,o){this.authService=t,this.router=e,this.snackbarService=i,this.dialog=o,this.workingState=new ht,this.forInitialConfig=!1}ngOnInit(){this.form=new TE({oldPassword:new Lg("",this.forInitialConfig?null:Vt.required),newPassword:new Lg("",Vt.compose([Vt.required,Vt.minLength(6),Vt.maxLength(64)])),newPasswordConfirmation:new Lg("",[Vt.required,this.validatePasswords.bind(this)])}),this.formSubscription=this.form.controls.newPassword.valueChanges.subscribe(()=>this.form.controls.newPasswordConfirmation.updateValueAndValidity())}ngAfterViewInit(){this.forInitialConfig&&setTimeout(()=>this.firstInput.nativeElement.focus())}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe(),this.formSubscription.unsubscribe()}get working(){return!!this.button&&this.button.isLoading}changePassword(){this.form.valid&&!this.button.disabled&&(this.button.showLoading(),this.workingState.next(!0),this.subscription=this.forInitialConfig?this.authService.initialConfig(this.form.get("newPassword").value).subscribe(()=>{this.dialog.closeAll(),this.snackbarService.showDone("settings.password.initial-config.done"),this.workingState.next(!1)},t=>{this.button.showError(),t=Qt(t),this.snackbarService.showError(t,null,!0),this.workingState.next(!1)}):this.authService.changePassword(this.form.get("oldPassword").value,this.form.get("newPassword").value).subscribe(()=>{this.router.navigate(["nodes"]),this.snackbarService.showDone("settings.password.password-changed"),this.workingState.next(!1)},t=>{this.button.showError(),t=Qt(t),this.snackbarService.showError(t),this.workingState.next(!1)}))}validatePasswords(){return this.form&&this.form.get("newPassword").value!==this.form.get("newPasswordConfirmation").value?{invalid:!0}:null}}function _$(n,t){1&n&&(D(0,"button",5)(1,"mat-icon"),I(2,"close"),C()())}function g$(n,t){1&n&&Xo(0)}uu.\u0275fac=function(t){return new(t||uu)(F(Is),F(Xt),F(cn),F(Fn))},uu.\u0275cmp=qe({type:uu,selectors:[["app-password"]],viewQuery:function(t,e){if(1&t&&(ft(d$,5),ft(u$,5)),2&t){let i;nt(i=it())&&(e.button=i.first),nt(i=it())&&(e.firstInput=i.first)}},inputs:{forInitialConfig:"forInitialConfig"},outputs:{workingState:"workingState"},decls:33,vars:40,consts:[[3,"ngClass"],[1,"box-internal-container","overflow"],[1,"help-icon",3,"inline","matTooltip"],[3,"formGroup"],["class","white-form-field",3,"ngClass",4,"ngIf"],[1,"field-container"],["for","remoteKey",1,"field-label"],["type","password","formControlName","newPassword","maxlength","64","matInput",""],["firstInput",""],["type","password","formControlName","newPasswordConfirmation","maxlength","64","matInput",""],["color","primary",3,"ngClass","disabled","forDarkBackground","action"],["button",""],[1,"white-form-field",3,"ngClass"],["type","password","formControlName","oldPassword","maxlength","64","matInput",""]],template:function(t,e){1&t&&(D(0,"div",0)(1,"div",1)(2,"div")(3,"mat-icon",2),R(4,"translate"),I(5," help "),C()(),D(6,"form",3),j(7,f$,10,9,"mat-form-field",4),D(8,"mat-form-field",0)(9,"div",5)(10,"label",6),I(11),R(12,"translate"),C(),xe(13,"input",7,8),C(),D(15,"mat-error")(16,"span"),I(17),R(18,"translate"),C()()(),D(19,"mat-form-field",0)(20,"div",5)(21,"label",6),I(22),R(23,"translate"),C(),xe(24,"input",9),C(),D(25,"mat-error")(26,"span"),I(27),R(28,"translate"),C()()(),D(29,"app-button",10,11),ye("action",function(){return e.changePassword()}),I(31),R(32,"translate"),C()()()()),2&t&&(w("ngClass",Ve(29,p$,!e.forInitialConfig)),d(2),fo((e.forInitialConfig?"":"white-")+"form-help-icon-container"),d(1),w("inline",!0)("matTooltip",B(4,17,e.forInitialConfig?"settings.password.initial-config-help":"settings.password.help")),d(3),w("formGroup",e.form),d(1),w("ngIf",!e.forInitialConfig),d(1),w("ngClass",ln(31,bI,!e.forInitialConfig,e.working)),d(3),oe(B(12,19,e.forInitialConfig?"settings.password.initial-config.password":"settings.password.new-password")),d(6),oe(B(18,21,"settings.password.errors.new-password-error")),d(2),w("ngClass",ln(34,bI,!e.forInitialConfig,e.working)),d(3),oe(B(23,23,e.forInitialConfig?"settings.password.initial-config.repeat-password":"settings.password.repeat-password")),d(5),oe(B(28,25,"settings.password.errors.passwords-not-match")),d(2),w("ngClass",ln(37,m$,!e.forInitialConfig,e.forInitialConfig))("disabled",!e.form.valid)("forDarkBackground",!e.forInitialConfig),d(2),me(" ",B(32,27,e.forInitialConfig?"settings.password.initial-config.set-password":"settings.change-password")," "))},dependencies:[On,Ot,Yi,Fi,Ri,Ni,wr,ni,Di,tr,sl,Cr,Cn,gi,ii,Ct],styles:[".help-icon[_ngcontent-%COMP%]{display:inline}mat-form-field[_ngcontent-%COMP%]{margin-right:32px}app-button[_ngcontent-%COMP%]{float:right;margin-right:32px}"]});const vI=function(n){return{"content-margin":n}};function b$(n,t){if(1&n&&(D(0,"mat-dialog-content",6),j(1,g$,1,0,"ng-container",7),C()),2&n){const e=z(),i=li(8);w("ngClass",Ve(2,vI,e.includeVerticalMargins)),d(1),w("ngTemplateOutlet",i)}}function v$(n,t){1&n&&Xo(0)}function y$(n,t){if(1&n&&(D(0,"div",6),j(1,v$,1,0,"ng-container",7),C()),2&n){const e=z(),i=li(8);w("ngClass",Ve(2,vI,e.includeVerticalMargins)),d(1),w("ngTemplateOutlet",i)}}function M$(n,t){1&n&&vn(0)}class Rn{constructor(t){this.matDialog=t,this.includeScrollableArea=!0,this.includeVerticalMargins=!0}set dialog(t){t.disableClose=!0,this.dialogInternal=t}onKeyUp(){this.closePopup()}closePopup(){this.disableDismiss||this.matDialog.openDialogs[this.matDialog.openDialogs.length-1].id===this.dialogInternal.id&&this.dialogInternal.close()}}Rn.\u0275fac=function(t){return new(t||Rn)(F(Fn))},Rn.\u0275cmp=qe({type:Rn,selectors:[["app-dialog"]],hostBindings:function(t,e){1&t&&ye("keyup.esc",function(){return e.onKeyUp()},0,Vw)},inputs:{headline:"headline",disableDismiss:"disableDismiss",includeScrollableArea:"includeScrollableArea",includeVerticalMargins:"includeVerticalMargins",dialog:"dialog"},ngContentSelectors:["*"],decls:9,vars:4,consts:[["mat-dialog-title","",1,"header"],["mat-dialog-close","","mat-icon-button","","class","grey-button-background",4,"ngIf"],[1,"header-separator"],[3,"ngClass",4,"ngIf"],["contentTemplate",""],["mat-dialog-close","","mat-icon-button","",1,"grey-button-background"],[3,"ngClass"],[4,"ngTemplateOutlet"]],template:function(t,e){1&t&&(_r(),D(0,"div",0)(1,"span"),I(2),C(),j(3,_$,3,0,"button",1),C(),xe(4,"div",2),j(5,b$,2,4,"mat-dialog-content",3),j(6,y$,2,4,"div",3),j(7,M$,1,0,"ng-template",null,4,Ms)),2&t&&(d(2),oe(e.headline),d(1),w("ngIf",!e.disableDismiss),d(2),w("ngIf",e.includeScrollableArea),d(1),w("ngIf",!e.includeScrollableArea))},dependencies:[On,Ot,Ad,tz,nz,IL,il,Cn],styles:['.cursor-pointer[_ngcontent-%COMP%], .header[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%], .header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}[_nghost-%COMP%]{color:#202226}.header[_ngcontent-%COMP%]{margin:-24px -24px 0;color:#215f9e;padding:0 14px 0 24px;font-size:1rem;text-transform:uppercase;font-weight:700;display:flex;align-items:center}.header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{flex-grow:1}@media (max-width: 767px){.header[_ngcontent-%COMP%]{padding:0 2px 0 24px}}.header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{line-height:1rem;margin:18px 0}.header[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%]{color:#a6b2b2;width:32px;height:32px;line-height:20px;margin-left:10px;padding:0}@media (max-width: 767px){.header[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%]{width:46px;height:46px}}.header-separator[_ngcontent-%COMP%]{height:1px;background-color:#215f9e33;margin-left:-12px;margin-right:-12px}.content-margin[_ngcontent-%COMP%]{padding-top:18px;padding-bottom:24px!important}']});class ac{constructor(t){this.dialogRef=t,this.disableDismiss=!1}static openDialog(t){const e=new An;return e.autoFocus=!1,e.width=Ht.smallModalWidth,t.open(ac,e)}}function x$(n,t){if(1&n){const e=tt();D(0,"button",3),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().closePopup(s))}),xe(1,"img",4),D(2,"div",5),I(3),C()()}if(2&n){const e=t.$implicit;d(1),w("src","assets/img/lang/"+e.iconName,_s),d(2),oe(e.name)}}ac.\u0275fac=function(t){return new(t||ac)(F(Vn))},ac.\u0275cmp=qe({type:ac,selectors:[["app-initial-setup"]],decls:3,vars:6,consts:[[3,"headline","dialog","disableDismiss"],[3,"forInitialConfig","workingState"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"app-password",1),ye("workingState",function(o){return e.disableDismiss=o}),C()()),2&t&&(w("headline",B(1,4,"settings.password.initial-config.title"))("dialog",e.dialogRef)("disableDismiss",e.disableDismiss),d(2),w("forInitialConfig",!0))},dependencies:[uu,Rn,Ct]});class al{constructor(t,e){this.dialogRef=t,this.languageService=e,this.languages=[]}static openDialog(t){const e=new An;return e.autoFocus=!1,e.width=Ht.mediumModalWidth,t.open(al,e)}ngOnInit(){this.subscription=this.languageService.languages.subscribe(t=>{this.languages=t})}ngOnDestroy(){this.subscription.unsubscribe()}closePopup(t=null){t&&this.languageService.changeLanguage(t.code),this.dialogRef.close()}}function C$(n,t){1&n&&xe(0,"img",2),2&n&&w("src","assets/img/lang/"+z().language.iconName,_s)}al.\u0275fac=function(t){return new(t||al)(F(Vn),F(ca))},al.\u0275cmp=qe({type:al,selectors:[["app-select-language"]],decls:4,vars:5,consts:[[3,"headline","dialog"],[1,"options-container"],["mat-button","","color","accent","class","grey-button-background",3,"click",4,"ngFor","ngForOf"],["mat-button","","color","accent",1,"grey-button-background",3,"click"],[3,"src"],[1,"label"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1),j(3,x$,4,2,"button",2),C()()),2&t&&(w("headline",B(1,3,"language.title"))("dialog",e.dialogRef),d(3),w("ngForOf",e.languages))},dependencies:[Ci,Wr,Rn,Ct],styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}.options-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:118px;height:auto!important;margin:20px;font-size:.7rem;line-height:unset;padding:0!important;color:unset}.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mdc-button__label{width:100%}@media (max-width: 767px){.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:90px;font-size:.6rem;margin:6px}}.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:64px;height:64px;margin:10px 0}@media (max-width: 767px){.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:48px;height:48px;margin:7px 0}}.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:#202226!important;background-color:#ffffff40;padding:4px 10px}@media (max-width: 767px){.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding:4px 5px}}"]});class qf{constructor(t,e){this.languageService=t,this.dialog=e}ngOnInit(){this.subscription=this.languageService.currentLanguage.subscribe(t=>{this.language=t})}ngOnDestroy(){this.subscription.unsubscribe()}openLanguageWindow(){al.openDialog(this.dialog)}}qf.\u0275fac=function(t){return new(t||qf)(F(ca),F(Fn))},qf.\u0275cmp=qe({type:qf,selectors:[["app-lang-button"]],decls:3,vars:4,consts:[["mat-button","",1,"lang-button","subtle-transparent-button",3,"matTooltip","click"],["class","flag",3,"src",4,"ngIf"],[1,"flag",3,"src"]],template:function(t,e){1&t&&(D(0,"button",0),ye("click",function(){return e.openLanguageWindow()}),R(1,"translate"),j(2,C$,1,1,"img",1),C()),2&t&&(w("matTooltip",B(1,2,"language.title")),d(2),w("ngIf",e.language))},dependencies:[Ot,Wr,gi,Ct],styles:[".lang-button[_ngcontent-%COMP%]{height:40px;background-color:#f8f9f9;border-radius:100%;padding:0;line-height:1;padding:0!important}.lang-button[_ngcontent-%COMP%] .flag[_ngcontent-%COMP%]{width:20px;height:20px}"]});const k$=function(n){return{"element-disabled":n}};class hu{constructor(t,e,i,o,s){this.authService=t,this.router=e,this.snackbarService=i,this.dialog=o,this.route=s,this.loading=!1,this.isForVpn=!1,this.vpnKey=""}ngOnInit(){this.routeSubscription=this.route.paramMap.subscribe(t=>{this.vpnKey=t.get("key"),this.isForVpn=-1!==window.location.href.indexOf("vpnlogin"),this.verificationSubscription=this.authService.checkLogin().subscribe(e=>{e!==Es.NotLogged&&(da.currentInstance.processLoginDone(),setTimeout(()=>{this.router.navigate(this.isForVpn?["vpn",this.vpnKey,"status"]:["nodes"],{replaceUrl:!0})}))})}),this.form=new TE({password:new Lg("",Vt.required)})}ngOnDestroy(){this.loginSubscription&&this.loginSubscription.unsubscribe(),this.verificationSubscription.unsubscribe(),this.routeSubscription.unsubscribe()}login(){!this.form.valid||this.loading||(this.loading=!0,this.loginSubscription=this.authService.login(this.form.get("password").value).subscribe(()=>this.onLoginSuccess(),t=>this.onLoginError(t)))}configure(){ac.openDialog(this.dialog)}onLoginSuccess(){da.currentInstance.processLoginDone(),setTimeout(()=>{this.router.navigate(this.isForVpn?["vpn",this.vpnKey,"status"]:["nodes"],{replaceUrl:!0})})}onLoginError(t){t=Qt(t),this.loading=!1,this.snackbarService.showError(t.originalError&&401===t.originalError.status?"login.incorrect-password":t.translatableErrorMsg)}}hu.\u0275fac=function(t){return new(t||hu)(F(Is),F(Xt),F(cn),F(Fn),F(vr))},hu.\u0275cmp=qe({type:hu,selectors:[["app-login"]],decls:14,vars:11,consts:[[1,"w-100","h-100","d-flex","justify-content-center"],[1,"row","main-container"],["src","/assets/img/logo-v.png",1,"logo"],[1,"mt-5",3,"formGroup"],[1,"login-input",3,"ngClass"],["type","password","formControlName","password","autocomplete","off",3,"placeholder","keydown.enter"],[3,"disabled","click"],[1,"config-link",3,"click"]],template:function(t,e){1&t&&(D(0,"div",0),xe(1,"app-lang-button"),D(2,"div",1),xe(3,"img",2),D(4,"form",3)(5,"div",4)(6,"input",5),ye("keydown.enter",function(){return e.login()}),R(7,"translate"),C(),D(8,"button",6),ye("click",function(){return e.login()}),D(9,"mat-icon"),I(10,"chevron_right"),C()()()(),D(11,"div",7),ye("click",function(){return e.configure()}),I(12),R(13,"translate"),C()()()),2&t&&(d(4),w("formGroup",e.form),d(1),w("ngClass",Ve(9,k$,e.loading)),d(1),w("placeholder",B(7,5,"login.password")),d(2),w("disabled",!e.form.valid||e.loading),d(4),oe(B(13,7,"login.initial-config")))},dependencies:[On,Yi,Fi,Ri,Ni,ni,Di,Cn,qf,Ct],styles:['.cursor-pointer[_ngcontent-%COMP%], .config-link[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}app-lang-button[_ngcontent-%COMP%]{position:fixed;right:10px;top:10px;z-index:10}.main-container[_ngcontent-%COMP%]{z-index:1;height:100%;flex-direction:column;align-items:center;justify-content:center}.logo[_ngcontent-%COMP%]{width:170px}.login-input[_ngcontent-%COMP%]{height:35px;width:300px;overflow:hidden;border-radius:10px;box-shadow:0 3px 8px #0000001a,0 6px 20px #0000001a;display:flex}.login-input[_ngcontent-%COMP%] input[type=password][_ngcontent-%COMP%]{background:#fff;width:calc(100% - 35px);height:100%;font-size:.875rem;border:none;padding-left:10px;padding-right:10px}.login-input[_ngcontent-%COMP%] input[type=password][_ngcontent-%COMP%]:focus{outline:none}.login-input[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:#fff;color:#202226;width:35px;height:35px;line-height:35px;border:none;display:flex;cursor:pointer;align-items:center}.login-input[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{color:#777}.config-link[_ngcontent-%COMP%]{color:#f8f9f9;font-size:.7rem;margin-top:20px}']});var K1=N(9774),Pg=N.n(K1);class Z1{}class S${}var ss=(()=>(function(n){n.Connecting="connecting",n.Unhealthy="unhealthy",n.Healthy="healthy"}(ss||(ss={})),ss))(),ha=(()=>(function(n){n.UseCustomSettings="updaterUseCustomSettings",n.Channel="updaterChannel",n.Version="updaterVersion",n.ArchiveURL="updaterArchiveURL",n.ChecksumsURL="updaterChecksumsURL"}(ha||(ha={})),ha))();class Mo{constructor(t,e){this.apiService=t,this.storageService=e}getNodes(){let t=[];return this.apiService.get("visors-summary").pipe(Ce(e=>{e&&e.forEach(l=>{const c=new Z1;c.online=l.online,c.localPk=l.overview.local_pk,c.version=l.overview.build_info.version,c.autoconnectTransports=l.public_autoconnect,c.buildTag=l.build_tag?l.build_tag:"",c.rewardsAddress=l.reward_address,c.ip=l.overview&&l.overview.local_ip&&l.overview.local_ip.trim()?l.overview.local_ip:null;const M=this.storageService.getLabelInfo(c.localPk);if(c.label=M&&M.label?M.label:this.storageService.getDefaultLabel(c),!c.online)return c.dmsgServerPk="",c.roundTripPing="",void t.push(c);c.health={servicesHealth:l.health.services_health},c.dmsgServerPk=l.dmsg_stats.server_public_key,c.roundTripPing=this.nsToMs(l.dmsg_stats.round_trip),c.isHypervisor=l.is_hypervisor,t.push(c)});const i=new Map,o=[],s=[];t.forEach(l=>{i.set(l.localPk,l),l.online&&(o.push(l.localPk),s.push(l.ip))}),this.storageService.includeVisibleLocalNodes(o,s);const a=[];return this.storageService.getSavedLocalNodes().forEach(l=>{if(!i.has(l.publicKey)&&!l.hidden){const c=new Z1;c.localPk=l.publicKey;const M=this.storageService.getLabelInfo(l.publicKey);c.label=M&&M.label?M.label:this.storageService.getDefaultLabel(c),c.online=!1,c.dmsgServerPk="",c.roundTripPing="",a.push(c)}i.has(l.publicKey)&&!i.get(l.publicKey).online&&l.hidden&&i.delete(l.publicKey)}),t=[],i.forEach(l=>t.push(l)),t=t.concat(a),t}))}nsToMs(t){let e=new(Pg())(t).dividedBy(1e6);return e=e.isLessThan(10)?e.decimalPlaces(2):e.decimalPlaces(0),e.toString(10)}getNode(t){return this.apiService.get(`visors/${t}/summary`).pipe(Ce(e=>{const i=new Z1;i.localPk=e.overview.local_pk,i.version=e.overview.build_info.version,i.secondsOnline=Math.floor(Number.parseFloat(e.uptime)),i.minHops=e.min_hops,i.buildTag=e.build_tag,i.skybianBuildVersion=e.skybian_build_version,i.isSymmeticNat=e.overview.is_symmetic_nat,i.publicIp=e.overview.public_ip,i.autoconnectTransports=e.public_autoconnect,i.rewardsAddress=e.reward_address,i.ip=e.overview.local_ip&&e.overview.local_ip.trim()?e.overview.local_ip:null;const o=this.storageService.getLabelInfo(i.localPk);i.label=o&&o.label?o.label:this.storageService.getDefaultLabel(i),i.health={servicesHealth:e.health.services_health},i.transports=[],e.overview.transports&&e.overview.transports.forEach(a=>{i.transports.push({id:a.id,localPk:a.local_pk,remotePk:a.remote_pk,type:a.type,recv:a.log.recv,sent:a.log.sent})}),i.persistentTransports=[],e.persistent_transports&&e.persistent_transports.forEach(a=>{i.persistentTransports.push({pk:a.pk,type:a.type})}),i.routes=[],e.routes&&e.routes.forEach(a=>{i.routes.push({key:a.key,rule:a.rule}),a.rule_summary&&(i.routes[i.routes.length-1].ruleSummary={keepAlive:a.rule_summary.keep_alive,ruleType:a.rule_summary.rule_type,keyRouteId:a.rule_summary.key_route_id},a.rule_summary.app_fields&&a.rule_summary.app_fields.route_descriptor&&(i.routes[i.routes.length-1].appFields={routeDescriptor:{dstPk:a.rule_summary.app_fields.route_descriptor.dst_pk,dstPort:a.rule_summary.app_fields.route_descriptor.dst_port,srcPk:a.rule_summary.app_fields.route_descriptor.src_pk,srcPort:a.rule_summary.app_fields.route_descriptor.src_port}}),a.rule_summary.forward_fields&&(i.routes[i.routes.length-1].forwardFields={nextRid:a.rule_summary.forward_fields.next_rid,nextTid:a.rule_summary.forward_fields.next_tid},a.rule_summary.forward_fields.route_descriptor&&(i.routes[i.routes.length-1].forwardFields.routeDescriptor={dstPk:a.rule_summary.forward_fields.route_descriptor.dst_pk,dstPort:a.rule_summary.forward_fields.route_descriptor.dst_port,srcPk:a.rule_summary.forward_fields.route_descriptor.src_pk,srcPort:a.rule_summary.forward_fields.route_descriptor.src_port})),a.rule_summary.intermediary_forward_fields&&(i.routes[i.routes.length-1].intermediaryForwardFields={nextRid:a.rule_summary.intermediary_forward_fields.next_rid,nextTid:a.rule_summary.intermediary_forward_fields.next_tid}))}),i.apps=[],e.overview.apps&&e.overview.apps.forEach(a=>{i.apps.push({name:a.name,status:a.status,port:a.port,autostart:a.auto_start,detailedStatus:a.detailed_status,args:a.args})});let s=!1;return e.dmsg_stats&&(i.dmsgServerPk=e.dmsg_stats.server_public_key,i.roundTripPing=this.nsToMs(e.dmsg_stats.round_trip),s=!0),s||(i.dmsgServerPk="-",i.roundTripPing="-1"),i}))}setRewardsAddress(t,e){return this.apiService.put(`visors/${t}/reward`,{reward_address:e})}getRewardsAddress(t){return this.apiService.get(`visors/${t}/reward`)}deleteRewardsAddress(t){return this.apiService.delete(`visors/${t}/reward`)}reboot(t){return this.apiService.post(`visors/${t}/restart`)}checkIfUpdating(t){return this.apiService.get(`visors/${t}/update/ws/running`)}checkUpdate(t){let e="stable";return e=localStorage.getItem(ha.Channel)||e,this.apiService.get(`visors/${t}/update/available/${e}`)}update(t){const e={channel:"stable"};if(localStorage.getItem(ha.UseCustomSettings)){const o=localStorage.getItem(ha.Channel);o&&(e.channel=o);const s=localStorage.getItem(ha.Version);s&&(e.version=s);const a=localStorage.getItem(ha.ArchiveURL);a&&(e.archive_url=a);const l=localStorage.getItem(ha.ChecksumsURL);l&&(e.checksums_url=l)}return this.apiService.ws(`visors/${t}/update/ws`,e)}}Mo.\u0275fac=function(t){return new(t||Mo)(we(yo),we(ti))},Mo.\u0275prov=Ye({token:Mo,factory:Mo.\u0275fac,providedIn:"root"});const D$=["firstInput"];class fa{constructor(t,e,i,o,s){this.dialogRef=t,this.data=e,this.formBuilder=i,this.storageService=o,this.snackbarService=s}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.smallModalWidth,t.open(fa,i)}ngOnInit(){this.form=this.formBuilder.group({label:[this.data.label]})}ngAfterViewInit(){setTimeout(()=>this.firstInput.nativeElement.focus())}save(){const t=this.form.get("label").value.trim();t!==this.data.label?(this.storageService.saveLabel(this.data.id,t,this.data.identifiedElementType),t?this.snackbarService.showDone("edit-label.done"):this.snackbarService.showWarning("edit-label.label-removed-warning"),this.dialogRef.close(!0)):this.dialogRef.close()}}fa.\u0275fac=function(t){return new(t||fa)(F(Vn),F(Si),F(xr),F(ti),F(cn))},fa.\u0275cmp=qe({type:fa,selectors:[["app-edit-label"]],viewQuery:function(t,e){if(1&t&&ft(D$,5),2&t){let i;nt(i=it())&&(e.firstInput=i.first)}},decls:13,vars:11,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","label","maxlength","66","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"action"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6),ye("action",function(){return e.save()}),I(11),R(12,"translate"),C()()),2&t&&(w("headline",B(1,5,"labeled-element.edit-label"))("dialog",e.dialogRef),d(2),w("formGroup",e.form),d(4),oe(B(7,7,"edit-label.label")),d(5),oe(B(12,9,"common.save")))},dependencies:[Yi,Fi,Ri,Ni,wr,ni,Di,tr,Cr,ii,Rn,Ct]});const T$=["cancelButton"],L$=["confirmButton"];function E$(n,t){if(1&n&&(D(0,"div"),I(1),R(2,"translate"),C()),2&n){const e=t.$implicit;d(1),me(" - ",B(2,1,e)," ")}}function I$(n,t){if(1&n&&(D(0,"div",8),j(1,E$,3,3,"div",9),C()),2&n){const e=z();d(1),w("ngForOf",e.state!==e.confirmationStates.Done?e.data.list:e.doneList)}}function P$(n,t){if(1&n&&(D(0,"div",1),I(1),R(2,"translate"),C()),2&n){const e=z();d(1),me(" ",B(2,1,e.data.lowerText)," ")}}function O$(n,t){if(1&n){const e=tt();D(0,"app-button",10,11),ye("action",function(){return Pe(e),Oe(z().closeModal())}),I(2),R(3,"translate"),C()}if(2&n){const e=z();d(2),me(" ",B(3,1,e.data.cancelButtonText)," ")}}var ll=(()=>(function(n){n.Asking="Asking",n.Processing="Processing",n.Done="Done"}(ll||(ll={})),ll))();class Kf{constructor(t,e){this.dialogRef=t,this.data=e,this.disableDismiss=!1,this.state=ll.Asking,this.confirmationStates=ll,this.operationAccepted=new ht,this.disableDismiss=!!e.disableDismiss,this.dialogRef.disableClose=this.disableDismiss}ngAfterViewInit(){this.data.cancelButtonText?setTimeout(()=>this.cancelButton.focus()):setTimeout(()=>this.confirmButton.focus())}ngOnDestroy(){this.operationAccepted.complete()}closeModal(){this.dialogRef.close()}sendOperationAcceptedEvent(){this.operationAccepted.emit()}showAsking(t){t&&(this.data=t),this.state=ll.Asking,this.confirmButton.reset(),this.disableDismiss=!1,this.dialogRef.disableClose=this.disableDismiss,this.cancelButton&&this.cancelButton.showEnabled()}showProcessing(){this.state=ll.Processing,this.disableDismiss=!0,this.confirmButton.showLoading(),this.cancelButton&&this.cancelButton.showDisabled()}showDone(t,e,i=null){this.doneTitle=t||this.data.headerText,this.doneText=e,this.doneList=i,this.confirmButton.reset(),setTimeout(()=>this.confirmButton.focus()),this.state=ll.Done,this.dialogRef.disableClose=!1,this.disableDismiss=!1}}Kf.\u0275fac=function(t){return new(t||Kf)(F(Vn),F(Si))},Kf.\u0275cmp=qe({type:Kf,selectors:[["app-confirmation"]],viewQuery:function(t,e){if(1&t&&(ft(T$,5),ft(L$,5)),2&t){let i;nt(i=it())&&(e.cancelButton=i.first),nt(i=it())&&(e.confirmButton=i.first)}},outputs:{operationAccepted:"operationAccepted"},decls:13,vars:14,consts:[[3,"headline","dialog","disableDismiss"],[1,"text-container"],["class","list-container",4,"ngIf"],["class","text-container",4,"ngIf"],[1,"buttons"],["color","accent",3,"action",4,"ngIf"],["color","primary",3,"action"],["confirmButton",""],[1,"list-container"],[4,"ngFor","ngForOf"],["color","accent",3,"action"],["cancelButton",""]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1),I(3),R(4,"translate"),C(),j(5,I$,2,1,"div",2),j(6,P$,3,3,"div",3),D(7,"div",4),j(8,O$,4,3,"app-button",5),D(9,"app-button",6,7),ye("action",function(){return e.state===e.confirmationStates.Asking?e.sendOperationAcceptedEvent():e.closeModal()}),I(11),R(12,"translate"),C()()()),2&t&&(w("headline",B(1,8,e.state!==e.confirmationStates.Done?e.data.headerText:e.doneTitle))("dialog",e.dialogRef)("disableDismiss",e.disableDismiss),d(3),me(" ",B(4,10,e.state!==e.confirmationStates.Done?e.data.text:e.doneText)," "),d(2),w("ngIf",e.data.list&&e.state!==e.confirmationStates.Done||e.doneList&&e.state===e.confirmationStates.Done),d(1),w("ngIf",e.data.lowerText&&e.state!==e.confirmationStates.Done),d(2),w("ngIf",e.data.cancelButtonText&&e.state!==e.confirmationStates.Done),d(3),me(" ",B(12,12,e.state!==e.confirmationStates.Done?e.data.confirmButtonText:"confirmation.close")," "))},dependencies:[Ci,Ot,ii,Rn,Ct],styles:[".text-container[_ngcontent-%COMP%]{word-break:break-word}.list-container[_ngcontent-%COMP%]{font-size:14px;margin:10px;color:#215f9e;word-break:break-word}.buttons[_ngcontent-%COMP%]{margin-top:15px;text-align:right}.buttons[_ngcontent-%COMP%] app-button[_ngcontent-%COMP%]{margin-left:5px}"]});class Wt{static createConfirmationDialog(t,e){const i={text:e,headerText:"confirmation.header-text",confirmButtonText:"confirmation.confirm-button",cancelButtonText:"confirmation.cancel-button",disableDismiss:!1},o=new An;return o.data=i,o.autoFocus=!1,o.width=Ht.smallModalWidth,t.open(Kf,o)}static checkIfTagIsUpdatable(t){return!(null==t||t.toUpperCase()==="Windows".toUpperCase()||t.toUpperCase()==="Win".toUpperCase()||t.toUpperCase()==="Mac".toUpperCase()||t.toUpperCase()==="Macos".toUpperCase()||t.toUpperCase()==="Mac OS".toUpperCase()||t.toUpperCase()==="Darwin".toUpperCase())}static checkIfTagCanOpenterminal(t){return!(null==t||t.toUpperCase()==="Windows".toUpperCase()||t.toUpperCase()==="Win".toUpperCase())}static checkIfIpValidOrEmpty(t){if(!t)return!0;const e=t.split(".");if(4!==e.length)return!1;for(const i of e){const o=Number.parseInt(i,10);if(isNaN(o)||o+""!==i||o<0||o>255)return!1}return!0}}function A$(n,t){if(1&n&&(D(0,"mat-icon",6),I(1),C()),2&n){const e=z().$implicit;w("inline",!0),d(1),oe(e.icon)}}function F$(n,t){if(1&n){const e=tt();D(0,"div",2)(1,"button",3),ye("click",function(){const s=Pe(e).index;return Oe(z().closePopup(s+1))}),D(2,"div",4),j(3,A$,2,2,"mat-icon",5),D(4,"span"),I(5),R(6,"translate"),C()()()()}if(2&n){const e=t.$implicit;d(3),w("ngIf",e.icon),d(2),oe(B(6,2,e.label))}}class $i{constructor(t,e){this.data=t,this.dialogRef=e}static openDialog(t,e,i){const o=new An;return o.data={options:e,title:i},o.autoFocus=!1,o.width=Ht.smallModalWidth,t.open($i,o)}closePopup(t){this.dialogRef.close(t)}}$i.\u0275fac=function(t){return new(t||$i)(F(Si),F(Vn))},$i.\u0275cmp=qe({type:$i,selectors:[["app-select-option"]],decls:3,vars:6,consts:[[3,"headline","dialog","includeVerticalMargins"],["class","options-list-button-container",4,"ngFor","ngForOf"],[1,"options-list-button-container"],["mat-button","",1,"grey-button-background",3,"click"],[1,"internal-container"],["class","icon",3,"inline",4,"ngIf"],[1,"icon",3,"inline"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),j(2,F$,7,4,"div",1),C()),2&t&&(w("headline",B(1,4,e.data.title))("dialog",e.dialogRef)("includeVerticalMargins",!1),d(2),w("ngForOf",e.data.options))},dependencies:[Ci,Ot,Wr,Cn,Rn,Ct],styles:[".icon[_ngcontent-%COMP%]{font-size:14px;width:14px;line-height:1}.grey-button-background[_ngcontent-%COMP%]{justify-content:left!important;min-height:45px}"]});var Zn=(()=>(function(n){n.TextInput="TextInput",n.Select="Select"}(Zn||(Zn={})),Zn))();class Os{constructor(t){this.dom=t}copy(t){let e=null,i=!1;try{e=this.dom.createElement("textarea"),e.style.height="0px",e.style.left="-100px",e.style.opacity="0",e.style.position="fixed",e.style.top="-100px",e.style.width="0px",this.dom.body.appendChild(e),e.value=t,e.select(),this.dom.execCommand("copy"),i=!0}finally{e&&e.parentNode&&e.parentNode.removeChild(e)}return i}}function Y$(n,t){if(1&n&&($e(0),D(1,"span",2),I(2),C(),Ge()),2&n){const e=z();d(2),oe(e.shortText)}}function B$(n,t){if(1&n&&($e(0),D(1,"span"),I(2),C(),Ge()),2&n){const e=z();d(2),oe(e.text)}}Os.\u0275fac=function(t){return new(t||Os)(we(St))},Os.\u0275prov=Ye({token:Os,factory:Os.\u0275fac});const H$=function(){return{"tooltip-word-break":!0}};class fu{constructor(){this.short=!1,this.showTooltip=!0,this.shortTextLength=5}get shortText(){if(this.text.length>2*this.shortTextLength){const t=this.text.length;return`${this.text.slice(0,this.shortTextLength)}...${this.text.slice(t-this.shortTextLength,t)}`}return this.text}}function V$(n,t){if(1&n&&(D(0,"span"),I(1),R(2,"translate"),C()),2&n){const e=z();d(1),me(" ",B(2,1,e.labelComponents.prefix)," ")}}function j$(n,t){if(1&n&&(D(0,"span"),I(1),C()),2&n){const e=z();d(1),me(" ",e.labelComponents.prefixSeparator," ")}}function z$(n,t){if(1&n&&(D(0,"span"),I(1),C()),2&n){const e=z();d(1),me(" ",e.labelComponents.label," ")}}function U$(n,t){if(1&n&&(D(0,"span"),I(1),R(2,"translate"),C()),2&n){const e=z();d(1),me(" ",B(2,1,e.labelComponents.translatableLabel)," ")}}fu.\u0275fac=function(t){return new(t||fu)},fu.\u0275cmp=qe({type:fu,selectors:[["app-truncated-text"]],inputs:{short:"short",showTooltip:"showTooltip",text:"text",shortTextLength:"shortTextLength"},decls:3,vars:5,consts:[[1,"wrapper",3,"matTooltip","matTooltipClass"],[4,"ngIf"],[1,"nowrap"]],template:function(t,e){1&t&&(D(0,"div",0),j(1,Y$,3,1,"ng-container",1),j(2,B$,3,1,"ng-container",1),C()),2&t&&(w("matTooltip",e.short&&e.showTooltip?e.text:"")("matTooltipClass",Un(4,H$)),d(1),w("ngIf",e.short),d(1),w("ngIf",!e.short))},dependencies:[Ot,gi],styles:['.cursor-pointer[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%], .wrapper[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}.nowrap[_ngcontent-%COMP%]{white-space:nowrap}.wrapper[_ngcontent-%COMP%]{display:inline}']});const W$=function(n){return{text:n}},$$=function(){return{"tooltip-word-break":!0}};class G${constructor(){this.prefix="",this.prefixSeparator="",this.label="",this.translatableLabel=""}}class Or{constructor(t,e,i,o,s){this.dialog=t,this.storageService=e,this.clipboardService=i,this.snackbarService=o,this.router=s,this.short=!1,this.shortTextLength=5,this.elementType=yr.Node,this.labelEdited=new ht}set id(t){this.idInternal=t,this.labelComponents=Or.getLabelComponents(this.storageService,this.id)}get id(){return this.idInternal?this.idInternal:""}static getLabelComponents(t,e){let i;i=!!t.getSavedVisibleLocalNodes().has(e);const o=new G$;return o.labelInfo=t.getLabelInfo(e),o.labelInfo&&o.labelInfo.label?(i&&(o.prefix="labeled-element.local-element",o.prefixSeparator=" - "),o.label=o.labelInfo.label):t.getSavedVisibleLocalNodes().has(e)?o.prefix="labeled-element.unnamed-local-visor":o.translatableLabel="labeled-element.unnamed-element",o}static getCompleteLabel(t,e,i){const o=Or.getLabelComponents(t,i);return(o.prefix?e.instant(o.prefix):"")+o.prefixSeparator+o.label+(o.translatableLabel?e.instant(o.translatableLabel):"")}ngOnDestroy(){this.labelEdited.complete()}processClick(){const t=[{icon:"filter_none",label:"labeled-element.copy"},{icon:"edit",label:"labeled-element.edit-label"}];this.labelComponents.labelInfo&&t.push({icon:"close",label:"labeled-element.remove-label"}),t.push({icon:"settings",label:"labeled-element.go-to-settings"}),$i.openDialog(this.dialog,t,"common.options").afterClosed().subscribe(e=>{if(1===e)this.clipboardService.copy(this.id)&&this.snackbarService.showDone("copy.copied");else if(e>2)if(3===e&&this.labelComponents.labelInfo){const i=Wt.createConfirmationDialog(this.dialog,"labeled-element.remove-label-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.closeModal(),this.storageService.saveLabel(this.id,null,this.elementType),this.snackbarService.showDone("edit-label.label-removed-warning"),this.labelEdited.emit()})}else this.router.navigate(["/settings"]);else if(2===e){let i=this.labelComponents.labelInfo;i||(i={id:this.id,label:"",identifiedElementType:this.elementType}),fa.openDialog(this.dialog,i).afterClosed().subscribe(o=>{o&&this.labelEdited.emit()})}})}}Or.\u0275fac=function(t){return new(t||Or)(F(Fn),F(ti),F(Os),F(cn),F(Xt))},Or.\u0275cmp=qe({type:Or,selectors:[["app-labeled-element-text"]],inputs:{id:"id",short:"short",shortTextLength:"shortTextLength",elementType:"elementType"},outputs:{labelEdited:"labelEdited"},decls:12,vars:17,consts:[[1,"wrapper","highlight-internal-icon",3,"matTooltip","matTooltipClass","click"],[1,"label"],[4,"ngIf"],[3,"short","showTooltip","shortTextLength","text"],[3,"inline"]],template:function(t,e){1&t&&(D(0,"div",0),ye("click",function(o){return o.stopPropagation(),o.preventDefault(),e.processClick()}),R(1,"translate"),D(2,"span",1),j(3,V$,3,3,"span",2),j(4,j$,2,1,"span",2),j(5,z$,2,1,"span",2),j(6,U$,3,3,"span",2),C(),xe(7,"br")(8,"app-truncated-text",3),I(9," \xa0"),D(10,"mat-icon",4),I(11,"settings"),C()()),2&t&&(w("matTooltip",Pt(1,11,e.short?"labeled-element.tooltip-with-text":"labeled-element.tooltip",Ve(14,W$,e.id)))("matTooltipClass",Un(16,$$)),d(3),w("ngIf",e.labelComponents&&e.labelComponents.prefix),d(1),w("ngIf",e.labelComponents&&e.labelComponents.prefixSeparator),d(1),w("ngIf",e.labelComponents&&e.labelComponents.label),d(1),w("ngIf",e.labelComponents&&e.labelComponents.translatableLabel),d(2),w("short",e.short)("showTooltip",!1)("shortTextLength",e.shortTextLength)("text",e.id),d(2),w("inline",!0))},dependencies:[Ot,Cn,gi,fu,Ct],styles:['.cursor-pointer[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%], .wrapper[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}.wrapper[_ngcontent-%COMP%]{display:inline}.wrapper[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:.8rem;-webkit-user-select:none;user-select:none}.label[_ngcontent-%COMP%]{opacity:.7;font-size:.8rem}']});class Nn{constructor(t,e,i,o){this.properties=t,this.label=e,this.sortingMode=i,this.labelProperties=o}get id(){return this.properties.join("")}}var Jt=(()=>(function(n){n.Text="Text",n.Number="Number",n.NumberReversed="NumberReversed",n.Boolean="Boolean"}(Jt||(Jt={})),Jt))();class pu{constructor(t,e,i,o,s,a){this.dialog=t,this.translateService=e,this.storageService=i,this.sortReverse=!1,this.sortByLabel=!1,this.tieBreakerColumnIndex=null,this.columnStorageKeyPrefix="col_",this.orderStorageKeyPrefix="order_",this.labelStorageKeyPrefix="label_",this.dataUpdatedSubject=new X,this.sortableColumns=o,this.id=a,this.defaultColumnIndex=s,this.sortBy=o[s];const l=this.storageService.getDataForHv(this.columnStorageKeyPrefix+a);if(l){const c=o.find(M=>M.id===l);c&&(this.sortBy=c)}this.sortReverse="true"===this.storageService.getDataForHv(this.orderStorageKeyPrefix+a),this.sortByLabel="true"===this.storageService.getDataForHv(this.labelStorageKeyPrefix+a)}get sortingArrow(){return this.sortReverse?"keyboard_arrow_up":"keyboard_arrow_down"}get currentSortingColumn(){return this.sortBy}get sortingInReverseOrder(){return this.sortReverse}get dataSorted(){return this.dataUpdatedSubject.asObservable()}get currentlySortingByLabel(){return this.sortByLabel}dispose(){this.dataUpdatedSubject.complete()}setTieBreakerColumnIndex(t){this.tieBreakerColumnIndex=t}setData(t){this.data=t,this.sortData()}changeSortingOrder(t){if(this.sortBy===t||t.labelProperties)if(t.labelProperties){const e=[{label:this.translateService.instant("tables.sort-by-value")},{label:this.translateService.instant("tables.sort-by-value")+" "+this.translateService.instant("tables.inverted-order")},{label:this.translateService.instant("tables.sort-by-label")},{label:this.translateService.instant("tables.sort-by-label")+" "+this.translateService.instant("tables.inverted-order")}];$i.openDialog(this.dialog,e,"tables.title").afterClosed().subscribe(i=>{i&&this.changeSortingParams(t,i>2,i%2==0)})}else this.sortReverse=!this.sortReverse,this.storageService.setDataForHv(this.orderStorageKeyPrefix+this.id,String(this.sortReverse)),this.sortData();else this.changeSortingParams(t,!1,!1)}changeSortingParams(t,e,i){this.sortBy=t,this.sortByLabel=e,this.sortReverse=i,this.storageService.setDataForHv(this.columnStorageKeyPrefix+this.id,t.id),this.storageService.setDataForHv(this.orderStorageKeyPrefix+this.id,String(this.sortReverse)),this.storageService.setDataForHv(this.labelStorageKeyPrefix+this.id,String(this.sortByLabel)),this.sortData()}openSortingOrderModal(){const t=[],e=[];this.sortableColumns.forEach(i=>{const o=this.translateService.instant(i.label);t.push({label:o}),e.push({sortBy:i,sortReverse:!1,sortByLabel:!1}),t.push({label:o+" "+this.translateService.instant("tables.inverted-order")}),e.push({sortBy:i,sortReverse:!0,sortByLabel:!1}),i.labelProperties&&(t.push({label:o+" "+this.translateService.instant("tables.label")}),e.push({sortBy:i,sortReverse:!1,sortByLabel:!0}),t.push({label:o+" "+this.translateService.instant("tables.label")+" "+this.translateService.instant("tables.inverted-order")}),e.push({sortBy:i,sortReverse:!0,sortByLabel:!0}))}),$i.openDialog(this.dialog,t,"tables.title").afterClosed().subscribe(i=>{i&&this.changeSortingParams(e[i-1].sortBy,e[i-1].sortByLabel,e[i-1].sortReverse)})}sortData(){this.data&&(this.data.sort((t,e)=>{let i=this.getSortResponse(this.sortBy,t,e,!0);return 0===i&&null!==this.tieBreakerColumnIndex&&this.sortableColumns[this.tieBreakerColumnIndex]!==this.sortBy&&(i=this.getSortResponse(this.sortableColumns[this.tieBreakerColumnIndex],t,e,!1)),0===i&&this.sortableColumns[this.defaultColumnIndex]!==this.sortBy&&(i=this.getSortResponse(this.sortableColumns[this.defaultColumnIndex],t,e,!1)),i}),this.dataUpdatedSubject.next())}getSortResponse(t,e,i,o){let a=e,l=i;(this.sortByLabel&&o&&t.labelProperties?t.labelProperties:t.properties).forEach(P=>{a=a[P],l=l[P]});const c=this.sortByLabel&&o?Jt.Text:t.sortingMode;let M=0;return c===Jt.Text?M=this.sortReverse?l.localeCompare(a):a.localeCompare(l):c===Jt.NumberReversed?M=this.sortReverse?a-l:l-a:c===Jt.Number?M=this.sortReverse?l-a:a-l:c===Jt.Boolean&&(a&&!l?M=-1:!a&&l&&(M=1),M*=this.sortReverse?-1:1),M}}class q${constructor(t=!1,e,i=!0,o){this._multiple=t,this._emitChanges=i,this.compareWith=o,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new X,e&&e.length&&(t?e.forEach(s=>this._markSelected(s)):this._markSelected(e[0]),this._selectedToEmit.length=0)}get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}select(...t){this._verifyValueAssignment(t),t.forEach(i=>this._markSelected(i));const e=this._hasQueuedChanges();return this._emitChangeEvent(),e}deselect(...t){this._verifyValueAssignment(t),t.forEach(i=>this._unmarkSelected(i));const e=this._hasQueuedChanges();return this._emitChangeEvent(),e}setSelection(...t){this._verifyValueAssignment(t);const e=this.selected,i=new Set(t);t.forEach(s=>this._markSelected(s)),e.filter(s=>!i.has(s)).forEach(s=>this._unmarkSelected(s));const o=this._hasQueuedChanges();return this._emitChangeEvent(),o}toggle(t){return this.isSelected(t)?this.deselect(t):this.select(t)}clear(t=!0){this._unmarkAll();const e=this._hasQueuedChanges();return t&&this._emitChangeEvent(),e}isSelected(t){if(this.compareWith){for(const e of this._selection)if(this.compareWith(e,t))return!0;return!1}return this._selection.has(t)}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(t){this._multiple&&this.selected&&this._selected.sort(t)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(t){this.isSelected(t)||(this._multiple||this._unmarkAll(),this.isSelected(t)||this._selection.add(t),this._emitChanges&&this._selectedToEmit.push(t))}_unmarkSelected(t){this.isSelected(t)&&(this._selection.delete(t),this._emitChanges&&this._deselectedToEmit.push(t))}_unmarkAll(){this.isEmpty()||this._selection.forEach(t=>this._unmarkSelected(t))}_verifyValueAssignment(t){}_hasQueuedChanges(){return!(!this._deselectedToEmit.length&&!this._selectedToEmit.length)}}const K$=["trigger"],Z$=["panel"];function X$(n,t){if(1&n&&(D(0,"span",10),I(1),C()),2&n){const e=z();d(1),oe(e.placeholder)}}function Q$(n,t){if(1&n&&(D(0,"span",14),I(1),C()),2&n){const e=z(2);d(1),oe(e.triggerValue)}}function J$(n,t){1&n&&vn(0,0,["*ngSwitchCase","true"])}function eG(n,t){1&n&&(D(0,"span",11),j(1,Q$,2,1,"span",12),j(2,J$,1,0,"ng-content",13),C()),2&n&&(w("ngSwitch",!!z().customTrigger),d(2),w("ngSwitchCase",!0))}function tG(n,t){if(1&n){const e=tt();fs(),kl(),D(0,"div",15,16),ye("@transformPanel.done",function(o){return Pe(e),Oe(z()._panelDoneAnimatingStream.next(o.toState))})("keydown",function(o){return Pe(e),Oe(z()._handleKeydown(o))}),vn(2,1),C()}if(2&n){const e=z();(function fC(n,t,e){Jo(co,ys,gd(ze(),n,t,e),!0)})("mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open ",e._getPanelTheme(),""),w("ngClass",e.panelClass)("@transformPanel","showing"),Ut("id",e.id+"-panel")("aria-multiselectable",e.multiple)("aria-label",e.ariaLabel||null)("aria-labelledby",e._getPanelAriaLabelledby())}}const nG=[[["mat-select-trigger"]],"*"],iG=["mat-select-trigger","*"],rG={transformPanelWrap:ra("transformPanelWrap",[Lr("* => void",jy("@transformPanel",[Vy()],{optional:!0}))]),transformPanel:ra("transformPanel",[mo("void",Kn({opacity:0,transform:"scale(1, 0.8)"})),Lr("void => showing",Ur("120ms cubic-bezier(0, 0, 0.2, 1)",Kn({opacity:1,transform:"scale(1, 1)"}))),Lr("* => void",Ur("100ms linear",Kn({opacity:0})))])};let yI=0;const MI=new Be("mat-select-scroll-strategy"),sG=new Be("MAT_SELECT_CONFIG"),aG={provide:MI,deps:[to],useFactory:function oG(n){return()=>n.scrollStrategies.reposition()}},wI=new Be("MatSelectTrigger");class lG{constructor(t,e){this.source=t,this.value=e}}const cG=Pf(mL(tu(_L(class{constructor(n,t,e,i,o){this._elementRef=n,this._defaultErrorStateMatcher=t,this._parentForm=e,this._parentFormGroup=i,this.ngControl=o,this.stateChanges=new X}}))));let dG=(()=>{class n extends cG{constructor(e,i,o,s,a,l,c,M,P,Y,q,te,fe,ke){super(a,s,c,M,Y),this._viewportRuler=e,this._changeDetectorRef=i,this._ngZone=o,this._dir=l,this._parentFormField=P,this._liveAnnouncer=fe,this._defaultOptions=ke,this._panelOpen=!1,this._compareWith=(Ie,Re)=>Ie===Re,this._uid="mat-select-"+yI++,this._triggerAriaLabelledBy=null,this._destroy=new X,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+yI++,this._panelDoneAnimatingStream=new X,this._overlayPanelClass=this._defaultOptions?.overlayPanelClass||"",this._focused=!1,this.controlType="mat-select",this._multiple=!1,this._disableOptionCentering=this._defaultOptions?.disableOptionCentering??!1,this.ariaLabel="",this.optionSelectionChanges=tf(()=>{const Ie=this.options;return Ie?Ie.changes.pipe(bo(Ie),gr(()=>vt(...Ie.map(Re=>Re.onSelectionChange)))):this._ngZone.onStable.pipe(ei(1),gr(()=>this.optionSelectionChanges))}),this.openedChange=new ht,this._openedStream=this.openedChange.pipe(ki(Ie=>Ie),Ce(()=>{})),this._closedStream=this.openedChange.pipe(ki(Ie=>!Ie),Ce(()=>{})),this.selectionChange=new ht,this.valueChange=new ht,this.ngControl&&(this.ngControl.valueAccessor=this),null!=ke?.typeaheadDebounceInterval&&(this._typeaheadDebounceInterval=ke.typeaheadDebounceInterval),this._scrollStrategyFactory=te,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(q)||0,this.id=this.id}get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}get required(){return this._required??this.ngControl?.control?.hasValidator(Vt.required)??!1}set required(e){this._required=hn(e),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(e){this._multiple=hn(e)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(e){this._disableOptionCentering=hn(e)}get compareWith(){return this._compareWith}set compareWith(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(e){this._assignValue(e)&&this._onChange(e)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(e){this._typeaheadDebounceInterval=vo(e)}get id(){return this._id}set id(e){this._id=e||this._uid,this.stateChanges.next()}ngOnInit(){this._selectionModel=new q$(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(a1(),xn(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(xn(this._destroy)).subscribe(e=>{e.added.forEach(i=>i.select()),e.removed.forEach(i=>i.deselect())}),this.options.changes.pipe(bo(null),xn(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const e=this._getTriggerAriaLabelledby(),i=this.ngControl;if(e!==this._triggerAriaLabelledBy){const o=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?o.setAttribute("aria-labelledby",e):o.removeAttribute("aria-labelledby")}i&&(this._previousControl!==i.control&&(void 0!==this._previousControl&&null!==i.disabled&&i.disabled!==this.disabled&&(this.disabled=i.disabled),this._previousControl=i.control),this.updateErrorState())}ngOnChanges(e){(e.disabled||e.userAriaDescribedBy)&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._keyManager?.destroy(),this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(e){this._assignValue(e)}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const e=this._selectionModel.selected.map(i=>i.viewValue);return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e))}_handleClosedKeydown(e){const i=e.keyCode,o=40===i||38===i||37===i||39===i,s=13===i||32===i,a=this._keyManager;if(!a.isTyping()&&s&&!Ds(e)||(this.multiple||e.altKey)&&o)e.preventDefault(),this.open();else if(!this.multiple){const l=this.selected;a.onKeydown(e);const c=this.selected;c&&l!==c&&this._liveAnnouncer.announce(c.viewValue,1e4)}}_handleOpenKeydown(e){const i=this._keyManager,o=e.keyCode,s=40===o||38===o,a=i.isTyping();if(s&&e.altKey)e.preventDefault(),this.close();else if(a||13!==o&&32!==o||!i.activeItem||Ds(e))if(!a&&this._multiple&&65===o&&e.ctrlKey){e.preventDefault();const l=this.options.some(c=>!c.disabled&&!c.selected);this.options.forEach(c=>{c.disabled||(l?c.select():c.deselect())})}else{const l=i.activeItemIndex;i.onKeydown(e),this._multiple&&s&&e.shiftKey&&i.activeItem&&i.activeItemIndex!==l&&i.activeItem._selectViaInteraction()}else e.preventDefault(),i.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,this._keyManager?.cancelTypeahead(),!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(ei(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(e){if(this._selectionModel.selected.forEach(i=>i.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&e)Array.isArray(e),e.forEach(i=>this._selectOptionByValue(i)),this._sortValues();else{const i=this._selectOptionByValue(e);i?this._keyManager.updateActiveItem(i):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(e){const i=this.options.find(o=>{if(this._selectionModel.isSelected(o))return!1;try{return null!=o.value&&this._compareWith(o.value,e)}catch{return!1}});return i&&this._selectionModel.select(i),i}_assignValue(e){return!!(e!==this._value||this._multiple&&Array.isArray(e))&&(this.options&&this._setSelectionByValue(e),this._value=e,!0)}_initKeyManager(){this._keyManager=new J7(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withPageUpDown().withAllowedModifierKeys(["shiftKey"]),this._keyManager.tabOut.subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const e=vt(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(xn(e)).subscribe(i=>{this._onSelect(i.source,i.isUserInput),i.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),vt(...this.options.map(i=>i._stateChanges)).pipe(xn(e)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this.stateChanges.next()})}_onSelect(e,i){const o=this._selectionModel.isSelected(e);null!=e.value||this._multiple?(o!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),i&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),i&&this.focus())):(e.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(e.value)),o!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const e=this.options.toArray();this._selectionModel.sort((i,o)=>this.sortComparator?this.sortComparator(i,o,e):e.indexOf(i)-e.indexOf(o)),this.stateChanges.next()}}_propagateChanges(e){let i=null;i=this.multiple?this.selected.map(o=>o.value):this.selected?this.selected.value:e,this._value=i,this.valueChange.emit(i),this._onChange(i),this.selectionChange.emit(this._getChangeEvent(i)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){this._keyManager&&(this.empty?this._keyManager.setFirstItemActive():this._keyManager.setActiveItem(this._selectionModel.selected[0]))}_canOpen(){return!this._panelOpen&&!this.disabled&&this.options?.length>0}focus(e){this._elementRef.nativeElement.focus(e)}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;const e=this._parentFormField?.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;const e=this._parentFormField?.getLabelId();let i=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(i+=" "+this.ariaLabelledby),i}_panelDoneAnimating(e){this.openedChange.emit(e)}setDescribedByIds(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return n.\u0275fac=function(e){return new(e||n)(F(Ql),F(di),F(pt),F(y1),F(bt),F(Pr,8),F(Wf,8),F(ni,8),F(q1,8),F(Ps,10),Ra("tabindex"),F(MI),F(m1),F(sG,8))},n.\u0275dir=Ke({type:n,viewQuery:function(e,i){if(1&e&&(ft(K$,5),ft(Z$,5),ft(G2,5)),2&e){let o;nt(o=it())&&(i.trigger=o.first),nt(o=it())&&(i.panel=o.first),nt(o=it())&&(i._overlayDir=o.first)}},inputs:{userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:"typeaheadDebounceInterval",sortComparator:"sortComparator",id:"id"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[dt,Gi]}),n})(),uG=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=Ke({type:n,selectors:[["mat-select-trigger"]],features:[Kt([{provide:wI,useExisting:n}])]}),n})(),Zf=(()=>{class n extends dG{constructor(){super(...arguments),this._positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"}]}get shouldLabelFloat(){return this.panelOpen||!this.empty||this.focused&&!!this.placeholder}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(xn(this._destroy)).subscribe(()=>{this.panelOpen&&(this._overlayWidth=this._getOverlayWidth(),this._changeDetectorRef.detectChanges())})}ngAfterViewInit(){this._parentFormField&&(this._preferredOverlayOrigin=this._parentFormField.getConnectedOverlayOrigin())}open(){this._overlayWidth=this._getOverlayWidth(),super.open(),this.stateChanges.next()}close(){super.close(),this.stateChanges.next()}_scrollOptionIntoView(e){const i=this.options.toArray()[e];if(i){const o=this.panel.nativeElement,s=function W9(n,t,e){if(e.length){let i=t.toArray(),o=e.toArray(),s=0;for(let a=0;ae+i?Math.max(0,n-i+t):e}(a.offsetTop,a.offsetHeight,o.scrollTop,o.offsetHeight)}}_positioningSettled(){this._scrollOptionIntoView(this._keyManager.activeItemIndex||0)}_getChangeEvent(e){return new lG(this,e)}_getOverlayWidth(){return(this._preferredOverlayOrigin instanceof r1?this._preferredOverlayOrigin.elementRef:this._preferredOverlayOrigin||this._elementRef).nativeElement.getBoundingClientRect().width}}return n.\u0275fac=function(){let t;return function(i){return(t||(t=zn(n)))(i||n)}}(),n.\u0275cmp=qe({type:n,selectors:[["mat-select"]],contentQueries:function(e,i,o){if(1&e&&(Qi(o,wI,5),Qi(o,nu,5),Qi(o,CL,5)),2&e){let s;nt(s=it())&&(i.customTrigger=s.first),nt(s=it())&&(i.options=s),nt(s=it())&&(i.optionGroups=s)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","listbox",1,"mat-mdc-select"],hostVars:19,hostBindings:function(e,i){1&e&&ye("keydown",function(s){return i._handleKeydown(s)})("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()}),2&e&&(Ut("id",i.id)("tabindex",i.tabIndex)("aria-controls",i.panelOpen?i.id+"-panel":null)("aria-expanded",i.panelOpen)("aria-label",i.ariaLabel||null)("aria-required",i.required.toString())("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-activedescendant",i._getAriaActiveDescendant()),Gt("mat-mdc-select-disabled",i.disabled)("mat-mdc-select-invalid",i.errorState)("mat-mdc-select-required",i.required)("mat-mdc-select-empty",i.empty)("mat-mdc-select-multiple",i.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex"},exportAs:["matSelect"],features:[Kt([{provide:G1,useExisting:n},{provide:xL,useExisting:n}]),dt],ngContentSelectors:iG,decls:11,vars:11,consts:[["cdk-overlay-origin","",1,"mat-mdc-select-trigger",3,"click"],["fallbackOverlayOrigin","cdkOverlayOrigin","trigger",""],[1,"mat-mdc-select-value",3,"ngSwitch"],["class","mat-mdc-select-placeholder mat-mdc-select-min-line",4,"ngSwitchCase"],["class","mat-mdc-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-mdc-select-arrow-wrapper"],[1,"mat-mdc-select-arrow"],["viewBox","0 0 24 24","width","24px","height","24px","focusable","false"],["d","M7 10l5 5 5-5z"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayWidth","backdropClick","attach","detach"],[1,"mat-mdc-select-placeholder","mat-mdc-select-min-line"],[1,"mat-mdc-select-value-text",3,"ngSwitch"],["class","mat-mdc-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-mdc-select-min-line"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(e,i){if(1&e&&(_r(nG),D(0,"div",0,1),ye("click",function(){return i.toggle()}),D(3,"div",2),j(4,X$,2,1,"span",3),j(5,eG,3,2,"span",4),C(),D(6,"div",5)(7,"div",6),fs(),D(8,"svg",7),xe(9,"path",8),C()()()(),j(10,tG,3,9,"ng-template",9),ye("backdropClick",function(){return i.close()})("attach",function(){return i._onAttached()})("detach",function(){return i.close()})),2&e){const o=li(1);Ut("aria-owns",i.panelOpen?i.id+"-panel":null),d(3),w("ngSwitch",i.empty),Ut("id",i._valueId),d(1),w("ngSwitchCase",!0),d(1),w("ngSwitchCase",!1),d(5),w("cdkConnectedOverlayPanelClass",i._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",i._scrollStrategy)("cdkConnectedOverlayOrigin",i._preferredOverlayOrigin||o)("cdkConnectedOverlayOpen",i.panelOpen)("cdkConnectedOverlayPositions",i._positions)("cdkConnectedOverlayWidth",i._overlayWidth)}},dependencies:[On,Uh,Ty,IS,G2,r1],styles:['.mdc-menu-surface{display:none;position:absolute;box-sizing:border-box;max-width:calc(100vw - 32px);max-width:var(--mdc-menu-max-width, calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:var(--mdc-menu-max-height, calc(100vh - 32px));margin:0;padding:0;transform:scale(1);transform-origin:top left;opacity:0;overflow:auto;will-change:transform,opacity;z-index:8;border-radius:4px;border-radius:var(--mdc-shape-medium, 4px);transform-origin-left:top left;transform-origin-right:top right}.mdc-menu-surface:focus{outline:none}.mdc-menu-surface--animating-open{display:inline-block;transform:scale(0.8);opacity:0}.mdc-menu-surface--open{display:inline-block;transform:scale(1);opacity:1}.mdc-menu-surface--animating-closed{display:inline-block;opacity:0}[dir=rtl] .mdc-menu-surface,.mdc-menu-surface[dir=rtl]{transform-origin-left:top right;transform-origin-right:top left}.mdc-menu-surface--anchor{position:relative;overflow:visible}.mdc-menu-surface--fixed{position:fixed}.mdc-menu-surface--fullwidth{width:100%}.mat-mdc-select{display:inline-block;width:100%;outline:none}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:translateY(-8px)}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-select-arrow{width:10px;height:5px;position:relative}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:GrayText}.mdc-menu-surface.mat-mdc-select-panel{width:100%;max-height:275px;position:static;outline:0;margin:0;padding:8px 0;list-style-type:none}.mdc-menu-surface.mat-mdc-select-panel:focus{outline:none}.cdk-high-contrast-active .mdc-menu-surface.mat-mdc-select-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) .mdc-menu-surface.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above .mdc-menu-surface.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}'],encapsulation:2,data:{animation:[rG.transformPanel]},changeDetection:0}),n})(),hG=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({providers:[aG],imports:[na,Qd,kL,Hn,kf,Ig,kL,Hn]}),n})();function fG(n,t){if(1&n&&xe(0,"input",9),2&n){const e=z().$implicit;w("formControlName",e.keyNameInFiltersObject)("maxlength",e.maxlength)}}function pG(n,t){if(1&n&&(D(0,"div",14),xe(1,"div",15),C()),2&n){const e=z().$implicit,i=z(2).$implicit;ci("background-image: url('"+i.printableLabelGeneralSettings.defaultImage+"'); width: "+i.printableLabelGeneralSettings.imageWidth+"px; height: "+i.printableLabelGeneralSettings.imageHeight+"px;"),d(1),ci("background-image: url('"+e.image+"');")}}function mG(n,t){if(1&n&&(D(0,"mat-option",12),j(1,pG,2,4,"div",13),I(2),R(3,"translate"),C()),2&n){const e=t.$implicit,i=z(2).$implicit;w("value",e.value),d(1),w("ngIf",i.printableLabelGeneralSettings&&e.image),d(1),me(" ",B(3,3,e.label)," ")}}function _G(n,t){if(1&n&&(D(0,"mat-select",10),j(1,mG,4,5,"mat-option",11),C()),2&n){const e=z().$implicit;w("formControlName",e.keyNameInFiltersObject),d(1),w("ngForOf",e.printableLabelsForValues)}}function gG(n,t){if(1&n&&($e(0),D(1,"mat-form-field")(2,"div",5)(3,"label",6),I(4),R(5,"translate"),C(),j(6,fG,1,2,"input",7),j(7,_G,2,2,"mat-select",8),C()(),Ge()),2&n){const e=t.$implicit,i=z();d(4),oe(B(5,3,e.filterName)),d(2),w("ngIf",e.type===i.filterFieldTypes.TextInput),d(1),w("ngIf",e.type===i.filterFieldTypes.Select)}}class lc{constructor(t,e,i){this.data=t,this.dialogRef=e,this.formBuilder=i,this.filterFieldTypes=Zn}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.smallModalWidth,t.open(lc,i)}ngOnInit(){const t={};this.data.filterPropertiesList.forEach(e=>{t[e.keyNameInFiltersObject]=[this.data.currentFilters[e.keyNameInFiltersObject]]}),this.form=this.formBuilder.group(t)}apply(){const t={};this.data.filterPropertiesList.forEach(e=>{t[e.keyNameInFiltersObject]=this.form.get(e.keyNameInFiltersObject).value.trim()}),this.dialogRef.close(t)}}lc.\u0275fac=function(t){return new(t||lc)(F(Si),F(Vn),F(xr))},lc.\u0275cmp=qe({type:lc,selectors:[["app-filters-selection"]],decls:8,vars:9,consts:[[3,"headline","dialog"],[3,"formGroup"],[4,"ngFor","ngForOf"],["color","primary",1,"float-right",3,"action"],["button",""],[1,"field-container"],["for","remoteKey",1,"field-label"],["matInput","",3,"formControlName","maxlength",4,"ngIf"],[3,"formControlName",4,"ngIf"],["matInput","",3,"formControlName","maxlength"],[3,"formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["class","image-container",3,"style",4,"ngIf"],[1,"image-container"],[1,"image"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1),j(3,gG,8,5,"ng-container",2),C(),D(4,"app-button",3,4),ye("action",function(){return e.apply()}),I(6),R(7,"translate"),C()()),2&t&&(w("headline",B(1,5,"filters.filter-action"))("dialog",e.dialogRef),d(2),w("formGroup",e.form),d(1),w("ngForOf",e.data.filterPropertiesList),d(3),me(" ",B(7,7,"common.ok")," "))},dependencies:[Ci,Ot,Yi,Fi,Ri,Ni,wr,ni,Di,tr,Cr,Zf,nu,ii,Rn,Ct],styles:[".image-container[_ngcontent-%COMP%]{display:inline-block;background-size:contain;margin-right:5px}.image-container[_ngcontent-%COMP%] .image[_ngcontent-%COMP%]{background-size:contain;width:100%;height:100%}"]});class mu{constructor(t,e,i,o,s){this.dialog=t,this.route=e,this.router=i,this.currentFiltersTextsInternal=[],this.dataUpdatedSubject=new X,this.filterPropertiesList=o,this.currentFilters={},this.filterPropertiesList.forEach(a=>{a.keyNameInFiltersObject=s+"_"+a.keyNameInElementsArray,this.currentFilters[a.keyNameInFiltersObject]=""}),this.navigationsSubscription=this.route.queryParamMap.subscribe(a=>{Object.keys(this.currentFilters).forEach(l=>{a.has(l)&&(this.currentFilters[l]=a.get(l))}),this.currentUrlQueryParamsInternal={},a.keys.forEach(l=>{this.currentUrlQueryParamsInternal[l]=a.get(l)}),this.filter()})}get currentFiltersTexts(){return this.currentFiltersTextsInternal}get currentUrlQueryParams(){return this.currentUrlQueryParamsInternal}get dataFiltered(){return this.dataUpdatedSubject.asObservable()}dispose(){this.dataUpdatedSubject.complete(),this.navigationsSubscription.unsubscribe()}setData(t){this.data=t,this.filter()}removeFilters(){const t=Wt.createConfirmationDialog(this.dialog,"filters.remove-confirmation");t.componentInstance.operationAccepted.subscribe(()=>{t.componentInstance.closeModal(),this.router.navigate([],{queryParams:{}})})}changeFilters(){lc.openDialog(this.dialog,{filterPropertiesList:this.filterPropertiesList,currentFilters:this.currentFilters}).afterClosed().subscribe(e=>{e&&this.router.navigate([],{queryParams:e})})}filter(){if(this.data){let t,e=!1;Object.keys(this.currentFilters).forEach(i=>{this.currentFilters[i]&&(e=!0)}),e?(t=function R$(n,t,e){if(n){const i=[];return Object.keys(t).forEach(s=>{if(t[s])for(const a of e)if(a.keyNameInFiltersObject===s){i.push(a);break}}),n.filter(s=>{let a=!0;return i.forEach(l=>{const c=String(s[l.keyNameInElementsArray]).toLowerCase().includes(t[l.keyNameInFiltersObject].toLowerCase()),M=l.secondaryKeyNameInElementsArray&&String(s[l.secondaryKeyNameInElementsArray]).toLowerCase().includes(t[l.keyNameInFiltersObject].toLowerCase());!c&&!M&&(a=!1)}),a})}return null}(this.data,this.currentFilters,this.filterPropertiesList),this.updateCurrentFilters()):(t=this.data,this.updateCurrentFilters()),this.dataUpdatedSubject.next(t)}}updateCurrentFilters(){this.currentFiltersTextsInternal=function N$(n,t){const e=[];return t.forEach(i=>{if(n[i.keyNameInFiltersObject]){let o,s;i.printableLabelsForValues&&i.printableLabelsForValues.forEach(a=>{a.value===n[i.keyNameInFiltersObject]&&(s=a.label)}),s||(o=n[i.keyNameInFiltersObject]),e.push({filterName:i.filterName,translatableValue:s,value:o})}}),e}(this.currentFilters,this.filterPropertiesList)}}function bG(n,t){if(1&n){const e=tt();D(0,"div",5)(1,"div",6)(2,"div",7),I(3),C(),D(4,"div",8),I(5),C()(),D(6,"div",9)(7,"app-button",10),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).openTerminal(s.key))}),I(8),R(9,"translate"),C()()()}if(2&n){const e=t.$implicit;d(3),oe(e.label),d(2),oe(e.version),d(3),me(" ",B(9,3,"update-all.update-button")," ")}}function vG(n,t){if(1&n&&($e(0),D(1,"div",2),I(2),R(3,"translate"),C(),D(4,"div",3),j(5,bG,10,5,"div",4),C(),Ge()),2&n){const e=z();d(2),me(" ",B(3,2,"update-all.updatable-list-text")," "),d(3),w("ngForOf",e.updatableNodes)}}function yG(n,t){if(1&n&&(D(0,"div",8),I(1),C()),2&n){const e=z().$implicit;d(1),oe(e.tag)}}function MG(n,t){if(1&n&&(D(0,"div",5)(1,"div",6)(2,"div",7),I(3),C(),D(4,"div",8),I(5),C(),j(6,yG,2,1,"div",11),C()()),2&n){const e=t.$implicit;d(3),oe(e.label),d(2),oe(e.version),d(1),w("ngIf",e.tag)}}function wG(n,t){if(1&n&&($e(0),D(1,"div",2),I(2),R(3,"translate"),C(),D(4,"div",3),j(5,MG,7,3,"div",4),C(),Ge()),2&n){const e=z();d(2),me(" ",B(3,2,"update-all.non-updatable-list-text")," "),d(3),w("ngForOf",e.nonUpdatableNodes)}}class cc{constructor(t,e){this.dialogRef=t,this.updatableNodes=e[0],this.nonUpdatableNodes=e[1]}static openDialog(t,e,i){const o=new An;return o.data=[e,i],o.autoFocus=!1,o.width=Ht.smallModalWidth,t.open(cc,o)}openTerminal(t){const e=window.location.protocol,i=window.location.host.replace("localhost:4200","127.0.0.1:8000");window.open(e+"//"+i+"/pty/"+t+"?commands=update","_blank","noopener noreferrer")}}cc.\u0275fac=function(t){return new(t||cc)(F(Vn),F(Si))},cc.\u0275cmp=qe({type:cc,selectors:[["app-update-all"]],decls:4,vars:6,consts:[[3,"headline","dialog"],[4,"ngIf"],[1,"text-container"],[1,"list-container"],["class","list-element",4,"ngFor","ngForOf"],[1,"list-element"],[1,"left-part"],[1,"name"],[1,"version"],[1,"right-part"],["color","primary",3,"click"],["class","version",4,"ngIf"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),j(2,vG,6,4,"ng-container",1),j(3,wG,6,4,"ng-container",1),C()),2&t&&(w("headline",B(1,4,"update-all.title"))("dialog",e.dialogRef),d(2),w("ngIf",e.updatableNodes&&e.updatableNodes.length>0),d(1),w("ngIf",e.nonUpdatableNodes&&e.nonUpdatableNodes.length>0))},dependencies:[Ci,Ot,ii,Rn,Ct],styles:[".text-container[_ngcontent-%COMP%]{word-break:break-word}.list-container[_ngcontent-%COMP%]{font-size:14px;margin:10px;color:#215f9e;word-break:break-word;line-height:1.2}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%]{display:flex;margin-bottom:10px}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-part[_ngcontent-%COMP%]{flex-grow:1;flex-shrink:1;align-self:center;margin-right:10px;min-width:0}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-part[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 575px){.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-part[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:.7rem}}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-part[_ngcontent-%COMP%] .version[_ngcontent-%COMP%]{font-size:.7rem;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .right-part[_ngcontent-%COMP%]{flex-basis:0;flex-shrink:0}.list-container[_ngcontent-%COMP%] .details[_ngcontent-%COMP%]{color:#777}"]});const xG=["input"],CG=["label"],kG=["*"],SG=new Be("mat-checkbox-default-options",{providedIn:"root",factory:xI});function xI(){return{color:"accent",clickAction:"check-indeterminate"}}const DG={provide:os,useExisting:sn(()=>pa),multi:!0};class TG{}let LG=0;const CI=xI(),EG=mL(If(Pf(tu(class{constructor(n){this._elementRef=n}}))));let IG=(()=>{class n extends EG{constructor(e,i,o,s,a,l,c){super(i),this._changeDetectorRef=o,this._ngZone=s,this._animationMode=l,this._options=c,this.ariaLabel="",this.ariaLabelledby=null,this.labelPosition="after",this.name=null,this.change=new ht,this.indeterminateChange=new ht,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||CI,this.color=this.defaultColor=this._options.color||CI.color,this.tabIndex=parseInt(a)||0,this.id=this._uniqueId=`${e}${++LG}`}get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(e){this._required=hn(e)}ngAfterViewInit(){this._syncIndeterminate(this._indeterminate)}get checked(){return this._checked}set checked(e){const i=hn(e);i!=this.checked&&(this._checked=i,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(e){const i=hn(e);i!==this.disabled&&(this._disabled=i,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(e){const i=e!=this._indeterminate;this._indeterminate=hn(e),i&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(e){this.checked=!!e}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e}_getAriaChecked(){return this.checked?"true":this.indeterminate?"mixed":"false"}_transitionCheckState(e){let i=this._currentCheckState,o=this._getAnimationTargetElement();if(i!==e&&o&&(this._currentAnimationClass&&o.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(i,e),this._currentCheckState=e,this._currentAnimationClass.length>0)){o.classList.add(this._currentAnimationClass);const s=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{o.classList.remove(s)},1e3)})}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.checked),this.change.emit(this._createChangeEvent(this.checked)),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked,this._controlValueAccessorChangeFn(this.checked)}_handleInputClick(){const e=this._options?.clickAction;this.disabled||"noop"===e?!this.disabled&&"noop"===e&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==e&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this._checked=!this._checked,this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}_onInteractionEvent(e){e.stopPropagation()}_onBlur(){Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}_getAnimationClassForCheckStateTransition(e,i){if("NoopAnimations"===this._animationMode)return"";switch(e){case 0:if(1===i)return this._animationClasses.uncheckedToChecked;if(3==i)return this._checked?this._animationClasses.checkedToIndeterminate:this._animationClasses.uncheckedToIndeterminate;break;case 2:return 1===i?this._animationClasses.uncheckedToChecked:this._animationClasses.uncheckedToIndeterminate;case 1:return 2===i?this._animationClasses.checkedToUnchecked:this._animationClasses.checkedToIndeterminate;case 3:return 1===i?this._animationClasses.indeterminateToChecked:this._animationClasses.indeterminateToUnchecked}return""}_syncIndeterminate(e){const i=this._inputElement;i&&(i.nativeElement.indeterminate=e)}}return n.\u0275fac=function(e){Ya()},n.\u0275dir=Ke({type:n,viewQuery:function(e,i){if(1&e&&(ft(xG,5),ft(CG,5),ft(Ts,5)),2&e){let o;nt(o=it())&&(i._inputElement=o.first),nt(o=it())&&(i._labelElement=o.first),nt(o=it())&&(i.ripple=o.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],id:"id",required:"required",labelPosition:"labelPosition",name:"name",value:"value",checked:"checked",disabled:"disabled",indeterminate:"indeterminate"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},features:[dt]}),n})(),pa=(()=>{class n extends IG{constructor(e,i,o,s,a,l){super("mat-mdc-checkbox-",e,i,o,s,a,l),this._animationClasses={uncheckedToChecked:"mdc-checkbox--anim-unchecked-checked",uncheckedToIndeterminate:"mdc-checkbox--anim-unchecked-indeterminate",checkedToUnchecked:"mdc-checkbox--anim-checked-unchecked",checkedToIndeterminate:"mdc-checkbox--anim-checked-indeterminate",indeterminateToChecked:"mdc-checkbox--anim-indeterminate-checked",indeterminateToUnchecked:"mdc-checkbox--anim-indeterminate-unchecked"}}focus(){this._inputElement.nativeElement.focus()}_createChangeEvent(e){const i=new TG;return i.source=this,i.checked=e,i}_getAnimationTargetElement(){return this._inputElement?.nativeElement}_onInputClick(){super._handleInputClick()}_preventBubblingFromLabel(e){e.target&&this._labelElement.nativeElement.contains(e.target)&&e.stopPropagation()}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(di),F(pt),Ra("tabindex"),F(Vi,8),F(SG,8))},n.\u0275cmp=qe({type:n,selectors:[["mat-checkbox"]],hostAttrs:[1,"mat-mdc-checkbox"],hostVars:12,hostBindings:function(e,i){2&e&&(Qs("id",i.id),Ut("tabindex",null)("aria-label",null)("aria-labelledby",null),Gt("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mdc-checkbox--disabled",i.disabled)("mat-mdc-checkbox-disabled",i.disabled)("mat-mdc-checkbox-checked",i.checked))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matCheckbox"],features:[Kt([DG]),dt],ngContentSelectors:kG,decls:15,vars:19,consts:[[1,"mdc-form-field",3,"click"],[1,"mdc-checkbox"],["checkbox",""],[1,"mat-mdc-checkbox-touch-target",3,"click"],["type","checkbox",1,"mdc-checkbox__native-control",3,"checked","disabled","id","required","tabIndex","blur","click","change"],["input",""],[1,"mdc-checkbox__ripple"],[1,"mdc-checkbox__background"],["focusable","false","viewBox","0 0 24 24","aria-hidden","true",1,"mdc-checkbox__checkmark"],["fill","none","d","M1.73,12.91 8.1,19.28 22.79,4.59",1,"mdc-checkbox__checkmark-path"],[1,"mdc-checkbox__mixedmark"],["mat-ripple","",1,"mat-mdc-checkbox-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[3,"for"],["label",""]],template:function(e,i){if(1&e&&(_r(),D(0,"div",0),ye("click",function(s){return i._preventBubblingFromLabel(s)}),D(1,"div",1,2)(3,"div",3),ye("click",function(){return i._onInputClick()}),C(),D(4,"input",4,5),ye("blur",function(){return i._onBlur()})("click",function(){return i._onInputClick()})("change",function(s){return i._onInteractionEvent(s)}),C(),xe(6,"div",6),D(7,"div",7),fs(),D(8,"svg",8),xe(9,"path",9),C(),kl(),xe(10,"div",10),C(),xe(11,"div",11),C(),D(12,"label",12,13),vn(14),C()()),2&e){const o=li(2);Gt("mdc-form-field--align-end","before"==i.labelPosition),d(4),Gt("mdc-checkbox--selected",i.checked),w("checked",i.checked)("disabled",i.disabled)("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex),Ut("aria-checked",i._getAriaChecked())("aria-label",i.ariaLabel||null)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby)("name",i.name)("value",i.value),d(7),w("matRippleTrigger",o)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0),d(1),w("for",i.inputId)}},dependencies:[Ts],styles:['.mdc-touch-target-wrapper{display:inline}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:mdc-animation-deceleration-curve-timing-function;transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom}.mdc-checkbox[hidden]{display:none}.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%}@media screen and (forced-colors: active){.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{border-color:CanvasText}}.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{border-color:CanvasText}}@media all and (-ms-high-contrast: none){.mdc-checkbox .mdc-checkbox__focus-ring{display:none}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-checkbox__mixedmark{margin:0 1px}}.mdc-checkbox--disabled{cursor:default;pointer-events:none}.mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--upgraded .mdc-checkbox__checkmark{opacity:1}.mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;transition:none}.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;transition:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background{transition:border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit}.mdc-checkbox__native-control:disabled{cursor:default;pointer-events:none}.mdc-checkbox--touch{margin:calc((var(--mdc-checkbox-state-layer-size, 48px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2)}.mdc-checkbox--touch .mdc-checkbox__native-control{top:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);right:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 48px)) / 2);width:var(--mdc-checkbox-state-layer-size, 48px);height:var(--mdc-checkbox-state-layer-size, 48px)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__mixedmark{transition:none}.mdc-form-field{display:inline-flex;align-items:center;vertical-align:middle}.mdc-form-field[hidden]{display:none}.mdc-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{margin-left:auto;margin-right:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{padding-left:0;padding-right:4px}.mdc-form-field--nowrap>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{margin-left:0;margin-right:auto}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{padding-left:4px;padding-right:0}.mdc-form-field--space-between{justify-content:space-between}.mdc-form-field--space-between>label{margin:0}[dir=rtl] .mdc-form-field--space-between>label,.mdc-form-field--space-between>label[dir=rtl]{margin:0}.mat-mdc-checkbox{display:inline-block;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-checkbox .mdc-checkbox{padding:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px) / 2);margin:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2)}.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-disabled-unselected-icon-color, rgba(0, 0, 0, 0.38));background-color:transparent}.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control[disabled]:checked~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control[disabled]:indeterminate~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true][disabled]~.mdc-checkbox__background{border-color:transparent;background-color:var(--mdc-checkbox-disabled-selected-icon-color, rgba(0, 0, 0, 0.38))}.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:var(--mdc-checkbox-selected-checkmark-color, #fff)}.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-selected-checkmark-color, #fff)}.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:var(--mdc-checkbox-disabled-selected-checkmark-color, #fff)}.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-disabled-selected-checkmark-color, #fff)}.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-icon-color, rgba(0, 0, 0, 0.54));background-color:transparent}.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786));background-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786))}@keyframes mdc-checkbox-fade-in-background-8A000000FF01878600000000FF018786{0%{border-color:var(--mdc-checkbox-unselected-icon-color, rgba(0, 0, 0, 0.54));background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786));background-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786))}}@keyframes mdc-checkbox-fade-out-background-8A000000FF01878600000000FF018786{0%,80%{border-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786));background-color:var(--mdc-checkbox-selected-icon-color, var(--mdc-theme-secondary, #018786))}100%{border-color:var(--mdc-checkbox-unselected-icon-color, rgba(0, 0, 0, 0.54));background-color:transparent}}.mat-mdc-checkbox .mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-8A000000FF01878600000000FF018786}.mat-mdc-checkbox .mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-8A000000FF01878600000000FF018786}.mat-mdc-checkbox .mdc-checkbox:hover .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-hover-icon-color, var(--mdc-theme-secondary, #018786));background-color:transparent}.mat-mdc-checkbox .mdc-checkbox:hover .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:hover .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:hover .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-hover-icon-color, var(--mdc-theme-secondary, #018786));background-color:var(--mdc-checkbox-selected-hover-icon-color, var(--mdc-theme-secondary, #018786))}@keyframes mdc-checkbox-fade-in-background-FF018786FF01878600000000FF018786{0%{border-color:var(--mdc-checkbox-unselected-hover-icon-color, var(--mdc-theme-secondary, #018786));background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-hover-icon-color, var(--mdc-theme-secondary, #018786));background-color:var(--mdc-checkbox-selected-hover-icon-color, var(--mdc-theme-secondary, #018786))}}@keyframes mdc-checkbox-fade-out-background-FF018786FF01878600000000FF018786{0%,80%{border-color:var(--mdc-checkbox-selected-hover-icon-color, var(--mdc-theme-secondary, #018786));background-color:var(--mdc-checkbox-selected-hover-icon-color, var(--mdc-theme-secondary, #018786))}100%{border-color:var(--mdc-checkbox-unselected-hover-icon-color, var(--mdc-theme-secondary, #018786));background-color:transparent}}.mat-mdc-checkbox .mdc-checkbox:hover.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:hover.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-FF018786FF01878600000000FF018786}.mat-mdc-checkbox .mdc-checkbox:hover.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:hover.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-FF018786FF01878600000000FF018786}.mat-mdc-checkbox .mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-focus-icon-color, var(--mdc-theme-secondary, #018786));background-color:transparent}.mat-mdc-checkbox .mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-focus-icon-color, var(--mdc-theme-secondary, #018786));background-color:var(--mdc-checkbox-selected-focus-icon-color, var(--mdc-theme-secondary, #018786))}@keyframes mdc-checkbox-fade-in-background-FF018786FF01878600000000FF018786{0%{border-color:var(--mdc-checkbox-unselected-focus-icon-color, var(--mdc-theme-secondary, #018786));background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-focus-icon-color, var(--mdc-theme-secondary, #018786));background-color:var(--mdc-checkbox-selected-focus-icon-color, var(--mdc-theme-secondary, #018786))}}@keyframes mdc-checkbox-fade-out-background-FF018786FF01878600000000FF018786{0%,80%{border-color:var(--mdc-checkbox-selected-focus-icon-color, var(--mdc-theme-secondary, #018786));background-color:var(--mdc-checkbox-selected-focus-icon-color, var(--mdc-theme-secondary, #018786))}100%{border-color:var(--mdc-checkbox-unselected-focus-icon-color, var(--mdc-theme-secondary, #018786));background-color:transparent}}.mat-mdc-checkbox .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:not(.mdc-ripple-upgraded):focus.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:not(.mdc-ripple-upgraded):focus.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-FF018786FF01878600000000FF018786}.mat-mdc-checkbox .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox.mdc-ripple-upgraded--background-focused.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:not(.mdc-ripple-upgraded):focus.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:not(.mdc-ripple-upgraded):focus.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-FF018786FF01878600000000FF018786}.mat-mdc-checkbox .mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-pressed-icon-color, rgba(0, 0, 0, 0.54));background-color:transparent}.mat-mdc-checkbox .mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-pressed-icon-color, var(--mdc-theme-secondary, #018786));background-color:var(--mdc-checkbox-selected-pressed-icon-color, var(--mdc-theme-secondary, #018786))}@keyframes mdc-checkbox-fade-in-background-8A000000FF01878600000000FF018786{0%{border-color:var(--mdc-checkbox-unselected-pressed-icon-color, rgba(0, 0, 0, 0.54));background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-pressed-icon-color, var(--mdc-theme-secondary, #018786));background-color:var(--mdc-checkbox-selected-pressed-icon-color, var(--mdc-theme-secondary, #018786))}}@keyframes mdc-checkbox-fade-out-background-8A000000FF01878600000000FF018786{0%,80%{border-color:var(--mdc-checkbox-selected-pressed-icon-color, var(--mdc-theme-secondary, #018786));background-color:var(--mdc-checkbox-selected-pressed-icon-color, var(--mdc-theme-secondary, #018786))}100%{border-color:var(--mdc-checkbox-unselected-pressed-icon-color, rgba(0, 0, 0, 0.54));background-color:transparent}}.mat-mdc-checkbox .mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-8A000000FF01878600000000FF018786}.mat-mdc-checkbox .mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mat-mdc-checkbox .mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-8A000000FF01878600000000FF018786}.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__background{top:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px) / 2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - 18px) / 2)}.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control{top:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2);right:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2);left:calc((var(--mdc-checkbox-state-layer-size, 40px) - var(--mdc-checkbox-state-layer-size, 40px)) / 2);width:var(--mdc-checkbox-state-layer-size, 40px);height:var(--mdc-checkbox-state-layer-size, 40px)}.mat-mdc-checkbox .mdc-checkbox:hover .mdc-checkbox__native-control:not([disabled])~.mdc-checkbox__ripple{opacity:.04;transform:scale(1);transition:opacity 80ms 0 cubic-bezier(0, 0, 0.2, 1),transform 80ms 0 cubic-bezier(0, 0, 0.2, 1)}.mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control:not([disabled]):focus~.mdc-checkbox__ripple{opacity:.16}.mat-mdc-checkbox .mdc-checkbox__background{-webkit-print-color-adjust:exact;color-adjust:exact}.mat-mdc-checkbox._mat-animation-noopable *,.mat-mdc-checkbox._mat-animation-noopable *::before{transition:none !important;animation:none !important}.mat-mdc-checkbox label{cursor:pointer}.mat-mdc-checkbox.mat-mdc-checkbox-disabled label{cursor:default}.mat-mdc-checkbox label:empty{display:none}.mat-mdc-checkbox .mdc-checkbox__native-control:focus:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-focus-icon-color, black)}.cdk-high-contrast-active .mat-mdc-checkbox.mat-mdc-checkbox-disabled{opacity:.5}.cdk-high-contrast-active .mat-mdc-checkbox .mdc-checkbox__checkmark{--mdc-checkbox-selected-checkmark-color: CanvasText;--mdc-checkbox-disabled-selected-checkmark-color: CanvasText}.mat-mdc-checkbox .mdc-checkbox__ripple{opacity:0}.mat-mdc-checkbox-ripple,.mdc-checkbox__ripple{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-checkbox-ripple:not(:empty),.mdc-checkbox__ripple:not(:empty){transform:translateZ(0)}.mat-mdc-checkbox-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mat-mdc-checkbox-ripple::before{border-radius:50%}.mdc-checkbox__native-control:focus~.mat-mdc-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0}),n})(),kI=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({}),n})(),AG=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[Hn,Ff,kI,Hn,kI]}),n})();const FG=["button"];function RG(n,t){1&n&&(D(0,"span",22),I(1),R(2,"translate"),C()),2&n&&(d(1),me(" ",B(2,1,"bulk-rewards.checking"),""))}function NG(n,t){if(1&n&&(D(0,"span",23)(1,"span"),I(2),R(3,"translate"),C(),D(4,"span"),I(5),R(6,"translate"),C()()),2&n){const e=z(2).$implicit;d(2),me(" ",B(3,2,"bulk-rewards.error-checking"),""),d(3),me(" ",B(6,4,e.operationError),"")}}function YG(n,t){if(1&n&&(D(0,"span"),I(1),C()),2&n){const e=z(2).$implicit;d(1),me(" ",e.currentAddress,"")}}function BG(n,t){1&n&&(D(0,"span"),I(1),R(2,"translate"),C()),2&n&&(d(1),me(" ",B(2,1,"bulk-rewards.not-registered"),""))}function HG(n,t){if(1&n&&($e(0,15),D(1,"mat-checkbox",16)(2,"div")(3,"div",17),I(4),C(),D(5,"div",18)(6,"span",19),I(7),R(8,"translate"),C(),j(9,RG,3,3,"span",20),j(10,NG,7,6,"span",21),j(11,YG,2,1,"span",12),j(12,BG,3,3,"span",12),C()()(),Ge()),2&n){const e=z(),o=e.$implicit;w("formGroupName",e.index),d(4),me(" ",o.label," "),d(3),oe(B(8,7,"bulk-rewards.current-address")),d(2),w("ngIf",null===o.currentAddress&&!o.operationError),d(1),w("ngIf",o.operationError),d(1),w("ngIf",o.currentAddress&&!o.operationError),d(1),w("ngIf",""===o.currentAddress&&!o.operationError)}}function VG(n,t){1&n&&(D(0,"span",22),I(1),R(2,"translate"),C()),2&n&&(d(1),me(" ",B(2,1,"bulk-rewards.processing"),""))}function jG(n,t){if(1&n&&(D(0,"span",23)(1,"span"),I(2),R(3,"translate"),C(),D(4,"span"),I(5),R(6,"translate"),C()()),2&n){const e=z(2).$implicit;d(2),me(" ",B(3,2,"bulk-rewards.error-processing"),""),d(3),me(" ",B(6,4,e.operationError),"")}}function zG(n,t){1&n&&(D(0,"span",28),I(1),R(2,"translate"),C()),2&n&&(d(1),me(" ",B(2,1,"bulk-rewards.done"),""))}function UG(n,t){if(1&n&&($e(0),D(1,"div",24),I(2,"-"),C(),D(3,"div",25),I(4),D(5,"div",26),j(6,VG,3,3,"span",20),j(7,jG,7,6,"span",21),j(8,zG,3,3,"span",27),C()(),Ge()),2&n){const e=z().$implicit;d(4),me(" ",e.label," "),d(2),w("ngIf",e.processing&&!e.operationError),d(1),w("ngIf",e.operationError),d(1),w("ngIf",!e.processing&&!e.operationError)}}const WG=function(n){return{"element-margin":n}};function $G(n,t){if(1&n&&(D(0,"div",13),j(1,HG,13,9,"ng-container",14),j(2,UG,9,4,"ng-container",12),C()),2&n){const e=z();w("ngClass",Ve(3,WG,e.processingStarted)),d(1),w("ngIf",!e.processingStarted),d(1),w("ngIf",e.processingStarted)}}function GG(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"bulk-rewards.perform-changes")))}function qG(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"common.close")))}const KG=function(n){return{"element-disabled":n}};class dc{constructor(t,e,i,o,s){this.dialogRef=t,this.data=e,this.nodeService=i,this.formBuilder=o,this.dialog=s,this.processingStarted=!1,this.processingFinished=!1,this.currentlyProcessed=0,this.form=o.group({address:["",Vt.compose([Vt.minLength(20),Vt.maxLength(40)])],nodes:o.array([])}),e.nodes.forEach(a=>{const l=this.formBuilder.group({selected:[!0]});this.form.get("nodes").push(l)}),this.startChecking()}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.smallModalWidth,t.open(dc,i)}formValid(){if(!this.processingStarted){if(!this.form.valid)return!1;let t=0;return this.form.get("nodes").controls.forEach((e,i)=>{e.get("selected")?.value&&(t+=1)}),t>0}return!0}get disableDismiss(){return this.processingStarted&&!this.processingFinished}startChecking(){this.nodesToEdit=[],this.data.nodes.forEach(t=>{this.nodesToEdit.push({key:t.key,label:t.label,currentAddress:null,operationError:"",processing:!1})}),this.operationSubscriptions=[],this.nodesToEdit.forEach((t,e)=>{this.operationSubscriptions.push(this.nodeService.getRewardsAddress(t.key).subscribe(i=>{this.nodesToEdit[e].currentAddress=i},i=>{this.nodesToEdit[e].operationError=i.translatableErrorMsg?i.translatableErrorMsg:i.originalServerErrorMsg}))})}checkBeforeProcessing(){if(this.form.valid)if(this.form.get("address").value)this.startProcessing();else{const e=Wt.createConfirmationDialog(this.dialog,"bulk-rewards.empty-warning");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.closeModal(),this.startProcessing()})}}startProcessing(){this.processingStarted=!0,this.button.showLoading(),this.closeoperationSubscriptions();const t=[];this.form.get("nodes").controls.forEach((i,o)=>{i.get("selected")?.value&&(this.nodesToEdit[o].operationError="",this.nodesToEdit[o].processing=!0,t.push(this.nodesToEdit[o]))}),this.nodesToEdit=t;const e=this.form.get("address").value;this.form.get("address").disable(),this.currentlyProcessed=0,this.operationSubscriptions=[],this.nodesToEdit.forEach((i,o)=>{let s=this.nodeService.setRewardsAddress(i.key,e);e||(s=this.nodeService.deleteRewardsAddress(i.key)),this.operationSubscriptions.push(We(0).pipe(Ai(100),Ne(()=>s)).subscribe(a=>{this.nodesToEdit[o].processing=!1,this.currentlyProcessed+=1,this.currentlyProcessed===this.nodesToEdit.length&&(this.processingFinished=!0,this.button.reset())},a=>{this.nodesToEdit[o].processing=!1,this.nodesToEdit[o].operationError=a.translatableErrorMsg?a.translatableErrorMsg:a.originalServerErrorMsg,this.currentlyProcessed+=1,this.currentlyProcessed===this.nodesToEdit.length&&(this.processingFinished=!0,this.button.reset())}))})}ngOnDestroy(){this.closeoperationSubscriptions()}closeoperationSubscriptions(){this.operationSubscriptions&&this.operationSubscriptions.forEach(t=>t.unsubscribe())}closeModal(){this.dialogRef.close()}}dc.\u0275fac=function(t){return new(t||dc)(F(Vn),F(Si),F(Mo),F(xr),F(Fn))},dc.\u0275cmp=qe({type:dc,selectors:[["app-bulk-reward-address-changer"]],viewQuery:function(t,e){if(1&t&&ft(FG,5),2&t){let i;nt(i=it())&&(e.button=i.first)}},decls:30,vars:28,consts:[[3,"headline","dialog","disableDismiss"],[3,"formGroup"],[1,"text-container"],["href","https://github.com/skycoin/skywire/blob/master/mainnet_rules.md","target","_blank","rel","noreferrer nofollow noopener"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","address","maxlength","40","matInput","",3,"ngClass"],["formArrayName","nodes",1,"list-container"],["class","list-element",3,"ngClass",4,"ngFor","ngForOf"],[1,"buttons"],["type","mat-raised-button","color","primary",3,"disabled","action"],["button",""],[4,"ngIf"],[1,"list-element",3,"ngClass"],[3,"formGroupName",4,"ngIf"],[3,"formGroupName"],["color","primary","formControlName","selected"],[1,"contents"],[1,"address","contents"],[1,"address-label"],["class","blinking",4,"ngIf"],["class","red-text",4,"ngIf"],[1,"blinking"],[1,"red-text"],[1,"left-area"],[1,"right-area","contents"],[1,"address"],["class","green-text",4,"ngIf"],[1,"green-text"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"div",2)(4,"span"),I(5),R(6,"translate"),C(),D(7,"a",3),I(8),R(9,"translate"),C()(),D(10,"mat-form-field")(11,"div",4)(12,"label",5),I(13),R(14,"translate"),C(),xe(15,"input",6),C(),D(16,"mat-error")(17,"span"),I(18),R(19,"translate"),C()()(),D(20,"div",2),I(21),R(22,"translate"),C(),D(23,"div",7),j(24,$G,3,5,"div",8),C()(),D(25,"div",9)(26,"app-button",10,11),ye("action",function(){return e.processingStarted?e.closeModal():e.checkBeforeProcessing()}),j(28,GG,3,3,"ng-container",12),j(29,qG,3,3,"ng-container",12),C()()()),2&t&&(w("headline",B(1,14,"bulk-rewards.title"))("dialog",e.dialogRef)("disableDismiss",e.disableDismiss),d(2),w("formGroup",e.form),d(3),me("",B(6,16,"bulk-rewards.info")," "),d(3),me(" ",B(9,18,"bulk-rewards.more-info-link")," "),d(5),oe(B(14,20,"rewards-address-config.address")),d(2),w("ngClass",Ve(26,KG,e.processingStarted)),d(3),oe(B(19,22,"rewards-address-config.address-error")),d(3),me(" ",B(22,24,"bulk-rewards.select-visors")," "),d(3),w("ngForOf",e.nodesToEdit),d(2),w("disabled",!e.formValid()),d(2),w("ngIf",!e.processingStarted),d(1),w("ngIf",e.processingStarted))},dependencies:[On,Ci,Ot,Yi,Fi,Ri,Ni,wr,ni,Di,$f,Gf,tr,sl,Cr,pa,ii,Rn,Ct],styles:[".text-container[_ngcontent-%COMP%]{word-break:break-word}mat-form-field[_ngcontent-%COMP%]{margin-top:10px}.list-container[_ngcontent-%COMP%]{font-size:14px;margin:10px;color:#215f9e;word-break:break-word}.list-container[_ngcontent-%COMP%] .element-margin[_ngcontent-%COMP%]{margin:15px 0}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%]{display:flex}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-area[_ngcontent-%COMP%]{width:12px;flex-grow:0;flex-shrink:0}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .right-area[_ngcontent-%COMP%]{flex-grow:1}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .contents[_ngcontent-%COMP%]{white-space:normal;line-height:1.2}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .address[_ngcontent-%COMP%]{font-size:.7rem;color:#777}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .address[_ngcontent-%COMP%] .address-label[_ngcontent-%COMP%]{opacity:.7}.buttons[_ngcontent-%COMP%]{margin-top:15px;text-align:right}.buttons[_ngcontent-%COMP%] app-button[_ngcontent-%COMP%]{margin-left:5px}"]});class ZG{}class _u{constructor(t,e){this.storageService=t,this.nodeService=e,this.dataSubject=new Er(null),this.lastEmitedData=new ZG,this.firstCallToGetDataMade=!1,this.storageService.getRefreshTimeObservable().subscribe(i=>{this.dataRefreshDelay=1e3*i,this.forceRefresh()})}startRequestingData(){return this.firstCallToGetDataMade||this.getData(0),this.dataSubject.asObservable()}getData(t){this.firstCallToGetDataMade=!0,this.updateSubscription&&this.updateSubscription.unsubscribe(),this.updateSubscription=We(1).pipe(Ai(t),ui(()=>{this.lastEmitedData.updating=!0,this.dataSubject.next(this.lastEmitedData)}),Ai(120),Ne(()=>this.nodeService.getNodes())).subscribe(e=>{this.lastEmitedData={data:e,error:null,momentOfLastCorrectUpdate:Date.now(),updating:!1},this.dataSubject.next(this.lastEmitedData),this.getData(this.dataRefreshDelay)},e=>{e=Qt(e),this.lastEmitedData={data:this.lastEmitedData.data,error:e,momentOfLastCorrectUpdate:this.lastEmitedData.momentOfLastCorrectUpdate,updating:!1},this.dataSubject.next(this.lastEmitedData),this.getData(Ht.connectionRetryDelay)})}forceRefresh(){this.getData(0)}}_u.\u0275fac=function(t){return new(t||_u)(we(ti),we(Mo))},_u.\u0275prov=Ye({token:_u,factory:_u.\u0275fac,providedIn:"root"});const XG=["mat-menu-item",""];function QG(n,t){1&n&&(fs(),D(0,"svg",3),xe(1,"polygon",4),C())}const JG=[[["mat-icon"],["","matMenuItemIcon",""]],"*"],eq=["mat-icon, [matMenuItemIcon]","*"];function tq(n,t){if(1&n){const e=tt();D(0,"div",0),ye("keydown",function(o){return Pe(e),Oe(z()._handleKeydown(o))})("click",function(){return Pe(e),Oe(z().closed.emit("click"))})("@transformMenu.start",function(o){return Pe(e),Oe(z()._onAnimationStart(o))})("@transformMenu.done",function(o){return Pe(e),Oe(z()._onAnimationDone(o))}),D(1,"div",1),vn(2),C()()}if(2&n){const e=z();w("id",e.panelId)("ngClass",e._classList)("@transformMenu",e._panelAnimationState),Ut("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby||null)("aria-describedby",e.ariaDescribedby||null)}}const nq=["*"],X1=new Be("MAT_MENU_PANEL"),iq=Pf(tu(class{}));let ma=(()=>{class n extends iq{constructor(e,i,o,s,a){super(),this._elementRef=e,this._document=i,this._focusMonitor=o,this._parentMenu=s,this._changeDetectorRef=a,this.role="menuitem",this._hovered=new X,this._focused=new X,this._highlighted=!1,this._triggersSubmenu=!1,s?.addItem?.(this)}focus(e,i){this._focusMonitor&&e?this._focusMonitor.focusVia(this._getHostElement(),e,i):this._getHostElement().focus(i),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(e){this.disabled&&(e.preventDefault(),e.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){const e=this._elementRef.nativeElement.cloneNode(!0),i=e.querySelectorAll("mat-icon, .material-icons");for(let o=0;o enter",Ur("120ms cubic-bezier(0, 0, 0.2, 1)",Kn({opacity:1,transform:"scale(1)"}))),Lr("* => void",Ur("100ms 25ms linear",Kn({opacity:0})))]),fadeInItems:ra("fadeInItems",[mo("showing",Kn({opacity:1})),Lr("void => *",[Kn({opacity:0}),Ur("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let oq=0;const SI=new Be("mat-menu-default-options",{providedIn:"root",factory:function sq(){return{overlapTrigger:!1,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"}}});let Xf=(()=>{class n{constructor(e,i,o,s){this._elementRef=e,this._ngZone=i,this._defaultOptions=o,this._changeDetectorRef=s,this._xPosition=this._defaultOptions.xPosition,this._yPosition=this._defaultOptions.yPosition,this._directDescendantItems=new Hl,this._classList={},this._panelAnimationState="void",this._animationDone=new X,this.overlayPanelClass=this._defaultOptions.overlayPanelClass||"",this.backdropClass=this._defaultOptions.backdropClass,this._overlapTrigger=this._defaultOptions.overlapTrigger,this._hasBackdrop=this._defaultOptions.hasBackdrop,this.closed=new ht,this.close=this.closed,this.panelId="mat-menu-panel-"+oq++}get xPosition(){return this._xPosition}set xPosition(e){this._xPosition=e,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(e){this._yPosition=e,this.setPositionClasses()}get overlapTrigger(){return this._overlapTrigger}set overlapTrigger(e){this._overlapTrigger=hn(e)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(e){this._hasBackdrop=hn(e)}set panelClass(e){const i=this._previousPanelClass;i&&i.length&&i.split(" ").forEach(o=>{this._classList[o]=!1}),this._previousPanelClass=e,e&&e.length&&(e.split(" ").forEach(o=>{this._classList[o]=!0}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(e){this.panelClass=e}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new nL(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe(bo(this._directDescendantItems),gr(e=>vt(...e.map(i=>i._focused)))).subscribe(e=>this._keyManager.updateActiveItem(e)),this._directDescendantItems.changes.subscribe(e=>{const i=this._keyManager;if("enter"===this._panelAnimationState&&i.activeItem?._hasFocus()){const o=e.toArray(),s=Math.max(0,Math.min(o.length-1,i.activeItemIndex||0));o[s]&&!o[s].disabled?i.setActiveItem(s):i.setNextItemActive()}})}ngOnDestroy(){this._keyManager?.destroy(),this._directDescendantItems.destroy(),this.closed.complete(),this._firstItemFocusSubscription?.unsubscribe()}_hovered(){return this._directDescendantItems.changes.pipe(bo(this._directDescendantItems),gr(i=>vt(...i.map(o=>o._hovered))))}addItem(e){}removeItem(e){}_handleKeydown(e){const i=e.keyCode,o=this._keyManager;switch(i){case 27:Ds(e)||(e.preventDefault(),this.closed.emit("keydown"));break;case 37:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case 39:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:return(38===i||40===i)&&o.setFocusOrigin("keyboard"),void o.onKeydown(e)}e.stopPropagation()}focusFirstItem(e="program"){this._firstItemFocusSubscription?.unsubscribe(),this._firstItemFocusSubscription=this._ngZone.onStable.pipe(ei(1)).subscribe(()=>{let i=null;if(this._directDescendantItems.length&&(i=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),!i||!i.contains(document.activeElement)){const o=this._keyManager;o.setFocusOrigin(e).setFirstItemActive(),!o.activeItem&&i&&i.focus()}})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(e){const i=Math.min(this._baseElevation+e,24),o=`${this._elevationPrefix}${i}`,s=Object.keys(this._classList).find(a=>a.startsWith(this._elevationPrefix));(!s||s===this._previousElevation)&&(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[o]=!0,this._previousElevation=o)}setPositionClasses(e=this.xPosition,i=this.yPosition){const o=this._classList;o["mat-menu-before"]="before"===e,o["mat-menu-after"]="after"===e,o["mat-menu-above"]="above"===i,o["mat-menu-below"]="below"===i,this._changeDetectorRef?.markForCheck()}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(e){this._animationDone.next(e),this._isAnimating=!1}_onAnimationStart(e){this._isAnimating=!0,"enter"===e.toState&&0===this._keyManager.activeItemIndex&&(e.element.scrollTop=0)}_updateDirectDescendants(){this._allItems.changes.pipe(bo(this._allItems)).subscribe(e=>{this._directDescendantItems.reset(e.filter(i=>i._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(pt),F(SI),F(di))},n.\u0275dir=Ke({type:n,contentQueries:function(e,i,o){if(1&e&&(Qi(o,rq,5),Qi(o,ma,5),Qi(o,ma,4)),2&e){let s;nt(s=it())&&(i.lazyContent=s.first),nt(s=it())&&(i._allItems=s),nt(s=it())&&(i.items=s)}},viewQuery:function(e,i){if(1&e&&ft(lr,5),2&e){let o;nt(o=it())&&(i.templateRef=o.first)}},inputs:{backdropClass:"backdropClass",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:"overlapTrigger",hasBackdrop:"hasBackdrop",panelClass:["class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"}}),n})(),gu=(()=>{class n extends Xf{constructor(e,i,o,s){super(e,i,o,s),this._elevationPrefix="mat-elevation-z",this._baseElevation=8}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(pt),F(SI),F(di))},n.\u0275cmp=qe({type:n,selectors:[["mat-menu"]],hostVars:3,hostBindings:function(e,i){2&e&&Ut("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},exportAs:["matMenu"],features:[Kt([{provide:X1,useExisting:n}]),dt],ngContentSelectors:nq,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-mdc-menu-panel","mdc-menu-surface","mdc-menu-surface--open","mat-mdc-elevation-specific",3,"id","ngClass","keydown","click"],[1,"mat-mdc-menu-content","mdc-list"]],template:function(e,i){1&e&&(_r(),j(0,tq,3,6,"ng-template"))},dependencies:[On],styles:['.mdc-menu-surface{display:none;position:absolute;box-sizing:border-box;max-width:var(--mdc-menu-max-width, calc(100vw - 32px));max-height:var(--mdc-menu-max-height, calc(100vh - 32px));margin:0;padding:0;transform:scale(1);transform-origin:top left;opacity:0;overflow:auto;will-change:transform,opacity;z-index:8;border-radius:var(--mdc-shape-medium, 4px);transform-origin-left:top left;transform-origin-right:top right}.mdc-menu-surface:focus{outline:none}.mdc-menu-surface--animating-open{display:inline-block;transform:scale(0.8);opacity:0}.mdc-menu-surface--open{display:inline-block;transform:scale(1);opacity:1}.mdc-menu-surface--animating-closed{display:inline-block;opacity:0}[dir=rtl] .mdc-menu-surface,.mdc-menu-surface[dir=rtl]{transform-origin-left:top right;transform-origin-right:top left}.mdc-menu-surface--anchor{position:relative;overflow:visible}.mdc-menu-surface--fixed{position:fixed}.mdc-menu-surface--fullwidth{width:100%}mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;list-style-type:none}.mat-mdc-menu-content:focus{outline:none}.cdk-high-contrast-active .mat-mdc-menu-panel{outline:solid 1px}.mat-mdc-menu-panel.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;position:relative}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:16px;padding-right:16px;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px}.mat-mdc-menu-item:focus{outline:none}[dir=rtl] .mat-mdc-menu-item,.mat-mdc-menu-item[dir=rtl]{padding-left:16px;padding-right:16px}.mat-mdc-menu-item::-moz-focus-inner{border:0}.mat-mdc-menu-item.mdc-list-item{align-items:center}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item .mat-icon{margin-right:16px}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:16px}.mat-mdc-menu-item .mdc-list-item__primary-text{white-space:normal}.mat-mdc-menu-item.mat-mdc-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-mdc-menu-item.mat-mdc-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.cdk-high-contrast-active .mat-mdc-menu-item{margin-top:1px}.mat-mdc-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-mdc-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-mdc-menu-submenu-icon{fill:CanvasText}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}'],encapsulation:2,data:{animation:[Og.transformMenu,Og.fadeInItems]},changeDetection:0}),n})();const DI=new Be("mat-menu-scroll-strategy"),lq={provide:DI,deps:[to],useFactory:function aq(n){return()=>n.scrollStrategies.reposition()}},TI=Ja({passive:!0});let cq=(()=>{class n{constructor(e,i,o,s,a,l,c,M,P){this._overlay=e,this._element=i,this._viewContainerRef=o,this._menuItemInstance=l,this._dir=c,this._focusMonitor=M,this._ngZone=P,this._overlayRef=null,this._menuOpen=!1,this._closingActionsSubscription=T.EMPTY,this._hoverSubscription=T.EMPTY,this._menuCloseSubscription=T.EMPTY,this._handleTouchStart=Y=>{p1(Y)||(this._openedBy="touch")},this._openedBy=void 0,this.restoreFocus=!0,this.menuOpened=new ht,this.onMenuOpen=this.menuOpened,this.menuClosed=new ht,this.onMenuClose=this.menuClosed,this._scrollStrategy=s,this._parentMaterialMenu=a instanceof Xf?a:void 0,i.nativeElement.addEventListener("touchstart",this._handleTouchStart,TI)}get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(e){this.menu=e}get menu(){return this._menu}set menu(e){e!==this._menu&&(this._menu=e,this._menuCloseSubscription.unsubscribe(),e&&(this._menuCloseSubscription=e.close.subscribe(i=>{this._destroyMenu(i),("click"===i||"tab"===i)&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(i)})),this._menuItemInstance?._setTriggersSubmenu(this.triggersSubmenu()))}ngAfterContentInit(){this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,TI),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this.menu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){const e=this.menu;if(this._menuOpen||!e)return;const i=this._createOverlay(e),o=i.getConfig(),s=o.positionStrategy;this._setPosition(e,s),o.hasBackdrop=null==e.hasBackdrop?!this.triggersSubmenu():e.hasBackdrop,i.attach(this._getPortal(e)),e.lazyContent&&e.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(e),e instanceof Xf&&(e._startAnimation(),e._directDescendantItems.changes.pipe(xn(e.close)).subscribe(()=>{s.withLockedPosition(!1).reapplyLastPosition(),s.withLockedPosition(!0)}))}closeMenu(){this.menu?.close.emit()}focus(e,i){this._focusMonitor&&e?this._focusMonitor.focusVia(this._element,e,i):this._element.nativeElement.focus(i)}updatePosition(){this._overlayRef?.updatePosition()}_destroyMenu(e){if(!this._overlayRef||!this.menuOpen)return;const i=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),this.restoreFocus&&("keydown"===e||!this._openedBy||!this.triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,i instanceof Xf?(i._resetAnimation(),i.lazyContent?i._animationDone.pipe(ki(o=>"void"===o.toState),ei(1),xn(i.lazyContent._attached)).subscribe({next:()=>i.lazyContent.detach(),complete:()=>this._setIsMenuOpen(!1)}):this._setIsMenuOpen(!1)):(this._setIsMenuOpen(!1),i?.lazyContent?.detach())}_initMenu(e){e.parentMenu=this.triggersSubmenu()?this._parentMaterialMenu:void 0,e.direction=this.dir,this._setMenuElevation(e),e.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0)}_setMenuElevation(e){if(e.setElevation){let i=0,o=e.parentMenu;for(;o;)i++,o=o.parentMenu;e.setElevation(i)}}_setIsMenuOpen(e){this._menuOpen=e,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&this._menuItemInstance._setHighlighted(e)}_createOverlay(e){if(!this._overlayRef){const i=this._getOverlayConfig(e);this._subscribeToPositions(e,i.positionStrategy),this._overlayRef=this._overlay.create(i),this._overlayRef.keydownEvents().subscribe()}return this._overlayRef}_getOverlayConfig(e){return new Lf({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:e.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:e.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(e,i){e.setPositionClasses&&i.positionChanges.subscribe(o=>{const s="start"===o.connectionPair.overlayX?"after":"before",a="top"===o.connectionPair.overlayY?"below":"above";this._ngZone?this._ngZone.run(()=>e.setPositionClasses(s,a)):e.setPositionClasses(s,a)})}_setPosition(e,i){let[o,s]="before"===e.xPosition?["end","start"]:["start","end"],[a,l]="above"===e.yPosition?["bottom","top"]:["top","bottom"],[c,M]=[a,l],[P,Y]=[o,s],q=0;if(this.triggersSubmenu()){if(Y=o="before"===e.xPosition?"start":"end",s=P="end"===o?"start":"end",this._parentMaterialMenu){if(null==this._parentInnerPadding){const te=this._parentMaterialMenu.items.first;this._parentInnerPadding=te?te._getHostElement().offsetTop:0}q="bottom"===a?this._parentInnerPadding:-this._parentInnerPadding}}else e.overlapTrigger||(c="top"===a?"bottom":"top",M="top"===l?"bottom":"top");i.withPositions([{originX:o,originY:c,overlayX:P,overlayY:a,offsetY:q},{originX:s,originY:c,overlayX:Y,overlayY:a,offsetY:q},{originX:o,originY:M,overlayX:P,overlayY:l,offsetY:-q},{originX:s,originY:M,overlayX:Y,overlayY:l,offsetY:-q}])}_menuClosingActions(){const e=this._overlayRef.backdropClick(),i=this._overlayRef.detachments();return vt(e,this._parentMaterialMenu?this._parentMaterialMenu.closed:We(),this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe(ki(a=>a!==this._menuItemInstance),ki(()=>this._menuOpen)):We(),i)}_handleMousedown(e){f1(e)||(this._openedBy=0===e.button?"mouse":void 0,this.triggersSubmenu()&&e.preventDefault())}_handleKeydown(e){const i=e.keyCode;(13===i||32===i)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(39===i&&"ltr"===this.dir||37===i&&"rtl"===this.dir)&&(this._openedBy="keyboard",this.openMenu())}_handleClick(e){this.triggersSubmenu()?(e.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){!this.triggersSubmenu()||!this._parentMaterialMenu||(this._hoverSubscription=this._parentMaterialMenu._hovered().pipe(ki(e=>e===this._menuItemInstance&&!e.disabled),Ai(0,q0)).subscribe(()=>{this._openedBy="mouse",this.menu instanceof Xf&&this.menu._isAnimating?this.menu._animationDone.pipe(ei(1),Ai(0,q0),xn(this._parentMaterialMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}_getPortal(e){return(!this._portal||this._portal.templateRef!==e.templateRef)&&(this._portal=new Jl(e.templateRef,this._viewContainerRef)),this._portal}}return n.\u0275fac=function(e){return new(e||n)(F(to),F(bt),F(Xi),F(DI),F(X1,8),F(ma,10),F(Pr,8),F(nl),F(pt))},n.\u0275dir=Ke({type:n,hostVars:3,hostBindings:function(e,i){1&e&&ye("click",function(s){return i._handleClick(s)})("mousedown",function(s){return i._handleMousedown(s)})("keydown",function(s){return i._handleKeydown(s)}),2&e&&Ut("aria-haspopup",i.menu?"menu":null)("aria-expanded",i.menuOpen)("aria-controls",i.menuOpen?i.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:["mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:["matMenuTriggerFor","menu"],menuData:["matMenuTriggerData","menuData"],restoreFocus:["matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"}}),n})(),bu=(()=>{class n extends cq{}return n.\u0275fac=function(){let t;return function(i){return(t||(t=zn(n)))(i||n)}}(),n.\u0275dir=Ke({type:n,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-mdc-menu-trigger"],exportAs:["matMenuTrigger"],features:[dt]}),n})(),dq=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({providers:[lq],imports:[na,Ff,Hn,Qd,kf,Hn]}),n})();const LI=function(){return["1"]};function uq(n,t){if(1&n&&(D(0,"a",10)(1,"mat-icon",11),I(2,"chevron_left"),C(),I(3),R(4,"translate"),C()),2&n){const e=z();w("routerLink",e.linkParts.concat(Un(6,LI)))("queryParams",e.queryParams),d(1),w("inline",!0),d(2),me(" ",B(4,4,"paginator.first")," ")}}function hq(n,t){if(1&n&&(D(0,"a",12)(1,"mat-icon",11),I(2,"chevron_left"),C(),D(3,"span",13),I(4),R(5,"translate"),C()()),2&n){const e=z();w("routerLink",e.linkParts.concat(Un(6,LI)))("queryParams",e.queryParams),d(1),w("inline",!0),d(3),oe(B(5,4,"paginator.first"))}}const cl=function(n){return[n]};function fq(n,t){if(1&n&&(D(0,"a",10)(1,"div")(2,"mat-icon",11),I(3,"chevron_left"),C()()()),2&n){const e=z();w("routerLink",e.linkParts.concat(Ve(3,cl,(e.currentPage-1).toString())))("queryParams",e.queryParams),d(2),w("inline",!0)}}function pq(n,t){if(1&n&&(D(0,"a",10),I(1),C()),2&n){const e=z();w("routerLink",e.linkParts.concat(Ve(3,cl,(e.currentPage-2).toString())))("queryParams",e.queryParams),d(1),oe(e.currentPage-2)}}function mq(n,t){if(1&n&&(D(0,"a",14),I(1),C()),2&n){const e=z();w("routerLink",e.linkParts.concat(Ve(3,cl,(e.currentPage-1).toString())))("queryParams",e.queryParams),d(1),oe(e.currentPage-1)}}function _q(n,t){if(1&n&&(D(0,"a",14),I(1),C()),2&n){const e=z();w("routerLink",e.linkParts.concat(Ve(3,cl,(e.currentPage+1).toString())))("queryParams",e.queryParams),d(1),oe(e.currentPage+1)}}function gq(n,t){if(1&n&&(D(0,"a",10),I(1),C()),2&n){const e=z();w("routerLink",e.linkParts.concat(Ve(3,cl,(e.currentPage+2).toString())))("queryParams",e.queryParams),d(1),oe(e.currentPage+2)}}function bq(n,t){if(1&n&&(D(0,"a",10)(1,"div")(2,"mat-icon",11),I(3,"chevron_right"),C()()()),2&n){const e=z();w("routerLink",e.linkParts.concat(Ve(3,cl,(e.currentPage+1).toString())))("queryParams",e.queryParams),d(2),w("inline",!0)}}function vq(n,t){if(1&n&&(D(0,"a",10),I(1),R(2,"translate"),D(3,"mat-icon",11),I(4,"chevron_right"),C()()),2&n){const e=z();w("routerLink",e.linkParts.concat(Ve(6,cl,e.numberOfPages.toString())))("queryParams",e.queryParams),d(1),me(" ",B(2,4,"paginator.last")," "),d(2),w("inline",!0)}}function yq(n,t){if(1&n&&(D(0,"a",12)(1,"mat-icon",11),I(2,"chevron_right"),C(),D(3,"span",13),I(4),R(5,"translate"),C()()),2&n){const e=z();w("routerLink",e.linkParts.concat(Ve(6,cl,e.numberOfPages.toString())))("queryParams",e.queryParams),d(1),w("inline",!0),d(3),oe(B(5,4,"paginator.last"))}}const EI=function(n){return{number:n}};function Mq(n,t){if(1&n&&(D(0,"div",15),I(1),R(2,"translate"),C()),2&n){const e=z();d(1),oe(Pt(2,1,"paginator.total",Ve(4,EI,e.numberOfPages)))}}function wq(n,t){if(1&n&&(D(0,"div",16),I(1),R(2,"translate"),C()),2&n){const e=z();d(1),oe(Pt(2,1,"paginator.total",Ve(4,EI,e.numberOfPages)))}}class As{constructor(t,e){this.dialog=t,this.router=e,this.linkParts=[""],this.queryParams={}}openSelectionDialog(){const t=[];for(let e=1;e<=this.numberOfPages;e++)t.push({label:e.toString()});$i.openDialog(this.dialog,t,"paginator.select-page-title").afterClosed().subscribe(e=>{e&&this.router.navigate(this.linkParts.concat([e.toString()]),{queryParams:this.queryParams})})}}function Qf(n){return t=>t.lift(new xq(n,t))}As.\u0275fac=function(t){return new(t||As)(F(Fn),F(Xt))},As.\u0275cmp=qe({type:As,selectors:[["app-paginator"]],inputs:{currentPage:"currentPage",numberOfPages:"numberOfPages",linkParts:"linkParts",queryParams:"queryParams"},decls:21,vars:13,consts:[[1,"main-container"],[1,"d-inline-block","small-rounded-elevated-box","mt-3"],[1,"d-flex"],[1,"responsive-height","d-md-none"],["class","d-none d-md-flex",3,"routerLink","queryParams",4,"ngIf"],["class","d-flex d-md-none flex-column",3,"routerLink","queryParams",4,"ngIf"],[3,"routerLink","queryParams",4,"ngIf"],[1,"selected",3,"click"],["class","d-none d-md-block total-pages",4,"ngIf"],["class","d-block d-md-none total-pages",4,"ngIf"],[1,"d-none","d-md-flex",3,"routerLink","queryParams"],[3,"inline"],[1,"d-flex","d-md-none","flex-column",3,"routerLink","queryParams"],[1,"label"],[3,"routerLink","queryParams"],[1,"d-none","d-md-block","total-pages"],[1,"d-block","d-md-none","total-pages"]],template:function(t,e){1&t&&(D(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3),I(4,"\xa0"),xe(5,"br"),I(6,"\xa0"),C(),j(7,uq,5,7,"a",4),j(8,hq,6,7,"a",5),j(9,fq,4,5,"a",4),j(10,pq,2,5,"a",4),j(11,mq,2,5,"a",6),D(12,"a",7),ye("click",function(){return e.openSelectionDialog()}),I(13),C(),j(14,_q,2,5,"a",6),j(15,gq,2,5,"a",4),j(16,bq,4,5,"a",4),j(17,vq,5,8,"a",4),j(18,yq,6,8,"a",5),C()(),j(19,Mq,3,6,"div",8),j(20,wq,3,6,"div",9),C()),2&t&&(d(7),w("ngIf",e.currentPage>3),d(1),w("ngIf",e.currentPage>2),d(1),w("ngIf",e.currentPage>1),d(1),w("ngIf",e.currentPage>2),d(1),w("ngIf",e.currentPage>1),d(2),oe(e.currentPage),d(1),w("ngIf",e.currentPage3),d(1),w("ngIf",e.numberOfPages>2))},dependencies:[Ot,Qa,Cn,Ct],styles:[".main-container[_ngcontent-%COMP%]{text-align:right}.main-container[_ngcontent-%COMP%] .responsive-height[_ngcontent-%COMP%]{padding:10px 0;width:0px}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{padding:10px;border-right:rgba(255,255,255,.15) solid 1px;border-left:rgba(255,255,255,.15) solid 1px;min-width:40px;text-align:center;color:#f8f9f980;text-decoration:none;display:flex;align-items:center;justify-content:center}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background:rgba(0,0,0,.2)}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:2px}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.7rem}.main-container[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]{color:#f8f9f9;background:rgba(0,0,0,.36);padding:10px 20px;cursor:pointer}.main-container[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]:hover{background:rgba(0,0,0,.6)}.main-container[_ngcontent-%COMP%] .total-pages[_ngcontent-%COMP%]{font-size:.6rem;margin-top:-3px;margin-right:4px}"]});class xq{constructor(t,e){this.notifier=t,this.source=e}call(t,e){return e.subscribe(new Cq(t,this.notifier,this.source))}}class Cq extends Me{constructor(t,e,i){super(t),this.notifier=e,this.source=i}error(t){if(!this.isStopped){let e=this.errors,i=this.retries,o=this.retriesSubscription;if(i)this.errors=void 0,this.retriesSubscription=void 0;else{e=new X;try{const{notifier:s}=this;i=s(e)}catch(s){return super.error(s)}o=Ee(i,new be(this))}this._unsubscribeAndRecycle(),this.errors=e,this.retries=i,this.retriesSubscription=o,e.next(t)}}_unsubscribe(){const{errors:t,retriesSubscription:e}=this;t&&(t.unsubscribe(),this.errors=void 0),e&&(e.unsubscribe(),this.retriesSubscription=void 0),this.retries=void 0}notifyNext(){const{_unsubscribe:t}=this;this._unsubscribe=null,this._unsubscribeAndRecycle(),this._unsubscribe=t,this.source.subscribe(this)}}class wo{constructor(t){this.apiService=t}changeAppState(t,e,i){return this.apiService.put(`visors/${t}/apps/${encodeURIComponent(e)}`,{status:i?1:0})}changeAppAutostart(t,e,i){return this.changeAppSettings(t,e,{autostart:i})}changeAppSettings(t,e,i){return this.apiService.put(`visors/${t}/apps/${encodeURIComponent(e)}`,i)}getLogMessages(t,e,i){const s=vS(-1!==i?Date.now()-864e5*i:0,"yyyy-MM-ddTHH:mm:ssZZZZZ","en-US");return this.apiService.get(this.getLogMessagesUrl(t,e)+`?since=${s}`).pipe(Ce(a=>a.logs))}getLogMessagesUrl(t,e){return`visors/${t}/apps/${encodeURIComponent(e)}/logs`}}wo.\u0275fac=function(t){return new(t||wo)(we(yo))},wo.\u0275prov=Ye({token:wo,factory:wo.\u0275fac,providedIn:"root"});var Wn=(()=>(function(n){n.None="None",n.Favorite="Favorite",n.Blocked="Blocked"}(Wn||(Wn={})),Wn))(),ro=(()=>(function(n){n.BitsSpeedAndBytesVolume="BitsSpeedAndBytesVolume",n.OnlyBytes="OnlyBytes",n.OnlyBits="OnlyBits"}(ro||(ro={})),ro))();class Bo{constructor(t,e){this.router=t,this.storageService=e,this.maxHistoryElements=30,this.savedServersStorageKey="VpnServers",this.checkIpSettingStorageKey="VpnGetIp",this.dataUnitsSettingStorageKey="VpnDataUnits",this.serversMap=new Map,this.savedDataVersion=0,this.currentServerSubject=new Yo(1),this.historySubject=new Yo(1),this.favoritesSubject=new Yo(1),this.blockedSubject=new Yo(1)}initialize(){this.migrateDataToHvStorage(),this.serversMap=new Map;const t=this.storageService.getDataForHv(this.savedServersStorageKey);if(t){const e=JSON.parse(t);e.serverList.forEach(i=>{this.serversMap.set(i.pk,i)}),this.savedDataVersion=e.version,e.selectedServerPk&&this.updateCurrentServerPk(e.selectedServerPk)}this.launchListEvents()}migrateDataToHvStorage(){const t=localStorage.getItem(this.savedServersStorageKey);t&&(this.storageService.setDataForHv(this.savedServersStorageKey,t),localStorage.removeItem(this.savedServersStorageKey));const e=localStorage.getItem(this.checkIpSettingStorageKey);e&&(this.storageService.setDataForHv(this.checkIpSettingStorageKey,e),localStorage.removeItem(this.checkIpSettingStorageKey));const i=localStorage.getItem(this.dataUnitsSettingStorageKey);i&&(this.storageService.setDataForHv(this.dataUnitsSettingStorageKey,i),localStorage.removeItem(this.dataUnitsSettingStorageKey))}get currentServer(){return this.serversMap.get(this.currentServerPk)}get currentServerObservable(){return this.currentServerSubject.asObservable()}get history(){return this.historySubject.asObservable()}get favorites(){return this.favoritesSubject.asObservable()}get blocked(){return this.blockedSubject.asObservable()}getSavedVersion(t,e){return e&&this.checkIfDataWasChanged(),this.serversMap.get(t)}getCheckIpSetting(){const t=this.storageService.getDataForHv(this.checkIpSettingStorageKey);return null==t||"false"!==t}setCheckIpSetting(t){this.storageService.setDataForHv(this.checkIpSettingStorageKey,t?"true":"false")}getDataUnitsSetting(){return this.storageService.getDataForHv(this.dataUnitsSettingStorageKey)??ro.BitsSpeedAndBytesVolume}setDataUnitsSetting(t){this.storageService.setDataForHv(this.dataUnitsSettingStorageKey,t)}updateFromDiscovery(t){this.checkIfDataWasChanged(),t.forEach(e=>{if(this.serversMap.has(e.pk)){const i=this.serversMap.get(e.pk);i.countryCode=e.countryCode,i.name=e.name,i.location=e.location,i.note=e.note}}),this.saveData()}updateServer(t){this.serversMap.set(t.pk,t),this.cleanServers(),this.saveData()}processFromDiscovery(t){this.checkIfDataWasChanged();const e=this.serversMap.get(t.pk);return e?(e.countryCode=t.countryCode,e.name=t.name,e.location=t.location,e.note=t.note,this.saveData(),e):{countryCode:t.countryCode,name:t.name,customName:null,pk:t.pk,lastUsed:0,inHistory:!1,flag:Wn.None,location:t.location,personalNote:null,note:t.note,enteredManually:!1,usedWithPassword:!1}}processFromManual(t){this.checkIfDataWasChanged();const e=this.serversMap.get(t.pk);return e?(e.customName=t.name,e.personalNote=t.note,e.enteredManually=!0,this.saveData(),e):{countryCode:"zz",name:"",customName:t.name,pk:t.pk,lastUsed:0,inHistory:!1,flag:Wn.None,location:"",personalNote:t.note,note:"",enteredManually:!0,usedWithPassword:!1}}changeFlag(t,e){this.checkIfDataWasChanged();const i=this.serversMap.get(t.pk);i&&(t=i),t.flag!==e&&(t.flag=e,this.serversMap.has(t.pk)||this.serversMap.set(t.pk,t),this.cleanServers(),this.saveData())}removeFromHistory(t){this.checkIfDataWasChanged();const e=this.serversMap.get(t);!e||!e.inHistory||(e.inHistory=!1,this.cleanServers(),this.saveData())}modifyCurrentServer(t){this.checkIfDataWasChanged(),t.pk!==this.currentServerPk&&(this.serversMap.has(t.pk)||this.serversMap.set(t.pk,t),this.updateCurrentServerPk(t.pk),this.cleanServers(),this.saveData())}compareCurrentServer(t){if(this.checkIfDataWasChanged(),t){if(!this.currentServerPk||this.currentServerPk!==t){if(this.currentServerPk=t,!this.serversMap.get(t)){const i=this.processFromManual({pk:t});this.serversMap.set(i.pk,i),this.cleanServers()}this.saveData(),this.currentServerSubject.next(this.currentServer)}}else this.currentServerPk&&(this.currentServerPk=null,this.saveData(),this.currentServerSubject.next(this.currentServer))}updateHistory(){this.checkIfDataWasChanged(),this.currentServer.lastUsed=Date.now(),this.currentServer.inHistory=!0;let t=[];this.serversMap.forEach(i=>{i.inHistory&&t.push(i)}),t=t.sort((i,o)=>o.lastUsed-i.lastUsed);let e=0;t.forEach(i=>{e{!e.inHistory&&e.flag===Wn.None&&e.pk!==this.currentServerPk&&!e.customName&&!e.personalNote&&t.push(e.pk)}),t.forEach(e=>{this.serversMap.delete(e)})}saveData(){let t=0;const e=this.storageService.getDataForHv(this.savedServersStorageKey);if(e&&(t=JSON.parse(e).version),t!==this.savedDataVersion)return void this.router.navigate(["vpn","unavailable"],{queryParams:{problem:"storage"}});this.savedDataVersion+=1;const i={version:this.savedDataVersion,serverList:Array.from(this.serversMap.values()),selectedServerPk:this.currentServerPk},o=JSON.stringify(i);this.storageService.setDataForHv(this.savedServersStorageKey,o),this.launchListEvents()}checkIfDataWasChanged(){let t=0;const e=this.storageService.getDataForHv(this.savedServersStorageKey);e&&(t=JSON.parse(e).version),t!==this.savedDataVersion&&this.initialize()}launchListEvents(){const t=[],e=[],i=[];this.serversMap.forEach(o=>{o.inHistory&&t.push(o),o.flag===Wn.Favorite&&e.push(o),o.flag===Wn.Blocked&&i.push(o)}),this.historySubject.next(t),this.favoritesSubject.next(e),this.blockedSubject.next(i)}updateCurrentServerPk(t){this.currentServerPk=t,this.currentServerSubject.next(this.currentServer)}}Bo.\u0275fac=function(t){return new(t||Bo)(we(Xt),we(ti))},Bo.\u0275prov=Ye({token:Bo,factory:Bo.\u0275fac,providedIn:"root"});var yn=(()=>(function(n){n.Stopped="stopped",n.Connecting="Connecting",n.Running="Running",n.ShuttingDown="Shutting down",n.Reconnecting="Connection failed, reconnecting"}(yn||(yn={})),yn))();class kq{constructor(){this.updateDate=Date.now()}}class Sq{}class Dq{constructor(){this.latency=0,this.uploadSpeed=0,this.downloadSpeed=0,this.totalUploaded=0,this.totalDownloaded=0,this.connectionDuration=0,this.error=""}}var nr=(()=>(function(n){n[n.PerformingInitialCheck=1]="PerformingInitialCheck",n[n.Off=10]="Off",n[n.Starting=20]="Starting",n[n.Running=100]="Running",n[n.Disconnecting=200]="Disconnecting"}(nr||(nr={})),nr))(),xo=(()=>(function(n){n[n.Busy=1]="Busy",n[n.Ok=2]="Ok",n[n.MustStop=3]="MustStop",n[n.SamePkRunning=4]="SamePkRunning",n[n.SamePkStopped=5]="SamePkStopped"}(xo||(xo={})),xo))();class Ho{constructor(t,e,i,o,s,a,l){this.apiService=t,this.appsService=e,this.router=i,this.vpnSavedDataService=o,this.http=s,this.snackbarService=a,this.translateService=l,this.vpnClientAppName="vpn-client",this.standardWaitTime=2e3,this.stateSubject=new Er(null),this.errorSubject=new Er(!1),this.working=!0,this.requestedServer=null,this.requestedPassword=null,this.updatesStopped=!1,this.currentEventData=new kq,this.currentEventData.busy=!0,this.lastServiceState=nr.PerformingInitialCheck}initialize(t){t&&(this.nodeKey?t!==this.nodeKey?this.router.navigate(["vpn","unavailable"],{queryParams:{problem:"pkChange"}}):this.updatesStopped&&(this.updatesStopped=!1,this.updateData()):(this.nodeKey=t,this.vpnSavedDataService.initialize(),this.updateData()))}get backendState(){return this.stateSubject.asObservable()}get errorsConnecting(){return this.errorSubject.asObservable()}updateData(){this.continuallyUpdateData(0)}start(){return!this.working&&this.lastServiceState<20&&(this.changeAppState(!0),!0)}stop(){return!this.working&&this.lastServiceState>=20&&this.lastServiceState<200&&(this.changeAppState(!1),!0)}getIpData(){return this.http.request("GET",window.location.protocol+"//ip.skycoin.com/").pipe(Qf(t=>Gl(t.pipe(Ai(this.standardWaitTime),ei(4)),Ir(""))),Ce(t=>{let e="";e=t&&t.ip_address?t.ip_address:this.translateService.instant("common.unknown");let i="";return i=t&&t.country_name?t.country_name:this.translateService.instant("common.unknown"),[e,i]}))}changeServerUsingHistory(t,e){return this.requestedServer=t,this.requestedPassword=e,this.updateRequestedServerPasswordSetting(),this.changeServer()}changeServerUsingDiscovery(t,e){return this.requestedServer=this.vpnSavedDataService.processFromDiscovery(t),this.requestedPassword=e,this.updateRequestedServerPasswordSetting(),this.changeServer()}changeServerManually(t,e){return this.requestedServer=this.vpnSavedDataService.processFromManual(t),this.requestedPassword=e,this.updateRequestedServerPasswordSetting(),this.changeServer()}updateRequestedServerPasswordSetting(){this.requestedServer.usedWithPassword=!!this.requestedPassword&&""!==this.requestedPassword;const t=this.vpnSavedDataService.getSavedVersion(this.requestedServer.pk,!0);t&&(t.usedWithPassword=this.requestedServer.usedWithPassword,this.vpnSavedDataService.updateServer(t))}changeServer(){return!this.working&&(this.stop()||this.processServerChange(),!0)}checkNewPk(t){return this.working?xo.Busy:this.lastServiceState!==nr.Off?t===this.vpnSavedDataService.currentServer.pk?xo.SamePkRunning:xo.MustStop:this.vpnSavedDataService.currentServer&&t===this.vpnSavedDataService.currentServer.pk?xo.SamePkStopped:xo.Ok}processServerChange(){this.dataSubscription&&this.dataSubscription.unsubscribe();const t={pk:this.requestedServer.pk};t.passcode=this.requestedPassword?this.requestedPassword:"",this.stopContinuallyUpdatingData(),this.working=!0,this.sendUpdate(),this.dataSubscription=this.appsService.changeAppSettings(this.nodeKey,this.vpnClientAppName,t).subscribe(()=>{this.vpnSavedDataService.modifyCurrentServer(this.requestedServer),this.requestedServer=null,this.requestedPassword=null,this.working=!1,this.start()},e=>{e=Qt(e),this.snackbarService.showError("vpn.server-change.backend-error",null,!1,e.originalServerErrorMsg),this.working=!1,this.requestedServer=null,this.requestedPassword=null,this.sendUpdate(),this.updateData()})}changeAppState(t){if(this.working)return;this.stopContinuallyUpdatingData(),this.working=!0,this.sendUpdate();const e={status:1};t?(this.lastServiceState=nr.Starting,this.connectionHistoryPk=null):(this.lastServiceState=nr.Disconnecting,e.status=0),this.dataSubscription&&this.dataSubscription.unsubscribe(),this.dataSubscription=this.appsService.changeAppSettings(this.nodeKey,this.vpnClientAppName,e).pipe(Jr(i=>this.getVpnClientState().pipe(Ne(o=>{if(o){if(t&&o.running)return We(!0);if(!t&&!o.running)return We(!0)}return Ir(i)}))),Qf(i=>Gl(i.pipe(Ai(this.standardWaitTime),ei(3)),i.pipe(Ne(o=>Ir(o)))))).subscribe(i=>{this.working=!1;const o=this.processAppData(i);this.lastServiceState=o.running?nr.Running:nr.Off,this.currentEventData.vpnClientAppData=o,this.currentEventData.updateDate=Date.now(),this.sendUpdate(),this.updateData(),!t&&this.requestedServer&&this.processServerChange()},i=>{i=Qt(i),this.snackbarService.showError(this.lastServiceState===nr.Starting?"vpn.status-page.problem-starting-error":this.lastServiceState===nr.Disconnecting?"vpn.status-page.problem-stopping-error":"vpn.status-page.generic-problem-error",null,!1,i.originalServerErrorMsg),this.working=!1,this.sendUpdate(),this.updateData()})}continuallyUpdateData(t){if(this.working&&this.lastServiceState!==nr.PerformingInitialCheck)return;this.continuousUpdateSubscription&&this.continuousUpdateSubscription.unsubscribe();let e=0;this.continuousUpdateSubscription=We(0).pipe(Ai(t),Ne(()=>this.getVpnClientState()),Qf(i=>i.pipe(Ne(o=>(this.errorSubject.next(!0),(o=Qt(o)).originalError&&o.originalError.status&&401===o.originalError.status?Ir(o):this.lastServiceState!==nr.PerformingInitialCheck||e<4?(e+=1,We(o).pipe(Ai(this.standardWaitTime))):Ir(o)))))).subscribe(i=>{i?(this.errorSubject.next(!1),this.lastServiceState===nr.PerformingInitialCheck&&(this.working=!1),this.vpnSavedDataService.compareCurrentServer(i.serverPk),this.lastServiceState=i.running?nr.Running:nr.Off,this.currentEventData.vpnClientAppData=i,this.currentEventData.updateDate=Date.now(),this.sendUpdate()):this.lastServiceState===nr.PerformingInitialCheck&&(this.router.navigate(["vpn","unavailable"]),this.nodeKey=null,this.updatesStopped=!0),this.continuallyUpdateData(this.standardWaitTime)},i=>{(i=Qt(i)).originalError&&i.originalError.status&&401===i.originalError.status||(this.router.navigate(["vpn","unavailable"]),this.nodeKey=null),this.updatesStopped=!0})}stopContinuallyUpdatingData(){this.continuousUpdateSubscription&&this.continuousUpdateSubscription.unsubscribe()}getVpnClientState(){let t;const e=new ic;return e.vpnKeyForAuth=this.nodeKey,this.apiService.get(`visors/${this.nodeKey}/summary`,e).pipe(Ne(i=>{let o;if(i&&i.overview&&i.overview.apps&&i.overview.apps.length>0&&i.overview.apps.forEach(s=>{s.name===this.vpnClientAppName&&(o=s)}),o&&(t=this.processAppData(o)),t.minHops=i.min_hops?i.min_hops:0,t&&t.running){const s=new ic;return s.vpnKeyForAuth=this.nodeKey,this.apiService.get(`visors/${this.nodeKey}/apps/${this.vpnClientAppName}/connections`,s)}return We(null)}),Ce(i=>{if(i&&i.length>0){const o=new Dq;i.forEach(s=>{o.latency+=s.latency/i.length,o.uploadSpeed+=s.upload_speed/i.length,o.downloadSpeed+=s.download_speed/i.length,o.totalUploaded+=s.bandwidth_sent,o.totalDownloaded+=s.bandwidth_received,s.error&&(o.error=s.error),s.connection_duration>o.connectionDuration&&(o.connectionDuration=s.connection_duration)}),(!this.connectionHistoryPk||this.connectionHistoryPk!==t.serverPk)&&(this.connectionHistoryPk=t.serverPk,this.uploadSpeedHistory=[0,0,0,0,0,0,0,0,0,0],this.downloadSpeedHistory=[0,0,0,0,0,0,0,0,0,0],this.latencyHistory=[0,0,0,0,0,0,0,0,0,0]),o.latency=Math.round(o.latency),o.uploadSpeed=Math.round(o.uploadSpeed),o.downloadSpeed=Math.round(o.downloadSpeed),o.totalUploaded=Math.round(o.totalUploaded),o.totalDownloaded=Math.round(o.totalDownloaded),this.uploadSpeedHistory.splice(0,1),this.uploadSpeedHistory.push(o.uploadSpeed),o.uploadSpeedHistory=this.uploadSpeedHistory,this.downloadSpeedHistory.splice(0,1),this.downloadSpeedHistory.push(o.downloadSpeed),o.downloadSpeedHistory=this.downloadSpeedHistory,this.latencyHistory.splice(0,1),this.latencyHistory.push(o.latency),o.latencyHistory=this.latencyHistory,t.connectionData=o}return t}))}processAppData(t){const e=new Sq;if(e.running=0!==t.status&&2!==t.status,e.connectionDuration=t.connection_duration,e.appState=yn.Stopped,e.running?t.detailed_status===yn.Connecting||3===t.status?e.appState=yn.Connecting:t.detailed_status===yn.Running?e.appState=yn.Running:t.detailed_status===yn.ShuttingDown?e.appState=yn.ShuttingDown:t.detailed_status===yn.Reconnecting&&(e.appState=yn.Reconnecting):2===t.status&&(e.lastErrorMsg=t.detailed_status,e.lastErrorMsg||(e.lastErrorMsg=this.translateService.instant("vpn.status-page.unknown-error"))),e.killswitch=!1,t.args&&t.args.length>0)for(let i=0;ithis.firstInput.nativeElement.focus())}process(){let t=this.vpnSavedDataService.getSavedVersion(this.data.server.pk,!0);t=t||this.data.server;const e=this.form.get("value").value;e!==(this.data.editName?this.data.server.customName:this.data.server.personalNote)?(this.data.editName?t.customName=e:t.personalNote=e,this.vpnSavedDataService.updateServer(t),this.snackbarService.showDone("vpn.server-options.edit-value.changes-made-confirmation"),this.dialogRef.close(!0)):this.dialogRef.close()}}uc.\u0275fac=function(t){return new(t||uc)(F(Vn),F(Si),F(xr),F(cn),F(Bo))},uc.\u0275cmp=qe({type:uc,selectors:[["app-edit-vpn-server-value"]],viewQuery:function(t,e){if(1&t&&ft(Tq,5),2&t){let i;nt(i=it())&&(e.firstInput=i.first)}},decls:13,vars:11,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","value","maxlength","100","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"action"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6),ye("action",function(){return e.process()}),I(11),R(12,"translate"),C()()),2&t&&(w("headline",B(1,5,"vpn.server-options.edit-value."+(e.data.editName?"name":"note")+"-title"))("dialog",e.dialogRef),d(2),w("formGroup",e.form),d(4),oe(B(7,7,"vpn.server-options.edit-value."+(e.data.editName?"name":"note")+"-label")),d(5),me(" ",B(12,9,"vpn.server-options.edit-value.apply-button")," "))},dependencies:[Yi,Fi,Ri,Ni,wr,ni,Di,tr,Cr,ii,Rn,Ct]});const Lq=["firstInput"];class dl{constructor(t,e,i){this.dialogRef=t,this.data=e,this.formBuilder=i}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.mediumModalWidth,t.open(dl,i)}ngOnInit(){this.form=this.formBuilder.group({password:["",this.data?void 0:Vt.required]}),setTimeout(()=>this.firstInput.nativeElement.focus())}process(){this.dialogRef.close("-"+this.form.get("password").value)}}dl.\u0275fac=function(t){return new(t||dl)(F(Vn),F(Si),F(xr))},dl.\u0275cmp=qe({type:dl,selectors:[["app-enter-vpn-server-password"]],viewQuery:function(t,e){if(1&t&&ft(Lq,5),2&t){let i;nt(i=it())&&(e.firstInput=i.first)}},decls:13,vars:12,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","password","type","password","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"disabled","action"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6),ye("action",function(){return e.process()}),I(11),R(12,"translate"),C()()),2&t&&(w("headline",B(1,6,"vpn.server-list.password-dialog.title"))("dialog",e.dialogRef),d(2),w("formGroup",e.form),d(4),oe(B(7,8,"vpn.server-list.password-dialog.password"+(e.data?"-if-any":"")+"-label")),d(4),w("disabled",!e.form.valid),d(1),me(" ",B(12,10,"vpn.server-list.password-dialog.continue-button")," "))},dependencies:[Yi,Fi,Ri,Ni,ni,Di,tr,Cr,ii,Rn,Ct]});class fn{static changeCurrentPk(t){this.currentPk=t}static setDefaultTabForServerList(t){sessionStorage.setItem(fn.serverListTabStorageKey,t)}static get vpnTabsData(){const t=sessionStorage.getItem(fn.serverListTabStorageKey);return[{icon:"power_settings_new",label:"vpn.start",linkParts:["/vpn",this.currentPk,"status"]},{icon:"list",label:"vpn.servers",linkParts:t?["/vpn",this.currentPk,"servers",t,"1"]:["/vpn",this.currentPk,"servers"]},{icon:"settings",label:"vpn.settings",linkParts:["/vpn",this.currentPk,"settings"]}]}static getLatencyValueString(t){return t<1e3?"time-in-ms":"time-in-segs"}static getPrintableLatency(t){return t<1e3?t+"":(t/1e3).toFixed(1)}static processServerChange(t,e,i,o,s,a,l,c,M,P,Y){let q;if(c&&(M||P)||M&&(c||P)||P&&(c||M))throw new Error("Invalid call");if(c)q=c.pk;else if(M)q=M.pk;else{if(!P)throw new Error("Invalid call");q=P.pk}const te=i.getSavedVersion(q,!0),fe=te&&(Y||te.usedWithPassword),ke=e.checkNewPk(q);if(ke!==xo.Busy)if(ke!==xo.SamePkRunning||fe)if(ke===xo.MustStop||ke===xo.SamePkRunning&&fe){const Ie=Wt.createConfirmationDialog(s,"vpn.server-change.change-server-while-connected-confirmation");Ie.componentInstance.operationAccepted.subscribe(()=>{Ie.componentInstance.closeModal(),c?e.changeServerUsingHistory(c,Y):M?e.changeServerUsingDiscovery(M,Y):P&&e.changeServerManually(P,Y),fn.redirectAfterServerChange(t,a,l)})}else if(ke!==xo.SamePkStopped||fe)c?e.changeServerUsingHistory(c,Y):M?e.changeServerUsingDiscovery(M,Y):P&&e.changeServerManually(P,Y),fn.redirectAfterServerChange(t,a,l);else{const Ie=Wt.createConfirmationDialog(s,"vpn.server-change.start-same-server-confirmation");Ie.componentInstance.operationAccepted.subscribe(()=>{Ie.componentInstance.closeModal(),P&&te&&i.processFromManual(P),e.start(),fn.redirectAfterServerChange(t,a,l)})}else o.showWarning("vpn.server-change.already-selected-warning");else o.showError("vpn.server-change.busy-error")}static redirectAfterServerChange(t,e,i){e&&e.close(),t.navigate(["vpn",i,"status"])}static openServerOptions(t,e,i,o,s,a){const l=[],c=[];return t.usedWithPassword?(l.push({icon:"lock_open",label:"vpn.server-options.connect-without-password"}),c.push(201),l.push({icon:"lock_outlined",label:"vpn.server-options.connect-using-another-password"}),c.push(202)):t.enteredManually&&(l.push({icon:"lock_outlined",label:"vpn.server-options.connect-using-password"}),c.push(202)),l.push({icon:"edit",label:"vpn.server-options.edit-name"}),c.push(101),l.push({icon:"subject",label:"vpn.server-options.edit-label"}),c.push(102),(!t||t.flag!==Wn.Favorite)&&(l.push({icon:"star",label:"vpn.server-options.make-favorite"}),c.push(1)),t&&t.flag===Wn.Favorite&&(l.push({icon:"star_outline",label:"vpn.server-options.remove-from-favorites"}),c.push(-1)),(!t||t.flag!==Wn.Blocked)&&(l.push({icon:"pan_tool",label:"vpn.server-options.block"}),c.push(2)),t&&t.flag===Wn.Blocked&&(l.push({icon:"thumb_up",label:"vpn.server-options.unblock"}),c.push(-2)),t&&t.inHistory&&(l.push({icon:"delete",label:"vpn.server-options.remove-from-history"}),c.push(-3)),$i.openDialog(a,l,"common.options").afterClosed().pipe(Ne(M=>{if(M){const P=i.getSavedVersion(t.pk,!0);if(t=P||t,c[M-=1]>200){if(201===c[M]){let Y=!1;const q=Wt.createConfirmationDialog(a,"vpn.server-options.connect-without-password-confirmation");return q.componentInstance.operationAccepted.subscribe(()=>{Y=!0,fn.processServerChange(e,o,i,s,a,null,fn.currentPk,t,null,null,null),q.componentInstance.closeModal()}),q.afterClosed().pipe(Ce(()=>Y))}return dl.openDialog(a,!1).afterClosed().pipe(Ce(Y=>!(!Y||"-"===Y||(fn.processServerChange(e,o,i,s,a,null,fn.currentPk,t,null,null,Y.substr(1)),0))))}if(c[M]>100)return uc.openDialog(a,{editName:101===c[M],server:t}).afterClosed();if(1===c[M])return fn.makeFavorite(t,i,s,a);if(-1===c[M])return i.changeFlag(t,Wn.None),s.showDone("vpn.server-options.remove-from-favorites-done"),We(!0);if(2===c[M])return fn.blockServer(t,i,o,s,a);if(-2===c[M])return i.changeFlag(t,Wn.None),s.showDone("vpn.server-options.unblock-done"),We(!0);if(-3===c[M])return fn.removeFromHistory(t,i,s,a)}return We(!1)}))}static removeFromHistory(t,e,i,o){let s=!1;const a=Wt.createConfirmationDialog(o,"vpn.server-options.remove-from-history-confirmation");return a.componentInstance.operationAccepted.subscribe(()=>{s=!0,e.removeFromHistory(t.pk),i.showDone("vpn.server-options.remove-from-history-done"),a.componentInstance.closeModal()}),a.afterClosed().pipe(Ce(()=>s))}static makeFavorite(t,e,i,o){if(t.flag!==Wn.Blocked)return e.changeFlag(t,Wn.Favorite),i.showDone("vpn.server-options.make-favorite-done"),We(!0);let s=!1;const a=Wt.createConfirmationDialog(o,"vpn.server-options.make-favorite-confirmation");return a.componentInstance.operationAccepted.subscribe(()=>{s=!0,e.changeFlag(t,Wn.Favorite),i.showDone("vpn.server-options.make-favorite-done"),a.componentInstance.closeModal()}),a.afterClosed().pipe(Ce(()=>s))}static blockServer(t,e,i,o,s){if(t.flag!==Wn.Favorite&&(!e.currentServer||e.currentServer.pk!==t.pk))return e.changeFlag(t,Wn.Blocked),o.showDone("vpn.server-options.block-done"),We(!0);let a=!1;const l=e.currentServer&&e.currentServer.pk===t.pk;let c;c=t.flag!==Wn.Favorite?"vpn.server-options.block-selected-confirmation":l?"vpn.server-options.block-selected-favorite-confirmation":"vpn.server-options.block-confirmation";const M=Wt.createConfirmationDialog(s,c);return M.componentInstance.operationAccepted.subscribe(()=>{a=!0,e.changeFlag(t,Wn.Blocked),o.showDone("vpn.server-options.block-done"),l&&i.stop(),M.componentInstance.closeModal()}),M.afterClosed().pipe(Ce(()=>a))}}fn.serverListTabStorageKey="ServerListTab",fn.currentPk="";var _a=(()=>(function(n){n[n.Seconds=0]="Seconds",n[n.Minutes=1]="Minutes",n[n.Hours=2]="Hours",n[n.Days=3]="Days",n[n.Weeks=4]="Weeks"}(_a||(_a={})),_a))();class Eq{}class II{static getElapsedTime(t){const e=new Eq;e.timeRepresentation=_a.Seconds,e.totalMinutes=Math.floor(t/60).toString(),e.translationVarName="second";let i=1;t>=60&&t<3600?(e.timeRepresentation=_a.Minutes,i=60,e.translationVarName="minute"):t>=3600&&t<86400?(e.timeRepresentation=_a.Hours,i=3600,e.translationVarName="hour"):t>=86400&&t<604800?(e.timeRepresentation=_a.Days,i=86400,e.translationVarName="day"):t>=604800&&(e.timeRepresentation=_a.Weeks,i=604800,e.translationVarName="week");const o=Math.floor(t/i);return e.elapsedTime=o.toString(),(e.timeRepresentation===_a.Seconds||o>1)&&(e.translationVarName=e.translationVarName+"s"),e}}function Iq(n,t){1&n&&xe(0,"mat-spinner",6),2&n&&w("diameter",14)}function Pq(n,t){1&n&&xe(0,"mat-spinner",7),2&n&&w("diameter",18)}function Oq(n,t){1&n&&(D(0,"mat-icon",10),I(1,"refresh"),C()),2&n&&w("inline",!0)}function Aq(n,t){1&n&&(D(0,"mat-icon",11),I(1,"warning"),C()),2&n&&w("inline",!0)}function Fq(n,t){if(1&n&&($e(0),j(1,Oq,2,1,"mat-icon",8),j(2,Aq,2,1,"mat-icon",9),Ge()),2&n){const e=z();d(1),w("ngIf",!e.showAlert),d(1),w("ngIf",e.showAlert)}}const PI=function(n){return{time:n}};function Rq(n,t){if(1&n&&(D(0,"span",12),I(1),R(2,"translate"),C()),2&n){const e=z();d(1),oe(Pt(2,1,"refresh-button."+e.elapsedTime.translationVarName,Ve(4,PI,e.elapsedTime.elapsedTime)))}}const Nq=function(n){return{"grey-button-background":n}};class Jf{constructor(){this.refeshRate=-1}set secondsSinceLastUpdate(t){this.elapsedTime=II.getElapsedTime(t)}}Jf.\u0275fac=function(t){return new(t||Jf)},Jf.\u0275cmp=qe({type:Jf,selectors:[["app-refresh-button"]],inputs:{secondsSinceLastUpdate:"secondsSinceLastUpdate",showLoading:"showLoading",showAlert:"showAlert",refeshRate:"refeshRate"},decls:7,vars:14,consts:[["mat-button","",1,"time-button","subtle-transparent-button","white-theme",3,"disabled","ngClass","matTooltip"],[1,"internal-container"],["class","icon d-none d-md-inline-block",3,"diameter",4,"ngIf"],["class","icon d-md-none",3,"diameter",4,"ngIf"],[4,"ngIf"],["class","d-none d-md-inline",4,"ngIf"],[1,"icon","d-none","d-md-inline-block",3,"diameter"],[1,"icon","d-md-none",3,"diameter"],["class","icon",3,"inline",4,"ngIf"],["class","icon alert",3,"inline",4,"ngIf"],[1,"icon",3,"inline"],[1,"icon","alert",3,"inline"],[1,"d-none","d-md-inline"]],template:function(t,e){1&t&&(D(0,"button",0),R(1,"translate"),D(2,"div",1),j(3,Iq,1,1,"mat-spinner",2),j(4,Pq,1,1,"mat-spinner",3),j(5,Fq,3,2,"ng-container",4),j(6,Rq,3,6,"span",5),C()()),2&t&&(w("disabled",e.showLoading)("ngClass",Ve(10,Nq,!e.showLoading))("matTooltip",e.showAlert?Pt(1,7,"refresh-button.error-tooltip",Ve(12,PI,e.refeshRate)):""),d(3),w("ngIf",e.showLoading),d(1),w("ngIf",e.showLoading),d(1),w("ngIf",!e.showLoading),d(1),w("ngIf",e.elapsedTime))},dependencies:[On,Ot,Wr,Cn,gi,rc,Ct],styles:[".time-button[_ngcontent-%COMP%]{color:#f8f9f9;border-radius:10px;height:40px}.time-button[disabled][_ngcontent-%COMP%]{opacity:.7!important;color:#f8f9f9}.time-button[disabled][_ngcontent-%COMP%] span[_ngcontent-%COMP%]{opacity:.7}.time-button[_ngcontent-%COMP%] .internal-container[_ngcontent-%COMP%]{display:flex;align-items:center}.time-button[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{font-size:16px;margin-right:5px;opacity:.5;display:inline-block}@media (max-width: 767px){.time-button[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{font-size:22px;margin-right:0;opacity:.75}}.time-button[_ngcontent-%COMP%] .alert[_ngcontent-%COMP%]{color:orange;opacity:1}.time-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:.6rem}"]});class ir{transform(t,e){let o,i=!0;e?e.showPerSecond?e.useBits?(o=ir.measurementsPerSecInBits,i=!1):o=ir.measurementsPerSec:e.useBits?(o=ir.accumulatedMeasurementsInBits,i=!1):o=ir.accumulatedMeasurements:o=ir.accumulatedMeasurements;let s=new K1.BigNumber(t);i||(s=s.multipliedBy(8));let a=o[0],l=0;for(;s.dividedBy(1024).isGreaterThan(1);)s=s.dividedBy(1024),l+=1,a=o[l];let c="";return(!e||!!e.showValue)&&(c=e&&e.limitDecimals?new K1.BigNumber(s).decimalPlaces(1).toString():s.toFixed(2)),(!e||!!e.showValue&&!!e.showUnit)&&(c+=" "),(!e||!!e.showUnit)&&(c+=a),c}}function Yq(n,t){if(1&n){const e=tt();D(0,"button",23),ye("click",function(){return Pe(e),Oe(z().requestAction(null))}),D(1,"mat-icon"),I(2,"chevron_left"),C()()}}function Bq(n,t){1&n&&($e(0),xe(1,"img",24),Ge())}function Hq(n,t){if(1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n){const e=z();d(1),me(" ",B(2,1,e.titleParts[e.titleParts.length-1])," ")}}ir.accumulatedMeasurements=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],ir.measurementsPerSec=["B/s","KB/s","MB/s","GB/s","TB/s","PB/s","EB/s","ZB/s","YB/s"],ir.accumulatedMeasurementsInBits=["b","Kb","Mb","Gb","Tb","Pb","Eb","Zb","Yb"],ir.measurementsPerSecInBits=["b/s","Kb/s","Mb/s","Gb/s","Tb/s","Pb/s","Eb/s","Zb/s","Yb/s"],ir.\u0275fac=function(t){return new(t||ir)},ir.\u0275pipe=Qn({name:"autoScale",type:ir,pure:!0});const Vq=function(n){return{transparent:n}};function jq(n,t){if(1&n){const e=tt();$e(0),D(1,"div",26),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).requestAction(s.actionName))}),D(2,"mat-icon",27),I(3),C(),I(4),R(5,"translate"),C(),Ge()}if(2&n){const e=t.$implicit;d(1),w("disabled",e.disabled),d(1),w("ngClass",Ve(6,Vq,e.disabled)),d(1),oe(e.icon),d(1),me(" ",B(5,4,e.name)," ")}}function zq(n,t){1&n&&xe(0,"div",28)}function Uq(n,t){if(1&n&&($e(0),j(1,jq,6,8,"ng-container",25),j(2,zq,1,0,"div",9),Ge()),2&n){const e=z();d(1),w("ngForOf",e.optionsData),d(1),w("ngIf",e.returnText)}}function Wq(n,t){1&n&&xe(0,"div",28)}function $q(n,t){1&n&&xe(0,"img",31),2&n&&w("src","assets/img/lang/"+z(2).language.iconName,_s)}function Gq(n,t){if(1&n){const e=tt();D(0,"div",29),ye("click",function(){return Pe(e),Oe(z().openLanguageWindow())}),j(1,$q,1,1,"img",30),I(2),R(3,"translate"),C()}if(2&n){const e=z();d(1),w("ngIf",e.language),d(1),me(" ",B(3,2,e.language?e.language.name:"")," ")}}function qq(n,t){if(1&n){const e=tt();D(0,"div",32)(1,"a",33),ye("click",function(){return Pe(e),Oe(z().requestAction(null))}),R(2,"translate"),D(3,"mat-icon",34),I(4,"chevron_left"),C()()()}if(2&n){const e=z();d(1),w("matTooltip",B(2,2,e.returnText)),d(2),w("inline",!0)}}function Kq(n,t){if(1&n&&(D(0,"span",35),I(1),R(2,"translate"),C()),2&n){const e=z();d(1),me(" ",B(2,1,e.titleParts[e.titleParts.length-1])," ")}}function Zq(n,t){1&n&&xe(0,"img",36)}const Xq=function(n,t){return{"d-lg-none":n,"d-none d-md-inline-block":t}},OI=function(n,t){return{"mouse-disabled":n,"grey-button-background":t}};function Qq(n,t){if(1&n&&(D(0,"div",27)(1,"a",37)(2,"mat-icon",34),I(3),C(),D(4,"span"),I(5),R(6,"translate"),C()()()),2&n){const e=t.$implicit,i=t.index,o=z();w("ngClass",ln(9,Xq,e.onlyIfLessThanLg,1!==o.tabsData.length)),d(1),w("disabled",i===o.selectedTabIndex)("routerLink",e.linkParts)("ngClass",ln(12,OI,o.disableMouse,!o.disableMouse&&i!==o.selectedTabIndex)),d(1),w("inline",!0),d(1),oe(e.icon),d(2),oe(B(6,7,e.label))}}const Jq=function(n){return{"d-none":n}};function eK(n,t){if(1&n){const e=tt();D(0,"div",38)(1,"button",39),ye("click",function(){return Pe(e),Oe(z().openTabSelector())}),D(2,"div",40)(3,"mat-icon",34),I(4),C(),D(5,"span"),I(6),R(7,"translate"),C(),D(8,"mat-icon",34),I(9,"keyboard_arrow_down"),C()()()()}if(2&n){const e=z();w("ngClass",Ve(8,Jq,1===e.tabsData.length)),d(1),w("ngClass",ln(10,OI,e.disableMouse,!e.disableMouse)),d(2),w("inline",!0),d(1),oe(e.tabsData[e.selectedTabIndex].icon),d(2),oe(B(7,6,e.tabsData[e.selectedTabIndex].label)),d(2),w("inline",!0)}}function tK(n,t){if(1&n){const e=tt();D(0,"app-refresh-button",45),ye("click",function(){return Pe(e),Oe(z(2).sendRefreshEvent())}),C()}if(2&n){const e=z(2);w("secondsSinceLastUpdate",e.secondsSinceLastUpdate)("showLoading",e.showLoading)("showAlert",e.showAlert)("refeshRate",e.refeshRate)}}function nK(n,t){if(1&n&&(D(0,"div",41),j(1,tK,1,4,"app-refresh-button",42),D(2,"button",43)(3,"div",44)(4,"mat-icon",34),I(5,"menu"),C()()()()),2&n){const e=z(),i=li(12);d(1),w("ngIf",e.showUpdateButton),d(1),w("matMenuTriggerFor",i),d(2),w("inline",!0)}}function iK(n,t){if(1&n){const e=tt();D(0,"div",53)(1,"div",54),ye("click",function(){return Pe(e),Oe(z(2).openLanguageWindow())}),xe(2,"img",55),I(3),R(4,"translate"),C()()}if(2&n){const e=z(2);d(2),w("src","assets/img/lang/"+e.language.iconName,_s),d(1),me(" ",B(4,2,e.language?e.language.name:"")," ")}}function rK(n,t){1&n&&(D(0,"div",56),R(1,"translate"),D(2,"mat-icon",34),I(3,"warning"),C(),I(4),R(5,"translate"),C()),2&n&&(w("matTooltip",B(1,3,"vpn.connection-error.info")),d(2),w("inline",!0),d(2),me(" ",B(5,5,"vpn.connection-error.text")," "))}function oK(n,t){1&n&&(D(0,"div",63)(1,"mat-icon",61),I(2,"brightness_1"),C()()),2&n&&(d(1),w("inline",!0))}const sK=function(n,t){return{"animation-container":n,"d-none":t}},aK=function(n){return{time:n}},AI=function(n){return{showValue:!0,showUnit:!0,showPerSecond:!0,useBits:n}};function lK(n,t){if(1&n&&(D(0,"table",57)(1,"tr")(2,"td",58),R(3,"translate"),D(4,"div",27)(5,"div",59)(6,"div",60)(7,"mat-icon",61),I(8,"brightness_1"),C(),I(9),R(10,"translate"),C()()(),j(11,oK,3,1,"div",62),D(12,"mat-icon",61),I(13,"brightness_1"),C(),I(14),R(15,"translate"),C(),D(16,"td",58),R(17,"translate"),D(18,"mat-icon",34),I(19,"swap_horiz"),C(),I(20),R(21,"translate"),C()(),D(22,"tr")(23,"td",58),R(24,"translate"),D(25,"mat-icon",34),I(26,"arrow_upward"),C(),I(27),R(28,"autoScale"),C(),D(29,"td",58),R(30,"translate"),D(31,"mat-icon",34),I(32,"arrow_downward"),C(),I(33),R(34,"autoScale"),C()()()),2&n){const e=z(2);d(2),fo(e.vpnData.stateClass+" state-td"),w("matTooltip",B(3,18,e.vpnData.state+"-info")),d(2),w("ngClass",ln(39,sK,e.showVpnStateAnimation,!e.showVpnStateAnimation)),d(3),w("inline",!0),d(2),me(" ",B(10,20,e.vpnData.state)," "),d(2),w("ngIf",e.showVpnStateAnimatedDot),d(1),w("inline",!0),d(2),me(" ",B(15,22,e.vpnData.state)," "),d(2),w("matTooltip",B(17,24,"vpn.connection-info.latency-info")),d(2),w("inline",!0),d(2),me(" ",Pt(21,26,"common."+e.getLatencyValueString(e.vpnData.latency),Ve(42,aK,e.getPrintableLatency(e.vpnData.latency)))," "),d(3),w("matTooltip",B(24,29,"vpn.connection-info.upload-info")),d(2),w("inline",!0),d(2),me(" ",Pt(28,31,e.vpnData.uploadSpeed,Ve(44,AI,e.showVpnDataStatsInBits))," "),d(2),w("matTooltip",B(30,34,"vpn.connection-info.download-info")),d(2),w("inline",!0),d(2),me(" ",Pt(34,36,e.vpnData.downloadSpeed,Ve(46,AI,e.showVpnDataStatsInBits))," ")}}function cK(n,t){1&n&&xe(0,"mat-spinner",64),2&n&&w("diameter",20)}function dK(n,t){if(1&n&&(D(0,"div")(1,"div",46),j(2,iK,5,4,"div",47),xe(3,"div",48),j(4,rK,6,7,"div",49),C(),D(5,"div",50),j(6,lK,35,48,"table",51),j(7,cK,1,1,"mat-spinner",52),C()()),2&n){const e=z();d(2),w("ngIf",!e.hideLanguageButton&&e.language),d(2),w("ngIf",e.errorsConnectingToVpn),d(2),w("ngIf",e.vpnData),d(1),w("ngIf",!e.vpnData)}}function uK(n,t){1&n&&(D(0,"div",65)(1,"div",66)(2,"mat-icon",34),I(3,"error_outline"),C(),I(4),R(5,"translate"),C(),D(6,"div",67),I(7),R(8,"translate"),C()()),2&n&&(d(2),w("inline",!0),d(2),me(" ",B(5,3,"vpn.remote-access-title")," "),d(3),me(" ",B(8,5,"vpn.remote-access-text")," "))}const FI=function(n,t){return{"d-lg-none":n,"d-none":t}},hK=function(n){return{"normal-height":n}},fK=function(n,t){return{"d-none d-lg-flex":n,"d-flex":t}};class as{constructor(t,e,i,o,s){this.languageService=t,this.dialog=e,this.router=i,this.vpnClientService=o,this.vpnSavedDataService=s,this.disableMouse=!1,this.selectedTabIndex=0,this.refeshRate=-1,this.showUpdateButton=!0,this.localVpnKeyInternal="",this.refreshRequested=new ht,this.optionSelected=new ht,this.hideLanguageButton=!0,this.showVpnInfo=!1,this.initialVpnStateObtained=!1,this.lastVpnState="",this.showVpnStateAnimation=!1,this.showVpnStateAnimatedDot=!0,this.showVpnDataStatsInBits=!0,this.remoteAccess=!1,this.errorsConnectingToVpn=!1,this.langSubscriptionsGroup=[]}set localVpnKey(t){this.localVpnKeyInternal=t,t?this.startGettingVpnInfo():this.stopGettingVpnInfo()}ngOnInit(){this.langSubscriptionsGroup.push(this.languageService.currentLanguage.subscribe(e=>{this.language=e})),this.langSubscriptionsGroup.push(this.languageService.languages.subscribe(e=>{this.hideLanguageButton=!(e.length>1)}));const t=window.location.hostname;!t.toLowerCase().includes("localhost")&&!t.toLowerCase().includes("127.0.0.1")&&(this.remoteAccess=!0)}ngOnDestroy(){this.langSubscriptionsGroup.forEach(t=>t.unsubscribe()),this.refreshRequested.complete(),this.optionSelected.complete(),this.stopGettingVpnInfo()}startGettingVpnInfo(){this.showVpnInfo=!0,this.vpnClientService.initialize(this.localVpnKeyInternal),this.updateVpnDataStatsUnit(),this.vpnDataSubscription=this.vpnClientService.backendState.subscribe(t=>{t&&(this.vpnData={state:"",stateClass:"",latency:t.vpnClientAppData.connectionData?t.vpnClientAppData.connectionData.latency:0,downloadSpeed:t.vpnClientAppData.connectionData?t.vpnClientAppData.connectionData.downloadSpeed:0,uploadSpeed:t.vpnClientAppData.connectionData?t.vpnClientAppData.connectionData.uploadSpeed:0},t.vpnClientAppData.appState===yn.Stopped?(this.vpnData.state="vpn.connection-info.state-disconnected",this.vpnData.stateClass="red-clear-text"):t.vpnClientAppData.appState===yn.Connecting?(this.vpnData.state="vpn.connection-info.state-connecting",this.vpnData.stateClass="yellow-clear-text"):t.vpnClientAppData.appState===yn.Running?(this.vpnData.state="vpn.connection-info.state-connected",this.vpnData.stateClass="green-clear-text"):t.vpnClientAppData.appState===yn.ShuttingDown?(this.vpnData.state="vpn.connection-info.state-disconnecting",this.vpnData.stateClass="yellow-clear-text"):t.vpnClientAppData.appState===yn.Reconnecting&&(this.vpnData.state="vpn.connection-info.state-reconnecting",this.vpnData.stateClass="yellow-clear-text"),this.initialVpnStateObtained?this.lastVpnState!==this.vpnData.state&&(this.lastVpnState=this.vpnData.state,this.showVpnStateAnimation=!1,this.showVpnStateChangeAnimationSubscription&&this.showVpnStateChangeAnimationSubscription.unsubscribe(),this.showVpnStateChangeAnimationSubscription=We(0).pipe(Ai(1)).subscribe(()=>this.showVpnStateAnimation=!0)):(this.initialVpnStateObtained=!0,this.lastVpnState=this.vpnData.state),this.showVpnStateAnimatedDot=!1,this.showVpnStateAnimatedDotSubscription&&this.showVpnStateAnimatedDotSubscription.unsubscribe(),this.showVpnStateAnimatedDotSubscription=We(0).pipe(Ai(1)).subscribe(()=>this.showVpnStateAnimatedDot=!0))}),this.errorsConnectingToVpnSubscription=this.vpnClientService.errorsConnecting.subscribe(t=>{this.errorsConnectingToVpn=t})}stopGettingVpnInfo(){this.showVpnInfo=!1,this.vpnDataSubscription&&this.vpnDataSubscription.unsubscribe(),this.errorsConnectingToVpnSubscription&&this.errorsConnectingToVpnSubscription.unsubscribe()}getLatencyValueString(t){return fn.getLatencyValueString(t)}getPrintableLatency(t){return fn.getPrintableLatency(t)}requestAction(t){this.optionSelected.emit(t)}openLanguageWindow(){al.openDialog(this.dialog)}sendRefreshEvent(){this.refreshRequested.emit()}openTabSelector(){const t=[];this.tabsData.forEach(e=>{t.push({label:e.label,icon:e.icon})}),$i.openDialog(this.dialog,t,"tabs-window.title").afterClosed().subscribe(e=>{e&&(e-=1)!==this.selectedTabIndex&&this.router.navigate(this.tabsData[e].linkParts)})}updateVpnDataStatsUnit(){const t=this.vpnSavedDataService.getDataUnitsSetting();this.showVpnDataStatsInBits=t===ro.BitsSpeedAndBytesVolume||t===ro.OnlyBits}}as.\u0275fac=function(t){return new(t||as)(F(ca),F(Fn),F(Xt),F(Ho),F(Bo))},as.\u0275cmp=qe({type:as,selectors:[["app-top-bar"]],inputs:{disableMouse:"disableMouse",titleParts:"titleParts",tabsData:"tabsData",selectedTabIndex:"selectedTabIndex",optionsData:"optionsData",returnText:"returnText",secondsSinceLastUpdate:"secondsSinceLastUpdate",showLoading:"showLoading",showAlert:"showAlert",refeshRate:"refeshRate",showUpdateButton:"showUpdateButton",localVpnKey:"localVpnKey"},outputs:{refreshRequested:"refreshRequested",optionSelected:"optionSelected"},decls:29,vars:31,consts:[[1,"top-bar",3,"ngClass"],[1,"button-container"],["mat-icon-button","","class","transparent-button",3,"click",4,"ngIf"],[1,"logo-container"],[4,"ngIf"],["mat-icon-button","",1,"transparent-button",3,"matMenuTriggerFor"],[1,"top-bar-margin",3,"ngClass"],[3,"overlapTrigger"],["menu","matMenu"],["class","menu-separator",4,"ngIf"],["mat-menu-item","",3,"click",4,"ngIf"],[1,"main-container",3,"ngClass"],[1,"main-area"],[1,"title",3,"ngClass"],["class","return-container",4,"ngIf"],["class","title-text",4,"ngIf"],["class","title-image","src","./assets/img/logo-vpn.png",4,"ngIf"],[1,"lower-container"],[3,"ngClass",4,"ngFor","ngForOf"],["class","d-md-none",3,"ngClass",4,"ngIf"],[1,"blank-space"],["class","right-container",4,"ngIf"],["class","remote-vpn-alert-container",4,"ngIf"],["mat-icon-button","",1,"transparent-button",3,"click"],["src","/assets/img/logo-s.png"],[4,"ngFor","ngForOf"],["mat-menu-item","",3,"disabled","click"],[3,"ngClass"],[1,"menu-separator"],["mat-menu-item","",3,"click"],["class","flag",3,"src",4,"ngIf"],[1,"flag",3,"src"],[1,"return-container"],[1,"return-button","transparent-button",3,"matTooltip","click"],[3,"inline"],[1,"title-text"],["src","./assets/img/logo-vpn.png",1,"title-image"],["mat-button","",1,"tab-button","white-theme",3,"disabled","routerLink","ngClass"],[1,"d-md-none",3,"ngClass"],["mat-button","",1,"tab-button","select-tab-button","white-theme",3,"ngClass","click"],[1,"d-flex"],[1,"right-container"],[3,"secondsSinceLastUpdate","showLoading","showAlert","refeshRate","click",4,"ngIf"],["mat-button","",1,"menu-button","subtle-transparent-button","d-none","d-lg-block",3,"matMenuTriggerFor"],[1,"icon-container"],[3,"secondsSinceLastUpdate","showLoading","showAlert","refeshRate","click"],[1,"top-text-vpn-container"],["class","languaje-button-vpn",4,"ngIf"],[1,"elements-separator"],["class","connection-error-msg-vpn blinking",3,"matTooltip",4,"ngIf"],[1,"vpn-info","vpn-dark-box-radius"],["cellspacing","0","cellpadding","0",4,"ngIf"],[3,"diameter",4,"ngIf"],[1,"languaje-button-vpn"],[1,"text-container",3,"click"],[1,"language-flag",3,"src"],[1,"connection-error-msg-vpn","blinking",3,"matTooltip"],["cellspacing","0","cellpadding","0"],[3,"matTooltip"],[1,"internal-animation-container"],[1,"animation-area"],[1,"state-icon",3,"inline"],["class","aminated-state-icon-container",4,"ngIf"],[1,"aminated-state-icon-container"],[3,"diameter"],[1,"remote-vpn-alert-container"],[1,"top-line"],[1,"bottom-line"]],template:function(t,e){if(1&t&&(D(0,"div",0)(1,"div",1),j(2,Yq,3,0,"button",2),C(),D(3,"div",3),j(4,Bq,2,0,"ng-container",4),j(5,Hq,3,3,"ng-container",4),C(),D(6,"div",1)(7,"button",5)(8,"mat-icon"),I(9,"menu"),C()()()(),xe(10,"div",6),D(11,"mat-menu",7,8),j(13,Uq,3,2,"ng-container",4),j(14,Wq,1,0,"div",9),j(15,Gq,4,4,"div",10),C(),D(16,"div",11)(17,"div",12)(18,"div",13),j(19,qq,5,4,"div",14),j(20,Kq,3,3,"span",15),j(21,Zq,1,0,"img",16),C(),D(22,"div",17),j(23,Qq,7,15,"div",18),j(24,eK,10,13,"div",19),xe(25,"div",20),j(26,nK,6,3,"div",21),C()(),j(27,dK,8,4,"div",4),C(),j(28,uK,9,7,"div",22)),2&t){const i=li(12);w("ngClass",ln(20,FI,!e.showVpnInfo,e.showVpnInfo)),d(2),w("ngIf",e.returnText),d(2),w("ngIf",!e.titleParts||e.titleParts.length<2),d(1),w("ngIf",e.titleParts&&e.titleParts.length>=2),d(2),w("matMenuTriggerFor",i),d(3),w("ngClass",ln(23,FI,!e.showVpnInfo,e.showVpnInfo)),d(1),w("overlapTrigger",!1),d(2),w("ngIf",e.optionsData&&e.optionsData.length>=1),d(1),w("ngIf",!e.hideLanguageButton&&e.optionsData&&e.optionsData.length>=1),d(1),w("ngIf",!e.hideLanguageButton),d(1),w("ngClass",Ve(26,hK,!e.showVpnInfo)),d(2),w("ngClass",ln(28,fK,!e.showVpnInfo,e.showVpnInfo)),d(1),w("ngIf",e.returnText),d(1),w("ngIf",!e.showVpnInfo),d(1),w("ngIf",e.showVpnInfo),d(2),w("ngForOf",e.tabsData),d(1),w("ngIf",e.tabsData&&e.tabsData[e.selectedTabIndex]),d(2),w("ngIf",!e.showVpnInfo),d(1),w("ngIf",e.showVpnInfo),d(1),w("ngIf",e.showVpnInfo&&e.remoteAccess)}},dependencies:[On,Ci,Ot,Qa,uz,Wr,il,Cn,gi,gu,ma,bu,rc,Jf,Ct,ir],styles:["@media (max-width: 991px){.normal-height[_ngcontent-%COMP%]{height:55px!important}}.main-container[_ngcontent-%COMP%]{border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:10px;margin-bottom:-5px;height:100px;display:flex}.main-container[_ngcontent-%COMP%] .main-area[_ngcontent-%COMP%]{flex-grow:1}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem;margin-bottom:15px;margin-left:5px;flex-direction:row;align-items:center}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .title-text[_ngcontent-%COMP%]{z-index:1}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .title-image[_ngcontent-%COMP%]{width:124px;height:21px}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .return-container[_ngcontent-%COMP%]{width:30px;position:relative;top:2px}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .return-container[_ngcontent-%COMP%] .return-button[_ngcontent-%COMP%]{line-height:1;font-size:25px;position:relative;top:2px;width:100%;margin-right:4px;cursor:pointer}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%]{display:flex}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .blank-space[_ngcontent-%COMP%]{flex-grow:1}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]{color:#f8f9f9;border-radius:10px;opacity:.5;margin-right:2px;text-decoration:none;height:40px;display:flex;align-items:center}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]:hover{opacity:.75}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[disabled][_ngcontent-%COMP%]{opacity:1!important;color:#f8f9f9;background:rgba(0,0,0,.7)!important}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{margin-right:2px;opacity:.75;font-size:18px}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:1rem;margin:0 4px;position:relative;top:-1px}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .select-tab-button[_ngcontent-%COMP%]{opacity:.75!important}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .select-tab-button[_ngcontent-%COMP%]:hover{opacity:1!important}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .right-container[_ngcontent-%COMP%]{display:flex;align-items:center}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .right-container[_ngcontent-%COMP%] app-refresh-button[_ngcontent-%COMP%]{align-self:flex-end}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .right-container[_ngcontent-%COMP%] .menu-button[_ngcontent-%COMP%]{height:32px;width:32px;min-width:0px!important;background-color:#f8f9f9;border-radius:100%;padding:0!important;line-height:normal;color:#929292;font-size:20px}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .right-container[_ngcontent-%COMP%] .menu-button[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;place-content:center}.menu-separator[_ngcontent-%COMP%]{width:100%;height:1px;background-color:#0000001f}.flag[_ngcontent-%COMP%]{width:24px;margin-right:16px}.transparent[_ngcontent-%COMP%]{opacity:.5}.top-bar[_ngcontent-%COMP%]{position:fixed;z-index:10;width:100%;height:56px;background-color:#f8f9f9;top:0;left:0;right:0;color:#202226;display:flex}.top-bar[_ngcontent-%COMP%] .logo-container[_ngcontent-%COMP%]{flex-grow:1;display:flex;justify-content:center;align-items:center}.top-bar[_ngcontent-%COMP%] .logo-container[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:28px}.top-bar[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{flex-shrink:0;width:56px}.top-bar[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:56px;height:56px}.top-bar-margin[_ngcontent-%COMP%]{margin-top:56px;flex-shrink:0}.vpn-info[_ngcontent-%COMP%]{font-size:.7rem;background:rgba(0,0,0,.7);padding:15px 20px;align-self:center}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .state-td[_ngcontent-%COMP%]{font-weight:700}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:2px 0;min-width:90px}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:3px;font-size:12px;position:relative;top:1px;-webkit-user-select:none;user-select:none;width:auto;line-height:1}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .state-icon[_ngcontent-%COMP%]{transform:scale(.75)}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .aminated-state-icon-container[_ngcontent-%COMP%]{width:0px;height:0px}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .aminated-state-icon-container[_ngcontent-%COMP%] .state-icon[_ngcontent-%COMP%]{height:auto;animation:_ngcontent-%COMP%_state-icon-animation 1s linear 1}@keyframes _ngcontent-%COMP%_state-icon-animation{0%{transform:perspective(1px) scale(1);opacity:.8}to{transform:scale(2);opacity:0}}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .animation-container[_ngcontent-%COMP%]{width:0px;height:0px}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .animation-container[_ngcontent-%COMP%] .internal-animation-container[_ngcontent-%COMP%]{width:200px}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .animation-container[_ngcontent-%COMP%] .internal-animation-container[_ngcontent-%COMP%] .animation-area[_ngcontent-%COMP%]{display:inline-block;animation:_ngcontent-%COMP%_state-animation 1s linear 1;opacity:0}@keyframes _ngcontent-%COMP%_state-animation{0%{transform:scale(1);opacity:1}to{transform:scale(2.5);opacity:0}}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-of-type{padding-right:30px}.vpn-info[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}.top-text-vpn-container[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;font-size:.6rem}.top-text-vpn-container[_ngcontent-%COMP%] .connection-error-msg-vpn[_ngcontent-%COMP%]{margin:-5px 5px 5px 10px;color:orange}.top-text-vpn-container[_ngcontent-%COMP%] .elements-separator[_ngcontent-%COMP%]{flex-grow:1}.top-text-vpn-container[_ngcontent-%COMP%] .languaje-button-vpn[_ngcontent-%COMP%]{margin:-5px 10px 5px 0}.top-text-vpn-container[_ngcontent-%COMP%] .languaje-button-vpn[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]{cursor:pointer;display:inline;opacity:.8}.top-text-vpn-container[_ngcontent-%COMP%] .languaje-button-vpn[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]:hover{opacity:1}.top-text-vpn-container[_ngcontent-%COMP%] .languaje-button-vpn[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .language-flag[_ngcontent-%COMP%]{width:11px;height:11px;margin-right:2px}.remote-vpn-alert-container[_ngcontent-%COMP%]{background-color:#da3439;margin:0 -21px;padding:10px 20px 15px;text-align:center}.remote-vpn-alert-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px}.remote-vpn-alert-container[_ngcontent-%COMP%] .top-line[_ngcontent-%COMP%]{font-size:1.25rem}.remote-vpn-alert-container[_ngcontent-%COMP%] .bottom-line[_ngcontent-%COMP%]{font-size:.8rem}"]});const RI=function(){return["start.title"]};function pK(n,t){if(1&n&&(D(0,"div",2)(1,"div"),xe(2,"app-top-bar",3),C(),xe(3,"app-loading-indicator",4),C()),2&n){const e=z();d(2),w("titleParts",Un(4,RI))("tabsData",e.tabsData)("selectedTabIndex",e.showDmsgInfo?1:0)("showUpdateButton",!1)}}function mK(n,t){if(1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n){const e=z().$implicit;d(1),oe(B(2,1,e.translatableValue))}}function _K(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z().$implicit;d(1),oe(e.value)}}function gK(n,t){if(1&n&&(D(0,"div",23)(1,"span"),I(2),R(3,"translate"),C(),j(4,mK,3,3,"ng-container",24),j(5,_K,2,1,"ng-container",24),C()),2&n){const e=t.$implicit;d(2),me("",B(3,3,e.filterName),": "),d(2),w("ngIf",e.translatableValue),d(1),w("ngIf",e.value)}}function bK(n,t){if(1&n){const e=tt();D(0,"div",20),ye("click",function(){return Pe(e),Oe(z(2).dataFilterer.removeFilters())}),j(1,gK,6,5,"div",21),D(2,"div",22),I(3),R(4,"translate"),C()()}if(2&n){const e=z(2);d(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),d(2),oe(B(4,2,"filters.press-to-remove"))}}function vK(n,t){if(1&n){const e=tt();D(0,"mat-icon",25),ye("click",function(){return Pe(e),Oe(z(2).dataFilterer.changeFilters())}),R(1,"translate"),I(2,"filter_list"),C()}2&n&&w("inline",!0)("matTooltip",B(1,2,"filters.filter-action"))}function yK(n,t){1&n&&(D(0,"mat-icon",26),I(1,"more_horiz"),C()),2&n&&(z(),w("matMenuTriggerFor",li(12)))}const NI=function(){return["/nodes","list"]},YI=function(){return["/nodes","dmsg"]};function MK(n,t){if(1&n&&xe(0,"app-paginator",27),2&n){const e=z(2);w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",e.showDmsgInfo?Un(5,YI):Un(4,NI))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function wK(n,t){if(1&n&&(D(0,"mat-icon",42),I(1),C()),2&n){const e=z(4);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function xK(n,t){if(1&n&&(D(0,"mat-icon",42),I(1),C()),2&n){const e=z(4);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function CK(n,t){if(1&n&&(D(0,"mat-icon",42),I(1),C()),2&n){const e=z(4);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function kK(n,t){if(1&n&&(D(0,"mat-icon",42),I(1),C()),2&n){const e=z(4);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function SK(n,t){1&n&&($e(0),I(1,"*"),Ge())}function DK(n,t){if(1&n&&($e(0),D(1,"mat-icon",42),I(2),C(),j(3,SK,2,0,"ng-container",24),Ge()),2&n){const e=z(5);d(1),w("inline",!0),d(1),oe(e.dataSorter.sortingArrow),d(1),w("ngIf",e.dataSorter.currentlySortingByLabel)}}function TK(n,t){if(1&n){const e=tt();D(0,"th",38),ye("click",function(){Pe(e);const o=z(4);return Oe(o.dataSorter.changeSortingOrder(o.dmsgServerSortData))}),I(1),R(2,"translate"),j(3,DK,4,3,"ng-container",24),C()}if(2&n){const e=z(4);d(1),me(" ",B(2,2,"nodes.dmsg-server")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.dmsgServerSortData)}}function LK(n,t){if(1&n&&(D(0,"mat-icon",42),I(1),C()),2&n){const e=z(5);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function EK(n,t){if(1&n){const e=tt();D(0,"th",38),ye("click",function(){Pe(e);const o=z(4);return Oe(o.dataSorter.changeSortingOrder(o.pingSortData))}),I(1),R(2,"translate"),j(3,LK,2,2,"mat-icon",35),C()}if(2&n){const e=z(4);d(1),me(" ",B(2,2,"nodes.ping")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.pingSortData)}}function IK(n,t){1&n&&(D(0,"mat-icon",49),R(1,"translate"),I(2,"star"),C()),2&n&&w("inline",!0)("matTooltip",B(1,2,"nodes.hypervisor-info"))}function PK(n,t){if(1&n){const e=tt();D(0,"app-labeled-element-text",51),ye("labelEdited",function(){return Pe(e),Oe(z(6).forceDataRefresh())}),C()}if(2&n){const e=z(2).$implicit,i=z(4);Dn("id",e.dmsgServerPk),w("short",!0)("elementType",i.labeledElementTypes.DmsgServer)}}function OK(n,t){if(1&n&&(D(0,"td"),j(1,PK,1,3,"app-labeled-element-text",50),C()),2&n){const e=z().$implicit;d(1),w("ngIf",e.dmsgServerPk)}}const BI=function(n){return{time:n}};function AK(n,t){if(1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n){const e=z(2).$implicit;d(1),me(" ",Pt(2,1,"common.time-in-ms",Ve(4,BI,e.roundTripPing))," ")}}function FK(n,t){if(1&n&&(D(0,"td"),j(1,AK,3,6,"ng-container",24),C()),2&n){const e=z().$implicit;d(1),w("ngIf",e.dmsgServerPk)}}function RK(n,t){1&n&&(D(0,"button",52),R(1,"translate"),D(2,"mat-icon",42),I(3,"chevron_right"),C()()),2&n&&(w("matTooltip",B(1,2,"nodes.view-node")),d(2),w("inline",!0))}function NK(n,t){if(1&n){const e=tt();D(0,"button",46),ye("click",function(o){Pe(e);const s=z().$implicit,a=z(4);return o.stopPropagation(),o.preventDefault(),Oe(a.deleteNode(s))}),R(1,"translate"),D(2,"mat-icon"),I(3,"close"),C()()}2&n&&w("matTooltip",B(1,1,"nodes.delete-node"))}const YK=function(n,t){return{"click-effect":n,"non-selectable":t}},HI=function(n){return["/nodes",n]};function BK(n,t){if(1&n){const e=tt();D(0,"a",43)(1,"td"),j(2,IK,3,4,"mat-icon",44),C(),D(3,"td"),xe(4,"span",45),R(5,"translate"),C(),D(6,"td"),I(7),C(),D(8,"td"),I(9),C(),j(10,OK,2,1,"td",24),j(11,FK,2,1,"td",24),D(12,"td",40)(13,"button",46),ye("click",function(o){const a=Pe(e).$implicit,l=z(4);return o.stopPropagation(),o.preventDefault(),Oe(l.copyToClipboard(a))}),R(14,"translate"),D(15,"mat-icon",42),I(16,"filter_none"),C()(),D(17,"button",46),ye("click",function(o){const a=Pe(e).$implicit,l=z(4);return o.stopPropagation(),o.preventDefault(),Oe(l.showEditLabelDialog(a))}),R(18,"translate"),D(19,"mat-icon",42),I(20,"short_text"),C()(),j(21,RK,4,4,"button",47),j(22,NK,4,3,"button",48),C()()}if(2&n){const e=t.$implicit,i=z(4);w("ngClass",ln(22,YK,e.online,!e.online))("routerLink",e.online?Ve(25,HI,e.localPk):null),d(2),w("ngIf",e.isHypervisor),d(2),fo(i.nodeStatusClass(e,!0)),w("matTooltip",B(5,16,i.nodeStatusText(e,!0))),d(3),me(" ",e.label," "),d(2),me(" ",e.localPk," "),d(1),w("ngIf",i.showDmsgInfo),d(1),w("ngIf",i.showDmsgInfo),d(2),w("matTooltip",B(14,18,i.showDmsgInfo?"nodes.copy-data":"nodes.copy-key")),d(2),w("inline",!0),d(2),w("matTooltip",B(18,20,"labeled-element.edit-label")),d(2),w("inline",!0),d(2),w("ngIf",e.online),d(1),w("ngIf",!e.online)}}function HK(n,t){if(1&n){const e=tt();D(0,"table",32)(1,"tr")(2,"th",33),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.hypervisorSortData))}),R(3,"translate"),D(4,"mat-icon",34),I(5,"star_outline"),C(),j(6,wK,2,2,"mat-icon",35),C(),D(7,"th",33),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.stateSortData))}),R(8,"translate"),xe(9,"span",36),j(10,xK,2,2,"mat-icon",35),C(),D(11,"th",37),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.labelSortData))}),I(12),R(13,"translate"),j(14,CK,2,2,"mat-icon",35),C(),D(15,"th",38),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.keySortData))}),I(16),R(17,"translate"),j(18,kK,2,2,"mat-icon",35),C(),j(19,TK,4,4,"th",39),j(20,EK,4,4,"th",39),xe(21,"th",40),C(),j(22,BK,23,27,"a",41),C()}if(2&n){const e=z(3);d(2),w("matTooltip",B(3,11,"nodes.hypervisor")),d(4),w("ngIf",e.dataSorter.currentSortingColumn===e.hypervisorSortData),d(1),w("matTooltip",B(8,13,"nodes.state-tooltip")),d(3),w("ngIf",e.dataSorter.currentSortingColumn===e.stateSortData),d(2),me(" ",B(13,15,"nodes.label")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.labelSortData),d(2),me(" ",B(17,17,"nodes.key")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.keySortData),d(1),w("ngIf",e.showDmsgInfo),d(1),w("ngIf",e.showDmsgInfo),d(2),w("ngForOf",e.dataSource)}}function VK(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"tables.label")))}function jK(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"tables.inverted-order")))}function zK(n,t){1&n&&(D(0,"div",62)(1,"mat-icon",67),I(2,"star"),C(),I(3,"\xa0 "),D(4,"span",68),I(5),R(6,"translate"),C()()),2&n&&(d(1),w("inline",!0),d(4),oe(B(6,2,"nodes.hypervisor")))}function UK(n,t){if(1&n){const e=tt();D(0,"div",63)(1,"span",9),I(2),R(3,"translate"),C(),I(4,": "),D(5,"app-labeled-element-text",69),ye("labelEdited",function(){return Pe(e),Oe(z(5).forceDataRefresh())}),C()()}if(2&n){const e=z().$implicit,i=z(4);d(2),oe(B(3,3,"nodes.dmsg-server")),d(3),Dn("id",e.dmsgServerPk),w("elementType",i.labeledElementTypes.DmsgServer)}}function WK(n,t){if(1&n&&(D(0,"div",62)(1,"span",9),I(2),R(3,"translate"),C(),I(4),R(5,"translate"),C()),2&n){const e=z().$implicit;d(2),oe(B(3,2,"nodes.ping")),d(2),me(": ",Pt(5,4,"common.time-in-ms",Ve(7,BI,e.roundTripPing))," ")}}const $K=function(n){return{"selectable click-effect":n}};function GK(n,t){if(1&n){const e=tt();D(0,"a",59)(1,"tr",60)(2,"td",60)(3,"div",55)(4,"div",56),j(5,zK,7,4,"div",61),D(6,"div",62)(7,"span",9),I(8),R(9,"translate"),C(),I(10,": "),D(11,"span"),I(12),R(13,"translate"),C()(),D(14,"div",62)(15,"span",9),I(16),R(17,"translate"),C(),I(18),C(),D(19,"div",63)(20,"span",9),I(21),R(22,"translate"),C(),I(23),C(),j(24,UK,6,5,"div",64),j(25,WK,6,9,"div",61),C(),xe(26,"div",65),D(27,"div",57)(28,"button",66),ye("click",function(o){const a=Pe(e).$implicit,l=z(4);return o.stopPropagation(),o.preventDefault(),Oe(l.showOptionsDialog(a))}),R(29,"translate"),D(30,"mat-icon"),I(31),C()()()()()()()}if(2&n){const e=t.$implicit,i=z(4);w("ngClass",Ve(25,$K,e.online))("routerLink",e.online?Ve(27,HI,e.localPk):null),d(5),w("ngIf",e.isHypervisor),d(3),oe(B(9,15,"nodes.state")),d(3),fo(i.nodeStatusClass(e,!1)+" title"),d(1),oe(B(13,17,i.nodeStatusText(e,!1))),d(4),oe(B(17,19,"nodes.label")),d(2),me(": ",e.label," "),d(3),oe(B(22,21,"nodes.key")),d(2),me(": ",e.localPk," "),d(1),w("ngIf",i.showDmsgInfo),d(1),w("ngIf",i.showDmsgInfo),d(3),w("matTooltip",B(29,23,"common.options")),d(3),oe("add")}}function qK(n,t){if(1&n){const e=tt();D(0,"table",53)(1,"tr",54),ye("click",function(){return Pe(e),Oe(z(3).dataSorter.openSortingOrderModal())}),D(2,"td")(3,"div",55)(4,"div",56)(5,"div",9),I(6),R(7,"translate"),C(),D(8,"div"),I(9),R(10,"translate"),j(11,VK,3,3,"ng-container",24),j(12,jK,3,3,"ng-container",24),C()(),D(13,"div",57)(14,"mat-icon",42),I(15,"keyboard_arrow_down"),C()()()()(),j(16,GK,32,29,"a",58),C()}if(2&n){const e=z(3);d(6),oe(B(7,6,"tables.sorting-title")),d(3),me("",B(10,8,e.dataSorter.currentSortingColumn.label)," "),d(2),w("ngIf",e.dataSorter.currentlySortingByLabel),d(1),w("ngIf",e.dataSorter.sortingInReverseOrder),d(2),w("inline",!0),d(2),w("ngForOf",e.dataSource)}}function KK(n,t){if(1&n&&(D(0,"div",28)(1,"div",29),j(2,HK,23,19,"table",30),j(3,qK,17,10,"table",31),C()()),2&n){const e=z(2);d(2),w("ngIf",e.dataSource.length>0),d(1),w("ngIf",e.dataSource.length>0)}}function ZK(n,t){if(1&n&&xe(0,"app-paginator",27),2&n){const e=z(2);w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",e.showDmsgInfo?Un(5,YI):Un(4,NI))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function XK(n,t){1&n&&(D(0,"span",73),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"nodes.empty")))}function QK(n,t){1&n&&(D(0,"span",73),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"nodes.empty-with-filter")))}function JK(n,t){if(1&n&&(D(0,"div",28)(1,"div",70)(2,"mat-icon",71),I(3,"warning"),C(),j(4,XK,3,3,"span",72),j(5,QK,3,3,"span",72),C()()),2&n){const e=z(2);d(2),w("inline",!0),d(2),w("ngIf",0===e.allNodes.length),d(1),w("ngIf",0!==e.allNodes.length)}}const eZ=function(n){return{"paginator-icons-fixer":n}};function tZ(n,t){if(1&n){const e=tt();D(0,"div",5)(1,"div",6)(2,"app-top-bar",7),ye("refreshRequested",function(){return Pe(e),Oe(z().forceDataRefresh(!0))})("optionSelected",function(o){return Pe(e),Oe(z().performAction(o))}),C()(),D(3,"div",6)(4,"div",8)(5,"div",9),j(6,bK,5,4,"div",10),C(),D(7,"div",11)(8,"div",12),j(9,vK,3,4,"mat-icon",13),j(10,yK,2,1,"mat-icon",14),D(11,"mat-menu",15,16)(13,"div",17),ye("click",function(){return Pe(e),Oe(z().removeOffline())}),I(14),R(15,"translate"),C()()(),j(16,MK,1,6,"app-paginator",18),C()(),j(17,KK,4,2,"div",19),j(18,ZK,1,6,"app-paginator",18),j(19,JK,6,3,"div",19),C()()}if(2&n){const e=z();d(2),w("titleParts",Un(21,RI))("tabsData",e.tabsData)("selectedTabIndex",e.showDmsgInfo?1:0)("secondsSinceLastUpdate",e.secondsSinceLastUpdate)("showLoading",e.updating)("showAlert",e.errorsUpdating)("refeshRate",e.storageService.getRefreshTime())("optionsData",e.options),d(2),w("ngClass",Ve(22,eZ,e.numberOfPages>1)),d(2),w("ngIf",e.dataFilterer.currentFiltersTexts&&e.dataFilterer.currentFiltersTexts.length>0),d(3),w("ngIf",e.allNodes&&e.allNodes.length>0),d(1),w("ngIf",e.dataSource.length>0),d(1),w("overlapTrigger",!1),d(2),Dn("disabled",!e.hasOfflineNodes),d(1),me(" ",B(15,19,"nodes.delete-all-offline")," "),d(2),w("ngIf",e.numberOfPages>1),d(1),w("ngIf",0!==e.dataSource.length),d(1),w("ngIf",e.numberOfPages>1),d(1),w("ngIf",0===e.dataSource.length)}}class vu{constructor(t,e,i,o,s,a,l,c,M,P,Y){this.nodeService=t,this.multipleNodeDataService=e,this.router=i,this.dialog=o,this.authService=s,this.storageService=a,this.ngZone=l,this.snackbarService=c,this.clipboardService=M,this.translateService=P,this.nodesListId="nl",this.dmsgListId="dl",this.hypervisorSortData=new Nn(["isHypervisor"],"nodes.hypervisor",Jt.Boolean),this.stateSortData=new Nn(["online"],"nodes.state",Jt.Boolean),this.labelSortData=new Nn(["label"],"nodes.label",Jt.Text),this.keySortData=new Nn(["localPk"],"nodes.key",Jt.Text),this.dmsgServerSortData=new Nn(["dmsgServerPk"],"nodes.dmsg-server",Jt.Text,["dmsgServerPk_label"]),this.pingSortData=new Nn(["roundTripPing"],"nodes.ping",Jt.Number),this.loading=!0,this.tabsData=[],this.options=[],this.showDmsgInfo=!1,this.canLogOut=!0,this.hasOfflineNodes=!1,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"nodes.filter-dialog.online",keyNameInElementsArray:"online",type:Zn.Select,printableLabelsForValues:[{value:"",label:"nodes.filter-dialog.online-options.any"},{value:"true",label:"nodes.filter-dialog.online-options.online"},{value:"false",label:"nodes.filter-dialog.online-options.offline"}]},{filterName:"nodes.filter-dialog.label",keyNameInElementsArray:"label",type:Zn.TextInput,maxlength:100},{filterName:"nodes.filter-dialog.key",keyNameInElementsArray:"localPk",type:Zn.TextInput,maxlength:66},{filterName:"nodes.filter-dialog.dmsg",keyNameInElementsArray:"dmsgServerPk",secondaryKeyNameInElementsArray:"dmsgServerPk_label",type:Zn.TextInput,maxlength:66}],this.secondsSinceLastUpdate=0,this.lastUpdate=Date.now(),this.updating=!1,this.errorsUpdating=!1,this.lastUpdateRequestedManually=!1,this.labeledElementTypes=yr,this.updateOptionsMenu(),this.authVerificationSubscription=this.authService.checkLogin().subscribe(te=>{this.canLogOut=te!==Es.AuthDisabled,this.updateOptionsMenu()}),this.showDmsgInfo=-1!==this.router.url.indexOf("dmsg"),this.showDmsgInfo||this.filterProperties.splice(this.filterProperties.length-1);const q=[this.hypervisorSortData,this.stateSortData,this.labelSortData,this.keySortData];this.showDmsgInfo&&(q.push(this.dmsgServerSortData),q.push(this.pingSortData)),this.dataSorter=new pu(this.dialog,this.translateService,this.storageService,q,3,this.showDmsgInfo?this.dmsgListId:this.nodesListId),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataFilterer=new mu(this.dialog,Y,this.router,this.filterProperties,this.showDmsgInfo?this.dmsgListId:this.nodesListId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(te=>{this.filteredNodes=te,this.hasOfflineNodes=!1,this.filteredNodes.forEach(fe=>{fe.online||(this.hasOfflineNodes=!0)}),this.dataSorter.setData(this.filteredNodes)}),this.navigationsSubscription=Y.paramMap.subscribe(te=>{if(te.has("page")){let fe=Number.parseInt(te.get("page"),10);(isNaN(fe)||fe<1)&&(fe=1),this.currentPageInUrl=fe,this.recalculateElementsToShow()}}),this.tabsData=[{icon:"view_headline",label:"nodes.title",linkParts:["/nodes"]},{icon:"language",label:"nodes.dmsg-title",linkParts:["/nodes","dmsg"]},{icon:"settings",label:"settings.title",linkParts:["/settings"]}],this.languageSubscription=this.translateService.onLangChange.subscribe(()=>{this.multipleNodeDataService.forceRefresh()})}updateOptionsMenu(){this.options=[],this.options.push({name:"nodes.modify-rewards-all",actionName:"modifyRewardsAll",icon:"edit"}),this.canLogOut&&this.options.push({name:"common.logout",actionName:"logout",icon:"power_settings_new"})}ngOnInit(){this.startGettingData(),this.ngZone.runOutsideAngular(()=>{this.updateTimeSubscription=Z_(5e3,5e3).subscribe(()=>this.ngZone.run(()=>{this.secondsSinceLastUpdate=Math.floor((Date.now()-this.lastUpdate)/1e3)}))})}ngOnDestroy(){this.authVerificationSubscription.unsubscribe(),this.dataSubscription.unsubscribe(),this.updateTimeSubscription.unsubscribe(),this.navigationsSubscription.unsubscribe(),this.languageSubscription.unsubscribe(),this.updateSubscription&&this.updateSubscription.unsubscribe(),this.dataSortedSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFiltererSubscription.unsubscribe(),this.dataFilterer.dispose()}performAction(t){"logout"===t?this.logout():"updateAll"===t?this.updateAll():"modifyRewardsAll"===t&&this.changeRewardsToAll()}nodeStatusClass(t,e){return t.online?t.health&&t.health.servicesHealth===ss.Unhealthy?e?"dot-yellow blinking":"yellow-text":t.health&&t.health.servicesHealth===ss.Healthy?e?"dot-green":"green-text":e?"dot-outline-gray":"":e?"dot-red":"red-text"}nodeStatusText(t,e){return t.online?t.health&&t.health.servicesHealth===ss.Healthy?"node.statuses.online"+(e?"-tooltip":""):t.health&&t.health.servicesHealth===ss.Unhealthy?"node.statuses.partially-online"+(e?"-tooltip":""):t.health&&t.health.servicesHealth===ss.Connecting?"node.statuses.connecting"+(e?"-tooltip":""):"node.statuses.unknown"+(e?"-tooltip":""):"node.statuses.offline"+(e?"-tooltip":"")}forceDataRefresh(t=!1){t&&(this.lastUpdateRequestedManually=!0),this.multipleNodeDataService.forceRefresh()}startGettingData(){this.ngZone.runOutsideAngular(()=>{this.dataSubscription=this.multipleNodeDataService.startRequestingData().subscribe(t=>{this.ngZone.run(()=>{this.updating=!t||t.updating,t&&!t.updating&&(t.data&&!t.error?(this.allNodes=t.data,this.showDmsgInfo&&this.allNodes.forEach(e=>{e.dmsgServerPk_label=Or.getCompleteLabel(this.storageService,this.translateService,e.dmsgServerPk)}),this.dataFilterer.setData(this.allNodes),this.loading=!1,this.snackbarService.closeCurrentIfTemporaryError(),this.lastUpdate=t.momentOfLastCorrectUpdate,this.secondsSinceLastUpdate=Math.floor((Date.now()-t.momentOfLastCorrectUpdate)/1e3),this.errorsUpdating=!1,this.lastUpdateRequestedManually&&(this.snackbarService.showDone("common.refreshed",null),this.lastUpdateRequestedManually=!1)):t.error&&(this.errorsUpdating||this.snackbarService.showError(this.loading?"common.loading-error":"nodes.error-load",null,!0,t.error),this.errorsUpdating=!0))})})})}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredNodes){const t=Ht.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredNodes.length/t),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const e=t*(this.currentPage-1);this.nodesToShow=this.filteredNodes.slice(e,e+t)}else this.nodesToShow=null;this.nodesToShow&&(this.dataSource=this.nodesToShow)}logout(){const t=Wt.createConfirmationDialog(this.dialog,"common.logout-confirmation");t.componentInstance.operationAccepted.subscribe(()=>{t.componentInstance.closeModal(),this.authService.logout().subscribe(()=>this.router.navigate(["login"]),()=>this.snackbarService.showError("common.logout-error"))})}updateAll(){if(!this.dataSource||0===this.dataSource.length)return void this.snackbarService.showError("nodes.no-visors-to-update");const t=[],e=[];this.dataSource.forEach(i=>{if(i.online){const o={key:i.localPk,label:i.label,version:i.version,tag:i.buildTag};Wt.checkIfTagIsUpdatable(i.buildTag)?t.push(o):e.push(o)}}),cc.openDialog(this.dialog,t,e)}changeRewardsToAll(){if(!this.dataSource||0===this.dataSource.length)return void this.snackbarService.showError("nodes.no-visors-to-modify");const t=[];this.dataSource.forEach(i=>{i.online&&t.push({key:i.localPk,label:i.label})}),dc.openDialog(this.dialog,{nodes:t})}recursivelyUpdateWallets(t,e,i=0){return this.nodeService.update(t[t.length-1]).pipe(Jr(()=>We(null)),Ne(o=>(o&&o.updated&&!o.error?this.snackbarService.showDone(this.translateService.instant("nodes.update.done",{name:e[e.length-1]})):(this.snackbarService.showError(this.translateService.instant("nodes.update.update-error",{name:e[e.length-1]})),i+=1),t.pop(),e.pop(),t.length>=1?this.recursivelyUpdateWallets(t,e,i):We(i))))}showOptionsDialog(t){const e=[{icon:"filter_none",label:"nodes.copy-key"}];this.showDmsgInfo&&e.push({icon:"filter_none",label:"nodes.copy-dmsg"}),e.push({icon:"short_text",label:"labeled-element.edit-label"}),t.online||e.push({icon:"close",label:"nodes.delete-node"}),$i.openDialog(this.dialog,e,"common.options").afterClosed().subscribe(i=>{1===i?this.copySpecificTextToClipboard(t.localPk):this.showDmsgInfo?2===i?this.copySpecificTextToClipboard(t.dmsgServerPk):3===i?this.showEditLabelDialog(t):4===i&&this.deleteNode(t):2===i?this.showEditLabelDialog(t):3===i&&this.deleteNode(t)})}copyToClipboard(t){this.showDmsgInfo?$i.openDialog(this.dialog,[{icon:"filter_none",label:"nodes.key"},{icon:"filter_none",label:"nodes.dmsg-server"}],"common.options").afterClosed().subscribe(i=>{1===i?this.copySpecificTextToClipboard(t.localPk):2===i&&this.copySpecificTextToClipboard(t.dmsgServerPk)}):this.copySpecificTextToClipboard(t.localPk)}copySpecificTextToClipboard(t){this.clipboardService.copy(t)&&this.snackbarService.showDone("copy.copied")}showEditLabelDialog(t){let e=this.storageService.getLabelInfo(t.localPk);e||(e={id:t.localPk,label:"",identifiedElementType:yr.Node}),fa.openDialog(this.dialog,e).afterClosed().subscribe(i=>{i&&this.forceDataRefresh()})}deleteNode(t){const e=Wt.createConfirmationDialog(this.dialog,"nodes.delete-node-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.close(),this.storageService.setLocalNodesAsHidden([t.localPk],[t.ip]),this.forceDataRefresh(),this.snackbarService.showDone("nodes.deleted")})}removeOffline(){let t="nodes.delete-all-offline-confirmation";this.dataFilterer.currentFiltersTexts&&this.dataFilterer.currentFiltersTexts.length>0&&(t="nodes.delete-all-filtered-offline-confirmation");const e=Wt.createConfirmationDialog(this.dialog,t);e.componentInstance.operationAccepted.subscribe(()=>{e.close();const i=[],o=[];this.filteredNodes.forEach(s=>{s.online||(i.push(s.localPk),o.push(s.ip))}),i.length>0&&(this.storageService.setLocalNodesAsHidden(i,o),this.forceDataRefresh(),1===i.length?this.snackbarService.showDone("nodes.deleted-singular"):this.snackbarService.showDone("nodes.deleted-plural",{number:i.length}))})}}vu.\u0275fac=function(t){return new(t||vu)(F(Mo),F(_u),F(Xt),F(Fn),F(Is),F(ti),F(pt),F(cn),F(Os),F(no),F(vr))},vu.\u0275cmp=qe({type:vu,selectors:[["app-node-list"]],decls:2,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["class","row",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton"],[1,"h-100"],[1,"row"],[1,"col-12"],[3,"titleParts","tabsData","selectedTabIndex","secondsSinceLastUpdate","showLoading","showAlert","refeshRate","optionsData","refreshRequested","optionSelected"],[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],["class","small-icon",3,"inline","matTooltip","click",4,"ngIf"],[3,"matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","matTooltip","click"],[3,"matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow","full-node-list-margins"],["class","responsive-table-translucid d-none d-md-table","cellspacing","0","cellpadding","0",4,"ngIf"],["class","responsive-table-translucid d-md-none nowrap","cellspacing","0","cellpadding","0",4,"ngIf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table"],[1,"sortable-column","small-column",3,"matTooltip","click"],[1,"hypervisor-icon","grey-text"],[3,"inline",4,"ngIf"],[1,"dot-outline-gray"],[1,"sortable-column","labels",3,"click"],[1,"sortable-column",3,"click"],["class","sortable-column",3,"click",4,"ngIf"],[1,"actions"],["class","selectable link-row",3,"ngClass","routerLink",4,"ngFor","ngForOf"],[3,"inline"],[1,"selectable","link-row",3,"ngClass","routerLink"],["class","hypervisor-icon",3,"inline","matTooltip",4,"ngIf"],[3,"matTooltip"],["mat-button","",1,"big-action-button","transparent-button",3,"matTooltip","click"],["mat-button","","class","big-action-button transparent-button",3,"matTooltip",4,"ngIf"],["mat-button","","class","big-action-button transparent-button",3,"matTooltip","click",4,"ngIf"],[1,"hypervisor-icon",3,"inline","matTooltip"],["shortTextLength","4",3,"short","id","elementType","labelEdited",4,"ngIf"],["shortTextLength","4",3,"short","id","elementType","labelEdited"],["mat-button","",1,"big-action-button","transparent-button",3,"matTooltip"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none","nowrap"],[1,"selectable","click-effect",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],["class","link-row",3,"ngClass","routerLink",4,"ngFor","ngForOf"],[1,"link-row",3,"ngClass","routerLink"],[1,"d-block"],["class","list-row",4,"ngIf"],[1,"list-row"],[1,"list-row","long-content"],["class","list-row long-content",4,"ngIf"],[1,"margin-part"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],[1,"hypervisor-icon",3,"inline"],[1,"yellow-clear-text","title"],[3,"id","elementType","labelEdited"],[1,"box-internal-container","font-sm"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(t,e){1&t&&(j(0,pK,4,5,"div",0),j(1,tZ,20,24,"div",1)),2&t&&(w("ngIf",e.loading),d(1),w("ngIf",!e.loading))},dependencies:[On,Ci,Ot,Qa,Wr,il,Cn,gi,gu,ma,bu,io,As,as,Or,Ct],styles:[".labels[_ngcontent-%COMP%]{width:15%}.actions[_ngcontent-%COMP%]{text-align:right;width:120px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}.hypervisor-icon[_ngcontent-%COMP%]{font-size:14px!important;line-height:14px!important;position:relative;top:2px;margin-left:2px;color:#d48b05}.small-column[_ngcontent-%COMP%]{width:1px}.non-selectable[_ngcontent-%COMP%]{cursor:not-allowed}"]});class VI{constructor(t,e){this.canBeUpdated=!1,this.canBeRestarted=!1,this.canOpenTerminal=!1,this.options=[],this.dialog=t.get(Fn),this.router=t.get(Xt),this.snackbarService=t.get(cn),this.nodeService=t.get(Mo),this.storageService=t.get(ti),this.showingFullList=e,this.returnButtonText=e?"node.title":"nodes.title",this.updateOptions()}updateOptions(){this.options=[],this.canOpenTerminal&&this.options.push({name:"actions.menu.terminal",actionName:"terminal",icon:"laptop"}),this.options.push({name:"actions.menu.logs",actionName:"logs",icon:"subject"}),this.canBeRestarted&&this.options.push({name:"actions.menu.reboot",actionName:"reboot",icon:"rotate_right"})}setCurrentNode(t){this.currentNode=t,Wt.checkIfTagIsUpdatable(t.buildTag)?(this.canBeUpdated=!0,this.canBeRestarted=!0):(this.canBeUpdated=!1,this.canBeRestarted=!1),this.canOpenTerminal=Wt.checkIfTagCanOpenterminal(t.buildTag),this.updateOptions()}setCurrentNodeKey(t){this.currentNodeKey=t}performAction(t,e){"terminal"===t?this.terminal():"update"===t?this.update():"logs"===t?window.open(window.location.origin+"/api/visors/"+e+"/runtime-logs","_blank"):"reboot"===t?this.reboot():null===t&&this.back()}dispose(){this.rebootSubscription&&this.rebootSubscription.unsubscribe(),this.updateSubscription&&this.updateSubscription.unsubscribe()}reboot(){const t=Wt.createConfirmationDialog(this.dialog,"actions.reboot.confirmation");t.componentInstance.operationAccepted.subscribe(()=>{t.componentInstance.showProcessing(),this.rebootSubscription=this.nodeService.reboot(this.currentNodeKey).subscribe(()=>{this.snackbarService.showDone("actions.reboot.done"),t.close()},e=>{e=Qt(e),t.componentInstance.showDone("confirmation.error-header-text",e.translatableErrorMsg)})})}update(){const t=Wt.createConfirmationDialog(this.dialog,"actions.update.confirmation");t.componentInstance.operationAccepted.subscribe(()=>{const e=window.location.protocol,i=window.location.host.replace("localhost:4200","127.0.0.1:8000");window.open(e+"//"+i+"/pty/"+this.currentNodeKey+"?commands=update","_blank","noopener noreferrer"),t.close()})}terminal(){const t=window.location.protocol,e=window.location.host.replace("localhost:4200","127.0.0.1:8000");window.open(t+"//"+e+"/pty/"+this.currentNodeKey,"_blank","noopener noreferrer")}back(){this.router.navigate(this.showingFullList?["nodes",this.currentNodeKey]:["nodes"])}}class nZ{constructor(){this.trafficData=new iZ}}class iZ{constructor(){this.totalSent=0,this.totalReceived=0,this.sentHistory=[],this.receivedHistory=[]}}class rZ{constructor(){this.lastEmitedData=new nZ,this.dataSubject=new Er(null),this.whenUpdateWasScheduled=0,this.stopRequestedDate=-1}}class yu{constructor(t,e){this.storageService=t,this.nodeService=e,this.maxTrafficHistorySlots=10,this.expirationTime=6e4,this.nodesMap=new Map,this.storageService.getRefreshTimeObservable().subscribe(i=>{this.dataRefreshDelay=1e3*i,this.nodesMap.forEach(o=>{this.forceSpecificNodeRefresh(o.pk)})}),this.checkForExpired()}checkForExpired(){We(1).pipe(Ai(5e3)).subscribe(()=>{try{this.nodesMap.forEach(t=>{this.finishIfExpired(t)})}catch{}this.checkForExpired()})}startRequestingData(t){let e=this.nodesMap.get(t);return e?e.stopRequestedDate=-1:(e=new rZ,e.pk=t,this.nodesMap.set(t,e),this.startDataSubscription(0,e)),e.dataSubject.asObservable()}stopRequestingSpecificNode(t){const e=this.nodesMap.get(t);e&&(e.stopRequestedDate=Date.now())}startDataSubscription(t,e){e.updateSubscription&&e.updateSubscription.unsubscribe(),e.updateSubscription=We(1).pipe(Ai(t),ui(()=>{e.lastEmitedData.updating=!0,e.dataSubject.next(e.lastEmitedData)}),Ai(120),Ne(()=>this.nodeService.getNode(e.pk))).subscribe(i=>{this.updateTrafficData(i.transports,e.lastEmitedData.trafficData,e.whenUpdateWasScheduled);let o=this.calculateRemainingTime(e.whenUpdateWasScheduled);o<1e3&&(e.whenUpdateWasScheduled=Date.now(),o=this.dataRefreshDelay),e.lastEmitedData={data:i,error:null,momentOfLastCorrectUpdate:Date.now(),updating:!1,trafficData:e.lastEmitedData.trafficData},e.dataSubject.next(e.lastEmitedData),this.startDataSubscription(o,e)},i=>{i=Qt(i),e.lastEmitedData={data:e.lastEmitedData.data,error:i,momentOfLastCorrectUpdate:e.lastEmitedData.momentOfLastCorrectUpdate,updating:!1,trafficData:e.lastEmitedData.trafficData},e.dataSubject.next(e.lastEmitedData),i.originalError&&400===i.originalError.status?(e.dataSubject.complete(),e.updateSubscription.unsubscribe(),this.nodesMap.delete(e.pk)):this.startDataSubscription(Ht.connectionRetryDelay,e)})}calculateRemainingTime(t){if(t<1)return 0;let e=this.dataRefreshDelay-(Date.now()-t);return e<0&&(e=0),e}updateTrafficData(t,e,i){if(e.totalSent=0,e.totalReceived=0,t&&t.length>0&&(e.totalSent=t.reduce((o,s)=>o+s.sent,0),e.totalReceived=t.reduce((o,s)=>o+s.recv,0)),0===e.sentHistory.length)for(let o=0;othis.maxTrafficHistorySlots&&(s=this.maxTrafficHistorySlots),0===s)e.sentHistory[e.sentHistory.length-1]=e.totalSent,e.receivedHistory[e.receivedHistory.length-1]=e.totalReceived;else for(let a=0;athis.maxTrafficHistorySlots&&(e.sentHistory.splice(0,e.sentHistory.length-this.maxTrafficHistorySlots),e.receivedHistory.splice(0,e.receivedHistory.length-this.maxTrafficHistorySlots))}}forceSpecificNodeRefresh(t){const e=this.nodesMap.get(t);e&&this.startDataSubscription(0,e)}finishIfExpired(t){t.stopRequestedDate>0&&Date.now()-t.stopRequestedDate>this.expirationTime&&(t.dataSubject.complete(),t.updateSubscription.unsubscribe(),this.nodesMap.delete(t.pk))}}function oZ(n,t){1&n&&xe(0,"app-loading-indicator")}function sZ(n,t){1&n&&(D(0,"div",6)(1,"div")(2,"mat-icon",7),I(3,"error"),C(),I(4),R(5,"translate"),C()()),2&n&&(d(2),w("inline",!0),d(2),me(" ",B(5,2,"node.not-found")," "))}function aZ(n,t){if(1&n){const e=tt();D(0,"div",2)(1,"div")(2,"app-top-bar",3),ye("optionSelected",function(o){return Pe(e),Oe(z().performAction(o))}),C()(),j(3,oZ,1,0,"app-loading-indicator",4),j(4,sZ,6,4,"div",5),C()}if(2&n){const e=z();d(2),w("titleParts",e.titleParts)("tabsData",e.tabsData)("selectedTabIndex",e.selectedTabIndex)("showUpdateButton",!1)("optionsData",e.nodeActionsHelper?e.nodeActionsHelper.options:null)("returnText",e.nodeActionsHelper?e.nodeActionsHelper.returnButtonText:""),d(1),w("ngIf",!e.notFound),d(1),w("ngIf",e.notFound)}}function lZ(n,t){if(1&n&&xe(0,"app-node-info-content",15),2&n){const e=z(2);w("nodeInfo",e.node)("trafficData",e.trafficData)}}yu.\u0275fac=function(t){return new(t||yu)(we(ti),we(Mo))},yu.\u0275prov=Ye({token:yu,factory:yu.\u0275fac,providedIn:"root"});const cZ=function(n,t){return{"main-area":n,"full-size-main-area":t}},dZ=function(n){return{"d-none":n}};function uZ(n,t){if(1&n){const e=tt();D(0,"div",8)(1,"div",9)(2,"app-top-bar",10),ye("optionSelected",function(o){return Pe(e),Oe(z().performAction(o))})("refreshRequested",function(){return Pe(e),Oe(z().forceDataRefresh(!0))}),C()(),D(3,"div",9)(4,"div",11)(5,"div",12),xe(6,"router-outlet"),C()(),D(7,"div",13),j(8,lZ,1,2,"app-node-info-content",14),C()()()}if(2&n){const e=z();d(2),w("titleParts",e.titleParts)("tabsData",e.tabsData)("selectedTabIndex",e.selectedTabIndex)("secondsSinceLastUpdate",e.secondsSinceLastUpdate)("showLoading",e.updating)("showAlert",e.errorsUpdating)("refeshRate",e.storageService.getRefreshTime())("optionsData",e.nodeActionsHelper?e.nodeActionsHelper.options:null)("returnText",e.nodeActionsHelper?e.nodeActionsHelper.returnButtonText:""),d(2),w("ngClass",ln(12,cZ,!e.showingInfo&&!e.showingFullList,e.showingInfo||e.showingFullList)),d(3),w("ngClass",Ve(15,dZ,e.showingInfo||e.showingFullList)),d(1),w("ngIf",!e.showingInfo&&!e.showingFullList)}}class Je{constructor(t,e,i,o,s,a,l){this.storageService=t,this.singleNodeDataService=e,this.route=i,this.ngZone=o,this.snackbarService=s,this.injector=a,this.notFound=!1,this.titleParts=[],this.tabsData=[],this.selectedTabIndex=-1,this.showingInfo=!1,this.showingFullList=!1,this.initialRouteEventFired=!1,this.secondsSinceLastUpdate=0,this.lastUpdate=Date.now(),this.updating=!1,this.errorsUpdating=!1,this.lastUpdateRequestedManually=!1,Je.nodeSubject=new Yo(1),Je.trafficDataSubject=new Yo(1),Je.currentInstanceInternal=this,this.navigationsSubscription=l.events.subscribe(c=>{c.urlAfterRedirects&&(this.lastUrl=c.urlAfterRedirects,this.processRouteUpdate(),this.initialRouteEventFired=!0)})}static refreshCurrentDisplayedData(){Je.currentInstanceInternal&&Je.currentInstanceInternal.forceDataRefresh(!1)}static getCurrentNodeKey(){return Je.currentNodeKey}static get currentNode(){return Je.nodeSubject.asObservable()}static get currentTrafficData(){return Je.trafficDataSubject.asObservable()}ngOnInit(){this.ngZone.runOutsideAngular(()=>{this.updateTimeSubscription=Z_(5e3,5e3).subscribe(()=>this.ngZone.run(()=>{this.secondsSinceLastUpdate=Math.floor((Date.now()-this.lastUpdate)/1e3)}))}),this.initSubscription=We(0).pipe(Ai(500)).subscribe(()=>{this.initialRouteEventFired||(this.lastUrl=window.location.href,this.processRouteUpdate())})}processRouteUpdate(){Je.currentNodeKey=this.route.snapshot.params.key,this.nodeActionsHelper&&this.nodeActionsHelper.setCurrentNodeKey(Je.currentNodeKey),this.updateTabBar(),this.navigationsSubscription.unsubscribe(),this.startGettingData()}updateTabBar(){if(this.lastUrl&&(this.lastUrl.includes("/info")||this.lastUrl.includes("/routing")||this.lastUrl.includes("/apps")&&!this.lastUrl.includes("/apps-list")))this.titleParts=["nodes.title","node.title"],this.tabsData=[{icon:"info",label:"node.tabs.info",onlyIfLessThanLg:!0,linkParts:Je.currentNodeKey?["/nodes",Je.currentNodeKey,"info"]:null},{icon:"shuffle",label:"node.tabs.routing",linkParts:Je.currentNodeKey?["/nodes",Je.currentNodeKey,"routing"]:null},{icon:"apps",label:"node.tabs.apps",linkParts:Je.currentNodeKey?["/nodes",Je.currentNodeKey,"apps"]:null}],this.selectedTabIndex=1,this.showingInfo=!1,this.lastUrl.includes("/info")&&(this.selectedTabIndex=0,this.showingInfo=!0),this.lastUrl.includes("/apps")&&(this.selectedTabIndex=2),this.showingFullList=!1,this.nodeActionsHelper=new VI(this.injector,this.showingFullList),this.nodeActionsHelper.setCurrentNodeKey(Je.currentNodeKey),this.node&&this.nodeActionsHelper.setCurrentNode(this.node);else if(this.lastUrl&&(this.lastUrl.includes("/transports")||this.lastUrl.includes("/routes")||this.lastUrl.includes("/apps-list"))){this.showingFullList=!0,this.showingInfo=!1,this.nodeActionsHelper=new VI(this.injector,this.showingFullList),this.nodeActionsHelper.setCurrentNodeKey(Je.currentNodeKey),this.node&&this.nodeActionsHelper.setCurrentNode(this.node);let t="transports";this.lastUrl.includes("/routes")?t="routes":this.lastUrl.includes("/apps-list")&&(t="apps.apps-list"),this.titleParts=["nodes.title","node.title",t+".title"],this.tabsData=[{icon:"view_headline",label:t+".list-title",linkParts:[]}],this.selectedTabIndex=0}else this.titleParts=[],this.tabsData=[]}performAction(t){this.nodeActionsHelper.performAction(t,Je.currentNodeKey)}forceDataRefresh(t=!1){t&&(this.lastUpdateRequestedManually=!0),this.singleNodeDataService.forceSpecificNodeRefresh(Je.currentNodeKey)}startGettingData(){this.ngZone.runOutsideAngular(()=>{this.dataSubscription=this.singleNodeDataService.startRequestingData(Je.currentNodeKey).subscribe(t=>{this.ngZone.run(()=>{if(this.updating=!t||t.updating,t&&!t.updating)if(t.data&&!t.error)this.node=t.data,this.trafficData=t.trafficData,Je.nodeSubject.next(this.node),Je.trafficDataSubject.next(this.trafficData),this.nodeActionsHelper&&this.nodeActionsHelper.setCurrentNode(this.node),this.snackbarService.closeCurrentIfTemporaryError(),this.lastUpdate=t.momentOfLastCorrectUpdate,this.secondsSinceLastUpdate=Math.floor((Date.now()-t.momentOfLastCorrectUpdate)/1e3),this.errorsUpdating=!1,this.lastUpdateRequestedManually&&(this.snackbarService.showDone("common.refreshed",null),this.lastUpdateRequestedManually=!1);else if(t.error){if(t.error.originalError&&400===t.error.originalError.status)return void(this.notFound=!0);this.errorsUpdating||this.snackbarService.showError(this.node?"node.error-load":"common.loading-error",null,!0,t.error),this.errorsUpdating=!0}})})})}ngOnDestroy(){this.singleNodeDataService.stopRequestingSpecificNode(Je.currentNodeKey),this.dataSubscription.unsubscribe(),this.updateTimeSubscription.unsubscribe(),this.navigationsSubscription.unsubscribe(),this.initSubscription.unsubscribe(),Je.currentInstanceInternal=void 0,Je.currentNodeKey=void 0,Je.nodeSubject.complete(),Je.nodeSubject=void 0,Je.trafficDataSubject.complete(),Je.trafficDataSubject=void 0,this.nodeActionsHelper.dispose()}}function hZ(n,t){if(1&n&&(D(0,"mat-option",10),I(1),R(2,"translate"),C()),2&n){const e=t.$implicit;Dn("value",e),d(1),po(" ",e," ",B(2,3,"settings.seconds")," ")}}Je.\u0275fac=function(t){return new(t||Je)(F(ti),F(yu),F(vr),F(pt),F(cn),F(mi),F(Xt))},Je.\u0275cmp=qe({type:Je,selectors:[["app-node"]],decls:2,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["class","row",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","optionsData","returnText","optionSelected"],[4,"ngIf"],["class","w-100 h-100 d-flex not-found-label",4,"ngIf"],[1,"w-100","h-100","d-flex","not-found-label"],[3,"inline"],[1,"row"],[1,"col-12"],[3,"titleParts","tabsData","selectedTabIndex","secondsSinceLastUpdate","showLoading","showAlert","refeshRate","optionsData","returnText","optionSelected","refreshRequested"],[3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"right-bar",3,"ngClass"],[3,"nodeInfo","trafficData",4,"ngIf"],[3,"nodeInfo","trafficData"]],template:function(t,e){1&t&&(j(0,aZ,5,8,"div",0),j(1,uZ,9,17,"div",1)),2&t&&(w("ngIf",!e.node),d(1),w("ngIf",e.node))},styles:[".not-found-label[_ngcontent-%COMP%]{align-items:center;justify-content:center;font-size:1rem;position:relative}.not-found-label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:5px;font-size:22px;opacity:.5;margin-right:3px}.full-size-main-area[_ngcontent-%COMP%], .main-area[_ngcontent-%COMP%]{width:100%}@media (min-width: 992px){.main-area[_ngcontent-%COMP%]{width:73%;padding-right:20px;float:left}}.right-bar[_ngcontent-%COMP%]{width:27%;float:right;display:none}@media (min-width: 992px){.right-bar[_ngcontent-%COMP%]{display:block;width:27%;float:right}}"]});class ep{constructor(t,e,i){this.formBuilder=t,this.storageService=e,this.snackbarService=i,this.timesList=["3","5","10","15","30","60","90","150","300"]}ngOnInit(){this.form=this.formBuilder.group({refreshRate:[this.storageService.getRefreshTime().toString()]}),this.subscription=this.form.get("refreshRate").valueChanges.subscribe(t=>{this.storageService.setRefreshTime(t),this.snackbarService.showDone("settings.refresh-rate-confirmation")})}ngOnDestroy(){this.subscription.unsubscribe()}}ep.\u0275fac=function(t){return new(t||ep)(F(xr),F(ti),F(cn))},ep.\u0275cmp=qe({type:ep,selectors:[["app-refresh-rate"]],decls:14,vars:9,consts:[[1,"rounded-elevated-box"],[1,"box-internal-container","overflow"],[1,"white-form-help-icon-container"],[1,"help-icon",3,"inline","matTooltip"],[3,"formGroup"],[1,"white-form-field"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","refreshRate"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(t,e){1&t&&(D(0,"div",0)(1,"div",1)(2,"div",2)(3,"mat-icon",3),R(4,"translate"),I(5," help "),C()(),D(6,"form",4)(7,"mat-form-field",5)(8,"div",6)(9,"label",7),I(10),R(11,"translate"),C(),D(12,"mat-select",8),j(13,hZ,3,5,"mat-option",9),C()()()()()()),2&t&&(d(3),w("inline",!0)("matTooltip",B(4,5,"settings.refresh-rate-help")),d(3),w("formGroup",e.form),d(4),oe(B(11,7,"settings.refresh-rate")),d(3),w("ngForOf",e.timesList))},dependencies:[Ci,Yi,Ri,Ni,ni,Di,tr,Cn,gi,Zf,nu,Ct],styles:[".help-icon[_ngcontent-%COMP%]{display:inline}mat-form-field[_ngcontent-%COMP%]{margin-right:32px}mat-form-field[_ngcontent-%COMP%] .mat-mdc-form-field-bottom-align{margin-bottom:0!important}"]});const fZ=function(n){return{number:n}};class ul{constructor(){this.numberOfElements=0,this.linkParts=[""],this.queryParams={}}}function pZ(n,t){1&n&&(D(0,"span",14),I(1),R(2,"translate"),D(3,"mat-icon",15),R(4,"translate"),I(5,"help"),C()()),2&n&&(d(1),me(" ",B(2,3,"labels.title")," "),d(2),w("inline",!0)("matTooltip",B(4,5,"labels.info")))}function mZ(n,t){if(1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n){const e=z().$implicit;d(1),oe(B(2,1,e.translatableValue))}}function _Z(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z().$implicit;d(1),oe(e.value)}}function gZ(n,t){if(1&n&&(D(0,"div",19)(1,"span"),I(2),R(3,"translate"),C(),j(4,mZ,3,3,"ng-container",20),j(5,_Z,2,1,"ng-container",20),C()),2&n){const e=t.$implicit;d(2),me("",B(3,3,e.filterName),": "),d(2),w("ngIf",e.translatableValue),d(1),w("ngIf",e.value)}}function bZ(n,t){if(1&n){const e=tt();D(0,"div",16),ye("click",function(){return Pe(e),Oe(z().dataFilterer.removeFilters())}),j(1,gZ,6,5,"div",17),D(2,"div",18),I(3),R(4,"translate"),C()()}if(2&n){const e=z();d(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),d(2),oe(B(4,2,"filters.press-to-remove"))}}function vZ(n,t){if(1&n){const e=tt();D(0,"mat-icon",21),ye("click",function(){return Pe(e),Oe(z().dataFilterer.changeFilters())}),R(1,"translate"),I(2,"filter_list"),C()}2&n&&w("inline",!0)("matTooltip",B(1,2,"filters.filter-action"))}function yZ(n,t){if(1&n&&(D(0,"mat-icon",22),I(1,"more_horiz"),C()),2&n){z();const e=li(9);w("inline",!0)("matMenuTriggerFor",e)}}ul.\u0275fac=function(t){return new(t||ul)},ul.\u0275cmp=qe({type:ul,selectors:[["app-view-all-link"]],inputs:{numberOfElements:"numberOfElements",linkParts:"linkParts",queryParams:"queryParams"},decls:6,vars:9,consts:[[1,"main-container"],[3,"routerLink","queryParams"],[3,"inline"]],template:function(t,e){1&t&&(D(0,"div",0)(1,"a",1),I(2),R(3,"translate"),D(4,"mat-icon",2),I(5,"chevron_right"),C()()()),2&t&&(d(1),w("routerLink",e.linkParts)("queryParams",e.queryParams),d(1),me(" ",Pt(3,4,"view-all-link.label",Ve(7,fZ,e.numberOfElements))," "),d(2),w("inline",!0))},dependencies:[Qa,Cn,Ct],styles:[".main-container[_ngcontent-%COMP%]{padding-top:20px;margin-bottom:4px;text-align:right;font-size:.875rem}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.main-container[_ngcontent-%COMP%]{margin:0;padding:16px}}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#f8f9f9;text-decoration:none}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}"]});const Q1=function(){return["/settings","labels"]};function MZ(n,t){if(1&n&&xe(0,"app-paginator",23),2&n){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",Un(4,Q1))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function wZ(n,t){if(1&n&&(D(0,"mat-icon",36),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function xZ(n,t){if(1&n&&(D(0,"mat-icon",36),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function CZ(n,t){if(1&n&&(D(0,"mat-icon",36),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function kZ(n,t){if(1&n){const e=tt();D(0,"tr")(1,"td",38)(2,"mat-checkbox",39),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(3,"td"),I(4),C(),D(5,"td"),I(6),C(),D(7,"td"),I(8),R(9,"translate"),C(),D(10,"td",29)(11,"button",40),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).delete(s.id))}),R(12,"translate"),D(13,"mat-icon",36),I(14,"close"),C()()()()}if(2&n){const e=t.$implicit,i=z(2);d(2),w("checked",i.selections.get(e.id)),d(2),me(" ",e.label," "),d(2),me(" ",e.id," "),d(2),po(" ",i.getLabelTypeIdentification(e)[0]," - ",B(9,7,i.getLabelTypeIdentification(e)[1])," "),d(3),w("matTooltip",B(12,9,"labels.delete")),d(2),w("inline",!0)}}function SZ(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"tables.label")))}function DZ(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"tables.inverted-order")))}function TZ(n,t){if(1&n){const e=tt();D(0,"tr")(1,"td")(2,"div",33)(3,"div",41)(4,"mat-checkbox",39),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(5,"div",34)(6,"div",42)(7,"span",1),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",43)(12,"span",1),I(13),R(14,"translate"),C(),I(15),C(),D(16,"div",42)(17,"span",1),I(18),R(19,"translate"),C(),I(20),R(21,"translate"),C()(),xe(22,"div",44),D(23,"div",35)(24,"button",45),ye("click",function(o){const a=Pe(e).$implicit,l=z(2);return o.stopPropagation(),Oe(l.showOptionsDialog(a))}),R(25,"translate"),D(26,"mat-icon"),I(27),C()()()()()()}if(2&n){const e=t.$implicit,i=z(2);d(4),w("checked",i.selections.get(e.id)),d(4),oe(B(9,10,"labels.label")),d(2),me(": ",e.label," "),d(3),oe(B(14,12,"labels.id")),d(2),me(": ",e.id," "),d(3),oe(B(19,14,"labels.type")),d(2),po(": ",i.getLabelTypeIdentification(e)[0]," - ",B(21,16,i.getLabelTypeIdentification(e)[1])," "),d(4),w("matTooltip",B(25,18,"common.options")),d(3),oe("add")}}function LZ(n,t){if(1&n&&xe(0,"app-view-all-link",46),2&n){const e=z(2);w("numberOfElements",e.filteredLabels.length)("linkParts",Un(3,Q1))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const EZ=function(n,t){return{"small-node-list-margins":n,"full-node-list-margins":t}},IZ=function(n){return{"d-lg-none d-xl-table":n}},PZ=function(n){return{"d-lg-table d-xl-none":n}};function OZ(n,t){if(1&n){const e=tt();D(0,"div",24)(1,"div",25)(2,"table",26)(3,"tr"),xe(4,"th"),D(5,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.labelSortData))}),I(6),R(7,"translate"),j(8,wZ,2,2,"mat-icon",28),C(),D(9,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.idSortData))}),I(10),R(11,"translate"),j(12,xZ,2,2,"mat-icon",28),C(),D(13,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.typeSortData))}),I(14),R(15,"translate"),j(16,CZ,2,2,"mat-icon",28),C(),xe(17,"th",29),C(),j(18,kZ,15,11,"tr",30),C(),D(19,"table",31)(20,"tr",32),ye("click",function(){return Pe(e),Oe(z().dataSorter.openSortingOrderModal())}),D(21,"td")(22,"div",33)(23,"div",34)(24,"div",1),I(25),R(26,"translate"),C(),D(27,"div"),I(28),R(29,"translate"),j(30,SZ,3,3,"ng-container",20),j(31,DZ,3,3,"ng-container",20),C()(),D(32,"div",35)(33,"mat-icon",36),I(34,"keyboard_arrow_down"),C()()()()(),j(35,TZ,28,20,"tr",30),C(),j(36,LZ,1,4,"app-view-all-link",37),C()()}if(2&n){const e=z();d(1),w("ngClass",ln(27,EZ,e.showShortList_,!e.showShortList_)),d(1),w("ngClass",Ve(30,IZ,e.showShortList_)),d(4),me(" ",B(7,17,"labels.label")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.labelSortData),d(2),me(" ",B(11,19,"labels.id")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.idSortData),d(2),me(" ",B(15,21,"labels.type")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.typeSortData),d(2),w("ngForOf",e.dataSource),d(1),w("ngClass",Ve(32,PZ,e.showShortList_)),d(6),oe(B(26,23,"tables.sorting-title")),d(3),me("",B(29,25,e.dataSorter.currentSortingColumn.label)," "),d(2),w("ngIf",e.dataSorter.currentlySortingByLabel),d(1),w("ngIf",e.dataSorter.sortingInReverseOrder),d(2),w("inline",!0),d(2),w("ngForOf",e.dataSource),d(1),w("ngIf",e.showShortList_&&e.numberOfPages>1)}}function AZ(n,t){1&n&&(D(0,"span",50),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"labels.empty")))}function FZ(n,t){1&n&&(D(0,"span",50),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"labels.empty-with-filter")))}function RZ(n,t){if(1&n&&(D(0,"div",24)(1,"div",47)(2,"mat-icon",48),I(3,"warning"),C(),j(4,AZ,3,3,"span",49),j(5,FZ,3,3,"span",49),C()()),2&n){const e=z();d(2),w("inline",!0),d(2),w("ngIf",0===e.allLabels.length),d(1),w("ngIf",0!==e.allLabels.length)}}function NZ(n,t){if(1&n&&xe(0,"app-paginator",23),2&n){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",Un(4,Q1))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const YZ=function(n){return{"paginator-icons-fixer":n}};class Mu{constructor(t,e,i,o,s,a){this.dialog=t,this.route=e,this.router=i,this.snackbarService=o,this.translateService=s,this.storageService=a,this.listId="ll",this.labelSortData=new Nn(["label"],"labels.label",Jt.Text),this.idSortData=new Nn(["id"],"labels.id",Jt.Text),this.typeSortData=new Nn(["identifiedElementType_sort"],"labels.type",Jt.Text),this.selections=new Map,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"labels.filter-dialog.label",keyNameInElementsArray:"label",type:Zn.TextInput,maxlength:100},{filterName:"labels.filter-dialog.id",keyNameInElementsArray:"id",type:Zn.TextInput,maxlength:66},{filterName:"labels.filter-dialog.type",keyNameInElementsArray:"identifiedElementType",type:Zn.Select,printableLabelsForValues:[{value:"",label:"labels.filter-dialog.type-options.any"},{value:yr.Node,label:"labels.filter-dialog.type-options.visor"},{value:yr.DmsgServer,label:"labels.filter-dialog.type-options.dmsg-server"},{value:yr.Transport,label:"labels.filter-dialog.type-options.transport"}]}],this.dataSorter=new pu(this.dialog,this.translateService,this.storageService,[this.labelSortData,this.idSortData,this.typeSortData],0,this.listId),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataFilterer=new mu(this.dialog,this.route,this.router,this.filterProperties,this.listId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(c=>{this.filteredLabels=c,this.dataSorter.setData(this.filteredLabels)}),this.loadData(),this.navigationsSubscription=this.route.paramMap.subscribe(c=>{if(c.has("page")){let M=Number.parseInt(c.get("page"),10);(isNaN(M)||M<1)&&(M=1),this.currentPageInUrl=M,this.recalculateElementsToShow()}})}set showShortList(t){this.showShortList_=t,this.dataSorter.setData(this.filteredLabels)}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.dataSortedSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFiltererSubscription.unsubscribe(),this.dataFilterer.dispose()}loadData(){this.allLabels=this.storageService.getSavedLabels(),this.allLabels.forEach(t=>{t.identifiedElementType_sort=this.getLabelTypeIdentification(t)[0]}),this.dataFilterer.setData(this.allLabels)}getLabelTypeIdentification(t){return t.identifiedElementType===yr.Node?["1","labels.filter-dialog.type-options.visor"]:t.identifiedElementType===yr.DmsgServer?["2","labels.filter-dialog.type-options.dmsg-server"]:t.identifiedElementType===yr.Transport?["3","labels.filter-dialog.type-options.transport"]:void 0}changeSelection(t){this.selections.get(t.id)?this.selections.set(t.id,!1):this.selections.set(t.id,!0)}hasSelectedElements(){if(!this.selections)return!1;let t=!1;return this.selections.forEach(e=>{e&&(t=!0)}),t}changeAllSelections(t){this.selections.forEach((e,i)=>{this.selections.set(i,t)})}deleteSelected(){const t=Wt.createConfirmationDialog(this.dialog,"labels.delete-selected-confirmation");t.componentInstance.operationAccepted.subscribe(()=>{t.close(),this.selections.forEach((e,i)=>{e&&this.storageService.saveLabel(i,"",null)}),this.snackbarService.showDone("labels.deleted"),this.loadData()})}showOptionsDialog(t){$i.openDialog(this.dialog,[{icon:"close",label:"labels.delete"}],"common.options").afterClosed().subscribe(i=>{1===i&&this.delete(t.id)})}delete(t){const e=Wt.createConfirmationDialog(this.dialog,"labels.delete-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.close(),this.storageService.saveLabel(t,"",null),this.snackbarService.showDone("labels.deleted"),this.loadData()})}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredLabels){const t=this.showShortList_?Ht.maxShortListElements:Ht.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredLabels.length/t),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const e=t*(this.currentPage-1);this.labelsToShow=this.filteredLabels.slice(e,e+t);const o=new Map;this.labelsToShow.forEach(a=>{o.set(a.id,!0),this.selections.has(a.id)||this.selections.set(a.id,!1)});const s=[];this.selections.forEach((a,l)=>{o.has(l)||s.push(l)}),s.forEach(a=>{this.selections.delete(a)})}else this.labelsToShow=null,this.selections=new Map;this.dataSource=this.labelsToShow}}function BZ(n,t){1&n&&xe(0,"app-password")}function HZ(n,t){1&n&&(D(0,"div",8),xe(1,"mat-spinner",9),I(2),R(3,"translate"),C()),2&n&&(d(1),w("diameter",11),d(1),me(" ",B(3,2,"settings.checking-auth")," "))}Mu.\u0275fac=function(t){return new(t||Mu)(F(Fn),F(vr),F(Xt),F(cn),F(no),F(ti))},Mu.\u0275cmp=qe({type:Mu,selectors:[["app-label-list"]],inputs:{showShortList:"showShortList"},decls:23,vars:22,consts:[[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","uppercase",4,"ngIf"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],["class","small-icon",3,"inline","matTooltip","click",4,"ngIf"],[3,"inline","matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"uppercase"],[1,"help","d-none","d-md-inline",3,"inline","matTooltip"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","matTooltip","click"],[3,"inline","matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow",3,"ngClass"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table",3,"ngClass"],[1,"sortable-column",3,"click"],[3,"inline",4,"ngIf"],[1,"actions"],[4,"ngFor","ngForOf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none",3,"ngClass"],[1,"selectable",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],[3,"inline"],[3,"numberOfElements","linkParts","queryParams",4,"ngIf"],[1,"selection-col"],[3,"checked","change"],["mat-button","",1,"action-button","transparent-button",3,"matTooltip","click"],[1,"check-part"],[1,"list-row"],[1,"list-row","long-content"],[1,"margin-part"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],[3,"numberOfElements","linkParts","queryParams"],[1,"box-internal-container"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(t,e){1&t&&(D(0,"div",0)(1,"div",1),j(2,pZ,6,7,"span",2),j(3,bZ,5,4,"div",3),C(),D(4,"div",4)(5,"div",5),j(6,vZ,3,4,"mat-icon",6),j(7,yZ,2,2,"mat-icon",7),D(8,"mat-menu",8,9)(10,"div",10),ye("click",function(){return e.changeAllSelections(!0)}),I(11),R(12,"translate"),C(),D(13,"div",10),ye("click",function(){return e.changeAllSelections(!1)}),I(14),R(15,"translate"),C(),D(16,"div",11),ye("click",function(){return e.deleteSelected()}),I(17),R(18,"translate"),C()()(),j(19,MZ,1,5,"app-paginator",12),C()(),j(20,OZ,37,34,"div",13),j(21,RZ,6,3,"div",13),j(22,NZ,1,5,"app-paginator",12)),2&t&&(w("ngClass",Ve(20,YZ,!e.showShortList_&&e.numberOfPages>1&&e.dataSource)),d(2),w("ngIf",e.showShortList_),d(1),w("ngIf",e.dataFilterer.currentFiltersTexts&&e.dataFilterer.currentFiltersTexts.length>0),d(3),w("ngIf",e.allLabels&&e.allLabels.length>0),d(1),w("ngIf",e.dataSource&&e.dataSource.length>0),d(1),w("overlapTrigger",!1),d(3),me(" ",B(12,14,"selection.select-all")," "),d(3),me(" ",B(15,16,"selection.unselect-all")," "),d(2),Dn("disabled",!e.hasSelectedElements()),d(1),me(" ",B(18,18,"selection.delete-all")," "),d(2),w("ngIf",!e.showShortList_&&e.numberOfPages>1&&e.dataSource),d(1),w("ngIf",e.dataSource&&e.dataSource.length>0),d(1),w("ngIf",!e.dataSource||0===e.dataSource.length),d(1),w("ngIf",!e.showShortList_&&e.numberOfPages>1&&e.dataSource))},dependencies:[On,Ci,Ot,Wr,il,Cn,gi,gu,ma,bu,pa,ul,As,Ct],styles:[".overflow[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto}.overflow[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%}.actions[_ngcontent-%COMP%]{text-align:right;width:90px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}"]});const VZ=function(){return["start.title"]};class tp{constructor(t,e,i,o){this.authService=t,this.router=e,this.snackbarService=i,this.dialog=o,this.tabsData=[],this.options=[],this.waitBeforeShowingLoading=!0,this.authChecked=!1,this.authActive=!1,this.tabsData=[{icon:"view_headline",label:"nodes.title",linkParts:["/nodes"]},{icon:"language",label:"nodes.dmsg-title",linkParts:["/nodes","dmsg"]},{icon:"settings",label:"settings.title",linkParts:["/settings"]}],this.updateOptionsMenu()}ngOnInit(){setTimeout(()=>{this.waitBeforeShowingLoading=!1},500),this.checkAuth(0)}checkAuth(t){this.authSubscription=We(1).pipe(Ai(t),Ne(()=>this.authService.checkLogin())).subscribe(e=>{this.authChecked=!0,this.authActive=e===Es.Logged,this.updateOptionsMenu()},()=>{this.checkAuth(15e3)})}ngOnDestroy(){this.authSubscription.unsubscribe()}updateOptionsMenu(){this.options=[],this.authActive&&(this.options=[{name:"common.logout",actionName:"logout",icon:"power_settings_new"}])}performAction(t){"logout"===t&&this.logout()}logout(){const t=Wt.createConfirmationDialog(this.dialog,"common.logout-confirmation");t.componentInstance.operationAccepted.subscribe(()=>{t.componentInstance.closeModal(),this.authService.logout().subscribe(()=>this.router.navigate(["login"]),()=>this.snackbarService.showError("common.logout-error"))})}}tp.\u0275fac=function(t){return new(t||tp)(F(Is),F(Xt),F(cn),F(Fn))},tp.\u0275cmp=qe({type:tp,selectors:[["app-settings"]],decls:8,vars:9,consts:[[1,"row"],[1,"col-12"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","optionsData","optionSelected"],[1,"content","col-12","mt-4.5"],[1,"d-block","mb-4"],[4,"ngIf"],["class","white-theme checking-container",4,"ngIf"],[3,"showShortList"],[1,"white-theme","checking-container"],[3,"diameter"]],template:function(t,e){1&t&&(D(0,"div",0)(1,"div",1)(2,"app-top-bar",2),ye("optionSelected",function(o){return e.performAction(o)}),C()(),D(3,"div",3),xe(4,"app-refresh-rate",4),j(5,BZ,1,0,"app-password",5),j(6,HZ,4,4,"div",6),xe(7,"app-label-list",7),C()()),2&t&&(d(2),w("titleParts",Un(8,VZ))("tabsData",e.tabsData)("selectedTabIndex",2)("showUpdateButton",!1)("optionsData",e.options),d(3),w("ngIf",e.authChecked&&e.authActive),d(1),w("ngIf",!e.authChecked&&!e.waitBeforeShowingLoading),d(1),w("showShortList",!0))},dependencies:[Ot,rc,uu,ep,as,Mu,Ct],styles:[".checking-container[_ngcontent-%COMP%]{font-size:10px;opacity:.5}.checking-container[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%]{display:inline-block}.show-link[_ngcontent-%COMP%]{cursor:pointer;font-size:.8rem}"]});class hl{constructor(t){this.apiService=t}create(t,e,i){const o={remote_pk:e};return i&&(o.transport_type=i),this.apiService.post(`visors/${t}/transports`,o)}delete(t,e){return this.apiService.delete(`visors/${t}/transports/${e}`)}savePersistentTransportsData(t,e){return this.apiService.put(`visors/${t}/persistent-transports`,e)}getPersistentTransports(t){return this.apiService.get(`visors/${t}/persistent-transports`)}types(t){return this.apiService.get(`visors/${t}/transport-types`)}changeAutoconnectSetting(t,e){const i={};return i.public_autoconnect=e,this.apiService.put(`visors/${t}/public-autoconnect`,i)}}hl.\u0275fac=function(t){return new(t||hl)(we(yo))},hl.\u0275prov=Ye({token:hl,factory:hl.\u0275fac,providedIn:"root"});const jZ=["button"],zZ=["firstInput"];function UZ(n,t){1&n&&xe(0,"app-loading-indicator",5),2&n&&w("showWhite",!1)}function WZ(n,t){1&n&&($e(0),D(1,"span"),I(2),R(3,"translate"),C(),Ge()),2&n&&(d(2),oe(B(3,1,"transports.dialog.errors.remote-key-length-error")))}function $Z(n,t){1&n&&(D(0,"span"),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"transports.dialog.errors.remote-key-chars-error")))}function GZ(n,t){if(1&n&&(D(0,"mat-option",19),I(1),C()),2&n){const e=t.$implicit;w("value",e),d(1),oe(e)}}const Ag=function(n){return{"element-disabled":n}};function qZ(n,t){if(1&n){const e=tt();D(0,"form",6)(1,"mat-form-field",7)(2,"div",8)(3,"label",9),I(4),R(5,"translate"),C(),xe(6,"input",10,11),C(),D(8,"mat-error"),j(9,WZ,4,3,"ng-container",12),C(),j(10,$Z,3,3,"ng-template",null,13,Ms),C(),D(12,"mat-form-field",7)(13,"div",8)(14,"label",9),I(15),R(16,"translate"),C(),xe(17,"input",14),C()(),D(18,"mat-form-field",7)(19,"div",8)(20,"label",9),I(21),R(22,"translate"),C(),D(23,"mat-select",15),j(24,GZ,2,2,"mat-option",16),C()(),D(25,"mat-error")(26,"span"),I(27),R(28,"translate"),C()()(),D(29,"mat-checkbox",17),ye("change",function(o){return Pe(e),Oe(z().setMakePersistent(o))}),I(30),R(31,"translate"),D(32,"mat-icon",18),R(33,"translate"),I(34,"help"),C()()()}if(2&n){const e=li(11),i=z();w("formGroup",i.form),d(1),w("ngClass",Ve(28,Ag,i.disableDismiss)),d(3),oe(B(5,16,"transports.dialog.remote-key")),d(5),w("ngIf",!i.form.get("remoteKey").hasError("pattern"))("ngIfElse",e),d(3),w("ngClass",Ve(30,Ag,i.disableDismiss)),d(3),oe(B(16,18,"transports.dialog.label")),d(3),w("ngClass",Ve(32,Ag,i.disableDismiss)),d(3),oe(B(22,20,"transports.dialog.transport-type")),d(3),w("ngForOf",i.types),d(3),oe(B(28,22,"transports.dialog.errors.transport-type-error")),d(2),w("checked",i.makePersistent)("ngClass",Ve(34,Ag,i.disableDismiss)),d(1),me(" ",B(31,24,"transports.dialog.make-persistent")," "),d(2),w("inline",!0)("matTooltip",B(33,26,"transports.dialog.persistent-tooltip"))}}class hc{constructor(t,e,i,o,s,a){this.transportService=t,this.formBuilder=e,this.dialogRef=i,this.snackbarService=o,this.storageService=s,this.nodeService=a,this.makePersistent=!1,this.shouldShowError=!0}static openDialog(t){const e=new An;return e.autoFocus=!1,e.width=Ht.mediumModalWidth,t.open(hc,e)}ngOnInit(){this.form=this.formBuilder.group({remoteKey:["",Vt.compose([Vt.required,Vt.minLength(66),Vt.maxLength(66),Vt.pattern("^[0-9a-fA-F]+$")])],label:[""],type:["",Vt.required]}),this.loadData(0)}ngOnDestroy(){this.dataSubscription.unsubscribe(),this.operationSubscription&&this.operationSubscription.unsubscribe()}get disableDismiss(){return!!this.button&&this.button.isLoading}setMakePersistent(t){this.makePersistent=!!t.checked}create(){if(!this.form.valid||this.button.disabled)return;this.button.showLoading();const t=this.form.get("remoteKey").value,e=this.form.get("type").value,i=this.form.get("label").value;if(this.makePersistent){const o=this.transportService.getPersistentTransports(Je.getCurrentNodeKey());this.operationSubscription=o.subscribe(s=>{const a=s||[];let l=!1;a.forEach(c=>{c.pk.toUpperCase()===t.toUpperCase()&&c.type.toUpperCase()===e.toUpperCase()&&(l=!0)}),l?this.createTransport(t,e,i,!0):this.createPersistent(a,t,e,i)},s=>{this.onError(s)})}else this.createTransport(t,e,i,!1)}createPersistent(t,e,i,o){t.push({pk:e,type:i}),this.operationSubscription=this.transportService.savePersistentTransportsData(Je.getCurrentNodeKey(),t).subscribe(()=>{this.createTransport(e,i,o,!0)},s=>{this.onError(s)})}createTransport(t,e,i,o){this.operationSubscription=this.transportService.create(Je.getCurrentNodeKey(),t,e).subscribe(s=>{let a=!1;i&&(s&&s.id?this.storageService.saveLabel(s.id,i,yr.Transport):a=!0),Je.refreshCurrentDisplayedData(),this.dialogRef.close(),a?this.snackbarService.showWarning("transports.dialog.success-without-label"):this.snackbarService.showDone("transports.dialog.success")},s=>{o?(Je.refreshCurrentDisplayedData(),this.dialogRef.close(),this.snackbarService.showWarning("transports.dialog.only-persistent-created")):this.onError(s)})}onError(t){this.button.showError(),t=Qt(t),this.snackbarService.showError(t)}loadData(t){this.dataSubscription&&this.dataSubscription.unsubscribe(),this.dataSubscription=We(1).pipe(Ai(t),Ne(()=>this.transportService.types(Je.getCurrentNodeKey()))).subscribe(e=>{e.sort((o,s)=>"stcp"===o.toLowerCase()?1:"stcp"===s.toLowerCase()?-1:o.localeCompare(s));let i=e.findIndex(o=>"dmsg"===o.toLowerCase());i=-1!==i?i:0,this.types=e,this.form.get("type").setValue(e[i]),this.snackbarService.closeCurrentIfTemporaryError(),setTimeout(()=>this.firstInput.nativeElement.focus())},e=>{e=Qt(e),this.shouldShowError&&(this.snackbarService.showError("common.loading-error",null,!0,e),this.shouldShowError=!1),this.loadData(Ht.connectionRetryDelay)})}}function KZ(n,t){1&n&&($e(0),I(1),R(2,"translate"),D(3,"mat-icon",6),R(4,"translate"),I(5,"help"),C(),Ge()),2&n&&(d(1),me(" ",B(2,3,"common.yes")," "),d(2),w("inline",!0)("matTooltip",B(4,5,"transports.persistent-transport-tooltip")))}function ZZ(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"common.no")))}hc.\u0275fac=function(t){return new(t||hc)(F(hl),F(xr),F(Vn),F(cn),F(ti),F(Mo))},hc.\u0275cmp=qe({type:hc,selectors:[["app-create-transport"]],viewQuery:function(t,e){if(1&t&&(ft(jZ,5),ft(zZ,5)),2&t){let i;nt(i=it())&&(e.button=i.first),nt(i=it())&&(e.firstInput=i.first)}},decls:8,vars:11,consts:[[3,"headline","dialog","disableDismiss"],[3,"showWhite",4,"ngIf"],[3,"formGroup",4,"ngIf"],["color","primary",1,"float-right",3,"disabled","action"],["button",""],[3,"showWhite"],[3,"formGroup"],[3,"ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","remoteKey","maxlength","66","matInput",""],["firstInput",""],[4,"ngIf","ngIfElse"],["hexError",""],["formControlName","label","maxlength","66","matInput",""],["formControlName","type"],[3,"value",4,"ngFor","ngForOf"],["color","primary",3,"checked","ngClass","change"],[1,"help-icon",3,"inline","matTooltip"],[3,"value"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),j(2,UZ,1,1,"app-loading-indicator",1),j(3,qZ,35,36,"form",2),D(4,"app-button",3,4),ye("action",function(){return e.create()}),I(6),R(7,"translate"),C()()),2&t&&(w("headline",B(1,7,"transports.create"))("dialog",e.dialogRef)("disableDismiss",e.disableDismiss),d(2),w("ngIf",!e.types),d(1),w("ngIf",e.types),d(1),w("disabled",!e.form.valid),d(2),me(" ",B(7,9,"transports.create")," "))},dependencies:[On,Ci,Ot,Yi,Fi,Ri,Ni,wr,ni,Di,tr,sl,Cr,Cn,gi,Zf,nu,pa,ii,Rn,io,Ct],styles:["mat-checkbox[_ngcontent-%COMP%]{margin-bottom:15px}"]});class fc{constructor(t,e){this.data=t,this.dialogRef=e}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.largeModalWidth,t.open(fc,i)}}function XZ(n,t){1&n&&(D(0,"span",15),I(1),R(2,"translate"),D(3,"mat-icon",16),R(4,"translate"),I(5,"help"),C()()),2&n&&(d(1),me(" ",B(2,3,"transports.title")," "),d(2),w("inline",!0)("matTooltip",B(4,5,"transports.info")))}function QZ(n,t){if(1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n){const e=z().$implicit;d(1),oe(B(2,1,e.translatableValue))}}function JZ(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z().$implicit;d(1),oe(e.value)}}function eX(n,t){if(1&n&&(D(0,"div",20)(1,"span"),I(2),R(3,"translate"),C(),j(4,QZ,3,3,"ng-container",21),j(5,JZ,2,1,"ng-container",21),C()),2&n){const e=t.$implicit;d(2),me("",B(3,3,e.filterName),": "),d(2),w("ngIf",e.translatableValue),d(1),w("ngIf",e.value)}}function tX(n,t){if(1&n){const e=tt();D(0,"div",17),ye("click",function(){return Pe(e),Oe(z().dataFilterer.removeFilters())}),j(1,eX,6,5,"div",18),D(2,"div",19),I(3),R(4,"translate"),C()()}if(2&n){const e=z();d(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),d(2),oe(B(4,2,"filters.press-to-remove"))}}function nX(n,t){if(1&n){const e=tt();D(0,"mat-icon",22),ye("click",function(){return Pe(e),Oe(z().dataFilterer.changeFilters())}),I(1,"filter_list"),C()}2&n&&w("inline",!0)}function iX(n,t){if(1&n&&(D(0,"mat-icon",23),I(1,"more_horiz"),C()),2&n){z();const e=li(11);w("inline",!0)("matMenuTriggerFor",e)}}fc.\u0275fac=function(t){return new(t||fc)(F(Si),F(Vn))},fc.\u0275cmp=qe({type:fc,selectors:[["app-transport-details"]],decls:51,vars:45,consts:[[1,"info-dialog",3,"headline","dialog"],[1,"title","mt-0"],[3,"inline"],[1,"item"],[4,"ngIf"],[1,"title"],[1,"help-icon","d-none","d-md-inline",3,"inline","matTooltip"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div")(3,"div",1)(4,"mat-icon",2),I(5,"list"),C(),I(6),R(7,"translate"),C(),D(8,"div",3)(9,"span"),I(10),R(11,"translate"),C(),j(12,KZ,6,7,"ng-container",4),j(13,ZZ,3,3,"ng-container",4),C(),D(14,"div",3)(15,"span"),I(16),R(17,"translate"),C(),I(18),C(),D(19,"div",3)(20,"span"),I(21),R(22,"translate"),C(),I(23),C(),D(24,"div",3)(25,"span"),I(26),R(27,"translate"),C(),I(28),C(),D(29,"div",3)(30,"span"),I(31),R(32,"translate"),C(),I(33),C(),D(34,"div",5)(35,"mat-icon",2),I(36,"import_export"),C(),I(37),R(38,"translate"),C(),D(39,"div",3)(40,"span"),I(41),R(42,"translate"),C(),I(43),R(44,"autoScale"),C(),D(45,"div",3)(46,"span"),I(47),R(48,"translate"),C(),I(49),R(50,"autoScale"),C()()()),2&t&&(w("headline",B(1,21,"transports.details.title"))("dialog",e.dialogRef),d(4),w("inline",!0),d(2),me("",B(7,23,"transports.details.basic.title")," "),d(4),oe(B(11,25,"transports.details.basic.persistent")),d(2),w("ngIf",e.data.isPersistent),d(1),w("ngIf",!e.data.isPersistent),d(3),oe(B(17,27,"transports.details.basic.id")),d(2),me(" ",e.data.id," "),d(3),oe(B(22,29,"transports.details.basic.local-pk")),d(2),me(" ",e.data.localPk," "),d(3),oe(B(27,31,"transports.details.basic.remote-pk")),d(2),me(" ",e.data.remotePk," "),d(3),oe(B(32,33,"transports.details.basic.type")),d(2),me(" ",e.data.type," "),d(2),w("inline",!0),d(2),me("",B(38,35,"transports.details.data.title")," "),d(4),oe(B(42,37,"transports.details.data.uploaded")),d(2),me(" ",B(44,39,e.data.sent)," "),d(4),oe(B(48,41,"transports.details.data.downloaded")),d(2),me(" ",B(50,43,e.data.recv)," "))},dependencies:[Ot,Cn,gi,Rn,Ct,ir],styles:[".help-icon[_ngcontent-%COMP%]{opacity:.5;font-size:14px;cursor:default}"]});const J1=function(n){return["/nodes",n,"transports"]};function rX(n,t){if(1&n&&xe(0,"app-paginator",24),2&n){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",Ve(4,J1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function oX(n,t){if(1&n&&(D(0,"mat-icon",39),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function sX(n,t){1&n&&($e(0),I(1,"*"),Ge())}function aX(n,t){if(1&n&&($e(0),D(1,"mat-icon",39),I(2),C(),j(3,sX,2,0,"ng-container",21),Ge()),2&n){const e=z(2);d(1),w("inline",!0),d(1),oe(e.dataSorter.sortingArrow),d(1),w("ngIf",e.dataSorter.currentlySortingByLabel)}}function lX(n,t){1&n&&($e(0),I(1,"*"),Ge())}function cX(n,t){if(1&n&&($e(0),D(1,"mat-icon",39),I(2),C(),j(3,lX,2,0,"ng-container",21),Ge()),2&n){const e=z(2);d(1),w("inline",!0),d(1),oe(e.dataSorter.sortingArrow),d(1),w("ngIf",e.dataSorter.currentlySortingByLabel)}}function dX(n,t){if(1&n&&(D(0,"mat-icon",39),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function uX(n,t){if(1&n&&(D(0,"mat-icon",39),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function hX(n,t){if(1&n&&(D(0,"mat-icon",39),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function fX(n,t){if(1&n){const e=tt();D(0,"button",48),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).changeIfPersistent([o],!1))}),R(1,"translate"),D(2,"mat-icon",49),I(3,"star"),C()()}2&n&&(w("matTooltip",B(1,2,"transports.persistent-transport-button-tooltip")),d(2),w("inline",!0))}function pX(n,t){if(1&n){const e=tt();D(0,"button",48),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).changeIfPersistent([o],!0))}),R(1,"translate"),D(2,"mat-icon",50),I(3,"star_outline"),C()()}2&n&&(w("matTooltip",B(1,2,"transports.non-persistent-transport-button-tooltip")),d(2),w("inline",!0))}function mX(n,t){1&n&&(D(0,"span"),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"transports.offline")))}function _X(n,t){if(1&n){const e=tt();D(0,"td")(1,"app-labeled-element-text",51),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C(),j(2,mX,3,3,"span",21),C()}if(2&n){const e=z().$implicit,i=z(2);d(1),Dn("id",e.id),w("short",!0)("elementType",i.labeledElementTypes.Transport),d(1),w("ngIf",e.notFound)}}function gX(n,t){1&n&&(D(0,"td"),I(1),R(2,"translate"),C()),2&n&&(d(1),me(" ",B(2,1,"transports.offline")," "))}function bX(n,t){if(1&n&&(D(0,"td"),I(1),R(2,"autoScale"),C()),2&n){const e=z().$implicit;d(1),me(" ",B(2,1,e.sent)," ")}}function vX(n,t){if(1&n&&(D(0,"td"),I(1),R(2,"autoScale"),C()),2&n){const e=z().$implicit;d(1),me(" ",B(2,1,e.recv)," ")}}function yX(n,t){1&n&&(D(0,"td"),I(1),R(2,"translate"),C()),2&n&&(d(1),me(" ",B(2,1,"transports.offline")," "))}function MX(n,t){1&n&&(D(0,"td"),I(1),R(2,"translate"),C()),2&n&&(d(1),me(" ",B(2,1,"transports.offline")," "))}function wX(n,t){if(1&n){const e=tt();D(0,"button",52),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).details(o))}),R(1,"translate"),D(2,"mat-icon",39),I(3,"visibility"),C()()}2&n&&(w("matTooltip",B(1,2,"transports.details.title")),d(2),w("inline",!0))}function xX(n,t){if(1&n){const e=tt();D(0,"button",52),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).delete(o))}),R(1,"translate"),D(2,"mat-icon",39),I(3,"close"),C()()}2&n&&(w("matTooltip",B(1,2,"transports.delete")),d(2),w("inline",!0))}const jI=function(n){return{offline:n}};function CX(n,t){if(1&n){const e=tt();D(0,"tr",42)(1,"td",43)(2,"mat-checkbox",44),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(3,"td"),j(4,fX,4,4,"button",45),j(5,pX,4,4,"button",45),C(),j(6,_X,3,4,"td",21),j(7,gX,3,3,"td",21),D(8,"td")(9,"app-labeled-element-text",46),ye("labelEdited",function(){return Pe(e),Oe(z(2).refreshData())}),C()(),D(10,"td"),I(11),C(),j(12,bX,3,3,"td",21),j(13,vX,3,3,"td",21),j(14,yX,3,3,"td",21),j(15,MX,3,3,"td",21),D(16,"td",32),j(17,wX,4,4,"button",47),j(18,xX,4,4,"button",47),C()()}if(2&n){const e=t.$implicit,i=z(2);w("ngClass",Ve(15,jI,e.notFound)),d(2),w("checked",i.selections.get(e.id)),d(2),w("ngIf",e.isPersistent),d(1),w("ngIf",!e.isPersistent),d(1),w("ngIf",!e.notFound),d(1),w("ngIf",e.notFound),d(2),Dn("id",e.remotePk),w("short",!0),d(2),me(" ",e.type," "),d(1),w("ngIf",!e.notFound),d(1),w("ngIf",!e.notFound),d(1),w("ngIf",e.notFound),d(1),w("ngIf",e.notFound),d(2),w("ngIf",!e.notFound),d(1),w("ngIf",!e.notFound)}}function kX(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"tables.label")))}function SX(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"tables.inverted-order")))}function DX(n,t){1&n&&(D(0,"div",59)(1,"div",59)(2,"mat-icon",62),I(3,"star"),C(),I(4,"\xa0 "),D(5,"span",63),I(6),R(7,"translate"),C()()()),2&n&&(d(2),w("inline",!0),d(4),oe(B(7,2,"transports.persistent")))}function TX(n,t){if(1&n){const e=tt();D(0,"app-labeled-element-text",64),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()}if(2&n){const e=z().$implicit,i=z(2);Dn("id",e.id),w("elementType",i.labeledElementTypes.Transport)}}function LX(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"transports.offline")))}function EX(n,t){if(1&n&&($e(0),I(1),R(2,"autoScale"),Ge()),2&n){const e=z().$implicit;d(1),oe(B(2,1,e.sent))}}function IX(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"transports.offline")))}function PX(n,t){if(1&n&&($e(0),I(1),R(2,"autoScale"),Ge()),2&n){const e=z().$implicit;d(1),oe(B(2,1,e.recv))}}function OX(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"transports.offline")))}function AX(n,t){if(1&n){const e=tt();D(0,"tr")(1,"td")(2,"div",53)(3,"div",54)(4,"mat-checkbox",44),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(5,"div",37),j(6,DX,8,4,"div",55),D(7,"div",56)(8,"span",1),I(9),R(10,"translate"),C(),I(11,": "),j(12,TX,1,2,"app-labeled-element-text",57),j(13,LX,3,3,"ng-container",21),C(),D(14,"div",56)(15,"span",1),I(16),R(17,"translate"),C(),I(18,": "),D(19,"app-labeled-element-text",58),ye("labelEdited",function(){return Pe(e),Oe(z(2).refreshData())}),C()(),D(20,"div",59)(21,"span",1),I(22),R(23,"translate"),C(),I(24),C(),D(25,"div",59)(26,"span",1),I(27),R(28,"translate"),C(),I(29,": "),j(30,EX,3,3,"ng-container",21),j(31,IX,3,3,"ng-container",21),C(),D(32,"div",59)(33,"span",1),I(34),R(35,"translate"),C(),I(36,": "),j(37,PX,3,3,"ng-container",21),j(38,OX,3,3,"ng-container",21),C()(),xe(39,"div",60),D(40,"div",38)(41,"button",61),ye("click",function(o){const a=Pe(e).$implicit,l=z(2);return o.stopPropagation(),Oe(l.showOptionsDialog(a))}),R(42,"translate"),D(43,"mat-icon"),I(44),C()()()()()()}if(2&n){const e=t.$implicit,i=z(2);d(2),w("ngClass",Ve(30,jI,e.notFound)),d(2),w("checked",i.selections.get(e.id)),d(2),w("ngIf",e.isPersistent),d(3),oe(B(10,18,"transports.id")),d(3),w("ngIf",!e.notFound),d(1),w("ngIf",e.notFound),d(3),oe(B(17,20,"transports.remote-node")),d(3),Dn("id",e.remotePk),d(3),oe(B(23,22,"transports.type")),d(2),me(": ",e.type," "),d(3),oe(B(28,24,"common.uploaded")),d(3),w("ngIf",!e.notFound),d(1),w("ngIf",e.notFound),d(3),oe(B(35,26,"common.downloaded")),d(3),w("ngIf",!e.notFound),d(1),w("ngIf",e.notFound),d(3),w("matTooltip",B(42,28,"common.options")),d(3),oe("add")}}function FX(n,t){if(1&n&&xe(0,"app-view-all-link",65),2&n){const e=z(2);w("numberOfElements",e.filteredTransports.length)("linkParts",Ve(3,J1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const RX=function(n,t){return{"small-node-list-margins":n,"full-node-list-margins":t}},NX=function(n){return{"d-lg-none d-xl-table":n}},YX=function(n){return{"d-lg-table d-xl-none":n}};function BX(n,t){if(1&n){const e=tt();D(0,"div",25)(1,"div",26)(2,"table",27)(3,"tr"),xe(4,"th"),D(5,"th",28),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.persistentSortData))}),R(6,"translate"),D(7,"mat-icon",29),I(8,"star_outline"),C(),j(9,oX,2,2,"mat-icon",30),C(),D(10,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.idSortData))}),I(11),R(12,"translate"),j(13,aX,4,3,"ng-container",21),C(),D(14,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.remotePkSortData))}),I(15),R(16,"translate"),j(17,cX,4,3,"ng-container",21),C(),D(18,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.typeSortData))}),I(19),R(20,"translate"),j(21,dX,2,2,"mat-icon",30),C(),D(22,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.uploadedSortData))}),I(23),R(24,"translate"),j(25,uX,2,2,"mat-icon",30),C(),D(26,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.downloadedSortData))}),I(27),R(28,"translate"),j(29,hX,2,2,"mat-icon",30),C(),xe(30,"th",32),C(),j(31,CX,19,17,"tr",33),C(),D(32,"table",34)(33,"tr",35),ye("click",function(){return Pe(e),Oe(z().dataSorter.openSortingOrderModal())}),D(34,"td")(35,"div",36)(36,"div",37)(37,"div",1),I(38),R(39,"translate"),C(),D(40,"div"),I(41),R(42,"translate"),j(43,kX,3,3,"ng-container",21),j(44,SX,3,3,"ng-container",21),C()(),D(45,"div",38)(46,"mat-icon",39),I(47,"keyboard_arrow_down"),C()()()()(),j(48,AX,45,32,"tr",40),C(),j(49,FX,1,5,"app-view-all-link",41),C()()}if(2&n){const e=z();d(1),w("ngClass",ln(39,RX,e.showShortList_,!e.showShortList_)),d(1),w("ngClass",Ve(42,NX,e.showShortList_)),d(3),w("matTooltip",B(6,23,"transports.persistent-tooltip")),d(4),w("ngIf",e.dataSorter.currentSortingColumn===e.persistentSortData),d(2),me(" ",B(12,25,"transports.id")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.idSortData),d(2),me(" ",B(16,27,"transports.remote-node")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.remotePkSortData),d(2),me(" ",B(20,29,"transports.type")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.typeSortData),d(2),me(" ",B(24,31,"common.uploaded")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.uploadedSortData),d(2),me(" ",B(28,33,"common.downloaded")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.downloadedSortData),d(2),w("ngForOf",e.dataSource),d(1),w("ngClass",Ve(44,YX,e.showShortList_)),d(6),oe(B(39,35,"tables.sorting-title")),d(3),me("",B(42,37,e.dataSorter.currentSortingColumn.label)," "),d(2),w("ngIf",e.dataSorter.currentlySortingByLabel),d(1),w("ngIf",e.dataSorter.sortingInReverseOrder),d(2),w("inline",!0),d(2),w("ngForOf",e.dataSource),d(1),w("ngIf",e.showShortList_&&e.numberOfPages>1)}}function HX(n,t){1&n&&(D(0,"span",69),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"transports.empty")))}function VX(n,t){1&n&&(D(0,"span",69),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"transports.empty-with-filter")))}function jX(n,t){if(1&n&&(D(0,"div",25)(1,"div",66)(2,"mat-icon",67),I(3,"warning"),C(),j(4,HX,3,3,"span",68),j(5,VX,3,3,"span",68),C()()),2&n){const e=z();d(2),w("inline",!0),d(2),w("ngIf",0===e.allTransports.length),d(1),w("ngIf",0!==e.allTransports.length)}}function zX(n,t){if(1&n&&xe(0,"app-paginator",24),2&n){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",Ve(4,J1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const UX=function(n){return{"paginator-icons-fixer":n}};class wu{constructor(t,e,i,o,s,a,l,c){this.dialog=t,this.transportService=e,this.route=i,this.router=o,this.snackbarService=s,this.translateService=a,this.storageService=l,this.nodeService=c,this.listId="tr",this.persistentSortData=new Nn(["isPersistent"],"transports.persistent",Jt.Boolean),this.idSortData=new Nn(["id"],"transports.id",Jt.Text,["id_label"]),this.remotePkSortData=new Nn(["remotePk"],"transports.remote-node",Jt.Text,["remote_pk_label"]),this.typeSortData=new Nn(["type"],"transports.type",Jt.Text),this.uploadedSortData=new Nn(["sent"],"common.uploaded",Jt.NumberReversed),this.downloadedSortData=new Nn(["recv"],"common.downloaded",Jt.NumberReversed),this.selections=new Map,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"transports.filter-dialog.persistent",keyNameInElementsArray:"isPersistent",type:Zn.Select,printableLabelsForValues:[{value:"",label:"transports.filter-dialog.persistent-options.any"},{value:"true",label:"transports.filter-dialog.persistent-options.persistent"},{value:"false",label:"transports.filter-dialog.persistent-options.non-persistent"}]},{filterName:"transports.filter-dialog.id",keyNameInElementsArray:"id",secondaryKeyNameInElementsArray:"id_label",type:Zn.TextInput,maxlength:36},{filterName:"transports.filter-dialog.remote-node",keyNameInElementsArray:"remotePk",secondaryKeyNameInElementsArray:"remote_pk_label",type:Zn.TextInput,maxlength:66}],this.labeledElementTypes=yr,this.operationSubscriptionsGroup=[],this.dataSorter=new pu(this.dialog,this.translateService,this.storageService,[this.persistentSortData,this.idSortData,this.remotePkSortData,this.typeSortData,this.uploadedSortData,this.downloadedSortData],1,this.listId),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataFilterer=new mu(this.dialog,this.route,this.router,this.filterProperties,this.listId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(P=>{this.filteredTransports=P,this.dataSorter.setData(this.filteredTransports)}),this.navigationsSubscription=this.route.paramMap.subscribe(P=>{if(P.has("page")){let Y=Number.parseInt(P.get("page"),10);(isNaN(Y)||Y<1)&&(Y=1),this.currentPageInUrl=Y,this.recalculateElementsToShow()}}),this.languageSubscription=this.translateService.onLangChange.subscribe(()=>{this.node=this.currentNode})}set showShortList(t){this.showShortList_=t,this.dataSorter.setData(this.filteredTransports)}set node(t){this.currentNode=t,this.allTransports=t.transports,this.nodePK=t.localPk;const e=new Map;t.persistentTransports.forEach(i=>e.set(this.getPersistentTransportID(i.pk,i.type),i)),this.allTransports.forEach(i=>{e.has(this.getPersistentTransportID(i.remotePk,i.type))?(i.isPersistent=!0,e.delete(this.getPersistentTransportID(i.remotePk,i.type))):i.isPersistent=!1}),e.forEach((i,o)=>{this.allTransports.push({id:this.getPersistentTransportID(i.pk,i.type),localPk:t.localPk,remotePk:i.pk,type:i.type,recv:0,sent:0,isPersistent:!0,notFound:!0})}),this.allTransports.forEach(i=>{i.id_label=Or.getCompleteLabel(this.storageService,this.translateService,i.id),i.remote_pk_label=Or.getCompleteLabel(this.storageService,this.translateService,i.remotePk)}),this.dataFilterer.setData(this.allTransports)}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.operationSubscriptionsGroup.forEach(t=>t.unsubscribe()),this.languageSubscription.unsubscribe(),this.dataSortedSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFiltererSubscription.unsubscribe(),this.dataFilterer.dispose(),this.persistentTransportSubscription&&this.persistentTransportSubscription.unsubscribe()}changeSelection(t){this.selections.get(t.id)?this.selections.set(t.id,!1):this.selections.set(t.id,!0)}hasSelectedElements(){if(!this.selections)return!1;let t=!1;return this.selections.forEach(e=>{e&&(t=!0)}),t}changeAllSelections(t){this.selections.forEach((e,i)=>{this.selections.set(i,t)})}deleteSelected(){const t=Wt.createConfirmationDialog(this.dialog,"transports.delete-selected-confirmation");t.componentInstance.operationAccepted.subscribe(()=>{t.componentInstance.showProcessing();const e=[];this.selections.forEach((i,o)=>{i&&e.push(o)}),this.deleteRecursively(e,t)})}create(){hc.openDialog(this.dialog)}showOptionsDialog(t){const e=[];e.push(t.isPersistent?{icon:"star_outline",label:"transports.make-non-persistent"}:{icon:"star",label:"transports.make-persistent"}),t.notFound||(e.push({icon:"visibility",label:"transports.details.title"}),e.push({icon:"close",label:"transports.delete"})),$i.openDialog(this.dialog,e,"common.options").afterClosed().subscribe(i=>{1===i?this.changeIfPersistent([t],!t.isPersistent):2===i?this.details(t):3===i&&this.delete(t)})}changeIfPersistentOfSelected(t){const e=[];this.allTransports.forEach(i=>{this.selections.has(i.id)&&this.selections.get(i.id)&&e.push(i)}),this.changeIfPersistent(e,t)}changeIfPersistent(t,e){if(t.length<1)return;let i="transports.";i+=1===t.length?e?"make-persistent-confirmation":"make"+(t[0].notFound?"-offline":"")+"-non-persistent-confirmation":e?"make-selected-persistent-confirmation":"make-selected-non-persistent-confirmation";const o=Wt.createConfirmationDialog(this.dialog,i);o.componentInstance.operationAccepted.subscribe(()=>{o.componentInstance.showProcessing(),this.persistentTransportSubscription=this.transportService.getPersistentTransports(this.nodePK).subscribe(s=>{const a=s||[];let l=!1;const c=new Map;if(t.forEach(M=>c.set(this.getPersistentTransportID(M.remotePk,M.type),M)),e)a.forEach(M=>{c.has(this.getPersistentTransportID(M.pk,M.type))&&c.delete(this.getPersistentTransportID(M.pk,M.type))}),l=0===c.size,l||c.forEach(M=>{a.push({pk:M.remotePk,type:M.type})});else{l=!0;for(let M=0;M{o.close(),Je.refreshCurrentDisplayedData(),this.snackbarService.showDone("transports.changes-made")},M=>{M=Qt(M),o.componentInstance.showDone("confirmation.error-header-text",M.translatableErrorMsg)})},s=>{s=Qt(s),o.componentInstance.showDone("confirmation.error-header-text",s.translatableErrorMsg)})})}details(t){fc.openDialog(this.dialog,t)}delete(t){const i=Wt.createConfirmationDialog(this.dialog,"transports.delete-"+(t.isPersistent?"persistent-":"")+"confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.showProcessing(),this.operationSubscriptionsGroup.push(this.startDeleting(t.id).subscribe(()=>{i.close(),Je.refreshCurrentDisplayedData(),this.snackbarService.showDone("transports.deleted")},o=>{o=Qt(o),i.componentInstance.showDone("confirmation.error-header-text",o.translatableErrorMsg)}))})}refreshData(){Je.refreshCurrentDisplayedData()}getPersistentTransportID(t,e){return t.toUpperCase()+e.toUpperCase()}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredTransports){const t=this.showShortList_?Ht.maxShortListElements:Ht.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredTransports.length/t),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const e=t*(this.currentPage-1);this.transportsToShow=this.filteredTransports.slice(e,e+t);const o=new Map;this.transportsToShow.forEach(a=>{o.set(a.id,!0),this.selections.has(a.id)||this.selections.set(a.id,!1)});const s=[];this.selections.forEach((a,l)=>{o.has(l)||s.push(l)}),s.forEach(a=>{this.selections.delete(a)})}else this.transportsToShow=null,this.selections=new Map;this.dataSource=this.transportsToShow}startDeleting(t){return this.transportService.delete(Je.getCurrentNodeKey(),t)}deleteRecursively(t,e){this.operationSubscriptionsGroup.push(this.startDeleting(t[t.length-1]).subscribe(()=>{t.pop(),0===t.length?(e.close(),Je.refreshCurrentDisplayedData(),this.snackbarService.showDone("transports.deleted")):this.deleteRecursively(t,e)},i=>{Je.refreshCurrentDisplayedData(),i=Qt(i),e.componentInstance.showDone("confirmation.error-header-text",i.translatableErrorMsg)}))}}function WX(n,t){1&n&&(D(0,"div",5)(1,"mat-icon",2),I(2,"settings"),C(),I(3),R(4,"translate"),C()),2&n&&(d(1),w("inline",!0),d(2),me("",B(4,2,"routes.details.specific-fields-titles.app")," "))}function $X(n,t){1&n&&(D(0,"div",5)(1,"mat-icon",2),I(2,"swap_horiz"),C(),I(3),R(4,"translate"),C()),2&n&&(d(1),w("inline",!0),d(2),me("",B(4,2,"routes.details.specific-fields-titles.forward")," "))}function GX(n,t){1&n&&(D(0,"div",5)(1,"mat-icon",2),I(2,"arrow_forward"),C(),I(3),R(4,"translate"),C()),2&n&&(d(1),w("inline",!0),d(2),me("",B(4,2,"routes.details.specific-fields-titles.intermediary-forward")," "))}function qX(n,t){if(1&n&&(D(0,"div")(1,"div",3)(2,"span"),I(3),R(4,"translate"),C(),I(5),C(),D(6,"div",3)(7,"span"),I(8),R(9,"translate"),C(),I(10),C()()),2&n){const e=z(2);d(3),oe(B(4,5,"routes.details.specific-fields.route-id")),d(2),me(" ",e.routeRule.forwardFields?e.routeRule.forwardFields.nextRid:e.routeRule.intermediaryForwardFields.nextRid," "),d(3),oe(B(9,7,"routes.details.specific-fields.transport-id")),d(2),po(" ",e.routeRule.forwardFields?e.routeRule.forwardFields.nextTid:e.routeRule.intermediaryForwardFields.nextTid," ",e.getLabel(e.routeRule.forwardFields?e.routeRule.forwardFields.nextTid:e.routeRule.intermediaryForwardFields.nextTid)," ")}}function KX(n,t){if(1&n&&(D(0,"div")(1,"div",3)(2,"span"),I(3),R(4,"translate"),C(),I(5),C(),D(6,"div",3)(7,"span"),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",3)(12,"span"),I(13),R(14,"translate"),C(),I(15),C(),D(16,"div",3)(17,"span"),I(18),R(19,"translate"),C(),I(20),C()()),2&n){const e=z(2);d(3),oe(B(4,10,"routes.details.specific-fields.destination-pk")),d(2),po(" ",e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.dstPk:e.routeRule.forwardFields.routeDescriptor.dstPk," ",e.getLabel(e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.dstPk:e.routeRule.forwardFields.routeDescriptor.dstPk)," "),d(3),oe(B(9,12,"routes.details.specific-fields.source-pk")),d(2),po(" ",e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.srcPk:e.routeRule.forwardFields.routeDescriptor.srcPk," ",e.getLabel(e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.srcPk:e.routeRule.forwardFields.routeDescriptor.srcPk)," "),d(3),oe(B(14,14,"routes.details.specific-fields.destination-port")),d(2),me(" ",e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.dstPort:e.routeRule.forwardFields.routeDescriptor.dstPort," "),d(3),oe(B(19,16,"routes.details.specific-fields.source-port")),d(2),me(" ",e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.srcPort:e.routeRule.forwardFields.routeDescriptor.srcPort," ")}}function ZX(n,t){if(1&n&&(D(0,"div")(1,"div",5)(2,"mat-icon",2),I(3,"list"),C(),I(4),R(5,"translate"),C(),D(6,"div",3)(7,"span"),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",3)(12,"span"),I(13),R(14,"translate"),C(),I(15),C(),D(16,"div",3)(17,"span"),I(18),R(19,"translate"),C(),I(20),C(),j(21,WX,5,4,"div",6),j(22,$X,5,4,"div",6),j(23,GX,5,4,"div",6),j(24,qX,11,9,"div",4),j(25,KX,21,18,"div",4),C()),2&n){const e=z();d(2),w("inline",!0),d(2),me("",B(5,13,"routes.details.summary.title")," "),d(4),oe(B(9,15,"routes.details.summary.keep-alive")),d(2),me(" ",e.routeRule.ruleSummary.keepAlive," "),d(3),oe(B(14,17,"routes.details.summary.type")),d(2),me(" ",e.getRuleTypeName(e.routeRule.ruleSummary.ruleType)," "),d(3),oe(B(19,19,"routes.details.summary.key-route-id")),d(2),me(" ",e.routeRule.ruleSummary.keyRouteId," "),d(1),w("ngIf",e.routeRule.appFields),d(1),w("ngIf",e.routeRule.forwardFields),d(1),w("ngIf",e.routeRule.intermediaryForwardFields),d(1),w("ngIf",e.routeRule.forwardFields||e.routeRule.intermediaryForwardFields),d(1),w("ngIf",e.routeRule.appFields&&e.routeRule.appFields.routeDescriptor||e.routeRule.forwardFields&&e.routeRule.forwardFields.routeDescriptor)}}wu.\u0275fac=function(t){return new(t||wu)(F(Fn),F(hl),F(vr),F(Xt),F(cn),F(no),F(ti),F(Mo))},wu.\u0275cmp=qe({type:wu,selectors:[["app-transport-list"]],inputs:{showShortList:"showShortList",node:"node"},decls:31,vars:31,consts:[[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","uppercase",4,"ngIf"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],[3,"inline","click"],["class","small-icon",3,"inline","click",4,"ngIf"],[3,"inline","matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"uppercase"],[1,"help","d-none","d-md-inline",3,"inline","matTooltip"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","click"],[3,"inline","matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow",3,"ngClass"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table",3,"ngClass"],[1,"sortable-column","small-column",3,"matTooltip","click"],[1,"persistent-icon","grey-text"],[3,"inline",4,"ngIf"],[1,"sortable-column",3,"click"],[1,"actions"],[3,"ngClass",4,"ngFor","ngForOf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none",3,"ngClass"],[1,"selectable",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],[3,"inline"],[4,"ngFor","ngForOf"],[3,"numberOfElements","linkParts","queryParams",4,"ngIf"],[3,"ngClass"],[1,"selection-col"],[3,"checked","change"],["mat-button","","class","action-button subtle-transparent-button",3,"matTooltip","click",4,"ngIf"],["shortTextLength","4",3,"short","id","labelEdited"],["mat-button","","class","action-button transparent-button",3,"matTooltip","click",4,"ngIf"],["mat-button","",1,"action-button","subtle-transparent-button",3,"matTooltip","click"],[1,"persistent-icon","default-cursor",3,"inline"],[1,"persistent-icon","grey-text",3,"inline"],["shortTextLength","4",3,"short","id","elementType","labelEdited"],["mat-button","",1,"action-button","transparent-button",3,"matTooltip","click"],[1,"list-item-container",3,"ngClass"],[1,"check-part"],["class","list-row",4,"ngIf"],[1,"list-row","long-content"],[3,"id","elementType","labelEdited",4,"ngIf"],[3,"id","labelEdited"],[1,"list-row"],[1,"margin-part"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],[1,"persistent-icon",3,"inline"],[1,"yellow-clear-text","title"],[3,"id","elementType","labelEdited"],[3,"numberOfElements","linkParts","queryParams"],[1,"box-internal-container"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(t,e){1&t&&(D(0,"div",0)(1,"div",1),j(2,XZ,6,7,"span",2),j(3,tX,5,4,"div",3),C(),D(4,"div",4)(5,"div",5)(6,"mat-icon",6),ye("click",function(){return e.create()}),I(7,"add"),C(),j(8,nX,2,1,"mat-icon",7),j(9,iX,2,2,"mat-icon",8),D(10,"mat-menu",9,10)(12,"div",11),ye("click",function(){return e.changeAllSelections(!0)}),I(13),R(14,"translate"),C(),D(15,"div",11),ye("click",function(){return e.changeAllSelections(!1)}),I(16),R(17,"translate"),C(),D(18,"div",12),ye("click",function(){return e.changeIfPersistentOfSelected(!0)}),I(19),R(20,"translate"),C(),D(21,"div",12),ye("click",function(){return e.changeIfPersistentOfSelected(!1)}),I(22),R(23,"translate"),C(),D(24,"div",12),ye("click",function(){return e.deleteSelected()}),I(25),R(26,"translate"),C()()(),j(27,rX,1,6,"app-paginator",13),C()(),j(28,BX,50,46,"div",14),j(29,jX,6,3,"div",14),j(30,zX,1,6,"app-paginator",13)),2&t&&(w("ngClass",Ve(29,UX,!e.showShortList_&&e.numberOfPages>1&&e.dataSource)),d(2),w("ngIf",e.showShortList_),d(1),w("ngIf",e.dataFilterer.currentFiltersTexts&&e.dataFilterer.currentFiltersTexts.length>0),d(3),w("inline",!0),d(2),w("ngIf",e.allTransports&&e.allTransports.length>0),d(1),w("ngIf",e.dataSource&&e.dataSource.length>0),d(1),w("overlapTrigger",!1),d(3),me(" ",B(14,19,"selection.select-all")," "),d(3),me(" ",B(17,21,"selection.unselect-all")," "),d(2),Dn("disabled",!e.hasSelectedElements()),d(1),me(" ",B(20,23,"transports.make-selected-persistent")," "),d(2),Dn("disabled",!e.hasSelectedElements()),d(1),me(" ",B(23,25,"transports.make-selected-non-persistent")," "),d(2),Dn("disabled",!e.hasSelectedElements()),d(1),me(" ",B(26,27,"selection.delete-all")," "),d(2),w("ngIf",!e.showShortList_&&e.numberOfPages>1&&e.dataSource),d(1),w("ngIf",e.dataSource&&e.dataSource.length>0),d(1),w("ngIf",!e.dataSource||0===e.dataSource.length),d(1),w("ngIf",!e.showShortList_&&e.numberOfPages>1&&e.dataSource))},dependencies:[On,Ci,Ot,Wr,il,Cn,gi,gu,ma,bu,pa,ul,As,Or,Ct,ir],styles:[".overflow[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto}.overflow[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%}.actions[_ngcontent-%COMP%]{text-align:right;width:90px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}.small-column[_ngcontent-%COMP%]{width:1px;text-align:center}.persistent-icon[_ngcontent-%COMP%]{font-size:14px!important;color:#d48b05}.offline[_ngcontent-%COMP%]{opacity:.35}"]});class pc{constructor(t,e,i){this.dialogRef=e,this.storageService=i,this.ruleTypes=new Map([[0,"App"],[1,"Forward"],[2,"Intermediary forward"]]),this.routeRule=t}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.largeModalWidth,t.open(pc,i)}getRuleTypeName(t){return this.ruleTypes.has(t)?this.ruleTypes.get(t):t.toString()}closePopup(){this.dialogRef.close()}getLabel(t){const e=this.storageService.getLabelInfo(t);return e?" ("+e.label+")":""}}pc.\u0275fac=function(t){return new(t||pc)(F(Si),F(Vn),F(ti))},pc.\u0275cmp=qe({type:pc,selectors:[["app-route-details"]],decls:19,vars:17,consts:[[1,"info-dialog",3,"headline","dialog"],[1,"title","mt-0"],[3,"inline"],[1,"item"],[4,"ngIf"],[1,"title"],["class","title",4,"ngIf"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div")(3,"div",1)(4,"mat-icon",2),I(5,"list"),C(),I(6),R(7,"translate"),C(),D(8,"div",3)(9,"span"),I(10),R(11,"translate"),C(),I(12),C(),D(13,"div",3)(14,"span"),I(15),R(16,"translate"),C(),I(17),C(),j(18,ZX,26,21,"div",4),C()()),2&t&&(w("headline",B(1,9,"routes.details.title"))("dialog",e.dialogRef),d(4),w("inline",!0),d(2),me("",B(7,11,"routes.details.basic.title")," "),d(4),oe(B(11,13,"routes.details.basic.key")),d(2),me(" ",e.routeRule.key," "),d(3),oe(B(16,15,"routes.details.basic.rule")),d(2),me(" ",e.routeRule.rule," "),d(1),w("ngIf",e.routeRule.ruleSummary))},dependencies:[Ot,Cn,Rn,Ct]});class mc{constructor(t){this.apiService=t}get(t,e){return this.apiService.get(`visors/${t}/routes/${e}`)}delete(t,e){return this.apiService.delete(`visors/${t}/routes/${e}`)}setMinHops(t,e){return this.apiService.post(`visors/${t}/min-hops`,{min_hops:e})}}function XX(n,t){1&n&&(D(0,"span",14),I(1),R(2,"translate"),D(3,"mat-icon",15),R(4,"translate"),I(5,"help"),C()()),2&n&&(d(1),me(" ",B(2,3,"routes.title")," "),d(2),w("inline",!0)("matTooltip",B(4,5,"routes.info")))}function QX(n,t){if(1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n){const e=z().$implicit;d(1),oe(B(2,1,e.translatableValue))}}function JX(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z().$implicit;d(1),oe(e.value)}}function eQ(n,t){if(1&n&&(D(0,"div",19)(1,"span"),I(2),R(3,"translate"),C(),j(4,QX,3,3,"ng-container",20),j(5,JX,2,1,"ng-container",20),C()),2&n){const e=t.$implicit;d(2),me("",B(3,3,e.filterName),": "),d(2),w("ngIf",e.translatableValue),d(1),w("ngIf",e.value)}}function tQ(n,t){if(1&n){const e=tt();D(0,"div",16),ye("click",function(){return Pe(e),Oe(z().dataFilterer.removeFilters())}),j(1,eQ,6,5,"div",17),D(2,"div",18),I(3),R(4,"translate"),C()()}if(2&n){const e=z();d(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),d(2),oe(B(4,2,"filters.press-to-remove"))}}function nQ(n,t){if(1&n){const e=tt();D(0,"mat-icon",21),ye("click",function(){return Pe(e),Oe(z().dataFilterer.changeFilters())}),R(1,"translate"),I(2,"filter_list"),C()}2&n&&w("inline",!0)("matTooltip",B(1,2,"filters.filter-action"))}function iQ(n,t){1&n&&(D(0,"mat-icon",22),I(1,"more_horiz"),C()),2&n&&(z(),w("matMenuTriggerFor",li(9)))}mc.\u0275fac=function(t){return new(t||mc)(we(yo))},mc.\u0275prov=Ye({token:mc,factory:mc.\u0275fac,providedIn:"root"});const eM=function(n){return["/nodes",n,"routes"]};function rQ(n,t){if(1&n&&xe(0,"app-paginator",23),2&n){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",Ve(4,eM,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function oQ(n,t){if(1&n&&(D(0,"mat-icon",36),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function sQ(n,t){if(1&n&&(D(0,"mat-icon",36),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function aQ(n,t){if(1&n&&(D(0,"mat-icon",36),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function lQ(n,t){if(1&n&&(D(0,"mat-icon",36),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function cQ(n,t){if(1&n){const e=tt();$e(0),D(1,"td")(2,"app-labeled-element-text",41),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),D(3,"td")(4,"app-labeled-element-text",41),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),Ge()}if(2&n){const e=z().$implicit,i=z(2);d(2),Dn("id",e.src),w("short",!0)("elementType",i.labeledElementTypes.Node),d(2),Dn("id",e.dst),w("short",!0)("elementType",i.labeledElementTypes.Node)}}function dQ(n,t){if(1&n){const e=tt();$e(0),D(1,"td"),I(2,"---"),C(),D(3,"td")(4,"app-labeled-element-text",42),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),Ge()}if(2&n){const e=z().$implicit,i=z(2);d(4),Dn("id",e.dst),w("short",!0)("elementType",i.labeledElementTypes.Transport)}}function uQ(n,t){1&n&&($e(0),D(1,"td"),I(2,"---"),C(),D(3,"td"),I(4,"---"),C(),Ge())}function hQ(n,t){if(1&n){const e=tt();D(0,"tr")(1,"td",38)(2,"mat-checkbox",39),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(3,"td"),I(4),C(),D(5,"td"),I(6),C(),j(7,cQ,5,6,"ng-container",20),j(8,dQ,5,3,"ng-container",20),j(9,uQ,5,0,"ng-container",20),D(10,"td",29)(11,"button",40),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).details(s))}),R(12,"translate"),D(13,"mat-icon",36),I(14,"visibility"),C()(),D(15,"button",40),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).delete(s.key))}),R(16,"translate"),D(17,"mat-icon",36),I(18,"close"),C()()()()}if(2&n){const e=t.$implicit,i=z(2);d(2),w("checked",i.selections.get(e.key)),d(2),me(" ",e.key," "),d(2),me(" ",i.getTypeName(e.type)," "),d(1),w("ngIf",e.appFields||e.forwardFields),d(1),w("ngIf",!e.appFields&&!e.forwardFields&&e.intermediaryForwardFields),d(1),w("ngIf",!e.appFields&&!e.forwardFields&&!e.intermediaryForwardFields),d(2),w("matTooltip",B(12,10,"routes.details.title")),d(2),w("inline",!0),d(2),w("matTooltip",B(16,12,"routes.delete")),d(2),w("inline",!0)}}function fQ(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"tables.label")))}function pQ(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"tables.inverted-order")))}function mQ(n,t){if(1&n){const e=tt();$e(0),D(1,"div",44)(2,"span",1),I(3),R(4,"translate"),C(),I(5,": "),D(6,"app-labeled-element-text",47),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),D(7,"div",44)(8,"span",1),I(9),R(10,"translate"),C(),I(11,": "),D(12,"app-labeled-element-text",47),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),Ge()}if(2&n){const e=z().$implicit,i=z(2);d(3),oe(B(4,6,"routes.source")),d(3),Dn("id",e.src),w("elementType",i.labeledElementTypes.Node),d(3),oe(B(10,8,"routes.destination")),d(3),Dn("id",e.dst),w("elementType",i.labeledElementTypes.Node)}}function _Q(n,t){if(1&n){const e=tt();$e(0),D(1,"div",44)(2,"span",1),I(3),R(4,"translate"),C(),I(5,": --- "),C(),D(6,"div",44)(7,"span",1),I(8),R(9,"translate"),C(),I(10,": "),D(11,"app-labeled-element-text",47),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),Ge()}if(2&n){const e=z().$implicit,i=z(2);d(3),oe(B(4,4,"routes.source")),d(5),oe(B(9,6,"routes.destination")),d(3),Dn("id",e.dst),w("elementType",i.labeledElementTypes.Transport)}}function gQ(n,t){1&n&&($e(0),D(1,"div",44)(2,"span",1),I(3),R(4,"translate"),C(),I(5,": --- "),C(),D(6,"div",44)(7,"span",1),I(8),R(9,"translate"),C(),I(10,": --- "),C(),Ge()),2&n&&(d(3),oe(B(4,2,"routes.source")),d(5),oe(B(9,4,"routes.destination")))}function bQ(n,t){if(1&n){const e=tt();D(0,"tr")(1,"td")(2,"div",33)(3,"div",43)(4,"mat-checkbox",39),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(5,"div",34)(6,"div",44)(7,"span",1),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",44)(12,"span",1),I(13),R(14,"translate"),C(),I(15),C(),j(16,mQ,13,10,"ng-container",20),j(17,_Q,12,8,"ng-container",20),j(18,gQ,11,6,"ng-container",20),C(),xe(19,"div",45),D(20,"div",35)(21,"button",46),ye("click",function(o){const a=Pe(e).$implicit,l=z(2);return o.stopPropagation(),Oe(l.showOptionsDialog(a))}),R(22,"translate"),D(23,"mat-icon"),I(24),C()()()()()()}if(2&n){const e=t.$implicit,i=z(2);d(4),w("checked",i.selections.get(e.key)),d(4),oe(B(9,10,"routes.key")),d(2),me(": ",e.key," "),d(3),oe(B(14,12,"routes.type")),d(2),me(": ",i.getTypeName(e.type)," "),d(1),w("ngIf",e.appFields||e.forwardFields),d(1),w("ngIf",!e.appFields&&!e.forwardFields&&e.intermediaryForwardFields),d(1),w("ngIf",!e.appFields&&!e.forwardFields&&!e.intermediaryForwardFields),d(3),w("matTooltip",B(22,14,"common.options")),d(3),oe("add")}}function vQ(n,t){if(1&n&&xe(0,"app-view-all-link",48),2&n){const e=z(2);w("numberOfElements",e.filteredRoutes.length)("linkParts",Ve(3,eM,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const yQ=function(n,t){return{"small-node-list-margins":n,"full-node-list-margins":t}},MQ=function(n){return{"d-lg-none d-xl-table":n}},wQ=function(n){return{"d-lg-table d-xl-none":n}};function xQ(n,t){if(1&n){const e=tt();D(0,"div",24)(1,"div",25)(2,"table",26)(3,"tr"),xe(4,"th"),D(5,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.keySortData))}),I(6),R(7,"translate"),j(8,oQ,2,2,"mat-icon",28),C(),D(9,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.typeSortData))}),I(10),R(11,"translate"),j(12,sQ,2,2,"mat-icon",28),C(),D(13,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.sourceSortData))}),I(14),R(15,"translate"),j(16,aQ,2,2,"mat-icon",28),C(),D(17,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.destinationSortData))}),I(18),R(19,"translate"),j(20,lQ,2,2,"mat-icon",28),C(),xe(21,"th",29),C(),j(22,hQ,19,14,"tr",30),C(),D(23,"table",31)(24,"tr",32),ye("click",function(){return Pe(e),Oe(z().dataSorter.openSortingOrderModal())}),D(25,"td")(26,"div",33)(27,"div",34)(28,"div",1),I(29),R(30,"translate"),C(),D(31,"div"),I(32),R(33,"translate"),j(34,fQ,3,3,"ng-container",20),j(35,pQ,3,3,"ng-container",20),C()(),D(36,"div",35)(37,"mat-icon",36),I(38,"keyboard_arrow_down"),C()()()()(),j(39,bQ,25,16,"tr",30),C(),j(40,vQ,1,5,"app-view-all-link",37),C()()}if(2&n){const e=z();d(1),w("ngClass",ln(31,yQ,e.showShortList_,!e.showShortList_)),d(1),w("ngClass",Ve(34,MQ,e.showShortList_)),d(4),me(" ",B(7,19,"routes.key")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.keySortData),d(2),me(" ",B(11,21,"routes.type")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.typeSortData),d(2),me(" ",B(15,23,"routes.source")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.sourceSortData),d(2),me(" ",B(19,25,"routes.destination")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.destinationSortData),d(2),w("ngForOf",e.dataSource),d(1),w("ngClass",Ve(36,wQ,e.showShortList_)),d(6),oe(B(30,27,"tables.sorting-title")),d(3),me("",B(33,29,e.dataSorter.currentSortingColumn.label)," "),d(2),w("ngIf",e.dataSorter.currentlySortingByLabel),d(1),w("ngIf",e.dataSorter.sortingInReverseOrder),d(2),w("inline",!0),d(2),w("ngForOf",e.dataSource),d(1),w("ngIf",e.showShortList_&&e.numberOfPages>1)}}function CQ(n,t){1&n&&(D(0,"span",52),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"routes.empty")))}function kQ(n,t){1&n&&(D(0,"span",52),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"routes.empty-with-filter")))}function SQ(n,t){if(1&n&&(D(0,"div",24)(1,"div",49)(2,"mat-icon",50),I(3,"warning"),C(),j(4,CQ,3,3,"span",51),j(5,kQ,3,3,"span",51),C()()),2&n){const e=z();d(2),w("inline",!0),d(2),w("ngIf",0===e.allRoutes.length),d(1),w("ngIf",0!==e.allRoutes.length)}}function DQ(n,t){if(1&n&&xe(0,"app-paginator",23),2&n){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",Ve(4,eM,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const TQ=function(n){return{"paginator-icons-fixer":n}};class xu{constructor(t,e,i,o,s,a,l){this.routeService=t,this.dialog=e,this.route=i,this.router=o,this.snackbarService=s,this.translateService=a,this.storageService=l,this.listId="rl",this.keySortData=new Nn(["key"],"routes.key",Jt.Number),this.typeSortData=new Nn(["type"],"routes.type",Jt.Number),this.sourceSortData=new Nn(["src"],"routes.source",Jt.Text,["src_label"]),this.destinationSortData=new Nn(["dst"],"routes.destination",Jt.Text,["dst_label"]),this.labeledElementTypes=yr,this.selections=new Map,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"routes.filter-dialog.key",keyNameInElementsArray:"key",type:Zn.TextInput,maxlength:8},{filterName:"routes.filter-dialog.source",keyNameInElementsArray:"src",secondaryKeyNameInElementsArray:"src_label",type:Zn.TextInput,maxlength:66},{filterName:"routes.filter-dialog.destination",keyNameInElementsArray:"dst",secondaryKeyNameInElementsArray:"dst_label",type:Zn.TextInput,maxlength:66}],this.ruleTypes=new Map([[0,"App"],[1,"Forward"],[2,"Int. forward"]]),this.operationSubscriptionsGroup=[],this.dataSorter=new pu(this.dialog,this.translateService,this.storageService,[this.keySortData,this.typeSortData,this.sourceSortData,this.destinationSortData],0,this.listId),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()});const M={filterName:"routes.filter-dialog.type",keyNameInElementsArray:"type",type:Zn.Select,printableLabelsForValues:[{value:"",label:"routes.filter-dialog.any-type-option"}]};this.ruleTypes.forEach((P,Y)=>{M.printableLabelsForValues.push({value:Y+"",label:P})}),this.filterProperties=[M].concat(this.filterProperties),this.dataFilterer=new mu(this.dialog,this.route,this.router,this.filterProperties,this.listId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(P=>{this.filteredRoutes=P,this.dataSorter.setData(this.filteredRoutes)}),this.navigationsSubscription=this.route.paramMap.subscribe(P=>{if(P.has("page")){let Y=Number.parseInt(P.get("page"),10);(isNaN(Y)||Y<1)&&(Y=1),this.currentPageInUrl=Y,this.recalculateElementsToShow()}})}set showShortList(t){this.showShortList_=t,this.dataSorter.setData(this.filteredRoutes)}set routes(t){this.allRoutes=t,this.allRoutes.forEach(e=>{if(e.type=e.ruleSummary.ruleType||0===e.ruleSummary.ruleType?e.ruleSummary.ruleType:"",e.appFields||e.forwardFields){const i=e.appFields?e.appFields.routeDescriptor:e.forwardFields.routeDescriptor;e.src=i.srcPk,e.src_label=Or.getCompleteLabel(this.storageService,this.translateService,e.src),e.dst=i.dstPk,e.dst_label=Or.getCompleteLabel(this.storageService,this.translateService,e.dst)}else e.intermediaryForwardFields?(e.src="",e.src_label="",e.dst=e.intermediaryForwardFields.nextTid,e.dst_label=Or.getCompleteLabel(this.storageService,this.translateService,e.dst)):(e.src="",e.src_label="",e.dst="",e.dst_label="")}),this.dataFilterer.setData(this.allRoutes)}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.operationSubscriptionsGroup.forEach(t=>t.unsubscribe()),this.dataSortedSubscription.unsubscribe(),this.dataFiltererSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFilterer.dispose()}refreshData(){Je.refreshCurrentDisplayedData()}getTypeName(t){return this.ruleTypes.has(t)?this.ruleTypes.get(t):"Unknown"}changeSelection(t){this.selections.get(t.key)?this.selections.set(t.key,!1):this.selections.set(t.key,!0)}hasSelectedElements(){if(!this.selections)return!1;let t=!1;return this.selections.forEach(e=>{e&&(t=!0)}),t}changeAllSelections(t){this.selections.forEach((e,i)=>{this.selections.set(i,t)})}deleteSelected(){const t=Wt.createConfirmationDialog(this.dialog,"routes.delete-selected-confirmation");t.componentInstance.operationAccepted.subscribe(()=>{t.componentInstance.showProcessing();const e=[];this.selections.forEach((i,o)=>{i&&e.push(o)}),this.deleteRecursively(e,t)})}showOptionsDialog(t){$i.openDialog(this.dialog,[{icon:"visibility",label:"routes.details.title"},{icon:"close",label:"routes.delete"}],"common.options").afterClosed().subscribe(i=>{1===i?this.details(t):2===i&&this.delete(t.key)})}details(t){pc.openDialog(this.dialog,t)}delete(t){const e=Wt.createConfirmationDialog(this.dialog,"routes.delete-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.showProcessing(),this.operationSubscriptionsGroup.push(this.startDeleting(t).subscribe(()=>{e.close(),Je.refreshCurrentDisplayedData(),this.snackbarService.showDone("routes.deleted")},i=>{i=Qt(i),e.componentInstance.showDone("confirmation.error-header-text",i.translatableErrorMsg)}))})}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredRoutes){const t=this.showShortList_?Ht.maxShortListElements:Ht.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredRoutes.length/t),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const e=t*(this.currentPage-1);this.routesToShow=this.filteredRoutes.slice(e,e+t);const o=new Map;this.routesToShow.forEach(a=>{o.set(a.key,!0),this.selections.has(a.key)||this.selections.set(a.key,!1)});const s=[];this.selections.forEach((a,l)=>{o.has(l)||s.push(l)}),s.forEach(a=>{this.selections.delete(a)})}else this.routesToShow=null,this.selections=new Map;this.dataSource=this.routesToShow}startDeleting(t){return this.routeService.delete(Je.getCurrentNodeKey(),t.toString())}deleteRecursively(t,e){this.operationSubscriptionsGroup.push(this.startDeleting(t[t.length-1]).subscribe(()=>{t.pop(),0===t.length?(e.close(),Je.refreshCurrentDisplayedData(),this.snackbarService.showDone("routes.deleted")):this.deleteRecursively(t,e)},i=>{Je.refreshCurrentDisplayedData(),i=Qt(i),e.componentInstance.showDone("confirmation.error-header-text",i.translatableErrorMsg)}))}}xu.\u0275fac=function(t){return new(t||xu)(F(mc),F(Fn),F(vr),F(Xt),F(cn),F(no),F(ti))},xu.\u0275cmp=qe({type:xu,selectors:[["app-route-list"]],inputs:{nodePK:"nodePK",showShortList:"showShortList",routes:"routes"},decls:23,vars:22,consts:[[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","uppercase",4,"ngIf"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],["class","small-icon",3,"inline","matTooltip","click",4,"ngIf"],[3,"matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"uppercase"],[1,"help","d-none","d-md-inline",3,"inline","matTooltip"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","matTooltip","click"],[3,"matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow",3,"ngClass"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table",3,"ngClass"],[1,"sortable-column",3,"click"],[3,"inline",4,"ngIf"],[1,"actions"],[4,"ngFor","ngForOf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none",3,"ngClass"],[1,"selectable",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],[3,"inline"],[3,"numberOfElements","linkParts","queryParams",4,"ngIf"],[1,"selection-col"],[3,"checked","change"],["mat-button","",1,"action-button","transparent-button",3,"matTooltip","click"],["shortTextLength","7",3,"short","id","elementType","labelEdited"],["shortTextLength","5",3,"short","id","elementType","labelEdited"],[1,"check-part"],[1,"list-row","long-content"],[1,"margin-part"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],[3,"id","elementType","labelEdited"],[3,"numberOfElements","linkParts","queryParams"],[1,"box-internal-container"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(t,e){1&t&&(D(0,"div",0)(1,"div",1),j(2,XX,6,7,"span",2),j(3,tQ,5,4,"div",3),C(),D(4,"div",4)(5,"div",5),j(6,nQ,3,4,"mat-icon",6),j(7,iQ,2,1,"mat-icon",7),D(8,"mat-menu",8,9)(10,"div",10),ye("click",function(){return e.changeAllSelections(!0)}),I(11),R(12,"translate"),C(),D(13,"div",10),ye("click",function(){return e.changeAllSelections(!1)}),I(14),R(15,"translate"),C(),D(16,"div",11),ye("click",function(){return e.deleteSelected()}),I(17),R(18,"translate"),C()()(),j(19,rQ,1,6,"app-paginator",12),C()(),j(20,xQ,41,38,"div",13),j(21,SQ,6,3,"div",13),j(22,DQ,1,6,"app-paginator",12)),2&t&&(w("ngClass",Ve(20,TQ,!e.showShortList_&&e.numberOfPages>1&&e.dataSource)),d(2),w("ngIf",e.showShortList_),d(1),w("ngIf",e.dataFilterer.currentFiltersTexts&&e.dataFilterer.currentFiltersTexts.length>0),d(3),w("ngIf",e.allRoutes&&e.allRoutes.length>0),d(1),w("ngIf",e.dataSource&&e.dataSource.length>0),d(1),w("overlapTrigger",!1),d(3),me(" ",B(12,14,"selection.select-all")," "),d(3),me(" ",B(15,16,"selection.unselect-all")," "),d(2),Dn("disabled",!e.hasSelectedElements()),d(1),me(" ",B(18,18,"selection.delete-all")," "),d(2),w("ngIf",!e.showShortList_&&e.numberOfPages>1&&e.dataSource),d(1),w("ngIf",e.dataSource&&e.dataSource.length>0),d(1),w("ngIf",!e.dataSource||0===e.dataSource.length),d(1),w("ngIf",!e.showShortList_&&e.numberOfPages>1&&e.dataSource))},dependencies:[On,Ci,Ot,Wr,il,Cn,gi,gu,ma,bu,pa,ul,As,Or,Ct],styles:[".actions[_ngcontent-%COMP%]{text-align:right;width:90px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}"]});class np{ngOnInit(){this.dataSubscription=Je.currentNode.subscribe(t=>{this.nodePK=t.localPk,this.node=t,this.routes=t.routes})}ngOnDestroy(){this.dataSubscription.unsubscribe()}}function LQ(n,t){if(1&n&&(D(0,"mat-option",6),I(1),R(2,"translate"),C()),2&n){const e=t.$implicit;w("value",e.days),d(1),oe(B(2,2,e.text))}}np.\u0275fac=function(t){return new(t||np)},np.\u0275cmp=qe({type:np,selectors:[["app-routing"]],decls:2,vars:5,consts:[[3,"node","showShortList"],[3,"routes","showShortList","nodePK"]],template:function(t,e){1&t&&xe(0,"app-transport-list",0)(1,"app-route-list",1),2&t&&(w("node",e.node)("showShortList",!0),d(1),w("routes",e.routes)("showShortList",!0)("nodePK",e.nodePK))},dependencies:[wu,xu]});class _c{constructor(t,e,i){this.data=t,this.dialogRef=e,this.formBuilder=i}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.smallModalWidth,t.open(_c,i)}ngOnInit(){this.filters=[{text:"apps.log.filter.7-days",days:7},{text:"apps.log.filter.1-month",days:30},{text:"apps.log.filter.3-months",days:90},{text:"apps.log.filter.6-months",days:180},{text:"apps.log.filter.1-year",days:365},{text:"apps.log.filter.all",days:-1}],this.form=this.formBuilder.group({filter:[this.data.days]}),this.formSubscription=this.form.get("filter").valueChanges.subscribe(t=>{this.dialogRef.close(this.filters.find(e=>e.days===t))})}ngOnDestroy(){this.formSubscription.unsubscribe()}}_c.\u0275fac=function(t){return new(t||_c)(F(Si),F(Vn),F(xr))},_c.\u0275cmp=qe({type:_c,selectors:[["app-log-filter"]],decls:10,vars:9,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","filter"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),D(8,"mat-select",4),j(9,LQ,3,4,"mat-option",5),C()()()()()),2&t&&(w("headline",B(1,5,"apps.log.filter.title"))("dialog",e.dialogRef),d(2),w("formGroup",e.form),d(4),oe(B(7,7,"apps.log.filter.filter")),d(3),w("ngForOf",e.filters))},dependencies:[Ci,Yi,Ri,Ni,ni,Di,tr,Zf,nu,Rn,Ct],styles:["mat-form-field[_ngcontent-%COMP%]{margin-bottom:-24px}"]});const EQ=["content"],IQ=function(n){return{totalLogs:n}};function PQ(n,t){if(1&n&&(D(0,"app-button",10)(1,"div",11),I(2),R(3,"translate"),C()()),2&n){const e=z();d(2),me(" ",Pt(3,1,"apps.log.view-all",Ve(4,IQ,e.totalLogs))," ")}}function OQ(n,t){if(1&n&&(D(0,"div",12)(1,"span",3),I(2),C(),I(3),C()),2&n){const e=t.$implicit;d(2),me(" ",e.time," "),d(1),me(" ",e.msg," ")}}function AQ(n,t){1&n&&(D(0,"div",13),I(1),R(2,"translate"),C()),2&n&&(d(1),me(" ",B(2,1,"apps.log.empty")," "))}function FQ(n,t){1&n&&xe(0,"app-loading-indicator",14),2&n&&w("showWhite",!1)}class gc{constructor(t,e,i,o,s,a){this.data=t,this.dialogRef=e,this.appsService=i,this.dialog=o,this.snackbarService=s,this.apiService=a,this.logMessages=[],this.hasMoreLogMessages=!1,this.totalLogs=0,this.loading=!1,this.currentFilter={text:"apps.log.filter.7-days",days:7},this.shouldShowError=!0}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.largeModalWidth,t.open(gc,i)}ngOnInit(){this.loadData(0)}ngOnDestroy(){this.removeSubscription()}filter(){_c.openDialog(this.dialog,this.currentFilter).afterClosed().subscribe(t=>{t&&(this.currentFilter=t,this.logMessages=[],this.loadData(0))})}getLogsUrl(){return"/"+this.apiService.apiPrefix+this.appsService.getLogMessagesUrl(Je.getCurrentNodeKey(),this.data.name)}loadData(t){this.removeSubscription(),this.loading=!0,this.subscription=We(1).pipe(Ai(t),Ne(()=>this.appsService.getLogMessages(Je.getCurrentNodeKey(),this.data.name,this.currentFilter.days))).subscribe(e=>this.onLogsReceived(e),e=>this.onLogsError(e))}removeSubscription(){this.subscription&&this.subscription.unsubscribe()}onLogsReceived(t=[]){this.loading=!1,this.shouldShowError=!0,this.snackbarService.closeCurrentIfTemporaryError();let e=0;this.hasMoreLogMessages=!1,this.totalLogs=t.length,t.forEach(i=>{if(e<5e3){const o=i.startsWith("[")?0:-1,s=-1!==o?i.indexOf("]"):-1;this.logMessages.push(-1!==o&&-1!==s?{time:i.substr(o,s+1),msg:i.substr(s+1)}:{time:"",msg:i})}else this.hasMoreLogMessages=!0;e+=1}),setTimeout(()=>{this.content.nativeElement.scrollTop=this.content.nativeElement.scrollHeight})}onLogsError(t){t=Qt(t),this.shouldShowError&&(this.snackbarService.showError("common.loading-error",null,!0,t),this.shouldShowError=!1),this.loadData(Ht.connectionRetryDelay)}}gc.\u0275fac=function(t){return new(t||gc)(F(Si),F(Vn),F(wo),F(Fn),F(cn),F(yo))},gc.\u0275cmp=qe({type:gc,selectors:[["app-log"]],viewQuery:function(t,e){if(1&t&&ft(EQ,5),2&t){let i;nt(i=it())&&(e.content=i.first)}},decls:18,vars:17,consts:[[3,"headline","includeVerticalMargins","includeScrollableArea","dialog"],[1,"filter-link-container"],[1,"filter-link","subtle-transparent-button",3,"click"],[1,"transparent"],["content",""],["target","_blank",3,"href"],["class","full-logs-button","color","primary",4,"ngIf"],["class","app-log-message",4,"ngFor","ngForOf"],["class","app-log-empty mt-3",4,"ngIf"],[3,"showWhite",4,"ngIf"],["color","primary",1,"full-logs-button"],[1,"text-container"],[1,"app-log-message"],[1,"app-log-empty","mt-3"],[3,"showWhite"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1)(3,"div",2),ye("click",function(){return e.filter()}),D(4,"span",3),I(5),R(6,"translate"),C(),I(7,"\xa0 "),D(8,"span"),I(9),R(10,"translate"),C()()(),D(11,"mat-dialog-content",null,4)(13,"a",5),j(14,PQ,4,6,"app-button",6),C(),j(15,OQ,4,2,"div",7),j(16,AQ,3,3,"div",8),j(17,FQ,1,1,"app-loading-indicator",9),C()()),2&t&&(w("headline",B(1,11,"apps.log.title"))("includeVerticalMargins",!1)("includeScrollableArea",!1)("dialog",e.dialogRef),d(5),oe(B(6,13,"apps.log.filter-button")),d(4),oe(B(10,15,e.currentFilter.text)),d(4),w("href",e.getLogsUrl(),_s),d(1),w("ngIf",e.hasMoreLogMessages),d(1),w("ngForOf",e.logMessages),d(1),w("ngIf",!(e.loading||e.logMessages&&0!==e.logMessages.length)),d(1),w("ngIf",e.loading))},dependencies:[Ci,Ot,IL,ii,Rn,io,Ct],styles:[".mat-mdc-dialog-content[_ngcontent-%COMP%]{font-size:.875rem}.app-log-message[_ngcontent-%COMP%]{margin-top:15px;word-break:break-word}.app-log-message[_ngcontent-%COMP%] .transparent[_ngcontent-%COMP%]{color:#999}.app-log-message[_ngcontent-%COMP%]:first-of-type{margin-top:0}.app-log-message[_ngcontent-%COMP%]:last-of-type{margin-bottom:24px}.filter-link-container[_ngcontent-%COMP%]{text-align:center;margin:15px 0}.filter-link-container[_ngcontent-%COMP%] .filter-link[_ngcontent-%COMP%]{display:inline-block;background:#F8F9F9;padding:5px 10px;border-radius:1000px;font-size:.875rem;text-align:center;color:#215f9e;cursor:pointer}.filter-link-container[_ngcontent-%COMP%] .filter-link[_ngcontent-%COMP%] .transparent[_ngcontent-%COMP%]{color:#215f9e80}.full-logs-button[_ngcontent-%COMP%] button{width:100%!important;display:block;text-align:center;margin-bottom:15px}.full-logs-button[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]{width:100%}"]});const RQ=["button"],NQ=["firstInput"],Fg=function(n){return{"element-disabled":n}};function YQ(n,t){if(1&n&&(D(0,"mat-form-field",2)(1,"div",3)(2,"label",4),I(3),R(4,"translate"),C(),xe(5,"input",12),C()()),2&n){const e=z();w("ngClass",Ve(4,Fg,e.disableDismiss)),d(3),oe(B(4,2,"apps.vpn-socks-server-settings.netifc"))}}function BQ(n,t){if(1&n){const e=tt();D(0,"div",13)(1,"mat-checkbox",14),ye("change",function(o){return Pe(e),Oe(z().setSecureMode(o))}),I(2),R(3,"translate"),D(4,"mat-icon",15),R(5,"translate"),I(6,"help"),C()()()}if(2&n){const e=z();d(1),w("checked",e.secureMode)("ngClass",Ve(9,Fg,e.disableDismiss)),d(1),me(" ",B(3,5,"apps.vpn-socks-server-settings.secure-mode-check")," "),d(2),w("inline",!0)("matTooltip",B(5,7,"apps.vpn-socks-server-settings.secure-mode-info"))}}class bc{constructor(t,e,i,o,s,a){this.data=t,this.appsService=e,this.formBuilder=i,this.dialogRef=o,this.snackbarService=s,this.dialog=a,this.configuringVpn=!1,this.secureMode=!1,-1!==t.name.toLocaleLowerCase().indexOf("vpn")&&(this.configuringVpn=!0)}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.mediumModalWidth,t.open(bc,i)}ngOnInit(){if(this.form=this.formBuilder.group({password:[""],passwordConfirmation:["",this.validatePasswords.bind(this)],netifc:[""]}),this.formSubscription=this.form.get("password").valueChanges.subscribe(()=>{this.form.get("passwordConfirmation").updateValueAndValidity()}),this.data.args&&this.data.args.length>0)for(let t=0;tthis.firstInput.nativeElement.focus())}ngOnDestroy(){this.formSubscription.unsubscribe(),this.operationSubscription&&this.operationSubscription.unsubscribe()}get disableDismiss(){return!!this.button&&this.button.isLoading}setSecureMode(t){this.button.disabled||(this.secureMode=!!t.checked)}saveChanges(){if(!this.form.valid||this.button.disabled)return;const t=this.form.get("password").value?"apps.vpn-socks-server-settings.change-passowrd-confirmation":"apps.vpn-socks-server-settings.remove-passowrd-confirmation",e=Wt.createConfirmationDialog(this.dialog,t);e.componentInstance.operationAccepted.subscribe(()=>{e.close(),this.continueSavingChanges()})}continueSavingChanges(){this.button.showLoading();const t={passcode:this.form.get("password").value};this.configuringVpn&&(t.secure=this.secureMode,t.netifc=this.form.get("netifc").value),this.operationSubscription=this.appsService.changeAppSettings(Je.getCurrentNodeKey(),this.data.name,t).subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)})}onSuccess(){Je.refreshCurrentDisplayedData(),this.snackbarService.showDone("apps.vpn-socks-server-settings.changes-made"),this.dialogRef.close()}onError(t){this.button.showError(),t=Qt(t),this.snackbarService.showError(t)}validatePasswords(){return this.form&&this.form.get("password").value!==this.form.get("passwordConfirmation").value?{invalid:!0}:null}}bc.\u0275fac=function(t){return new(t||bc)(F(Si),F(wo),F(xr),F(Vn),F(cn),F(Fn))},bc.\u0275cmp=qe({type:bc,selectors:[["app-skysocks-settings"]],viewQuery:function(t,e){if(1&t&&(ft(RQ,5),ft(NQ,5)),2&t){let i;nt(i=it())&&(e.button=i.first),nt(i=it())&&(e.firstInput=i.first)}},decls:27,vars:27,consts:[[3,"headline","dialog","disableDismiss"],[3,"formGroup"],[3,"ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["id","password","type","password","formControlName","password","maxlength","100","matInput",""],["firstInput",""],["id","passwordConfirmation","type","password","formControlName","passwordConfirmation","maxlength","100","matInput",""],[3,"ngClass",4,"ngIf"],["class","main-theme settings-option",4,"ngIf"],["color","primary",1,"float-right",3,"disabled","action"],["button",""],["id","netifc","type","text","formControlName","netifc","matInput",""],[1,"main-theme","settings-option"],["color","primary",3,"checked","ngClass","change"],[1,"help-icon",3,"inline","matTooltip"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field",2)(4,"div",3)(5,"label",4),I(6),R(7,"translate"),C(),xe(8,"input",5,6),C()(),D(10,"mat-form-field",2)(11,"div",3)(12,"label",4),I(13),R(14,"translate"),C(),xe(15,"input",7,6),C(),D(17,"mat-error")(18,"span"),I(19),R(20,"translate"),C()()(),j(21,YQ,6,6,"mat-form-field",8),j(22,BQ,7,11,"div",9),C(),D(23,"app-button",10,11),ye("action",function(){return e.saveChanges()}),I(25),R(26,"translate"),C()()),2&t&&(w("headline",B(1,13,"apps.vpn-socks-server-settings."+(e.configuringVpn?"vpn-title":"socks-title")))("dialog",e.dialogRef)("disableDismiss",e.disableDismiss),d(2),w("formGroup",e.form),d(1),w("ngClass",Ve(23,Fg,e.disableDismiss)),d(3),oe(B(7,15,"apps.vpn-socks-server-settings.new-password")),d(4),w("ngClass",Ve(25,Fg,e.disableDismiss)),d(3),oe(B(14,17,"apps.vpn-socks-server-settings.repeat-password")),d(6),oe(B(20,19,"apps.vpn-socks-server-settings.passwords-not-match")),d(2),w("ngIf",e.configuringVpn),d(1),w("ngIf",e.configuringVpn),d(1),w("disabled",!e.form.valid),d(2),me(" ",B(26,21,"apps.vpn-socks-server-settings.save")," "))},dependencies:[On,Ot,Yi,Fi,Ri,Ni,wr,ni,Di,tr,sl,Cr,Cn,gi,pa,ii,Rn,Ct],styles:["mat-checkbox[_ngcontent-%COMP%]{margin-bottom:15px}"]});const HQ=["firstInput"];class vc{constructor(t,e,i){this.dialogRef=t,this.data=e,this.formBuilder=i}static openDialog(t,e){const i=new An;return i.data=e||"",i.autoFocus=!1,i.width=Ht.smallModalWidth,t.open(vc,i)}ngOnInit(){this.form=this.formBuilder.group({note:[this.data]}),setTimeout(()=>this.firstInput.nativeElement.focus())}finish(){const t=this.form.get("note").value.trim();this.dialogRef.close("-"+t)}}vc.\u0275fac=function(t){return new(t||vc)(F(Vn),F(Si),F(xr))},vc.\u0275cmp=qe({type:vc,selectors:[["app-edit-skysocks-client-note"]],viewQuery:function(t,e){if(1&t&&ft(HQ,5),2&t){let i;nt(i=it())&&(e.firstInput=i.first)}},decls:13,vars:11,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","note","maxlength","100","matInput",""],["firstInput",""],["color","primary","type","mat-raised-button",1,"float-right",3,"action"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6),ye("action",function(){return e.finish()}),I(11),R(12,"translate"),C()()),2&t&&(w("headline",B(1,5,"apps.vpn-socks-client-settings.change-note-dialog.title"))("dialog",e.dialogRef),d(2),w("formGroup",e.form),d(4),oe(B(7,7,"apps.vpn-socks-client-settings.change-note-dialog.note")),d(5),oe(B(12,9,"common.save")))},dependencies:[Yi,Fi,Ri,Ni,wr,ni,Di,tr,Cr,ii,Rn,Ct]});const ga={AF:"Afghanistan",AX:"Aland Islands",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo",CD:"Congo, Democratic Republic",CK:"Cook Islands",CR:"Costa Rica",CI:"Cote D'Ivoire",HR:"Croatia",CU:"Cuba",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands (Malvinas)",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GG:"Guernsey",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and Mcdonald Islands",VA:"Holy See (Vatican City State)",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran",IQ:"Iraq",IE:"Ireland",IM:"Isle of Man",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JE:"Jersey",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"Korea (North)",KR:"Korea (South)",XK:"Kosovo",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Laos",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libyan Arab Jamahiriya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MK:"Macedonia",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia",MD:"Moldova",MC:"Monaco",MN:"Mongolia",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",AN:"Netherlands Antilles",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestinian Territory, Occupied",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"Reunion",RO:"Romania",RU:"Russian Federation",RW:"Rwanda",SH:"Saint Helena",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",RS:"Serbia",ME:"Montenegro",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Swaziland",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan, Province of China",TJ:"Tajikistan",TZ:"Tanzania",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"Turkey",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela",VN:"Viet Nam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe",ZZ:"Unknown"};function VQ(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z().$implicit,i=z(2);d(1),oe(i.completeCountriesList[e.toUpperCase()])}}function jQ(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z().$implicit;d(1),oe(e.toUpperCase())}}function zQ(n,t){if(1&n&&(D(0,"mat-option",10)(1,"div",12),xe(2,"div"),C(),j(3,VQ,2,1,"ng-container",2),j(4,jQ,2,1,"ng-container",2),C()),2&n){const e=t.$implicit,i=z(2);w("value",e.toUpperCase()),d(2),ci("background-image: url('assets/img/flags/"+e.toLocaleLowerCase()+".png');"),d(1),w("ngIf",i.completeCountriesList[e.toUpperCase()]),d(1),w("ngIf",!i.completeCountriesList[e.toUpperCase()])}}function UQ(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),me(" ",B(2,1,"apps.vpn-socks-client-settings.filter-dialog.any-country")," "))}function WQ(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z(3);d(1),oe(e.completeCountriesList[e.form.get("country").value])}}function $Q(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z(3);d(1),oe(e.form.get("country").value)}}function GQ(n,t){if(1&n&&($e(0),D(1,"div",12),xe(2,"div"),C(),j(3,WQ,2,1,"ng-container",2),j(4,$Q,2,1,"ng-container",2),Ge()),2&n){const e=z(2);d(2),ci("background-image: url('assets/img/flags/"+e.form.get("country").value.toLocaleLowerCase()+".png');"),d(1),w("ngIf",e.completeCountriesList[e.form.get("country").value]),d(1),w("ngIf",!e.completeCountriesList[e.form.get("country").value])}}function qQ(n,t){if(1&n&&(D(0,"mat-form-field")(1,"div",3)(2,"label",4),I(3),R(4,"translate"),C(),D(5,"mat-select",9)(6,"mat-option",10),I(7),R(8,"translate"),C(),j(9,zQ,5,5,"mat-option",11),D(10,"mat-select-trigger"),j(11,UQ,3,3,"ng-container",2),j(12,GQ,5,4,"ng-container",2),C()()()()),2&n){const e=z();d(3),oe(B(4,6,"apps.vpn-socks-client-settings.filter-dialog.country")),d(3),w("value","-"),d(1),oe(B(8,8,"apps.vpn-socks-client-settings.filter-dialog.any-country")),d(2),w("ngForOf",e.data.availableCountries),d(2),w("ngIf","-"===e.form.get("country").value),d(1),w("ngIf","-"!==e.form.get("country").value)}}class zI{constructor(){this.country="",this.location="",this.key=""}}class yc{constructor(t,e,i){this.data=t,this.dialogRef=e,this.formBuilder=i,this.completeCountriesList=ga}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.smallModalWidth,t.open(yc,i)}ngOnInit(){this.form=this.formBuilder.group({country:[this.data.currentFilters.country?this.data.currentFilters.country:"-"],"location-text":[this.data.currentFilters.location],"key-text":[this.data.currentFilters.key]})}apply(){const t=new zI;let e=this.form.get("country").value.trim();"-"===e&&(e=""),t.country=e,t.location=this.form.get("location-text").value.trim(),t.key=this.form.get("key-text").value.trim(),this.dialogRef.close(t)}}yc.\u0275fac=function(t){return new(t||yc)(F(Si),F(Vn),F(xr))},yc.\u0275cmp=qe({type:yc,selectors:[["app-skysocks-client-filter"]],decls:20,vars:15,consts:[[3,"headline","dialog"],[3,"formGroup"],[4,"ngIf"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","location-text","maxlength","100","matInput",""],["formControlName","key-text","maxlength","66","matInput",""],["type","mat-raised-button","color","primary",1,"float-right",3,"action"],["button",""],["formControlName","country","id","country"],[3,"value"],[3,"value",4,"ngFor","ngForOf"],[1,"flag-container"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1),j(3,qQ,13,10,"mat-form-field",2),D(4,"mat-form-field")(5,"div",3)(6,"label",4),I(7),R(8,"translate"),C(),xe(9,"input",5),C()(),D(10,"mat-form-field")(11,"div",3)(12,"label",4),I(13),R(14,"translate"),C(),xe(15,"input",6),C()()(),D(16,"app-button",7,8),ye("action",function(){return e.apply()}),I(18),R(19,"translate"),C()()),2&t&&(w("headline",B(1,7,"apps.vpn-socks-client-settings.filter-dialog.title"))("dialog",e.dialogRef),d(2),w("formGroup",e.form),d(1),w("ngIf",e.data.availableCountries.length>0),d(4),oe(B(8,9,"apps.vpn-socks-client-settings.filter-dialog.location")),d(6),oe(B(14,11,"apps.vpn-socks-client-settings.filter-dialog.pub-key")),d(5),me(" ",B(19,13,"apps.vpn-socks-client-settings.filter-dialog.apply")," "))},dependencies:[Ci,Ot,Yi,Fi,Ri,Ni,wr,ni,Di,tr,Cr,Zf,uG,nu,ii,Rn,Ct]});const KQ=["firstInput"];class Mc{constructor(t,e){this.dialogRef=t,this.formBuilder=e}static openDialog(t){const e=new An;return e.autoFocus=!1,e.width=Ht.smallModalWidth,t.open(Mc,e)}ngOnInit(){this.form=this.formBuilder.group({password:[""]}),setTimeout(()=>this.firstInput.nativeElement.focus())}finish(){const t=this.form.get("password").value;this.dialogRef.close("-"+t)}}Mc.\u0275fac=function(t){return new(t||Mc)(F(Vn),F(xr))},Mc.\u0275cmp=qe({type:Mc,selectors:[["app-skysocks-client-password"]],viewQuery:function(t,e){if(1&t&&ft(KQ,5),2&t){let i;nt(i=it())&&(e.firstInput=i.first)}},decls:16,vars:14,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"info"],[1,"field-container"],["for","remoteKey",1,"field-label"],["type","password","id","password","formControlName","password","maxlength","100","matInput",""],["firstInput",""],["color","primary","type","mat-raised-button",1,"float-right",3,"action"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"div",2),I(4),R(5,"translate"),C(),D(6,"mat-form-field")(7,"div",3)(8,"label",4),I(9),R(10,"translate"),C(),xe(11,"input",5,6),C()()(),D(13,"app-button",7),ye("action",function(){return e.finish()}),I(14),R(15,"translate"),C()()),2&t&&(w("headline",B(1,6,"apps.vpn-socks-client-settings.password-dialog.title"))("dialog",e.dialogRef),d(2),w("formGroup",e.form),d(2),oe(B(5,8,"apps.vpn-socks-client-settings.password-dialog.info")),d(5),oe(B(10,10,"apps.vpn-socks-client-settings.password-dialog.password")),d(5),me(" ",B(15,12,"apps.vpn-socks-client-settings.password-dialog.continue-button")," "))},dependencies:[Yi,Fi,Ri,Ni,wr,ni,Di,tr,Cr,ii,Rn,Ct],styles:[".info[_ngcontent-%COMP%]{font-size:.7rem;margin-bottom:15px}"]});class Cu{constructor(t){this.http=t,this.discoveryServiceUrl="https://sd.skycoin.com/api/services?type="}getServices(t){const e=[];return this.http.get(this.discoveryServiceUrl+(t?"proxy":"vpn")).pipe(Qf(i=>i.pipe(Ai(4e3))),Ce(i=>(i||(i=[]),i.forEach(o=>{const s=new S$,a=o.address.split(":");2===a.length&&(s.address=o.address,s.pk=a[0],s.port=a[1],s.location="",o.geo&&(o.geo.country&&(s.country=o.geo.country,s.location+=ga[o.geo.country.toUpperCase()]?ga[o.geo.country.toUpperCase()]:o.geo.country),o.geo.region&&o.geo.country&&(s.location+=", "),o.geo.region&&(s.region=o.geo.region,s.location+=s.region)),e.push(s))}),e)))}}function ZQ(n,t){}Cu.\u0275fac=function(t){return new(t||Cu)(we($l))},Cu.\u0275prov=Ye({token:Cu,factory:Cu.\u0275fac,providedIn:"root"});const XQ=function(n){return{animationDuration:n}},QQ=function(n,t){return{value:n,params:t}};function JQ(n,t){1&n&&vn(0)}const UI=["*"],eJ=["tabListContainer"],tJ=["tabList"],nJ=["tabListInner"],iJ=["nextPaginator"],rJ=["previousPaginator"],oJ=["tabBodyWrapper"],sJ=["tabHeader"];function aJ(n,t){}function lJ(n,t){1&n&&j(0,aJ,0,0,"ng-template",14),2&n&&w("cdkPortalOutlet",z().$implicit.templateLabel)}function cJ(n,t){1&n&&I(0),2&n&&oe(z().$implicit.textLabel)}function dJ(n,t){if(1&n){const e=tt();D(0,"div",6,7),ye("click",function(){const o=Pe(e),s=o.$implicit,a=o.index,l=z(),c=li(1);return Oe(l._handleClick(s,c,a))})("cdkFocusChange",function(o){const a=Pe(e).index;return Oe(z()._tabFocusChanged(o,a))}),xe(2,"span",8)(3,"div",9),D(4,"span",10)(5,"span",11),j(6,lJ,1,1,"ng-template",12),j(7,cJ,1,1,"ng-template",null,13,Ms),C()()()}if(2&n){const e=t.$implicit,i=t.index,o=li(1),s=li(8),a=z();Gt("mdc-tab--active",a.selectedIndex===i),w("id",a._getTabLabelId(i))("ngClass",e.labelClass)("disabled",e.disabled)("fitInkBarToContent",a.fitInkBarToContent),Ut("tabIndex",a._getTabIndex(e,i))("aria-posinset",i+1)("aria-setsize",a._tabs.length)("aria-controls",a._getTabContentId(i))("aria-selected",a.selectedIndex===i)("aria-label",e.ariaLabel||null)("aria-labelledby",!e.ariaLabel&&e.ariaLabelledby?e.ariaLabelledby:null),d(3),w("matRippleTrigger",o)("matRippleDisabled",e.disabled||a.disableRipple),d(3),w("ngIf",e.templateLabel)("ngIfElse",s)}}function uJ(n,t){if(1&n){const e=tt();D(0,"mat-tab-body",15),ye("_onCentered",function(){return Pe(e),Oe(z()._removeTabBodyWrapperHeight())})("_onCentering",function(o){return Pe(e),Oe(z()._setTabBodyWrapperHeight(o))}),C()}if(2&n){const e=t.$implicit,i=t.index,o=z();Gt("mat-mdc-tab-body-active",o.selectedIndex===i),w("id",o._getTabContentId(i))("ngClass",e.bodyClass)("content",e.content)("position",e.position)("origin",e.origin)("animationDuration",o.animationDuration)("preserveContent",o.preserveContent),Ut("tabindex",null!=o.contentTabIndex&&o.selectedIndex===i?o.contentTabIndex:null)("aria-labelledby",o._getTabLabelId(i))}}const hJ={translateTab:ra("translateTab",[mo("center, void, left-origin-center, right-origin-center",Kn({transform:"none"})),mo("left",Kn({transform:"translate3d(-100%, 0, 0)",minHeight:"1px",visibility:"hidden"})),mo("right",Kn({transform:"translate3d(100%, 0, 0)",minHeight:"1px",visibility:"hidden"})),Lr("* => left, * => right, left => center, right => center",Ur("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")),Lr("void => left-origin-center",[Kn({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"}),Ur("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")]),Lr("void => right-origin-center",[Kn({transform:"translate3d(100%, 0, 0)",visibility:"hidden"}),Ur("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")])])};let fJ=(()=>{class n extends tl{constructor(e,i,o,s){super(e,i,s),this._host=o,this._centeringSub=T.EMPTY,this._leavingSub=T.EMPTY}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe(bo(this._host._isCenterPosition(this._host._position))).subscribe(e=>{e&&!this.hasAttached()&&this.attach(this._host._content)}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this._host.preserveContent||this.detach()})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}}return n.\u0275fac=function(e){return new(e||n)(F(Na),F(Xi),F(sn(()=>WI)),F(St))},n.\u0275dir=Ke({type:n,selectors:[["","matTabBodyHost",""]],features:[dt]}),n})(),pJ=(()=>{class n{constructor(e,i,o){this._elementRef=e,this._dir=i,this._dirChangeSubscription=T.EMPTY,this._translateTabComplete=new X,this._onCentering=new ht,this._beforeCentering=new ht,this._afterLeavingCenter=new ht,this._onCentered=new ht(!0),this.animationDuration="500ms",this.preserveContent=!1,i&&(this._dirChangeSubscription=i.change.subscribe(s=>{this._computePositionAnimationState(s),o.markForCheck()})),this._translateTabComplete.pipe(a1((s,a)=>s.fromState===a.fromState&&s.toState===a.toState)).subscribe(s=>{this._isCenterPosition(s.toState)&&this._isCenterPosition(this._position)&&this._onCentered.emit(),this._isCenterPosition(s.fromState)&&!this._isCenterPosition(this._position)&&this._afterLeavingCenter.emit()})}set position(e){this._positionIndex=e,this._computePositionAnimationState()}ngOnInit(){"center"==this._position&&null!=this.origin&&(this._position=this._computePositionFromOrigin(this.origin))}ngOnDestroy(){this._dirChangeSubscription.unsubscribe(),this._translateTabComplete.complete()}_onTranslateTabStarted(e){const i=this._isCenterPosition(e.toState);this._beforeCentering.emit(i),i&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_isCenterPosition(e){return"center"==e||"left-origin-center"==e||"right-origin-center"==e}_computePositionAnimationState(e=this._getLayoutDirection()){this._position=this._positionIndex<0?"ltr"==e?"left":"right":this._positionIndex>0?"ltr"==e?"right":"left":"center"}_computePositionFromOrigin(e){const i=this._getLayoutDirection();return"ltr"==i&&e<=0||"rtl"==i&&e>0?"left-origin-center":"right-origin-center"}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(Pr,8),F(di))},n.\u0275dir=Ke({type:n,inputs:{_content:["content","_content"],origin:"origin",animationDuration:"animationDuration",preserveContent:"preserveContent",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_afterLeavingCenter:"_afterLeavingCenter",_onCentered:"_onCentered"}}),n})(),WI=(()=>{class n extends pJ{constructor(e,i,o){super(e,i,o)}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(Pr,8),F(di))},n.\u0275cmp=qe({type:n,selectors:[["mat-tab-body"]],viewQuery:function(e,i){if(1&e&&ft(tl,5),2&e){let o;nt(o=it())&&(i._portalHost=o.first)}},hostAttrs:[1,"mat-mdc-tab-body"],features:[dt],decls:3,vars:6,consts:[["cdkScrollable","",1,"mat-mdc-tab-body-content"],["content",""],["matTabBodyHost",""]],template:function(e,i){1&e&&(D(0,"div",0,1),ye("@translateTab.start",function(s){return i._onTranslateTabStarted(s)})("@translateTab.done",function(s){return i._translateTabComplete.next(s)}),j(2,ZQ,0,0,"ng-template",2),C()),2&e&&w("@translateTab",ln(3,QQ,i._position,Ve(1,XQ,i.animationDuration)))},dependencies:[fJ],styles:['.mat-mdc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-mdc-tab-body.mat-mdc-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-mdc-tab-group.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body.mat-mdc-tab-body-active{overflow-y:hidden}.mat-mdc-tab-body-content{height:100%;overflow:auto}.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body-content{overflow:hidden}.mat-mdc-tab-body-content[style*="visibility: hidden"]{display:none}'],encapsulation:2,data:{animation:[hJ.translateTab]}}),n})();const mJ=new Be("MatTabContent");let _J=(()=>{class n{constructor(e){this.template=e}}return n.\u0275fac=function(e){return new(e||n)(F(lr))},n.\u0275dir=Ke({type:n,selectors:[["","matTabContent",""]],features:[Kt([{provide:mJ,useExisting:n}])]}),n})();const gJ=new Be("MatTabLabel"),$I=new Be("MAT_TAB");let bJ=(()=>{class n extends c7{constructor(e,i,o){super(e,i),this._closestTab=o}}return n.\u0275fac=function(e){return new(e||n)(F(lr),F(Xi),F($I,8))},n.\u0275dir=Ke({type:n,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[Kt([{provide:gJ,useExisting:n}]),dt]}),n})();const tM="mdc-tab-indicator--active",GI="mdc-tab-indicator--no-transition";class vJ{constructor(t){this._items=t}hide(){this._items.forEach(t=>t.deactivateInkBar())}alignToElement(t){const e=this._items.find(o=>o.elementRef.nativeElement===t),i=this._currentItem;if(i?.deactivateInkBar(),e){const o=i?.elementRef.nativeElement.getBoundingClientRect?.();e.activateInkBar(o),this._currentItem=e}}}function yJ(n){return class extends n{constructor(...t){super(...t),this._fitToContent=!1}get fitInkBarToContent(){return this._fitToContent}set fitInkBarToContent(t){const e=hn(t);this._fitToContent!==e&&(this._fitToContent=e,this._inkBarElement&&this._appendInkBarElement())}activateInkBar(t){const e=this.elementRef.nativeElement;if(!t||!e.getBoundingClientRect||!this._inkBarContentElement)return void e.classList.add(tM);const i=e.getBoundingClientRect(),o=t.width/i.width,s=t.left-i.left;e.classList.add(GI),this._inkBarContentElement.style.setProperty("transform",`translateX(${s}px) scaleX(${o})`),e.getBoundingClientRect(),e.classList.remove(GI),e.classList.add(tM),this._inkBarContentElement.style.setProperty("transform","")}deactivateInkBar(){this.elementRef.nativeElement.classList.remove(tM)}ngOnInit(){this._createInkBarElement()}ngOnDestroy(){this._inkBarElement?.remove(),this._inkBarElement=this._inkBarContentElement=null}_createInkBarElement(){const t=this.elementRef.nativeElement.ownerDocument||document;this._inkBarElement=t.createElement("span"),this._inkBarContentElement=t.createElement("span"),this._inkBarElement.className="mdc-tab-indicator",this._inkBarContentElement.className="mdc-tab-indicator__content mdc-tab-indicator__content--underline",this._inkBarElement.appendChild(this._inkBarContentElement),this._appendInkBarElement()}_appendInkBarElement(){(this._fitToContent?this.elementRef.nativeElement.querySelector(".mdc-tab__content"):this.elementRef.nativeElement).appendChild(this._inkBarElement)}}}const wJ=tu(class{}),xJ=yJ((()=>{class n extends wJ{constructor(e){super(),this.elementRef=e}focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}}return n.\u0275fac=function(e){return new(e||n)(F(bt))},n.\u0275dir=Ke({type:n,features:[dt]}),n})());let qI=(()=>{class n extends xJ{}return n.\u0275fac=function(){let t;return function(i){return(t||(t=zn(n)))(i||n)}}(),n.\u0275dir=Ke({type:n,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(e,i){2&e&&(Ut("aria-disabled",!!i.disabled),Gt("mat-mdc-tab-disabled",i.disabled))},inputs:{disabled:"disabled",fitInkBarToContent:"fitInkBarToContent"},features:[dt]}),n})();const CJ=tu(class{}),KI=new Be("MAT_TAB_GROUP");let kJ=(()=>{class n extends CJ{constructor(e,i){super(),this._viewContainerRef=e,this._closestTabGroup=i,this.textLabel="",this._contentPortal=null,this._stateChanges=new X,this.position=null,this.origin=null,this.isActive=!1}get content(){return this._contentPortal}ngOnChanges(e){(e.hasOwnProperty("textLabel")||e.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new Jl(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(e){e&&e._closestTab===this&&(this._templateLabel=e)}}return n.\u0275fac=function(e){return new(e||n)(F(Xi),F(KI,8))},n.\u0275dir=Ke({type:n,viewQuery:function(e,i){if(1&e&&ft(lr,7),2&e){let o;nt(o=it())&&(i._implicitContent=o.first)}},inputs:{textLabel:["label","textLabel"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],labelClass:"labelClass",bodyClass:"bodyClass"},features:[dt,Gi]}),n})(),ZI=(()=>{class n extends kJ{get templateLabel(){return this._templateLabel}set templateLabel(e){this._setTemplateLabelInput(e)}}return n.\u0275fac=function(){let t;return function(i){return(t||(t=zn(n)))(i||n)}}(),n.\u0275cmp=qe({type:n,selectors:[["mat-tab"]],contentQueries:function(e,i,o){if(1&e&&(Qi(o,_J,7,lr),Qi(o,bJ,5)),2&e){let s;nt(s=it())&&(i._explicitContent=s.first),nt(s=it())&&(i.templateLabel=s.first)}},inputs:{disabled:"disabled"},exportAs:["matTab"],features:[Kt([{provide:$I,useExisting:n}]),dt],ngContentSelectors:UI,decls:1,vars:0,template:function(e,i){1&e&&(_r(),j(0,JQ,1,0,"ng-template"))},encapsulation:2}),n})();const XI=Ja({passive:!0});let TJ=(()=>{class n{constructor(e,i,o,s,a,l,c){this._elementRef=e,this._changeDetectorRef=i,this._viewportRuler=o,this._dir=s,this._ngZone=a,this._platform=l,this._animationMode=c,this._scrollDistance=0,this._selectedIndexChanged=!1,this._destroyed=new X,this._showPaginationControls=!1,this._disableScrollAfter=!0,this._disableScrollBefore=!0,this._stopScrolling=new X,this._disablePagination=!1,this._selectedIndex=0,this.selectFocusedIndex=new ht,this.indexFocused=new ht,a.runOutsideAngular(()=>{qd(e.nativeElement,"mouseleave").pipe(xn(this._destroyed)).subscribe(()=>{this._stopInterval()})})}get disablePagination(){return this._disablePagination}set disablePagination(e){this._disablePagination=hn(e)}get selectedIndex(){return this._selectedIndex}set selectedIndex(e){e=vo(e),this._selectedIndex!=e&&(this._selectedIndexChanged=!0,this._selectedIndex=e,this._keyManager&&this._keyManager.updateActiveItem(e))}ngAfterViewInit(){qd(this._previousPaginator.nativeElement,"touchstart",XI).pipe(xn(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("before")}),qd(this._nextPaginator.nativeElement,"touchstart",XI).pipe(xn(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("after")})}ngAfterContentInit(){const e=this._dir?this._dir.change:We("ltr"),i=this._viewportRuler.change(150),o=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new nL(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap(),this._keyManager.updateActiveItem(this._selectedIndex),this._ngZone.onStable.pipe(ei(1)).subscribe(o),vt(e,i,this._items.changes,this._itemsResized()).pipe(xn(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>{Promise.resolve().then(()=>{this._scrollDistance=Math.max(0,Math.min(this._getMaxScrollDistance(),this._scrollDistance)),o()})}),this._keyManager.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.subscribe(s=>{this.indexFocused.emit(s),this._setTabFocus(s)})}_itemsResized(){return"function"!=typeof ResizeObserver?Ga:this._items.changes.pipe(bo(this._items),gr(e=>new ce(i=>this._ngZone.runOutsideAngular(()=>{const o=new ResizeObserver(s=>i.next(s));return e.forEach(s=>o.observe(s.elementRef.nativeElement)),()=>{o.disconnect()}}))),s1(1),ki(e=>e.some(i=>i.contentRect.width>0&&i.contentRect.height>0)))}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._keyManager?.destroy(),this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(e){if(!Ds(e))switch(e.keyCode){case 13:case 32:this.focusIndex!==this.selectedIndex&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(e));break;default:this._keyManager.onKeydown(e)}}_onContentChanges(){const e=this._elementRef.nativeElement.textContent;e!==this._currentTextContent&&(this._currentTextContent=e||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(e){!this._isValidIndex(e)||this.focusIndex===e||!this._keyManager||this._keyManager.setActiveItem(e)}_isValidIndex(e){if(!this._items)return!0;const i=this._items?this._items.toArray()[e]:null;return!!i&&!i.disabled}_setTabFocus(e){if(this._showPaginationControls&&this._scrollToLabel(e),this._items&&this._items.length){this._items.toArray()[e].focus();const i=this._tabListContainer.nativeElement;i.scrollLeft="ltr"==this._getLayoutDirection()?0:i.scrollWidth-i.offsetWidth}}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;const e=this.scrollDistance,i="ltr"===this._getLayoutDirection()?-e:e;this._tabList.nativeElement.style.transform=`translateX(${Math.round(i)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(e){this._scrollTo(e)}_scrollHeader(e){return this._scrollTo(this._scrollDistance+("before"==e?-1:1)*this._tabListContainer.nativeElement.offsetWidth/3)}_handlePaginatorClick(e){this._stopInterval(),this._scrollHeader(e)}_scrollToLabel(e){if(this.disablePagination)return;const i=this._items?this._items.toArray()[e]:null;if(!i)return;const o=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft:s,offsetWidth:a}=i.elementRef.nativeElement;let l,c;"ltr"==this._getLayoutDirection()?(l=s,c=l+a):(c=this._tabListInner.nativeElement.offsetWidth-s,l=c-a);const M=this.scrollDistance,P=this.scrollDistance+o;lP&&(this.scrollDistance+=c-P+60)}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{const e=this._tabListInner.nativeElement.scrollWidth>this._elementRef.nativeElement.offsetWidth;e||(this.scrollDistance=0),e!==this._showPaginationControls&&this._changeDetectorRef.markForCheck(),this._showPaginationControls=e}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=0==this.scrollDistance,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){return this._tabListInner.nativeElement.scrollWidth-this._tabListContainer.nativeElement.offsetWidth||0}_alignInkBarToSelectedTab(){const e=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,i=e?e.elementRef.nativeElement:null;i?this._inkBar.alignToElement(i):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(e,i){i&&null!=i.button&&0!==i.button||(this._stopInterval(),Z_(650,100).pipe(xn(vt(this._stopScrolling,this._destroyed))).subscribe(()=>{const{maxScrollDistance:o,distance:s}=this._scrollHeader(e);(0===s||s>=o)&&this._stopInterval()}))}_scrollTo(e){if(this.disablePagination)return{maxScrollDistance:0,distance:0};const i=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(i,e)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:i,distance:this._scrollDistance}}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(di),F(Ql),F(Pr,8),F(pt),F(hi),F(Vi,8))},n.\u0275dir=Ke({type:n,inputs:{disablePagination:"disablePagination"}}),n})(),LJ=(()=>{class n extends TJ{constructor(e,i,o,s,a,l,c){super(e,i,o,s,a,l,c),this._disableRipple=!1}get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=hn(e)}_itemSelected(e){e.preventDefault()}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(di),F(Ql),F(Pr,8),F(pt),F(hi),F(Vi,8))},n.\u0275dir=Ke({type:n,inputs:{disableRipple:"disableRipple"},features:[dt]}),n})(),EJ=(()=>{class n extends LJ{constructor(e,i,o,s,a,l,c){super(e,i,o,s,a,l,c)}ngAfterContentInit(){this._inkBar=new vJ(this._items),super.ngAfterContentInit()}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(di),F(Ql),F(Pr,8),F(pt),F(hi),F(Vi,8))},n.\u0275cmp=qe({type:n,selectors:[["mat-tab-header"]],contentQueries:function(e,i,o){if(1&e&&Qi(o,qI,4),2&e){let s;nt(s=it())&&(i._items=s)}},viewQuery:function(e,i){if(1&e&&(ft(eJ,7),ft(tJ,7),ft(nJ,7),ft(iJ,5),ft(rJ,5)),2&e){let o;nt(o=it())&&(i._tabListContainer=o.first),nt(o=it())&&(i._tabList=o.first),nt(o=it())&&(i._tabListInner=o.first),nt(o=it())&&(i._nextPaginator=o.first),nt(o=it())&&(i._previousPaginator=o.first)}},hostAttrs:[1,"mat-mdc-tab-header"],hostVars:4,hostBindings:function(e,i){2&e&&Gt("mat-mdc-tab-header-pagination-controls-enabled",i._showPaginationControls)("mat-mdc-tab-header-rtl","rtl"==i._getLayoutDirection())},inputs:{selectedIndex:"selectedIndex"},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"},features:[dt],ngContentSelectors:UI,decls:13,vars:10,consts:[["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-before",3,"matRippleDisabled","disabled","click","mousedown","touchend"],["previousPaginator",""],[1,"mat-mdc-tab-header-pagination-chevron"],[1,"mat-mdc-tab-label-container",3,"keydown"],["tabListContainer",""],["role","tablist",1,"mat-mdc-tab-list",3,"cdkObserveContent"],["tabList",""],[1,"mat-mdc-tab-labels"],["tabListInner",""],["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-after",3,"matRippleDisabled","disabled","mousedown","click","touchend"],["nextPaginator",""]],template:function(e,i){1&e&&(_r(),D(0,"button",0,1),ye("click",function(){return i._handlePaginatorClick("before")})("mousedown",function(s){return i._handlePaginatorPress("before",s)})("touchend",function(){return i._stopInterval()}),xe(2,"div",2),C(),D(3,"div",3,4),ye("keydown",function(s){return i._handleKeydown(s)}),D(5,"div",5,6),ye("cdkObserveContent",function(){return i._onContentChanges()}),D(7,"div",7,8),vn(9),C()()(),D(10,"button",9,10),ye("mousedown",function(s){return i._handlePaginatorPress("after",s)})("click",function(){return i._handlePaginatorClick("after")})("touchend",function(){return i._stopInterval()}),xe(12,"div",2),C()),2&e&&(Gt("mat-mdc-tab-header-pagination-disabled",i._disableScrollBefore),w("matRippleDisabled",i._disableScrollBefore||i.disableRipple)("disabled",i._disableScrollBefore||null),d(3),Gt("_mat-animation-noopable","NoopAnimations"===i._animationMode),d(7),Gt("mat-mdc-tab-header-pagination-disabled",i._disableScrollAfter),w("matRippleDisabled",i._disableScrollAfter||i.disableRipple)("disabled",i._disableScrollAfter||null))},dependencies:[Ts,K2],styles:[".mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0}.mat-mdc-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}._mat-animation-noopable span.mdc-tab-indicator__content,._mat-animation-noopable span.mdc-tab__text-label{transition:none}.mat-mdc-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-mdc-tab-labels{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:flex-end}.mat-mdc-tab::before{margin:5px}.cdk-high-contrast-active .mat-mdc-tab[aria-disabled=true]{color:GrayText}"],encapsulation:2}),n})();const JI=new Be("MAT_TABS_CONFIG");let IJ=0;const PJ=If(Pf(class{constructor(n){this._elementRef=n}}),"primary");let OJ=(()=>{class n extends PJ{constructor(e,i,o,s){super(e),this._changeDetectorRef=i,this._animationMode=s,this._tabs=new Hl,this._indexToSelect=0,this._lastFocusedTabIndex=null,this._tabBodyWrapperHeight=0,this._tabsSubscription=T.EMPTY,this._tabLabelSubscription=T.EMPTY,this._dynamicHeight=!1,this._selectedIndex=null,this.headerPosition="above",this._disablePagination=!1,this._preserveContent=!1,this.selectedIndexChange=new ht,this.focusChange=new ht,this.animationDone=new ht,this.selectedTabChange=new ht(!0),this._groupId=IJ++,this.animationDuration=o&&o.animationDuration?o.animationDuration:"500ms",this.disablePagination=!(!o||null==o.disablePagination)&&o.disablePagination,this.dynamicHeight=!(!o||null==o.dynamicHeight)&&o.dynamicHeight,this.contentTabIndex=o?.contentTabIndex??null,this.preserveContent=!!o?.preserveContent}get dynamicHeight(){return this._dynamicHeight}set dynamicHeight(e){this._dynamicHeight=hn(e)}get selectedIndex(){return this._selectedIndex}set selectedIndex(e){this._indexToSelect=vo(e,null)}get animationDuration(){return this._animationDuration}set animationDuration(e){this._animationDuration=/^\d+$/.test(e+"")?e+"ms":e}get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(e){this._contentTabIndex=vo(e,null)}get disablePagination(){return this._disablePagination}set disablePagination(e){this._disablePagination=hn(e)}get preserveContent(){return this._preserveContent}set preserveContent(e){this._preserveContent=hn(e)}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){const i=this._elementRef.nativeElement.classList;i.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),e&&i.add("mat-tabs-with-background",`mat-background-${e}`),this._backgroundColor=e}ngAfterContentChecked(){const e=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=e){const i=null==this._selectedIndex;if(!i){this.selectedTabChange.emit(this._createChangeEvent(e));const o=this._tabBodyWrapper.nativeElement;o.style.minHeight=o.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((o,s)=>o.isActive=s===e),i||(this.selectedIndexChange.emit(e),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((i,o)=>{i.position=o-e,null!=this._selectedIndex&&0==i.position&&!i.origin&&(i.origin=e-this._selectedIndex)}),this._selectedIndex!==e&&(this._selectedIndex=e,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{const e=this._clampTabIndex(this._indexToSelect);if(e===this._selectedIndex){const i=this._tabs.toArray();let o;for(let s=0;s{i[e].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(e))})}this._changeDetectorRef.markForCheck()})}_subscribeToAllTabChanges(){this._allTabs.changes.pipe(bo(this._allTabs)).subscribe(e=>{this._tabs.reset(e.filter(i=>i._closestTabGroup===this||!i._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(e){const i=this._tabHeader;i&&(i.focusIndex=e)}_focusChanged(e){this._lastFocusedTabIndex=e,this.focusChange.emit(this._createChangeEvent(e))}_createChangeEvent(e){const i=new FJ;return i.index=e,this._tabs&&this._tabs.length&&(i.tab=this._tabs.toArray()[e]),i}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=vt(...this._tabs.map(e=>e._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(e){return Math.min(this._tabs.length-1,Math.max(e||0,0))}_getTabLabelId(e){return`mat-tab-label-${this._groupId}-${e}`}_getTabContentId(e){return`mat-tab-content-${this._groupId}-${e}`}_setTabBodyWrapperHeight(e){if(!this._dynamicHeight||!this._tabBodyWrapperHeight)return;const i=this._tabBodyWrapper.nativeElement;i.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(i.style.height=e+"px")}_removeTabBodyWrapperHeight(){const e=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=e.clientHeight,e.style.height="",this.animationDone.emit()}_handleClick(e,i,o){e.disabled||(this.selectedIndex=i.focusIndex=o)}_getTabIndex(e,i){return e.disabled?null:i===(this._lastFocusedTabIndex??this.selectedIndex)?0:-1}_tabFocusChanged(e,i){e&&"mouse"!==e&&"touch"!==e&&(this._tabHeader.focusIndex=i)}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(di),F(JI,8),F(Vi,8))},n.\u0275dir=Ke({type:n,inputs:{dynamicHeight:"dynamicHeight",selectedIndex:"selectedIndex",headerPosition:"headerPosition",animationDuration:"animationDuration",contentTabIndex:"contentTabIndex",disablePagination:"disablePagination",preserveContent:"preserveContent",backgroundColor:"backgroundColor"},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},features:[dt]}),n})(),AJ=(()=>{class n extends OJ{constructor(e,i,o,s){super(e,i,o,s),this._fitInkBarToContent=!1,this._stretchTabs=!0,this.fitInkBarToContent=!(!o||null==o.fitInkBarToContent)&&o.fitInkBarToContent}get fitInkBarToContent(){return this._fitInkBarToContent}set fitInkBarToContent(e){this._fitInkBarToContent=hn(e),this._changeDetectorRef.markForCheck()}get stretchTabs(){return this._stretchTabs}set stretchTabs(e){this._stretchTabs=hn(e)}}return n.\u0275fac=function(e){return new(e||n)(F(bt),F(di),F(JI,8),F(Vi,8))},n.\u0275cmp=qe({type:n,selectors:[["mat-tab-group"]],contentQueries:function(e,i,o){if(1&e&&Qi(o,ZI,5),2&e){let s;nt(s=it())&&(i._allTabs=s)}},viewQuery:function(e,i){if(1&e&&(ft(oJ,5),ft(sJ,5)),2&e){let o;nt(o=it())&&(i._tabBodyWrapper=o.first),nt(o=it())&&(i._tabHeader=o.first)}},hostAttrs:[1,"mat-mdc-tab-group"],hostVars:6,hostBindings:function(e,i){2&e&&Gt("mat-mdc-tab-group-dynamic-height",i.dynamicHeight)("mat-mdc-tab-group-inverted-header","below"===i.headerPosition)("mat-mdc-tab-group-stretch-tabs",i.stretchTabs)},inputs:{color:"color",disableRipple:"disableRipple",fitInkBarToContent:"fitInkBarToContent",stretchTabs:["mat-stretch-tabs","stretchTabs"]},exportAs:["matTabGroup"],features:[Kt([{provide:KI,useExisting:n}]),dt],decls:6,vars:6,consts:[[3,"selectedIndex","disableRipple","indexFocused","selectFocusedIndex"],["tabHeader",""],["class","mdc-tab mat-mdc-tab mat-mdc-focus-indicator","role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",3,"id","mdc-tab--active","ngClass","disabled","fitInkBarToContent","click","cdkFocusChange",4,"ngFor","ngForOf"],[1,"mat-mdc-tab-body-wrapper"],["tabBodyWrapper",""],["role","tabpanel",3,"id","mat-mdc-tab-body-active","ngClass","content","position","origin","animationDuration","preserveContent","_onCentered","_onCentering",4,"ngFor","ngForOf"],["role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",1,"mdc-tab","mat-mdc-tab","mat-mdc-focus-indicator",3,"id","ngClass","disabled","fitInkBarToContent","click","cdkFocusChange"],["tabNode",""],[1,"mdc-tab__ripple"],["mat-ripple","",1,"mat-mdc-tab-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mdc-tab__content"],[1,"mdc-tab__text-label"],[3,"ngIf","ngIfElse"],["tabTextLabel",""],[3,"cdkPortalOutlet"],["role","tabpanel",3,"id","ngClass","content","position","origin","animationDuration","preserveContent","_onCentered","_onCentering"]],template:function(e,i){1&e&&(D(0,"mat-tab-header",0,1),ye("indexFocused",function(s){return i._focusChanged(s)})("selectFocusedIndex",function(s){return i.selectedIndex=s}),j(2,dJ,9,17,"div",2),C(),D(3,"div",3,4),j(5,uJ,1,11,"mat-tab-body",5),C()),2&e&&(w("selectedIndex",i.selectedIndex||0)("disableRipple",i.disableRipple),d(2),w("ngForOf",i._tabs),d(1),Gt("_mat-animation-noopable","NoopAnimations"===i._animationMode),d(2),w("ngForOf",i._tabs))},dependencies:[On,Ci,Ot,tl,Ts,v9,WI,qI,EJ],styles:['.mdc-tab{min-width:90px;padding-right:24px;padding-left:24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1}.mdc-tab::-moz-focus-inner{padding:0;border:0}.mdc-tab[hidden]{display:none}.mdc-tab--min-width{flex:0 1 auto}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab__icon{transition:150ms color linear;z-index:2}.mdc-tab--stacked .mdc-tab__content{flex-direction:column;align-items:center;justify-content:center}.mdc-tab--stacked .mdc-tab__text-label{padding-top:6px;padding-bottom:4px}.mdc-tab--active .mdc-tab__text-label,.mdc-tab--active .mdc-tab__icon{transition-delay:100ms}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:8px;padding-right:0}[dir=rtl] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label,.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label[dir=rtl]{padding-left:0;padding-right:8px}.mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:2px}.mdc-tab-indicator .mdc-tab-indicator__content--icon{height:34px;font-size:34px}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator .mdc-tab-indicator__content{transition:250ms transform cubic-bezier(0.4, 0, 0.2, 1)}.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition-delay:100ms}.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-tab.mdc-tab{height:48px;flex-grow:0}.mat-mdc-tab .mdc-tab__ripple::before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none}.mat-mdc-tab .mdc-tab__text-label{display:inline-flex;align-items:center}.mat-mdc-tab .mdc-tab__content{position:relative}.mat-mdc-tab:hover .mdc-tab__ripple::before{opacity:.04}.mat-mdc-tab.cdk-program-focused .mdc-tab__ripple::before,.mat-mdc-tab.cdk-keyboard-focused .mdc-tab__ripple::before{opacity:.12}.mat-mdc-tab .mat-ripple-element{opacity:.12}.mat-mdc-tab-group.mat-mdc-tab-group-stretch-tabs>.mat-mdc-tab-header .mat-mdc-tab{flex-grow:1}.mat-mdc-tab-disabled{opacity:.4;pointer-events:none}.mat-mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-mdc-tab-header-with-background-background-color, transparent)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab .mdc-tab__text-label,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-link .mdc-tab__text-label{color:var(--mat-mdc-tab-header-with-background-foreground-color, inherit)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mdc-tab-indicator__content--underline,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-focus-indicator::before{border-color:var(--mat-mdc-tab-header-with-background-foreground-color, inherit)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mdc-tab__ripple::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-mdc-tab-header-with-background-foreground-color, inherit)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{border-color:var(--mat-mdc-tab-header-with-background-foreground-color, inherit)}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header{flex-direction:column-reverse}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mat-mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important}'],encapsulation:2}),n})();class FJ{}let RJ=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[na,Hn,Xd,Ff,l1,g1,Hn]}),n})();const NJ=["button"],YJ=["settingsButton"],BJ=["firstInput"];function HJ(n,t){1&n&&($e(0),D(1,"span"),I(2),R(3,"translate"),C(),Ge()),2&n&&(d(2),oe(B(3,1,"apps.vpn-socks-client-settings.remote-key-length-error")))}function VJ(n,t){1&n&&(D(0,"span"),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"apps.vpn-socks-client-settings.remote-key-chars-error")))}const wc=function(n){return{"element-disabled":n}};function jJ(n,t){if(1&n&&(D(0,"mat-form-field",3)(1,"div",4)(2,"label",5),I(3),R(4,"translate"),C(),xe(5,"input",20),C()()),2&n){const e=z();w("ngClass",Ve(4,wc,e.disableDismiss)),d(3),oe(B(4,2,"apps.vpn-socks-client-settings.password"))}}function zJ(n,t){1&n&&(D(0,"div",21)(1,"mat-icon",22),I(2,"warning"),C(),I(3),R(4,"translate"),C()),2&n&&(d(1),w("inline",!0),d(2),me(" ",B(4,2,"apps.vpn-socks-client-settings.password-history-warning")," "))}function UJ(n,t){1&n&&xe(0,"app-loading-indicator",23),2&n&&w("showWhite",!1)}function WJ(n,t){1&n&&(D(0,"div",24)(1,"mat-icon",22),I(2,"error"),C(),I(3),R(4,"translate"),C()),2&n&&(d(1),w("inline",!0),d(2),me(" ",B(4,2,"apps.vpn-socks-client-settings.no-elements")," "))}function $J(n,t){1&n&&(D(0,"div",31),I(1),R(2,"translate"),C()),2&n&&(d(1),me(" ",B(2,1,"apps.vpn-socks-client-settings.no-filter")," "))}function GJ(n,t){if(1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n){const e=z().$implicit;d(1),oe(B(2,1,e[1]))}}function qJ(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z().$implicit;d(1),oe(e[2])}}function KJ(n,t){if(1&n&&(D(0,"div",31)(1,"span"),I(2),R(3,"translate"),C(),j(4,GJ,3,3,"ng-container",16),j(5,qJ,2,1,"ng-container",16),C()),2&n){const e=t.$implicit;d(2),me("",B(3,3,e[0])," "),d(2),w("ngIf",e[1]),d(1),w("ngIf",e[2])}}function ZJ(n,t){1&n&&(D(0,"div",24)(1,"mat-icon",22),I(2,"error"),C(),I(3),R(4,"translate"),C()),2&n&&(d(1),w("inline",!0),d(2),me(" ",B(4,2,"apps.vpn-socks-client-settings.no-elements-for-filters")," "))}const eP=function(n){return{highlighted:n}};function XJ(n,t){if(1&n&&($e(0),D(1,"span",3),I(2),C(),Ge()),2&n){const e=t.$implicit,i=t.index;d(1),w("ngClass",Ve(2,eP,i%2!=0)),d(1),oe(e)}}function QJ(n,t){if(1&n&&($e(0),D(1,"div",38),xe(2,"div"),C(),Ge()),2&n){const e=z(2).$implicit;d(2),ci("background-image: url('assets/img/flags/"+e.country.toLocaleLowerCase()+".png');")}}function JJ(n,t){if(1&n&&($e(0),D(1,"span",3),I(2),C(),Ge()),2&n){const e=t.$implicit,i=t.index;d(1),w("ngClass",Ve(2,eP,i%2!=0)),d(1),oe(e)}}function eee(n,t){if(1&n&&(D(0,"div",31)(1,"span"),I(2),R(3,"translate"),C(),D(4,"span"),I(5,"\xa0 "),j(6,QJ,3,2,"ng-container",16),j(7,JJ,3,4,"ng-container",35),C()()),2&n){const e=z().$implicit,i=z(2);d(2),oe(B(3,3,"apps.vpn-socks-client-settings.location")),d(4),w("ngIf",e.country),d(1),w("ngForOf",i.getHighlightedTextParts(e.location,i.currentFilters.location))}}function tee(n,t){if(1&n){const e=tt();D(0,"div",32)(1,"button",33),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).saveChanges(s.pk,null,!1,s.location))}),D(2,"div",34)(3,"div",31)(4,"span"),I(5),R(6,"translate"),C(),D(7,"span"),I(8,"\xa0"),j(9,XJ,3,4,"ng-container",35),C()(),j(10,eee,8,5,"div",28),C()(),D(11,"button",36),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).copyPk(s.pk))}),R(12,"translate"),D(13,"mat-icon",37),I(14,"filter_none"),C()()()}if(2&n){const e=t.$implicit,i=z(2);d(1),w("ngClass",Ve(10,wc,i.disableDismiss)),d(4),oe(B(6,6,"apps.vpn-socks-client-settings.key")),d(4),w("ngForOf",i.getHighlightedTextParts(e.pk,i.currentFilters.key)),d(1),w("ngIf",e.location),d(1),w("matTooltip",B(12,8,"apps.vpn-socks-client-settings.copy-pk-info")),d(2),w("inline",!0)}}function nee(n,t){if(1&n){const e=tt();$e(0),D(1,"button",25),ye("click",function(){return Pe(e),Oe(z().changeFilters())}),D(2,"div",26)(3,"div",27)(4,"mat-icon",22),I(5,"filter_list"),C()(),D(6,"div"),j(7,$J,3,3,"div",28),j(8,KJ,6,5,"div",29),D(9,"div",30),I(10),R(11,"translate"),C()()()(),j(12,ZJ,5,4,"div",15),j(13,tee,15,12,"div",18),Ge()}if(2&n){const e=z();d(4),w("inline",!0),d(3),w("ngIf",0===e.currentFiltersTexts.length),d(1),w("ngForOf",e.currentFiltersTexts),d(2),oe(B(11,6,"apps.vpn-socks-client-settings.click-to-change")),d(2),w("ngIf",0===e.filteredProxiesFromDiscovery.length),d(1),w("ngForOf",e.proxiesFromDiscoveryToShow)}}const iee=function(n,t){return{currentElementsRange:n,totalElements:t}};function ree(n,t){if(1&n){const e=tt();D(0,"div",39)(1,"span"),I(2),R(3,"translate"),C(),D(4,"button",40),ye("click",function(){return Pe(e),Oe(z().goToPreviousPage())}),D(5,"mat-icon"),I(6,"chevron_left"),C()(),D(7,"button",40),ye("click",function(){return Pe(e),Oe(z().goToNextPage())}),D(8,"mat-icon"),I(9,"chevron_right"),C()()()}if(2&n){const e=z();d(2),oe(Pt(3,1,"apps.vpn-socks-client-settings.pagination-info",ln(4,iee,e.currentRange,e.filteredProxiesFromDiscovery.length)))}}const oee=function(n){return{number:n}};function see(n,t){if(1&n&&(D(0,"div")(1,"div",24)(2,"mat-icon",22),I(3,"error"),C(),I(4),R(5,"translate"),C()()),2&n){const e=z();d(2),w("inline",!0),d(2),me(" ",Pt(5,2,"apps.vpn-socks-client-settings.no-history",Ve(5,oee,e.maxHistoryElements))," ")}}function aee(n,t){1&n&&Xo(0)}function lee(n,t){1&n&&Xo(0)}function cee(n,t){if(1&n&&($e(0),D(1,"span"),I(2),C(),Ge()),2&n){const e=z(2).$implicit;d(2),me(" ",e.note,"")}}function dee(n,t){1&n&&($e(0),D(1,"span"),I(2),R(3,"translate"),C(),Ge()),2&n&&(d(2),me(" ",B(3,1,"apps.vpn-socks-client-settings.note-entered-manually"),""))}function uee(n,t){if(1&n&&($e(0),D(1,"span"),I(2),C(),Ge()),2&n){const e=z(4).$implicit;d(2),me(" (",e.location,")")}}function hee(n,t){if(1&n&&($e(0),D(1,"span"),I(2),R(3,"translate"),C(),j(4,uee,3,1,"ng-container",16),Ge()),2&n){const e=z(3).$implicit;d(2),me(" ",B(3,2,"apps.vpn-socks-client-settings.note-obtained"),""),d(2),w("ngIf",e.location)}}function fee(n,t){if(1&n&&($e(0),j(1,dee,4,3,"ng-container",16),j(2,hee,5,4,"ng-container",16),Ge()),2&n){const e=z(2).$implicit;d(1),w("ngIf",e.enteredManually),d(1),w("ngIf",!e.enteredManually)}}function pee(n,t){if(1&n&&(D(0,"div",46)(1,"div",47)(2,"div",31)(3,"span"),I(4),R(5,"translate"),C(),D(6,"span"),I(7),C()(),D(8,"div",31)(9,"span"),I(10),R(11,"translate"),C(),j(12,cee,3,1,"ng-container",16),j(13,fee,3,2,"ng-container",16),C()(),D(14,"div",48)(15,"div",49)(16,"mat-icon",22),I(17,"add"),C()()()()),2&n){const e=z().$implicit;d(4),oe(B(5,6,"apps.vpn-socks-client-settings.key")),d(3),me(" ",e.key,""),d(3),oe(B(11,8,"apps.vpn-socks-client-settings.note")),d(2),w("ngIf",e.note),d(1),w("ngIf",!e.note),d(3),w("inline",!0)}}function mee(n,t){if(1&n){const e=tt();D(0,"div",32)(1,"button",41),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().useFromHistory(s))}),j(2,aee,1,0,"ng-container",42),C(),D(3,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().changeNote(s))}),R(4,"translate"),D(5,"mat-icon",37),I(6,"edit"),C()(),D(7,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().removeFromHistory(s.key))}),R(8,"translate"),D(9,"mat-icon",37),I(10,"close"),C()(),D(11,"button",44),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().openHistoryOptions(s))}),j(12,lee,1,0,"ng-container",42),C(),j(13,pee,18,10,"ng-template",null,45,Ms),C()}if(2&n){const e=li(14),i=z();d(1),w("ngClass",Ve(12,wc,i.disableDismiss)),d(1),w("ngTemplateOutlet",e),d(1),w("matTooltip",B(4,8,"apps.vpn-socks-client-settings.change-note")),d(2),w("inline",!0),d(2),w("matTooltip",B(8,10,"apps.vpn-socks-client-settings.remove-entry")),d(2),w("inline",!0),d(2),w("ngClass",Ve(14,wc,i.disableDismiss)),d(1),w("ngTemplateOutlet",e)}}function _ee(n,t){1&n&&($e(0),D(1,"span"),I(2),R(3,"translate"),C(),Ge()),2&n&&(d(2),oe(B(3,1,"apps.vpn-socks-client-settings.dns-error")))}function gee(n,t){1&n&&(D(0,"div",56)(1,"mat-icon",22),I(2,"warning"),C(),I(3),R(4,"translate"),C()),2&n&&(d(1),w("inline",!0),d(2),me(" ",B(4,2,"apps.vpn-socks-client-settings.settings-changed-alert")," "))}function bee(n,t){if(1&n){const e=tt();D(0,"mat-tab",1),R(1,"translate"),D(2,"form",2)(3,"mat-form-field",3)(4,"div",4)(5,"label",5),I(6),R(7,"translate"),C(),xe(8,"input",50),C(),D(9,"mat-error"),j(10,_ee,4,3,"ng-container",16),C()(),D(11,"div",51)(12,"mat-checkbox",52),I(13),R(14,"translate"),D(15,"mat-icon",53),R(16,"translate"),I(17,"help"),C()()(),j(18,gee,5,4,"div",54),D(19,"app-button",12,55),ye("action",function(){return Pe(e),Oe(z().saveSettings())}),I(21),R(22,"translate"),C()()()}if(2&n){const e=z();w("label",B(1,12,"apps.vpn-socks-client-settings.settings-tab")),d(2),w("formGroup",e.settingsForm),d(1),w("ngClass",Ve(22,wc,e.disableDismiss)),d(3),oe(B(7,14,"apps.vpn-socks-client-settings.dns")),d(4),w("ngIf",!e.settingsForm.get("dns").valid),d(2),w("ngClass",Ve(24,wc,e.disableDismiss)),d(1),me(" ",B(14,16,"apps.vpn-socks-client-settings.killswitch-check")," "),d(2),w("inline",!0)("matTooltip",B(16,18,"apps.vpn-socks-client-settings.killswitch-info")),d(3),w("ngIf",e.settingsChanged),d(1),w("disabled",!e.settingsForm.valid||!e.settingsChanged||e.working),d(2),me(" ",B(22,20,"apps.vpn-socks-client-settings.save-settings")," ")}}class xc{constructor(t,e,i,o,s,a,l,c,M){this.data=t,this.dialogRef=e,this.appsService=i,this.formBuilder=o,this.snackbarService=s,this.dialog=a,this.proxyDiscoveryService=l,this.clipboardService=c,this.storageService=M,this.socksHistoryStorageKey="SkysocksClientHistory_",this.vpnHistoryStorageKey="VpnClientHistory_",this.maxHistoryElements=10,this.maxElementsPerPage=10,this.countriesFromDiscovery=new Set,this.loadingFromDiscovery=!0,this.numberOfPages=1,this.currentPage=1,this.currentRange="1 - 1",this.currentFilters=new zI,this.currentFiltersTexts=[],this.configuringVpn=!1,this.initialKillswitchSetting=!1,this.initialDnsSetting="",this.working=!1,-1!==t.name.toLocaleLowerCase().indexOf("vpn")&&(this.configuringVpn=!0)}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.largeModalWidth,t.open(xc,i)}ngOnInit(){this.migrateDataToHvStorage(),this.discoverySubscription=this.proxyDiscoveryService.getServices(!this.configuringVpn).subscribe(i=>{this.proxiesFromDiscovery=i,this.proxiesFromDiscovery.forEach(o=>{o.country&&this.countriesFromDiscovery.add(o.country.toUpperCase())}),this.filterProxies(),this.loadingFromDiscovery=!1});const t=this.storageService.getDataForHv(this.configuringVpn?this.vpnHistoryStorageKey:this.socksHistoryStorageKey);this.history=t?JSON.parse(t):[];let e="";if(this.data.args&&this.data.args.length>0)for(let i=0;ithis.firstInput.nativeElement.focus())}ngOnDestroy(){this.discoverySubscription.unsubscribe(),this.operationSubscription&&this.operationSubscription.unsubscribe()}migrateDataToHvStorage(){const t=localStorage.getItem(this.socksHistoryStorageKey);t&&(this.storageService.setDataForHv(this.socksHistoryStorageKey,t),localStorage.removeItem(this.socksHistoryStorageKey));const e=localStorage.getItem(this.vpnHistoryStorageKey);e&&(this.storageService.setDataForHv(this.vpnHistoryStorageKey,e),localStorage.removeItem(this.vpnHistoryStorageKey))}get disableDismiss(){return this.button&&this.button.isLoading||this.settingsButton&&this.settingsButton.isLoading}validateIp(){if(this.settingsForm){const t=this.settingsForm.get("dns").value;return Wt.checkIfIpValidOrEmpty(t)?null:{invalid:!0}}return null}get settingsChanged(){return this.initialKillswitchSetting!==this.settingsForm.get("killswitch").value||this.initialDnsSetting!==this.settingsForm.get("dns").value}changeFilters(){const t=[];this.countriesFromDiscovery.forEach(i=>t.push(i)),yc.openDialog(this.dialog,{currentFilters:this.currentFilters,availableCountries:t}).afterClosed().subscribe(i=>{i&&(this.currentFilters=i,this.filterProxies())})}getHighlightedTextParts(t,e){if(!e)return[t];const i=t.toLowerCase(),o=e.toLowerCase();let s=!0,a=0;const l=[];for(;s;){const c=i.indexOf(o,a);-1===c?s=!1:(l.push(t.substring(a,c)),l.push(t.substring(c,c+e.length)),a=c+e.length)}return l.push(t.substring(a)),l}filterProxies(){this.filteredProxiesFromDiscovery=this.currentFilters.country||this.currentFilters.location||this.currentFilters.key?this.proxiesFromDiscovery.filter(t=>!(this.currentFilters.country&&(!t.country||!t.country.toUpperCase().includes(this.currentFilters.country.toUpperCase()))||this.currentFilters.location&&!t.location.toLowerCase().includes(this.currentFilters.location.toLowerCase())||this.currentFilters.key&&!t.address.toLowerCase().includes(this.currentFilters.key.toLowerCase()))):this.proxiesFromDiscovery,this.updateCurrentFilters(),this.updatePagination()}updateCurrentFilters(){if(this.currentFiltersTexts=[],this.currentFilters.country){const t=ga[this.currentFilters.country.toUpperCase()]?ga[this.currentFilters.country.toUpperCase()]:this.currentFilters.country.toUpperCase();this.currentFiltersTexts.push(["apps.vpn-socks-client-settings.filter-dialog.country","",t])}this.currentFilters.location&&this.currentFiltersTexts.push(["apps.vpn-socks-client-settings.filter-dialog.location","",this.currentFilters.location]),this.currentFilters.key&&this.currentFiltersTexts.push(["apps.vpn-socks-client-settings.filter-dialog.pub-key","",this.currentFilters.key])}updatePagination(){this.currentPage=1,this.numberOfPages=Math.ceil(this.filteredProxiesFromDiscovery.length/this.maxElementsPerPage),this.showCurrentPage()}goToNextPage(){this.currentPage>=this.numberOfPages||(this.currentPage+=1,this.showCurrentPage())}goToPreviousPage(){this.currentPage<=1||(this.currentPage-=1,this.showCurrentPage())}showCurrentPage(){this.proxiesFromDiscoveryToShow=this.filteredProxiesFromDiscovery.slice((this.currentPage-1)*this.maxElementsPerPage,this.currentPage*this.maxElementsPerPage),this.currentRange=(this.currentPage-1)*this.maxElementsPerPage+1+" - ",this.currentRange+=this.currentPage{1===i?this.useFromHistory(t):2===i?this.changeNote(t):3===i&&this.removeFromHistory(t.key)})}removeFromHistory(t){const i=Wt.createConfirmationDialog(this.dialog,"apps.vpn-socks-client-settings.remove-from-history-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{this.history=this.history.filter(s=>s.key!==t);const o=JSON.stringify(this.history);this.storageService.setDataForHv(this.configuringVpn?this.vpnHistoryStorageKey:this.socksHistoryStorageKey,o),i.close()})}changeNote(t){vc.openDialog(this.dialog,t.note).afterClosed().subscribe(e=>{if(e){e=e.substr(1,e.length-1),this.history.forEach(o=>{o.key===t.key&&(o.note=e)});const i=JSON.stringify(this.history);this.storageService.setDataForHv(this.configuringVpn?this.vpnHistoryStorageKey:this.socksHistoryStorageKey,i),e?this.snackbarService.showDone("apps.vpn-socks-client-settings.changes-made"):this.snackbarService.showWarning("apps.vpn-socks-client-settings.default-note-warning")}})}useFromHistory(t){t.hasPassword?Mc.openDialog(this.dialog).afterClosed().subscribe(e=>{e&&(e=e.substr(1,e.length-1),this.saveChanges(t.key,e,t.enteredManually,t.location,t.note))}):this.saveChanges(t.key,null,t.enteredManually,t.location,t.note)}saveChanges(t=null,e=null,i=null,o=null,s=null){if(!this.form.valid&&!t||this.working)return;i=!t||i,e=t?e:this.form.get("password").value,t=t||this.form.get("pk").value;const l=Wt.createConfirmationDialog(this.dialog,"apps.vpn-socks-client-settings.change-key-confirmation");l.componentInstance.operationAccepted.subscribe(()=>{l.close(),this.continueSavingChanges(t,e,i,o,s)})}saveSettings(){if(this.working)return;const t={killswitch:this.settingsForm.get("killswitch").value,dns:this.settingsForm.get("dns").value};this.settingsButton.showLoading(!1),this.button.showLoading(!1),this.working=!0,this.operationSubscription=this.appsService.changeAppSettings(Je.getCurrentNodeKey(),this.data.name,t).subscribe(()=>{this.initialKillswitchSetting=t.killswitch,this.initialDnsSetting=t.dns,this.snackbarService.showDone("apps.vpn-socks-client-settings.changes-made"),this.working=!1,this.settingsButton.reset(!1),this.button.reset(!1),Je.refreshCurrentDisplayedData()},e=>{this.working=!1,this.settingsButton.showError(!1),this.button.reset(!1),e=Qt(e),this.snackbarService.showError(e)})}copyPk(t){this.clipboardService.copy(t)?this.snackbarService.showDone("apps.vpn-socks-client-settings.copied-pk-info"):this.snackbarService.showError("apps.vpn-socks-client-settings.copy-pk-error")}continueSavingChanges(t,e,i,o,s){if(this.working)return;this.button.showLoading(!1),this.settingsButton&&this.settingsButton.showLoading(!1),this.working=!0;const a={pk:t};this.configuringVpn&&(a.passcode=e||""),this.operationSubscription=this.appsService.changeAppSettings(Je.getCurrentNodeKey(),this.data.name,a).subscribe(()=>this.onServerDataChangeSuccess(t,!!e,i,o,s),l=>this.onServerDataChangeError(l))}onServerDataChangeSuccess(t,e,i,o,s){this.history=this.history.filter(c=>c.key!==t);const a={key:t,enteredManually:i};if(e&&(a.hasPassword=e),o&&(a.location=o),s&&(a.note=s),this.history=[a].concat(this.history),this.history.length>this.maxHistoryElements){const c=this.history.length-this.maxHistoryElements;this.history.splice(this.history.length-c,c)}this.form.get("pk").setValue(t);const l=JSON.stringify(this.history);this.storageService.setDataForHv(this.configuringVpn?this.vpnHistoryStorageKey:this.socksHistoryStorageKey,l),Je.refreshCurrentDisplayedData(),this.snackbarService.showDone("apps.vpn-socks-client-settings.changes-made"),this.working=!1,this.button.reset(!1),this.settingsButton&&this.settingsButton.reset(!1)}onServerDataChangeError(t){this.working=!1,this.button.showError(!1),this.settingsButton&&this.settingsButton.reset(!1),t=Qt(t),this.snackbarService.showError(t)}}xc.\u0275fac=function(t){return new(t||xc)(F(Si),F(Vn),F(wo),F(xr),F(cn),F(Fn),F(Cu),F(Os),F(ti))},xc.\u0275cmp=qe({type:xc,selectors:[["app-skysocks-client-settings"]],viewQuery:function(t,e){if(1&t&&(ft(NJ,5),ft(YJ,5),ft(BJ,5)),2&t){let i;nt(i=it())&&(e.button=i.first),nt(i=it())&&(e.settingsButton=i.first),nt(i=it())&&(e.firstInput=i.first)}},decls:34,vars:36,consts:[[3,"headline","dialog","disableDismiss"],[3,"label"],[3,"formGroup"],[3,"ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["id","pk","formControlName","pk","maxlength","66","matInput",""],["firstInput",""],[4,"ngIf","ngIfElse"],["hexError",""],[3,"ngClass",4,"ngIf"],["class","password-history-warning",4,"ngIf"],["color","primary",1,"float-right",3,"disabled","action"],["button",""],["class","loading-indicator",3,"showWhite",4,"ngIf"],["class","info-text",4,"ngIf"],[4,"ngIf"],["class","paginator",4,"ngIf"],["class","d-flex",4,"ngFor","ngForOf"],[3,"label",4,"ngIf"],["id","password","type","password","formControlName","password","maxlength","100","matInput",""],[1,"password-history-warning"],[3,"inline"],[1,"loading-indicator",3,"showWhite"],[1,"info-text"],["mat-button","",1,"list-button","grey-button-background","w-100",3,"click"],[1,"filter-button-content"],[1,"icon-area"],["class","item",4,"ngIf"],["class","item",4,"ngFor","ngForOf"],[1,"blue-part"],[1,"item"],[1,"d-flex"],["mat-button","",1,"list-button","grey-button-background","w-100",3,"ngClass","click"],[1,"button-content"],[4,"ngFor","ngForOf"],["mat-button","",1,"list-button","grey-button-background",3,"matTooltip","click"],[1,"option-button-icon",3,"inline"],[1,"flag-container"],[1,"paginator"],["mat-icon-button","",1,"hard-grey-button-background",3,"click"],["mat-button","",1,"list-button","grey-button-background","w-100","d-none","d-md-inline",3,"ngClass","click"],[4,"ngTemplateOutlet"],["mat-button","",1,"list-button","grey-button-background","d-none","d-md-inline",3,"matTooltip","click"],["mat-button","",1,"list-button","grey-button-background","w-100","d-md-none",3,"ngClass","click"],["content",""],[1,"button-content","d-flex"],[1,"full-size-area"],[1,"options-container"],[1,"small-button","d-md-none"],["formControlName","dns","maxlength","15","matInput",""],[1,"main-theme","settings-option"],["color","primary","formControlName","killswitch",3,"ngClass"],[1,"help-icon",3,"inline","matTooltip"],["class","settings-changed-warning",4,"ngIf"],["settingsButton",""],[1,"settings-changed-warning"]],template:function(t,e){if(1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"mat-tab-group")(3,"mat-tab",1),R(4,"translate"),D(5,"form",2)(6,"mat-form-field",3)(7,"div",4)(8,"label",5),I(9),R(10,"translate"),C(),xe(11,"input",6,7),C(),D(13,"mat-error"),j(14,HJ,4,3,"ng-container",8),C(),j(15,VJ,3,3,"ng-template",null,9,Ms),C(),j(17,jJ,6,6,"mat-form-field",10),j(18,zJ,5,4,"div",11),D(19,"app-button",12,13),ye("action",function(){return e.saveChanges()}),I(21),R(22,"translate"),C()()(),D(23,"mat-tab",1),R(24,"translate"),j(25,UJ,1,1,"app-loading-indicator",14),j(26,WJ,5,4,"div",15),j(27,nee,14,8,"ng-container",16),j(28,ree,10,7,"div",17),C(),D(29,"mat-tab",1),R(30,"translate"),j(31,see,6,7,"div",16),j(32,mee,15,16,"div",18),C(),j(33,bee,23,26,"mat-tab",19),C()()),2&t){const i=li(16);w("headline",B(1,22,"apps.vpn-socks-client-settings."+(e.configuringVpn?"vpn-title":"socks-title")))("dialog",e.dialogRef)("disableDismiss",e.disableDismiss),d(3),w("label",B(4,24,"apps.vpn-socks-client-settings.remote-visor-tab")),d(2),w("formGroup",e.form),d(1),w("ngClass",Ve(34,wc,e.disableDismiss)),d(3),oe(B(10,26,"apps.vpn-socks-client-settings.public-key")),d(5),w("ngIf",!e.form.get("pk").hasError("pattern"))("ngIfElse",i),d(3),w("ngIf",e.configuringVpn),d(1),w("ngIf",e.form&&e.form.get("password").value),d(1),w("disabled",!e.form.valid||e.working),d(2),me(" ",B(22,28,"apps.vpn-socks-client-settings.save")," "),d(2),w("label",B(24,30,"apps.vpn-socks-client-settings.discovery-tab")),d(2),w("ngIf",e.loadingFromDiscovery),d(1),w("ngIf",!e.loadingFromDiscovery&&0===e.proxiesFromDiscovery.length),d(1),w("ngIf",!e.loadingFromDiscovery&&e.proxiesFromDiscovery.length>0),d(1),w("ngIf",e.numberOfPages>1),d(1),w("label",B(30,32,"apps.vpn-socks-client-settings.history-tab")),d(2),w("ngIf",0===e.history.length),d(1),w("ngForOf",e.history),d(1),w("ngIf",e.configuringVpn)}},dependencies:[On,Ci,Ot,Ad,Yi,Fi,Ri,Ni,wr,ni,Di,tr,sl,Cr,ZI,AJ,Wr,il,Cn,gi,pa,ii,Rn,io,Ct],styles:["mat-tab-header{border-bottom:solid 1px rgba(0,0,0,.12)}form[_ngcontent-%COMP%]{margin-top:15px}.info-text[_ngcontent-%COMP%]{margin-top:20px;margin-bottom:2px;text-align:center;color:#202226}.info-text[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:2px}.loading-indicator[_ngcontent-%COMP%]{height:100px}.password-history-warning[_ngcontent-%COMP%]{font-size:.7rem;opacity:.7;position:relative;top:-5px}.list-button[_ngcontent-%COMP%]{border-bottom:solid 1px rgba(0,0,0,.12);height:auto;justify-content:left}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%]{padding:15px 0;white-space:normal;line-height:1.3;color:#202226;text-align:left;display:flex;font-size:.8rem;word-break:break-word}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%] .icon-area[_ngcontent-%COMP%]{font-size:20px;margin-right:15px;color:#999;opacity:.4;align-self:center}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{margin:4px 0}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-of-type{color:#999}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%] .blue-part[_ngcontent-%COMP%]{color:#215f9e}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%]{text-align:left;padding:15px 0;white-space:normal}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .full-size-area[_ngcontent-%COMP%]{flex-grow:1}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{line-height:1.3;margin:4px 0;font-size:.8rem;color:#202226;word-break:break-all}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:first-of-type{color:#999}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .highlighted[_ngcontent-%COMP%]{background-color:#ff0}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .options-container[_ngcontent-%COMP%]{flex-shrink:0;margin-left:5px;text-align:right;line-height:1}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .options-container[_ngcontent-%COMP%] .small-button[_ngcontent-%COMP%]{width:24px;height:24px;line-height:14px;font-size:14px;margin-left:5px}.list-button[_ngcontent-%COMP%] .option-button-icon[_ngcontent-%COMP%]{font-size:14px;margin:0!important;overflow:visible!important}.paginator[_ngcontent-%COMP%]{float:right;margin-top:15px;display:flex;align-items:center}@media (max-width: 767px){.paginator[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{font-size:.7rem}}.paginator[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-left:5px;display:flex}.settings-option[_ngcontent-%COMP%]{margin-top:20px}.settings-option[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{margin-bottom:15px}.settings-changed-warning[_ngcontent-%COMP%]{font-size:.7rem;opacity:.7;position:relative}"]});const vee=["button"],tP=function(n){return{"element-disabled":n}},nP=function(n){return{number:n}};function yee(n,t){if(1&n){const e=tt();$e(0,7),D(1,"div",8)(2,"mat-form-field",9)(3,"div",10)(4,"label",11),I(5),R(6,"translate"),C(),xe(7,"input",12),C()(),D(8,"mat-form-field",9)(9,"div",10)(10,"label",13),I(11),R(12,"translate"),C(),xe(13,"input",14),C()(),D(14,"button",15),ye("click",function(){const s=Pe(e).index;return Oe(z().removeSetting(s))}),R(15,"translate"),D(16,"mat-icon",16),I(17,"close"),C()()(),Ge()}if(2&n){const e=t.index,i=z();d(1),w("formGroupName",e),d(1),w("ngClass",Ve(15,tP,i.disableDismiss)),d(3),oe(Pt(6,7,"apps.user-app-settings.name",Ve(17,nP,e+1))),d(3),w("ngClass",Ve(19,tP,i.disableDismiss)),d(3),oe(Pt(12,10,"apps.user-app-settings.value",Ve(21,nP,e+1))),d(3),w("matTooltip",B(15,13,"apps.user-app-settings.remove")),d(2),w("inline",!0)}}const Mee=function(n){return{name:n}};class Cc{constructor(t,e,i,o,s,a){this.data=t,this.appsService=e,this.formBuilder=i,this.dialogRef=o,this.snackbarService=s,this.dialog=a,this.appName="",this.appName=t.name}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.mediumModalWidth,t.open(Cc,i)}ngOnInit(){if(this.form=this.formBuilder.group({settings:this.formBuilder.array([])}),this.data.args&&this.data.args.length>0)for(let t=0;t{let s=o.get("name").value,a=o.get("value").value;s=s&&s.trim(),a=a&&a.trim(),s?(i[s]=a,e+=1):t=!0}),t||0===e){const s=Wt.createConfirmationDialog(this.dialog,"apps.user-app-settings."+(0===e?"empty-confirmation":"invalid-confirmation"));s.componentInstance.operationAccepted.subscribe(()=>{s.close(),this.continueSavingChanges(i)})}else this.continueSavingChanges(i)}continueSavingChanges(t){this.button.showLoading();const e={custom_setting:t};this.operationSubscription=this.appsService.changeAppSettings(Je.getCurrentNodeKey(),this.data.name,e).subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)})}onSuccess(){Je.refreshCurrentDisplayedData(),this.snackbarService.showDone("apps.user-app-settings.changes-made"),this.dialogRef.close()}onError(t){this.button.showError(),t=Qt(t),this.snackbarService.showError(t)}}function wee(n,t){1&n&&(D(0,"span",14),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"apps.apps-list.title-official")))}function xee(n,t){1&n&&(D(0,"span",14),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"apps.apps-list.title-user")))}function Cee(n,t){if(1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n){const e=z().$implicit;d(1),oe(B(2,1,e.translatableValue))}}function kee(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z().$implicit;d(1),oe(e.value)}}function See(n,t){if(1&n&&(D(0,"div",18)(1,"span"),I(2),R(3,"translate"),C(),j(4,Cee,3,3,"ng-container",19),j(5,kee,2,1,"ng-container",19),C()),2&n){const e=t.$implicit;d(2),me("",B(3,3,e.filterName),": "),d(2),w("ngIf",e.translatableValue),d(1),w("ngIf",e.value)}}function Dee(n,t){if(1&n){const e=tt();D(0,"div",15),ye("click",function(){return Pe(e),Oe(z().dataFilterer.removeFilters())}),j(1,See,6,5,"div",16),D(2,"div",17),I(3),R(4,"translate"),C()()}if(2&n){const e=z();d(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),d(2),oe(B(4,2,"filters.press-to-remove"))}}function Tee(n,t){if(1&n){const e=tt();D(0,"mat-icon",20),ye("click",function(){return Pe(e),Oe(z().dataFilterer.changeFilters())}),R(1,"translate"),I(2,"filter_list"),C()}2&n&&w("inline",!0)("matTooltip",B(1,2,"filters.filter-action"))}function Lee(n,t){1&n&&(D(0,"mat-icon",21),I(1,"more_horiz"),C()),2&n&&(z(),w("matMenuTriggerFor",li(10)))}Cc.\u0275fac=function(t){return new(t||Cc)(F(Si),F(wo),F(xr),F(Vn),F(cn),F(Fn))},Cc.\u0275cmp=qe({type:Cc,selectors:[["app-user-app-settings"]],viewQuery:function(t,e){if(1&t&&ft(vee,5),2&t){let i;nt(i=it())&&(e.button=i.first)}},decls:15,vars:20,consts:[[3,"headline","dialog","disableDismiss"],[1,"info-container"],[3,"formGroup"],["formArrayName","settings",4,"ngFor","ngForOf"],[1,"add-setting",3,"click"],["color","primary",1,"float-right",3,"disabled","action"],["button",""],["formArrayName","settings"],[1,"settings-row",3,"formGroupName"],[3,"ngClass"],[1,"field-container"],["for","name",1,"field-label"],["id","name","formControlName","name","matInput",""],["for","value",1,"field-label"],["id","value","formControlName","value","matInput",""],["mat-button","",1,"transparent-button",3,"matTooltip","click"],[3,"inline"]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1),I(3),R(4,"translate"),C(),D(5,"form",2),j(6,yee,18,23,"ng-container",3),C(),D(7,"div")(8,"a",4),ye("click",function(){return e.addSetting()}),I(9),R(10,"translate"),C()(),D(11,"app-button",5,6),ye("action",function(){return e.saveChanges()}),I(13),R(14,"translate"),C()()),2&t&&(w("headline",Pt(1,9,"apps.user-app-settings.title",Ve(18,Mee,e.appName)))("dialog",e.dialogRef)("disableDismiss",e.disableDismiss),d(3),oe(B(4,12,"apps.user-app-settings.info")),d(2),w("formGroup",e.form),d(1),w("ngForOf",e.settingsControls),d(3),me("+ ",B(10,14,"apps.user-app-settings.add"),""),d(2),w("disabled",!e.form.valid),d(2),me(" ",B(14,16,"apps.user-app-settings.save")," "))},dependencies:[On,Ci,Yi,Fi,Ri,Ni,ni,Di,$f,Gf,tr,Cr,Wr,Cn,gi,ii,Rn,Ct],styles:[".info-container[_ngcontent-%COMP%]{margin-bottom:10px}.settings-row[_ngcontent-%COMP%]{display:flex}mat-form-field[_ngcontent-%COMP%]{flex-grow:1;margin-right:10px}button[_ngcontent-%COMP%]{flex-shrink:0;width:50px;padding:0!important;align-self:center;border-radius:10px}button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin:0!important}.add-setting[_ngcontent-%COMP%]{color:#215f9e!important;cursor:pointer}"]});const iP=function(n,t){return["/nodes",n,"apps-list",t]};function Eee(n,t){if(1&n&&xe(0,"app-paginator",22),2&n){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",ln(4,iP,e.nodePK,e.showOfficialApps))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function Iee(n,t){if(1&n&&(D(0,"mat-icon",37),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function Pee(n,t){if(1&n&&(D(0,"mat-icon",37),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function Oee(n,t){if(1&n&&(D(0,"mat-icon",37),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function Aee(n,t){if(1&n&&(D(0,"mat-icon",37),I(1),C()),2&n){const e=z(2);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function Fee(n,t){if(1&n&&(xe(0,"i",46),R(1,"translate")),2&n){const e=z().$implicit,i=z(2);fo(i.getStateClass(e)),w("matTooltip",B(1,3,i.getStateTooltip(e)))}}const rP=function(n){return{error:n}};function Ree(n,t){if(1&n&&(D(0,"mat-icon",47),R(1,"translate"),I(2,"warning"),C()),2&n){const e=z().$implicit;w("inline",!0)("matTooltip",Pt(1,2,"apps.status-failed-tooltip",Ve(5,rP,e.detailedStatus?e.detailedStatus:"")))}}function Nee(n,t){if(1&n&&(D(0,"a",48)(1,"button",49),R(2,"translate"),D(3,"mat-icon",37),I(4,"open_in_browser"),C()()()),2&n){const e=z().$implicit;w("href",z(2).getLink(e),_s),d(1),w("matTooltip",B(2,3,"apps.open")),d(2),w("inline",!0)}}function Yee(n,t){if(1&n){const e=tt();D(0,"button",43),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).config(o))}),R(1,"translate"),D(2,"mat-icon",37),I(3,"settings"),C()()}2&n&&(w("matTooltip",B(1,2,"apps.settings")),d(2),w("inline",!0))}function Bee(n,t){if(1&n){const e=tt();D(0,"tr")(1,"td",39)(2,"mat-checkbox",40),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(3,"td"),j(4,Fee,2,5,"i",41),j(5,Ree,3,7,"mat-icon",42),C(),D(6,"td"),I(7),C(),D(8,"td"),I(9),C(),D(10,"td")(11,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).changeAppAutostart(s))}),R(12,"translate"),D(13,"mat-icon",37),I(14),C()()(),D(15,"td",30),j(16,Nee,5,5,"a",44),j(17,Yee,4,4,"button",45),D(18,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).viewLogs(s))}),R(19,"translate"),D(20,"mat-icon",37),I(21,"list"),C()(),D(22,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).changeAppState(s))}),R(23,"translate"),D(24,"mat-icon",37),I(25),C()()()()}if(2&n){const e=t.$implicit,i=z(2);d(2),w("checked",i.selections.get(e.name)),d(2),w("ngIf",2!==e.status),d(1),w("ngIf",2===e.status),d(2),me(" ",e.name," "),d(2),me(" ",e.port," "),d(2),w("matTooltip",B(12,15,e.autostart?"apps.apps-list.disable-autostart":"apps.apps-list.enable-autostart")),d(2),w("inline",!0),d(1),oe(e.autostart?"done":"close"),d(2),w("ngIf",i.getLink(e)),d(1),w("ngIf",!i.appsWithoutConfig.has(e.name)),d(1),w("matTooltip",B(19,17,"apps.view-logs")),d(2),w("inline",!0),d(2),w("matTooltip",B(23,19,"apps."+(0===e.status||2===e.status?"start-app":"stop-app"))),d(2),w("inline",!0),d(1),oe(0===e.status||2===e.status?"play_arrow":"stop")}}function Hee(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"tables.label")))}function Vee(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"tables.inverted-order")))}function jee(n,t){if(1&n&&(D(0,"a",55),ye("click",function(i){return i.stopPropagation()}),D(1,"button",56),R(2,"translate"),D(3,"mat-icon"),I(4,"open_in_browser"),C()()()),2&n){const e=z().$implicit;w("href",z(2).getLink(e),_s),d(1),w("matTooltip",B(2,2,"apps.open"))}}function zee(n,t){if(1&n){const e=tt();D(0,"tr")(1,"td")(2,"div",34)(3,"div",50)(4,"mat-checkbox",40),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(5,"div",35)(6,"div",51)(7,"span",1),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",51)(12,"span",1),I(13),R(14,"translate"),C(),I(15),C(),D(16,"div",51)(17,"span",1),I(18),R(19,"translate"),C(),I(20,": "),D(21,"span"),I(22),R(23,"translate"),C()(),D(24,"div",51)(25,"span",1),I(26),R(27,"translate"),C(),I(28,": "),D(29,"span"),I(30),R(31,"translate"),C()()(),xe(32,"div",52),D(33,"div",36),j(34,jee,5,4,"a",53),D(35,"button",54),ye("click",function(o){const a=Pe(e).$implicit,l=z(2);return o.stopPropagation(),Oe(l.showOptionsDialog(a))}),R(36,"translate"),D(37,"mat-icon"),I(38),C()()()()()()}if(2&n){const e=t.$implicit,i=z(2);d(4),w("checked",i.selections.get(e.name)),d(4),oe(B(9,16,"apps.apps-list.app-name")),d(2),me(": ",e.name," "),d(3),oe(B(14,18,"apps.apps-list.port")),d(2),me(": ",e.port," "),d(3),oe(B(19,20,"apps.apps-list.state")),d(3),fo(i.getSmallScreenStateClass(e)+" title"),d(1),me(" ",Pt(23,22,i.getSmallScreenStateTextVar(e),Ve(31,rP,e.detailedStatus?e.detailedStatus:""))," "),d(4),oe(B(27,25,"apps.apps-list.auto-start")),d(3),fo((e.autostart?"green-clear-text":"red-clear-text")+" title"),d(1),me(" ",B(31,27,e.autostart?"apps.apps-list.autostart-enabled":"apps.apps-list.autostart-disabled")," "),d(4),w("ngIf",i.getLink(e)),d(1),w("matTooltip",B(36,29,"common.options")),d(3),oe("add")}}const Uee=function(n,t){return["/nodes",n,"apps-list",t,"1"]};function Wee(n,t){if(1&n&&xe(0,"app-view-all-link",57),2&n){const e=z(2);w("numberOfElements",e.filteredApps.length)("linkParts",ln(3,Uee,e.nodePK,e.showOfficialApps))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const $ee=function(n,t){return{"small-node-list-margins":n,"full-node-list-margins":t}},Gee=function(n){return{"d-lg-none d-xl-table":n}},qee=function(n){return{"d-lg-table d-xl-none":n}};function Kee(n,t){if(1&n){const e=tt();D(0,"div",23)(1,"div",24)(2,"table",25)(3,"tr"),xe(4,"th"),D(5,"th",26),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.stateSortData))}),R(6,"translate"),xe(7,"span",27),j(8,Iee,2,2,"mat-icon",28),C(),D(9,"th",29),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.nameSortData))}),I(10),R(11,"translate"),j(12,Pee,2,2,"mat-icon",28),C(),D(13,"th",29),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.portSortData))}),I(14),R(15,"translate"),j(16,Oee,2,2,"mat-icon",28),C(),D(17,"th",29),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.autoStartSortData))}),I(18),R(19,"translate"),j(20,Aee,2,2,"mat-icon",28),C(),xe(21,"th",30),C(),j(22,Bee,26,21,"tr",31),C(),D(23,"table",32)(24,"tr",33),ye("click",function(){return Pe(e),Oe(z().dataSorter.openSortingOrderModal())}),D(25,"td")(26,"div",34)(27,"div",35)(28,"div",1),I(29),R(30,"translate"),C(),D(31,"div"),I(32),R(33,"translate"),j(34,Hee,3,3,"ng-container",19),j(35,Vee,3,3,"ng-container",19),C()(),D(36,"div",36)(37,"mat-icon",37),I(38,"keyboard_arrow_down"),C()()()()(),j(39,zee,39,33,"tr",31),C(),j(40,Wee,1,6,"app-view-all-link",38),C()()}if(2&n){const e=z();d(1),w("ngClass",ln(31,$ee,e.showShortList_,!e.showShortList_)),d(1),w("ngClass",Ve(34,Gee,e.showShortList_)),d(3),w("matTooltip",B(6,19,"apps.apps-list.state-tooltip")),d(3),w("ngIf",e.dataSorter.currentSortingColumn===e.stateSortData),d(2),me(" ",B(11,21,"apps.apps-list.app-name")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.nameSortData),d(2),me(" ",B(15,23,"apps.apps-list.port")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.portSortData),d(2),me(" ",B(19,25,"apps.apps-list.auto-start")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.autoStartSortData),d(2),w("ngForOf",e.dataSource),d(1),w("ngClass",Ve(36,qee,e.showShortList_)),d(6),oe(B(30,27,"tables.sorting-title")),d(3),me("",B(33,29,e.dataSorter.currentSortingColumn.label)," "),d(2),w("ngIf",e.dataSorter.currentlySortingByLabel),d(1),w("ngIf",e.dataSorter.sortingInReverseOrder),d(2),w("inline",!0),d(2),w("ngForOf",e.dataSource),d(1),w("ngIf",e.showShortList_&&e.numberOfPages>1)}}function Zee(n,t){1&n&&(D(0,"span",61),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"apps.apps-list.empty-official")))}function Xee(n,t){1&n&&(D(0,"span",61),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"apps.apps-list.empty-user")))}function Qee(n,t){1&n&&(D(0,"span",61),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"apps.apps-list.empty-with-filter")))}function Jee(n,t){if(1&n&&(D(0,"div",23)(1,"div",58)(2,"mat-icon",59),I(3,"warning"),C(),j(4,Zee,3,3,"span",60),j(5,Xee,3,3,"span",60),j(6,Qee,3,3,"span",60),C()()),2&n){const e=z();d(2),w("inline",!0),d(2),w("ngIf",0===e.allAppsForType.length&&e.showOfficialApps),d(1),w("ngIf",0===e.allAppsForType.length&&!e.showOfficialApps),d(1),w("ngIf",0!==e.allAppsForType.length)}}function ete(n,t){if(1&n&&xe(0,"app-paginator",22),2&n){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",ln(4,iP,e.nodePK,e.showOfficialApps))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const tte=function(n){return{"paginator-icons-fixer":n}};class ku{constructor(t,e,i,o,s,a,l){this.appsService=t,this.dialog=e,this.route=i,this.router=o,this.snackbarService=s,this.translateService=a,this.storageService=l,this.listIdForOfficialApps="op",this.listIdForUserApps="up",this.officialAppsList=new Set(["skychat","skysocks","skysocks-client","vpn-client","vpn-server"]),this.showOfficialApps=!0,this.stateSortData=new Nn(["status"],"apps.apps-list.state",Jt.NumberReversed),this.nameSortData=new Nn(["name"],"apps.apps-list.app-name",Jt.Text),this.portSortData=new Nn(["port"],"apps.apps-list.port",Jt.Number),this.autoStartSortData=new Nn(["autostart"],"apps.apps-list.auto-start",Jt.Boolean),this.selections=new Map,this.appsWithoutConfig=new Set(["skychat"]),this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"apps.apps-list.filter-dialog.state",keyNameInElementsArray:"status",type:Zn.Select,printableLabelsForValues:[{value:"",label:"apps.apps-list.filter-dialog.state-options.any"},{value:"1",label:"apps.apps-list.filter-dialog.state-options.running"},{value:"0",label:"apps.apps-list.filter-dialog.state-options.stopped"}]},{filterName:"apps.apps-list.filter-dialog.name",keyNameInElementsArray:"name",type:Zn.TextInput,maxlength:50},{filterName:"apps.apps-list.filter-dialog.port",keyNameInElementsArray:"port",type:Zn.TextInput,maxlength:8},{filterName:"apps.apps-list.filter-dialog.autostart",keyNameInElementsArray:"autostart",type:Zn.Select,printableLabelsForValues:[{value:"",label:"apps.apps-list.filter-dialog.autostart-options.any"},{value:"true",label:"apps.apps-list.filter-dialog.autostart-options.enabled"},{value:"false",label:"apps.apps-list.filter-dialog.autostart-options.disabled"}]}],this.refreshAgain=!1,this.operationSubscriptionsGroup=[],this.navigationsSubscription=this.route.paramMap.subscribe(c=>{if(c.has("showOfficialApps")&&(this.showOfficialApps=c.get("showOfficialApps").toUpperCase()==="true".toUpperCase()),c.has("page")){let M=Number.parseInt(c.get("page"),10);(isNaN(M)||M<1)&&(M=1),this.currentPageInUrl=M,this.recalculateElementsToShow()}})}set showShortList(t){this.showShortList_=t,this.dataSorter&&this.dataSorter.setData(this.filteredApps)}set apps(t){this.allApps=t||[],this.allApps&&(this.allAppsForType=[],this.allApps.forEach(e=>{(this.showOfficialApps&&this.officialAppsList.has(e.name)||!this.showOfficialApps&&!this.officialAppsList.has(e.name))&&this.allAppsForType.push(e)}),this.dataFilterer&&this.dataFilterer.setData(this.allAppsForType))}ngOnInit(){const t=this.showOfficialApps?this.listIdForOfficialApps:this.listIdForUserApps;this.dataSorter=new pu(this.dialog,this.translateService,this.storageService,[this.stateSortData,this.nameSortData,this.portSortData,this.autoStartSortData],1,t),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataSorter&&this.dataSorter.setData(this.filteredApps),this.dataFilterer=new mu(this.dialog,this.route,this.router,this.filterProperties,t),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(i=>{this.filteredApps=i,this.dataSorter.setData(this.filteredApps)}),this.allAppsForType&&this.dataFilterer.setData(this.allAppsForType)}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.operationSubscriptionsGroup.forEach(t=>t.unsubscribe()),this.dataSortedSubscription.unsubscribe(),this.dataFiltererSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFilterer.dispose()}getLink(t){if("skychat"===t.name.toLocaleLowerCase()&&this.nodeIp&&0!==t.status&&2!==t.status){let e="8001";if(t.args)for(let i=0;i{e&&(t=!0)}),t}changeAllSelections(t){this.selections.forEach((e,i)=>{this.selections.set(i,t)})}changeStateOfSelected(t){const e=[];if(this.selections.forEach((i,o)=>{i&&(t&&(0===this.appsMap.get(o).status||2===this.appsMap.get(o).status)||!t&&0!==this.appsMap.get(o).status&&2!==this.appsMap.get(o).status)&&e.push(o)}),t)this.changeAppsValRecursively(e,!1,t);else{const i=Wt.createConfirmationDialog(this.dialog,"apps.stop-selected-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.showProcessing(),this.changeAppsValRecursively(e,!1,t,i)})}}changeAutostartOfSelected(t){const e=[];this.selections.forEach((o,s)=>{o&&(t&&!this.appsMap.get(s).autostart||!t&&this.appsMap.get(s).autostart)&&e.push(s)});const i=Wt.createConfirmationDialog(this.dialog,t?"apps.enable-autostart-selected-confirmation":"apps.disable-autostart-selected-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.showProcessing(),this.changeAppsValRecursively(e,!0,t,i)})}showOptionsDialog(t){const e=[{icon:"list",label:"apps.view-logs"},{icon:0===t.status||2===t.status?"play_arrow":"stop",label:"apps."+(0===t.status||2===t.status?"start-app":"stop-app")},{icon:t.autostart?"close":"done",label:t.autostart?"apps.apps-list.disable-autostart":"apps.apps-list.enable-autostart"}];this.appsWithoutConfig.has(t.name)||e.push({icon:"settings",label:"apps.settings"}),$i.openDialog(this.dialog,e,"common.options").afterClosed().subscribe(i=>{1===i?this.viewLogs(t):2===i?this.changeAppState(t):3===i?this.changeAppAutostart(t):4===i&&this.config(t)})}changeAppState(t){if(0===t.status||2===t.status)this.changeSingleAppVal(this.startChangingAppState(t.name,!0));else{const e=Wt.createConfirmationDialog(this.dialog,"apps.stop-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.showProcessing(),this.changeSingleAppVal(this.startChangingAppState(t.name,!1),e)})}}changeAppAutostart(t){const e=Wt.createConfirmationDialog(this.dialog,t.autostart?"apps.disable-autostart-confirmation":"apps.enable-autostart-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.showProcessing(),this.changeSingleAppVal(this.startChangingAppAutostart(t.name,!t.autostart),e)})}changeSingleAppVal(t,e=null){this.operationSubscriptionsGroup.push(t.subscribe(()=>{e&&e.close(),setTimeout(()=>{this.refreshAgain=!0,Je.refreshCurrentDisplayedData()},50),this.snackbarService.showDone("apps.operation-completed")},i=>{i=Qt(i),setTimeout(()=>{this.refreshAgain=!0,Je.refreshCurrentDisplayedData()},50),e?e.componentInstance.showDone("confirmation.error-header-text",i.translatableErrorMsg):this.snackbarService.showError(i)}))}viewLogs(t){0!==t.status&&2!==t.status?gc.openDialog(this.dialog,t):this.snackbarService.showError("apps.apps-list.unavailable-logs-error")}config(t){"skysocks"===t.name||"vpn-server"===t.name?bc.openDialog(this.dialog,t):"skysocks-client"===t.name||"vpn-client"===t.name?xc.openDialog(this.dialog,t):"skychat"===t.name?this.snackbarService.showError("apps.error"):Cc.openDialog(this.dialog,t)}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredApps){const t=this.showShortList_?Ht.maxShortListElements:Ht.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredApps.length/t),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const e=t*(this.currentPage-1);this.appsToShow=this.filteredApps.slice(e,e+t),this.appsMap=new Map,this.appsToShow.forEach(s=>{this.appsMap.set(s.name,s),this.selections.has(s.name)||this.selections.set(s.name,!1)});const o=[];this.selections.forEach((s,a)=>{this.appsMap.has(a)||o.push(a)}),o.forEach(s=>{this.selections.delete(s)})}else this.appsToShow=null,this.selections=new Map;this.dataSource=this.appsToShow,this.refreshAgain&&(this.refreshAgain=!1,setTimeout(()=>Je.refreshCurrentDisplayedData(),2e3))}startChangingAppState(t,e){return this.appsService.changeAppState(Je.getCurrentNodeKey(),t,e).pipe(Ce(i=>(null!=i.status&&this.dataSource.forEach(o=>{o.name===t&&(o.status=i.status,o.detailedStatus=i.detailed_status)}),i)))}startChangingAppAutostart(t,e){return this.appsService.changeAppAutostart(Je.getCurrentNodeKey(),t,e)}changeAppsValRecursively(t,e,i,o=null){if(!t||0===t.length)return setTimeout(()=>Je.refreshCurrentDisplayedData(),50),this.snackbarService.showWarning("apps.operation-unnecessary"),void(o&&o.close());let s;s=e?this.startChangingAppAutostart(t[t.length-1],i):this.startChangingAppState(t[t.length-1],i),this.operationSubscriptionsGroup.push(s.subscribe(()=>{t.pop(),0===t.length?(o&&o.close(),setTimeout(()=>{this.refreshAgain=!0,Je.refreshCurrentDisplayedData()},50),this.snackbarService.showDone("apps.operation-completed")):this.changeAppsValRecursively(t,e,i,o)},a=>{a=Qt(a),setTimeout(()=>{this.refreshAgain=!0,Je.refreshCurrentDisplayedData()},50),o?o.componentInstance.showDone("confirmation.error-header-text",a.translatableErrorMsg):this.snackbarService.showError(a)}))}}ku.\u0275fac=function(t){return new(t||ku)(F(wo),F(Fn),F(vr),F(Xt),F(cn),F(no),F(ti))},ku.\u0275cmp=qe({type:ku,selectors:[["app-node-app-list"]],inputs:{nodePK:"nodePK",nodeIp:"nodeIp",showOfficialApps:"showOfficialApps",showShortList:"showShortList",apps:"apps"},decls:33,vars:35,consts:[[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","uppercase",4,"ngIf"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],["class","small-icon",3,"inline","matTooltip","click",4,"ngIf"],[3,"matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"uppercase"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","matTooltip","click"],[3,"matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow",3,"ngClass"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table",3,"ngClass"],[1,"sortable-column",3,"matTooltip","click"],[1,"dot-outline-white"],[3,"inline",4,"ngIf"],[1,"sortable-column",3,"click"],[1,"actions"],[4,"ngFor","ngForOf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none",3,"ngClass"],[1,"selectable",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],[3,"inline"],[3,"numberOfElements","linkParts","queryParams",4,"ngIf"],[1,"selection-col"],[3,"checked","change"],[3,"class","matTooltip",4,"ngIf"],["class","red-text",3,"inline","matTooltip",4,"ngIf"],["mat-button","",1,"big-action-button","transparent-button",3,"matTooltip","click"],["target","_blank","rel","noreferrer nofollow noopener","class","skychat-link",3,"href",4,"ngIf"],["mat-button","","class","big-action-button transparent-button",3,"matTooltip","click",4,"ngIf"],[3,"matTooltip"],[1,"red-text",3,"inline","matTooltip"],["target","_blank","rel","noreferrer nofollow noopener",1,"skychat-link",3,"href"],["mat-button","",1,"big-action-button","transparent-button",3,"matTooltip"],[1,"check-part"],[1,"list-row"],[1,"margin-part"],["target","_blank","rel","noreferrer nofollow noopener","class","skychat-link",3,"href","click",4,"ngIf"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],["target","_blank","rel","noreferrer nofollow noopener",1,"skychat-link",3,"href","click"],["mat-icon-button","",1,"transparent-button",3,"matTooltip"],[3,"numberOfElements","linkParts","queryParams"],[1,"box-internal-container"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(t,e){1&t&&(D(0,"div",0)(1,"div",1),j(2,wee,3,3,"span",2),j(3,xee,3,3,"span",2),j(4,Dee,5,4,"div",3),C(),D(5,"div",4)(6,"div",5),j(7,Tee,3,4,"mat-icon",6),j(8,Lee,2,1,"mat-icon",7),D(9,"mat-menu",8,9)(11,"div",10),ye("click",function(){return e.changeAllSelections(!0)}),I(12),R(13,"translate"),C(),D(14,"div",10),ye("click",function(){return e.changeAllSelections(!1)}),I(15),R(16,"translate"),C(),D(17,"div",11),ye("click",function(){return e.changeStateOfSelected(!0)}),I(18),R(19,"translate"),C(),D(20,"div",11),ye("click",function(){return e.changeStateOfSelected(!1)}),I(21),R(22,"translate"),C(),D(23,"div",11),ye("click",function(){return e.changeAutostartOfSelected(!0)}),I(24),R(25,"translate"),C(),D(26,"div",11),ye("click",function(){return e.changeAutostartOfSelected(!1)}),I(27),R(28,"translate"),C()()(),j(29,Eee,1,7,"app-paginator",12),C()(),j(30,Kee,41,38,"div",13),j(31,Jee,7,4,"div",13),j(32,ete,1,7,"app-paginator",12)),2&t&&(w("ngClass",Ve(33,tte,!e.showShortList_&&e.numberOfPages>1&&e.dataSource)),d(2),w("ngIf",e.showShortList_&&e.showOfficialApps),d(1),w("ngIf",e.showShortList_&&!e.showOfficialApps),d(1),w("ngIf",e.dataFilterer.currentFiltersTexts&&e.dataFilterer.currentFiltersTexts.length>0),d(3),w("ngIf",e.allAppsForType&&e.allAppsForType.length>0),d(1),w("ngIf",e.dataSource&&e.dataSource.length>0),d(1),w("overlapTrigger",!1),d(3),me(" ",B(13,21,"selection.select-all")," "),d(3),me(" ",B(16,23,"selection.unselect-all")," "),d(2),Dn("disabled",!e.hasSelectedElements()),d(1),me(" ",B(19,25,"selection.start-all")," "),d(2),Dn("disabled",!e.hasSelectedElements()),d(1),me(" ",B(22,27,"selection.stop-all")," "),d(2),Dn("disabled",!e.hasSelectedElements()),d(1),me(" ",B(25,29,"selection.enable-autostart-all")," "),d(2),Dn("disabled",!e.hasSelectedElements()),d(1),me(" ",B(28,31,"selection.disable-autostart-all")," "),d(2),w("ngIf",!e.showShortList_&&e.numberOfPages>1&&e.dataSource),d(1),w("ngIf",e.dataSource&&e.dataSource.length>0),d(1),w("ngIf",!e.dataSource||0===e.dataSource.length),d(1),w("ngIf",!e.showShortList_&&e.numberOfPages>1&&e.dataSource))},dependencies:[On,Ci,Ot,Wr,il,Cn,gi,gu,ma,bu,pa,ul,As,Ct],styles:[".actions[_ngcontent-%COMP%]{text-align:right;width:150px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}.skychat-link[_ngcontent-%COMP%]{color:#f8f9f9;text-decoration:none}.skychat-link[_ngcontent-%COMP%] .big-action-button[_ngcontent-%COMP%]{margin-right:5px}"]});class ip{ngOnInit(){this.dataSubscription=Je.currentNode.subscribe(t=>{this.nodePK=t.localPk,this.apps=t.apps,this.nodeIp=t.ip})}ngOnDestroy(){this.dataSubscription.unsubscribe()}}function nte(n,t){1&n&&xe(0,"app-transport-list",1),2&n&&w("node",z().node)("showShortList",!1)}ip.\u0275fac=function(t){return new(t||ip)},ip.\u0275cmp=qe({type:ip,selectors:[["app-apps"]],decls:2,vars:10,consts:[[3,"showOfficialApps","apps","showShortList","nodePK","nodeIp"]],template:function(t,e){1&t&&xe(0,"app-node-app-list",0)(1,"app-node-app-list",0),2&t&&(w("showOfficialApps",!0)("apps",e.apps)("showShortList",!0)("nodePK",e.nodePK)("nodeIp",e.nodeIp),d(1),w("showOfficialApps",!1)("apps",e.apps)("showShortList",!0)("nodePK",e.nodePK)("nodeIp",e.nodeIp))},dependencies:[ku]});class rp{ngOnInit(){this.dataSubscription=Je.currentNode.subscribe(t=>this.node=t)}ngOnDestroy(){this.dataSubscription.unsubscribe()}}function ite(n,t){if(1&n&&xe(0,"app-route-list",1),2&n){const e=z();w("routes",e.routes)("showShortList",!1)("nodePK",e.nodePK)}}rp.\u0275fac=function(t){return new(t||rp)},rp.\u0275cmp=qe({type:rp,selectors:[["app-all-transports"]],decls:1,vars:1,consts:[[3,"node","showShortList",4,"ngIf"],[3,"node","showShortList"]],template:function(t,e){1&t&&j(0,nte,1,2,"app-transport-list",0),2&t&&w("ngIf",e.node)},dependencies:[Ot,wu]});class op{ngOnInit(){this.dataSubscription=Je.currentNode.subscribe(t=>{this.nodePK=t.localPk,this.routes=t.routes})}ngOnDestroy(){this.dataSubscription.unsubscribe()}}function rte(n,t){if(1&n&&xe(0,"app-node-app-list",1),2&n){const e=z();w("apps",e.apps)("showShortList",!1)("nodePK",e.nodePK)}}op.\u0275fac=function(t){return new(t||op)},op.\u0275cmp=qe({type:op,selectors:[["app-all-routes"]],decls:1,vars:1,consts:[[3,"routes","showShortList","nodePK",4,"ngIf"],[3,"routes","showShortList","nodePK"]],template:function(t,e){1&t&&j(0,ite,1,3,"app-route-list",0),2&t&&w("ngIf",e.routes)},dependencies:[Ot,xu]});class sp{ngOnInit(){this.dataSubscription=Je.currentNode.subscribe(t=>{this.nodePK=t.localPk,this.apps=t.apps})}ngOnDestroy(){this.dataSubscription.unsubscribe()}}sp.\u0275fac=function(t){return new(t||sp)},sp.\u0275cmp=qe({type:sp,selectors:[["app-all-apps"]],decls:1,vars:1,consts:[[3,"apps","showShortList","nodePK",4,"ngIf"],[3,"apps","showShortList","nodePK"]],template:function(t,e){1&t&&j(0,rte,1,3,"app-node-app-list",0),2&t&&w("ngIf",e.apps)},dependencies:[Ot,ku]});const ote=["button"],ste=["firstInput"],ate=function(n){return{"element-disabled":n}};class fl{constructor(t,e,i,o,s){this.dialogRef=t,this.data=e,this.formBuilder=i,this.snackbarService=o,this.routeService=s}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.smallModalWidth,t.open(fl,i)}ngOnInit(){this.form=this.formBuilder.group({min:[this.data.minHops,Vt.compose([Vt.required,Vt.maxLength(3),Vt.pattern("^[0-9]+$")])]}),setTimeout(()=>this.firstInput.nativeElement.focus())}ngOnDestroy(){this.operationSubscription&&this.operationSubscription.unsubscribe()}get disableDismiss(){return!!this.button&&this.button.isLoading}save(){!this.form.valid||this.operationSubscription||(this.button.showLoading(),this.operationSubscription=this.routeService.setMinHops(this.data.nodePk,Number.parseInt(this.form.get("min").value,10)).subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)}))}onSuccess(t){this.dialogRef.close(!0),this.snackbarService.showDone("router-config.done")}onError(t){this.button.showError(),this.operationSubscription=null,t=Qt(t),this.snackbarService.showError(t)}}fl.\u0275fac=function(t){return new(t||fl)(F(Vn),F(Si),F(xr),F(cn),F(mc))},fl.\u0275cmp=qe({type:fl,selectors:[["app-router-config"]],viewQuery:function(t,e){if(1&t&&(ft(ote,5),ft(ste,5)),2&t){let i;nt(i=it())&&(e.button=i.first),nt(i=it())&&(e.firstInput=i.first)}},decls:21,vars:22,consts:[[3,"headline","dialog","disableDismiss"],[1,"info-container"],[3,"formGroup","ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","min","maxlength","3","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"disabled","action"],["button",""]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1),I(3),R(4,"translate"),C(),D(5,"form",2)(6,"mat-form-field")(7,"div",3)(8,"label",4),I(9),R(10,"translate"),C(),xe(11,"input",5,6),C(),D(13,"mat-error")(14,"span"),I(15),R(16,"translate"),C()()()(),D(17,"app-button",7,8),ye("action",function(){return e.save()}),I(19),R(20,"translate"),C()()),2&t&&(w("headline",B(1,10,"router-config.title"))("dialog",e.dialogRef)("disableDismiss",e.disableDismiss),d(3),oe(B(4,12,"router-config.info")),d(2),w("formGroup",e.form)("ngClass",Ve(20,ate,e.disableDismiss)),d(4),oe(B(10,14,"router-config.min-hops")),d(6),oe(B(16,16,"router-config.min-hops-error")),d(2),w("disabled",!e.form.valid),d(2),me(" ",B(20,18,"router-config.save-config-button")," "))},dependencies:[On,Yi,Fi,Ri,Ni,wr,ni,Di,tr,sl,Cr,ii,Rn,Ct],styles:[".info-container[_ngcontent-%COMP%]{margin-bottom:10px}"]});const lte=["button"],cte=["firstInput"],dte=function(n){return{"element-disabled":n}};class kc{constructor(t,e,i,o,s,a){this.dialogRef=t,this.data=e,this.formBuilder=i,this.snackbarService=o,this.nodeService=s,this.dialog=a}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.smallModalWidth,t.open(kc,i)}ngOnInit(){this.form=this.formBuilder.group({address:[this.data.currentAddress,Vt.compose([Vt.minLength(20),Vt.maxLength(40)])]}),setTimeout(()=>this.firstInput.nativeElement.focus())}ngOnDestroy(){this.operationSubscription&&this.operationSubscription.unsubscribe()}get disableDismiss(){return!!this.button&&this.button.isLoading}startSaving(){if(this.form.valid&&!this.operationSubscription)if(this.form.get("address").value)this.finishSaving();else{const e=Wt.createConfirmationDialog(this.dialog,"rewards-address-config.empty-warning");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.closeModal(),this.finishSaving()})}}finishSaving(){this.button.showLoading();const t=this.form.get("address").value;let e=this.nodeService.setRewardsAddress(this.data.nodePk,t);t||(e=this.nodeService.deleteRewardsAddress(this.data.nodePk)),this.operationSubscription=e.subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)})}onSuccess(t){this.dialogRef.close(!0),this.snackbarService.showDone("rewards-address-config.done")}onError(t){this.button.showError(),this.operationSubscription=null,t=Qt(t),this.snackbarService.showError(t)}}kc.\u0275fac=function(t){return new(t||kc)(F(Vn),F(Si),F(xr),F(cn),F(Mo),F(Fn))},kc.\u0275cmp=qe({type:kc,selectors:[["app-rewards-address-config"]],viewQuery:function(t,e){if(1&t&&(ft(lte,5),ft(cte,5)),2&t){let i;nt(i=it())&&(e.button=i.first),nt(i=it())&&(e.firstInput=i.first)}},decls:25,vars:25,consts:[[3,"headline","dialog","disableDismiss"],[1,"info-container"],["href","https://github.com/skycoin/skywire/blob/master/mainnet_rules.md","target","_blank","rel","noreferrer nofollow noopener"],[3,"formGroup","ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","address","maxlength","40","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"disabled","action"],["button",""]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1)(3,"span"),I(4),R(5,"translate"),C(),D(6,"a",2),I(7),R(8,"translate"),C()(),D(9,"form",3)(10,"mat-form-field")(11,"div",4)(12,"label",5),I(13),R(14,"translate"),C(),xe(15,"input",6,7),C(),D(17,"mat-error")(18,"span"),I(19),R(20,"translate"),C()()()(),D(21,"app-button",8,9),ye("action",function(){return e.startSaving()}),I(23),R(24,"translate"),C()()),2&t&&(w("headline",B(1,11,"rewards-address-config.title"))("dialog",e.dialogRef)("disableDismiss",e.disableDismiss),d(4),me("",B(5,13,"rewards-address-config.info")," "),d(3),me(" ",B(8,15,"rewards-address-config.more-info-link")," "),d(2),w("formGroup",e.form)("ngClass",Ve(23,dte,e.disableDismiss)),d(4),oe(B(14,17,"rewards-address-config.address")),d(6),oe(B(20,19,"rewards-address-config.address-error")),d(2),w("disabled",!e.form.valid),d(2),me(" ",B(24,21,"rewards-address-config.save-config-button")," "))},dependencies:[On,Yi,Fi,Ri,Ni,wr,ni,Di,tr,sl,Cr,ii,Rn,Ct],styles:[".info-container[_ngcontent-%COMP%]{margin-bottom:10px}"]});class ap{constructor(t){this.clipboardService=t,this.copyEvent=new ht,this.errorEvent=new ht,this.value=""}ngOnDestroy(){this.copyEvent.complete(),this.errorEvent.complete()}copyToClipboard(){this.clipboardService.copy(this.value)?this.copyEvent.emit(this.value):this.errorEvent.emit()}}function ute(n,t){if(1&n&&($e(0),xe(1,"app-truncated-text",3),D(2,"mat-icon",4),I(3,"filter_none"),C(),Ge()),2&n){const e=z();d(1),w("short",e.short)("showTooltip",!1)("shortTextLength",e.shortTextLength)("text",e.text),d(1),w("inline",!0)}}function hte(n,t){if(1&n&&(D(0,"div",5)(1,"div",6),I(2),C(),D(3,"mat-icon",4),I(4,"filter_none"),C()()),2&n){const e=z();d(2),oe(e.text),d(1),w("inline",!0)}}ap.\u0275fac=function(t){return new(t||ap)(F(Os))},ap.\u0275dir=Ke({type:ap,selectors:[["","clipboard",""]],hostBindings:function(t,e){1&t&&ye("click",function(){return e.copyToClipboard()})},inputs:{value:["clipboard","value"]},outputs:{copyEvent:"copyEvent",errorEvent:"errorEvent"}});const fte=function(n){return{text:n}},pte=function(){return{"tooltip-word-break":!0}};class Sc{constructor(t){this.snackbarService=t,this.short=!1,this.shortSimple=!1,this.shortTextLength=5}onCopyToClipboardClicked(){this.snackbarService.showDone("copy.copied")}}Sc.\u0275fac=function(t){return new(t||Sc)(F(cn))},Sc.\u0275cmp=qe({type:Sc,selectors:[["app-copy-to-clipboard-text"]],inputs:{text:"text",short:"short",shortSimple:"shortSimple",shortTextLength:"shortTextLength"},decls:4,vars:11,consts:[[1,"wrapper","highlight-internal-icon",3,"clipboard","matTooltip","matTooltipClass","copyEvent"],[4,"ngIf"],["class","d-flex",4,"ngIf"],[1,"text-margin",3,"short","showTooltip","shortTextLength","text"],[3,"inline"],[1,"d-flex"],[1,"single-line","text-margin"]],template:function(t,e){1&t&&(D(0,"div",0),ye("copyEvent",function(){return e.onCopyToClipboardClicked()}),R(1,"translate"),j(2,ute,4,5,"ng-container",1),j(3,hte,5,2,"div",2),C()),2&t&&(w("clipboard",e.text)("matTooltip",Pt(1,5,e.short||e.shortSimple?"copy.tooltip-with-text":"copy.tooltip",Ve(8,fte,e.text)))("matTooltipClass",Un(10,pte)),d(2),w("ngIf",!e.shortSimple),d(1),w("ngIf",e.shortSimple))},dependencies:[Ot,Cn,gi,ap,fu,Ct],styles:['.cursor-pointer[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%], .wrapper[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}.wrapper[_ngcontent-%COMP%]{display:inline}.wrapper[_ngcontent-%COMP%] .text-margin[_ngcontent-%COMP%]{margin-right:5px}.wrapper[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:.6rem;-webkit-user-select:none;user-select:none;flex-shrink:0;display:inline!important}']});var mte=N(6149);const _te=["chart"];class Fs{constructor(t){this.height=100,this.animated=!1,this.min=void 0,this.max=void 0,this.differ=t.find([]).create(null)}ngAfterViewInit(){this.chart=new mte.Chart(this.chartElement.nativeElement,{type:"line",data:{labels:Array.from(Array(this.data.length).keys()),datasets:[{data:this.data,backgroundColor:["rgba(10, 15, 22, 0.4)"],borderColor:["rgba(10, 15, 22, 0.4)"],borderWidth:1}]},options:{maintainAspectRatio:!1,events:[],legend:{display:!1},tooltips:{enabled:!1},scales:{yAxes:[{display:!1,ticks:{suggestedMin:0}}],xAxes:[{display:!1}]},elements:{point:{radius:0}},layout:{padding:{left:0,right:0,top:Fs.topInternalMargin,bottom:0}}}}),void 0!==this.min&&void 0!==this.max&&(this.updateMinAndMax(),this.chart.update(0))}ngDoCheck(){this.differ.diff(this.data)&&this.chart&&(void 0!==this.min&&void 0!==this.max&&this.updateMinAndMax(),this.animated?this.chart.update():this.chart.update(0))}ngOnDestroy(){this.chart&&this.chart.destroy()}updateMinAndMax(){this.chart.options.scales={yAxes:[{display:!1,ticks:{min:this.min,max:this.max}}],xAxes:[{display:!1}]}}}Fs.topInternalMargin=5,Fs.\u0275fac=function(t){return new(t||Fs)(F(Bh))},Fs.\u0275cmp=qe({type:Fs,selectors:[["app-line-chart"]],viewQuery:function(t,e){if(1&t&&ft(_te,5),2&t){let i;nt(i=it())&&(e.chartElement=i.first)}},inputs:{data:"data",height:"height",animated:"animated",min:"min",max:"max"},decls:3,vars:2,consts:[[1,"chart-container"],["chart",""]],template:function(t,e){1&t&&(D(0,"div",0),xe(1,"canvas",null,1),C()),2&t&&ci("height: "+e.height+"px;")},styles:[".chart-container[_ngcontent-%COMP%]{position:relative;width:100%;overflow:hidden;border-radius:10px}"]});const oP=function(){return{showValue:!0}},sP=function(){return{showUnit:!0}};function gte(n,t){if(1&n&&(D(0,"div",1),xe(1,"app-line-chart",2),D(2,"div",3)(3,"span",4),I(4),R(5,"translate"),C(),D(6,"span",5)(7,"span",6),I(8),R(9,"autoScale"),C(),D(10,"span",7),I(11),R(12,"autoScale"),C()()()()),2&n){const e=z();d(1),w("data",e.trafficData.sentHistory),d(3),oe(B(5,4,"common.uploaded")),d(4),oe(Pt(9,6,e.trafficData.totalSent,Un(12,oP))),d(3),oe(Pt(12,9,e.trafficData.totalSent,Un(13,sP)))}}function bte(n,t){if(1&n&&(D(0,"div",1),xe(1,"app-line-chart",2),D(2,"div",3)(3,"span",4),I(4),R(5,"translate"),C(),D(6,"span",5)(7,"span",6),I(8),R(9,"autoScale"),C(),D(10,"span",7),I(11),R(12,"autoScale"),C()()()()),2&n){const e=z();d(1),w("data",e.trafficData.receivedHistory),d(3),oe(B(5,4,"common.downloaded")),d(4),oe(Pt(9,6,e.trafficData.totalReceived,Un(12,oP))),d(3),oe(Pt(12,9,e.trafficData.totalReceived,Un(13,sP)))}}class lp{}function vte(n,t){if(1&n&&(D(0,"span",4)(1,"span",5),I(2),R(3,"translate"),C(),xe(4,"app-copy-to-clipboard-text",9),C()),2&n){const e=z(2);d(2),me("",B(3,2,"node.details.node-info.public-ip")," "),d(2),Dn("text",e.node.publicIp)}}function yte(n,t){if(1&n&&(D(0,"span",4)(1,"span",5),I(2),R(3,"translate"),C(),xe(4,"app-copy-to-clipboard-text",9),C()),2&n){const e=z(2);d(2),me("",B(3,2,"node.details.node-info.ip")," "),d(2),Dn("text",e.node.ip)}}function Mte(n,t){if(1&n&&(D(0,"span",4)(1,"span",5),I(2),R(3,"translate"),C(),I(4),C()),2&n){const e=z(2);d(2),me("",B(3,2,"node.details.node-info.skybian-version")," "),d(2),me(" ",e.node.skybianBuildVersion," ")}}lp.\u0275fac=function(t){return new(t||lp)},lp.\u0275cmp=qe({type:lp,selectors:[["app-charts"]],inputs:{trafficData:"trafficData"},decls:2,vars:2,consts:[["class","small-rounded-elevated-box chart",4,"ngIf"],[1,"small-rounded-elevated-box","chart"],[3,"data"],[1,"info"],[1,"text"],[1,"rate"],[1,"value"],[1,"unit"]],template:function(t,e){1&t&&(j(0,gte,13,14,"div",0),j(1,bte,13,14,"div",0)),2&t&&(w("ngIf",e.trafficData),d(1),w("ngIf",e.trafficData))},dependencies:[Ot,Fs,Ct,ir],styles:[".chart[_ngcontent-%COMP%]{position:relative;margin-bottom:20px}.chart[_ngcontent-%COMP%]:last-child{margin-bottom:10px}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{position:absolute;bottom:0;left:0;display:flex;justify-content:space-between;align-items:flex-end;padding:10px;width:100%}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#f8f9f9}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] span.text[_ngcontent-%COMP%]{font-size:.8rem;text-transform:uppercase;font-weight:700}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] span.rate[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:700}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] span.rate[_ngcontent-%COMP%] .unit[_ngcontent-%COMP%]{font-size:.8rem;padding-left:5px}"]});const nM=function(n){return{time:n}};function wte(n,t){if(1&n&&(D(0,"mat-icon",16),R(1,"translate"),I(2," info "),C()),2&n){const e=z(2);w("inline",!0)("matTooltip",Pt(1,2,"node.details.node-info.time.minutes",Ve(5,nM,e.timeOnline.totalMinutes)))}}function xte(n,t){if(1&n&&($e(0),xe(1,"app-copy-to-clipboard-text",18),D(2,"a",19)(3,"mat-icon",20),R(4,"translate"),I(5," open_in_browser "),C()(),Ge()),2&n){const e=z(2);d(1),Dn("text",e.node.rewardsAddress),d(1),w("href","https://explorer.skycoin.com/app/address/"+e.node.rewardsAddress,_s),d(1),w("inline",!0)("matTooltip",B(4,4,"node.details.rewards-info.open-in-explorer"))}}function Cte(n,t){1&n&&($e(0),I(1),R(2,"translate"),D(3,"mat-icon",16),R(4,"translate"),I(5,"info"),C(),Ge()),2&n&&(d(1),me(" ",B(2,3,"node.details.rewards-info.not-registered")," "),d(2),w("inline",!0)("matTooltip",B(4,5,"node.details.rewards-info.not-registered-info")))}function kte(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),me(" ",B(2,1,"node.details.rewards-info.change-address-button")," "))}function Ste(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),me(" ",B(2,1,"node.details.rewards-info.set-address-button")," "))}function Dte(n,t){if(1&n){const e=tt();D(0,"div",1)(1,"div",2)(2,"span",3),I(3),R(4,"translate"),C(),D(5,"span",4)(6,"span",5),I(7),R(8,"translate"),C(),D(9,"span",6),ye("click",function(){return Pe(e),Oe(z().showEditLabelDialog())}),D(10,"span",7),I(11),C(),D(12,"mat-icon",8),I(13,"edit"),C()()(),D(14,"span",4)(15,"span",5),I(16),R(17,"translate"),C(),xe(18,"app-copy-to-clipboard-text",9),C(),D(19,"span",4)(20,"span",5),I(21),R(22,"translate"),C(),I(23),R(24,"translate"),C(),j(25,vte,5,4,"span",10),j(26,yte,5,4,"span",10),D(27,"span",4)(28,"span",5),I(29),R(30,"translate"),C(),xe(31,"app-copy-to-clipboard-text",9),C(),D(32,"span",4)(33,"span",5),I(34),R(35,"translate"),C(),I(36),R(37,"translate"),C(),D(38,"span",4)(39,"span",5),I(40),R(41,"translate"),C(),I(42),R(43,"translate"),C(),D(44,"span",4)(45,"span",5),I(46),R(47,"translate"),C(),I(48),R(49,"translate"),C(),j(50,Mte,5,4,"span",10),D(51,"span",4)(52,"span",5),I(53),R(54,"translate"),C(),I(55),R(56,"translate"),j(57,wte,3,7,"mat-icon",11),C()(),xe(58,"div",12),D(59,"div",2)(60,"span",3),I(61),R(62,"translate"),C(),D(63,"span",4)(64,"span",5),I(65),R(66,"translate"),C(),j(67,xte,6,6,"ng-container",13),j(68,Cte,6,7,"ng-container",13),C(),D(69,"div",14)(70,"app-button",15),ye("action",function(){return Pe(e),Oe(z().changeRewardsAddressConfig())}),j(71,kte,3,3,"ng-container",13),j(72,Ste,3,3,"ng-container",13),C()()(),xe(73,"div",12),D(74,"div",2)(75,"span",3),I(76),R(77,"translate"),C(),D(78,"span",4)(79,"span",5),I(80),R(81,"translate"),C(),I(82),R(83,"translate"),D(84,"mat-icon",16),R(85,"translate"),I(86,"info"),C()(),D(87,"div",14)(88,"app-button",15),ye("action",function(){return Pe(e),Oe(z().changeTransportsConfig())}),I(89),R(90,"translate"),C()()(),xe(91,"div",12),D(92,"div",2)(93,"span",3),I(94),R(95,"translate"),C(),D(96,"span",4)(97,"span",5),I(98),R(99,"translate"),C(),I(100),C(),D(101,"div",14)(102,"app-button",15),ye("action",function(){return Pe(e),Oe(z().changeRouterConfig())}),I(103),R(104,"translate"),C()()(),xe(105,"div",12),D(106,"div",2)(107,"span",3),I(108),R(109,"translate"),C(),D(110,"span",4)(111,"span",5),I(112),R(113,"translate"),C(),xe(114,"i"),I(115),R(116,"translate"),C()(),xe(117,"div",12),D(118,"div",2)(119,"span",3),I(120),R(121,"translate"),C(),xe(122,"app-charts",17),C()()}if(2&n){const e=z();d(3),oe(B(4,48,"node.details.node-info.title")),d(4),me("",B(8,50,"node.details.node-info.label")," "),d(4),oe(e.node.label),d(1),w("inline",!0),d(4),me("",B(17,52,"node.details.node-info.public-key")," "),d(2),Dn("text",e.node.localPk),d(3),me("",B(22,54,"node.details.node-info.symmetic-nat")," "),d(2),me(" ",B(24,56,e.node.isSymmeticNat?"common.yes":"common.no")," "),d(2),w("ngIf",!e.node.isSymmeticNat),d(1),w("ngIf",e.node.ip),d(3),me("",B(30,58,"node.details.node-info.dmsg-server")," "),d(2),Dn("text",e.node.dmsgServerPk),d(3),me("",B(35,60,"node.details.node-info.ping")," "),d(2),me(" ",Pt(37,62,"common.time-in-ms",Ve(106,nM,e.node.roundTripPing))," "),d(4),me("",B(41,65,"node.details.node-info.node-version")," "),d(2),me(" ",e.node.version?e.node.version:B(43,67,"common.unknown")," "),d(4),me("",B(47,69,"node.details.node-info.build-type")," "),d(2),me(" ",e.node.buildTag?e.node.buildTag:B(49,71,"node.details.node-info.unknown-build")," "),d(2),w("ngIf",e.node.skybianBuildVersion),d(3),me("",B(54,73,"node.details.node-info.time.title")," "),d(2),me(" ",Pt(56,75,"node.details.node-info.time."+e.timeOnline.translationVarName,Ve(108,nM,e.timeOnline.elapsedTime))," "),d(2),w("ngIf",e.timeOnline.totalMinutes>60),d(4),oe(B(62,78,"node.details.rewards-info.title")),d(4),me("",B(66,80,"node.details.rewards-info.rewards-address")," "),d(2),w("ngIf",e.node.rewardsAddress),d(1),w("ngIf",!e.node.rewardsAddress),d(2),w("forDarkBackground",!0),d(1),w("ngIf",e.node.rewardsAddress),d(1),w("ngIf",!e.node.rewardsAddress),d(4),oe(B(77,82,"node.details.transports-info.title")),d(4),me("",B(81,84,"node.details.transports-info.autoconnect")," "),d(2),me(" ",B(83,86,"node.details.transports-info."+(e.node.autoconnectTransports?"enabled":"disabled"))," "),d(2),w("inline",!0)("matTooltip",B(85,88,"node.details.transports-info.autoconnect-info")),d(4),w("forDarkBackground",!0),d(1),me(" ",B(90,90,"node.details.transports-info."+(e.node.autoconnectTransports?"disable":"enable")+"-button")," "),d(5),oe(B(95,92,"node.details.router-info.title")),d(4),me("",B(99,94,"node.details.router-info.min-hops")," "),d(2),me(" ",e.node.minHops," "),d(2),w("forDarkBackground",!0),d(1),me(" ",B(104,96,"node.details.router-info.change-config-button")," "),d(5),me("",B(109,98,"node.details.node-health.title")," "),d(4),oe(B(113,100,"node.details.node-health.uptime-tracker")),d(2),fo(e.nodeHealthClass),d(1),me(" ",B(116,102,e.nodeHealthText)," "),d(5),oe(B(121,104,"node.details.node-traffic-data")),d(2),w("trafficData",e.trafficData)}}class Su{constructor(t,e,i,o){this.dialog=t,this.storageService=e,this.transportService=i,this.snackbarService=o}set nodeInfo(t){this.node=t,this.timeOnline=II.getElapsedTime(t.secondsOnline),t.health&&t.health.servicesHealth===ss.Healthy?(this.nodeHealthText="node.statuses.online",this.nodeHealthClass="dot-green"):t.health&&t.health.servicesHealth===ss.Unhealthy?(this.nodeHealthText="node.statuses.partially-online",this.nodeHealthClass="dot-yellow blinking"):t.health&&t.health.servicesHealth===ss.Connecting?(this.nodeHealthText="node.statuses.connecting",this.nodeHealthClass="dot-outline-gray"):(this.nodeHealthText="node.statuses.unknown",this.nodeHealthClass="dot-outline-gray")}ngOnDestroy(){this.autoconnectSubscription&&this.autoconnectSubscription.unsubscribe()}showEditLabelDialog(){let t=this.storageService.getLabelInfo(this.node.localPk);t||(t={id:this.node.localPk,label:"",identifiedElementType:yr.Node}),fa.openDialog(this.dialog,t).afterClosed().subscribe(e=>{e&&Je.refreshCurrentDisplayedData()})}changeRewardsAddressConfig(){kc.openDialog(this.dialog,{nodePk:this.node.localPk,currentAddress:this.node.rewardsAddress}).afterClosed().subscribe(e=>{e&&Je.refreshCurrentDisplayedData()})}changeRouterConfig(){fl.openDialog(this.dialog,{nodePk:this.node.localPk,minHops:this.node.minHops}).afterClosed().subscribe(e=>{e&&Je.refreshCurrentDisplayedData()})}changeTransportsConfig(){const t=Wt.createConfirmationDialog(this.dialog,this.node.autoconnectTransports?"node.details.transports-info.disable-confirmation":"node.details.transports-info.enable-confirmation");t.componentInstance.operationAccepted.subscribe(()=>{t.componentInstance.showProcessing();const e=this.transportService.changeAutoconnectSetting(this.node.localPk,!this.node.autoconnectTransports);this.autoconnectSubscription=e.subscribe(()=>{t.close(),this.snackbarService.showDone(this.node.autoconnectTransports?"node.details.transports-info.disable-done":"node.details.transports-info.enable-done"),Je.refreshCurrentDisplayedData()},i=>{i=Qt(i),t.componentInstance.showDone("confirmation.error-header-text",i.translatableErrorMsg)})})}}Su.\u0275fac=function(t){return new(t||Su)(F(Fn),F(ti),F(hl),F(cn))},Su.\u0275cmp=qe({type:Su,selectors:[["app-node-info-content"]],inputs:{nodeInfo:"nodeInfo",trafficData:"trafficData"},decls:1,vars:1,consts:[["class","font-smaller d-flex flex-column mt-4.5",4,"ngIf"],[1,"font-smaller","d-flex","flex-column","mt-4.5"],[1,"d-flex","flex-column"],[1,"section-title"],[1,"info-line"],[1,"title"],[1,"highlight-internal-icon",3,"click"],[1,"text-with-small-right-margin"],[1,"edit-icon",3,"inline"],[3,"text"],["class","info-line",4,"ngIf"],[3,"inline","matTooltip",4,"ngIf"],[1,"separator"],[4,"ngIf"],[1,"config-button-container"],["color","primary",3,"forDarkBackground","action"],[3,"inline","matTooltip"],[1,"d-flex","flex-column","justify-content-end","mt-3",3,"trafficData"],[1,"text-with-right-margin",3,"text"],["target","_blank","rel","noreferrer nofollow noopener",3,"href"],[1,"link-icon","transparent-button",3,"inline","matTooltip"]],template:function(t,e){1&t&&j(0,Dte,123,110,"div",0),2&t&&w("ngIf",e.node)},dependencies:[Ot,Cn,gi,Sc,ii,lp,Ct],styles:[".section-title[_ngcontent-%COMP%]{font-size:1rem;font-weight:700;text-transform:uppercase}.info-line[_ngcontent-%COMP%]{word-break:break-word;margin-top:7px}.info-line[_ngcontent-%COMP%] .text-with-right-margin[_ngcontent-%COMP%]{margin-right:5px}.info-line[_ngcontent-%COMP%] .text-with-small-right-margin[_ngcontent-%COMP%]{margin-right:3px}.info-line[_ngcontent-%COMP%] .link-icon[_ngcontent-%COMP%]{font-size:20px;line-height:1;color:#fff!important;cursor:pointer}.info-line[_ngcontent-%COMP%] .edit-icon[_ngcontent-%COMP%]{display:inline!important}.info-line[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:3px;-webkit-user-select:none;user-select:none}.info-line[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-left:7px}.info-line[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{opacity:.75}.separator[_ngcontent-%COMP%]{width:100%;height:0px;margin:1rem 0;border-top:1px solid rgba(255,255,255,.15)}.config-button-container[_ngcontent-%COMP%]{margin-top:10px;margin-left:-4px}"]});class cp{ngOnInit(){this.nodeSubscription=Je.currentNode.subscribe(t=>{this.node=t}),this.trafficDataSubscription=Je.currentTrafficData.subscribe(t=>{this.trafficData=t})}ngOnDestroy(){this.nodeSubscription.unsubscribe(),this.trafficDataSubscription.unsubscribe()}}cp.\u0275fac=function(t){return new(t||cp)},cp.\u0275cmp=qe({type:cp,selectors:[["app-node-info"]],decls:1,vars:2,consts:[[3,"nodeInfo","trafficData"]],template:function(t,e){1&t&&xe(0,"app-node-info-content",0),2&t&&w("nodeInfo",e.node)("trafficData",e.trafficData)},dependencies:[Su]});const Tte=function(){return["settings.title","labels.title"]};class dp{constructor(t){this.router=t,this.tabsData=[],this.returnButtonText="settings.title",this.tabsData=[{icon:"view_headline",label:"labels.list-title",linkParts:[]}]}performAction(t){null===t&&this.router.navigate(["settings"])}}dp.\u0275fac=function(t){return new(t||dp)(F(Xt))},dp.\u0275cmp=qe({type:dp,selectors:[["app-all-labels"]],decls:5,vars:6,consts:[[1,"row"],[1,"col-12"],[3,"titleParts","tabsData","showUpdateButton","returnText","optionSelected"],[1,"content","col-12"],[3,"showShortList"]],template:function(t,e){1&t&&(D(0,"div",0)(1,"div",1)(2,"app-top-bar",2),ye("optionSelected",function(o){return e.performAction(o)}),C()(),D(3,"div",3),xe(4,"app-label-list",4),C()()),2&t&&(d(2),w("titleParts",Un(5,Tte))("tabsData",e.tabsData)("showUpdateButton",!1)("returnText",e.returnButtonText),d(2),w("showShortList",!1))},dependencies:[as,Mu]});const Lte=["firstInput"];function Ete(n,t){1&n&&($e(0),D(1,"span"),I(2),R(3,"translate"),C(),Ge()),2&n&&(d(2),oe(B(3,1,"vpn.server-list.add-server-dialog.pk-length-error")))}function Ite(n,t){1&n&&(D(0,"span"),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"vpn.server-list.add-server-dialog.pk-chars-error")))}class Dc{constructor(t,e,i,o,s,a,l,c){this.dialogRef=t,this.data=e,this.formBuilder=i,this.dialog=o,this.router=s,this.vpnClientService=a,this.vpnSavedDataService=l,this.snackbarService=c}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.mediumModalWidth,t.open(Dc,i)}ngOnInit(){this.form=this.formBuilder.group({pk:["",Vt.compose([Vt.required,Vt.minLength(66),Vt.maxLength(66),Vt.pattern("^[0-9a-fA-F]+$")])],password:[""],name:[""],note:[""]}),setTimeout(()=>this.firstInput.nativeElement.focus())}process(){if(!this.form.valid)return;const t={pk:this.form.get("pk").value,name:this.form.get("name").value,note:this.form.get("note").value};fn.processServerChange(this.router,this.vpnClientService,this.vpnSavedDataService,this.snackbarService,this.dialog,this.dialogRef,this.data,null,null,t,this.form.get("password").value)}}Dc.\u0275fac=function(t){return new(t||Dc)(F(Vn),F(Si),F(xr),F(Fn),F(Xt),F(Ho),F(Bo),F(cn))},Dc.\u0275cmp=qe({type:Dc,selectors:[["app-add-vpn-server"]],viewQuery:function(t,e){if(1&t&&ft(Lte,5),2&t){let i;nt(i=it())&&(e.firstInput=i.first)}},decls:35,vars:23,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","pk","maxlength","66","matInput",""],["firstInput",""],[4,"ngIf","ngIfElse"],["hexError",""],["formControlName","password","type","password","matInput",""],["formControlName","name","maxlength","100","matInput",""],["formControlName","note","maxlength","100","matInput",""],["color","primary",1,"float-right",3,"disabled","action"]],template:function(t,e){if(1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C(),D(10,"mat-error"),j(11,Ete,4,3,"ng-container",6),C(),j(12,Ite,3,3,"ng-template",null,7,Ms),C(),D(14,"mat-form-field")(15,"div",2)(16,"label",3),I(17),R(18,"translate"),C(),xe(19,"input",8),C()(),D(20,"mat-form-field")(21,"div",2)(22,"label",3),I(23),R(24,"translate"),C(),xe(25,"input",9),C()(),D(26,"mat-form-field")(27,"div",2)(28,"label",3),I(29),R(30,"translate"),C(),xe(31,"input",10),C()()(),D(32,"app-button",11),ye("action",function(){return e.process()}),I(33),R(34,"translate"),C()()),2&t){const i=li(13);w("headline",B(1,11,"vpn.server-list.add-server-dialog.title"))("dialog",e.dialogRef),d(2),w("formGroup",e.form),d(4),oe(B(7,13,"vpn.server-list.add-server-dialog.pk-label")),d(5),w("ngIf",!e.form.get("pk").hasError("pattern"))("ngIfElse",i),d(6),oe(B(18,15,"vpn.server-list.add-server-dialog.password-label")),d(6),oe(B(24,17,"vpn.server-list.add-server-dialog.name-label")),d(6),oe(B(30,19,"vpn.server-list.add-server-dialog.note-label")),d(3),w("disabled",!e.form.valid),d(1),me(" ",B(34,21,"vpn.server-list.add-server-dialog.use-server-button")," ")}},dependencies:[Ot,Yi,Fi,Ri,Ni,wr,ni,Di,tr,sl,Cr,ii,Rn,Ct]});class Pte{constructor(){this.countryCode="ZZ"}}class Du{constructor(t){this.http=t,this.discoveryServiceUrl="https://sd.skycoin.com/api/services?type=vpn"}getServers(){return this.servers?We(this.servers):this.http.get(this.discoveryServiceUrl).pipe(Qf(t=>t.pipe(Ai(4e3))),Ce(t=>{const e=[];return t.forEach(i=>{const o=new Pte,s=i.address.split(":");2===s.length&&(o.pk=s[0],o.location="",i.geo&&(i.geo.country&&(o.countryCode=i.geo.country),i.geo.region&&(o.location=i.geo.region)),o.name=s[0],o.note="",e.push(o))}),this.servers=e,e}))}}function Ote(n,t){1&n&&Xo(0)}Du.\u0275fac=function(t){return new(t||Du)(we($l))},Du.\u0275prov=Ye({token:Du,factory:Du.\u0275fac,providedIn:"root"});const aP=function(){return["vpn.title"]};function Ate(n,t){if(1&n&&(D(0,"div",3)(1,"div",4),xe(2,"app-top-bar",5),D(3,"div",6)(4,"div",7)(5,"div",8),j(6,Ote,1,0,"ng-container",9),C()()()(),xe(7,"app-loading-indicator",10),C()),2&n){const e=z(),i=li(2);d(2),w("titleParts",Un(6,aP))("tabsData",e.tabsData)("selectedTabIndex",1)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk),d(4),w("ngTemplateOutlet",i)}}function Fte(n,t){1&n&&(D(0,"div",22)(1,"span"),I(2),R(3,"translate"),C()()),2&n&&(d(2),oe(B(3,1,"vpn.server-list.tabs.public")))}const Rg=function(n,t){return["/vpn",n,"servers",t,1]};function Rte(n,t){if(1&n&&(D(0,"a",23)(1,"span"),I(2),R(3,"translate"),C()()),2&n){const e=z(2);w("routerLink",ln(4,Rg,e.currentLocalPk,e.lists.Public)),d(2),oe(B(3,2,"vpn.server-list.tabs.public"))}}function Nte(n,t){1&n&&(D(0,"div",22)(1,"span"),I(2),R(3,"translate"),C()()),2&n&&(d(2),oe(B(3,1,"vpn.server-list.tabs.history")))}function Yte(n,t){if(1&n&&(D(0,"a",23)(1,"span"),I(2),R(3,"translate"),C()()),2&n){const e=z(2);w("routerLink",ln(4,Rg,e.currentLocalPk,e.lists.History)),d(2),oe(B(3,2,"vpn.server-list.tabs.history"))}}function Bte(n,t){1&n&&(D(0,"div",22)(1,"span"),I(2),R(3,"translate"),C()()),2&n&&(d(2),oe(B(3,1,"vpn.server-list.tabs.favorites")))}function Hte(n,t){if(1&n&&(D(0,"a",23)(1,"span"),I(2),R(3,"translate"),C()()),2&n){const e=z(2);w("routerLink",ln(4,Rg,e.currentLocalPk,e.lists.Favorites)),d(2),oe(B(3,2,"vpn.server-list.tabs.favorites"))}}function Vte(n,t){1&n&&(D(0,"div",22)(1,"span"),I(2),R(3,"translate"),C()()),2&n&&(d(2),oe(B(3,1,"vpn.server-list.tabs.blocked")))}function jte(n,t){if(1&n&&(D(0,"a",23)(1,"span"),I(2),R(3,"translate"),C()()),2&n){const e=z(2);w("routerLink",ln(4,Rg,e.currentLocalPk,e.lists.Blocked)),d(2),oe(B(3,2,"vpn.server-list.tabs.blocked"))}}function zte(n,t){1&n&&xe(0,"br")}function Ute(n,t){if(1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n){const e=z().$implicit;d(1),oe(B(2,1,e.translatableValue))}}function Wte(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z().$implicit;d(1),oe(e.value)}}function $te(n,t){if(1&n&&(D(0,"div",28)(1,"span"),I(2),R(3,"translate"),C(),j(4,Ute,3,3,"ng-container",21),j(5,Wte,2,1,"ng-container",21),C()),2&n){const e=t.$implicit;d(2),me("",B(3,3,e.filterName),": "),d(2),w("ngIf",e.translatableValue),d(1),w("ngIf",e.value)}}function Gte(n,t){if(1&n){const e=tt();D(0,"div",25),ye("click",function(){return Pe(e),Oe(z(3).dataFilterer.removeFilters())}),D(1,"div",26)(2,"mat-icon",19),I(3,"search"),C(),I(4),R(5,"translate"),C(),j(6,$te,6,5,"div",27),C()}if(2&n){const e=z(3);d(2),w("inline",!0),d(2),me(" ",B(5,3,"vpn.server-list.current-filters"),""),d(2),w("ngForOf",e.dataFilterer.currentFiltersTexts)}}function qte(n,t){if(1&n&&($e(0),j(1,zte,1,0,"br",21),j(2,Gte,7,5,"div",24),Ge()),2&n){const e=z(2);d(1),w("ngIf",e.dataFilterer.currentFiltersTexts&&e.dataFilterer.currentFiltersTexts.length>0),d(1),w("ngIf",e.dataFilterer.currentFiltersTexts&&e.dataFilterer.currentFiltersTexts.length>0)}}const Kte=function(n){return{deactivated:n}};function Zte(n,t){if(1&n){const e=tt();D(0,"div",11)(1,"div",12)(2,"div",13)(3,"div",14),j(4,Fte,4,3,"div",15),j(5,Rte,4,7,"a",16),j(6,Nte,4,3,"div",15),j(7,Yte,4,7,"a",16),j(8,Bte,4,3,"div",15),j(9,Hte,4,7,"a",16),j(10,Vte,4,3,"div",15),j(11,jte,4,7,"a",16),C()()()(),D(12,"div",17)(13,"div",12)(14,"div",13)(15,"div",14)(16,"div",18),ye("click",function(){Pe(e);const o=z();return Oe(o.dataFilterer?o.dataFilterer.changeFilters():null)}),R(17,"translate"),D(18,"span")(19,"mat-icon",19),I(20,"search"),C()()()()()()(),D(21,"div",20)(22,"div",12)(23,"div",13)(24,"div",14)(25,"div",18),ye("click",function(){return Pe(e),Oe(z().enterManually())}),R(26,"translate"),D(27,"span")(28,"mat-icon",19),I(29,"add"),C()()()()()()(),j(30,qte,3,2,"ng-container",21)}if(2&n){const e=z();d(4),w("ngIf",e.currentList===e.lists.Public),d(1),w("ngIf",e.currentList!==e.lists.Public),d(1),w("ngIf",e.currentList===e.lists.History),d(1),w("ngIf",e.currentList!==e.lists.History),d(1),w("ngIf",e.currentList===e.lists.Favorites),d(1),w("ngIf",e.currentList!==e.lists.Favorites),d(1),w("ngIf",e.currentList===e.lists.Blocked),d(1),w("ngIf",e.currentList!==e.lists.Blocked),d(1),w("ngClass",Ve(18,Kte,e.loading)),d(4),w("matTooltip",B(17,14,"filters.filter-info")),d(3),w("inline",!0),d(6),w("matTooltip",B(26,16,"vpn.server-list.add-manually-info")),d(3),w("inline",!0),d(2),w("ngIf",e.dataFilterer)}}function Xte(n,t){1&n&&Xo(0)}function Qte(n,t){if(1&n&&(D(0,"mat-icon",19),I(1),C()),2&n){const e=z(5);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function Jte(n,t){if(1&n){const e=tt();D(0,"th",50),ye("click",function(){Pe(e);const o=z(4);return Oe(o.dataSorter.changeSortingOrder(o.dateSortData))}),R(1,"translate"),D(2,"div",43)(3,"div",44),I(4),R(5,"translate"),C(),j(6,Qte,2,2,"mat-icon",41),C()()}if(2&n){const e=z(4);w("matTooltip",B(1,3,"vpn.server-list.date-info")),d(4),me(" ",B(5,5,"vpn.server-list.date-small-table-label")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.dateSortData)}}function ene(n,t){if(1&n&&(D(0,"mat-icon",19),I(1),C()),2&n){const e=z(4);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function tne(n,t){if(1&n&&(D(0,"mat-icon",19),I(1),C()),2&n){const e=z(4);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function nne(n,t){if(1&n&&(D(0,"mat-icon",19),I(1),C()),2&n){const e=z(4);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function ine(n,t){if(1&n&&(D(0,"mat-icon",19),I(1),C()),2&n){const e=z(4);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function rne(n,t){if(1&n&&(D(0,"mat-icon",19),I(1),C()),2&n){const e=z(4);w("inline",!0),d(1),oe(e.dataSorter.sortingArrow)}}function one(n,t){if(1&n&&(D(0,"td",64),I(1),R(2,"date"),C()),2&n){const e=z().$implicit;d(1),me(" ",Pt(2,1,e.lastUsed,"yyyy/MM/dd, H:mm a")," ")}}function sne(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z().$implicit;d(1),me(" ",e.location," ")}}function ane(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),me(" ",B(2,1,"vpn.server-list.unknown")," "))}const lne=function(n,t){return{custom:n,original:t}};function cne(n,t){if(1&n&&(D(0,"mat-icon",65),ye("click",function(i){return i.stopPropagation()}),R(1,"translate"),I(2,"info_outline"),C()),2&n){const e=z().$implicit,i=z(4);w("inline",!0)("matTooltip",Pt(1,2,i.getNoteVar(e),ln(5,lne,e.personalNote,e.note)))}}const dne=function(n){return{"selectable click-effect":n}};function une(n,t){if(1&n){const e=tt();D(0,"tr",51),ye("click",function(){const s=Pe(e).$implicit,a=z(4);return Oe(a.currentList!==a.lists.Blocked?a.selectServer(s):null)}),j(1,one,3,4,"td",52),D(2,"td",53)(3,"div",54),xe(4,"div",55),C()(),D(5,"td",56),xe(6,"app-vpn-server-name",57),C(),D(7,"td",58),j(8,sne,2,1,"ng-container",21),j(9,ane,3,3,"ng-container",21),C(),D(10,"td",59)(11,"app-copy-to-clipboard-text",60),ye("click",function(o){return o.stopPropagation()}),C()(),D(12,"td",61),j(13,cne,3,8,"mat-icon",62),C(),D(14,"td",48)(15,"button",63),ye("click",function(o){const a=Pe(e).$implicit,l=z(4);return o.stopPropagation(),Oe(l.openOptions(a))}),R(16,"translate"),D(17,"mat-icon",19),I(18,"settings"),C()()()()}if(2&n){const e=t.$implicit,i=z(4);w("ngClass",Ve(23,dne,i.currentList!==i.lists.Blocked)),d(1),w("ngIf",i.currentList===i.lists.History),d(3),ci("background-image: url('assets/img/big-flags/"+e.countryCode.toLocaleLowerCase()+".png');"),w("matTooltip",i.getCountryName(e.countryCode)),d(2),w("isCurrentServer",i.currentServer&&e.pk===i.currentServer.pk)("isFavorite",e.flag===i.serverFlags.Favorite&&i.currentList!==i.lists.Favorites)("isBlocked",e.flag===i.serverFlags.Blocked&&i.currentList!==i.lists.Blocked)("isInHistory",e.inHistory&&i.currentList!==i.lists.History)("hasPassword",e.usedWithPassword)("name",e.name)("pk",e.pk)("customName",e.customName)("defaultName","vpn.server-list.none"),d(2),w("ngIf",e.location),d(1),w("ngIf",!e.location),d(2),w("shortSimple",!0)("text",e.pk),d(2),w("ngIf",e.note||e.personalNote),d(2),w("matTooltip",B(16,21,"vpn.server-options.tooltip")),d(2),w("inline",!0)}}const hne=function(n,t){return{"public-pk-column":n,"history-pk-column":t}};function fne(n,t){if(1&n){const e=tt();D(0,"table",38)(1,"tr"),j(2,Jte,7,7,"th",39),D(3,"th",40),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.countrySortData))}),R(4,"translate"),D(5,"mat-icon",19),I(6,"flag"),C(),j(7,ene,2,2,"mat-icon",41),C(),D(8,"th",42),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.nameSortData))}),D(9,"div",43)(10,"div",44),I(11),R(12,"translate"),C(),j(13,tne,2,2,"mat-icon",41),C()(),D(14,"th",45),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.locationSortData))}),D(15,"div",43)(16,"div",44),I(17),R(18,"translate"),C(),j(19,nne,2,2,"mat-icon",41),C()(),D(20,"th",46),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.pkSortData))}),R(21,"translate"),D(22,"div",43)(23,"div",44),I(24),R(25,"translate"),C(),j(26,ine,2,2,"mat-icon",41),C()(),D(27,"th",47),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.noteSortData))}),R(28,"translate"),D(29,"div",43)(30,"mat-icon",19),I(31,"info_outline"),C(),j(32,rne,2,2,"mat-icon",41),C()(),xe(33,"th",48),C(),j(34,une,19,25,"tr",49),C()}if(2&n){const e=z(3);d(2),w("ngIf",e.currentList===e.lists.History),d(1),w("matTooltip",B(4,16,"vpn.server-list.country-info")),d(2),w("inline",!0),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.countrySortData),d(4),me(" ",B(12,18,"vpn.server-list.name-small-table-label")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.nameSortData),d(4),me(" ",B(18,20,"vpn.server-list.location-small-table-label")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.locationSortData),d(1),w("ngClass",ln(28,hne,e.currentList===e.lists.Public,e.currentList===e.lists.History))("matTooltip",B(21,22,"vpn.server-list.public-key-info")),d(4),me(" ",B(25,24,"vpn.server-list.public-key-small-table-label")," "),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.pkSortData),d(1),w("matTooltip",B(28,26,"vpn.server-list.note-info")),d(3),w("inline",!0),d(2),w("ngIf",e.dataSorter.currentSortingColumn===e.noteSortData),d(2),w("ngForOf",e.dataSource)}}function pne(n,t){if(1&n&&(D(0,"div",35)(1,"div",36),j(2,fne,35,31,"table",37),C()()),2&n){const e=z(2);d(2),w("ngIf",e.dataSource.length>0)}}const mne=function(n,t){return["/vpn",n,"servers",t]};function _ne(n,t){if(1&n&&xe(0,"app-paginator",66),2&n){const e=z(2);w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",ln(4,mne,e.currentLocalPk,e.currentList))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function gne(n,t){1&n&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"vpn.server-list.empty-discovery")))}function bne(n,t){1&n&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"vpn.server-list.empty-history")))}function vne(n,t){1&n&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"vpn.server-list.empty-favorites")))}function yne(n,t){1&n&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"vpn.server-list.empty-blocked")))}function Mne(n,t){1&n&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&n&&(d(1),oe(B(2,1,"vpn.server-list.empty-with-filter")))}function wne(n,t){if(1&n&&(D(0,"div",35)(1,"div",67)(2,"mat-icon",68),I(3,"warning"),C(),j(4,gne,3,3,"span",69),j(5,bne,3,3,"span",69),j(6,vne,3,3,"span",69),j(7,yne,3,3,"span",69),j(8,Mne,3,3,"span",69),C()()),2&n){const e=z(2);d(2),w("inline",!0),d(2),w("ngIf",0===e.allServers.length&&e.currentList===e.lists.Public),d(1),w("ngIf",0===e.allServers.length&&e.currentList===e.lists.History),d(1),w("ngIf",0===e.allServers.length&&e.currentList===e.lists.Favorites),d(1),w("ngIf",0===e.allServers.length&&e.currentList===e.lists.Blocked),d(1),w("ngIf",0!==e.allServers.length)}}const xne=function(n){return{"mb-3":n}};function Cne(n,t){if(1&n&&(D(0,"div",29)(1,"div",30),xe(2,"app-top-bar",5),C(),D(3,"div",31)(4,"div",7)(5,"div",32),j(6,Xte,1,0,"ng-container",9),C(),j(7,pne,3,1,"div",33),j(8,_ne,1,7,"app-paginator",34),j(9,wne,9,6,"div",33),C()()()),2&n){const e=z(),i=li(2);d(2),w("titleParts",Un(10,aP))("tabsData",e.tabsData)("selectedTabIndex",1)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk),d(3),w("ngClass",Ve(11,xne,!e.dataFilterer.currentFiltersTexts||e.dataFilterer.currentFiltersTexts.length<1)),d(1),w("ngTemplateOutlet",i),d(1),w("ngIf",0!==e.dataSource.length),d(1),w("ngIf",e.numberOfPages>1),d(1),w("ngIf",0===e.dataSource.length)}}var Bi=(()=>(function(n){n.Public="public",n.History="history",n.Favorites="favorites",n.Blocked="blocked"}(Bi||(Bi={})),Bi))();class Tu{constructor(t,e,i,o,s,a,l,c,M){this.dialog=t,this.router=e,this.translateService=i,this.route=o,this.vpnClientDiscoveryService=s,this.vpnClientService=a,this.vpnSavedDataService=l,this.snackbarService=c,this.storageService=M,this.maxFullListElements=50,this.dateSortData=new Nn(["lastUsed"],"vpn.server-list.date-small-table-label",Jt.NumberReversed),this.countrySortData=new Nn(["countryName"],"vpn.server-list.country-small-table-label",Jt.Text),this.nameSortData=new Nn(["name"],"vpn.server-list.name-small-table-label",Jt.Text),this.locationSortData=new Nn(["location"],"vpn.server-list.location-small-table-label",Jt.Text),this.pkSortData=new Nn(["pk"],"vpn.server-list.public-key-small-table-label",Jt.Text),this.noteSortData=new Nn(["note"],"vpn.server-list.note-small-table-label",Jt.Text),this.loading=!0,this.loadingBackendData=!0,this.tabsData=fn.vpnTabsData,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.currentList=Bi.Public,this.vpnRunning=!1,this.serverFlags=Wn,this.lists=Bi,this.initialLoadStarted=!1,this.navigationsSubscription=o.paramMap.subscribe(P=>{if(P.has("type")?P.get("type")===Bi.Favorites?(this.currentList=Bi.Favorites,this.listId="vfs"):P.get("type")===Bi.Blocked?(this.currentList=Bi.Blocked,this.listId="vbs"):P.get("type")===Bi.History?(this.currentList=Bi.History,this.listId="vhs"):(this.currentList=Bi.Public,this.listId="vps"):(this.currentList=Bi.Public,this.listId="vps"),fn.setDefaultTabForServerList(this.currentList),P.has("key")&&(this.currentLocalPk=P.get("key"),fn.changeCurrentPk(this.currentLocalPk),this.tabsData=fn.vpnTabsData),P.has("page")){let Y=Number.parseInt(P.get("page"),10);(isNaN(Y)||Y<1)&&(Y=1),this.currentPageInUrl=Y,this.recalculateElementsToShow()}this.initialLoadStarted||(this.initialLoadStarted=!0,this.loadData())}),this.currentServerSubscription=this.vpnSavedDataService.currentServerObservable.subscribe(P=>this.currentServer=P),this.backendDataSubscription=this.vpnClientService.backendState.subscribe(P=>{P&&(this.loadingBackendData=!1,this.vpnRunning=P.vpnClientAppData.running)})}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.currentServerSubscription.unsubscribe(),this.backendDataSubscription.unsubscribe(),this.dataSortedSubscription&&this.dataSortedSubscription.unsubscribe(),this.dataFiltererSubscription&&this.dataFiltererSubscription.unsubscribe(),this.dataSubscription&&this.dataSubscription.unsubscribe(),this.dataFilterer&&this.dataFilterer.dispose(),this.dataSorter&&this.dataSorter.dispose()}enterManually(){Dc.openDialog(this.dialog,this.currentLocalPk)}getNoteVar(t){return t.note&&t.personalNote?"vpn.server-list.notes-info":!t.note&&t.personalNote?t.personalNote:t.note}selectServer(t){const e=this.vpnSavedDataService.getSavedVersion(t.pk,!0);if(this.snackbarService.closeCurrentIfTemporaryError(),e&&e.flag===Wn.Blocked)this.snackbarService.showError("vpn.starting-blocked-server-error",{},!0);else{if(this.currentServer&&this.currentServer.pk===t.pk){if(this.vpnRunning)this.snackbarService.showWarning("vpn.server-change.already-selected-warning");else{const i=Wt.createConfirmationDialog(this.dialog,"vpn.server-change.start-same-server-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.closeModal(),this.vpnClientService.start(),fn.redirectAfterServerChange(this.router,null,this.currentLocalPk)})}return}if(e&&e.usedWithPassword)return void dl.openDialog(this.dialog,!0).afterClosed().subscribe(i=>{i&&this.makeServerChange(t,"-"===i?null:i.substr(1))});this.makeServerChange(t,null)}}makeServerChange(t,e){fn.processServerChange(this.router,this.vpnClientService,this.vpnSavedDataService,this.snackbarService,this.dialog,null,this.currentLocalPk,t.originalLocalData,t.originalDiscoveryData,null,e)}openOptions(t){let e=this.vpnSavedDataService.getSavedVersion(t.pk,!0);e||(e=this.vpnSavedDataService.processFromDiscovery(t.originalDiscoveryData)),e?fn.openServerOptions(e,this.router,this.vpnSavedDataService,this.vpnClientService,this.snackbarService,this.dialog).subscribe(i=>{i&&this.processAllServers()}):this.snackbarService.showError("vpn.unexpedted-error")}loadData(){if(this.currentList===Bi.Public)this.dataSubscription=this.vpnClientDiscoveryService.getServers().subscribe(t=>{this.allServers=t.map(e=>({countryCode:e.countryCode,countryName:this.getCountryName(e.countryCode),name:e.name,customName:null,location:e.location,pk:e.pk,note:e.note,personalNote:null,originalDiscoveryData:e})),this.vpnSavedDataService.updateFromDiscovery(t),this.loading=!1,this.processAllServers()});else{let t;t=this.currentList===Bi.History?this.vpnSavedDataService.history:this.currentList===Bi.Favorites?this.vpnSavedDataService.favorites:this.vpnSavedDataService.blocked,this.dataSubscription=t.subscribe(e=>{const i=[];e.forEach(o=>{i.push({countryCode:o.countryCode,countryName:this.getCountryName(o.countryCode),name:o.name,customName:null,location:o.location,pk:o.pk,note:o.note,personalNote:null,lastUsed:o.lastUsed,inHistory:o.inHistory,flag:o.flag,originalLocalData:o})}),this.allServers=i,this.loading=!1,this.processAllServers()})}}processAllServers(){this.fillFilterPropertiesArray();const t=new Set;this.allServers.forEach((c,M)=>{t.add(c.countryCode);const P=this.vpnSavedDataService.getSavedVersion(c.pk,0===M);c.customName=P?P.customName:null,c.personalNote=P?P.personalNote:null,c.inHistory=!!P&&P.inHistory,c.flag=P?P.flag:Wn.None,c.enteredManually=!!P&&P.enteredManually,c.usedWithPassword=!!P&&P.usedWithPassword});let e=[];t.forEach(c=>{e.push({label:this.getCountryName(c),value:c,image:"/assets/img/big-flags/"+c.toLowerCase()+".png"})}),e.sort((c,M)=>c.label.localeCompare(M.label)),e=[{label:"vpn.server-list.filter-dialog.country-options.any",value:""}].concat(e),this.filterProperties=[{filterName:"vpn.server-list.filter-dialog.country",keyNameInElementsArray:"countryCode",type:Zn.Select,printableLabelsForValues:e,printableLabelGeneralSettings:{defaultImage:"/assets/img/big-flags/unknown.png",imageWidth:20,imageHeight:15}}].concat(this.filterProperties);const o=[];let s,a,l;this.currentList===Bi.Public?(o.push(this.countrySortData),o.push(this.nameSortData),o.push(this.locationSortData),o.push(this.pkSortData),o.push(this.noteSortData),s=0,a=1):(this.currentList===Bi.History&&o.push(this.dateSortData),o.push(this.countrySortData),o.push(this.nameSortData),o.push(this.locationSortData),o.push(this.pkSortData),o.push(this.noteSortData),s=this.currentList===Bi.History?0:1,a=this.currentList===Bi.History?2:3),this.dataSorter=new pu(this.dialog,this.translateService,this.storageService,o,s,this.listId),this.dataSorter.setTieBreakerColumnIndex(a),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataFilterer=new mu(this.dialog,this.route,this.router,this.filterProperties,this.listId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(c=>{this.filteredServers=c,this.dataSorter.setData(this.filteredServers)}),l=this.currentList===Bi.Public?this.allServers.filter(c=>c.flag!==Wn.Blocked):this.allServers,this.dataFilterer.setData(l)}fillFilterPropertiesArray(){this.filterProperties=[{filterName:"vpn.server-list.filter-dialog.name",keyNameInElementsArray:"name",secondaryKeyNameInElementsArray:"customName",type:Zn.TextInput,maxlength:100},{filterName:"vpn.server-list.filter-dialog.location",keyNameInElementsArray:"location",type:Zn.TextInput,maxlength:100},{filterName:"vpn.server-list.filter-dialog.public-key",keyNameInElementsArray:"pk",type:Zn.TextInput,maxlength:100}]}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredServers){const t=this.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredServers.length/t),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const e=t*(this.currentPage-1);this.serversToShow=this.filteredServers.slice(e,e+t)}else this.serversToShow=null;this.dataSource=this.serversToShow}getCountryName(t){return ga[t.toUpperCase()]?ga[t.toUpperCase()]:t}}function Sne(n){const{subscriber:t,counter:e,period:i}=n;t.next(e),this.schedule({subscriber:t,counter:e+1,period:i},i)}Tu.\u0275fac=function(t){return new(t||Tu)(F(Fn),F(Xt),F(no),F(vr),F(Du),F(Ho),F(Bo),F(cn),F(ti))},Tu.\u0275cmp=qe({type:Tu,selectors:[["app-vpn-server-list"]],decls:4,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["topPart",""],["class","row",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[1,"loading-top-container"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","localVpnKey"],[1,"main-container"],[1,"width-limiter"],[1,"center-container","mt-4.5"],[4,"ngTemplateOutlet"],[1,"h-100","loading-indicator"],[1,"option-bar-container"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","allow-overflow"],[1,"option-bar"],["class","text-option selected",4,"ngIf"],["class","text-option",3,"routerLink",4,"ngIf"],[1,"option-bar-container","option-bar-margin",3,"ngClass"],[1,"icon-option",3,"matTooltip","click"],[3,"inline"],[1,"option-bar-container","option-bar-margin"],[4,"ngIf"],[1,"text-option","selected"],[1,"text-option",3,"routerLink"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],[1,"transparent-50"],["class","item",4,"ngFor","ngForOf"],[1,"item"],[1,"row"],[1,"col-12"],[1,"col-12","vpn-table-container"],[1,"center-container","mt-4.5",3,"ngClass"],["class","rounded-elevated-box",4,"ngIf"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],[1,"rounded-elevated-box"],[1,"box-internal-container"],["class","responsive-table-translucid d-none d-md-table","cellspacing","0","cellpadding","0",4,"ngIf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table"],["class","sortable-column date-column click-effect",3,"matTooltip","click",4,"ngIf"],[1,"sortable-column","flag-column","center","click-effect",3,"matTooltip","click"],[3,"inline",4,"ngIf"],[1,"sortable-column","name-column","click-effect",3,"click"],[1,"header-container"],[1,"header-text"],[1,"sortable-column","location-column","click-effect",3,"click"],[1,"sortable-column","pk-column","click-effect",3,"ngClass","matTooltip","click"],[1,"sortable-column","note-column","center","click-effect",3,"matTooltip","click"],[1,"actions"],[3,"ngClass","click",4,"ngFor","ngForOf"],[1,"sortable-column","date-column","click-effect",3,"matTooltip","click"],[3,"ngClass","click"],["class","date-column",4,"ngIf"],[1,"flag-column","icon-fixer"],[1,"flag"],[3,"matTooltip"],[1,"name-column"],[3,"isCurrentServer","isFavorite","isBlocked","isInHistory","hasPassword","name","pk","customName","defaultName"],[1,"location-column"],[1,"pk-column","history-pk-column"],[1,"d-inline-block","w-100",3,"shortSimple","text","click"],[1,"center","note-column"],["class","note-icon",3,"inline","matTooltip","click",4,"ngIf"],["mat-button","",1,"big-action-button","transparent-button","vpn-small-button",3,"matTooltip","click"],[1,"date-column"],[1,"note-icon",3,"inline","matTooltip","click"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"box-internal-container","font-sm"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(t,e){1&t&&(j(0,Ate,8,7,"div",0),j(1,Zte,31,20,"ng-template",null,1,Ms),j(3,Cne,10,13,"div",2)),2&t&&(w("ngIf",e.loading||e.loadingBackendData),d(3),w("ngIf",!e.loading&&!e.loadingBackendData))},styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .header-container[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%], .note-column[_ngcontent-%COMP%], .pk-column[_ngcontent-%COMP%], .location-column[_ngcontent-%COMP%], .name-column[_ngcontent-%COMP%], .date-column[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}.center-container[_ngcontent-%COMP%]{text-align:center}.center-container[_ngcontent-%COMP%] app-paginator[_ngcontent-%COMP%]{display:inline-block}.loading-top-container[_ngcontent-%COMP%]{z-index:1}.loading-indicator[_ngcontent-%COMP%]{padding-top:30px;padding-bottom:20px}.deactivated[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}.option-bar-container[_ngcontent-%COMP%]{display:inline-block}.option-bar-container[_ngcontent-%COMP%] .allow-overflow[_ngcontent-%COMP%]{overflow:visible}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%]{display:flex;margin:-17px}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] > div[_ngcontent-%COMP%], .option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{height:55px;line-height:55px;cursor:pointer;color:#fff;text-decoration:none;-webkit-user-select:none;user-select:none}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:hover, .option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background:rgba(0,0,0,.2)}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] > .icon-option[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:inline-block}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] > .icon-option[_ngcontent-%COMP%]:active span[_ngcontent-%COMP%], .option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:active span[_ngcontent-%COMP%]{transform:scale(.95)}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] .text-option[_ngcontent-%COMP%]{padding:0 40px;font-size:1rem}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] .icon-option[_ngcontent-%COMP%]{width:55px;font-size:24px}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]{background:rgba(0,0,0,.36);cursor:unset!important}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]:hover{background:rgba(0,0,0,.6)}.option-bar-margin[_ngcontent-%COMP%]{margin-left:10px}.filter-label[_ngcontent-%COMP%]{font-size:.7rem;display:inline-block;padding:5px 10px;margin-bottom:7px}.filter-label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{vertical-align:middle}table[_ngcontent-%COMP%]{width:100%}tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:2px 5px!important;font-size:12px!important;font-weight:400!important}tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding-left:5px!important;padding-right:5px!important}.date-column[_ngcontent-%COMP%]{width:150px}.name-column[_ngcontent-%COMP%]{max-width:0;width:20%}.location-column[_ngcontent-%COMP%]{max-width:0;min-width:72px}.pk-column[_ngcontent-%COMP%]{max-width:0;width:25%}.history-pk-column[_ngcontent-%COMP%]{width:20%!important}.icon-fixer[_ngcontent-%COMP%]{line-height:0px}.note-column[_ngcontent-%COMP%]{max-width:0;width:3%;min-width:60px}.note-column[_ngcontent-%COMP%] .note-icon[_ngcontent-%COMP%]{opacity:.55;font-size:16px!important;display:inline}.flag-column[_ngcontent-%COMP%]{width:1px;line-height:0px}.actions[_ngcontent-%COMP%]{width:1px}.header-container[_ngcontent-%COMP%]{max-width:100%;display:inline-flex}.header-container[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%]{flex-grow:1}.flag[_ngcontent-%COMP%]{width:20px;height:15px;display:inline-block;margin-right:5px;background-image:url(/assets/img/big-flags/unknown.png);background-size:contain}.flag[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{width:20px;height:15px;background-size:contain}.center[_ngcontent-%COMP%]{text-align:center}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}"]});const up=function(n,t){return{"small-text-icon":n,"big-text-icon":t}};function Dne(n,t){if(1&n&&(D(0,"mat-icon",4),R(1,"translate"),I(2,"done"),C()),2&n){const e=z();w("ngClass",ln(5,up,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",B(1,3,"vpn.server-conditions.selected-info"))}}function Tne(n,t){if(1&n&&(D(0,"mat-icon",5),R(1,"translate"),I(2,"clear"),C()),2&n){const e=z();w("ngClass",ln(5,up,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",B(1,3,"vpn.server-conditions.blocked-info"))}}function Lne(n,t){if(1&n&&(D(0,"mat-icon",6),R(1,"translate"),I(2,"star"),C()),2&n){const e=z();w("ngClass",ln(5,up,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",B(1,3,"vpn.server-conditions.favorite-info"))}}function Ene(n,t){if(1&n&&(D(0,"mat-icon",4),R(1,"translate"),I(2,"history"),C()),2&n){const e=z();w("ngClass",ln(5,up,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",B(1,3,"vpn.server-conditions.history-info"))}}function Ine(n,t){if(1&n&&(D(0,"mat-icon",4),R(1,"translate"),I(2,"lock_outlined"),C()),2&n){const e=z();w("ngClass",ln(5,up,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",B(1,3,"vpn.server-conditions.has-password-info"))}}function Pne(n,t){if(1&n&&($e(0),I(1),D(2,"mat-icon",7),I(3,"fiber_manual_record"),C(),I(4),Ge()),2&n){const e=z();d(1),me(" ",e.customName," "),d(1),w("inline",!0),d(2),me(" ",e.name,"\n")}}function One(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z();d(1),oe(e.customName)}}function Ane(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z();d(1),oe(e.name)}}function Fne(n,t){if(1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n){const e=z();d(1),oe(B(2,1,e.defaultName))}}class Lu{constructor(){this.isCurrentServer=!1,this.isFavorite=!1,this.isBlocked=!1,this.isInHistory=!1,this.hasPassword=!1,this.name="",this.customName="",this.pk="",this.defaultName="",this.adjustIconsForBigText=!1}}Lu.\u0275fac=function(t){return new(t||Lu)},Lu.\u0275cmp=qe({type:Lu,selectors:[["app-vpn-server-name"]],inputs:{isCurrentServer:"isCurrentServer",isFavorite:"isFavorite",isBlocked:"isBlocked",isInHistory:"isInHistory",hasPassword:"hasPassword",name:"name",customName:"customName",pk:"pk",defaultName:"defaultName",adjustIconsForBigText:"adjustIconsForBigText"},decls:9,vars:9,consts:[["class","server-condition-icon",3,"ngClass","inline","matTooltip",4,"ngIf"],["class","server-condition-icon red-clear-text",3,"ngClass","inline","matTooltip",4,"ngIf"],["class","server-condition-icon yellow-clear-text",3,"ngClass","inline","matTooltip",4,"ngIf"],[4,"ngIf"],[1,"server-condition-icon",3,"ngClass","inline","matTooltip"],[1,"server-condition-icon","red-clear-text",3,"ngClass","inline","matTooltip"],[1,"server-condition-icon","yellow-clear-text",3,"ngClass","inline","matTooltip"],[1,"name-separator",3,"inline"]],template:function(t,e){1&t&&(j(0,Dne,3,8,"mat-icon",0),j(1,Tne,3,8,"mat-icon",1),j(2,Lne,3,8,"mat-icon",2),j(3,Ene,3,8,"mat-icon",0),j(4,Ine,3,8,"mat-icon",0),j(5,Pne,5,3,"ng-container",3),j(6,One,2,1,"ng-container",3),j(7,Ane,2,1,"ng-container",3),j(8,Fne,3,3,"ng-container",3)),2&t&&(w("ngIf",e.isCurrentServer),d(1),w("ngIf",e.isBlocked),d(1),w("ngIf",e.isFavorite),d(1),w("ngIf",e.isInHistory),d(1),w("ngIf",e.hasPassword),d(1),w("ngIf",e.customName&&e.name&&(!e.pk||e.name!==e.pk)),d(1),w("ngIf",(!e.name||e.pk&&e.name===e.pk)&&e.customName),d(1),w("ngIf",e.name&&(!e.pk||e.name!==e.pk)&&!e.customName),d(1),w("ngIf",(!e.name||e.pk&&e.name===e.pk)&&!e.customName))},dependencies:[On,Ot,Cn,gi,Ct],styles:[".server-condition-icon[_ngcontent-%COMP%]{font-size:14px!important;line-height:14px!important;margin-right:3px;position:relative;width:14px!important;-webkit-user-select:none;user-select:none;cursor:default}.small-text-icon[_ngcontent-%COMP%]{top:2px}.big-text-icon[_ngcontent-%COMP%]{top:0}.name-separator[_ngcontent-%COMP%]{display:inline!important;font-size:8px!important;opacity:.5!important}"]});const lP=function(){return["vpn.title"]};function Rne(n,t){if(1&n&&(D(0,"div",2)(1,"div"),xe(2,"app-top-bar",3),C(),xe(3,"app-loading-indicator"),C()),2&n){const e=z();d(2),w("titleParts",Un(5,lP))("tabsData",e.tabsData)("selectedTabIndex",0)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk)}}function Nne(n,t){1&n&&xe(0,"mat-spinner",32),2&n&&w("diameter",40)}function Yne(n,t){1&n&&(D(0,"mat-icon",33),I(1,"power_settings_new"),C()),2&n&&w("inline",!0)}function Bne(n,t){if(1&n){const e=tt();$e(0),D(1,"div",34),xe(2,"div",35),C(),D(3,"div",36)(4,"div",37),xe(5,"app-vpn-server-name",38),C(),D(6,"div",39),xe(7,"app-copy-to-clipboard-text",40),C()(),D(8,"div",41),xe(9,"div"),C(),D(10,"div",42)(11,"mat-icon",43),ye("click",function(){return Pe(e),Oe(z(3).openServerOptions())}),R(12,"translate"),I(13,"settings"),C()(),Ge()}if(2&n){const e=z(3);d(2),ci("background-image: url('assets/img/big-flags/"+e.currentRemoteServer.countryCode.toLocaleLowerCase()+".png');"),w("matTooltip",e.getCountryName(e.currentRemoteServer.countryCode)),d(3),w("isFavorite",e.currentRemoteServer.flag===e.serverFlags.Favorite)("isBlocked",e.currentRemoteServer.flag===e.serverFlags.Blocked)("hasPassword",e.currentRemoteServer.usedWithPassword)("name",e.currentRemoteServer.name)("pk",e.currentRemoteServer.pk)("customName",e.currentRemoteServer.customName),d(2),w("shortSimple",!0)("text",e.currentRemoteServer.pk),d(4),w("inline",!0)("matTooltip",B(12,13,"vpn.server-options.tooltip"))}}function Hne(n,t){1&n&&($e(0),D(1,"div",44),I(2),R(3,"translate"),C(),Ge()),2&n&&(d(2),oe(B(3,1,"vpn.status-page.no-server")))}const Vne=function(n,t){return{custom:n,original:t}};function jne(n,t){if(1&n&&(D(0,"div",45)(1,"mat-icon",33),I(2,"info_outline"),C(),I(3),R(4,"translate"),C()),2&n){const e=z(3);d(1),w("inline",!0),d(2),me(" ",Pt(4,2,e.getNoteVar(),ln(5,Vne,e.currentRemoteServer.personalNote,e.currentRemoteServer.note))," ")}}function zne(n,t){if(1&n&&(D(0,"div",46)(1,"mat-icon",33),I(2,"cancel"),C(),I(3),R(4,"translate"),C()),2&n){const e=z(3);d(1),w("inline",!0),d(2),po(" ",B(4,3,"vpn.status-page.last-error")," ",e.backendState.vpnClientAppData.lastErrorMsg," ")}}const cP=function(n){return{"disabled-button":n}};function Une(n,t){if(1&n){const e=tt();D(0,"div",22)(1,"div",11)(2,"div",13),I(3),R(4,"translate"),C(),D(5,"div")(6,"div",23),ye("click",function(){return Pe(e),Oe(z(2).start())}),D(7,"div",24),xe(8,"div",25),C(),D(9,"div",24),xe(10,"div",26),C(),j(11,Nne,1,1,"mat-spinner",27),j(12,Yne,2,1,"mat-icon",28),C()(),D(13,"div",29),j(14,Bne,14,15,"ng-container",18),j(15,Hne,4,3,"ng-container",18),C(),D(16,"div"),j(17,jne,5,8,"div",30),C(),D(18,"div"),j(19,zne,5,5,"div",31),C()()()}if(2&n){const e=z(2);d(3),oe(B(4,8,"vpn.status-page.start-title")),d(3),w("ngClass",Ve(10,cP,e.showBusy)),d(5),w("ngIf",e.showBusy),d(1),w("ngIf",!e.showBusy),d(2),w("ngIf",e.currentRemoteServer),d(1),w("ngIf",!e.currentRemoteServer),d(2),w("ngIf",e.currentRemoteServer&&(e.currentRemoteServer.note||e.currentRemoteServer.personalNote)),d(2),w("ngIf",e.backendState&&e.backendState.vpnClientAppData&&e.backendState.vpnClientAppData.lastErrorMsg)}}function Wne(n,t){if(1&n&&(D(0,"div",77)(1,"mat-icon",33),I(2,"cancel"),C(),I(3),R(4,"translate"),C()),2&n){const e=z(3);d(1),w("inline",!0),d(2),po(" ",B(4,3,"vpn.status-page.last-error")," ",e.backendState.vpnClientAppData.connectionData.error," ")}}function $ne(n,t){1&n&&(D(0,"div"),xe(1,"mat-spinner",32),C()),2&n&&(d(1),w("diameter",24))}function Gne(n,t){1&n&&(D(0,"mat-icon",33),I(1,"power_settings_new"),C()),2&n&&w("inline",!0)}const Eu=function(n){return{showValue:!0,showUnit:!0,showPerSecond:!0,limitDecimals:!0,useBits:n}},dP=function(n){return{showValue:!0,showUnit:!0,showPerSecond:!0,useBits:n}},uP=function(n){return{showValue:!0,showUnit:!0,useBits:n}},Ng=function(n){return{time:n}};function qne(n,t){if(1&n){const e=tt();D(0,"div",47)(1,"div",11)(2,"div",48)(3,"div",49)(4,"mat-icon",33),I(5,"timer"),C(),D(6,"span"),I(7),C()()(),D(8,"div",50),I(9),R(10,"translate"),C(),D(11,"div",51)(12,"div",52),I(13),R(14,"translate"),C(),xe(15,"div"),C(),D(16,"div",53),I(17),R(18,"translate"),C(),j(19,Wne,5,5,"div",54),D(20,"div",55)(21,"div",56),R(22,"translate"),D(23,"div",57),xe(24,"app-line-chart",58),C(),D(25,"div",59)(26,"div",60)(27,"div",61),I(28),R(29,"autoScale"),C(),xe(30,"div",62),C()(),D(31,"div",59)(32,"div",63)(33,"div",61),I(34),R(35,"autoScale"),C(),xe(36,"div",62),C()(),D(37,"div",59)(38,"div",64)(39,"div",61),I(40),R(41,"autoScale"),C()()(),D(42,"div",65)(43,"mat-icon",66),I(44,"keyboard_backspace"),C(),D(45,"div",67),I(46),R(47,"autoScale"),C(),D(48,"div",68),I(49),R(50,"autoScale"),R(51,"translate"),C()()(),D(52,"div",56),R(53,"translate"),D(54,"div",57),xe(55,"app-line-chart",58),C(),D(56,"div",69)(57,"div",60)(58,"div",61),I(59),R(60,"autoScale"),C(),xe(61,"div",62),C()(),D(62,"div",59)(63,"div",63)(64,"div",61),I(65),R(66,"autoScale"),C(),xe(67,"div",62),C()(),D(68,"div",59)(69,"div",64)(70,"div",61),I(71),R(72,"autoScale"),C()()(),D(73,"div",65)(74,"mat-icon",70),I(75,"keyboard_backspace"),C(),D(76,"div",67),I(77),R(78,"autoScale"),C(),D(79,"div",68),I(80),R(81,"autoScale"),R(82,"translate"),C()()()(),D(83,"div",71)(84,"div",72),R(85,"translate"),D(86,"div",57),xe(87,"app-line-chart",73),C(),D(88,"div",69)(89,"div",60)(90,"div",61),I(91),R(92,"translate"),C(),xe(93,"div",62),C()(),D(94,"div",59)(95,"div",63)(96,"div",61),I(97),R(98,"translate"),C(),xe(99,"div",62),C()(),D(100,"div",59)(101,"div",64)(102,"div",61),I(103),R(104,"translate"),C()()(),D(105,"div",65)(106,"mat-icon",33),I(107,"swap_horiz"),C(),D(108,"div"),I(109),R(110,"translate"),C()()()(),D(111,"div",74),ye("click",function(){return Pe(e),Oe(z(2).stop())}),D(112,"div",75)(113,"div",76),j(114,$ne,2,1,"div",18),j(115,Gne,2,1,"mat-icon",28),D(116,"span"),I(117),R(118,"translate"),C()()()()()()}if(2&n){const e=z(2);d(4),w("inline",!0),d(3),oe(e.connectionTimeString),d(2),oe(B(10,58,"vpn.connection-info.state-title")),d(4),oe(B(14,60,e.currentStateText)),d(2),fo("state-line "+e.currentStateLineClass),d(2),oe(B(18,62,e.currentStateText+"-info")),d(2),w("ngIf",e.backendState&&e.backendState.vpnClientAppData&&e.backendState.vpnClientAppData.connectionData&&e.backendState.vpnClientAppData.connectionData.error),d(2),w("matTooltip",B(22,64,"vpn.status-page.upload-info")),d(3),w("animated",!1)("data",e.sentHistory)("min",e.minUploadInGraph)("max",e.maxUploadInGraph),d(4),me(" ",Pt(29,66,e.maxUploadInGraph,Ve(118,Eu,e.showSpeedsInBits))," "),d(2),ci("margin-top: "+e.graphsTopInternalMargin+"px;"),d(4),me(" ",Pt(35,69,e.midUploadInGraph,Ve(120,Eu,e.showSpeedsInBits))," "),d(2),ci("margin-top: "+e.graphsTopInternalMargin/2+"px;"),d(4),me(" ",Pt(41,72,e.minUploadInGraph,Ve(122,Eu,e.showSpeedsInBits))," "),d(3),w("inline",!0),d(3),oe(Pt(47,75,e.uploadSpeed,Ve(124,dP,e.showSpeedsInBits))),d(3),po(" ",Pt(50,78,e.totalUploaded,Ve(126,uP,e.showTotalsInBits))," ",B(51,81,"vpn.status-page.total-data-label")," "),d(3),w("matTooltip",B(53,83,"vpn.status-page.download-info")),d(3),w("animated",!1)("data",e.receivedHistory)("min",e.minDownloadInGraph)("max",e.maxDownloadInGraph),d(4),me(" ",Pt(60,85,e.maxDownloadInGraph,Ve(128,Eu,e.showSpeedsInBits))," "),d(2),ci("margin-top: "+e.graphsTopInternalMargin+"px;"),d(4),me(" ",Pt(66,88,e.midDownloadInGraph,Ve(130,Eu,e.showSpeedsInBits))," "),d(2),ci("margin-top: "+e.graphsTopInternalMargin/2+"px;"),d(4),me(" ",Pt(72,91,e.minDownloadInGraph,Ve(132,Eu,e.showSpeedsInBits))," "),d(3),w("inline",!0),d(3),oe(Pt(78,94,e.downloadSpeed,Ve(134,dP,e.showSpeedsInBits))),d(3),po(" ",Pt(81,97,e.totalDownloaded,Ve(136,uP,e.showTotalsInBits))," ",B(82,100,"vpn.status-page.total-data-label")," "),d(4),w("matTooltip",B(85,102,"vpn.status-page.latency-info")),d(3),w("animated",!1)("data",e.latencyHistory)("min",e.minLatencyInGraph)("max",e.maxLatencyInGraph),d(4),me(" ",Pt(92,104,"common."+e.getLatencyValueString(e.maxLatencyInGraph),Ve(138,Ng,e.getPrintableLatency(e.maxLatencyInGraph)))," "),d(2),ci("margin-top: "+e.graphsTopInternalMargin+"px;"),d(4),me(" ",Pt(98,107,"common."+e.getLatencyValueString(e.midLatencyInGraph),Ve(140,Ng,e.getPrintableLatency(e.midLatencyInGraph)))," "),d(2),ci("margin-top: "+e.graphsTopInternalMargin/2+"px;"),d(4),me(" ",Pt(104,110,"common."+e.getLatencyValueString(e.minLatencyInGraph),Ve(142,Ng,e.getPrintableLatency(e.minLatencyInGraph)))," "),d(3),w("inline",!0),d(3),oe(Pt(110,113,"common."+e.getLatencyValueString(e.latency),Ve(144,Ng,e.getPrintableLatency(e.latency)))),d(2),w("ngClass",Ve(146,cP,e.showBusy)),d(3),w("ngIf",e.showBusy),d(1),w("ngIf",!e.showBusy),d(2),oe(B(118,116,"vpn.status-page.disconnect"))}}function Kne(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z(3);d(1),oe(e.currentIp)}}function Zne(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"common.unknown")))}function Xne(n,t){1&n&&xe(0,"mat-spinner",32),2&n&&w("diameter",20)}function Qne(n,t){1&n&&(D(0,"mat-icon",81),R(1,"translate"),I(2,"warning"),C()),2&n&&w("inline",!0)("matTooltip",B(1,2,"vpn.status-page.data.ip-problem-info"))}function Jne(n,t){if(1&n){const e=tt();D(0,"mat-icon",82),ye("click",function(){return Pe(e),Oe(z(3).getIp())}),R(1,"translate"),I(2,"refresh"),C()}2&n&&w("inline",!0)("matTooltip",B(1,2,"vpn.status-page.data.ip-refresh-info"))}function eie(n,t){if(1&n&&(D(0,"div",78),j(1,Kne,2,1,"ng-container",18),j(2,Zne,3,3,"ng-container",18),j(3,Xne,1,1,"mat-spinner",27),j(4,Qne,3,4,"mat-icon",79),j(5,Jne,3,4,"mat-icon",80),C()),2&n){const e=z(2);d(1),w("ngIf",e.currentIp),d(1),w("ngIf",!e.currentIp&&!e.loadingCurrentIp),d(1),w("ngIf",e.loadingCurrentIp),d(1),w("ngIf",e.problemGettingIp),d(1),w("ngIf",!e.loadingCurrentIp)}}function tie(n,t){1&n&&(D(0,"div",78),I(1),R(2,"translate"),C()),2&n&&(d(1),me(" ",B(2,1,"vpn.status-page.data.unavailable")," "))}function nie(n,t){if(1&n&&($e(0),I(1),Ge()),2&n){const e=z(3);d(1),oe(e.ipCountry)}}function iie(n,t){1&n&&($e(0),I(1),R(2,"translate"),Ge()),2&n&&(d(1),oe(B(2,1,"common.unknown")))}function rie(n,t){1&n&&xe(0,"mat-spinner",32),2&n&&w("diameter",20)}function oie(n,t){1&n&&(D(0,"mat-icon",81),R(1,"translate"),I(2,"warning"),C()),2&n&&w("inline",!0)("matTooltip",B(1,2,"vpn.status-page.data.ip-country-problem-info"))}function sie(n,t){if(1&n&&(D(0,"div",78),j(1,nie,2,1,"ng-container",18),j(2,iie,3,3,"ng-container",18),j(3,rie,1,1,"mat-spinner",27),j(4,oie,3,4,"mat-icon",79),C()),2&n){const e=z(2);d(1),w("ngIf",e.ipCountry),d(1),w("ngIf",!e.ipCountry&&!e.loadingCurrentIp),d(1),w("ngIf",e.loadingCurrentIp),d(1),w("ngIf",e.problemGettingIp)}}function aie(n,t){1&n&&(D(0,"div",78),I(1),R(2,"translate"),C()),2&n&&(d(1),me(" ",B(2,1,"vpn.status-page.data.unavailable")," "))}function lie(n,t){if(1&n){const e=tt();D(0,"div")(1,"div",13),I(2),R(3,"translate"),C(),D(4,"div",78),xe(5,"app-vpn-server-name",83),D(6,"mat-icon",82),ye("click",function(){return Pe(e),Oe(z(2).openServerOptions())}),R(7,"translate"),I(8,"settings"),C()()()}if(2&n){const e=z(2);d(2),oe(B(3,10,"vpn.status-page.data.server")),d(3),w("isFavorite",e.currentRemoteServer.flag===e.serverFlags.Favorite)("isBlocked",e.currentRemoteServer.flag===e.serverFlags.Blocked)("hasPassword",e.currentRemoteServer.usedWithPassword)("adjustIconsForBigText",!0)("name",e.currentRemoteServer.name)("pk",e.currentRemoteServer.pk)("customName",e.currentRemoteServer.customName),d(1),w("inline",!0)("matTooltip",B(7,12,"vpn.server-options.tooltip"))}}function cie(n,t){1&n&&xe(0,"div",15)}function die(n,t){if(1&n&&(D(0,"div")(1,"div",13),I(2),R(3,"translate"),C(),D(4,"div",20),I(5),C()()),2&n){const e=z(2);d(2),oe(B(3,2,"vpn.status-page.data.server-note")),d(3),me(" ",e.currentRemoteServer.personalNote," ")}}function uie(n,t){1&n&&xe(0,"div",15)}function hie(n,t){if(1&n&&(D(0,"div")(1,"div",13),I(2),R(3,"translate"),C(),D(4,"div",20),I(5),C()()),2&n){const e=z(2);d(2),oe(B(3,2,"vpn.status-page.data."+(e.currentRemoteServer.personalNote?"original-":"")+"server-note")),d(3),me(" ",e.currentRemoteServer.note," ")}}function fie(n,t){1&n&&xe(0,"div",15)}function pie(n,t){if(1&n&&(D(0,"div")(1,"div",13),I(2),R(3,"translate"),C(),D(4,"div",20),xe(5,"app-copy-to-clipboard-text",21),C()()),2&n){const e=z(2);d(2),oe(B(3,2,"vpn.status-page.data.remote-pk")),d(3),w("text",e.currentRemoteServer.pk)}}function mie(n,t){1&n&&xe(0,"div",15)}function _ie(n,t){if(1&n&&(D(0,"div",4)(1,"div",5)(2,"div",6),xe(3,"app-top-bar",3),C()(),D(4,"div",7),j(5,Une,20,12,"div",8),j(6,qne,119,148,"div",9),D(7,"div",10)(8,"div",11)(9,"div",12)(10,"div")(11,"div",13),I(12),R(13,"translate"),C(),j(14,eie,6,5,"div",14),j(15,tie,3,3,"div",14),C(),xe(16,"div",15),D(17,"div")(18,"div",13),I(19),R(20,"translate"),C(),j(21,sie,5,4,"div",14),j(22,aie,3,3,"div",14),C(),xe(23,"div",16)(24,"div",17)(25,"div",16),j(26,lie,9,14,"div",18),j(27,cie,1,0,"div",19),j(28,die,6,4,"div",18),j(29,uie,1,0,"div",19),j(30,hie,6,4,"div",18),j(31,fie,1,0,"div",19),j(32,pie,6,4,"div",18),j(33,mie,1,0,"div",19),D(34,"div")(35,"div",13),I(36),R(37,"translate"),C(),D(38,"div",20),xe(39,"app-copy-to-clipboard-text",21),C()()()()()()()),2&n){const e=z();d(3),w("titleParts",Un(29,lP))("tabsData",e.tabsData)("selectedTabIndex",0)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk),d(2),w("ngIf",!e.showStarted),d(1),w("ngIf",e.showStarted),d(6),oe(B(13,23,"vpn.status-page.data.ip")),d(2),w("ngIf",e.ipInfoAllowed),d(1),w("ngIf",!e.ipInfoAllowed),d(4),oe(B(20,25,"vpn.status-page.data.country")),d(2),w("ngIf",e.ipInfoAllowed),d(1),w("ngIf",!e.ipInfoAllowed),d(4),w("ngIf",e.showStarted&&e.currentRemoteServer),d(1),w("ngIf",e.showStarted&&e.currentRemoteServer),d(1),w("ngIf",e.showStarted&&e.currentRemoteServer&&e.currentRemoteServer.personalNote),d(1),w("ngIf",e.showStarted&&e.currentRemoteServer&&e.currentRemoteServer.personalNote),d(1),w("ngIf",e.showStarted&&e.currentRemoteServer&&e.currentRemoteServer.note),d(1),w("ngIf",e.showStarted&&e.currentRemoteServer&&e.currentRemoteServer.note),d(1),w("ngIf",e.showStarted&&e.currentRemoteServer),d(1),w("ngIf",e.showStarted&&e.currentRemoteServer),d(3),oe(B(37,27,"vpn.status-page.data.local-pk")),d(3),w("text",e.currentLocalPk)}}class hp{constructor(t,e,i,o,s,a,l){this.vpnClientService=t,this.vpnSavedDataService=e,this.snackbarService=i,this.translateService=o,this.route=s,this.dialog=a,this.router=l,this.tabsData=fn.vpnTabsData,this.sentHistory=[0,0,0,0,0,0,0,0,0,0],this.receivedHistory=[0,0,0,0,0,0,0,0,0,0],this.latencyHistory=[0,0,0,0,0,0,0,0,0,0],this.minUploadInGraph=0,this.midUploadInGraph=0,this.maxUploadInGraph=0,this.minDownloadInGraph=0,this.midDownloadInGraph=0,this.maxDownloadInGraph=0,this.minLatencyInGraph=0,this.midLatencyInGraph=0,this.maxLatencyInGraph=0,this.graphsTopInternalMargin=Fs.topInternalMargin,this.connectionTimeString="00:00:00",this.calculatedSegs=-1,this.uploadSpeed=0,this.downloadSpeed=0,this.totalUploaded=0,this.totalDownloaded=0,this.latency=0,this.showSpeedsInBits=!0,this.showTotalsInBits=!1,this.loading=!0,this.showStartedLastValue=!1,this.showStarted=!1,this.lastAppState=null,this.showBusy=!1,this.stopRequested=!1,this.loadingCurrentIp=!0,this.problemGettingIp=!1,this.lastIpRefresDate=0,this.serverFlags=Wn,this.ipInfoAllowed=this.vpnSavedDataService.getCheckIpSetting();const c=this.vpnSavedDataService.getDataUnitsSetting();c===ro.OnlyBits?(this.showSpeedsInBits=!0,this.showTotalsInBits=!0):c===ro.OnlyBytes?(this.showSpeedsInBits=!1,this.showTotalsInBits=!1):(this.showSpeedsInBits=!0,this.showTotalsInBits=!1)}ngOnInit(){this.navigationsSubscription=this.route.paramMap.subscribe(t=>{t.has("key")&&(this.currentLocalPk=t.get("key"),fn.changeCurrentPk(this.currentLocalPk),this.tabsData=fn.vpnTabsData),setTimeout(()=>this.navigationsSubscription.unsubscribe()),this.dataSubscription=this.vpnClientService.backendState.subscribe(e=>{if(e&&e.serviceState!==nr.PerformingInitialCheck){const i=!this.backendState;if(this.backendState=e,(i||this.lastAppState===yn.Running&&e.vpnClientAppData.appState!==yn.Running||this.lastAppState!==yn.Running&&e.vpnClientAppData.appState===yn.Running)&&this.getIp(!0),this.showStarted=e.vpnClientAppData.running||e.vpnClientAppData.appState!==yn.Stopped,this.showStartedLastValue!==this.showStarted){for(let o=0;o<10;o++)this.receivedHistory[o]=0,this.sentHistory[o]=0,this.latencyHistory[o]=0;this.updateGraphLimits(),this.uploadSpeed=0,this.downloadSpeed=0,this.totalUploaded=0,this.totalDownloaded=0,this.latency=0}if(this.lastAppState=e.vpnClientAppData.appState,this.showStartedLastValue=this.showStarted,this.stopRequested?this.showStarted||(this.stopRequested=!1,this.showBusy=e.busy):this.showBusy=e.busy,e.vpnClientAppData.connectionData){for(let o=0;o<10;o++)this.receivedHistory[o]=e.vpnClientAppData.connectionData.downloadSpeedHistory[o],this.sentHistory[o]=e.vpnClientAppData.connectionData.uploadSpeedHistory[o],this.latencyHistory[o]=e.vpnClientAppData.connectionData.latencyHistory[o];this.updateGraphLimits(),this.uploadSpeed=e.vpnClientAppData.connectionData.uploadSpeed,this.downloadSpeed=e.vpnClientAppData.connectionData.downloadSpeed,this.totalUploaded=e.vpnClientAppData.connectionData.totalUploaded,this.totalDownloaded=e.vpnClientAppData.connectionData.totalDownloaded,this.latency=e.vpnClientAppData.connectionData.latency}e.vpnClientAppData.running&&e.vpnClientAppData.appState===yn.Running&&e.vpnClientAppData.connectionData&&e.vpnClientAppData.connectionData.connectionDuration?(-1===this.calculatedSegs||e.vpnClientAppData.connectionData.connectionDuration>this.calculatedSegs+2||e.vpnClientAppData.connectionData.connectionDuration(e.add(t.schedule(Sne,n,{subscriber:e,counter:0,period:n})),e))}(1e3).subscribe(()=>{this.calculatedSegs+=1,this.refreshConnectionTimeString()})):this.timeUpdateSubscription&&(this.timeUpdateSubscription.unsubscribe(),this.timeUpdateSubscription=null,this.calculatedSegs=-1,this.connectionTimeString="00:00:00"),this.loading=!1}}),this.currentRemoteServerSubscription=this.vpnSavedDataService.currentServerObservable.subscribe(e=>{this.currentRemoteServer=e})})}refreshConnectionTimeString(){const t=this.calculatedSegs%60,e=Math.floor(this.calculatedSegs/60),i=e%60,o=Math.floor(e/60);this.connectionTimeString=String(o).padStart(2,"0")+":"+String(i).padStart(2,"0")+":"+String(t).padStart(2,"0")}ngOnDestroy(){this.dataSubscription.unsubscribe(),this.navigationsSubscription.unsubscribe(),this.currentRemoteServerSubscription.unsubscribe(),this.closeOperationSubscription(),this.ipSubscription&&this.ipSubscription.unsubscribe(),this.timeUpdateSubscription&&this.timeUpdateSubscription.unsubscribe()}start(){if(!this.currentRemoteServer)return this.router.navigate(["vpn",this.currentLocalPk,"servers"]),void setTimeout(()=>this.snackbarService.showWarning("vpn.status-page.select-server-warning"),100);this.currentRemoteServer.flag!==Wn.Blocked?(this.showBusy=!0,this.vpnClientService.start()):this.snackbarService.showError("vpn.starting-blocked-server-error")}stop(){if(!this.backendState.vpnClientAppData.killswitch)return void this.finishStoppingVpn();const t=Wt.createConfirmationDialog(this.dialog,"vpn.status-page.disconnect-confirmation");t.componentInstance.operationAccepted.subscribe(()=>{t.componentInstance.closeModal(),this.finishStoppingVpn()})}finishStoppingVpn(){this.stopRequested=!0,this.showBusy=!0,this.vpnClientService.stop()}openServerOptions(){fn.openServerOptions(this.currentRemoteServer,this.router,this.vpnSavedDataService,this.vpnClientService,this.snackbarService,this.dialog).subscribe()}getCountryName(t){return ga[t.toUpperCase()]?ga[t.toUpperCase()]:t}getNoteVar(){return this.currentRemoteServer.note&&this.currentRemoteServer.personalNote?"vpn.server-list.notes-info":!this.currentRemoteServer.note&&this.currentRemoteServer.personalNote?this.currentRemoteServer.personalNote:this.currentRemoteServer.note}getLatencyValueString(t){return fn.getLatencyValueString(t)}getPrintableLatency(t){return fn.getPrintableLatency(t)}get currentStateText(){return this.backendState.vpnClientAppData.appState===yn.Stopped?"vpn.connection-info.state-disconnected":this.backendState.vpnClientAppData.appState===yn.Connecting?"vpn.connection-info.state-connecting":this.backendState.vpnClientAppData.appState===yn.Running?"vpn.connection-info.state-connected":this.backendState.vpnClientAppData.appState===yn.ShuttingDown?"vpn.connection-info.state-disconnecting":this.backendState.vpnClientAppData.appState===yn.Reconnecting?"vpn.connection-info.state-reconnecting":void 0}get currentStateLineClass(){return this.backendState.vpnClientAppData.appState===yn.Stopped?"red-line":this.backendState.vpnClientAppData.appState===yn.Connecting?"yellow-line":this.backendState.vpnClientAppData.appState===yn.Running?"green-line":"yellow-line"}closeOperationSubscription(){this.operationSubscription&&this.operationSubscription.unsubscribe()}updateGraphLimits(){const t=this.calculateGraphLimits(this.sentHistory);this.minUploadInGraph=t[0],this.midUploadInGraph=t[1],this.maxUploadInGraph=t[2];const e=this.calculateGraphLimits(this.receivedHistory);this.minDownloadInGraph=e[0],this.midDownloadInGraph=e[1],this.maxDownloadInGraph=e[2];const i=this.calculateGraphLimits(this.latencyHistory);this.minLatencyInGraph=i[0],this.midLatencyInGraph=i[1],this.maxLatencyInGraph=i[2]}calculateGraphLimits(t){let i=0,o=0;return t.forEach(s=>{s>i&&(i=s)}),0===i&&(i+=1),o=new(Pg())(i).minus(0).dividedBy(2).plus(0).decimalPlaces(1).toNumber(),[0,o,i]}getIp(t=!1){if(this.ipInfoAllowed){if(!t){if(this.loadingCurrentIp)return void this.snackbarService.showWarning("vpn.status-page.data.ip-refresh-loading-warning");const e=1e4;if(Date.now()-this.lastIpRefresDate{this.loadingCurrentIp=!1,this.lastIpRefresDate=Date.now(),e?(this.problemGettingIp=!1,this.currentIp=e[0],this.ipCountry=e[1]):this.problemGettingIp=!0},()=>{this.lastIpRefresDate=Date.now(),this.loadingCurrentIp=!1,this.problemGettingIp=!1})}}}hp.\u0275fac=function(t){return new(t||hp)(F(Ho),F(Bo),F(cn),F(no),F(vr),F(Fn),F(Xt))},hp.\u0275cmp=qe({type:hp,selectors:[["app-vpn-status"]],decls:2,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["class","general-container",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","localVpnKey"],[1,"general-container"],[1,"row"],[1,"col-12"],[1,"row","flex-1"],["class","col-7 column left-area",4,"ngIf"],["class","col-7 column left-area-connected",4,"ngIf"],[1,"col-5","column","right-area"],[1,"column-container"],[1,"content-area"],[1,"title"],["class","big-text",4,"ngIf"],[1,"margin"],[1,"big-margin"],[1,"separator"],[4,"ngIf"],["class","margin",4,"ngIf"],[1,"small-text"],[3,"text"],[1,"col-7","column","left-area"],[1,"start-button",3,"ngClass","click"],[1,"start-button-img-container"],[1,"start-button-img"],[1,"start-button-img","animated-button"],[3,"diameter",4,"ngIf"],[3,"inline",4,"ngIf"],[1,"current-server"],["class","lower-text current-server-note",4,"ngIf"],["class","lower-text last-error",4,"ngIf"],[3,"diameter"],[3,"inline"],[1,"flag"],[3,"matTooltip"],[1,"text-container"],[1,"top-line"],["defaultName","vpn.unnamed",3,"isFavorite","isBlocked","hasPassword","name","pk","customName"],[1,"bottom-line"],[3,"shortSimple","text"],[1,"icon-button-separator"],[1,"icon-button"],[1,"transparent-button","vpn-small-button",3,"inline","matTooltip","click"],[1,"none"],[1,"lower-text","current-server-note"],[1,"lower-text","last-error"],[1,"col-7","column","left-area-connected"],[1,"time-container"],[1,"time-content"],[1,"state-title"],[1,"d-inline-block"],[1,"state-text"],[1,"state-explanation"],["class","last-connected-error",4,"ngIf"],[1,"data-container"],[1,"rounded-elevated-box","data-box","big-box",3,"matTooltip"],[1,"chart-container"],["height","140","color","#00000080",3,"animated","data","min","max"],[1,"chart-label"],[1,"label-container","label-top"],[1,"label"],[1,"line"],[1,"label-container","label-mid"],[1,"label-container","label-bottom"],[1,"content"],[1,"upload",3,"inline"],[1,"speed"],[1,"total"],[1,"chart-label","top-chart-label"],[1,"download",3,"inline"],[1,"latency-container"],[1,"rounded-elevated-box","data-box","small-box",3,"matTooltip"],["height","50","color","#00000080",3,"animated","data","min","max"],[1,"disconnect-button",3,"ngClass","click"],[1,"disconnect-button-container"],[1,"d-inline-flex"],[1,"last-connected-error"],[1,"big-text"],["class","small-icon blinking",3,"inline","matTooltip",4,"ngIf"],["class","big-icon transparent-button vpn-small-button",3,"inline","matTooltip","click",4,"ngIf"],[1,"small-icon","blinking",3,"inline","matTooltip"],[1,"big-icon","transparent-button","vpn-small-button",3,"inline","matTooltip","click"],["defaultName","vpn.unnamed",3,"isFavorite","isBlocked","hasPassword","adjustIconsForBigText","name","pk","customName"]],template:function(t,e){1&t&&(j(0,Rne,4,6,"div",0),j(1,_ie,40,30,"div",1)),2&t&&(w("ngIf",e.loading),d(1),w("ngIf",!e.loading))},dependencies:[On,Ot,Cn,gi,rc,Sc,Fs,io,as,Lu,Ct,ir],styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .bottom-line[_ngcontent-%COMP%], .left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .top-line[_ngcontent-%COMP%], .left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .none[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}.general-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.column[_ngcontent-%COMP%]{height:100%;display:flex;align-items:center;padding-top:40px;padding-bottom:20px}.column[_ngcontent-%COMP%] .column-container[_ngcontent-%COMP%]{width:100%;text-align:center}.left-area-connected[_ngcontent-%COMP%] .time-container[_ngcontent-%COMP%]{background:rgba(0,0,0,.7);border-radius:100px;font-size:.8rem;padding:8px 15px;display:inline-block}.left-area-connected[_ngcontent-%COMP%] .time-container[_ngcontent-%COMP%] .time-content[_ngcontent-%COMP%]{color:#bbb}.left-area-connected[_ngcontent-%COMP%] .time-container[_ngcontent-%COMP%] .time-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:10px}.left-area-connected[_ngcontent-%COMP%] .time-container[_ngcontent-%COMP%] .time-content[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{vertical-align:top}.left-area-connected[_ngcontent-%COMP%] .state-title[_ngcontent-%COMP%]{font-size:1rem;color:#bbb}.left-area-connected[_ngcontent-%COMP%] .state-text[_ngcontent-%COMP%]{font-size:2rem;text-transform:uppercase}.left-area-connected[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%]{height:1px;width:100%;margin-bottom:5px}.left-area-connected[_ngcontent-%COMP%] .green-line[_ngcontent-%COMP%]{background-color:#2ecc54}.left-area-connected[_ngcontent-%COMP%] .yellow-line[_ngcontent-%COMP%]{background-color:#d48b05}.left-area-connected[_ngcontent-%COMP%] .red-line[_ngcontent-%COMP%]{background-color:#da3439}.left-area-connected[_ngcontent-%COMP%] .state-explanation[_ngcontent-%COMP%]{font-size:.7rem}.left-area-connected[_ngcontent-%COMP%] .last-connected-error[_ngcontent-%COMP%]{margin-top:15px;font-size:.8rem;color:#ff393f}.left-area-connected[_ngcontent-%COMP%] .last-connected-error[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:2px;display:inline;-webkit-user-select:none;user-select:none}.left-area-connected[_ngcontent-%COMP%] .data-container[_ngcontent-%COMP%]{margin-top:20px}.left-area-connected[_ngcontent-%COMP%] .latency-container[_ngcontent-%COMP%]{margin-bottom:20px}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%]{cursor:default;display:inline-block}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%]{height:0px;position:relative;top:-3px;left:-3px}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%]{height:0px;text-align:left}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%]{position:relative;top:-3px;left:-3px;display:flex;margin-right:-6px}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.6rem;margin-left:5px;opacity:.2}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%] .line[_ngcontent-%COMP%]{height:1px;width:10px;background-color:#fff;flex-grow:1;opacity:.1;margin-left:10px;margin-right:5px}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-top[_ngcontent-%COMP%]{align-items:flex-start}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-mid[_ngcontent-%COMP%]{align-items:center}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-bottom[_ngcontent-%COMP%]{align-items:flex-end;position:relative;top:-6px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%]{width:170px;height:140px;margin:5px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%]{width:170px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{width:170px;height:140px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:20px;position:relative;top:-3px;left:-3px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:25px;transform:rotate(-90deg);width:40px;height:40px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{transform:rotate(-90deg)}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .upload[_ngcontent-%COMP%]{transform:rotate(90deg)}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .speed[_ngcontent-%COMP%]{font-size:.875rem}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .total[_ngcontent-%COMP%]{font-size:.8rem;color:#bbb}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%]{height:140px}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%]{width:352px;height:50px}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%]{width:352px}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{display:inline-flex;align-items:center;height:100%;font-size:.875rem;position:relative}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;height:25px;margin-right:5px}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%]{height:50px}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%]{background:linear-gradient(#940000,#7b0000) no-repeat!important;box-shadow:5px 5px 7px #00000080;width:352px;font-size:24px;display:inline-block;border-radius:10px;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%]:hover{background:linear-gradient(#a10000,#900000) no-repeat!important}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%]:active{transform:scale(.98);box-shadow:0 0 7px #00000080}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%]{background-image:url(/assets/img/background-pattern.png);padding:12px}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:10px;align-self:center}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%]{display:inline-block;position:relative;top:4px;margin-right:10px;align-self:center}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{position:relative;top:-2px;line-height:1.7}.left-area[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:700;text-align:center;text-transform:uppercase}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%]{text-align:center;margin:10px 0;cursor:pointer;display:inline-block;width:140px;height:140px}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%]:active mat-icon[_ngcontent-%COMP%]{transform:scale(.9)}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%]:hover .start-button-img-container[_ngcontent-%COMP%]{opacity:1}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{text-shadow:0px 0px 5px white}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .start-button-img-container[_ngcontent-%COMP%]{width:0px;height:0px;opacity:.7}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .start-button-img-container[_ngcontent-%COMP%] .start-button-img[_ngcontent-%COMP%]{display:inline-block;background-image:url(/assets/img/start-button.png);background-size:contain;width:140px;height:140px}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .start-button-img-container[_ngcontent-%COMP%] .animated-button[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_button-animation 4s linear infinite;pointer-events:none}@keyframes _ngcontent-%COMP%_button-animation{0%{transform:scale(1.5);opacity:0}25%{transform:scale(1);opacity:.8}50%{transform:scale(1.5);opacity:0}to{transform:scale(1.5);opacity:0}}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{line-height:140px;font-size:50px;-webkit-user-select:none;user-select:none;text-shadow:0px 0px 2px white}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%]{display:inline-block;margin-top:50px;opacity:.5}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%]{display:inline-flex;background:rgba(0,0,0,.7);border-radius:10px;padding:10px 15px;max-width:280px;text-align:left}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .none[_ngcontent-%COMP%]{font-size:.875rem}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .flag[_ngcontent-%COMP%]{background-image:url(/assets/img/big-flags/unknown.png);width:20px;height:15px;background-size:contain;align-self:center;flex-shrink:0;margin-right:12px}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .flag[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{width:20px;height:15px;background-size:contain}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]{overflow:hidden}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .top-line[_ngcontent-%COMP%]{font-size:.875rem}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .bottom-line[_ngcontent-%COMP%]{font-size:.7rem;color:#bbb}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .icon-button-separator[_ngcontent-%COMP%]{display:flex;align-items:center}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .icon-button-separator[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{width:1px;height:30px;background:rgba(255,255,255,.15);margin-left:12px}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .icon-button[_ngcontent-%COMP%]{font-size:22px;line-height:1;display:flex;align-items:center;padding-left:12px}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .icon-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{cursor:pointer}.left-area[_ngcontent-%COMP%] .lower-text[_ngcontent-%COMP%]{display:inline-block;max-width:280px;margin-top:10px}.left-area[_ngcontent-%COMP%] .lower-text[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:2px;display:inline;-webkit-user-select:none;user-select:none}.left-area[_ngcontent-%COMP%] .current-server-note[_ngcontent-%COMP%]{font-size:.8rem;color:#bbb}.left-area[_ngcontent-%COMP%] .last-error[_ngcontent-%COMP%]{font-size:.8rem;color:#ff393f}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%]{background:rgba(61,103,162,.1490196078);padding:30px;text-align:left;max-width:420px;opacity:.95}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.8rem;color:#bbb}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%]{font-size:1.25rem;overflow-wrap:break-word}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{display:inline-block;opacity:.5;margin-left:5px;position:relative;top:2px}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%] .small-icon[_ngcontent-%COMP%]{color:#d48b05;opacity:.7;font-size:.875rem;cursor:default;margin-left:5px}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%] .big-icon[_ngcontent-%COMP%]{font-size:1.125rem;margin-left:5px;position:relative;top:2px;line-height:1}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .small-text[_ngcontent-%COMP%]{font-size:.7rem;margin-top:1px;overflow-wrap:break-word}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .margin[_ngcontent-%COMP%]{height:12px}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-margin[_ngcontent-%COMP%]{height:15px}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .separator[_ngcontent-%COMP%]{height:1px;width:100%;background:rgba(255,255,255,.15)}.disabled-button[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}"]});class pl{constructor(t){this.router=t}set lastError(t){this.lastErrorInternal=t}canActivate(t,e){return this.checkIfCanActivate()}canActivateChild(t,e){return this.checkIfCanActivate()}checkIfCanActivate(){return this.lastErrorInternal?(this.router.navigate(["vpn","unavailable"],{queryParams:{problem:this.lastErrorInternal}}),We(!1)):We(!0)}}pl.\u0275fac=function(t){return new(t||pl)(we(Xt))},pl.\u0275prov=Ye({token:pl,factory:pl.\u0275fac,providedIn:"root"});var Rs=(()=>(function(n){n.UnableToConnectWithTheVpnClientApp="unavailable",n.NoLocalVisorPkProvided="pk",n.InvalidStorageState="storage",n.LocalVisorPkChangedDuringUsage="pkChange"}(Rs||(Rs={})),Rs))();class fp{constructor(t,e,i){this.route=t,this.vpnAuthGuardService=e,this.vpnClientService=i,this.problem=null,this.navigationsSubscription=this.route.queryParamMap.subscribe(o=>{this.problem=o.get("problem"),this.problem||(this.problem=Rs.UnableToConnectWithTheVpnClientApp),this.vpnAuthGuardService.lastError=this.problem,this.vpnClientService.stopContinuallyUpdatingData(),setTimeout(()=>this.navigationsSubscription.unsubscribe())})}getTitle(){return this.problem===Rs.NoLocalVisorPkProvided?"vpn.error-page.text-pk":this.problem===Rs.InvalidStorageState?"vpn.error-page.text-storage":this.problem===Rs.LocalVisorPkChangedDuringUsage?"vpn.error-page.text-pk-change":"vpn.error-page.text"}getInfo(){return this.problem===Rs.NoLocalVisorPkProvided?"vpn.error-page.more-info-pk":this.problem===Rs.InvalidStorageState?"vpn.error-page.more-info-storage":this.problem===Rs.LocalVisorPkChangedDuringUsage?"vpn.error-page.more-info-pk-change":"vpn.error-page.more-info"}}fp.\u0275fac=function(t){return new(t||fp)(F(vr),F(pl),F(Ho))},fp.\u0275cmp=qe({type:fp,selectors:[["app-vpn-error"]],decls:12,vars:7,consts:[[1,"main-container"],[1,"text-container"],[1,"inner-container"],[1,"error-icon"],[3,"inline"],[1,"more-info"]],template:function(t,e){1&t&&(D(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"mat-icon",4),I(5,"error_outline"),C()(),D(6,"div"),I(7),R(8,"translate"),C(),D(9,"div",5),I(10),R(11,"translate"),C()()()()),2&t&&(d(4),w("inline",!0),d(3),oe(B(8,3,e.getTitle())),d(3),oe(B(11,5,e.getInfo())))},dependencies:[Cn,Ct],styles:[".main-container[_ngcontent-%COMP%]{height:100%;display:flex}.main-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]{width:100%;align-self:center;text-align:center}.main-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .inner-container[_ngcontent-%COMP%]{max-width:550px;display:inline-block;font-size:1.25rem}.main-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .inner-container[_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{font-size:80px}.main-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .inner-container[_ngcontent-%COMP%] .more-info[_ngcontent-%COMP%]{font-size:.8rem;opacity:.75;margin-top:10px}"]});const gie=["button"],bie=["firstInput"];class Tc{constructor(t,e,i,o,s,a){this.dialogRef=t,this.data=e,this.formBuilder=i,this.snackbarService=o,this.appsService=s,this.vpnClientService=a}static openDialog(t,e){const i=new An;return i.data=e,i.autoFocus=!1,i.width=Ht.smallModalWidth,t.open(Tc,i)}ngOnInit(){this.form=this.formBuilder.group({ip:[this.data.ip,Vt.compose([Vt.maxLength(15),this.validateIp.bind(this)])]}),setTimeout(()=>this.firstInput.nativeElement.focus())}ngOnDestroy(){this.operationSubscription&&this.operationSubscription.unsubscribe()}validateIp(){if(this.form){const t=this.form.get("ip").value;return Wt.checkIfIpValidOrEmpty(t)?null:{invalid:!0}}return null}save(){!this.form.valid||this.operationSubscription||(this.button.showLoading(),this.operationSubscription=this.appsService.changeAppSettings(this.data.nodePk,this.vpnClientService.vpnClientAppName,{dns:this.form.get("ip").value}).subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)}))}onSuccess(t){this.dialogRef.close(!0),this.snackbarService.showDone("vpn.dns-config.done")}onError(t){this.button.showError(),this.operationSubscription=null,t=Qt(t),this.snackbarService.showError(t)}}Tc.\u0275fac=function(t){return new(t||Tc)(F(Vn),F(Si),F(iI),F(cn),F(wo),F(Ho))},Tc.\u0275cmp=qe({type:Tc,selectors:[["app-vpn-dns-config"]],viewQuery:function(t,e){if(1&t&&(ft(gie,5),ft(bie,5)),2&t){let i;nt(i=it())&&(e.button=i.first),nt(i=it())&&(e.firstInput=i.first)}},decls:14,vars:11,consts:[[3,"headline"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","ip","maxlength","15","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"disabled","action"],["button",""]],template:function(t,e){1&t&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6,7),ye("action",function(){return e.save()}),I(12),R(13,"translate"),C()()),2&t&&(w("headline",B(1,5,"vpn.dns-config.title")),d(2),w("formGroup",e.form),d(4),oe(B(7,7,"vpn.dns-config.ip")),d(4),w("disabled",!e.form.valid),d(2),me(" ",B(13,9,"vpn.dns-config.save-config-button")," "))},dependencies:[Yi,Fi,Ri,Ni,wr,ni,Di,tr,Cr,ii,Rn,Ct]});const vie=["topBarLoading"],yie=["topBarLoaded"],hP=function(){return["vpn.title"]};function Mie(n,t){if(1&n&&(D(0,"div",2)(1,"div"),xe(2,"app-top-bar",3,4),C(),xe(4,"app-loading-indicator",5),C()),2&n){const e=z();d(2),w("titleParts",Un(5,hP))("tabsData",e.tabsData)("selectedTabIndex",2)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk)}}function wie(n,t){1&n&&xe(0,"mat-spinner",20),2&n&&w("diameter",12)}function xie(n,t){if(1&n){const e=tt();D(0,"div",6)(1,"div",7),xe(2,"app-top-bar",3,8),C(),D(4,"div",9)(5,"div",10)(6,"div",11)(7,"div",12)(8,"table",13)(9,"tr")(10,"th",14)(11,"div",15)(12,"div",16),I(13),R(14,"translate"),C()()(),D(15,"th",14),I(16),R(17,"translate"),C()(),D(18,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeKillswitchOption())}),D(19,"td",14)(20,"div"),I(21),R(22,"translate"),D(23,"mat-icon",18),R(24,"translate"),I(25,"help"),C()()(),D(26,"td",14),xe(27,"span"),I(28),R(29,"translate"),j(30,wie,1,1,"mat-spinner",19),C()(),D(31,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeGetIpOption())}),D(32,"td",14)(33,"div"),I(34),R(35,"translate"),D(36,"mat-icon",18),R(37,"translate"),I(38,"help"),C()()(),D(39,"td",14),xe(40,"span"),I(41),R(42,"translate"),C()(),D(43,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeDataUnits())}),D(44,"td",14)(45,"div"),I(46),R(47,"translate"),D(48,"mat-icon",18),R(49,"translate"),I(50,"help"),C()()(),D(51,"td",14),I(52),R(53,"translate"),C()(),D(54,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeHops())}),D(55,"td",14)(56,"div"),I(57),R(58,"translate"),D(59,"mat-icon",18),R(60,"translate"),I(61,"help"),C()()(),D(62,"td",14),I(63),C()(),D(64,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeDns())}),D(65,"td",14)(66,"div"),I(67),R(68,"translate"),D(69,"mat-icon",18),R(70,"translate"),I(71,"help"),C()()(),D(72,"td",14),I(73),R(74,"translate"),C()()()()()()()()}if(2&n){const e=z();d(2),w("titleParts",Un(64,hP))("tabsData",e.tabsData)("selectedTabIndex",2)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk),d(11),me(" ",B(14,32,"vpn.settings-page.setting-small-table-label")," "),d(3),me(" ",B(17,34,"vpn.settings-page.value-small-table-label")," "),d(5),me(" ",B(22,36,"vpn.settings-page.killswitch")," "),d(2),w("inline",!0)("matTooltip",B(24,38,"vpn.settings-page.killswitch-info")),d(4),fo(e.getStatusClass(e.backendData.vpnClientAppData.killswitch)),d(1),me(" ",B(29,40,e.getStatusText(e.backendData.vpnClientAppData.killswitch))," "),d(2),w("ngIf",e.working===e.workingOptions.Killswitch),d(4),me(" ",B(35,42,"vpn.settings-page.get-ip")," "),d(2),w("inline",!0)("matTooltip",B(37,44,"vpn.settings-page.get-ip-info")),d(4),fo(e.getStatusClass(e.getIpOption)),d(1),me(" ",B(42,46,e.getStatusText(e.getIpOption))," "),d(5),me(" ",B(47,48,"vpn.settings-page.data-units")," "),d(2),w("inline",!0)("matTooltip",B(49,50,"vpn.settings-page.data-units-info")),d(4),me(" ",B(53,52,e.getUnitsOptionText(e.dataUnitsOption))," "),d(5),me(" ",B(58,54,"vpn.settings-page.minimum-hops")," "),d(2),w("inline",!0)("matTooltip",B(60,56,"vpn.settings-page.minimum-hops-info")),d(4),me(" ",e.backendData.vpnClientAppData.minHops," "),d(4),me(" ",B(68,58,"vpn.settings-page.dns")," "),d(2),w("inline",!0)("matTooltip",B(70,60,"vpn.settings-page.dns-info")),d(4),me(" ",e.backendData.vpnClientAppData.dns?e.backendData.vpnClientAppData.dns:B(74,62,"vpn.settings-page.setting-none")," ")}}var ba=(()=>(function(n){n[n.None=0]="None",n[n.Killswitch=1]="Killswitch"}(ba||(ba={})),ba))();class pp{constructor(t,e,i,o,s,a){this.vpnClientService=t,this.snackbarService=e,this.appsService=i,this.vpnSavedDataService=o,this.dialog=s,this.loading=!0,this.tabsData=fn.vpnTabsData,this.working=ba.None,this.workingOptions=ba,this.navigationsSubscription=a.paramMap.subscribe(l=>{l.has("key")&&(this.currentLocalPk=l.get("key"),fn.changeCurrentPk(this.currentLocalPk),this.tabsData=fn.vpnTabsData)}),this.dataSubscription=this.vpnClientService.backendState.subscribe(l=>{l&&l.serviceState!==nr.PerformingInitialCheck&&(this.backendData=l,this.loading=!1)}),this.getIpOption=this.vpnSavedDataService.getCheckIpSetting(),this.dataUnitsOption=this.vpnSavedDataService.getDataUnitsSetting()}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.dataSubscription.unsubscribe(),this.operationSubscription&&this.operationSubscription.unsubscribe()}getStatusClass(t){return!0===t?"dot-green":"dot-red"}getStatusText(t){return!0===t?"vpn.settings-page.setting-on":"vpn.settings-page.setting-off"}getUnitsOptionText(t){switch(t){case ro.OnlyBits:return"vpn.settings-page.data-units-modal.only-bits";case ro.OnlyBytes:return"vpn.settings-page.data-units-modal.only-bytes";default:return"vpn.settings-page.data-units-modal.bits-speed-and-bytes-volume"}}changeKillswitchOption(){if(this.working===ba.None)if(this.backendData.vpnClientAppData.running){const t=Wt.createConfirmationDialog(this.dialog,"vpn.settings-page.change-while-connected-confirmation");t.componentInstance.operationAccepted.subscribe(()=>{t.componentInstance.closeModal(),this.finishChangingKillswitchOption()})}else this.finishChangingKillswitchOption();else this.snackbarService.showWarning("vpn.settings-page.working-warning")}finishChangingKillswitchOption(){this.working=ba.Killswitch,this.operationSubscription=this.appsService.changeAppSettings(this.currentLocalPk,this.vpnClientService.vpnClientAppName,{killswitch:!this.backendData.vpnClientAppData.killswitch}).subscribe(()=>{this.working=ba.None,this.vpnClientService.updateData()},t=>{this.working=ba.None,t=Qt(t),this.snackbarService.showError(t)})}changeGetIpOption(){this.getIpOption=!this.getIpOption,this.vpnSavedDataService.setCheckIpSetting(this.getIpOption)}changeDataUnits(){const t=[],e=[];Object.keys(ro).forEach(i=>{const o={label:this.getUnitsOptionText(ro[i])};this.dataUnitsOption===ro[i]&&(o.icon="done"),t.push(o),e.push(ro[i])}),$i.openDialog(this.dialog,t,"vpn.settings-page.data-units-modal.title").afterClosed().subscribe(i=>{i&&(this.dataUnitsOption=e[i-1],this.vpnSavedDataService.setDataUnitsSetting(this.dataUnitsOption),this.topBarLoading&&this.topBarLoading.updateVpnDataStatsUnit(),this.topBarLoaded&&this.topBarLoaded.updateVpnDataStatsUnit())})}changeHops(){fl.openDialog(this.dialog,{nodePk:this.currentLocalPk,minHops:this.backendData.vpnClientAppData.minHops}).afterClosed().subscribe()}changeDns(){Tc.openDialog(this.dialog,{nodePk:this.currentLocalPk,ip:this.backendData.vpnClientAppData.dns}).afterClosed().subscribe()}}pp.\u0275fac=function(t){return new(t||pp)(F(Ho),F(cn),F(wo),F(Bo),F(Fn),F(vr))},pp.\u0275cmp=qe({type:pp,selectors:[["app-vpn-settings-list"]],viewQuery:function(t,e){if(1&t&&(ft(vie,5),ft(yie,5)),2&t){let i;nt(i=it())&&(e.topBarLoading=i.first),nt(i=it())&&(e.topBarLoaded=i.first)}},decls:2,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["class","row",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","localVpnKey"],["topBarLoading",""],[1,"h-100"],[1,"row"],[1,"col-12"],["topBarLoaded",""],[1,"col-12","mt-4.5","vpn-table-container"],[1,"width-limiter"],[1,"rounded-elevated-box"],[1,"box-internal-container"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table"],[1,"data-column"],[1,"header-container"],[1,"header-text"],[1,"selectable",3,"click"],[1,"help-icon",3,"inline","matTooltip"],[3,"diameter",4,"ngIf"],[3,"diameter"]],template:function(t,e){1&t&&(j(0,Mie,5,6,"div",0),j(1,xie,75,65,"div",1)),2&t&&(w("ngIf",e.loading),d(1),w("ngIf",!e.loading))},dependencies:[Ot,Cn,gi,rc,io,as,Ct],styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .header-container[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%], .data-column[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}table[_ngcontent-%COMP%]{width:100%}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding-top:7px!important;padding-bottom:7px!important;font-size:12px!important;font-weight:400!important}.data-column[_ngcontent-%COMP%]{max-width:0;width:50%}.header-container[_ngcontent-%COMP%]{max-width:100%;display:inline-flex}.header-container[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%]{flex-grow:1}mat-spinner[_ngcontent-%COMP%]{display:inline-block;opacity:.5;margin-left:2px;position:relative;top:2px}mat-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}"]});const Cie=[{path:"",component:Hf},{path:"login",component:hu},{path:"nodes",canActivate:[Ls],canActivateChild:[Ls],children:[{path:"",redirectTo:"list/1",pathMatch:"full"},{path:"list",redirectTo:"list/1",pathMatch:"full"},{path:"list/:page",component:vu},{path:"dmsg",redirectTo:"dmsg/1",pathMatch:"full"},{path:"dmsg/:page",component:vu},{path:":key",component:Je,children:[{path:"",redirectTo:"routing",pathMatch:"full"},{path:"info",component:cp},{path:"routing",component:np},{path:"apps",component:ip},{path:"transports",redirectTo:"transports/1",pathMatch:"full"},{path:"transports/:page",component:rp},{path:"routes",redirectTo:"routes/1",pathMatch:"full"},{path:"routes/:page",component:op},{path:"apps-list/:showOfficialApps/:page",component:sp}]}]},{path:"settings",canActivate:[Ls],canActivateChild:[Ls],children:[{path:"",component:tp},{path:"labels",redirectTo:"labels/1",pathMatch:"full"},{path:"labels/:page",component:dp}]},{path:"vpnlogin/:key",component:hu},{path:"vpn",canActivate:[pl],canActivateChild:[pl],children:[{path:"unavailable",component:fp},{path:":key",children:[{path:"status",component:hp},{path:"servers",redirectTo:"servers/public/1",pathMatch:"full"},{path:"servers/:type/:page",component:Tu},{path:"settings",component:pp},{path:"**",redirectTo:"status"}]},{path:"**",redirectTo:"/vpn/unavailable?problem=pk"}]},{path:"**",redirectTo:""}];class Iu{}Iu.\u0275fac=function(t){return new(t||Iu)},Iu.\u0275mod=Et({type:Iu}),Iu.\u0275inj=At({imports:[x2.forRoot(Cie,{useHash:!0}),x2]});let Sie=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Et({type:n}),n.\u0275inj=At({imports:[Hn]}),n})();class Pu{}Pu.\u0275fac=function(t){return new(t||Pu)},Pu.\u0275mod=Et({type:Pu}),Pu.\u0275inj=At({imports:[QL.forRoot({loader:{provide:Nf,useClass:class Die{getTranslation(t){return de(N(6297)(`./${t}.json`))}}}}),QL]});class Ou{shouldDetach(t){return!1}store(t,e){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,e){return!1}}Ou.\u0275fac=function(t){return new(t||Ou)},Ou.\u0275prov=Ye({token:Ou,factory:Ou.\u0275fac});class Au{}Au.\u0275fac=function(t){return new(t||Au)},Au.\u0275mod=Et({type:Au,bootstrap:[da]}),Au.\u0275inj=At({providers:[Os,{provide:x1,useValue:{duration:3e3,verticalPosition:"top"}},{provide:LL,useValue:{width:"600px",hasBackdrop:!0}},{provide:y1,useClass:F9},{provide:p2,useClass:Ou},{provide:wL,useValue:{disabled:!0}}],imports:[rD,GH,$1,gV,Iu,Pu,BL,iz,Ig,jW,RJ,YL,Yz,i$,dq,nW,Sie,hG,eU,AG]}),Bs(Je,[On,Ot,F_,Cn,io,as,Su],[Ct]),Bs(Tu,[On,Ci,Ot,Ad,Qa,Wr,Cn,gi,Sc,io,As,as,Lu],[OS,Ct]),YY().bootstrapModule(Au).catch(n=>console.log(n))},9774:function(ue,ge,N){var O;!function(_){"use strict";var u,f=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,h=Math.ceil,y=Math.floor,p="[BigNumber Error] ",v=p+"Number primitive has more than 15 significant digits: ",x=1e14,T=14,S=9007199254740991,k=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],L=1e7,A=1e9;function H(J){var ee=0|J;return J>0||J===ee?ee:ee-1}function K(J){for(var ee,ae,le=1,X=J.length,Te=J[0]+"";leet^ae?1:-1;for(Ce=(He=X.length)<(et=Te.length)?He:et,Se=0;SeTe[Se]^ae?1:-1;return He==et?0:He>et^ae?1:-1}function ve(J,ee,ae,le){if(Jae||J!==(J<0?h(J):y(J)))throw Error(p+(le||"Argument")+("number"==typeof J?Jae?" out of range: ":" not an integer: ":" not a primitive number: ")+J)}function Z(J){return"[object Array]"==Object.prototype.toString.call(J)}function Q(J){var ee=J.c.length-1;return H(J.e/T)==ee&&J.c[ee]%2!=0}function ce(J,ee){return(J.length>1?J.charAt(0)+"."+J.slice(1):J)+(ee<0?"e":"e+")+ee}function G(J,ee,ae){var le,X;if(ee<0){for(X=ae+".";++ee;X+=ae);J=X+J}else if(++ee>(le=J.length)){for(X=ae,ee-=le;--ee;X+=ae);J+=X}else ee=10;be/=10,de++);return Ee.e=de,void(Ee.c=[W])}De=W+""}else{if(!f.test(De=W+""))return le(Ee,De,_e);Ee.s=45==De.charCodeAt(0)?(De=De.slice(1),-1):1}(de=De.indexOf("."))>-1&&(De=De.replace(".","")),(be=De.search(/e/i))>0?(de<0&&(de=be),de+=+De.slice(be+1),De=De.substring(0,be)):de<0&&(de=De.length)}else{if(ve(re,2,Yn.length,"Base"),De=W+"",10==re)return Ze(Ee=new Ue(W instanceof Ue?W:De),Se+Ee.e+1,Ce);if(_e="number"==typeof W){if(0*W!=0)return le(Ee,De,_e,re);if(Ee.s=1/W<0?(De=De.slice(1),-1):1,Ue.DEBUG&&De.replace(/^0\.0*|\./,"").length>15)throw Error(v+W);_e=!1}else Ee.s=45===De.charCodeAt(0)?(De=De.slice(1),-1):1;for(ne=Yn.slice(0,re),de=be=0,Me=De.length;bede){de=Me;continue}}else if(!he&&(De==De.toUpperCase()&&(De=De.toLowerCase())||De==De.toLowerCase()&&(De=De.toUpperCase()))){he=!0,be=-1,de=0;continue}return le(Ee,W+"",_e,re)}(de=(De=ae(De,re,10,Ee.s)).indexOf("."))>-1?De=De.replace(".",""):de=De.length}for(be=0;48===De.charCodeAt(be);be++);for(Me=De.length;48===De.charCodeAt(--Me););if(De=De.slice(be,++Me)){if(Me-=be,_e&&Ue.DEBUG&&Me>15&&(W>S||W!==y(W)))throw Error(v+Ee.s*W);if((de=de-be-1)>st)Ee.c=Ee.e=null;else if(de_e){if(--re>0)for(Me+=".";re--;Me+="0");}else if((re+=de-_e)>0)for(de+1==_e&&(Me+=".");re--;Me+="0");return W.s<0&&he?"-"+Me:Me}function Li(W,re){var ne,pe,he=0;for(Z(W[0])&&(W=W[0]),ne=new Ue(W[0]);++he=10;he/=10,pe++);return(ne=pe+ne*T-1)>st?W.c=W.e=null:ne=10;_e/=10,he++);if((de=re-he)<0)de+=T,Ee=(Me=Ne[De=0])/ut[he-(be=re)-1]%10|0;else if((De=h((de+1)/T))>=Ne.length){if(!pe)break e;for(;Ne.length<=De;Ne.push(0));Me=Ee=0,he=1,be=(de%=T)-T+1}else{for(Me=_e=Ne[De],he=1;_e>=10;_e/=10,he++);Ee=(be=(de%=T)-T+he)<0?0:Me/ut[he-be-1]%10|0}if(pe=pe||re<0||null!=Ne[De+1]||(be<0?Me:Me%ut[he-be-1]),pe=ne<4?(Ee||pe)&&(0==ne||ne==(W.s<0?3:2)):Ee>5||5==Ee&&(4==ne||pe||6==ne&&(de>0?be>0?Me/ut[he-be]:0:Ne[De-1])%10&1||ne==(W.s<0?8:7)),re<1||!Ne[0])return Ne.length=0,pe?(Ne[0]=ut[(T-(re-=W.e+1)%T)%T],W.e=-re||0):Ne[0]=W.e=0,W;if(0==de?(Ne.length=De,_e=1,De--):(Ne.length=De+1,_e=ut[T-de],Ne[De]=be>0?y(Me/ut[he-be]%ut[be])*_e:0),pe)for(;;){if(0==De){for(de=1,be=Ne[0];be>=10;be/=10,de++);for(be=Ne[0]+=_e,_e=1;be>=10;be/=10,_e++);de!=_e&&(W.e++,Ne[0]==x&&(Ne[0]=1));break}if(Ne[De]+=_e,Ne[De]!=x)break;Ne[De--]=0,_e=1}for(de=Ne.length;0===Ne[--de];Ne.pop());}W.e>st?W.c=W.e=null:W.e>>11))>=9e15?(he=crypto.getRandomValues(new Uint32Array(2)),pe[Me]=he[0],pe[Me+1]=he[1]):(De.push(_e%1e14),Me+=2);Me=be/2}else{if(!crypto.randomBytes)throw Rt=!1,Error(p+"crypto unavailable");for(pe=crypto.randomBytes(be*=7);Me=9e15?crypto.randomBytes(7).copy(pe,Me):(De.push(_e%1e14),Me+=7);Me=be/7}if(!Rt)for(;Me=10;_e/=10,Me++);Mehe-1&&(null==_e[be+1]&&(_e[be+1]=0),_e[be+1]+=_e[be]/he|0,_e[be]%=he)}return _e.reverse()}return function(ne,pe,he,de,be){var _e,Me,De,Ee,Ne,ut,_t,rt,on=ne.indexOf("."),Ln=Se,vt=Ce;for(on>=0&&(Ee=$n,$n=0,ne=ne.replace(".",""),ut=(rt=new Ue(pe)).pow(ne.length-on),$n=Ee,rt.c=re(G(K(ut.c),ut.e,"0"),10,he,W),rt.e=rt.c.length),De=Ee=(_t=re(ne,pe,he,be?(_e=Yn,W):(_e=W,Yn))).length;0==_t[--Ee];_t.pop());if(!_t[0])return _e.charAt(0);if(on<0?--De:(ut.c=_t,ut.e=De,ut.s=de,_t=(ut=ee(ut,rt,Ln,vt,he)).c,Ne=ut.r,De=ut.e),on=_t[Me=De+Ln+1],Ee=he/2,Ne=Ne||Me<0||null!=_t[Me+1],Ne=vt<4?(null!=on||Ne)&&(0==vt||vt==(ut.s<0?3:2)):on>Ee||on==Ee&&(4==vt||Ne||6==vt&&1&_t[Me-1]||vt==(ut.s<0?8:7)),Me<1||!_t[0])ne=Ne?G(_e.charAt(1),-Ln,_e.charAt(0)):_e.charAt(0);else{if(_t.length=Me,Ne)for(--he;++_t[--Me]>he;)_t[Me]=0,Me||(++De,_t=[1].concat(_t));for(Ee=_t.length;!_t[--Ee];);for(on=0,ne="";on<=Ee;ne+=_e.charAt(_t[on++]));ne=G(ne,De,_e.charAt(0))}return ne}}(),ee=function(){function W(pe,he,de){var be,_e,Me,De,Ee=0,Ne=pe.length,ut=he%L,_t=he/L|0;for(pe=pe.slice();Ne--;)Ee=((_e=ut*(Me=pe[Ne]%L)+(be=_t*Me+(De=pe[Ne]/L|0)*ut)%L*L+Ee)/de|0)+(be/L|0)+_t*De,pe[Ne]=_e%de;return Ee&&(pe=[Ee].concat(pe)),pe}function re(pe,he,de,be){var _e,Me;if(de!=be)Me=de>be?1:-1;else for(_e=Me=0;_ehe[_e]?1:-1;break}return Me}function ne(pe,he,de,be){for(var _e=0;de--;)pe[de]-=_e,pe[de]=(_e=pe[de]1;pe.splice(0,1));}return function(pe,he,de,be,_e){var Me,De,Ee,Ne,ut,_t,rt,on,Ln,vt,jt,jn,ri,Gr,ko,Ei,tn,vi=pe.s==he.s?1:-1,oi=pe.c,En=he.c;if(!(oi&&oi[0]&&En&&En[0]))return new Ue(pe.s&&he.s&&(oi?!En||oi[0]!=En[0]:En)?oi&&0==oi[0]||!En?0*vi:vi/0:NaN);for(Ln=(on=new Ue(vi)).c=[],vi=de+(De=pe.e-he.e)+1,_e||(_e=x,De=H(pe.e/T)-H(he.e/T),vi=vi/T|0),Ee=0;En[Ee]==(oi[Ee]||0);Ee++);if(En[Ee]>(oi[Ee]||0)&&De--,vi<0)Ln.push(1),Ne=!0;else{for(Gr=oi.length,Ei=En.length,Ee=0,vi+=2,(ut=y(_e/(En[0]+1)))>1&&(En=W(En,ut,_e),oi=W(oi,ut,_e),Ei=En.length,Gr=oi.length),ri=Ei,jt=(vt=oi.slice(0,Ei)).length;jt=_e/2&&ko++;do{if(ut=0,(Me=re(En,vt,Ei,jt))<0){if(jn=vt[0],Ei!=jt&&(jn=jn*_e+(vt[1]||0)),(ut=y(jn/ko))>1)for(ut>=_e&&(ut=_e-1),rt=(_t=W(En,ut,_e)).length,jt=vt.length;1==re(_t,vt,rt,jt);)ut--,ne(_t,Ei=10;vi/=10,Ee++);Ze(on,de+(on.e=Ee+De*T-1)+1,be,Ne)}else on.e=De,on.r=+Ne;return on}}(),le=function(){var W=/^(-?)0([xbo])(?=\w[\w.]*$)/i,re=/^([^.]+)\.$/,ne=/^\.([^.]+)$/,pe=/^-?(Infinity|NaN)$/,he=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(de,be,_e,Me){var De,Ee=_e?be:be.replace(he,"");if(pe.test(Ee))de.s=isNaN(Ee)?null:Ee<0?-1:1,de.c=de.e=null;else{if(!_e&&(Ee=Ee.replace(W,function(Ne,ut,_t){return De="x"==(_t=_t.toLowerCase())?16:"b"==_t?2:8,Me&&Me!=De?Ne:ut}),Me&&(De=Me,Ee=Ee.replace(re,"$1").replace(ne,"0.$1")),be!=Ee))return new Ue(Ee,De);if(Ue.DEBUG)throw Error(p+"Not a"+(Me?" base "+Me:"")+" number: "+be);de.c=de.e=de.s=null}}}(),X.absoluteValue=X.abs=function(){var W=new Ue(this);return W.s<0&&(W.s=1),W},X.comparedTo=function(W,re){return ie(this,new Ue(W,re))},X.decimalPlaces=X.dp=function(W,re){var ne,pe,he;if(null!=W)return ve(W,0,A),null==re?re=Ce:ve(re,0,8),Ze(new Ue(this),W+this.e+1,re);if(!(ne=this.c))return null;if(pe=((he=ne.length-1)-H(this.e/T))*T,he=ne[he])for(;he%10==0;he/=10,pe--);return pe<0&&(pe=0),pe},X.dividedBy=X.div=function(W,re){return ee(this,new Ue(W,re),Se,Ce)},X.dividedToIntegerBy=X.idiv=function(W,re){return ee(this,new Ue(W,re),0,1)},X.exponentiatedBy=X.pow=function(W,re){var ne,pe,he,be,_e,Me,De,Ee=this;if((W=new Ue(W)).c&&!W.isInteger())throw Error(p+"Exponent not an integer: "+W);if(null!=re&&(re=new Ue(re)),be=W.e>14,!Ee.c||!Ee.c[0]||1==Ee.c[0]&&!Ee.e&&1==Ee.c.length||!W.c||!W.c[0])return De=new Ue(Math.pow(+Ee.valueOf(),be?2-Q(W):+W)),re?De.mod(re):De;if(_e=W.s<0,re){if(re.c?!re.c[0]:!re.s)return new Ue(NaN);(pe=!_e&&Ee.isInteger()&&re.isInteger())&&(Ee=Ee.mod(re))}else{if(W.e>9&&(Ee.e>0||Ee.e<-1||(0==Ee.e?Ee.c[0]>1||be&&Ee.c[1]>=24e7:Ee.c[0]<8e13||be&&Ee.c[0]<=9999975e7)))return he=Ee.s<0&&Q(W)?-0:0,Ee.e>-1&&(he=1/he),new Ue(_e?1/he:he);$n&&(he=h($n/T+2))}for(be?(ne=new Ue(.5),Me=Q(W)):Me=W%2,_e&&(W.s=1),De=new Ue(Te);;){if(Me){if(!(De=De.times(Ee)).c)break;he?De.c.length>he&&(De.c.length=he):pe&&(De=De.mod(re))}if(be){if(Ze(W=W.times(ne),W.e+1,1),!W.c[0])break;be=W.e>14,Me=Q(W)}else{if(!(W=y(W/2)))break;Me=W%2}Ee=Ee.times(Ee),he?Ee.c&&Ee.c.length>he&&(Ee.c.length=he):pe&&(Ee=Ee.mod(re))}return pe?De:(_e&&(De=Te.div(De)),re?De.mod(re):he?Ze(De,$n,Ce,void 0):De)},X.integerValue=function(W){var re=new Ue(this);return null==W?W=Ce:ve(W,0,8),Ze(re,re.e+1,W)},X.isEqualTo=X.eq=function(W,re){return 0===ie(this,new Ue(W,re))},X.isFinite=function(){return!!this.c},X.isGreaterThan=X.gt=function(W,re){return ie(this,new Ue(W,re))>0},X.isGreaterThanOrEqualTo=X.gte=function(W,re){return 1===(re=ie(this,new Ue(W,re)))||0===re},X.isInteger=function(){return!!this.c&&H(this.e/T)>this.c.length-2},X.isLessThan=X.lt=function(W,re){return ie(this,new Ue(W,re))<0},X.isLessThanOrEqualTo=X.lte=function(W,re){return-1===(re=ie(this,new Ue(W,re)))||0===re},X.isNaN=function(){return!this.s},X.isNegative=function(){return this.s<0},X.isPositive=function(){return this.s>0},X.isZero=function(){return!!this.c&&0==this.c[0]},X.minus=function(W,re){var ne,pe,he,de,be=this,_e=be.s;if(re=(W=new Ue(W,re)).s,!_e||!re)return new Ue(NaN);if(_e!=re)return W.s=-re,be.plus(W);var Me=be.e/T,De=W.e/T,Ee=be.c,Ne=W.c;if(!Me||!De){if(!Ee||!Ne)return Ee?(W.s=-re,W):new Ue(Ne?be:NaN);if(!Ee[0]||!Ne[0])return Ne[0]?(W.s=-re,W):new Ue(Ee[0]?be:3==Ce?-0:0)}if(Me=H(Me),De=H(De),Ee=Ee.slice(),_e=Me-De){for((de=_e<0)?(_e=-_e,he=Ee):(De=Me,he=Ne),he.reverse(),re=_e;re--;he.push(0));he.reverse()}else for(pe=(de=(_e=Ee.length)<(re=Ne.length))?_e:re,_e=re=0;re0)for(;re--;Ee[ne++]=0);for(re=x-1;pe>_e;){if(Ee[--pe]=0;){for(ne=0,ut=jn[he]%Ln,_t=jn[he]/Ln|0,de=he+(be=Me);de>he;)ne=((De=ut*(De=jt[--be]%Ln)+(_e=_t*De+(Ee=jt[be]/Ln|0)*ut)%Ln*Ln+rt[de]+ne)/on|0)+(_e/Ln|0)+_t*Ee,rt[de--]=De%on;rt[de]=ne}return ne?++pe:rt.splice(0,1),rr(W,rt,pe)},X.negated=function(){var W=new Ue(this);return W.s=-W.s||null,W},X.plus=function(W,re){var ne,pe=this,he=pe.s;if(re=(W=new Ue(W,re)).s,!he||!re)return new Ue(NaN);if(he!=re)return W.s=-re,pe.minus(W);var de=pe.e/T,be=W.e/T,_e=pe.c,Me=W.c;if(!de||!be){if(!_e||!Me)return new Ue(he/0);if(!_e[0]||!Me[0])return Me[0]?W:new Ue(_e[0]?pe:0*he)}if(de=H(de),be=H(be),_e=_e.slice(),he=de-be){for(he>0?(be=de,ne=Me):(he=-he,ne=_e),ne.reverse();he--;ne.push(0));ne.reverse()}for((he=_e.length)-(re=Me.length)<0&&(ne=Me,Me=_e,_e=ne,re=he),he=0;re;)he=(_e[--re]=_e[re]+Me[re]+he)/x|0,_e[re]=x===_e[re]?0:_e[re]%x;return he&&(_e=[he].concat(_e),++be),rr(W,_e,be)},X.precision=X.sd=function(W,re){var ne,pe,he;if(null!=W&&W!==!!W)return ve(W,1,A),null==re?re=Ce:ve(re,0,8),Ze(new Ue(this),W,re);if(!(ne=this.c))return null;if(pe=(he=ne.length-1)*T+1,he=ne[he]){for(;he%10==0;he/=10,pe--);for(he=ne[0];he>=10;he/=10,pe++);}return W&&this.e+1>pe&&(pe=this.e+1),pe},X.shiftedBy=function(W){return ve(W,-S,S),this.times("1e"+W)},X.squareRoot=X.sqrt=function(){var W,re,ne,pe,he,de=this,be=de.c,_e=de.s,Me=de.e,De=Se+4,Ee=new Ue("0.5");if(1!==_e||!be||!be[0])return new Ue(!_e||_e<0&&(!be||be[0])?NaN:be?de:1/0);if(0==(_e=Math.sqrt(+de))||_e==1/0?(((re=K(be)).length+Me)%2==0&&(re+="0"),_e=Math.sqrt(re),Me=H((Me+1)/2)-(Me<0||Me%2),ne=new Ue(re=_e==1/0?"1e"+Me:(re=_e.toExponential()).slice(0,re.indexOf("e")+1)+Me)):ne=new Ue(_e+""),ne.c[0])for((_e=(Me=ne.e)+De)<3&&(_e=0);;)if(ne=Ee.times((he=ne).plus(ee(de,he,De,1))),K(he.c).slice(0,_e)===(re=K(ne.c)).slice(0,_e)){if(ne.e0&&ut>0){for(Me=Ne.substr(0,pe=ut%de||de);pe0&&(Me+=_e+Ne.slice(pe)),Ee&&(Me="-"+Me)}ne=De?Me+Tn.decimalSeparator+((be=+Tn.fractionGroupSize)?De.replace(new RegExp("\\d{"+be+"}\\B","g"),"$&"+Tn.fractionGroupSeparator):De):Me}return ne},X.toFraction=function(W){var re,ne,pe,he,de,be,_e,Me,De,Ee,Ne,ut,_t=this,rt=_t.c;if(null!=W&&(!(Me=new Ue(W)).isInteger()&&(Me.c||1!==Me.s)||Me.lt(Te)))throw Error(p+"Argument "+(Me.isInteger()?"out of range: ":"not an integer: ")+W);if(!rt)return _t.toString();for(ne=new Ue(Te),Ee=pe=new Ue(Te),he=De=new Ue(Te),ut=K(rt),be=ne.e=ut.length-_t.e-1,ne.c[0]=k[(_e=be%T)<0?T+_e:_e],W=!W||Me.comparedTo(ne)>0?be>0?ne:Ee:Me,_e=st,st=1/0,Me=new Ue(ut),De.c[0]=0;Ne=ee(Me,ne,0,1),1!=(de=pe.plus(Ne.times(he))).comparedTo(W);)pe=he,he=de,Ee=De.plus(Ne.times(de=Ee)),De=de,ne=Me.minus(Ne.times(de=ne)),Me=de;return de=ee(W.minus(pe),he,0,1),De=De.plus(de.times(Ee)),pe=pe.plus(de.times(he)),De.s=Ee.s=_t.s,re=ee(Ee,he,be*=2,Ce).minus(_t).abs().comparedTo(ee(De,pe,be,Ce).minus(_t).abs())<1?[Ee.toString(),he.toString()]:[De.toString(),pe.toString()],st=_e,re},X.toNumber=function(){return+this},X.toPrecision=function(W,re){return null!=W&&ve(W,1,A),Ti(this,W,re,2)},X.toString=function(W){var re,pe=this.s,he=this.e;return null===he?pe?(re="Infinity",pe<0&&(re="-"+re)):re="NaN":(re=K(this.c),null==W?re=he<=He||he>=et?ce(re,he):G(re,he,"0"):(ve(W,2,Yn.length,"Base"),re=ae(G(re,he,"0"),10,W,pe,!0)),pe<0&&this.c[0]&&(re="-"+re)),re},X.valueOf=X.toJSON=function(){var W,ne=this.e;return null===ne?this.toString():(W=K(this.c),W=ne<=He||ne>=et?ce(W,ne):G(W,ne,"0"),this.s<0?"-"+W:W)},X._isBigNumber=!0,null!=J&&Ue.set(J),Ue}(),u.default=u.BigNumber=u,void 0!==(O=function(){return u}.call(ge,N,ge,ue))&&(ue.exports=O)}()},6149:(ue,ge,N)=>{var O=N(5979)();O.helpers=N(3305),N(3533)(O),O.defaults=N(9800),O.Element=N(8839),O.elements=N(9931),O.Interaction=N(2814),O.layouts=N(2294),O.platform=N(8244),O.plugins=N(2445),O.Ticks=N(8347),N(8103)(O),N(1047)(O),N(7897)(O),N(5464)(O),N(6308)(O),N(480)(O),N(8351)(O),N(4977)(O),N(1704)(O),N(1486)(O),N(8726)(O),N(4215)(O),N(2690)(O),N(4033)(O),N(787)(O),N(6769)(O),N(6580)(O),N(4657)(O),N(1895)(O),N(6038)(O),N(2898)(O),N(3414)(O),N(6667)(O),N(402)(O),N(846)(O),N(9377)(O);var _=N(6747);for(var u in _)_.hasOwnProperty(u)&&O.plugins.register(_[u]);O.platform.initialize(),ue.exports=O,typeof window<"u"&&(window.Chart=O),O.Legend=_.legend._element,O.Title=_.title._element,O.pluginService=O.plugins,O.PluginBase=O.Element.extend({}),O.canvasHelpers=O.helpers.canvas,O.layoutService=O.layouts},6038:ue=>{"use strict";ue.exports=function(ge){ge.Bar=function(N,O){return O.type="bar",new ge(N,O)}}},2898:ue=>{"use strict";ue.exports=function(ge){ge.Bubble=function(N,O){return O.type="bubble",new ge(N,O)}}},3414:ue=>{"use strict";ue.exports=function(ge){ge.Doughnut=function(N,O){return O.type="doughnut",new ge(N,O)}}},6667:ue=>{"use strict";ue.exports=function(ge){ge.Line=function(N,O){return O.type="line",new ge(N,O)}}},402:ue=>{"use strict";ue.exports=function(ge){ge.PolarArea=function(N,O){return O.type="polarArea",new ge(N,O)}}},846:ue=>{"use strict";ue.exports=function(ge){ge.Radar=function(N,O){return O.type="radar",new ge(N,O)}}},9377:ue=>{"use strict";ue.exports=function(ge){ge.Scatter=function(N,O){return O.type="scatter",new ge(N,O)}}},2690:(ue,ge,N)=>{"use strict";var O=N(9800),_=N(9931),u=N(3305);O._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}}),O._set("horizontalBar",{hover:{mode:"index",axis:"y"},scales:{xAxes:[{type:"linear",position:"bottom"}],yAxes:[{position:"left",type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:"left"}},tooltips:{callbacks:{title:function(p,v){var x="";return p.length>0&&(p[0].yLabel?x=p[0].yLabel:v.labels.length>0&&p[0].index0?Math.min(x,k-S):x,S=k;return x}(x,U):-1,{min:ie,pixels:U,start:L,end:A,stackCount:T,scale:x}},calculateBarValuePixels:function(v,x){var ve,Z,Q,ce,G,J,T=this,S=T.chart,k=T.getMeta(),L=T.getValueScale(),A=S.data.datasets,U=L.getRightValue(A[v].data[x]),H=L.options.stacked,K=k.stack,ie=0;if(H||void 0===H&&void 0!==K)for(ve=0;ve=0&&Q>0)&&(ie+=Q));return ce=L.getPixelForValue(ie),{size:J=((G=L.getPixelForValue(ie+U))-ce)/2,base:ce,head:G,center:G+J/2}},calculateBarIndexPixels:function(v,x,T){var k=T.scale.options,L="flex"===k.barThickness?function y(p,v,x){var T=v.pixels,S=T[p],k=p>0?T[p-1]:null,L=p{"use strict";var O=N(9800),_=N(9931),u=N(3305);O._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(f,h){return(h.datasets[f.datasetIndex].label||"")+": ("+f.xLabel+", "+f.yLabel+", "+h.datasets[f.datasetIndex].data[f.index].r+")"}}}}),ue.exports=function(f){f.controllers.bubble=f.DatasetController.extend({dataElementType:_.Point,update:function(h){var y=this,p=y.getMeta();u.each(p.data,function(x,T){y.updateElement(x,T,h)})},updateElement:function(h,y,p){var v=this,x=v.getMeta(),T=h.custom||{},S=v.getScaleForId(x.xAxisID),k=v.getScaleForId(x.yAxisID),L=v._resolveElementOptions(h,y),A=v.getDataset().data[y],U=v.index,H=p?S.getPixelForDecimal(.5):S.getPixelForValue("object"==typeof A?A:NaN,y,U),K=p?k.getBasePixel():k.getPixelForValue(A,y,U);h._xScale=S,h._yScale=k,h._options=L,h._datasetIndex=U,h._index=y,h._model={backgroundColor:L.backgroundColor,borderColor:L.borderColor,borderWidth:L.borderWidth,hitRadius:L.hitRadius,pointStyle:L.pointStyle,radius:p?0:L.radius,skip:T.skip||isNaN(H)||isNaN(K),x:H,y:K},h.pivot()},setHoverStyle:function(h){var y=h._model,p=h._options;y.backgroundColor=u.valueOrDefault(p.hoverBackgroundColor,u.getHoverColor(p.backgroundColor)),y.borderColor=u.valueOrDefault(p.hoverBorderColor,u.getHoverColor(p.borderColor)),y.borderWidth=u.valueOrDefault(p.hoverBorderWidth,p.borderWidth),y.radius=p.radius+p.hoverRadius},removeHoverStyle:function(h){var y=h._model,p=h._options;y.backgroundColor=p.backgroundColor,y.borderColor=p.borderColor,y.borderWidth=p.borderWidth,y.radius=p.radius},_resolveElementOptions:function(h,y){var H,K,ie,p=this,v=p.chart,T=v.data.datasets[p.index],S=h.custom||{},k=v.options.elements.point,L=u.options.resolve,A=T.data[y],U={},ve={chart:v,dataIndex:y,dataset:T,datasetIndex:p.index},Z=["backgroundColor","borderColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","hoverRadius","hitRadius","pointStyle"];for(H=0,K=Z.length;H{"use strict";var O=N(9800),_=N(9931),u=N(3305);O._set("doughnut",{animation:{animateRotate:!0,animateScale:!1},hover:{mode:"single"},legendCallback:function(f){var h=[];h.push('
    ');var y=f.data,p=y.datasets,v=y.labels;if(p.length)for(var x=0;x'),v[x]&&h.push(v[x]),h.push("");return h.push("
"),h.join("")},legend:{labels:{generateLabels:function(f){var h=f.data;return h.labels.length&&h.datasets.length?h.labels.map(function(y,p){var v=f.getDatasetMeta(0),x=h.datasets[0],T=v.data[p],S=T&&T.custom||{},k=u.valueAtIndexOrDefault,L=f.options.elements.arc;return{text:y,fillStyle:S.backgroundColor?S.backgroundColor:k(x.backgroundColor,p,L.backgroundColor),strokeStyle:S.borderColor?S.borderColor:k(x.borderColor,p,L.borderColor),lineWidth:S.borderWidth?S.borderWidth:k(x.borderWidth,p,L.borderWidth),hidden:isNaN(x.data[p])||v.data[p].hidden,index:p}}):[]}},onClick:function(f,h){var v,x,T,y=h.index,p=this.chart;for(v=0,x=(p.data.datasets||[]).length;v=Math.PI?-1:ie<-Math.PI?1:0))+K,Z={x:Math.cos(ie),y:Math.sin(ie)},Q={x:Math.cos(ve),y:Math.sin(ve)},ce=ie<=0&&ve>=0||ie<=2*Math.PI&&2*Math.PI<=ve,G=ie<=.5*Math.PI&&.5*Math.PI<=ve||ie<=2.5*Math.PI&&2.5*Math.PI<=ve,J=ie<=-Math.PI&&-Math.PI<=ve||ie<=Math.PI&&Math.PI<=ve,ee=ie<=.5*-Math.PI&&.5*-Math.PI<=ve||ie<=1.5*Math.PI&&1.5*Math.PI<=ve,ae=H/100,le={x:J?-1:Math.min(Z.x*(Z.x<0?1:ae),Q.x*(Q.x<0?1:ae)),y:ee?-1:Math.min(Z.y*(Z.y<0?1:ae),Q.y*(Q.y<0?1:ae))},X={x:ce?1:Math.max(Z.x*(Z.x>0?1:ae),Q.x*(Q.x>0?1:ae)),y:G?1:Math.max(Z.y*(Z.y>0?1:ae),Q.y*(Q.y>0?1:ae))},Te={width:.5*(X.x-le.x),height:.5*(X.y-le.y)};L=Math.min(S/Te.width,k/Te.height),A={x:-.5*(X.x+le.x),y:-.5*(X.y+le.y)}}p.borderWidth=y.getMaxBorderWidth(U.data),p.outerRadius=Math.max((L-p.borderWidth)/2,0),p.innerRadius=Math.max(H?p.outerRadius/100*H:0,0),p.radiusLength=(p.outerRadius-p.innerRadius)/p.getVisibleDatasetCount(),p.offsetX=A.x*p.outerRadius,p.offsetY=A.y*p.outerRadius,U.total=y.calculateTotal(),y.outerRadius=p.outerRadius-p.radiusLength*y.getRingIndex(y.index),y.innerRadius=Math.max(y.outerRadius-p.radiusLength,0),u.each(U.data,function(Se,Ce){y.updateElement(Se,Ce,h)})},updateElement:function(h,y,p){var v=this,x=v.chart,T=x.chartArea,S=x.options,k=S.animation,L=(T.left+T.right)/2,A=(T.top+T.bottom)/2,U=S.rotation,H=S.rotation,K=v.getDataset(),ie=p&&k.animateRotate||h.hidden?0:v.calculateCircumference(K.data[y])*(S.circumference/(2*Math.PI));u.extend(h,{_datasetIndex:v.index,_index:y,_model:{x:L+x.offsetX,y:A+x.offsetY,startAngle:U,endAngle:H,circumference:ie,outerRadius:p&&k.animateScale?0:v.outerRadius,innerRadius:p&&k.animateScale?0:v.innerRadius,label:(0,u.valueAtIndexOrDefault)(K.label,y,x.data.labels[y])}});var ce=h._model;this.removeHoverStyle(h),(!p||!k.animateRotate)&&(ce.startAngle=0===y?S.rotation:v.getMeta().data[y-1]._model.endAngle,ce.endAngle=ce.startAngle+ce.circumference),h.pivot()},removeHoverStyle:function(h){f.DatasetController.prototype.removeHoverStyle.call(this,h,this.chart.options.elements.arc)},calculateTotal:function(){var v,h=this.getDataset(),y=this.getMeta(),p=0;return u.each(y.data,function(x,T){v=h.data[T],!isNaN(v)&&!x.hidden&&(p+=Math.abs(v))}),p},calculateCircumference:function(h){var y=this.getMeta().total;return y>0&&!isNaN(h)?2*Math.PI*(Math.abs(h)/y):0},getMaxBorderWidth:function(h){for(var x,T,y=0,p=this.index,v=h.length,S=0;S(y=(x=h[S]._model?h[S]._model.borderWidth:0)>y?x:y)?T:y;return y}})}},6769:(ue,ge,N)=>{"use strict";var O=N(9800),_=N(9931),u=N(3305);O._set("line",{showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}}),ue.exports=function(f){function h(y,p){return u.valueOrDefault(y.showLine,p.showLines)}f.controllers.line=f.DatasetController.extend({datasetElementType:_.Line,dataElementType:_.Point,update:function(y){var A,U,H,p=this,v=p.getMeta(),x=v.dataset,T=v.data||[],S=p.chart.options,k=S.elements.line,L=p.getScaleForId(v.yAxisID),K=p.getDataset(),ie=h(K,S);for(ie&&(H=x.custom||{},void 0!==K.tension&&void 0===K.lineTension&&(K.lineTension=K.tension),x._scale=L,x._datasetIndex=p.index,x._children=T,x._model={spanGaps:K.spanGaps?K.spanGaps:S.spanGaps,tension:H.tension?H.tension:u.valueOrDefault(K.lineTension,k.tension),backgroundColor:H.backgroundColor?H.backgroundColor:K.backgroundColor||k.backgroundColor,borderWidth:H.borderWidth?H.borderWidth:K.borderWidth||k.borderWidth,borderColor:H.borderColor?H.borderColor:K.borderColor||k.borderColor,borderCapStyle:H.borderCapStyle?H.borderCapStyle:K.borderCapStyle||k.borderCapStyle,borderDash:H.borderDash?H.borderDash:K.borderDash||k.borderDash,borderDashOffset:H.borderDashOffset?H.borderDashOffset:K.borderDashOffset||k.borderDashOffset,borderJoinStyle:H.borderJoinStyle?H.borderJoinStyle:K.borderJoinStyle||k.borderJoinStyle,fill:H.fill?H.fill:void 0!==K.fill?K.fill:k.fill,steppedLine:H.steppedLine?H.steppedLine:u.valueOrDefault(K.steppedLine,k.stepped),cubicInterpolationMode:H.cubicInterpolationMode?H.cubicInterpolationMode:u.valueOrDefault(K.cubicInterpolationMode,k.cubicInterpolationMode)},x.pivot()),A=0,U=T.length;A{"use strict";var O=N(9800),_=N(9931),u=N(3305);O._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(f){var h=[];h.push('
    ');var y=f.data,p=y.datasets,v=y.labels;if(p.length)for(var x=0;x'),v[x]&&h.push(v[x]),h.push("");return h.push("
"),h.join("")},legend:{labels:{generateLabels:function(f){var h=f.data;return h.labels.length&&h.datasets.length?h.labels.map(function(y,p){var v=f.getDatasetMeta(0),x=h.datasets[0],S=v.data[p].custom||{},k=u.valueAtIndexOrDefault,L=f.options.elements.arc;return{text:y,fillStyle:S.backgroundColor?S.backgroundColor:k(x.backgroundColor,p,L.backgroundColor),strokeStyle:S.borderColor?S.borderColor:k(x.borderColor,p,L.borderColor),lineWidth:S.borderWidth?S.borderWidth:k(x.borderWidth,p,L.borderWidth),hidden:isNaN(x.data[p])||v.data[p].hidden,index:p}}):[]}},onClick:function(f,h){var v,x,T,y=h.index,p=this.chart;for(v=0,x=(p.data.datasets||[]).length;v0&&!isNaN(h)?2*Math.PI/y:0}})}},4657:(ue,ge,N)=>{"use strict";var O=N(9800),_=N(9931),u=N(3305);O._set("radar",{scale:{type:"radialLinear"},elements:{line:{tension:0}}}),ue.exports=function(f){f.controllers.radar=f.DatasetController.extend({datasetElementType:_.Line,dataElementType:_.Point,linkScales:u.noop,update:function(h){var y=this,p=y.getMeta(),x=p.data,T=p.dataset.custom||{},S=y.getDataset(),k=y.chart.options.elements.line,L=y.chart.scale;void 0!==S.tension&&void 0===S.lineTension&&(S.lineTension=S.tension),u.extend(p.dataset,{_datasetIndex:y.index,_scale:L,_children:x,_loop:!0,_model:{tension:T.tension?T.tension:u.valueOrDefault(S.lineTension,k.tension),backgroundColor:T.backgroundColor?T.backgroundColor:S.backgroundColor||k.backgroundColor,borderWidth:T.borderWidth?T.borderWidth:S.borderWidth||k.borderWidth,borderColor:T.borderColor?T.borderColor:S.borderColor||k.borderColor,fill:T.fill?T.fill:void 0!==S.fill?S.fill:k.fill,borderCapStyle:T.borderCapStyle?T.borderCapStyle:S.borderCapStyle||k.borderCapStyle,borderDash:T.borderDash?T.borderDash:S.borderDash||k.borderDash,borderDashOffset:T.borderDashOffset?T.borderDashOffset:S.borderDashOffset||k.borderDashOffset,borderJoinStyle:T.borderJoinStyle?T.borderJoinStyle:S.borderJoinStyle||k.borderJoinStyle}}),p.dataset.pivot(),u.each(x,function(A,U){y.updateElement(A,U,h)},y),y.updateBezierControlPoints()},updateElement:function(h,y,p){var v=this,x=h.custom||{},T=v.getDataset(),S=v.chart.scale,k=v.chart.options.elements.point,L=S.getPointPositionForValue(y,T.data[y]);void 0!==T.radius&&void 0===T.pointRadius&&(T.pointRadius=T.radius),void 0!==T.hitRadius&&void 0===T.pointHitRadius&&(T.pointHitRadius=T.hitRadius),u.extend(h,{_datasetIndex:v.index,_index:y,_scale:S,_model:{x:p?S.xCenter:L.x,y:p?S.yCenter:L.y,tension:x.tension?x.tension:u.valueOrDefault(T.lineTension,v.chart.options.elements.line.tension),radius:x.radius?x.radius:u.valueAtIndexOrDefault(T.pointRadius,y,k.radius),backgroundColor:x.backgroundColor?x.backgroundColor:u.valueAtIndexOrDefault(T.pointBackgroundColor,y,k.backgroundColor),borderColor:x.borderColor?x.borderColor:u.valueAtIndexOrDefault(T.pointBorderColor,y,k.borderColor),borderWidth:x.borderWidth?x.borderWidth:u.valueAtIndexOrDefault(T.pointBorderWidth,y,k.borderWidth),pointStyle:x.pointStyle?x.pointStyle:u.valueAtIndexOrDefault(T.pointStyle,y,k.pointStyle),hitRadius:x.hitRadius?x.hitRadius:u.valueAtIndexOrDefault(T.pointHitRadius,y,k.hitRadius)}}),h._model.skip=x.skip?x.skip:isNaN(h._model.x)||isNaN(h._model.y)},updateBezierControlPoints:function(){var h=this.chart.chartArea,y=this.getMeta();u.each(y.data,function(p,v){var x=p._model,T=u.splineCurve(u.previousItem(y.data,v,!0)._model,x,u.nextItem(y.data,v,!0)._model,x.tension);x.controlPointPreviousX=Math.max(Math.min(T.previous.x,h.right),h.left),x.controlPointPreviousY=Math.max(Math.min(T.previous.y,h.bottom),h.top),x.controlPointNextX=Math.max(Math.min(T.next.x,h.right),h.left),x.controlPointNextY=Math.max(Math.min(T.next.y,h.bottom),h.top),p.pivot()})},setHoverStyle:function(h){var y=this.chart.data.datasets[h._datasetIndex],p=h.custom||{},v=h._index,x=h._model;x.radius=p.hoverRadius?p.hoverRadius:u.valueAtIndexOrDefault(y.pointHoverRadius,v,this.chart.options.elements.point.hoverRadius),x.backgroundColor=p.hoverBackgroundColor?p.hoverBackgroundColor:u.valueAtIndexOrDefault(y.pointHoverBackgroundColor,v,u.getHoverColor(x.backgroundColor)),x.borderColor=p.hoverBorderColor?p.hoverBorderColor:u.valueAtIndexOrDefault(y.pointHoverBorderColor,v,u.getHoverColor(x.borderColor)),x.borderWidth=p.hoverBorderWidth?p.hoverBorderWidth:u.valueAtIndexOrDefault(y.pointHoverBorderWidth,v,x.borderWidth)},removeHoverStyle:function(h){var y=this.chart.data.datasets[h._datasetIndex],p=h.custom||{},v=h._index,x=h._model,T=this.chart.options.elements.point;x.radius=p.radius?p.radius:u.valueAtIndexOrDefault(y.pointRadius,v,T.radius),x.backgroundColor=p.backgroundColor?p.backgroundColor:u.valueAtIndexOrDefault(y.pointBackgroundColor,v,T.backgroundColor),x.borderColor=p.borderColor?p.borderColor:u.valueAtIndexOrDefault(y.pointBorderColor,v,T.borderColor),x.borderWidth=p.borderWidth?p.borderWidth:u.valueAtIndexOrDefault(y.pointBorderWidth,v,T.borderWidth)}})}},1895:(ue,ge,N)=>{"use strict";N(9800)._set("scatter",{hover:{mode:"single"},scales:{xAxes:[{id:"x-axis-1",type:"linear",position:"bottom"}],yAxes:[{id:"y-axis-1",type:"linear",position:"left"}]},showLines:!1,tooltips:{callbacks:{title:function(){return""},label:function(_){return"("+_.xLabel+", "+_.yLabel+")"}}}}),ue.exports=function(_){_.controllers.scatter=_.controllers.line}},8103:(ue,ge,N)=>{"use strict";var O=N(9800),_=N(8839),u=N(3305);O._set("global",{animation:{duration:1e3,easing:"easeOutQuart",onProgress:u.noop,onComplete:u.noop}}),ue.exports=function(f){f.Animation=_.extend({chart:null,currentStep:0,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),f.animationService={frameDuration:17,animations:[],dropFrames:0,request:null,addAnimation:function(h,y,p,v){var T,S,x=this.animations;for(y.chart=h,v||(h.animating=!0),T=0,S=x.length;T1&&(p=Math.floor(h.dropFrames),h.dropFrames=h.dropFrames%1),h.advance(1+p);var v=Date.now();h.dropFrames+=(v-y)/h.frameDuration,h.animations.length>0&&h.requestAnimationFrame()},advance:function(h){for(var p,v,y=this.animations,x=0;x=p.numSteps?(u.callback(p.onAnimationComplete,[p],v),v.animating=!1,y.splice(x,1)):++x}},Object.defineProperty(f.Animation.prototype,"animationObject",{get:function(){return this}}),Object.defineProperty(f.Animation.prototype,"chartInstance",{get:function(){return this.chart},set:function(h){this.chart=h}})}},1047:(ue,ge,N)=>{"use strict";var O=N(9800),_=N(3305),u=N(2814),f=N(2294),h=N(8244),y=N(2445);ue.exports=function(p){function x(S){var k=S.options;_.each(S.scales,function(L){f.removeBox(S,L)}),k=_.configMerge(p.defaults.global,p.defaults[S.config.type],k),S.options=S.config.options=k,S.ensureScalesHaveIDs(),S.buildOrUpdateScales(),S.tooltip._options=k.tooltips,S.tooltip.initialize()}function T(S){return"top"===S||"bottom"===S}p.types={},p.instances={},p.controllers={},_.extend(p.prototype,{construct:function(S,k){var L=this;k=function v(S){var k=(S=S||{}).data=S.data||{};return k.datasets=k.datasets||[],k.labels=k.labels||[],S.options=_.configMerge(O.global,O[S.type],S.options||{}),S}(k);var A=h.acquireContext(S,k),U=A&&A.canvas,H=U&&U.height,K=U&&U.width;L.id=_.uid(),L.ctx=A,L.canvas=U,L.config=k,L.width=K,L.height=H,L.aspectRatio=H?K/H:null,L.options=k.options,L._bufferedRender=!1,L.chart=L,L.controller=L,p.instances[L.id]=L,Object.defineProperty(L,"data",{get:function(){return L.config.data},set:function(ie){L.config.data=ie}}),A&&U?(L.initialize(),L.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var S=this;return y.notify(S,"beforeInit"),_.retinaScale(S,S.options.devicePixelRatio),S.bindEvents(),S.options.responsive&&S.resize(!0),S.ensureScalesHaveIDs(),S.buildOrUpdateScales(),S.initToolTip(),y.notify(S,"afterInit"),S},clear:function(){return _.canvas.clear(this),this},stop:function(){return p.animationService.cancelAnimation(this),this},resize:function(S){var k=this,L=k.options,A=k.canvas,U=L.maintainAspectRatio&&k.aspectRatio||null,H=Math.max(0,Math.floor(_.getMaximumWidth(A))),K=Math.max(0,Math.floor(U?H/U:_.getMaximumHeight(A)));if((k.width!==H||k.height!==K)&&(A.width=k.width=H,A.height=k.height=K,A.style.width=H+"px",A.style.height=K+"px",_.retinaScale(k,L.devicePixelRatio),!S)){var ie={width:H,height:K};y.notify(k,"resize",[ie]),k.options.onResize&&k.options.onResize(k,ie),k.stop(),k.update(k.options.responsiveAnimationDuration)}},ensureScalesHaveIDs:function(){var S=this.options,k=S.scales||{},L=S.scale;_.each(k.xAxes,function(A,U){A.id=A.id||"x-axis-"+U}),_.each(k.yAxes,function(A,U){A.id=A.id||"y-axis-"+U}),L&&(L.id=L.id||"scale")},buildOrUpdateScales:function(){var S=this,k=S.options,L=S.scales||{},A=[],U=Object.keys(L).reduce(function(H,K){return H[K]=!1,H},{});k.scales&&(A=A.concat((k.scales.xAxes||[]).map(function(H){return{options:H,dtype:"category",dposition:"bottom"}}),(k.scales.yAxes||[]).map(function(H){return{options:H,dtype:"linear",dposition:"left"}}))),k.scale&&A.push({options:k.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),_.each(A,function(H){var K=H.options,ie=K.id,ve=_.valueOrDefault(K.type,H.dtype);T(K.position)!==T(H.dposition)&&(K.position=H.dposition),U[ie]=!0;var Z=null;if(ie in L&&L[ie].type===ve)(Z=L[ie]).options=K,Z.ctx=S.ctx,Z.chart=S;else{var Q=p.scaleService.getScaleConstructor(ve);if(!Q)return;Z=new Q({id:ie,type:ve,options:K,ctx:S.ctx,chart:S}),L[Z.id]=Z}Z.mergeTicksOptions(),H.isDefault&&(S.scale=Z)}),_.each(U,function(H,K){H||delete L[K]}),S.scales=L,p.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var S=this,k=[],L=[];return _.each(S.data.datasets,function(A,U){var H=S.getDatasetMeta(U),K=A.type||S.config.type;if(H.type&&H.type!==K&&(S.destroyDatasetMeta(U),H=S.getDatasetMeta(U)),H.type=K,k.push(H.type),H.controller)H.controller.updateIndex(U),H.controller.linkScales();else{var ie=p.controllers[H.type];if(void 0===ie)throw new Error('"'+H.type+'" is not a chart type.');H.controller=new ie(S,U),L.push(H.controller)}},S),L},resetElements:function(){var S=this;_.each(S.data.datasets,function(k,L){S.getDatasetMeta(L).controller.reset()},S)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(S){var k=this;if((!S||"object"!=typeof S)&&(S={duration:S,lazy:arguments[1]}),x(k),y._invalidate(k),!1!==y.notify(k,"beforeUpdate")){k.tooltip._data=k.data;var L=k.buildOrUpdateControllers();_.each(k.data.datasets,function(A,U){k.getDatasetMeta(U).controller.buildOrUpdateElements()},k),k.updateLayout(),k.options.animation&&k.options.animation.duration&&_.each(L,function(A){A.reset()}),k.updateDatasets(),k.tooltip.initialize(),k.lastActive=[],y.notify(k,"afterUpdate"),k._bufferedRender?k._bufferedRequest={duration:S.duration,easing:S.easing,lazy:S.lazy}:k.render(S)}},updateLayout:function(){var S=this;!1!==y.notify(S,"beforeLayout")&&(f.update(this,this.width,this.height),y.notify(S,"afterScaleUpdate"),y.notify(S,"afterLayout"))},updateDatasets:function(){var S=this;if(!1!==y.notify(S,"beforeDatasetsUpdate")){for(var k=0,L=S.data.datasets.length;k"u"&&0!==U.duration)){var K=new p.Animation({numSteps:(L||U.duration)/16.66,easing:S.easing||U.easing,render:function(ie,ve){var Q=ve.currentStep,ce=Q/ve.numSteps;ie.draw((0,_.easing.effects[ve.easing])(ce),ce,Q)},onAnimationProgress:U.onProgress,onAnimationComplete:H});p.animationService.addAnimation(k,K,L,A)}else k.draw(),H(new p.Animation({numSteps:0,chart:k}));return k}},draw:function(S){var k=this;k.clear(),_.isNullOrUndef(S)&&(S=1),k.transition(S),!1!==y.notify(k,"beforeDraw",[S])&&(_.each(k.boxes,function(L){L.draw(k.chartArea)},k),k.scale&&k.scale.draw(),k.drawDatasets(S),k._drawTooltip(S),y.notify(k,"afterDraw",[S]))},transition:function(S){for(var k=this,L=0,A=(k.data.datasets||[]).length;L=0;--L)k.isDatasetVisible(L)&&k.drawDataset(L,S);y.notify(k,"afterDatasetsDraw",[S])}},drawDataset:function(S,k){var L=this,A=L.getDatasetMeta(S),U={meta:A,index:S,easingValue:k};!1!==y.notify(L,"beforeDatasetDraw",[U])&&(A.controller.draw(k),y.notify(L,"afterDatasetDraw",[U]))},_drawTooltip:function(S){var k=this,L=k.tooltip,A={tooltip:L,easingValue:S};!1!==y.notify(k,"beforeTooltipDraw",[A])&&(L.draw(),y.notify(k,"afterTooltipDraw",[A]))},getElementAtEvent:function(S){return u.modes.single(this,S)},getElementsAtEvent:function(S){return u.modes.label(this,S,{intersect:!0})},getElementsAtXAxis:function(S){return u.modes["x-axis"](this,S,{intersect:!0})},getElementsAtEventForMode:function(S,k,L){var A=u.modes[k];return"function"==typeof A?A(this,S,L):[]},getDatasetAtEvent:function(S){return u.modes.dataset(this,S,{intersect:!0})},getDatasetMeta:function(S){var k=this,L=k.data.datasets[S];L._meta||(L._meta={});var A=L._meta[k.id];return A||(A=L._meta[k.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),A},getVisibleDatasetCount:function(){for(var S=0,k=0,L=this.data.datasets.length;k{"use strict";var O=N(3305);ue.exports=function(_){var u=["push","pop","shift","splice","unshift"];function h(y,p){var v=y._chartjs;if(v){var x=v.listeners,T=x.indexOf(p);-1!==T&&x.splice(T,1),!(x.length>0)&&(u.forEach(function(S){delete y[S]}),delete y._chartjs)}}_.DatasetController=function(y,p){this.initialize(y,p)},O.extend(_.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(y,p){var v=this;v.chart=y,v.index=p,v.linkScales(),v.addElements()},updateIndex:function(y){this.index=y},linkScales:function(){var y=this,p=y.getMeta(),v=y.getDataset();(null===p.xAxisID||!(p.xAxisID in y.chart.scales))&&(p.xAxisID=v.xAxisID||y.chart.options.scales.xAxes[0].id),(null===p.yAxisID||!(p.yAxisID in y.chart.scales))&&(p.yAxisID=v.yAxisID||y.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(y){return this.chart.scales[y]},reset:function(){this.update(!0)},destroy:function(){this._data&&h(this._data,this)},createMetaDataset:function(){var y=this,p=y.datasetElementType;return p&&new p({_chart:y.chart,_datasetIndex:y.index})},createMetaData:function(y){var p=this,v=p.dataElementType;return v&&new v({_chart:p.chart,_datasetIndex:p.index,_index:y})},addElements:function(){var T,S,y=this,p=y.getMeta(),v=y.getDataset().data||[],x=p.data;for(T=0,S=v.length;Tx&&y.insertElements(x,T-x)},insertElements:function(y,p){for(var v=0;v{"use strict";var O=N(3305);ue.exports={_set:function(_,u){return O.merge(this[_]||(this[_]={}),u)}}},8839:(ue,ge,N)=>{"use strict";var O=N(7726),_=N(3305),f=function(h){_.extend(this,h),this.initialize.apply(this,arguments)};_.extend(f.prototype,{initialize:function(){this.hidden=!1},pivot:function(){var h=this;return h._view||(h._view=_.clone(h._model)),h._start={},h},transition:function(h){var y=this,p=y._model,v=y._start,x=y._view;return p&&1!==h?(x||(x=y._view={}),v||(v=y._start={}),function u(h,y,p,v){var T,S,k,L,A,U,H,K,ie,x=Object.keys(p);for(T=0,S=x.length;T{"use strict";var O=N(7726),_=N(9800),u=N(3305);ue.exports=function(f){function h(v,x,T){var S;return"string"==typeof v?(S=parseInt(v,10),-1!==v.indexOf("%")&&(S=S/100*x.parentNode[T])):S=v,S}function y(v){return null!=v&&"none"!==v}function p(v,x,T){var S=document.defaultView,k=v.parentNode,L=S.getComputedStyle(v)[x],A=S.getComputedStyle(k)[x],U=y(L),H=y(A),K=Number.POSITIVE_INFINITY;return U||H?Math.min(U?h(L,v,T):K,H?h(A,k,T):K):"none"}u.configMerge=function(){return u.merge(u.clone(arguments[0]),[].slice.call(arguments,1),{merger:function(v,x,T,S){var k=x[v]||{},L=T[v];"scales"===v?x[v]=u.scaleMerge(k,L):"scale"===v?x[v]=u.merge(k,[f.scaleService.getScaleDefaults(L.type),L]):u._merger(v,x,T,S)}})},u.scaleMerge=function(){return u.merge(u.clone(arguments[0]),[].slice.call(arguments,1),{merger:function(v,x,T,S){if("xAxes"===v||"yAxes"===v){var L,A,U,k=T[v].length;for(x[v]||(x[v]=[]),L=0;L=x[v].length&&x[v].push({}),u.merge(x[v][L],!x[v][L].type||U.type&&U.type!==x[v][L].type?[f.scaleService.getScaleDefaults(A),U]:U)}else u._merger(v,x,T,S)}})},u.where=function(v,x){if(u.isArray(v)&&Array.prototype.filter)return v.filter(x);var T=[];return u.each(v,function(S){x(S)&&T.push(S)}),T},u.findIndex=Array.prototype.findIndex?function(v,x,T){return v.findIndex(x,T)}:function(v,x,T){T=void 0===T?v:T;for(var S=0,k=v.length;S=0;S--){var k=v[S];if(x(k))return k}},u.isNumber=function(v){return!isNaN(parseFloat(v))&&isFinite(v)},u.almostEquals=function(v,x,T){return Math.abs(v-x)v},u.max=function(v){return v.reduce(function(x,T){return isNaN(T)?x:Math.max(x,T)},Number.NEGATIVE_INFINITY)},u.min=function(v){return v.reduce(function(x,T){return isNaN(T)?x:Math.min(x,T)},Number.POSITIVE_INFINITY)},u.sign=Math.sign?function(v){return Math.sign(v)}:function(v){return 0==(v=+v)||isNaN(v)?v:v>0?1:-1},u.log10=Math.log10?function(v){return Math.log10(v)}:function(v){var x=Math.log(v)*Math.LOG10E,T=Math.round(x);return v===Math.pow(10,T)?T:x},u.toRadians=function(v){return v*(Math.PI/180)},u.toDegrees=function(v){return v*(180/Math.PI)},u.getAngleFromPoint=function(v,x){var T=x.x-v.x,S=x.y-v.y,k=Math.sqrt(T*T+S*S),L=Math.atan2(S,T);return L<-.5*Math.PI&&(L+=2*Math.PI),{angle:L,distance:k}},u.distanceBetweenPoints=function(v,x){return Math.sqrt(Math.pow(x.x-v.x,2)+Math.pow(x.y-v.y,2))},u.aliasPixel=function(v){return v%2==0?0:.5},u.splineCurve=function(v,x,T,S){var k=v.skip?x:v,L=x,A=T.skip?x:T,U=Math.sqrt(Math.pow(L.x-k.x,2)+Math.pow(L.y-k.y,2)),H=Math.sqrt(Math.pow(A.x-L.x,2)+Math.pow(A.y-L.y,2)),K=U/(U+H),ie=H/(U+H),ve=S*(K=isNaN(K)?0:K),Z=S*(ie=isNaN(ie)?0:ie);return{previous:{x:L.x-ve*(A.x-k.x),y:L.y-ve*(A.y-k.y)},next:{x:L.x+Z*(A.x-k.x),y:L.y+Z*(A.y-k.y)}}},u.EPSILON=Number.EPSILON||1e-14,u.splineCurveMonotone=function(v){var S,k,L,A,H,K,ie,ve,Z,x=(v||[]).map(function(Q){return{model:Q._model,deltaK:0,mK:0}}),T=x.length;for(S=0;S0?x[S-1]:null,(A=S0?x[S-1]:null)&&!k.model.skip&&(L.model.controlPointPreviousX=L.model.x-(Z=(L.model.x-k.model.x)/3),L.model.controlPointPreviousY=L.model.y-Z*L.mK),A&&!A.model.skip&&(L.model.controlPointNextX=L.model.x+(Z=(A.model.x-L.model.x)/3),L.model.controlPointNextY=L.model.y+Z*L.mK))},u.nextItem=function(v,x,T){return T?x>=v.length-1?v[0]:v[x+1]:x>=v.length-1?v[v.length-1]:v[x+1]},u.previousItem=function(v,x,T){return T?x<=0?v[v.length-1]:v[x-1]:x<=0?v[0]:v[x-1]},u.niceNum=function(v,x){var T=Math.floor(u.log10(v)),S=v/Math.pow(10,T);return(x?S<1.5?1:S<3?2:S<7?5:10:S<=1?1:S<=2?2:S<=5?5:10)*Math.pow(10,T)},u.requestAnimFrame=typeof window>"u"?function(v){v()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(v){return window.setTimeout(v,1e3/60)},u.getRelativePosition=function(v,x){var T,S,k=v.originalEvent||v,L=v.currentTarget||v.srcElement,A=L.getBoundingClientRect(),U=k.touches;U&&U.length>0?(T=U[0].clientX,S=U[0].clientY):(T=k.clientX,S=k.clientY);var H=parseFloat(u.getStyle(L,"padding-left")),K=parseFloat(u.getStyle(L,"padding-top")),ie=parseFloat(u.getStyle(L,"padding-right")),ve=parseFloat(u.getStyle(L,"padding-bottom")),Q=A.bottom-A.top-K-ve;return{x:T=Math.round((T-A.left-H)/(A.right-A.left-H-ie)*L.width/x.currentDevicePixelRatio),y:S=Math.round((S-A.top-K)/Q*L.height/x.currentDevicePixelRatio)}},u.getConstraintWidth=function(v){return p(v,"max-width","clientWidth")},u.getConstraintHeight=function(v){return p(v,"max-height","clientHeight")},u.getMaximumWidth=function(v){var x=v.parentNode;if(!x)return v.clientWidth;var T=parseInt(u.getStyle(x,"padding-left"),10),S=parseInt(u.getStyle(x,"padding-right"),10),k=x.clientWidth-T-S,L=u.getConstraintWidth(v);return isNaN(L)?k:Math.min(k,L)},u.getMaximumHeight=function(v){var x=v.parentNode;if(!x)return v.clientHeight;var T=parseInt(u.getStyle(x,"padding-top"),10),S=parseInt(u.getStyle(x,"padding-bottom"),10),k=x.clientHeight-T-S,L=u.getConstraintHeight(v);return isNaN(L)?k:Math.min(k,L)},u.getStyle=function(v,x){return v.currentStyle?v.currentStyle[x]:document.defaultView.getComputedStyle(v,null).getPropertyValue(x)},u.retinaScale=function(v,x){var T=v.currentDevicePixelRatio=x||window.devicePixelRatio||1;if(1!==T){var S=v.canvas,k=v.height,L=v.width;S.height=k*T,S.width=L*T,v.ctx.scale(T,T),!S.style.height&&!S.style.width&&(S.style.height=k+"px",S.style.width=L+"px")}},u.fontString=function(v,x,T){return x+" "+v+"px "+T},u.longestText=function(v,x,T,S){var k=(S=S||{}).data=S.data||{},L=S.garbageCollect=S.garbageCollect||[];S.font!==x&&(k=S.data={},L=S.garbageCollect=[],S.font=x),v.font=x;var A=0;u.each(T,function(K){null!=K&&!0!==u.isArray(K)?A=u.measureText(v,k,L,A,K):u.isArray(K)&&u.each(K,function(ie){null!=ie&&!u.isArray(ie)&&(A=u.measureText(v,k,L,A,ie))})});var U=L.length/2;if(U>T.length){for(var H=0;HS&&(S=L),S},u.numberOfLabelLines=function(v){var x=1;return u.each(v,function(T){u.isArray(T)&&T.length>x&&(x=T.length)}),x},u.color=O?function(v){return v instanceof CanvasGradient&&(v=_.global.defaultColor),O(v)}:function(v){return console.error("Color.js not found!"),v},u.getHoverColor=function(v){return v instanceof CanvasPattern?v:u.color(v).saturate(.5).darken(.1).rgbString()}}},2814:(ue,ge,N)=>{"use strict";var O=N(3305);function _(v,x){return v.native?{x:v.x,y:v.y}:O.getRelativePosition(v,x)}function u(v,x){var S,k,L,A,U;for(k=0,A=v.data.datasets.length;k0&&(L=v.getDatasetMeta(L[0]._datasetIndex).data),L},"x-axis":function(v,x){return p(v,x,{intersect:!1})},point:function(v,x){return f(v,_(x,v))},nearest:function(v,x,T){var S=_(x,v);T.axis=T.axis||"xy";var k=y(T.axis),L=h(v,S,T.intersect,k);return L.length>1&&L.sort(function(A,U){var ie=A.getArea()-U.getArea();return 0===ie&&(ie=A._datasetIndex-U._datasetIndex),ie}),L.slice(0,1)},x:function(v,x,T){var S=_(x,v),k=[],L=!1;return u(v,function(A){A.inXRange(S.x)&&k.push(A),A.inRange(S.x,S.y)&&(L=!0)}),T.intersect&&!L&&(k=[]),k},y:function(v,x,T){var S=_(x,v),k=[],L=!1;return u(v,function(A){A.inYRange(S.y)&&k.push(A),A.inRange(S.x,S.y)&&(L=!0)}),T.intersect&&!L&&(k=[]),k}}}},5979:(ue,ge,N)=>{"use strict";N(9800)._set("global",{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{},layout:{padding:{top:0,right:0,bottom:0,left:0}}}),ue.exports=function(){var _=function(u,f){return this.construct(u,f),this};return _.Chart=_,_}},2294:(ue,ge,N)=>{"use strict";var O=N(3305);function _(f,h){return O.where(f,function(y){return y.position===h})}function u(f,h){f.forEach(function(y,p){return y._tmpIndex_=p,y}),f.sort(function(y,p){var v=h?p:y,x=h?y:p;return v.weight===x.weight?v._tmpIndex_-x._tmpIndex_:v.weight-x.weight}),f.forEach(function(y){delete y._tmpIndex_})}ue.exports={defaults:{},addBox:function(f,h){f.boxes||(f.boxes=[]),h.fullWidth=h.fullWidth||!1,h.position=h.position||"top",h.weight=h.weight||0,f.boxes.push(h)},removeBox:function(f,h){var y=f.boxes?f.boxes.indexOf(h):-1;-1!==y&&f.boxes.splice(y,1)},configure:function(f,h,y){for(var T,p=["fullWidth","position","weight"],v=p.length,x=0;x{"use strict";var O=N(9800),_=N(3305);O._set("global",{plugins:{}}),ue.exports={_plugins:[],_cacheId:0,register:function(u){var f=this._plugins;[].concat(u).forEach(function(h){-1===f.indexOf(h)&&f.push(h)}),this._cacheId++},unregister:function(u){var f=this._plugins;[].concat(u).forEach(function(h){var y=f.indexOf(h);-1!==y&&f.splice(y,1)}),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(u,f,h){var v,x,T,S,k,y=this.descriptors(u),p=y.length;for(v=0;v{"use strict";var O=N(9800),_=N(8839),u=N(3305),f=N(8347);function h(p){var x,T,v=[];for(x=0,T=p.length;x"u"&&(S.minor[k]=S[k]),typeof S.major[k]>"u"&&(S.major[k]=S[k]))},beforeUpdate:function(){u.callback(this.options.beforeUpdate,[this])},update:function(S,k,L){var U,H,K,ie,ve,Z,A=this;for(A.beforeUpdate(),A.maxWidth=S,A.maxHeight=k,A.margins=u.extend({left:0,right:0,top:0,bottom:0},L),A.longestTextCache=A.longestTextCache||{},A.beforeSetDimensions(),A.setDimensions(),A.afterSetDimensions(),A.beforeDataLimits(),A.determineDataLimits(),A.afterDataLimits(),A.beforeBuildTicks(),ve=A.buildTicks()||[],A.afterBuildTicks(),A.beforeTickToLabelConversion(),K=A.convertTicksToLabels(ve)||A.ticks,A.afterTickToLabelConversion(),A.ticks=K,U=0,H=K.length;UQ&&HS.maxHeight){H--;break}H++,ie=ve*K}S.labelRotation=H},afterCalculateTickRotation:function(){u.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){u.callback(this.options.beforeFit,[this])},fit:function(){var S=this,k=S.minSize={width:0,height:0},L=h(S._ticks),A=S.options,U=A.ticks,H=A.scaleLabel,K=A.gridLines,ie=A.display,ve=S.isHorizontal(),Z=x(U),Q=A.gridLines.tickMarkLength;if(k.width=ve?S.isFullWidth()?S.maxWidth-S.margins.left-S.margins.right:S.maxWidth:ie&&K.drawTicks?Q:0,k.height=ve?ie&&K.drawTicks?Q:0:S.maxHeight,H.display&&ie){var J=T(H)+u.options.toPadding(H.padding).height;ve?k.height+=J:k.width+=J}if(U.display&&ie){var ee=u.longestText(S.ctx,Z.font,L,S.longestTextCache),ae=u.numberOfLabelLines(L),le=.5*Z.size,X=S.options.ticks.padding;if(ve){S.longestLabelWidth=ee;var Te=u.toRadians(S.labelRotation),Se=Math.cos(Te),Ce=Math.sin(Te);k.height=Math.min(S.maxHeight,k.height+(Ce*ee+Z.size*ae+le*(ae-1)+le)+X),S.ctx.font=Z.font;var et=v(S.ctx,L[0],Z.font),ot=v(S.ctx,L[L.length-1],Z.font);0!==S.labelRotation?(S.paddingLeft="bottom"===A.position?Se*et+3:Se*le+3,S.paddingRight="bottom"===A.position?Se*le+3:Se*ot+3):(S.paddingLeft=et/2+3,S.paddingRight=ot/2+3)}else U.mirror?ee=0:ee+=X+le,k.width=Math.min(S.maxWidth,k.width+ee),S.paddingTop=Z.size/2,S.paddingBottom=Z.size/2}S.handleMargins(),S.width=k.width,S.height=k.height},handleMargins:function(){var S=this;S.margins&&(S.paddingLeft=Math.max(S.paddingLeft-S.margins.left,0),S.paddingTop=Math.max(S.paddingTop-S.margins.top,0),S.paddingRight=Math.max(S.paddingRight-S.margins.right,0),S.paddingBottom=Math.max(S.paddingBottom-S.margins.bottom,0))},afterFit:function(){u.callback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(S){if(u.isNullOrUndef(S))return NaN;if("number"==typeof S&&!isFinite(S))return NaN;if(S)if(this.isHorizontal()){if(void 0!==S.x)return this.getRightValue(S.x)}else if(void 0!==S.y)return this.getRightValue(S.y);return S},getLabelForIndex:u.noop,getPixelForValue:u.noop,getValueForPixel:u.noop,getPixelForTick:function(S){var k=this,L=k.options.offset;if(k.isHorizontal()){var U=(k.width-(k.paddingLeft+k.paddingRight))/Math.max(k._ticks.length-(L?0:1),1),H=U*S+k.paddingLeft;return L&&(H+=U/2),k.left+Math.round(H)+(k.isFullWidth()?k.margins.left:0)}return k.top+S*((k.height-(k.paddingTop+k.paddingBottom))/(k._ticks.length-1))},getPixelForDecimal:function(S){var k=this;return k.isHorizontal()?k.left+Math.round((k.width-(k.paddingLeft+k.paddingRight))*S+k.paddingLeft)+(k.isFullWidth()?k.margins.left:0):k.top+S*k.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var S=this,k=S.min,L=S.max;return S.beginAtZero?0:k<0&&L<0?L:k>0&&L>0?k:0},_autoSkip:function(S){var k,Q,ce,J,L=this,A=L.isHorizontal(),U=L.options.ticks.minor,H=S.length,K=u.toRadians(L.labelRotation),ie=Math.cos(K),ve=L.longestLabelWidth*ie,Z=[];for(U.maxTicksLimit&&(J=U.maxTicksLimit),A&&(k=!1,(ve+U.autoSkipPadding)*H>L.width-(L.paddingLeft+L.paddingRight)&&(k=1+Math.floor((ve+U.autoSkipPadding)*H/(L.width-(L.paddingLeft+L.paddingRight)))),J&&H>J&&(k=Math.max(k,Math.floor(H/J)))),Q=0;Q1&&Q%k>0||Q%k==0&&Q+k>=H)&&Q!==H-1&&delete ce.label,Z.push(ce);return Z},draw:function(S){var k=this,L=k.options;if(L.display){var A=k.ctx,U=O.global,H=L.ticks.minor,K=L.ticks.major||H,ie=L.gridLines,ve=L.scaleLabel,Z=0!==k.labelRotation,Q=k.isHorizontal(),ce=H.autoSkip?k._autoSkip(k.getTicks()):k.getTicks(),G=u.valueOrDefault(H.fontColor,U.defaultFontColor),J=x(H),ee=u.valueOrDefault(K.fontColor,U.defaultFontColor),ae=x(K),le=ie.drawTicks?ie.tickMarkLength:0,X=u.valueOrDefault(ve.fontColor,U.defaultFontColor),Te=x(ve),Se=u.options.toPadding(ve.padding),Ce=u.toRadians(k.labelRotation),He=[],et=k.options.gridLines.lineWidth,ot="right"===L.position?k.right:k.right-et-le,st="right"===L.position?k.right+le:k.right,Rt="bottom"===L.position?k.top+et:k.bottom-le-et,en="bottom"===L.position?k.top+et+le:k.bottom+et;if(u.each(ce,function(ne,pe){if(!u.isNullOrUndef(ne.label)){var de,be,_e,Me,he=ne.label;pe===k.zeroLineIndex&&L.offset===ie.offsetGridLines?(de=ie.zeroLineWidth,be=ie.zeroLineColor,_e=ie.zeroLineBorderDash,Me=ie.zeroLineBorderDashOffset):(de=u.valueAtIndexOrDefault(ie.lineWidth,pe),be=u.valueAtIndexOrDefault(ie.color,pe),_e=u.valueOrDefault(ie.borderDash,U.borderDash),Me=u.valueOrDefault(ie.borderDashOffset,U.borderDashOffset));var De,Ee,Ne,ut,_t,rt,on,Ln,vt,jt,jn="middle",ri="middle",Gr=H.padding;if(Q){var ko=le+Gr;"bottom"===L.position?(ri=Z?"middle":"top",jn=Z?"right":"center",jt=k.top+ko):(ri=Z?"middle":"bottom",jn=Z?"left":"center",jt=k.bottom-ko);var Ei=y(k,pe,ie.offsetGridLines&&ce.length>1);Ei1);oi{"use strict";var O=N(9800),_=N(3305),u=N(2294);ue.exports=function(f){f.scaleService={constructors:{},defaults:{},registerScaleType:function(h,y,p){this.constructors[h]=y,this.defaults[h]=_.clone(p)},getScaleConstructor:function(h){return this.constructors.hasOwnProperty(h)?this.constructors[h]:void 0},getScaleDefaults:function(h){return this.defaults.hasOwnProperty(h)?_.merge({},[O.scale,this.defaults[h]]):{}},updateScaleDefaults:function(h,y){var p=this;p.defaults.hasOwnProperty(h)&&(p.defaults[h]=_.extend(p.defaults[h],y))},addScalesToLayout:function(h){_.each(h.scales,function(y){y.fullWidth=y.options.fullWidth,y.position=y.options.position,y.weight=y.options.weight,u.addBox(h,y)})}}}},8347:(ue,ge,N)=>{"use strict";var O=N(3305);ue.exports={formatters:{values:function(_){return O.isArray(_)?_:""+_},linear:function(_,u,f){var h=f.length>3?f[2]-f[1]:f[1]-f[0];Math.abs(h)>1&&_!==Math.floor(_)&&(h=_-Math.floor(_));var y=O.log10(Math.abs(h)),p="";if(0!==_){var v=-1*Math.floor(y);v=Math.max(Math.min(v,20),0),p=_.toFixed(v)}else p="0";return p},logarithmic:function(_,u,f){var h=_/Math.pow(10,Math.floor(O.log10(_)));return 0===_?"0":1===h||2===h||5===h||0===u||u===f.length-1?_.toExponential():""}}}},480:(ue,ge,N)=>{"use strict";var O=N(9800),_=N(8839),u=N(3305);O._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:u.noop,title:function(f,h){var y="",p=h.labels,v=p?p.length:0;if(f.length>0){var x=f[0];x.xLabel?y=x.xLabel:v>0&&x.indexU.height-L.height&&(ie="bottom");var ve,Z,Q,ce,G,J=(H.left+H.right)/2,ee=(H.top+H.bottom)/2;"center"===ie?(ve=function(le){return le<=J},Z=function(le){return le>J}):(ve=function(le){return le<=L.width/2},Z=function(le){return le>=U.width-L.width/2}),Q=function(le){return le+L.width+A.caretSize+A.caretPadding>U.width},ce=function(le){return le-L.width-A.caretSize-A.caretPadding<0},G=function(le){return le<=ee?"top":"bottom"},ve(A.x)?(K="left",Q(A.x)&&(K="center",ie=G(A.y))):Z(A.x)&&(K="right",ce(A.x)&&(K="center",ie=G(A.y)));var ae=k._options;return{xAlign:ae.xAlign?ae.xAlign:K,yAlign:ae.yAlign?ae.yAlign:ie}}(this,Q),Z=function S(k,L,A,U){var H=k.x,K=k.y,ve=k.caretPadding,Q=A.xAlign,ce=A.yAlign,G=k.caretSize+ve,J=k.cornerRadius+ve;return"right"===Q?H-=L.width:"center"===Q&&((H-=L.width/2)+L.width>U.width&&(H=U.width-L.width),H<0&&(H=0)),"top"===ce?K+=G:K-="bottom"===ce?L.height+G:L.height/2,"center"===ce?"left"===Q?H+=G:"right"===Q&&(H-=G):"left"===Q?H-=J:"right"===Q&&(H+=J),{x:H,y:K}}(H,Q,ve,L._chart)}else H.opacity=0;return H.xAlign=ve.xAlign,H.yAlign=ve.yAlign,H.x=Z.x,H.y=Z.y,H.width=Q.width,H.height=Q.height,H.caretX=ce.x,H.caretY=ce.y,L._model=H,k&&A.custom&&A.custom.call(L,H),L},drawCaret:function(k,L){var A=this._chart.ctx,H=this.getCaretPosition(k,L,this._view);A.lineTo(H.x1,H.y1),A.lineTo(H.x2,H.y2),A.lineTo(H.x3,H.y3)},getCaretPosition:function(k,L,A){var U,H,K,ie,ve,Z,Q=A.caretSize,ce=A.cornerRadius,G=A.xAlign,J=A.yAlign,ee=k.x,ae=k.y,le=L.width,X=L.height;if("center"===J)ve=ae+X/2,"left"===G?(H=(U=ee)-Q,K=U,ie=ve+Q,Z=ve-Q):(H=(U=ee+le)+Q,K=U,ie=ve-Q,Z=ve+Q);else if("left"===G?(U=(H=ee+ce+Q)-Q,K=H+Q):"right"===G?(U=(H=ee+le-ce-Q)-Q,K=H+Q):(U=(H=A.caretX)-Q,K=H+Q),"top"===J)ve=(ie=ae)-Q,Z=ie;else{ve=(ie=ae+X)+Q,Z=ie;var Te=K;K=U,U=Te}return{x1:U,x2:H,x3:K,y1:ie,y2:ve,y3:Z}},drawTitle:function(k,L,A,U){var H=L.title;if(H.length){A.textAlign=L._titleAlign,A.textBaseline="top";var ve,Z,K=L.titleFontSize,ie=L.titleSpacing;for(A.fillStyle=h(L.titleFontColor,U),A.font=u.fontString(K,L._titleFontStyle,L._titleFontFamily),ve=0,Z=H.length;ve0&&A.stroke()},draw:function(){var k=this._chart.ctx,L=this._view;if(0!==L.opacity){var A={width:L.width,height:L.height},U={x:L.x,y:L.y},H=Math.abs(L.opacity<.001)?0:L.opacity;this._options.enabled&&(L.title.length||L.beforeBody.length||L.body.length||L.afterBody.length||L.footer.length)&&(this.drawBackground(U,L,k,A,H),U.x+=L.xPadding,U.y+=L.yPadding,this.drawTitle(U,L,k,H),this.drawBody(U,L,k,H),this.drawFooter(U,L,k,H))}},handleEvent:function(k){var U,L=this,A=L._options;return L._lastActive=L._lastActive||[],L._active="mouseout"===k.type?[]:L._chart.getElementsAtEventForMode(k,A.mode,A),(U=!u.arrayEquals(L._active,L._lastActive))&&(L._lastActive=L._active,(A.enabled||A.custom)&&(L._eventPosition={x:k.x,y:k.y},L.update(!0),L.pivot())),U}}),f.Tooltip.positioners={average:function(k){if(!k.length)return!1;var L,A,U=0,H=0,K=0;for(L=0,A=k.length;L{"use strict";var O=N(9800),_=N(8839),u=N(3305);O._set("global",{elements:{arc:{backgroundColor:O.global.defaultColor,borderColor:"#fff",borderWidth:2}}}),ue.exports=_.extend({inLabelRange:function(f){var h=this._view;return!!h&&Math.pow(f-h.x,2)S;)v-=2*Math.PI;for(;v=T&&v<=S&&x>=y.innerRadius&&x<=y.outerRadius}return!1},getCenterPoint:function(){var f=this._view,h=(f.startAngle+f.endAngle)/2,y=(f.innerRadius+f.outerRadius)/2;return{x:f.x+Math.cos(h)*y,y:f.y+Math.sin(h)*y}},getArea:function(){var f=this._view;return Math.PI*((f.endAngle-f.startAngle)/(2*Math.PI))*(Math.pow(f.outerRadius,2)-Math.pow(f.innerRadius,2))},tooltipPosition:function(){var f=this._view,h=f.startAngle+(f.endAngle-f.startAngle)/2,y=(f.outerRadius-f.innerRadius)/2+f.innerRadius;return{x:f.x+Math.cos(h)*y,y:f.y+Math.sin(h)*y}},draw:function(){var f=this._chart.ctx,h=this._view,y=h.startAngle,p=h.endAngle;f.beginPath(),f.arc(h.x,h.y,h.outerRadius,y,p),f.arc(h.x,h.y,h.innerRadius,p,y,!0),f.closePath(),f.strokeStyle=h.borderColor,f.lineWidth=h.borderWidth,f.fillStyle=h.backgroundColor,f.fill(),f.lineJoin="bevel",h.borderWidth&&f.stroke()}})},3819:(ue,ge,N)=>{"use strict";var O=N(9800),_=N(8839),u=N(3305),f=O.global;O._set("global",{elements:{line:{tension:.4,backgroundColor:f.defaultColor,borderWidth:3,borderColor:f.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0}}}),ue.exports=_.extend({draw:function(){var k,L,A,U,h=this,y=h._view,p=h._chart.ctx,v=y.spanGaps,x=h._children.slice(),T=f.elements.line,S=-1;for(h._loop&&x.length&&x.push(x[0]),p.save(),p.lineCap=y.borderCapStyle||T.borderCapStyle,p.setLineDash&&p.setLineDash(y.borderDash||T.borderDash),p.lineDashOffset=y.borderDashOffset||T.borderDashOffset,p.lineJoin=y.borderJoinStyle||T.borderJoinStyle,p.lineWidth=y.borderWidth||T.borderWidth,p.strokeStyle=y.borderColor||f.defaultColor,p.beginPath(),S=-1,k=0;k{"use strict";var O=N(9800),_=N(8839),u=N(3305),f=O.global.defaultColor;function h(p){var v=this._view;return!!v&&Math.abs(p-v.x){"use strict";var O=N(9800),_=N(8839);function u(h){return void 0!==h._view.width}function f(h){var p,v,x,T,y=h._view;if(u(h)){var S=y.width/2;p=y.x-S,v=y.x+S,x=Math.min(y.y,y.base),T=Math.max(y.y,y.base)}else{var k=y.height/2;p=Math.min(y.x,y.base),v=Math.max(y.x,y.base),x=y.y-k,T=y.y+k}return{left:p,top:x,right:v,bottom:T}}O._set("global",{elements:{rectangle:{backgroundColor:O.global.defaultColor,borderColor:O.global.defaultColor,borderSkipped:"bottom",borderWidth:0}}}),ue.exports=_.extend({draw:function(){var p,v,x,T,S,k,L,h=this._chart.ctx,y=this._view,A=y.borderWidth;if(y.horizontal?(x=y.y-y.height/2,T=y.y+y.height/2,S=(v=y.x)>(p=y.base)?1:-1,k=1,L=y.borderSkipped||"left"):(p=y.x-y.width/2,v=y.x+y.width/2,S=1,k=(T=y.base)>(x=y.y)?1:-1,L=y.borderSkipped||"bottom"),A){var U=Math.min(Math.abs(p-v),Math.abs(x-T)),H=(A=A>U?U:A)/2,K=p+("left"!==L?H*S:0),ie=v+("right"!==L?-H*S:0),ve=x+("top"!==L?H*k:0),Z=T+("bottom"!==L?-H*k:0);K!==ie&&(x=ve,T=Z),ve!==Z&&(p=K,v=ie)}h.beginPath(),h.fillStyle=y.backgroundColor,h.strokeStyle=y.borderColor,h.lineWidth=A;var Q=[[p,T],[p,x],[v,x],[v,T]],G=["bottom","left","top","right"].indexOf(L,0);function J(le){return Q[(G+le)%4]}-1===G&&(G=0);var ee=J(0);h.moveTo(ee[0],ee[1]);for(var ae=1;ae<4;ae++)ee=J(ae),h.lineTo(ee[0],ee[1]);h.fill(),A&&h.stroke()},height:function(){var h=this._view;return h.base-h.y},inRange:function(h,y){var p=!1;if(this._view){var v=f(this);p=h>=v.left&&h<=v.right&&y>=v.top&&y<=v.bottom}return p},inLabelRange:function(h,y){var p=this;if(!p._view)return!1;var x=f(p);return u(p)?h>=x.left&&h<=x.right:y>=x.top&&y<=x.bottom},inXRange:function(h){var y=f(this);return h>=y.left&&h<=y.right},inYRange:function(h){var y=f(this);return h>=y.top&&h<=y.bottom},getCenterPoint:function(){var y,p,h=this._view;return u(this)?(y=h.x,p=(h.y+h.base)/2):(y=(h.x+h.base)/2,p=h.y),{x:y,y:p}},getArea:function(){var h=this._view;return h.width*Math.abs(h.y-h.base)},tooltipPosition:function(){var h=this._view;return{x:h.x,y:h.y}}})},9931:(ue,ge,N)=>{"use strict";ue.exports={},ue.exports.Arc=N(280),ue.exports.Line=N(3819),ue.exports.Point=N(4674),ue.exports.Rectangle=N(8667)},2397:(ue,ge,N)=>{"use strict";var O=N(4396),_=ue.exports={clear:function(u){u.ctx.clearRect(0,0,u.width,u.height)},roundedRect:function(u,f,h,y,p,v){if(v){var x=Math.min(v,y/2),T=Math.min(v,p/2);u.moveTo(f+x,h),u.lineTo(f+y-x,h),u.quadraticCurveTo(f+y,h,f+y,h+T),u.lineTo(f+y,h+p-T),u.quadraticCurveTo(f+y,h+p,f+y-x,h+p),u.lineTo(f+x,h+p),u.quadraticCurveTo(f,h+p,f,h+p-T),u.lineTo(f,h+T),u.quadraticCurveTo(f,h,f+x,h)}else u.rect(f,h,y,p)},drawPoint:function(u,f,h,y,p){var v,x,T,S,k,L;if(!f||"object"!=typeof f||"[object HTMLImageElement]"!==(v=f.toString())&&"[object HTMLCanvasElement]"!==v){if(!(isNaN(h)||h<=0)){switch(f){default:u.beginPath(),u.arc(y,p,h,0,2*Math.PI),u.closePath(),u.fill();break;case"triangle":u.beginPath(),k=(x=3*h/Math.sqrt(3))*Math.sqrt(3)/2,u.moveTo(y-x/2,p+k/3),u.lineTo(y+x/2,p+k/3),u.lineTo(y,p-2*k/3),u.closePath(),u.fill();break;case"rect":L=1/Math.SQRT2*h,u.beginPath(),u.fillRect(y-L,p-L,2*L,2*L),u.strokeRect(y-L,p-L,2*L,2*L);break;case"rectRounded":var A=h/Math.SQRT2,U=y-A,H=p-A,K=Math.SQRT2*h;u.beginPath(),this.roundedRect(u,U,H,K,K,h/2),u.closePath(),u.fill();break;case"rectRot":L=1/Math.SQRT2*h,u.beginPath(),u.moveTo(y-L,p),u.lineTo(y,p+L),u.lineTo(y+L,p),u.lineTo(y,p-L),u.closePath(),u.fill();break;case"cross":u.beginPath(),u.moveTo(y,p+h),u.lineTo(y,p-h),u.moveTo(y-h,p),u.lineTo(y+h,p),u.closePath();break;case"crossRot":u.beginPath(),T=Math.cos(Math.PI/4)*h,S=Math.sin(Math.PI/4)*h,u.moveTo(y-T,p-S),u.lineTo(y+T,p+S),u.moveTo(y-T,p+S),u.lineTo(y+T,p-S),u.closePath();break;case"star":u.beginPath(),u.moveTo(y,p+h),u.lineTo(y,p-h),u.moveTo(y-h,p),u.lineTo(y+h,p),T=Math.cos(Math.PI/4)*h,S=Math.sin(Math.PI/4)*h,u.moveTo(y-T,p-S),u.lineTo(y+T,p+S),u.moveTo(y-T,p+S),u.lineTo(y+T,p-S),u.closePath();break;case"line":u.beginPath(),u.moveTo(y-h,p),u.lineTo(y+h,p),u.closePath();break;case"dash":u.beginPath(),u.moveTo(y,p),u.lineTo(y+h,p),u.closePath()}u.stroke()}}else u.drawImage(f,y-f.width/2,p-f.height/2,f.width,f.height)},clipArea:function(u,f){u.save(),u.beginPath(),u.rect(f.left,f.top,f.right-f.left,f.bottom-f.top),u.clip()},unclipArea:function(u){u.restore()},lineTo:function(u,f,h,y){if(h.steppedLine)return"after"===h.steppedLine&&!y||"after"!==h.steppedLine&&y?u.lineTo(f.x,h.y):u.lineTo(h.x,f.y),void u.lineTo(h.x,h.y);h.tension?u.bezierCurveTo(y?f.controlPointPreviousX:f.controlPointNextX,y?f.controlPointPreviousY:f.controlPointNextY,y?h.controlPointNextX:h.controlPointPreviousX,y?h.controlPointNextY:h.controlPointPreviousY,h.x,h.y):u.lineTo(h.x,h.y)}};O.clear=_.clear,O.drawRoundedRectangle=function(u){u.beginPath(),_.roundedRect.apply(_,arguments),u.closePath()}},4396:ue=>{"use strict";var N,ge={noop:function(){},uid:(N=0,function(){return N++}),isNullOrUndef:function(N){return null===N||typeof N>"u"},isArray:Array.isArray?Array.isArray:function(N){return"[object Array]"===Object.prototype.toString.call(N)},isObject:function(N){return null!==N&&"[object Object]"===Object.prototype.toString.call(N)},valueOrDefault:function(N,O){return typeof N>"u"?O:N},valueAtIndexOrDefault:function(N,O,_){return ge.valueOrDefault(ge.isArray(N)?N[O]:N,_)},callback:function(N,O,_){if(N&&"function"==typeof N.call)return N.apply(_,O)},each:function(N,O,_,u){var f,h,y;if(ge.isArray(N))if(h=N.length,u)for(f=h-1;f>=0;f--)O.call(_,N[f],f);else for(f=0;f{"use strict";var O=N(4396),_={linear:function(u){return u},easeInQuad:function(u){return u*u},easeOutQuad:function(u){return-u*(u-2)},easeInOutQuad:function(u){return(u/=.5)<1?.5*u*u:-.5*(--u*(u-2)-1)},easeInCubic:function(u){return u*u*u},easeOutCubic:function(u){return(u-=1)*u*u+1},easeInOutCubic:function(u){return(u/=.5)<1?.5*u*u*u:.5*((u-=2)*u*u+2)},easeInQuart:function(u){return u*u*u*u},easeOutQuart:function(u){return-((u-=1)*u*u*u-1)},easeInOutQuart:function(u){return(u/=.5)<1?.5*u*u*u*u:-.5*((u-=2)*u*u*u-2)},easeInQuint:function(u){return u*u*u*u*u},easeOutQuint:function(u){return(u-=1)*u*u*u*u+1},easeInOutQuint:function(u){return(u/=.5)<1?.5*u*u*u*u*u:.5*((u-=2)*u*u*u*u+2)},easeInSine:function(u){return 1-Math.cos(u*(Math.PI/2))},easeOutSine:function(u){return Math.sin(u*(Math.PI/2))},easeInOutSine:function(u){return-.5*(Math.cos(Math.PI*u)-1)},easeInExpo:function(u){return 0===u?0:Math.pow(2,10*(u-1))},easeOutExpo:function(u){return 1===u?1:1-Math.pow(2,-10*u)},easeInOutExpo:function(u){return 0===u?0:1===u?1:(u/=.5)<1?.5*Math.pow(2,10*(u-1)):.5*(2-Math.pow(2,-10*--u))},easeInCirc:function(u){return u>=1?u:-(Math.sqrt(1-u*u)-1)},easeOutCirc:function(u){return Math.sqrt(1-(u-=1)*u)},easeInOutCirc:function(u){return(u/=.5)<1?-.5*(Math.sqrt(1-u*u)-1):.5*(Math.sqrt(1-(u-=2)*u)+1)},easeInElastic:function(u){var f=1.70158,h=0,y=1;return 0===u?0:1===u?1:(h||(h=.3),y<1?(y=1,f=h/4):f=h/(2*Math.PI)*Math.asin(1/y),-y*Math.pow(2,10*(u-=1))*Math.sin((u-f)*(2*Math.PI)/h))},easeOutElastic:function(u){var f=1.70158,h=0,y=1;return 0===u?0:1===u?1:(h||(h=.3),y<1?(y=1,f=h/4):f=h/(2*Math.PI)*Math.asin(1/y),y*Math.pow(2,-10*u)*Math.sin((u-f)*(2*Math.PI)/h)+1)},easeInOutElastic:function(u){var f=1.70158,h=0,y=1;return 0===u?0:2==(u/=.5)?1:(h||(h=.45),y<1?(y=1,f=h/4):f=h/(2*Math.PI)*Math.asin(1/y),u<1?y*Math.pow(2,10*(u-=1))*Math.sin((u-f)*(2*Math.PI)/h)*-.5:y*Math.pow(2,-10*(u-=1))*Math.sin((u-f)*(2*Math.PI)/h)*.5+1)},easeInBack:function(u){var f=1.70158;return u*u*((f+1)*u-f)},easeOutBack:function(u){var f=1.70158;return(u-=1)*u*((f+1)*u+f)+1},easeInOutBack:function(u){var f=1.70158;return(u/=.5)<1?u*u*((1+(f*=1.525))*u-f)*.5:.5*((u-=2)*u*((1+(f*=1.525))*u+f)+2)},easeInBounce:function(u){return 1-_.easeOutBounce(1-u)},easeOutBounce:function(u){return u<1/2.75?7.5625*u*u:u<2/2.75?7.5625*(u-=1.5/2.75)*u+.75:u<2.5/2.75?7.5625*(u-=2.25/2.75)*u+.9375:7.5625*(u-=2.625/2.75)*u+.984375},easeInOutBounce:function(u){return u<.5?.5*_.easeInBounce(2*u):.5*_.easeOutBounce(2*u-1)+.5}};ue.exports={effects:_},O.easingEffects=_},5347:(ue,ge,N)=>{"use strict";var O=N(4396);ue.exports={toLineHeight:function(_,u){var f=(""+_).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!f||"normal"===f[1])return 1.2*u;switch(_=+f[2],f[3]){case"px":return _;case"%":_/=100}return u*_},toPadding:function(_){var u,f,h,y;return O.isObject(_)?(u=+_.top||0,f=+_.right||0,h=+_.bottom||0,y=+_.left||0):u=f=h=y=+_||0,{top:u,right:f,bottom:h,left:y,height:u+h,width:y+f}},resolve:function(_,u,f){var h,y,p;for(h=0,y=_.length;h{"use strict";ue.exports=N(4396),ue.exports.easing=N(4317),ue.exports.canvas=N(2397),ue.exports.options=N(5347)},1607:ue=>{ue.exports={acquireContext:function(ge){return ge&&ge.canvas&&(ge=ge.canvas),ge&&ge.getContext("2d")||null}}},8005:(ue,ge,N)=>{"use strict";var O=N(3305),_="$chartjs",u="chartjs-",f=u+"render-monitor",h=u+"render-animation",y=["animationstart","webkitAnimationStart"],p={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function v(G,J){var ee=O.getStyle(G,J),ae=ee&&ee.match(/^(\d+)(\.\d+)?px$/);return ae?Number(ae[1]):void 0}var S=!!function(){var G=!1;try{var J=Object.defineProperty({},"passive",{get:function(){G=!0}});window.addEventListener("e",null,J)}catch{}return G}()&&{passive:!0};function k(G,J,ee){G.addEventListener(J,ee,S)}function L(G,J,ee){G.removeEventListener(J,ee,S)}function A(G,J,ee,ae,le){return{type:G,chart:J,native:le||null,x:void 0!==ee?ee:null,y:void 0!==ae?ae:null}}ue.exports={_enabled:typeof window<"u"&&typeof document<"u",initialize:function(){var G="from{opacity:0.99}to{opacity:1}";!function ce(G,J){var ee=G._style||document.createElement("style");G._style||(G._style=ee,J="/* Chart.js */\n"+J,ee.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(ee)),ee.appendChild(document.createTextNode(J))}(this,"@-webkit-keyframes "+h+"{"+G+"}@keyframes "+h+"{"+G+"}."+f+"{-webkit-animation:"+h+" 0.001s;animation:"+h+" 0.001s;}")},acquireContext:function(G,J){"string"==typeof G?G=document.getElementById(G):G.length&&(G=G[0]),G&&G.canvas&&(G=G.canvas);var ee=G&&G.getContext&&G.getContext("2d");return ee&&ee.canvas===G?(function x(G,J){var ee=G.style,ae=G.getAttribute("height"),le=G.getAttribute("width");if(G[_]={initial:{height:ae,width:le,style:{display:ee.display,height:ee.height,width:ee.width}}},ee.display=ee.display||"block",null===le||""===le){var X=v(G,"width");void 0!==X&&(G.width=X)}if(null===ae||""===ae)if(""===G.style.height)G.height=G.width/(J.options.aspectRatio||2);else{var Te=v(G,"height");void 0!==X&&(G.height=Te)}}(G,J),ee):null},releaseContext:function(G){var J=G.canvas;if(J[_]){var ee=J[_].initial;["height","width"].forEach(function(ae){var le=ee[ae];O.isNullOrUndef(le)?J.removeAttribute(ae):J.setAttribute(ae,le)}),O.each(ee.style||{},function(ae,le){J.style[le]=ae}),J.width=J.width,delete J[_]}},addEventListener:function(G,J,ee){var ae=G.canvas;if("resize"!==J){var le=ee[_]||(ee[_]={}),Te=(le.proxies||(le.proxies={}))[G.id+"_"+J]=function(Se){ee(function U(G,J){var ee=p[G.type]||G.type,ae=O.getRelativePosition(G,J);return A(ee,J,ae.x,ae.y,G)}(Se,G))};k(ae,J,Te)}else!function Z(G,J,ee){var ae=G[_]||(G[_]={}),le=ae.resizer=function K(G){var J=document.createElement("div"),ee=u+"size-monitor",ae=1e6,le="position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1;";J.style.cssText=le,J.className=ee,J.innerHTML='
';var X=J.childNodes[0],Te=J.childNodes[1];J._reset=function(){X.scrollLeft=ae,X.scrollTop=ae,Te.scrollLeft=ae,Te.scrollTop=ae};var Se=function(){J._reset(),G()};return k(X,"scroll",Se.bind(X,"expand")),k(Te,"scroll",Se.bind(Te,"shrink")),J}(function H(G,J){var ee=!1,ae=[];return function(){ae=Array.prototype.slice.call(arguments),J=J||this,ee||(ee=!0,O.requestAnimFrame.call(window,function(){ee=!1,G.apply(J,ae)}))}}(function(){if(ae.resizer)return J(A("resize",ee))}));!function ie(G,J){var ee=G[_]||(G[_]={}),ae=ee.renderProxy=function(le){le.animationName===h&&J()};O.each(y,function(le){k(G,le,ae)}),ee.reflow=!!G.offsetParent,G.classList.add(f)}(G,function(){if(ae.resizer){var X=G.parentNode;X&&X!==le.parentNode&&X.insertBefore(le,X.firstChild),le._reset()}})}(ae,ee,G)},removeEventListener:function(G,J,ee){var ae=G.canvas;if("resize"!==J){var Te=((ee[_]||{}).proxies||{})[G.id+"_"+J];!Te||L(ae,J,Te)}else!function Q(G){var J=G[_]||{},ee=J.resizer;delete J.resizer,function ve(G){var J=G[_]||{},ee=J.renderProxy;ee&&(O.each(y,function(ae){L(G,ae,ee)}),delete J.renderProxy),G.classList.remove(f)}(G),ee&&ee.parentNode&&ee.parentNode.removeChild(ee)}(ae)}},O.addEvent=k,O.removeEvent=L},8244:(ue,ge,N)=>{"use strict";var O=N(3305),_=N(1607),u=N(8005);ue.exports=O.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},u._enabled?u:_)},6747:(ue,ge,N)=>{"use strict";ue.exports={},ue.exports.filler=N(6579),ue.exports.legend=N(2230),ue.exports.title=N(7412)},6579:(ue,ge,N)=>{"use strict";var O=N(9800),_=N(9931),u=N(3305);O._set("global",{plugins:{filler:{propagate:!0}}});var f={dataset:function(k){var L=k.fill,A=k.chart,U=A.getDatasetMeta(L),K=U&&A.isDatasetVisible(L)&&U.dataset._children||[],ie=K.length||0;return ie?function(ve,Z){return Z=A)&&K;switch(H){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return H;default:return!1}}function y(k){var K,L=k.el._model||{},A=k.el._scale||{},U=k.fill,H=null;if(isFinite(U))return null;if("start"===U?H=void 0===L.scaleBottom?A.bottom:L.scaleBottom:"end"===U?H=void 0===L.scaleTop?A.top:L.scaleTop:void 0!==L.scaleZero?H=L.scaleZero:A.getBasePosition?H=A.getBasePosition():A.getBasePixel&&(H=A.getBasePixel()),null!=H){if(void 0!==H.x&&void 0!==H.y)return H;if("number"==typeof H&&isFinite(H))return{x:(K=A.isHorizontal())?H:null,y:K?null:H}}return null}function p(k,L,A){var ie,H=k[L].fill,K=[L];if(!A)return H;for(;!1!==H&&-1===K.indexOf(H);){if(!isFinite(H))return H;if(!(ie=k[H]))return!1;if(ie.visible)return H;K.push(H),H=ie.fill}return!1}function v(k){var L=k.fill,A="dataset";return!1===L?null:(isFinite(L)||(A="boundary"),f[A](k))}function x(k){return k&&!k.skip}function T(k,L,A,U,H){var K;if(U&&H){for(k.moveTo(L[0].x,L[0].y),K=1;K0;--K)u.canvas.lineTo(k,A[K],A[K-1],!0)}}ue.exports={id:"filler",afterDatasetsUpdate:function(k,L){var K,ie,ve,Z,A=(k.data.datasets||[]).length,U=L.propagate,H=[];for(ie=0;ie{"use strict";var O=N(9800),_=N(8839),u=N(3305),f=N(2294),h=u.noop;function y(x,T){return x.usePointStyle?T*Math.SQRT2:x.boxWidth}O._set("global",{legend:{display:!0,position:"top",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(x,T){var S=T.datasetIndex,k=this.chart,L=k.getDatasetMeta(S);L.hidden=null===L.hidden?!k.data.datasets[S].hidden:null,k.update()},onHover:null,labels:{boxWidth:40,padding:10,generateLabels:function(x){var T=x.data;return u.isArray(T.datasets)?T.datasets.map(function(S,k){return{text:S.label,fillStyle:u.isArray(S.backgroundColor)?S.backgroundColor[0]:S.backgroundColor,hidden:!x.isDatasetVisible(k),lineCap:S.borderCapStyle,lineDash:S.borderDash,lineDashOffset:S.borderDashOffset,lineJoin:S.borderJoinStyle,lineWidth:S.borderWidth,strokeStyle:S.borderColor,pointStyle:S.pointStyle,datasetIndex:k}},this):[]}}},legendCallback:function(x){var T=[];T.push('
    ');for(var S=0;S'),x.data.datasets[S].label&&T.push(x.data.datasets[S].label),T.push("");return T.push("
"),T.join("")}});var p=_.extend({initialize:function(x){u.extend(this,x),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:h,update:function(x,T,S){var k=this;return k.beforeUpdate(),k.maxWidth=x,k.maxHeight=T,k.margins=S,k.beforeSetDimensions(),k.setDimensions(),k.afterSetDimensions(),k.beforeBuildLabels(),k.buildLabels(),k.afterBuildLabels(),k.beforeFit(),k.fit(),k.afterFit(),k.afterUpdate(),k.minSize},afterUpdate:h,beforeSetDimensions:h,setDimensions:function(){var x=this;x.isHorizontal()?(x.width=x.maxWidth,x.left=0,x.right=x.width):(x.height=x.maxHeight,x.top=0,x.bottom=x.height),x.paddingLeft=0,x.paddingTop=0,x.paddingRight=0,x.paddingBottom=0,x.minSize={width:0,height:0}},afterSetDimensions:h,beforeBuildLabels:h,buildLabels:function(){var x=this,T=x.options.labels||{},S=u.callback(T.generateLabels,[x.chart],x)||[];T.filter&&(S=S.filter(function(k){return T.filter(k,x.chart.data)})),x.options.reverse&&S.reverse(),x.legendItems=S},afterBuildLabels:h,beforeFit:h,fit:function(){var x=this,T=x.options,S=T.labels,k=T.display,L=x.ctx,A=O.global,U=u.valueOrDefault,H=U(S.fontSize,A.defaultFontSize),K=U(S.fontStyle,A.defaultFontStyle),ie=U(S.fontFamily,A.defaultFontFamily),ve=u.fontString(H,K,ie),Z=x.legendHitBoxes=[],Q=x.minSize,ce=x.isHorizontal();if(ce?(Q.width=x.maxWidth,Q.height=k?10:0):(Q.width=k?10:0,Q.height=x.maxHeight),k)if(L.font=ve,ce){var G=x.lineWidths=[0],J=x.legendItems.length?H+S.padding:0;L.textAlign="left",L.textBaseline="top",u.each(x.legendItems,function(Ce,He){var ot=y(S,H)+H/2+L.measureText(Ce.text).width;G[G.length-1]+ot+S.padding>=x.width&&(J+=H+S.padding,G[G.length]=x.left),Z[He]={left:0,top:0,width:ot,height:H},G[G.length-1]+=ot+S.padding}),Q.height+=J}else{var ee=S.padding,ae=x.columnWidths=[],le=S.padding,X=0,Te=0,Se=H+ee;u.each(x.legendItems,function(Ce,He){var ot=y(S,H)+H/2+L.measureText(Ce.text).width;Te+Se>Q.height&&(le+=X+S.padding,ae.push(X),X=0,Te=0),X=Math.max(X,ot),Te+=Se,Z[He]={left:0,top:0,width:ot,height:H}}),le+=X,ae.push(X),Q.width+=le}x.width=Q.width,x.height=Q.height},afterFit:h,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var x=this,T=x.options,S=T.labels,k=O.global,L=k.elements.line,A=x.width,U=x.lineWidths;if(T.display){var G,H=x.ctx,K=u.valueOrDefault,ie=K(S.fontColor,k.defaultFontColor),ve=K(S.fontSize,k.defaultFontSize),Z=K(S.fontStyle,k.defaultFontStyle),Q=K(S.fontFamily,k.defaultFontFamily),ce=u.fontString(ve,Z,Q);H.textAlign="left",H.textBaseline="middle",H.lineWidth=.5,H.strokeStyle=ie,H.fillStyle=ie,H.font=ce;var J=y(S,ve),ee=x.legendHitBoxes,X=x.isHorizontal();G=X?{x:x.left+(A-U[0])/2,y:x.top+S.padding,line:0}:{x:x.left+S.padding,y:x.top+S.padding,line:0};var Te=ve+S.padding;u.each(x.legendItems,function(Se,Ce){var He=H.measureText(Se.text).width,et=J+ve/2+He,ot=G.x,st=G.y;X?ot+et>=A&&(st=G.y+=Te,G.line++,ot=G.x=x.left+(A-U[G.line])/2):st+Te>x.bottom&&(ot=G.x=ot+x.columnWidths[G.line]+S.padding,st=G.y=x.top+S.padding,G.line++),function(Se,Ce,He){if(!(isNaN(J)||J<=0)){H.save(),H.fillStyle=K(He.fillStyle,k.defaultColor),H.lineCap=K(He.lineCap,L.borderCapStyle),H.lineDashOffset=K(He.lineDashOffset,L.borderDashOffset),H.lineJoin=K(He.lineJoin,L.borderJoinStyle),H.lineWidth=K(He.lineWidth,L.borderWidth),H.strokeStyle=K(He.strokeStyle,k.defaultColor);var et=0===K(He.lineWidth,L.borderWidth);if(H.setLineDash&&H.setLineDash(K(He.lineDash,L.borderDash)),T.labels&&T.labels.usePointStyle){var ot=ve*Math.SQRT2/2,st=ot/Math.SQRT2;u.canvas.drawPoint(H,He.pointStyle,ot,Se+st,Ce+st)}else et||H.strokeRect(Se,Ce,J,ve),H.fillRect(Se,Ce,J,ve);H.restore()}}(ot,st,Se),ee[Ce].left=ot,ee[Ce].top=st,function(Se,Ce,He,et){var ot=ve/2,st=J+ot+Se,Rt=Ce+ot;H.fillText(He.text,st,Rt),He.hidden&&(H.beginPath(),H.lineWidth=2,H.moveTo(st,Rt),H.lineTo(st+et,Rt),H.stroke())}(ot,st,Se,He),X?G.x+=et+S.padding:G.y+=Te})}},handleEvent:function(x){var T=this,S=T.options,k="mouseup"===x.type?"click":x.type,L=!1;if("mousemove"===k){if(!S.onHover)return}else{if("click"!==k)return;if(!S.onClick)return}var A=x.x,U=x.y;if(A>=T.left&&A<=T.right&&U>=T.top&&U<=T.bottom)for(var H=T.legendHitBoxes,K=0;K=ie.left&&A<=ie.left+ie.width&&U>=ie.top&&U<=ie.top+ie.height){if("click"===k){S.onClick.call(T,x.native,T.legendItems[K]),L=!0;break}if("mousemove"===k){S.onHover.call(T,x.native,T.legendItems[K]),L=!0;break}}}return L}});function v(x,T){var S=new p({ctx:x.ctx,options:T,chart:x});f.configure(x,S,T),f.addBox(x,S),x.legend=S}ue.exports={id:"legend",_element:p,beforeInit:function(x){var T=x.options.legend;T&&v(x,T)},beforeUpdate:function(x){var T=x.options.legend,S=x.legend;T?(u.mergeIf(T,O.global.legend),S?(f.configure(x,S,T),S.options=T):v(x,T)):S&&(f.removeBox(x,S),delete x.legend)},afterEvent:function(x,T){var S=x.legend;S&&S.handleEvent(T)}}},7412:(ue,ge,N)=>{"use strict";var O=N(9800),_=N(8839),u=N(3305),f=N(2294),h=u.noop;O._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,lineHeight:1.2,padding:10,position:"top",text:"",weight:2e3}});var y=_.extend({initialize:function(v){u.extend(this,v),this.legendHitBoxes=[]},beforeUpdate:h,update:function(v,x,T){var S=this;return S.beforeUpdate(),S.maxWidth=v,S.maxHeight=x,S.margins=T,S.beforeSetDimensions(),S.setDimensions(),S.afterSetDimensions(),S.beforeBuildLabels(),S.buildLabels(),S.afterBuildLabels(),S.beforeFit(),S.fit(),S.afterFit(),S.afterUpdate(),S.minSize},afterUpdate:h,beforeSetDimensions:h,setDimensions:function(){var v=this;v.isHorizontal()?(v.width=v.maxWidth,v.left=0,v.right=v.width):(v.height=v.maxHeight,v.top=0,v.bottom=v.height),v.paddingLeft=0,v.paddingTop=0,v.paddingRight=0,v.paddingBottom=0,v.minSize={width:0,height:0}},afterSetDimensions:h,beforeBuildLabels:h,buildLabels:h,afterBuildLabels:h,beforeFit:h,fit:function(){var v=this,T=v.options,S=T.display,k=(0,u.valueOrDefault)(T.fontSize,O.global.defaultFontSize),L=v.minSize,A=u.isArray(T.text)?T.text.length:1,U=u.options.toLineHeight(T.lineHeight,k),H=S?A*U+2*T.padding:0;v.isHorizontal()?(L.width=v.maxWidth,L.height=H):(L.width=H,L.height=v.maxHeight),v.width=L.width,v.height=L.height},afterFit:h,isHorizontal:function(){var v=this.options.position;return"top"===v||"bottom"===v},draw:function(){var v=this,x=v.ctx,T=u.valueOrDefault,S=v.options,k=O.global;if(S.display){var J,ee,ae,L=T(S.fontSize,k.defaultFontSize),A=T(S.fontStyle,k.defaultFontStyle),U=T(S.fontFamily,k.defaultFontFamily),H=u.fontString(L,A,U),K=u.options.toLineHeight(S.lineHeight,L),ie=K/2+S.padding,ve=0,Z=v.top,Q=v.left,ce=v.bottom,G=v.right;x.fillStyle=T(S.fontColor,k.defaultFontColor),x.font=H,v.isHorizontal()?(ee=Q+(G-Q)/2,ae=Z+ie,J=G-Q):(ee="left"===S.position?Q+ie:G-ie,ae=Z+(ce-Z)/2,J=ce-Z,ve=Math.PI*("left"===S.position?-.5:.5)),x.save(),x.translate(ee,ae),x.rotate(ve),x.textAlign="center",x.textBaseline="middle";var le=S.text;if(u.isArray(le))for(var X=0,Te=0;Te{"use strict";ue.exports=function(ge){var O=ge.Scale.extend({getLabels:function(){var _=this.chart.data;return this.options.labels||(this.isHorizontal()?_.xLabels:_.yLabels)||_.labels},determineDataLimits:function(){var f,_=this,u=_.getLabels();_.minIndex=0,_.maxIndex=u.length-1,void 0!==_.options.ticks.min&&(f=u.indexOf(_.options.ticks.min),_.minIndex=-1!==f?f:_.minIndex),void 0!==_.options.ticks.max&&(f=u.indexOf(_.options.ticks.max),_.maxIndex=-1!==f?f:_.maxIndex),_.min=u[_.minIndex],_.max=u[_.maxIndex]},buildTicks:function(){var _=this,u=_.getLabels();_.ticks=0===_.minIndex&&_.maxIndex===u.length-1?u:u.slice(_.minIndex,_.maxIndex+1)},getLabelForIndex:function(_,u){var f=this,h=f.chart.data,y=f.isHorizontal();return h.yLabels&&!y?f.getRightValue(h.datasets[u].data[_]):f.ticks[_-f.minIndex]},getPixelForValue:function(_,u){var p,f=this,h=f.options.offset,y=Math.max(f.maxIndex+1-f.minIndex-(h?0:1),1);if(null!=_&&(p=f.isHorizontal()?_.x:_.y),void 0!==p||void 0!==_&&isNaN(u)){var x=f.getLabels().indexOf(_=p||_);u=-1!==x?x:u}if(f.isHorizontal()){var T=f.width/y,S=T*(u-f.minIndex);return h&&(S+=T/2),f.left+Math.round(S)}var k=f.height/y,L=k*(u-f.minIndex);return h&&(L+=k/2),f.top+Math.round(L)},getPixelForTick:function(_){return this.getPixelForValue(this.ticks[_],_+this.minIndex,null)},getValueForPixel:function(_){var u=this,f=u.options.offset,y=Math.max(u._ticks.length-(f?0:1),1),p=u.isHorizontal(),v=(p?u.width:u.height)/y;return _-=p?u.left:u.top,f&&(_-=v/2),(_<=0?0:Math.round(_/v))+u.minIndex},getBasePixel:function(){return this.bottom}});ge.scaleService.registerScaleType("category",O,{position:"bottom"})}},1704:(ue,ge,N)=>{"use strict";var O=N(9800),_=N(3305),u=N(8347);ue.exports=function(f){var h={position:"left",ticks:{callback:u.formatters.linear}},y=f.LinearScaleBase.extend({determineDataLimits:function(){var p=this,v=p.options,x=p.chart,S=x.data.datasets,k=p.isHorizontal();function U(ie){return k?ie.xAxisID===p.id:ie.yAxisID===p.id}p.min=null,p.max=null;var H=v.stacked;if(void 0===H&&_.each(S,function(ie,ve){if(!H){var Z=x.getDatasetMeta(ve);x.isDatasetVisible(ve)&&U(Z)&&void 0!==Z.stack&&(H=!0)}}),v.stacked||H){var K={};_.each(S,function(ie,ve){var Z=x.getDatasetMeta(ve),Q=[Z.type,void 0===v.stacked&&void 0===Z.stack?ve:"",Z.stack].join(".");void 0===K[Q]&&(K[Q]={positiveValues:[],negativeValues:[]});var ce=K[Q].positiveValues,G=K[Q].negativeValues;x.isDatasetVisible(ve)&&U(Z)&&_.each(ie.data,function(J,ee){var ae=+p.getRightValue(J);isNaN(ae)||Z.data[ee].hidden||(ce[ee]=ce[ee]||0,G[ee]=G[ee]||0,v.relativePoints?ce[ee]=100:ae<0?G[ee]+=ae:ce[ee]+=ae)})}),_.each(K,function(ie){var ve=ie.positiveValues.concat(ie.negativeValues),Z=_.min(ve),Q=_.max(ve);p.min=null===p.min?Z:Math.min(p.min,Z),p.max=null===p.max?Q:Math.max(p.max,Q)})}else _.each(S,function(ie,ve){var Z=x.getDatasetMeta(ve);x.isDatasetVisible(ve)&&U(Z)&&_.each(ie.data,function(Q,ce){var G=+p.getRightValue(Q);isNaN(G)||Z.data[ce].hidden||((null===p.min||Gp.max)&&(p.max=G))})});p.min=isFinite(p.min)&&!isNaN(p.min)?p.min:0,p.max=isFinite(p.max)&&!isNaN(p.max)?p.max:1,this.handleTickRangeOptions()},getTickLimit:function(){var p,v=this,x=v.options.ticks;if(v.isHorizontal())p=Math.min(x.maxTicksLimit?x.maxTicksLimit:11,Math.ceil(v.width/50));else{var T=_.valueOrDefault(x.fontSize,O.global.defaultFontSize);p=Math.min(x.maxTicksLimit?x.maxTicksLimit:11,Math.ceil(v.height/(2*T)))}return p},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(p,v){return+this.getRightValue(this.chart.data.datasets[v].data[p])},getPixelForValue:function(p){var v=this,x=v.start,T=+v.getRightValue(p),k=v.end-x;return v.isHorizontal()?v.left+v.width/k*(T-x):v.bottom-v.height/k*(T-x)},getValueForPixel:function(p){var v=this,x=v.isHorizontal();return v.start+(x?p-v.left:v.bottom-p)/(x?v.width:v.height)*(v.end-v.start)},getPixelForTick:function(p){return this.getPixelForValue(this.ticksAsNumbers[p])}});f.scaleService.registerScaleType("linear",y,h)}},8351:(ue,ge,N)=>{"use strict";var O=N(3305);ue.exports=function(u){var f=O.noop;u.LinearScaleBase=u.Scale.extend({getRightValue:function(h){return"string"==typeof h?+h:u.Scale.prototype.getRightValue.call(this,h)},handleTickRangeOptions:function(){var h=this,p=h.options.ticks;if(p.beginAtZero){var v=O.sign(h.min),x=O.sign(h.max);v<0&&x<0?h.max=0:v>0&&x>0&&(h.min=0)}var T=void 0!==p.min||void 0!==p.suggestedMin,S=void 0!==p.max||void 0!==p.suggestedMax;void 0!==p.min?h.min=p.min:void 0!==p.suggestedMin&&(h.min=null===h.min?p.suggestedMin:Math.min(h.min,p.suggestedMin)),void 0!==p.max?h.max=p.max:void 0!==p.suggestedMax&&(h.max=null===h.max?p.suggestedMax:Math.max(h.max,p.suggestedMax)),T!==S&&h.min>=h.max&&(T?h.max=h.min+1:h.min=h.max-1),h.min===h.max&&(h.max++,p.beginAtZero||h.min--)},getTickLimit:f,handleDirectionalChanges:f,buildTicks:function(){var h=this,p=h.options.ticks,v=h.getTickLimit(),x={maxTicks:v=Math.max(2,v),min:p.min,max:p.max,stepSize:O.valueOrDefault(p.fixedStepSize,p.stepSize)},T=h.ticks=function _(u,f){var y,h=[];if(u.stepSize&&u.stepSize>0)y=u.stepSize;else{var p=O.niceNum(f.max-f.min,!1);y=O.niceNum(p/(u.maxTicks-1),!0)}var v=Math.floor(f.min/y)*y,x=Math.ceil(f.max/y)*y;u.min&&u.max&&u.stepSize&&O.almostWhole((u.max-u.min)/u.stepSize,y/1e3)&&(v=u.min,x=u.max);var T=(x-v)/y;T=O.almostEquals(T,Math.round(T),y/1e3)?Math.round(T):Math.ceil(T);var S=1;y<1&&(S=Math.pow(10,y.toString().length-2),v=Math.round(v*S)/S,x=Math.round(x*S)/S),h.push(void 0!==u.min?u.min:v);for(var k=1;k{"use strict";var O=N(3305),_=N(8347);ue.exports=function(f){var h={position:"left",ticks:{callback:_.formatters.logarithmic}},y=f.Scale.extend({determineDataLimits:function(){var p=this,v=p.options,x=p.chart,S=x.data.datasets,k=p.isHorizontal();function L(H){return k?H.xAxisID===p.id:H.yAxisID===p.id}p.min=null,p.max=null,p.minNotZero=null;var A=v.stacked;if(void 0===A&&O.each(S,function(H,K){if(!A){var ie=x.getDatasetMeta(K);x.isDatasetVisible(K)&&L(ie)&&void 0!==ie.stack&&(A=!0)}}),v.stacked||A){var U={};O.each(S,function(H,K){var ie=x.getDatasetMeta(K),ve=[ie.type,void 0===v.stacked&&void 0===ie.stack?K:"",ie.stack].join(".");x.isDatasetVisible(K)&&L(ie)&&(void 0===U[ve]&&(U[ve]=[]),O.each(H.data,function(Z,Q){var ce=U[ve],G=+p.getRightValue(Z);isNaN(G)||ie.data[Q].hidden||G<0||(ce[Q]=ce[Q]||0,ce[Q]+=G)}))}),O.each(U,function(H){if(H.length>0){var K=O.min(H),ie=O.max(H);p.min=null===p.min?K:Math.min(p.min,K),p.max=null===p.max?ie:Math.max(p.max,ie)}})}else O.each(S,function(H,K){var ie=x.getDatasetMeta(K);x.isDatasetVisible(K)&&L(ie)&&O.each(H.data,function(ve,Z){var Q=+p.getRightValue(ve);isNaN(Q)||ie.data[Z].hidden||Q<0||((null===p.min||Qp.max)&&(p.max=Q),0!==Q&&(null===p.minNotZero||Q0?p.min:p.max<1?Math.pow(10,Math.floor(O.log10(p.max))):1)},buildTicks:function(){var p=this,x=p.options.ticks,T=!p.isHorizontal(),k=p.ticks=function u(f,h){var S,k,y=[],p=O.valueOrDefault,v=p(f.min,Math.pow(10,Math.floor(O.log10(h.min)))),x=Math.floor(O.log10(h.max)),T=Math.ceil(h.max/Math.pow(10,x));0===v?(S=Math.floor(O.log10(h.minNotZero)),k=Math.floor(h.minNotZero/Math.pow(10,S)),y.push(v),v=k*Math.pow(10,S)):(S=Math.floor(O.log10(v)),k=Math.floor(v/Math.pow(10,S)));var L=S<0?Math.pow(10,Math.abs(S)):1;do{y.push(v),10==++k&&(k=1,L=++S>=0?1:L),v=Math.round(k*Math.pow(10,S)*L)/L}while(S{"use strict";var O=N(9800),_=N(3305),u=N(8347);ue.exports=function(f){var h=O.global,y={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:u.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(Z){return Z}}};function p(Z){var Q=Z.options;return Q.angleLines.display||Q.pointLabels.display?Z.chart.data.labels.length:0}function v(Z){var Q=Z.options.pointLabels,ce=_.valueOrDefault(Q.fontSize,h.defaultFontSize),G=_.valueOrDefault(Q.fontStyle,h.defaultFontStyle),J=_.valueOrDefault(Q.fontFamily,h.defaultFontFamily);return{size:ce,style:G,family:J,font:_.fontString(ce,G,J)}}function x(Z,Q,ce){return _.isArray(ce)?{w:_.longestText(Z,Z.font,ce),h:ce.length*Q+1.5*(ce.length-1)*Q}:{w:Z.measureText(ce).width,h:Q}}function T(Z,Q,ce,G,J){return Z===G||Z===J?{start:Q-ce/2,end:Q+ce/2}:ZJ?{start:Q-ce-5,end:Q}:{start:Q,end:Q+ce+5}}function L(Z){return 0===Z||180===Z?"center":Z<180?"left":"right"}function A(Z,Q,ce,G){if(_.isArray(Q))for(var J=ce.y,ee=1.5*G,ae=0;ae270||Z<90)&&(ce.y-=Q.h)}function ie(Z){return _.isNumber(Z)?Z:0}var ve=f.LinearScaleBase.extend({setDimensions:function(){var Z=this,Q=Z.options,ce=Q.ticks;Z.width=Z.maxWidth,Z.height=Z.maxHeight,Z.xCenter=Math.round(Z.width/2),Z.yCenter=Math.round(Z.height/2);var G=_.min([Z.height,Z.width]),J=_.valueOrDefault(ce.fontSize,h.defaultFontSize);Z.drawingArea=Q.display?G/2-(J/2+ce.backdropPaddingY):G/2},determineDataLimits:function(){var Z=this,Q=Z.chart,ce=Number.POSITIVE_INFINITY,G=Number.NEGATIVE_INFINITY;_.each(Q.data.datasets,function(J,ee){if(Q.isDatasetVisible(ee)){var ae=Q.getDatasetMeta(ee);_.each(J.data,function(le,X){var Te=+Z.getRightValue(le);isNaN(Te)||ae.data[X].hidden||(ce=Math.min(Te,ce),G=Math.max(Te,G))})}}),Z.min=ce===Number.POSITIVE_INFINITY?0:ce,Z.max=G===Number.NEGATIVE_INFINITY?0:G,Z.handleTickRangeOptions()},getTickLimit:function(){var Z=this.options.ticks,Q=_.valueOrDefault(Z.fontSize,h.defaultFontSize);return Math.min(Z.maxTicksLimit?Z.maxTicksLimit:11,Math.ceil(this.drawingArea/(1.5*Q)))},convertTicksToLabels:function(){var Z=this;f.LinearScaleBase.prototype.convertTicksToLabels.call(Z),Z.pointLabels=Z.chart.data.labels.map(Z.options.pointLabels.callback,Z)},getLabelForIndex:function(Z,Q){return+this.getRightValue(this.chart.data.datasets[Q].data[Z])},fit:function(){this.options.pointLabels.display?function S(Z){var ee,ae,le,Q=v(Z),ce=Math.min(Z.height/2,Z.width/2),G={r:Z.width,l:0,t:Z.height,b:0},J={};Z.ctx.font=Q.font,Z._pointLabelSizes=[];var X=p(Z);for(ee=0;eeG.r&&(G.r=Ce.end,J.r=Te),He.startG.b&&(G.b=He.end,J.b=Te)}Z.setReductions(ce,G,J)}(this):function k(Z){var Q=Math.min(Z.height/2,Z.width/2);Z.drawingArea=Math.round(Q),Z.setCenterPoint(0,0,0,0)}(this)},setReductions:function(Z,Q,ce){var G=this,J=Q.l/Math.sin(ce.l),ee=Math.max(Q.r-G.width,0)/Math.sin(ce.r),ae=-Q.t/Math.cos(ce.t),le=-Math.max(Q.b-G.height,0)/Math.cos(ce.b);J=ie(J),ee=ie(ee),ae=ie(ae),le=ie(le),G.drawingArea=Math.min(Math.round(Z-(J+ee)/2),Math.round(Z-(ae+le)/2)),G.setCenterPoint(J,ee,ae,le)},setCenterPoint:function(Z,Q,ce,G){var J=this,le=ce+J.drawingArea,X=J.height-G-J.drawingArea;J.xCenter=Math.round((Z+J.drawingArea+(J.width-Q-J.drawingArea))/2+J.left),J.yCenter=Math.round((le+X)/2+J.top)},getIndexAngle:function(Z){return Z*(2*Math.PI/p(this))+(this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0)*Math.PI*2/360},getDistanceFromCenterForValue:function(Z){var Q=this;if(null===Z)return 0;var ce=Q.drawingArea/(Q.max-Q.min);return Q.options.ticks.reverse?(Q.max-Z)*ce:(Z-Q.min)*ce},getPointPosition:function(Z,Q){var G=this.getIndexAngle(Z)-Math.PI/2;return{x:Math.round(Math.cos(G)*Q)+this.xCenter,y:Math.round(Math.sin(G)*Q)+this.yCenter}},getPointPositionForValue:function(Z,Q){return this.getPointPosition(Z,this.getDistanceFromCenterForValue(Q))},getBasePosition:function(){var Z=this,Q=Z.min,ce=Z.max;return Z.getPointPositionForValue(0,Z.beginAtZero?0:Q<0&&ce<0?ce:Q>0&&ce>0?Q:0)},draw:function(){var Z=this,Q=Z.options,ce=Q.gridLines,G=Q.ticks,J=_.valueOrDefault;if(Q.display){var ee=Z.ctx,ae=this.getIndexAngle(0),le=J(G.fontSize,h.defaultFontSize),X=J(G.fontStyle,h.defaultFontStyle),Te=J(G.fontFamily,h.defaultFontFamily),Se=_.fontString(le,X,Te);_.each(Z.ticks,function(Ce,He){if(He>0||G.reverse){var et=Z.getDistanceFromCenterForValue(Z.ticksAsNumbers[He]);if(ce.display&&0!==He&&function K(Z,Q,ce,G){var J=Z.ctx;if(J.strokeStyle=_.valueAtIndexOrDefault(Q.color,G-1),J.lineWidth=_.valueAtIndexOrDefault(Q.lineWidth,G-1),Z.options.gridLines.circular)J.beginPath(),J.arc(Z.xCenter,Z.yCenter,ce,0,2*Math.PI),J.closePath(),J.stroke();else{var ee=p(Z);if(0===ee)return;J.beginPath();var ae=Z.getPointPosition(0,ce);J.moveTo(ae.x,ae.y);for(var le=1;le=0;le--){if(G.display){var X=Z.getPointPosition(le,ee);Q.beginPath(),Q.moveTo(Z.xCenter,Z.yCenter),Q.lineTo(X.x,X.y),Q.stroke(),Q.closePath()}if(J.display){var Te=Z.getPointPosition(le,ee+5),Se=_.valueAtIndexOrDefault(J.fontColor,le,h.defaultFontColor);Q.font=ae.font,Q.fillStyle=Se;var Ce=Z.getIndexAngle(le),He=_.toDegrees(Ce);Q.textAlign=L(He),U(He,Z._pointLabelSizes[le],Te),A(Q,Z.pointLabels[le]||"",Te,ae.size)}}}(Z)}}});f.scaleService.registerScaleType("radialLinear",ve,y)}},4215:(ue,ge,N)=>{"use strict";var O=N(5439);O="function"==typeof O?O:window.moment;var _=N(9800),u=N(3305),f=Number.MIN_SAFE_INTEGER||-9007199254740991,h=Number.MAX_SAFE_INTEGER||9007199254740991,y={millisecond:{common:!0,size:1,steps:[1,2,5,10,20,50,100,250,500]},second:{common:!0,size:1e3,steps:[1,2,5,10,30]},minute:{common:!0,size:6e4,steps:[1,2,5,10,30]},hour:{common:!0,size:36e5,steps:[1,2,3,6,12]},day:{common:!0,size:864e5,steps:[1,2,5]},week:{common:!1,size:6048e5,steps:[1,2,3,4]},month:{common:!0,size:2628e6,steps:[1,2,3]},quarter:{common:!1,size:7884e6,steps:[1,2,3,4]},year:{common:!0,size:3154e7}},p=Object.keys(y);function v(G,J){return G-J}function x(G){var ae,le,X,J={},ee=[];for(ae=0,le=G.length;ae=0&&ae<=le;){if(Se=G[X=ae+le>>1],!(Te=G[X-1]||null))return{lo:null,hi:Se};if(Se[J]ee))return{lo:Te,hi:Se};le=X-1}}return{lo:Se,hi:null}}(G,J,ee),X=le.lo?le.hi?le.lo:G[G.length-2]:G[0],Te=le.lo?le.hi?le.hi:G[G.length-1]:G[1],Se=Te[J]-X[J];return X[ae]+(Te[ae]-X[ae])*(Se?(ee-X[J])/Se:0)}function L(G,J){var ee=J.parser,ae=J.parser||J.format;return"function"==typeof ee?ee(G):"string"==typeof G&&"string"==typeof ae?O(G,ae):(G instanceof O||(G=O(G)),G.isValid()?G:"function"==typeof ae?ae(G):G)}function A(G,J){if(u.isNullOrUndef(G))return null;var ee=J.options.time,ae=L(J.getRightValue(G),ee);return ae.isValid()?(ee.round&&ae.startOf(ee.round),ae.valueOf()):null}function ie(G){for(var J=p.indexOf(G)+1,ee=p.length;J=le&&st<=X&&He.push(st);return ae.min=le,ae.max=X,ae._unit=Se.unit||function K(G,J,ee,ae){var Te,Se,le=O.duration(O(ae).diff(O(ee)));for(Te=p.length-1;Te>=p.indexOf(J);Te--)if(y[Se=p[Te]].common&&le.as(Se)>=G.length)return Se;return p[J?p.indexOf(J):0]}(He,Se.minUnit,ae.min,ae.max),ae._majorUnit=ie(ae._unit),ae._table=function T(G,J,ee,ae){if("linear"===ae||!G.length)return[{time:J,pos:0},{time:ee,pos:1}];var Te,Se,Ce,He,et,le=[],X=[J];for(Te=0,Se=G.length;TeJ&&He1?J[1]:ae,"pos")-k(G,"time",Ce,"pos"))/2),le.time.max||(Ce=J.length>1?J[J.length-2]:ee,Te=(k(G,"time",J[J.length-1],"pos")-k(G,"time",Ce,"pos"))/2)),{left:X,right:Te}}(ae._table,He,le,X,Te),ae._labelFormat=function ce(G,J){var ee,ae,le,X=G.length;for(ee=0;ee=0&&ae0?He:1}});G.scaleService.registerScaleType("time",ee,{position:"bottom",distribution:"linear",bounds:"data",time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{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"}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}})}},3207:(ue,ge,N)=>{var O=N(9914);function _(Q){if(Q){var le=[0,0,0],X=1,Te=Q.match(/^#([a-fA-F0-9]{3})$/i);if(Te){Te=Te[1];for(var Se=0;Se{var O=N(7227),_=N(3207),u=function(f){return f instanceof u?f:this instanceof u?(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 f?(h=_.getRgba(f))?this.setValues("rgb",h):(h=_.getHsla(f))?this.setValues("hsl",h):(h=_.getHwb(f))&&this.setValues("hwb",h):"object"==typeof f&&(void 0!==(h=f).r||void 0!==h.red?this.setValues("rgb",h):void 0!==h.l||void 0!==h.lightness?this.setValues("hsl",h):void 0!==h.v||void 0!==h.value?this.setValues("hsv",h):void 0!==h.w||void 0!==h.whiteness?this.setValues("hwb",h):(void 0!==h.c||void 0!==h.cyan)&&this.setValues("cmyk",h)))):new u(f);var h};u.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 f=this.values;return 1!==f.alpha?f.hwb.concat([f.alpha]):f.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var f=this.values;return f.rgb.concat([f.alpha])},hslaArray:function(){var f=this.values;return f.hsl.concat([f.alpha])},alpha:function(f){return void 0===f?this.values.alpha:(this.setValues("alpha",f),this)},red:function(f){return this.setChannel("rgb",0,f)},green:function(f){return this.setChannel("rgb",1,f)},blue:function(f){return this.setChannel("rgb",2,f)},hue:function(f){return f&&(f=(f%=360)<0?360+f:f),this.setChannel("hsl",0,f)},saturation:function(f){return this.setChannel("hsl",1,f)},lightness:function(f){return this.setChannel("hsl",2,f)},saturationv:function(f){return this.setChannel("hsv",1,f)},whiteness:function(f){return this.setChannel("hwb",1,f)},blackness:function(f){return this.setChannel("hwb",2,f)},value:function(f){return this.setChannel("hsv",2,f)},cyan:function(f){return this.setChannel("cmyk",0,f)},magenta:function(f){return this.setChannel("cmyk",1,f)},yellow:function(f){return this.setChannel("cmyk",2,f)},black:function(f){return this.setChannel("cmyk",3,f)},hexString:function(){return _.hexString(this.values.rgb)},rgbString:function(){return _.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return _.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return _.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return _.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return _.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return _.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return _.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var f=this.values.rgb;return f[0]<<16|f[1]<<8|f[2]},luminosity:function(){for(var f=this.values.rgb,h=[],y=0;yy?(h+.05)/(y+.05):(y+.05)/(h+.05)},level:function(f){var h=this.contrast(f);return h>=7.1?"AAA":h>=4.5?"AA":""},dark:function(){var f=this.values.rgb;return(299*f[0]+587*f[1]+114*f[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var f=[],h=0;h<3;h++)f[h]=255-this.values.rgb[h];return this.setValues("rgb",f),this},lighten:function(f){var h=this.values.hsl;return h[2]+=h[2]*f,this.setValues("hsl",h),this},darken:function(f){var h=this.values.hsl;return h[2]-=h[2]*f,this.setValues("hsl",h),this},saturate:function(f){var h=this.values.hsl;return h[1]+=h[1]*f,this.setValues("hsl",h),this},desaturate:function(f){var h=this.values.hsl;return h[1]-=h[1]*f,this.setValues("hsl",h),this},whiten:function(f){var h=this.values.hwb;return h[1]+=h[1]*f,this.setValues("hwb",h),this},blacken:function(f){var h=this.values.hwb;return h[2]+=h[2]*f,this.setValues("hwb",h),this},greyscale:function(){var f=this.values.rgb,h=.3*f[0]+.59*f[1]+.11*f[2];return this.setValues("rgb",[h,h,h]),this},clearer:function(f){var h=this.values.alpha;return this.setValues("alpha",h-h*f),this},opaquer:function(f){var h=this.values.alpha;return this.setValues("alpha",h+h*f),this},rotate:function(f){var h=this.values.hsl,y=(h[0]+f)%360;return h[0]=y<0?360+y:y,this.setValues("hsl",h),this},mix:function(f,h){var y=this,p=f,v=void 0===h?.5:h,x=2*v-1,T=y.alpha()-p.alpha(),S=((x*T==-1?x:(x+T)/(1+x*T))+1)/2,k=1-S;return this.rgb(S*y.red()+k*p.red(),S*y.green()+k*p.green(),S*y.blue()+k*p.blue()).alpha(y.alpha()*v+p.alpha()*(1-v))},toJSON:function(){return this.rgb()},clone:function(){var p,v,f=new u,h=this.values,y=f.values;for(var x in h)h.hasOwnProperty(x)&&("[object Array]"===(v={}.toString.call(p=h[x]))?y[x]=p.slice(0):"[object Number]"===v?y[x]=p:console.error("unexpected color value:",p));return f}},u.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},u.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},u.prototype.getValues=function(f){for(var h=this.values,y={},p=0;p{function ge(W){var _e,De,re=W[0]/255,ne=W[1]/255,pe=W[2]/255,he=Math.min(re,ne,pe),de=Math.max(re,ne,pe),be=de-he;return de==he?_e=0:re==de?_e=(ne-pe)/be:ne==de?_e=2+(pe-re)/be:pe==de&&(_e=4+(re-ne)/be),(_e=Math.min(60*_e,360))<0&&(_e+=360),De=(he+de)/2,[_e,100*(de==he?0:De<=.5?be/(de+he):be/(2-de-he)),100*De]}function N(W){var _e,Me,re=W[0],ne=W[1],pe=W[2],he=Math.min(re,ne,pe),de=Math.max(re,ne,pe),be=de-he;return Me=0==de?0:be/de*1e3/10,de==he?_e=0:re==de?_e=(ne-pe)/be:ne==de?_e=2+(pe-re)/be:pe==de&&(_e=4+(re-ne)/be),(_e=Math.min(60*_e,360))<0&&(_e+=360),[_e,Me,de/255*1e3/10]}function O(W){var re=W[0],ne=W[1],de=W[2];return[ge(W)[0],1/255*Math.min(re,Math.min(ne,de))*100,100*(de=1-1/255*Math.max(re,Math.max(ne,de)))]}function _(W){var _e,re=W[0]/255,ne=W[1]/255,pe=W[2]/255;return[100*((1-re-(_e=Math.min(1-re,1-ne,1-pe)))/(1-_e)||0),100*((1-ne-_e)/(1-_e)||0),100*((1-pe-_e)/(1-_e)||0),100*_e]}function u(W){return rr[JSON.stringify(W)]}function f(W){var re=W[0]/255,ne=W[1]/255,pe=W[2]/255;return[100*(.4124*(re=re>.04045?Math.pow((re+.055)/1.055,2.4):re/12.92)+.3576*(ne=ne>.04045?Math.pow((ne+.055)/1.055,2.4):ne/12.92)+.1805*(pe=pe>.04045?Math.pow((pe+.055)/1.055,2.4):pe/12.92)),100*(.2126*re+.7152*ne+.0722*pe),100*(.0193*re+.1192*ne+.9505*pe)]}function h(W){var re=f(W),ne=re[0],pe=re[1],he=re[2];return pe/=100,he/=108.883,ne=(ne/=95.047)>.008856?Math.pow(ne,1/3):7.787*ne+16/116,[116*(pe=pe>.008856?Math.pow(pe,1/3):7.787*pe+16/116)-16,500*(ne-pe),200*(pe-(he=he>.008856?Math.pow(he,1/3):7.787*he+16/116))]}function p(W){var he,de,be,_e,Me,re=W[0]/360,ne=W[1]/100,pe=W[2]/100;if(0==ne)return[Me=255*pe,Me,Me];he=2*pe-(de=pe<.5?pe*(1+ne):pe+ne-pe*ne),_e=[0,0,0];for(var De=0;De<3;De++)(be=re+1/3*-(De-1))<0&&be++,be>1&&be--,_e[De]=255*(Me=6*be<1?he+6*(de-he)*be:2*be<1?de:3*be<2?he+(de-he)*(2/3-be)*6:he);return _e}function k(W){var re=W[0]/60,ne=W[1]/100,Me=W[2]/100,pe=Math.floor(re)%6,he=re-Math.floor(re),de=255*Me*(1-ne),be=255*Me*(1-ne*he),_e=255*Me*(1-ne*(1-he));switch(Me*=255,pe){case 0:return[Me,_e,de];case 1:return[be,Me,de];case 2:return[de,Me,_e];case 3:return[de,be,Me];case 4:return[_e,de,Me];case 5:return[Me,de,be]}}function K(W){var de,be,_e,Me,re=W[0]/360,ne=W[1]/100,pe=W[2]/100,he=ne+pe;switch(he>1&&(ne/=he,pe/=he),_e=6*re-(de=Math.floor(6*re)),0!=(1&de)&&(_e=1-_e),Me=ne+_e*((be=1-pe)-ne),de){default:case 6:case 0:r=be,g=Me,b=ne;break;case 1:r=Me,g=be,b=ne;break;case 2:r=ne,g=be,b=Me;break;case 3:r=ne,g=Me,b=be;break;case 4:r=Me,g=ne,b=be;break;case 5:r=be,g=ne,b=Me}return[255*r,255*g,255*b]}function ce(W){var ne=W[1]/100,pe=W[2]/100,he=W[3]/100;return[255*(1-Math.min(1,W[0]/100*(1-he)+he)),255*(1-Math.min(1,ne*(1-he)+he)),255*(1-Math.min(1,pe*(1-he)+he))]}function le(W){var he,de,be,re=W[0]/100,ne=W[1]/100,pe=W[2]/100;return de=-.9689*re+1.8758*ne+.0415*pe,be=.0557*re+-.204*ne+1.057*pe,he=(he=3.2406*re+-1.5372*ne+-.4986*pe)>.0031308?1.055*Math.pow(he,1/2.4)-.055:he*=12.92,de=de>.0031308?1.055*Math.pow(de,1/2.4)-.055:de*=12.92,be=be>.0031308?1.055*Math.pow(be,1/2.4)-.055:be*=12.92,[255*(he=Math.min(Math.max(0,he),1)),255*(de=Math.min(Math.max(0,de),1)),255*(be=Math.min(Math.max(0,be),1))]}function X(W){var re=W[0],ne=W[1],pe=W[2];return ne/=100,pe/=108.883,re=(re/=95.047)>.008856?Math.pow(re,1/3):7.787*re+16/116,[116*(ne=ne>.008856?Math.pow(ne,1/3):7.787*ne+16/116)-16,500*(re-ne),200*(ne-(pe=pe>.008856?Math.pow(pe,1/3):7.787*pe+16/116))]}function Se(W){var he,de,be,_e,re=W[0],ne=W[1],pe=W[2];return re<=8?_e=(de=100*re/903.3)/100*7.787+16/116:(de=100*Math.pow((re+16)/116,3),_e=Math.pow(de/100,1/3)),[he=he/95.047<=.008856?he=95.047*(ne/500+_e-16/116)/7.787:95.047*Math.pow(ne/500+_e,3),de,be=be/108.883<=.008859?be=108.883*(_e-pe/200-16/116)/7.787:108.883*Math.pow(_e-pe/200,3)]}function Ce(W){var de,re=W[0],ne=W[1],pe=W[2];return(de=360*Math.atan2(pe,ne)/2/Math.PI)<0&&(de+=360),[re,Math.sqrt(ne*ne+pe*pe),de]}function He(W){return le(Se(W))}function et(W){var be,ne=W[1];return be=W[2]/360*2*Math.PI,[W[0],ne*Math.cos(be),ne*Math.sin(be)]}function Rt(W){return Li[W]}ue.exports={rgb2hsl:ge,rgb2hsv:N,rgb2hwb:O,rgb2cmyk:_,rgb2keyword:u,rgb2xyz:f,rgb2lab:h,rgb2lch:function y(W){return Ce(h(W))},hsl2rgb:p,hsl2hsv:function v(W){var ne=W[1]/100,pe=W[2]/100;return 0===pe?[0,0,0]:[W[0],2*(ne*=(pe*=2)<=1?pe:2-pe)/(pe+ne)*100,(pe+ne)/2*100]},hsl2hwb:function x(W){return O(p(W))},hsl2cmyk:function T(W){return _(p(W))},hsl2keyword:function S(W){return u(p(W))},hsv2rgb:k,hsv2hsl:function L(W){var he,de,ne=W[1]/100,pe=W[2]/100;return he=ne*pe,[W[0],100*(he=(he/=(de=(2-ne)*pe)<=1?de:2-de)||0),100*(de/=2)]},hsv2hwb:function A(W){return O(k(W))},hsv2cmyk:function U(W){return _(k(W))},hsv2keyword:function H(W){return u(k(W))},hwb2rgb:K,hwb2hsl:function ie(W){return ge(K(W))},hwb2hsv:function ve(W){return N(K(W))},hwb2cmyk:function Z(W){return _(K(W))},hwb2keyword:function Q(W){return u(K(W))},cmyk2rgb:ce,cmyk2hsl:function G(W){return ge(ce(W))},cmyk2hsv:function J(W){return N(ce(W))},cmyk2hwb:function ee(W){return O(ce(W))},cmyk2keyword:function ae(W){return u(ce(W))},keyword2rgb:Rt,keyword2hsl:function en(W){return ge(Rt(W))},keyword2hsv:function $n(W){return N(Rt(W))},keyword2hwb:function Tn(W){return O(Rt(W))},keyword2cmyk:function Yn(W){return _(Rt(W))},keyword2lab:function Ue(W){return h(Rt(W))},keyword2xyz:function Ti(W){return f(Rt(W))},xyz2rgb:le,xyz2lab:X,xyz2lch:function Te(W){return Ce(X(W))},lab2xyz:Se,lab2rgb:He,lab2lch:Ce,lch2lab:et,lch2xyz:function ot(W){return Se(et(W))},lch2rgb:function st(W){return He(et(W))}};var Li={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]},rr={};for(var Ze in Li)rr[JSON.stringify(Li[Ze])]=Ze},7227:(ue,ge,N)=>{var O=N(4126),_=function(){return new p};for(var u in O){_[u+"Raw"]=function(v){return function(x){return"number"==typeof x&&(x=Array.prototype.slice.call(arguments)),O[v](x)}}(u);var f=/(\w+)2(\w+)/.exec(u),h=f[1],y=f[2];(_[h]=_[h]||{})[y]=_[u]=function(v){return function(x){"number"==typeof x&&(x=Array.prototype.slice.call(arguments));var T=O[v](x);if("string"==typeof T||void 0===T)return T;for(var S=0;S{ue.exports={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]}},7088:function(ue,ge,N){!function(O){"use strict";O.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(u){return/^nm$/i.test(u)},meridiem:function(u,f,h){return u<12?h?"vm":"VM":h?"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(u){return u+(1===u||8===u||u>=20?"ste":"de")},week:{dow:1,doy:4}})}(N(5439))},2502:function(ue,ge,N){!function(O){"use strict";O.defineLocale("ar-dz",{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:"\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:"\u0623\u062d_\u0625\u062b_\u062b\u0644\u0627_\u0623\u0631_\u062e\u0645_\u062c\u0645_\u0633\u0628".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:4}})}(N(5439))},128:function(ue,ge,N){!function(O){"use strict";O.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}})}(N(5439))},4519:function(ue,ge,N){!function(O){"use strict";var _={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},u=function(v){return 0===v?0:1===v?1:2===v?2:v%100>=3&&v%100<=10?3:v%100>=11?4:5},f={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"]},h=function(v){return function(x,T,S,k){var L=u(x),A=f[v][u(x)];return 2===L&&(A=A[T?0:1]),A.replace(/%d/i,x)}},y=["\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"];O.defineLocale("ar-ly",{months:y,monthsShort:y,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(v){return"\u0645"===v},meridiem:function(v,x,T){return v<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:h("s"),ss:h("s"),m:h("m"),mm:h("m"),h:h("h"),hh:h("h"),d:h("d"),dd:h("d"),M:h("M"),MM:h("M"),y:h("y"),yy:h("y")},preparse:function(v){return v.replace(/\u060c/g,",")},postformat:function(v){return v.replace(/\d/g,function(x){return _[x]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(N(5439))},5443:function(ue,ge,N){!function(O){"use strict";O.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\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:6,doy:12}})}(N(5439))},7642:function(ue,ge,N){!function(O){"use strict";var _={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},u={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"};O.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(h){return"\u0645"===h},meridiem:function(h,y,p){return h<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(h){return h.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(y){return u[y]}).replace(/\u060c/g,",")},postformat:function(h){return h.replace(/\d/g,function(y){return _[y]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}})}(N(5439))},8592:function(ue,ge,N){!function(O){"use strict";O.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}})}(N(5439))},7038:function(ue,ge,N){!function(O){"use strict";var _={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},u={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},f=function(x){return 0===x?0:1===x?1:2===x?2:x%100>=3&&x%100<=10?3:x%100>=11?4:5},h={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"]},y=function(x){return function(T,S,k,L){var A=f(T),U=h[x][f(T)];return 2===A&&(U=U[S?0:1]),U.replace(/%d/i,T)}},p=["\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"];O.defineLocale("ar",{months:p,monthsShort:p,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(x){return"\u0645"===x},meridiem:function(x,T,S){return x<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:y("s"),ss:y("s"),m:y("m"),mm:y("m"),h:y("h"),hh:y("h"),d:y("d"),dd:y("d"),M:y("M"),MM:y("M"),y:y("y"),yy:y("y")},preparse:function(x){return x.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(T){return u[T]}).replace(/\u060c/g,",")},postformat:function(x){return x.replace(/\d/g,function(T){return _[T]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(N(5439))},1213:function(ue,ge,N){!function(O){"use strict";var _={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"};O.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:"birne\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(f){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(f)},meridiem:function(f,h,y){return f<4?"gec\u0259":f<12?"s\u0259h\u0259r":f<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(f){if(0===f)return f+"-\u0131nc\u0131";var h=f%10;return f+(_[h]||_[f%100-h]||_[f>=100?100:null])},week:{dow:1,doy:7}})}(N(5439))},9191:function(ue,ge,N){!function(O){"use strict";function u(h,y,p){return"m"===p?y?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===p?y?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":h+" "+function _(h,y){var p=h.split("_");return y%10==1&&y%100!=11?p[0]:y%10>=2&&y%10<=4&&(y%100<10||y%100>=20)?p[1]:p[2]}({ss:y?"\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:y?"\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:y?"\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"}[p],+h)}O.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:u,mm:u,h:u,hh:u,d:"\u0434\u0437\u0435\u043d\u044c",dd:u,M:"\u043c\u0435\u0441\u044f\u0446",MM:u,y:"\u0433\u043e\u0434",yy:u},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(h){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(h)},meridiem:function(h,y,p){return h<4?"\u043d\u043e\u0447\u044b":h<12?"\u0440\u0430\u043d\u0456\u0446\u044b":h<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(h,y){switch(y){case"M":case"d":case"DDD":case"w":case"W":return h%10!=2&&h%10!=3||h%100==12||h%100==13?h+"-\u044b":h+"-\u0456";case"D":return h+"-\u0433\u0430";default:return h}},week:{dow:1,doy:7}})}(N(5439))},322:function(ue,ge,N){!function(O){"use strict";O.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\u0440_\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"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u0412 \u0438\u0437\u043c\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\u043d\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(u){var f=u%10,h=u%100;return 0===u?u+"-\u0435\u0432":0===h?u+"-\u0435\u043d":h>10&&h<20?u+"-\u0442\u0438":1===f?u+"-\u0432\u0438":2===f?u+"-\u0440\u0438":7===f||8===f?u+"-\u043c\u0438":u+"-\u0442\u0438"},week:{dow:1,doy:7}})}(N(5439))},8042:function(ue,ge,N){!function(O){"use strict";O.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}})}(N(5439))},9620:function(ue,ge,N){!function(O){"use strict";var _={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},u={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};O.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09c0_\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_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2_\u0986\u0997_\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_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u0983_\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(h){return h.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(y){return u[y]})},postformat:function(h){return h.replace(/\d/g,function(y){return _[y]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(h,y){return 12===h&&(h=0),"\u09b0\u09be\u09a4"===y&&h>=4||"\u09a6\u09c1\u09aa\u09c1\u09b0"===y&&h<5||"\u09ac\u09bf\u0995\u09be\u09b2"===y?h+12:h},meridiem:function(h,y,p){return h<4?"\u09b0\u09be\u09a4":h<10?"\u09b8\u0995\u09be\u09b2":h<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":h<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}})}(N(5439))},9645:function(ue,ge,N){!function(O){"use strict";var _={1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"},u={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};O.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\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("_"),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\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("_"),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(h){return h.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(y){return u[y]})},postformat:function(h){return h.replace(/\d/g,function(y){return _[y]})},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(h,y){return 12===h&&(h=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===y&&h>=4||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===y&&h<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===y?h+12:h},meridiem:function(h,y,p){return h<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":h<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":h<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":h<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}})}(N(5439))},5020:function(ue,ge,N){!function(O){"use strict";function _(v,x,T){return v+" "+function h(v,x){return 2===x?function y(v){var x={m:"v",b:"v",d:"z"};return void 0===x[v.charAt(0)]?v:x[v.charAt(0)]+v.substring(1)}(v):v}({mm:"munutenn",MM:"miz",dd:"devezh"}[T],v)}function f(v){return v>9?f(v%10):v}O.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:_,h:"un eur",hh:"%d eur",d:"un devezh",dd:_,M:"ur miz",MM:_,y:"ur bloaz",yy:function u(v){switch(f(v)){case 1:case 3:case 4:case 5:case 9:return v+" bloaz";default:return v+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(v){return v+(1===v?"a\xf1":"vet")},week:{dow:1,doy:4}})}(N(5439))},4792:function(ue,ge,N){!function(O){"use strict";function _(f,h,y){var p=f+" ";switch(y){case"ss":return p+(1===f?"sekunda":2===f||3===f||4===f?"sekunde":"sekundi");case"m":return h?"jedna minuta":"jedne minute";case"mm":return p+(1===f?"minuta":2===f||3===f||4===f?"minute":"minuta");case"h":return h?"jedan sat":"jednog sata";case"hh":return p+(1===f?"sat":2===f||3===f||4===f?"sata":"sati");case"dd":return p+(1===f?"dan":"dana");case"MM":return p+(1===f?"mjesec":2===f||3===f||4===f?"mjeseca":"mjeseci");case"yy":return p+(1===f?"godina":2===f||3===f||4===f?"godine":"godina")}}O.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:_,m:_,mm:_,h:_,hh:_,d:"dan",dd:_,M:"mjesec",MM:_,y:"godinu",yy:_},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},7980:function(ue,ge,N){!function(O){"use strict";O.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(u,f){var h=1===u?"r":2===u?"n":3===u?"r":4===u?"t":"\xe8";return("w"===f||"W"===f)&&(h="a"),u+h},week:{dow:1,doy:4}})}(N(5439))},7322:function(ue,ge,N){!function(O){"use strict";var _="leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),u="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_");function f(p){return p>1&&p<5&&1!=~~(p/10)}function h(p,v,x,T){var S=p+" ";switch(x){case"s":return v||T?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return v||T?S+(f(p)?"sekundy":"sekund"):S+"sekundami";case"m":return v?"minuta":T?"minutu":"minutou";case"mm":return v||T?S+(f(p)?"minuty":"minut"):S+"minutami";case"h":return v?"hodina":T?"hodinu":"hodinou";case"hh":return v||T?S+(f(p)?"hodiny":"hodin"):S+"hodinami";case"d":return v||T?"den":"dnem";case"dd":return v||T?S+(f(p)?"dny":"dn\xed"):S+"dny";case"M":return v||T?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return v||T?S+(f(p)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):S+"m\u011bs\xedci";case"y":return v||T?"rok":"rokem";case"yy":return v||T?S+(f(p)?"roky":"let"):S+"lety"}}O.defineLocale("cs",{months:_,monthsShort:u,monthsParse:function(p,v){var x,T=[];for(x=0;x<12;x++)T[x]=new RegExp("^"+p[x]+"$|^"+v[x]+"$","i");return T}(_,u),shortMonthsParse:function(p){var v,x=[];for(v=0;v<12;v++)x[v]=new RegExp("^"+p[v]+"$","i");return x}(u),longMonthsParse:function(p){var v,x=[];for(v=0;v<12;v++)x[v]=new RegExp("^"+p[v]+"$","i");return x}(_),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}})}(N(5439))},365:function(ue,ge,N){!function(O){"use strict";O.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(u){return u+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(u)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(u)?"\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}})}(N(5439))},2092:function(ue,ge,N){!function(O){"use strict";O.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(u){var h="";return u>20?h=40===u||50===u||60===u||80===u||100===u?"fed":"ain":u>0&&(h=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][u]),u+h},week:{dow:1,doy:4}})}(N(5439))},7387:function(ue,ge,N){!function(O){"use strict";O.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}})}(N(5439))},9459:function(ue,ge,N){!function(O){"use strict";function _(f,h,y,p){var v={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[f+" Tage",f+" Tagen"],M:["ein Monat","einem Monat"],MM:[f+" Monate",f+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[f+" Jahre",f+" Jahren"]};return h?v[y][0]:v[y][1]}O.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:_,mm:"%d Minuten",h:_,hh:"%d Stunden",d:_,dd:_,M:_,MM:_,y:_,yy:_},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},3694:function(ue,ge,N){!function(O){"use strict";function _(f,h,y,p){var v={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[f+" Tage",f+" Tagen"],M:["ein Monat","einem Monat"],MM:[f+" Monate",f+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[f+" Jahre",f+" Jahren"]};return h?v[y][0]:v[y][1]}O.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:_,mm:"%d Minuten",h:_,hh:"%d Stunden",d:_,dd:_,M:_,MM:_,y:_,yy:_},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},4307:function(ue,ge,N){!function(O){"use strict";function _(f,h,y,p){var v={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[f+" Tage",f+" Tagen"],M:["ein Monat","einem Monat"],MM:[f+" Monate",f+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[f+" Jahre",f+" Jahren"]};return h?v[y][0]:v[y][1]}O.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:_,mm:"%d Minuten",h:_,hh:"%d Stunden",d:_,dd:_,M:_,MM:_,y:_,yy:_},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},9659:function(ue,ge,N){!function(O){"use strict";var _=["\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"],u=["\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"];O.defineLocale("dv",{months:_,monthsShort:_,weekdays:u,weekdaysShort:u,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(h){return"\u0789\u078a"===h},meridiem:function(h,y,p){return h<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(h){return h.replace(/\u060c/g,",")},postformat:function(h){return h.replace(/,/g,"\u060c")},week:{dow:7,doy:12}})}(N(5439))},3460:function(ue,ge,N){!function(O){"use strict";O.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(f,h){return f?"string"==typeof h&&/D/.test(h.substring(0,h.indexOf("MMMM")))?this._monthsGenitiveEl[f.month()]:this._monthsNominativeEl[f.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(f,h,y){return f>11?y?"\u03bc\u03bc":"\u039c\u039c":y?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(f){return"\u03bc"===(f+"").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(){return 6===this.day()?"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT":"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"},sameElse:"L"},calendar:function(f,h){var y=this._calendarEl[f],p=h&&h.hours();return function _(f){return f instanceof Function||"[object Function]"===Object.prototype.toString.call(f)}(y)&&(y=y.apply(h)),y.replace("{}",p%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}})}(N(5439))},4369:function(ue,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},530:function(ue,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")}})}(N(5439))},9998:function(ue,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},3391:function(ue,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},5414:function(ue,ge,N){!function(O){"use strict";O.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",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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")}})}(N(5439))},1248:function(ue,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},4530:function(ue,ge,N){!function(O){"use strict";O.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_a\u016dg_sep_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:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(u){return"p"===u.charAt(0).toLowerCase()},meridiem:function(u,f,h){return u>11?h?"p.t.m.":"P.T.M.":h?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(N(5439))},8944:function(ue,ge,N){!function(O){"use strict";var _="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),u="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),f=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],h=/^(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;O.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(p,v){return p?/-MMM-/.test(v)?u[p.month()]:_[p.month()]:_},monthsRegex:h,monthsShortRegex:h,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:f,longMonthsParse:f,shortMonthsParse:f,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",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}})}(N(5439))},3609:function(ue,ge,N){!function(O){"use strict";var _="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),u="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");O.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(h,y){return h?/-MMM-/.test(y)?u[h.month()]:_[h.month()]:_},monthsParseExact:!0,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:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY h:mm A",LLLL:"dddd, MMMM [de] D [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",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}})}(N(5439))},6866:function(ue,ge,N){!function(O){"use strict";var _="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),u="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),f=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],h=/^(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;O.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(p,v){return p?/-MMM-/.test(v)?u[p.month()]:_[p.month()]:_},monthsRegex:h,monthsShortRegex:h,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:f,longMonthsParse:f,shortMonthsParse:f,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",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}})}(N(5439))},6725:function(ue,ge,N){!function(O){"use strict";function _(f,h,y,p){var v={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[f+"sekundi",f+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[f+" minuti",f+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[f+" tunni",f+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[f+" kuu",f+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[f+" aasta",f+" aastat"]};return h?v[y][2]?v[y][2]:v[y][1]:p?v[y][0]:v[y][1]}O.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:_,ss:_,m:_,mm:_,h:_,hh:_,d:_,dd:"%d p\xe4eva",M:_,MM:_,y:_,yy:_},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},7931:function(ue,ge,N){!function(O){"use strict";O.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}})}(N(5439))},6417:function(ue,ge,N){!function(O){"use strict";var _={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},u={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};O.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(h){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(h)},meridiem:function(h,y,p){return h<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:"\u062b\u0627\u0646\u06cc\u0647 d%",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(h){return h.replace(/[\u06f0-\u06f9]/g,function(y){return u[y]}).replace(/\u060c/g,",")},postformat:function(h){return h.replace(/\d/g,function(y){return _[y]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}})}(N(5439))},944:function(ue,ge,N){!function(O){"use strict";var _="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),u=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",_[7],_[8],_[9]];function f(p,v,x,T){var S="";switch(x){case"s":return T?"muutaman sekunnin":"muutama sekunti";case"ss":return T?"sekunnin":"sekuntia";case"m":return T?"minuutin":"minuutti";case"mm":S=T?"minuutin":"minuuttia";break;case"h":return T?"tunnin":"tunti";case"hh":S=T?"tunnin":"tuntia";break;case"d":return T?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":S=T?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return T?"kuukauden":"kuukausi";case"MM":S=T?"kuukauden":"kuukautta";break;case"y":return T?"vuoden":"vuosi";case"yy":S=T?"vuoden":"vuotta"}return function h(p,v){return p<10?v?u[p]:_[p]:p}(p,T)+" "+S}O.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:f,ss:f,m:f,mm:f,h:f,hh:f,d:f,dd:f,M:f,MM:f,y:f,yy:f},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},5867:function(ue,ge,N){!function(O){"use strict";O.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 minutt",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0i",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},6848:function(ue,ge,N){!function(O){"use strict";O.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(u,f){switch(f){default:case"M":case"Q":case"D":case"DDD":case"d":return u+(1===u?"er":"e");case"w":case"W":return u+(1===u?"re":"e")}}})}(N(5439))},7773:function(ue,ge,N){!function(O){"use strict";O.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(u,f){switch(f){default:case"M":case"Q":case"D":case"DDD":case"d":return u+(1===u?"er":"e");case"w":case"W":return u+(1===u?"re":"e")}},week:{dow:1,doy:4}})}(N(5439))},1636:function(ue,ge,N){!function(O){"use strict";O.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("_"),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|)/,ordinal:function(u,f){switch(f){case"D":return u+(1===u?"er":"");default:case"M":case"Q":case"DDD":case"d":return u+(1===u?"er":"e");case"w":case"W":return u+(1===u?"re":"e")}},week:{dow:1,doy:4}})}(N(5439))},4940:function(ue,ge,N){!function(O){"use strict";var _="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),u="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");O.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(h,y){return h?/-MMM-/.test(y)?u[h.month()]:_[h.month()]:_},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(h){return h+(1===h||8===h||h>=20?"ste":"de")},week:{dow:1,doy:4}})}(N(5439))},6924:function(ue,ge,N){!function(O){"use strict";O.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(v){return v+(1===v?"d":v%10==2?"na":"mh")},week:{dow:1,doy:4}})}(N(5439))},6398:function(ue,ge,N){!function(O){"use strict";O.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(u){return 0===u.indexOf("un")?"n"+u:"en "+u},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}})}(N(5439))},2545:function(ue,ge,N){!function(O){"use strict";function _(f,h,y,p){var v={s:["thodde secondanim","thodde second"],ss:[f+" secondanim",f+" second"],m:["eka mintan","ek minute"],mm:[f+" mintanim",f+" mintam"],h:["eka horan","ek hor"],hh:[f+" horanim",f+" horam"],d:["eka disan","ek dis"],dd:[f+" disanim",f+" dis"],M:["eka mhoinean","ek mhoino"],MM:[f+" mhoineanim",f+" mhoine"],y:["eka vorsan","ek voros"],yy:[f+" vorsanim",f+" vorsam"]};return h?v[y][0]:v[y][1]}O.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_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[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:_,ss:_,m:_,mm:_,h:_,hh:_,d:_,dd:_,M:_,MM:_,y:_,yy:_},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(f,h){return"D"===h?f+"er":f},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(f,h){return 12===f&&(f=0),"rati"===h?f<4?f:f+12:"sokalli"===h?f:"donparam"===h?f>12?f:f+12:"sanje"===h?f+12:void 0},meridiem:function(f,h,y){return f<4?"rati":f<12?"sokalli":f<16?"donparam":f<20?"sanje":"rati"}})}(N(5439))},2641:function(ue,ge,N){!function(O){"use strict";var _={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},u={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"};O.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\u0ac7\u0ab9\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(h){return h.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(y){return u[y]})},postformat:function(h){return h.replace(/\d/g,function(y){return _[y]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(h,y){return 12===h&&(h=0),"\u0ab0\u0abe\u0aa4"===y?h<4?h:h+12:"\u0ab8\u0ab5\u0abe\u0ab0"===y?h:"\u0aac\u0aaa\u0acb\u0ab0"===y?h>=10?h:h+12:"\u0ab8\u0abe\u0a82\u0a9c"===y?h+12:void 0},meridiem:function(h,y,p){return h<4?"\u0ab0\u0abe\u0aa4":h<10?"\u0ab8\u0ab5\u0abe\u0ab0":h<17?"\u0aac\u0aaa\u0acb\u0ab0":h<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}})}(N(5439))},7536:function(ue,ge,N){!function(O){"use strict";O.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(u){return 2===u?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":u+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(u){return 2===u?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":u+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(u){return 2===u?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":u+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(u){return 2===u?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":u%10==0&&10!==u?u+" \u05e9\u05e0\u05d4":u+" \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(u){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(u)},meridiem:function(u,f,h){return u<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":u<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":u<12?h?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":u<18?h?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}})}(N(5439))},6335:function(ue,ge,N){!function(O){"use strict";var _={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},u={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};O.defineLocale("hi",{months:"\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("_"),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("_"),monthsParseExact:!0,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"},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(y){return u[y]})},postformat:function(h){return h.replace(/\d/g,function(y){return _[y]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(h,y){return 12===h&&(h=0),"\u0930\u093e\u0924"===y?h<4?h:h+12:"\u0938\u0941\u092c\u0939"===y?h:"\u0926\u094b\u092a\u0939\u0930"===y?h>=10?h:h+12:"\u0936\u093e\u092e"===y?h+12:void 0},meridiem:function(h,y,p){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}})}(N(5439))},7458:function(ue,ge,N){!function(O){"use strict";function _(f,h,y){var p=f+" ";switch(y){case"ss":return p+(1===f?"sekunda":2===f||3===f||4===f?"sekunde":"sekundi");case"m":return h?"jedna minuta":"jedne minute";case"mm":return p+(1===f?"minuta":2===f||3===f||4===f?"minute":"minuta");case"h":return h?"jedan sat":"jednog sata";case"hh":return p+(1===f?"sat":2===f||3===f||4===f?"sata":"sati");case"dd":return p+(1===f?"dan":"dana");case"MM":return p+(1===f?"mjesec":2===f||3===f||4===f?"mjeseca":"mjeseci");case"yy":return p+(1===f?"godina":2===f||3===f||4===f?"godine":"godina")}}O.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:"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:_,m:_,mm:_,h:_,hh:_,d:"dan",dd:_,M:"mjesec",MM:_,y:"godinu",yy:_},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},6540:function(ue,ge,N){!function(O){"use strict";var _="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function u(y,p,v,x){var T=y;switch(v){case"s":return x||p?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return T+(x||p)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(x||p?" perc":" perce");case"mm":return T+(x||p?" perc":" perce");case"h":return"egy"+(x||p?" \xf3ra":" \xf3r\xe1ja");case"hh":return T+(x||p?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(x||p?" nap":" napja");case"dd":return T+(x||p?" nap":" napja");case"M":return"egy"+(x||p?" h\xf3nap":" h\xf3napja");case"MM":return T+(x||p?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(x||p?" \xe9v":" \xe9ve");case"yy":return T+(x||p?" \xe9v":" \xe9ve")}return""}function f(y){return(y?"":"[m\xfalt] ")+"["+_[this.day()]+"] LT[-kor]"}O.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("_"),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(y){return"u"===y.charAt(1).toLowerCase()},meridiem:function(y,p,v){return y<12?!0===v?"de":"DE":!0===v?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return f.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return f.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:u,ss:u,m:u,mm:u,h:u,hh:u,d:u,dd:u,M:u,MM:u,y:u,yy:u},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},5283:function(ue,ge,N){!function(O){"use strict";O.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(u){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(u)},meridiem:function(u){return u<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":u<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":u<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(u,f){switch(f){case"DDD":case"w":case"W":case"DDDo":return 1===u?u+"-\u056b\u0576":u+"-\u0580\u0564";default:return u}},week:{dow:1,doy:7}})}(N(5439))},8780:function(ue,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"pagi"===f?u:"siang"===f?u>=11?u:u+12:"sore"===f||"malam"===f?u+12:void 0},meridiem:function(u,f,h){return u<11?"pagi":u<15?"siang":u<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:1,doy:7}})}(N(5439))},4205:function(ue,ge,N){!function(O){"use strict";function _(h){return h%100==11||h%10!=1}function u(h,y,p,v){var x=h+" ";switch(p){case"s":return y||v?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return _(h)?x+(y||v?"sek\xfandur":"sek\xfandum"):x+"sek\xfanda";case"m":return y?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return _(h)?x+(y||v?"m\xedn\xfatur":"m\xedn\xfatum"):y?x+"m\xedn\xfata":x+"m\xedn\xfatu";case"hh":return _(h)?x+(y||v?"klukkustundir":"klukkustundum"):x+"klukkustund";case"d":return y?"dagur":v?"dag":"degi";case"dd":return _(h)?y?x+"dagar":x+(v?"daga":"d\xf6gum"):y?x+"dagur":x+(v?"dag":"degi");case"M":return y?"m\xe1nu\xf0ur":v?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return _(h)?y?x+"m\xe1nu\xf0ir":x+(v?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):y?x+"m\xe1nu\xf0ur":x+(v?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return y||v?"\xe1r":"\xe1ri";case"yy":return _(h)?x+(y||v?"\xe1r":"\xe1rum"):x+(y||v?"\xe1r":"\xe1ri")}}O.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:u,ss:u,m:u,mm:u,h:"klukkustund",hh:u,d:u,dd:u,M:u,MM:u,y:u,yy:u},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},4211:function(ue,ge,N){!function(O){"use strict";O.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:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){return 0===this.day()?"[la scorsa] dddd [alle] LT":"[lo scorso] dddd [alle] LT"},sameElse:"L"},relativeTime:{future:function(u){return(/^[0-9].+$/.test(u)?"tra":"in")+" "+u},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}})}(N(5439))},1003:function(ue,ge,N){!function(O){"use strict";O.defineLocale("ja",{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(u){return"\u5348\u5f8c"===u},meridiem:function(u,f,h){return u<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(u){return u.week()=11?u:u+12:"sonten"===f||"ndalu"===f?u+12:void 0},meridiem:function(u,f,h){return u<11?"enjing":u<15?"siyang":u<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}})}(N(5439))},851:function(ue,ge,N){!function(O){"use strict";O.defineLocale("ka",{months:{standalone:"\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("_"),format:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10e1_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10e1_\u10db\u10d0\u10e0\u10e2\u10e1_\u10d0\u10de\u10e0\u10d8\u10da\u10d8\u10e1_\u10db\u10d0\u10d8\u10e1\u10e1_\u10d8\u10d5\u10dc\u10d8\u10e1\u10e1_\u10d8\u10d5\u10da\u10d8\u10e1\u10e1_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10e1_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10e1_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10e1".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:"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:"[\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(u){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10ec\u10d4\u10da\u10d8)/.test(u)?u.replace(/\u10d8$/,"\u10e8\u10d8"):u+"\u10e8\u10d8"},past:function(u){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(u)?u.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(u)?u.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):void 0},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(u){return 0===u?u:1===u?u+"-\u10da\u10d8":u<20||u<=100&&u%20==0||u%100==0?"\u10db\u10d4-"+u:u+"-\u10d4"},week:{dow:1,doy:7}})}(N(5439))},6074:function(ue,ge,N){!function(O){"use strict";var _={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"};O.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(f){return f+(_[f]||_[f%10]||_[f>=100?100:null])},week:{dow:1,doy:7}})}(N(5439))},3343:function(ue,ge,N){!function(O){"use strict";var _={1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"},u={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"};O.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(h){return"\u179b\u17d2\u1784\u17b6\u1785"===h},meridiem:function(h,y,p){return h<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(h){return h.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(y){return u[y]})},postformat:function(h){return h.replace(/\d/g,function(y){return _[y]})},week:{dow:1,doy:4}})}(N(5439))},4799:function(ue,ge,N){!function(O){"use strict";var _={1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"},u={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};O.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(h){return h.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(y){return u[y]})},postformat:function(h){return h.replace(/\d/g,function(y){return _[y]})},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(h,y){return 12===h&&(h=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===y?h<4?h:h+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===y?h:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===y?h>=10?h:h+12:"\u0cb8\u0c82\u0c9c\u0cc6"===y?h+12:void 0},meridiem:function(h,y,p){return h<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":h<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":h<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":h<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(h){return h+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}})}(N(5439))},3549:function(ue,ge,N){!function(O){"use strict";O.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(u,f){switch(f){case"d":case"D":case"DDD":return u+"\uc77c";case"M":return u+"\uc6d4";case"w":case"W":return u+"\uc8fc";default:return u}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(u){return"\uc624\ud6c4"===u},meridiem:function(u,f,h){return u<12?"\uc624\uc804":"\uc624\ud6c4"}})}(N(5439))},3125:function(ue,ge,N){!function(O){"use strict";var _={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"};O.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\u0435 \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\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(f){return f+(_[f]||_[f%10]||_[f>=100?100:null])},week:{dow:1,doy:7}})}(N(5439))},9586:function(ue,ge,N){!function(O){"use strict";function _(p,v,x,T){var S={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 v?S[x][0]:S[x][1]}function h(p){if(p=parseInt(p,10),isNaN(p))return!1;if(p<0)return!0;if(p<10)return 4<=p&&p<=7;if(p<100){var v=p%10;return h(0===v?p/10:v)}if(p<1e4){for(;p>=10;)p/=10;return h(p)}return h(p/=1e3)}O.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 u(p){return h(p.substr(0,p.indexOf(" ")))?"a "+p:"an "+p},past:function f(p){return h(p.substr(0,p.indexOf(" ")))?"viru "+p:"virun "+p},s:"e puer Sekonnen",ss:"%d Sekonnen",m:_,mm:"%d Minutten",h:_,hh:"%d Stonnen",d:_,dd:"%d Deeg",M:_,MM:"%d M\xe9int",y:_,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},2349:function(ue,ge,N){!function(O){"use strict";O.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(u){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===u},meridiem:function(u,f,h){return u<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(u){return"\u0e97\u0eb5\u0ec8"+u}})}(N(5439))},2400:function(ue,ge,N){!function(O){"use strict";var _={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 f(x,T,S,k){return T?y(S)[0]:k?y(S)[1]:y(S)[2]}function h(x){return x%10==0||x>10&&x<20}function y(x){return _[x].split("_")}function p(x,T,S,k){var L=x+" ";return 1===x?L+f(0,T,S[0],k):T?L+(h(x)?y(S)[1]:y(S)[0]):k?L+y(S)[1]:L+(h(x)?y(S)[1]:y(S)[2])}O.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 u(x,T,S,k){return T?"kelios sekund\u0117s":k?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:p,m:f,mm:p,h:f,hh:p,d:f,dd:p,M:f,MM:p,y:f,yy:p},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(x){return x+"-oji"},week:{dow:1,doy:4}})}(N(5439))},9991:function(ue,ge,N){!function(O){"use strict";var _={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 u(v,x,T){return T?x%10==1&&x%100!=11?v[2]:v[3]:x%10==1&&x%100!=11?v[0]:v[1]}function f(v,x,T){return v+" "+u(_[T],v,x)}function h(v,x,T){return u(_[T],v,x)}O.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 y(v,x){return x?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:f,m:h,mm:f,h,hh:f,d:h,dd:f,M:h,MM:f,y:h,yy:f},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},8477:function(ue,ge,N){!function(O){"use strict";var _={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(f,h){return 1===f?h[0]:f>=2&&f<=4?h[1]:h[2]},translate:function(f,h,y){var p=_.words[y];return 1===y.length?h?p[0]:p[1]:f+" "+_.correctGrammaticalCase(f,p)}};O.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:_.translate,m:_.translate,mm:_.translate,h:_.translate,hh:_.translate,d:"dan",dd:_.translate,M:"mjesec",MM:_.translate,y:"godinu",yy:_.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},5118:function(ue,ge,N){!function(O){"use strict";O.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}})}(N(5439))},5943:function(ue,ge,N){!function(O){"use strict";O.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:"\u043f\u043e\u0441\u043b\u0435 %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:"\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",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",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(u){var f=u%10,h=u%100;return 0===u?u+"-\u0435\u0432":0===h?u+"-\u0435\u043d":h>10&&h<20?u+"-\u0442\u0438":1===f?u+"-\u0432\u0438":2===f?u+"-\u0440\u0438":7===f||8===f?u+"-\u043c\u0438":u+"-\u0442\u0438"},week:{dow:1,doy:7}})}(N(5439))},3849:function(ue,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===f&&u>=4||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===f||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===f?u+12:u},meridiem:function(u,f,h){return u<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":u<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":u<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":u<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}})}(N(5439))},1977:function(ue,ge,N){!function(O){"use strict";function _(f,h,y,p){switch(y){case"s":return h?"\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 f+(h?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return f+(h?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return f+(h?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return f+(h?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return f+(h?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return f+(h?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return f}}O.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(f){return"\u04ae\u0425"===f},meridiem:function(f,h,y){return f<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:_,ss:_,m:_,mm:_,h:_,hh:_,d:_,dd:_,M:_,MM:_,y:_,yy:_},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(f,h){switch(h){case"d":case"D":case"DDD":return f+" \u04e9\u0434\u04e9\u0440";default:return f}}})}(N(5439))},6184:function(ue,ge,N){!function(O){"use strict";var _={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},u={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function f(y,p,v,x){var T="";if(p)switch(v){case"s":T="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":T="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":T="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":T="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":T="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":T="%d \u0924\u093e\u0938";break;case"d":T="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":T="%d \u0926\u093f\u0935\u0938";break;case"M":T="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":T="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":T="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":T="%d \u0935\u0930\u094d\u0937\u0947"}else switch(v){case"s":T="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":T="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":T="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":T="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":T="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":T="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":T="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":T="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":T="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":T="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":T="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":T="%d \u0935\u0930\u094d\u0937\u093e\u0902"}return T.replace(/%d/i,y)}O.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:f,ss:f,m:f,mm:f,h:f,hh:f,d:f,dd:f,M:f,MM:f,y:f,yy:f},preparse:function(y){return y.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(p){return u[p]})},postformat:function(y){return y.replace(/\d/g,function(p){return _[p]})},meridiemParse:/\u0930\u093e\u0924\u094d\u0930\u0940|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940/,meridiemHour:function(y,p){return 12===y&&(y=0),"\u0930\u093e\u0924\u094d\u0930\u0940"===p?y<4?y:y+12:"\u0938\u0915\u093e\u0933\u0940"===p?y:"\u0926\u0941\u092a\u093e\u0930\u0940"===p?y>=10?y:y+12:"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===p?y+12:void 0},meridiem:function(y,p,v){return y<4?"\u0930\u093e\u0924\u094d\u0930\u0940":y<10?"\u0938\u0915\u093e\u0933\u0940":y<17?"\u0926\u0941\u092a\u093e\u0930\u0940":y<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}})}(N(5439))},4524:function(ue,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"pagi"===f?u:"tengahari"===f?u>=11?u:u+12:"petang"===f||"malam"===f?u+12:void 0},meridiem:function(u,f,h){return u<11?"pagi":u<15?"tengahari":u<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}})}(N(5439))},485:function(ue,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"pagi"===f?u:"tengahari"===f?u>=11?u:u+12:"petang"===f||"malam"===f?u+12:void 0},meridiem:function(u,f,h){return u<11?"pagi":u<15?"tengahari":u<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}})}(N(5439))},6681:function(ue,ge,N){!function(O){"use strict";O.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}})}(N(5439))},2024:function(ue,ge,N){!function(O){"use strict";var _={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},u={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"};O.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(h){return h.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(y){return u[y]})},postformat:function(h){return h.replace(/\d/g,function(y){return _[y]})},week:{dow:1,doy:4}})}(N(5439))},2688:function(ue,ge,N){!function(O){"use strict";O.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_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",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}})}(N(5439))},8914:function(ue,ge,N){!function(O){"use strict";var _={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},u={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};O.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(h){return h.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(y){return u[y]})},postformat:function(h){return h.replace(/\d/g,function(y){return _[y]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(h,y){return 12===h&&(h=0),"\u0930\u093e\u0924\u093f"===y?h<4?h:h+12:"\u092c\u093f\u0939\u093e\u0928"===y?h:"\u0926\u093f\u0909\u0901\u0938\u094b"===y?h>=10?h:h+12:"\u0938\u093e\u0901\u091d"===y?h+12:void 0},meridiem:function(h,y,p){return h<3?"\u0930\u093e\u0924\u093f":h<12?"\u092c\u093f\u0939\u093e\u0928":h<16?"\u0926\u093f\u0909\u0901\u0938\u094b":h<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}})}(N(5439))},2272:function(ue,ge,N){!function(O){"use strict";var _="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),u="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),f=[/^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],h=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;O.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(p,v){return p?/-MMM-/.test(v)?u[p.month()]:_[p.month()]:_},monthsRegex:h,monthsShortRegex:h,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:f,longMonthsParse:f,shortMonthsParse:f,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(p){return p+(1===p||8===p||p>=20?"ste":"de")},week:{dow:1,doy:4}})}(N(5439))},1758:function(ue,ge,N){!function(O){"use strict";var _="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),u="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),f=[/^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],h=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;O.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(p,v){return p?/-MMM-/.test(v)?u[p.month()]:_[p.month()]:_},monthsRegex:h,monthsShortRegex:h,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:f,longMonthsParse:f,shortMonthsParse:f,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(p){return p+(1===p||8===p||p>=20?"ste":"de")},week:{dow:1,doy:4}})}(N(5439))},1510:function(ue,ge,N){!function(O){"use strict";O.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_m\xe5n_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_m\xe5_ty_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 [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",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}})}(N(5439))},7944:function(ue,ge,N){!function(O){"use strict";var _={1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"},u={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"};O.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(h){return h.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(y){return u[y]})},postformat:function(h){return h.replace(/\d/g,function(y){return _[y]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(h,y){return 12===h&&(h=0),"\u0a30\u0a3e\u0a24"===y?h<4?h:h+12:"\u0a38\u0a35\u0a47\u0a30"===y?h:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===y?h>=10?h:h+12:"\u0a38\u0a3c\u0a3e\u0a2e"===y?h+12:void 0},meridiem:function(h,y,p){return h<4?"\u0a30\u0a3e\u0a24":h<10?"\u0a38\u0a35\u0a47\u0a30":h<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":h<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}})}(N(5439))},1605:function(ue,ge,N){!function(O){"use strict";var _="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),u="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_");function f(p){return p%10<5&&p%10>1&&~~(p/10)%10!=1}function h(p,v,x){var T=p+" ";switch(x){case"ss":return T+(f(p)?"sekundy":"sekund");case"m":return v?"minuta":"minut\u0119";case"mm":return T+(f(p)?"minuty":"minut");case"h":return v?"godzina":"godzin\u0119";case"hh":return T+(f(p)?"godziny":"godzin");case"MM":return T+(f(p)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return T+(f(p)?"lata":"lat")}}O.defineLocale("pl",{months:function(p,v){return p?""===v?"("+u[p.month()]+"|"+_[p.month()]+")":/D MMMM/.test(v)?u[p.month()]:_[p.month()]:_},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),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:h,m:h,mm:h,h,hh:h,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:h,y:"rok",yy:h},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},3840:function(ue,ge,N){!function(O){"use strict";O.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"})}(N(5439))},4225:function(ue,ge,N){!function(O){"use strict";O.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",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}})}(N(5439))},5128:function(ue,ge,N){!function(O){"use strict";function _(f,h,y){var v=" ";return(f%100>=20||f>=100&&f%100==0)&&(v=" de "),f+v+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[y]}O.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._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:_,m:"un minut",mm:_,h:"o or\u0103",hh:_,d:"o zi",dd:_,M:"o lun\u0103",MM:_,y:"un an",yy:_},week:{dow:1,doy:7}})}(N(5439))},5127:function(ue,ge,N){!function(O){"use strict";function u(y,p,v){return"m"===v?p?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":y+" "+function _(y,p){var v=y.split("_");return p%10==1&&p%100!=11?v[0]:p%10>=2&&p%10<=4&&(p%100<10||p%100>=20)?v[1]:v[2]}({ss:p?"\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:p?"\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",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"}[v],+y)}var f=[/^\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];O.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:f,longMonthsParse:f,shortMonthsParse:f,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(y){if(y.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(y){if(y.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:u,m:u,mm:u,h:"\u0447\u0430\u0441",hh:u,d:"\u0434\u0435\u043d\u044c",dd:u,M:"\u043c\u0435\u0441\u044f\u0446",MM:u,y:"\u0433\u043e\u0434",yy:u},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(y){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(y)},meridiem:function(y,p,v){return y<4?"\u043d\u043e\u0447\u0438":y<12?"\u0443\u0442\u0440\u0430":y<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(y,p){switch(p){case"M":case"d":case"DDD":return y+"-\u0439";case"D":return y+"-\u0433\u043e";case"w":case"W":return y+"-\u044f";default:return y}},week:{dow:1,doy:4}})}(N(5439))},2525:function(ue,ge,N){!function(O){"use strict";var _=["\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"],u=["\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"];O.defineLocale("sd",{months:_,monthsShort:_,weekdays:u,weekdaysShort:u,weekdaysMin:u,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(h){return"\u0634\u0627\u0645"===h},meridiem:function(h,y,p){return h<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(h){return h.replace(/\u060c/g,",")},postformat:function(h){return h.replace(/,/g,"\u060c")},week:{dow:1,doy:4}})}(N(5439))},9893:function(ue,ge,N){!function(O){"use strict";O.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}})}(N(5439))},3123:function(ue,ge,N){!function(O){"use strict";O.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(u){return u+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(u){return"\u0db4.\u0dc0."===u||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===u},meridiem:function(u,f,h){return u>11?h?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":h?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}})}(N(5439))},9635:function(ue,ge,N){!function(O){"use strict";var _="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),u="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function f(p){return p>1&&p<5}function h(p,v,x,T){var S=p+" ";switch(x){case"s":return v||T?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return v||T?S+(f(p)?"sekundy":"sek\xfand"):S+"sekundami";case"m":return v?"min\xfata":T?"min\xfatu":"min\xfatou";case"mm":return v||T?S+(f(p)?"min\xfaty":"min\xfat"):S+"min\xfatami";case"h":return v?"hodina":T?"hodinu":"hodinou";case"hh":return v||T?S+(f(p)?"hodiny":"hod\xedn"):S+"hodinami";case"d":return v||T?"de\u0148":"d\u0148om";case"dd":return v||T?S+(f(p)?"dni":"dn\xed"):S+"d\u0148ami";case"M":return v||T?"mesiac":"mesiacom";case"MM":return v||T?S+(f(p)?"mesiace":"mesiacov"):S+"mesiacmi";case"y":return v||T?"rok":"rokom";case"yy":return v||T?S+(f(p)?"roky":"rokov"):S+"rokmi"}}O.defineLocale("sk",{months:_,monthsShort:u,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:case 4:case 5:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %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}})}(N(5439))},8106:function(ue,ge,N){!function(O){"use strict";function _(f,h,y,p){var v=f+" ";switch(y){case"s":return h||p?"nekaj sekund":"nekaj sekundami";case"ss":return v+(1===f?h?"sekundo":"sekundi":2===f?h||p?"sekundi":"sekundah":f<5?h||p?"sekunde":"sekundah":"sekund");case"m":return h?"ena minuta":"eno minuto";case"mm":return v+(1===f?h?"minuta":"minuto":2===f?h||p?"minuti":"minutama":f<5?h||p?"minute":"minutami":h||p?"minut":"minutami");case"h":return h?"ena ura":"eno uro";case"hh":return v+(1===f?h?"ura":"uro":2===f?h||p?"uri":"urama":f<5?h||p?"ure":"urami":h||p?"ur":"urami");case"d":return h||p?"en dan":"enim dnem";case"dd":return v+(1===f?h||p?"dan":"dnem":2===f?h||p?"dni":"dnevoma":h||p?"dni":"dnevi");case"M":return h||p?"en mesec":"enim mesecem";case"MM":return v+(1===f?h||p?"mesec":"mesecem":2===f?h||p?"meseca":"mesecema":f<5?h||p?"mesece":"meseci":h||p?"mesecev":"meseci");case"y":return h||p?"eno leto":"enim letom";case"yy":return v+(1===f?h||p?"leto":"letom":2===f?h||p?"leti":"letoma":f<5?h||p?"leta":"leti":h||p?"let":"leti")}}O.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:_,ss:_,m:_,mm:_,h:_,hh:_,d:_,dd:_,M:_,MM:_,y:_,yy:_},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},8799:function(ue,ge,N){!function(O){"use strict";O.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(u){return"M"===u.charAt(0)},meridiem:function(u,f,h){return u<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}})}(N(5439))},2872:function(ue,ge,N){!function(O){"use strict";var _={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(f,h){return 1===f?h[0]:f>=2&&f<=4?h[1]:h[2]},translate:function(f,h,y){var p=_.words[y];return 1===y.length?h?p[0]:p[1]:f+" "+_.correctGrammaticalCase(f,p)}};O.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:"DD.MM.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:_.translate,m:_.translate,mm:_.translate,h:_.translate,hh:_.translate,d:"\u0434\u0430\u043d",dd:_.translate,M:"\u043c\u0435\u0441\u0435\u0446",MM:_.translate,y:"\u0433\u043e\u0434\u0438\u043d\u0443",yy:_.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},7949:function(ue,ge,N){!function(O){"use strict";var _={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(f,h){return 1===f?h[0]:f>=2&&f<=4?h[1]:h[2]},translate:function(f,h,y){var p=_.words[y];return 1===y.length?h?p[0]:p[1]:f+" "+_.correctGrammaticalCase(f,p)}};O.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:"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] [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:_.translate,m:_.translate,mm:_.translate,h:_.translate,hh:_.translate,d:"dan",dd:_.translate,M:"mesec",MM:_.translate,y:"godinu",yy:_.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},6167:function(ue,ge,N){!function(O){"use strict";O.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(u,f,h){return u<11?"ekuseni":u<15?"emini":u<19?"entsambama":"ebusuku"},meridiemHour:function(u,f){return 12===u&&(u=0),"ekuseni"===f?u:"emini"===f?u>=11?u:u+12:"entsambama"===f||"ebusuku"===f?0===u?0:u+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(N(5439))},9713:function(ue,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"e":1===f||2===f?"a":"e")},week:{dow:1,doy:4}})}(N(5439))},1982:function(ue,ge,N){!function(O){"use strict";O.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",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:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(N(5439))},2732:function(ue,ge,N){!function(O){"use strict";var _={1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"},u={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"};O.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(h){return h+"\u0bb5\u0ba4\u0bc1"},preparse:function(h){return h.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(y){return u[y]})},postformat:function(h){return h.replace(/\d/g,function(y){return _[y]})},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(h,y,p){return h<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":h<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":h<10?" \u0b95\u0bbe\u0bb2\u0bc8":h<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":h<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":h<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(h,y){return 12===h&&(h=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===y?h<2?h:h+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===y||"\u0b95\u0bbe\u0bb2\u0bc8"===y||"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===y&&h>=10?h:h+12},week:{dow:0,doy:6}})}(N(5439))},3636:function(ue,ge,N){!function(O){"use strict";O.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\u0c42\u0c32\u0c46\u0c56_\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\u0c42\u0c32\u0c46\u0c56_\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(u,f){return 12===u&&(u=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===f?u<4?u:u+12:"\u0c09\u0c26\u0c2f\u0c02"===f?u:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===f?u>=10?u:u+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===f?u+12:void 0},meridiem:function(u,f,h){return u<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":u<10?"\u0c09\u0c26\u0c2f\u0c02":u<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":u<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}})}(N(5439))},2115:function(ue,ge,N){!function(O){"use strict";O.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:"minutu balun",ss:"minutu %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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},9801:function(ue,ge,N){!function(O){"use strict";var _={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"};O.defineLocale("tg",{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:"\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:"[\u041f\u0430\u0433\u043e\u04b3 \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(f,h){return 12===f&&(f=0),"\u0448\u0430\u0431"===h?f<4?f:f+12:"\u0441\u0443\u0431\u04b3"===h?f:"\u0440\u04ef\u0437"===h?f>=11?f:f+12:"\u0431\u0435\u0433\u043e\u04b3"===h?f+12:void 0},meridiem:function(f,h,y){return f<4?"\u0448\u0430\u0431":f<11?"\u0441\u0443\u0431\u04b3":f<16?"\u0440\u04ef\u0437":f<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(f){return f+(_[f]||_[f%10]||_[f>=100?100:null])},week:{dow:1,doy:7}})}(N(5439))},2868:function(ue,ge,N){!function(O){"use strict";O.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(u){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===u},meridiem:function(u,f,h){return u<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",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}})}(N(5439))},2360:function(ue,ge,N){!function(O){"use strict";O.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(u){return u},week:{dow:1,doy:4}})}(N(5439))},6645:function(ue,ge,N){!function(O){"use strict";var _="pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function h(v,x,T,S){var k=function y(v){var x=Math.floor(v%1e3/100),T=Math.floor(v%100/10),S=v%10,k="";return x>0&&(k+=_[x]+"vatlh"),T>0&&(k+=(""!==k?" ":"")+_[T]+"maH"),S>0&&(k+=(""!==k?" ":"")+_[S]),""===k?"pagh":k}(v);switch(T){case"ss":return k+" lup";case"mm":return k+" tup";case"hh":return k+" rep";case"dd":return k+" jaj";case"MM":return k+" jar";case"yy":return k+" DIS"}}O.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 u(v){var x=v;return-1!==v.indexOf("jaj")?x.slice(0,-3)+"leS":-1!==v.indexOf("jar")?x.slice(0,-3)+"waQ":-1!==v.indexOf("DIS")?x.slice(0,-3)+"nem":x+" pIq"},past:function f(v){var x=v;return-1!==v.indexOf("jaj")?x.slice(0,-3)+"Hu\u2019":-1!==v.indexOf("jar")?x.slice(0,-3)+"wen":-1!==v.indexOf("DIS")?x.slice(0,-3)+"ben":x+" ret"},s:"puS lup",ss:h,m:"wa\u2019 tup",mm:h,h:"wa\u2019 rep",hh:h,d:"wa\u2019 jaj",dd:h,M:"wa\u2019 jar",MM:h,y:"wa\u2019 DIS",yy:h},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},8374:function(ue,ge,N){!function(O){"use strict";var _={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"};O.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("_"),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",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(f,h){switch(h){case"d":case"D":case"Do":case"DD":return f;default:if(0===f)return f+"'\u0131nc\u0131";var y=f%10;return f+(_[y]||_[f%100-y]||_[f>=100?100:null])}},week:{dow:1,doy:7}})}(N(5439))},256:function(ue,ge,N){!function(O){"use strict";function u(f,h,y,p){var v={s:["viensas secunds","'iensas secunds"],ss:[f+" secunds",f+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[f+" m\xeduts",f+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[f+" \xfeoras",f+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[f+" ziuas",f+" ziuas"],M:["'n mes","'iens mes"],MM:[f+" mesen",f+" mesen"],y:["'n ar","'iens ar"],yy:[f+" ars",f+" ars"]};return p||h?v[y][0]:v[y][1]}O.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(f){return"d'o"===f.toLowerCase()},meridiem:function(f,h,y){return f>11?y?"d'o":"D'O":y?"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:u,ss:u,m:u,mm:u,h:u,hh:u,d:u,dd:u,M:u,MM:u,y:u,yy:u},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},1631:function(ue,ge,N){!function(O){"use strict";O.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}})}(N(5439))},1595:function(ue,ge,N){!function(O){"use strict";O.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}})}(N(5439))},6050:function(ue,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===f||"\u0633\u06d5\u06be\u06d5\u0631"===f||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===f?u:"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"===f||"\u0643\u06d5\u0686"===f?u+12:u>=11?u:u+12},meridiem:function(u,f,h){var y=100*u+f;return y<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":y<900?"\u0633\u06d5\u06be\u06d5\u0631":y<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":y<1230?"\u0686\u06c8\u0634":y<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(u,f){switch(f){case"d":case"D":case"DDD":return u+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return u+"-\u06be\u06d5\u067e\u062a\u06d5";default:return u}},preparse:function(u){return u.replace(/\u060c/g,",")},postformat:function(u){return u.replace(/,/g,"\u060c")},week:{dow:1,doy:7}})}(N(5439))},5610:function(ue,ge,N){!function(O){"use strict";function u(p,v,x){return"m"===x?v?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===x?v?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":p+" "+function _(p,v){var x=p.split("_");return v%10==1&&v%100!=11?x[0]:v%10>=2&&v%10<=4&&(v%100<10||v%100>=20)?x[1]:x[2]}({ss:v?"\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:v?"\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:v?"\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"}[x],+p)}function h(p){return function(){return p+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}O.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 f(p,v){var x={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 p?x[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(v)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(v)?"genitive":"nominative"][p.day()]:x.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:h("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:h("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:h("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:h("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return h("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return h("[\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:u,m:u,mm:u,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:u,d:"\u0434\u0435\u043d\u044c",dd:u,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:u,y:"\u0440\u0456\u043a",yy:u},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(p){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(p)},meridiem:function(p,v,x){return p<4?"\u043d\u043e\u0447\u0456":p<12?"\u0440\u0430\u043d\u043a\u0443":p<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(p,v){switch(v){case"M":case"d":case"DDD":case"w":case"W":return p+"-\u0439";case"D":return p+"-\u0433\u043e";default:return p}},week:{dow:1,doy:7}})}(N(5439))},6077:function(ue,ge,N){!function(O){"use strict";var _=["\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"],u=["\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"];O.defineLocale("ur",{months:_,monthsShort:_,weekdays:u,weekdaysShort:u,weekdaysMin:u,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(h){return"\u0634\u0627\u0645"===h},meridiem:function(h,y,p){return h<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(h){return h.replace(/\u060c/g,",")},postformat:function(h){return h.replace(/,/g,"\u060c")},week:{dow:1,doy:4}})}(N(5439))},2207:function(ue,ge,N){!function(O){"use strict";O.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}})}(N(5439))},2862:function(ue,ge,N){!function(O){"use strict";O.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}})}(N(5439))},8093:function(ue,ge,N){!function(O){"use strict";O.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:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".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(u){return/^ch$/i.test(u)},meridiem:function(u,f,h){return u<12?h?"sa":"SA":h?"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 r\u1ed3i 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",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(u){return u},week:{dow:1,doy:4}})}(N(5439))},5590:function(ue,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},9058:function(ue,ge,N){!function(O){"use strict";O.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}})}(N(5439))},7908:function(ue,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u51cc\u6668"===f||"\u65e9\u4e0a"===f||"\u4e0a\u5348"===f?u:"\u4e0b\u5348"===f||"\u665a\u4e0a"===f?u+12:u>=11?u:u+12},meridiem:function(u,f,h){var y=100*u+f;return y<600?"\u51cc\u6668":y<900?"\u65e9\u4e0a":y<1130?"\u4e0a\u5348":y<1230?"\u4e2d\u5348":y<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|\u5468)/,ordinal:function(u,f){switch(f){case"d":case"D":case"DDD":return u+"\u65e5";case"M":return u+"\u6708";case"w":case"W":return u+"\u5468";default:return u}},relativeTime:{future:"%s\u5185",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",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}})}(N(5439))},8867:function(ue,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u51cc\u6668"===f||"\u65e9\u4e0a"===f||"\u4e0a\u5348"===f?u:"\u4e2d\u5348"===f?u>=11?u:u+12:"\u4e0b\u5348"===f||"\u665a\u4e0a"===f?u+12:void 0},meridiem:function(u,f,h){var y=100*u+f;return y<600?"\u51cc\u6668":y<900?"\u65e9\u4e0a":y<1130?"\u4e0a\u5348":y<1230?"\u4e2d\u5348":y<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(u,f){switch(f){case"d":case"D":case"DDD":return u+"\u65e5";case"M":return u+"\u6708";case"w":case"W":return u+"\u9031";default:return u}},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"}})}(N(5439))},3291:function(ue,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u51cc\u6668"===f||"\u65e9\u4e0a"===f||"\u4e0a\u5348"===f?u:"\u4e2d\u5348"===f?u>=11?u:u+12:"\u4e0b\u5348"===f||"\u665a\u4e0a"===f?u+12:void 0},meridiem:function(u,f,h){var y=100*u+f;return y<600?"\u51cc\u6668":y<900?"\u65e9\u4e0a":y<1130?"\u4e0a\u5348":y<1230?"\u4e2d\u5348":y<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(u,f){switch(f){case"d":case"D":case"DDD":return u+"\u65e5";case"M":return u+"\u6708";case"w":case"W":return u+"\u9031";default:return u}},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"}})}(N(5439))},5439:function(ue,ge,N){(ue=N.nmd(ue)).exports=function(){"use strict";var O,H;function _(){return O.apply(null,arguments)}function f(m){return m instanceof Array||"[object Array]"===Object.prototype.toString.call(m)}function h(m){return null!=m&&"[object Object]"===Object.prototype.toString.call(m)}function p(m){return void 0===m}function v(m){return"number"==typeof m||"[object Number]"===Object.prototype.toString.call(m)}function x(m){return m instanceof Date||"[object Date]"===Object.prototype.toString.call(m)}function T(m,E){var $,V=[];for($=0;$>>0,$=0;$0)for(V=0;V=0?V?"+":"":"-")+Math.pow(10,Math.max(0,E-$.length)).toString().substr(1)+$}var Ee=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Ne=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ut={},_t={};function rt(m,E,V,$){var se=$;"string"==typeof $&&(se=function(){return this[$]()}),m&&(_t[m]=se),E&&(_t[E[0]]=function(){return De(se.apply(this,arguments),E[1],E[2])}),V&&(_t[V]=function(){return this.localeData().ordinal(se.apply(this,arguments),m)})}function on(m){return m.match(/\[[\s\S]/)?m.replace(/^\[|\]$/g,""):m.replace(/\\/g,"")}function vt(m,E){return m.isValid()?(E=jt(E,m.localeData()),ut[E]=ut[E]||function Ln(m){var V,$,E=m.match(Ee);for(V=0,$=E.length;V<$;V++)E[V]=_t[E[V]]?_t[E[V]]:on(E[V]);return function(se){var je,Le="";for(je=0;je<$;je++)Le+=Ce(E[je])?E[je].call(se,m):E[je];return Le}}(E),ut[E](m)):m.localeData().invalidDate()}function jt(m,E){var V=5;function $(se){return E.longDateFormat(se)||se}for(Ne.lastIndex=0;V>=0&&Ne.test(m);)m=m.replace(Ne,$),Ne.lastIndex=0,V-=1;return m}var jn=/\d/,ri=/\d\d/,Gr=/\d{3}/,ko=/\d{4}/,Ei=/[+-]?\d{6}/,tn=/\d\d?/,vi=/\d\d\d\d?/,oi=/\d\d\d\d\d\d?/,En=/\d{1,3}/,Fu=/\d{1,4}/,wa=/[+-]?\d{1,6}/,In=/\d+/,xa=/[+-]?\d+/,Pn=/Z|[+-]\d\d:?\d\d/gi,Ca=/Z|[+-]\d\d(?::?\d\d)?/gi,sn=/[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,yt={};function gt(m,E,V){yt[m]=Ce(E)?E:function($,se){return $&&V?V:E}}function Ru(m,E){return S(yt,m)?yt[m](E._strict,E._locale):new RegExp(function rM(m){return So(m.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(E,V,$,se,Le){return V||$||se||Le}))}(m))}function So(m){return m.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var Fe={};function kn(m,E){var V,$=E;for("string"==typeof m&&(m=[m]),v(E)&&($=function(se,Le){Le[E]=ee(se)}),V=0;V68?1900:2e3)};var yi,Hg=ka("FullYear",!0);function ka(m,E){return function(V){return null!=V?(_p(this,m,V),_.updateOffset(this,E),this):Yu(this,m)}}function Yu(m,E){return m.isValid()?m._d["get"+(m._isUTC?"UTC":"")+E]():NaN}function _p(m,E,V){m.isValid()&&!isNaN(V)&&("FullYear"===E&&Nu(m.year())&&1===m.month()&&29===m.date()?m._d["set"+(m._isUTC?"UTC":"")+E](V,m.month(),Bu(V,m.month())):m._d["set"+(m._isUTC?"UTC":"")+E](V))}function Bu(m,E){if(isNaN(m)||isNaN(E))return NaN;var V=function gn(m,E){return(m%E+E)%E}(E,12);return m+=(E-V)/12,1===V?Nu(m)?29:28:31-V%7%2}yi=Array.prototype.indexOf?Array.prototype.indexOf:function(m){var E;for(E=0;E=0&&isFinite(Yt.getFullYear())&&Yt.setFullYear(m),Yt}function _l(m){var E=new Date(Date.UTC.apply(null,arguments));return m<100&&m>=0&&isFinite(E.getUTCFullYear())&&E.setUTCFullYear(m),E}function dr(m,E,V){var $=7+E-V;return-(7+_l(m,0,$).getUTCDay()-E)%7+$-1}function ju(m,E,V,$,se){var rn,pi,Yt=1+7*(E-1)+(7+V-$)%7+dr(m,$,se);return Yt<=0?pi=Ic(rn=m-1)+Yt:Yt>Ic(m)?(rn=m+1,pi=Yt-Ic(m)):(rn=m,pi=Yt),{year:rn,dayOfYear:pi}}function Ac(m,E,V){var Le,je,$=dr(m.year(),E,V),se=Math.floor((m.dayOfYear()-$-1)/7)+1;return se<1?Le=se+dn(je=m.year()-1,E,V):se>dn(m.year(),E,V)?(Le=se-dn(m.year(),E,V),je=m.year()+1):(je=m.year(),Le=se),{week:Le,year:je}}function dn(m,E,V){var $=dr(m,E,V),se=dr(m+1,E,V);return(Ic(m)-$+se)/7}rt("w",["ww",2],"wo","week"),rt("W",["WW",2],"Wo","isoWeek"),pe("week","w"),pe("isoWeek","W"),_e("week",5),_e("isoWeek",5),gt("w",tn),gt("ww",tn,ri),gt("W",tn),gt("WW",tn,ri),kt(["w","ww","W","WW"],function(m,E,V,$){E[$.substr(0,1)]=ee(m)});rt("d",0,"do","day"),rt("dd",0,0,function(m){return this.localeData().weekdaysMin(this,m)}),rt("ddd",0,0,function(m){return this.localeData().weekdaysShort(this,m)}),rt("dddd",0,0,function(m){return this.localeData().weekdays(this,m)}),rt("e",0,0,"weekday"),rt("E",0,0,"isoWeekday"),pe("day","d"),pe("weekday","e"),pe("isoWeekday","E"),_e("day",11),_e("weekday",11),_e("isoWeekday",11),gt("d",tn),gt("e",tn),gt("E",tn),gt("dd",function(m,E){return E.weekdaysMinRegex(m)}),gt("ddd",function(m,E){return E.weekdaysShortRegex(m)}),gt("dddd",function(m,E){return E.weekdaysRegex(m)}),kt(["dd","ddd","dddd"],function(m,E,V,$){var se=V._locale.weekdaysParse(m,$,V._strict);null!=se?E.d=se:U(V).invalidWeekday=m}),kt(["d","e","E"],function(m,E,V,$){E[$]=ee(m)});var $g="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var Sa="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var Gg="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function xp(m,E,V){var $,se,Le,je=m.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],$=0;$<7;++$)Le=L([2e3,1]).day($),this._minWeekdaysParse[$]=this.weekdaysMin(Le,"").toLocaleLowerCase(),this._shortWeekdaysParse[$]=this.weekdaysShort(Le,"").toLocaleLowerCase(),this._weekdaysParse[$]=this.weekdays(Le,"").toLocaleLowerCase();return V?"dddd"===E?-1!==(se=yi.call(this._weekdaysParse,je))?se:null:"ddd"===E?-1!==(se=yi.call(this._shortWeekdaysParse,je))?se:null:-1!==(se=yi.call(this._minWeekdaysParse,je))?se:null:"dddd"===E?-1!==(se=yi.call(this._weekdaysParse,je))||-1!==(se=yi.call(this._shortWeekdaysParse,je))||-1!==(se=yi.call(this._minWeekdaysParse,je))?se:null:"ddd"===E?-1!==(se=yi.call(this._shortWeekdaysParse,je))||-1!==(se=yi.call(this._weekdaysParse,je))||-1!==(se=yi.call(this._minWeekdaysParse,je))?se:null:-1!==(se=yi.call(this._minWeekdaysParse,je))||-1!==(se=yi.call(this._weekdaysParse,je))||-1!==(se=yi.call(this._shortWeekdaysParse,je))?se:null}var qg=sn;var Zg=sn;var so=sn;function Cp(){function m(Vr,Fa){return Fa.length-Vr.length}var Le,je,Yt,rn,pi,E=[],V=[],$=[],se=[];for(Le=0;Le<7;Le++)je=L([2e3,1]).day(Le),Yt=this.weekdaysMin(je,""),rn=this.weekdaysShort(je,""),pi=this.weekdays(je,""),E.push(Yt),V.push(rn),$.push(pi),se.push(Yt),se.push(rn),se.push(pi);for(E.sort(m),V.sort(m),$.sort(m),se.sort(m),Le=0;Le<7;Le++)V[Le]=So(V[Le]),$[Le]=So($[Le]),se[Le]=So(se[Le]);this._weekdaysRegex=new RegExp("^("+se.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+$.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+V.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+E.join("|")+")","i")}function Rr(){return this.hours()%12||12}function un(m,E){rt(m,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),E)})}function vl(m,E){return E._meridiemParse}rt("H",["HH",2],0,"hour"),rt("h",["hh",2],0,Rr),rt("k",["kk",2],0,function jo(){return this.hours()||24}),rt("hmm",0,0,function(){return""+Rr.apply(this)+De(this.minutes(),2)}),rt("hmmss",0,0,function(){return""+Rr.apply(this)+De(this.minutes(),2)+De(this.seconds(),2)}),rt("Hmm",0,0,function(){return""+this.hours()+De(this.minutes(),2)}),rt("Hmmss",0,0,function(){return""+this.hours()+De(this.minutes(),2)+De(this.seconds(),2)}),un("a",!0),un("A",!1),pe("hour","h"),_e("hour",13),gt("a",vl),gt("A",vl),gt("H",tn),gt("h",tn),gt("k",tn),gt("HH",tn,ri),gt("hh",tn,ri),gt("kk",tn,ri),gt("hmm",vi),gt("hmmss",oi),gt("Hmm",vi),gt("Hmmss",oi),kn(["H","HH"],3),kn(["k","kk"],function(m,E,V){var $=ee(m);E[3]=24===$?0:$}),kn(["a","A"],function(m,E,V){V._isPm=V._locale.isPM(m),V._meridiem=m}),kn(["h","hh"],function(m,E,V){E[3]=ee(m),U(V).bigHour=!0}),kn("hmm",function(m,E,V){var $=m.length-2;E[3]=ee(m.substr(0,$)),E[4]=ee(m.substr($)),U(V).bigHour=!0}),kn("hmmss",function(m,E,V){var $=m.length-4,se=m.length-2;E[3]=ee(m.substr(0,$)),E[4]=ee(m.substr($,2)),E[5]=ee(m.substr(se)),U(V).bigHour=!0}),kn("Hmm",function(m,E,V){var $=m.length-2;E[3]=ee(m.substr(0,$)),E[4]=ee(m.substr($))}),kn("Hmmss",function(m,E,V){var $=m.length-4,se=m.length-2;E[3]=ee(m.substr(0,$)),E[4]=ee(m.substr($,2)),E[5]=ee(m.substr(se))});var Bs,zo=ka("Hours",!0),Ta={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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ye,monthsShort:At,week:{dow:0,doy:6},weekdays:$g,weekdaysMin:Gg,weekdaysShort:Sa,meridiemParse:/[ap]\.?m?\.?/i},Ii={},qe={};function Gu(m){return m&&m.toLowerCase().replace("_","-")}function Et(m){var E=null;if(!Ii[m]&&ue&&ue.exports)try{E=Bs._abbr,N(6700)("./"+m),La(E)}catch{}return Ii[m]}function La(m,E){var V;return m&&((V=p(E)?Qn(m):Nc(m,E))?Bs=V:typeof console<"u"&&console.warn&&console.warn("Locale "+m+" not found. Did you forget to load it?")),Bs._abbr}function Nc(m,E){if(null!==E){var V,$=Ta;if(E.abbr=m,null!=Ii[m])Se("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."),$=Ii[m]._config;else if(null!=E.parentLocale)if(null!=Ii[E.parentLocale])$=Ii[E.parentLocale]._config;else{if(null==(V=Et(E.parentLocale)))return qe[E.parentLocale]||(qe[E.parentLocale]=[]),qe[E.parentLocale].push({name:m,config:E}),null;$=V._config}return Ii[m]=new ot(et($,E)),qe[m]&&qe[m].forEach(function(se){Nc(se.name,se.config)}),La(m),Ii[m]}return delete Ii[m],null}function Qn(m){var E;if(m&&m._locale&&m._locale._abbr&&(m=m._locale._abbr),!m)return Bs;if(!f(m)){if(E=Et(m))return E;m=[m]}return function Sp(m){for(var V,$,se,Le,E=0;E0;){if(se=Et(Le.slice(0,V).join("-")))return se;if($&&$.length>=V&&ae(Le,$,!0)>=V-1)break;V--}E++}return Bs}(m)}function Hi(m){var E,V=m._a;return V&&-2===U(m).overflow&&(E=V[1]<0||V[1]>11?1:V[2]<1||V[2]>Bu(V[0],V[1])?2:V[3]<0||V[3]>24||24===V[3]&&(0!==V[4]||0!==V[5]||0!==V[6])?3:V[4]<0||V[4]>59?4:V[5]<0||V[5]>59?5:V[6]<0||V[6]>999?6:-1,U(m)._overflowDayOfYear&&(E<0||E>2)&&(E=2),U(m)._overflowWeeks&&-1===E&&(E=7),U(m)._overflowWeekday&&-1===E&&(E=8),U(m).overflow=E),m}function Mi(m,E,V){return m??E??V}function ur(m){var E,V,se,Le,je,$=[];if(!m._d){for(se=function Ea(m){var E=new Date(_.now());return m._useUTC?[E.getUTCFullYear(),E.getUTCMonth(),E.getUTCDate()]:[E.getFullYear(),E.getMonth(),E.getDate()]}(m),m._w&&null==m._a[2]&&null==m._a[1]&&function Uo(m){var E,V,$,se,Le,je,Yt,rn;if(null!=(E=m._w).GG||null!=E.W||null!=E.E)Le=1,je=4,V=Mi(E.GG,m._a[0],Ac(Gn(),1,4).year),$=Mi(E.W,1),((se=Mi(E.E,1))<1||se>7)&&(rn=!0);else{Le=m._locale._week.dow,je=m._locale._week.doy;var pi=Ac(Gn(),Le,je);V=Mi(E.gg,m._a[0],pi.year),$=Mi(E.w,pi.week),null!=E.d?((se=E.d)<0||se>6)&&(rn=!0):null!=E.e?(se=E.e+Le,(E.e<0||E.e>6)&&(rn=!0)):se=Le}$<1||$>dn(V,Le,je)?U(m)._overflowWeeks=!0:null!=rn?U(m)._overflowWeekday=!0:(Yt=ju(V,$,se,Le,je),m._a[0]=Yt.year,m._dayOfYear=Yt.dayOfYear)}(m),null!=m._dayOfYear&&(je=Mi(m._a[0],se[0]),(m._dayOfYear>Ic(je)||0===m._dayOfYear)&&(U(m)._overflowDayOfYear=!0),V=_l(je,0,m._dayOfYear),m._a[1]=V.getUTCMonth(),m._a[2]=V.getUTCDate()),E=0;E<3&&null==m._a[E];++E)m._a[E]=$[E]=se[E];for(;E<7;E++)m._a[E]=$[E]=null==m._a[E]?2===E?1:0:m._a[E];24===m._a[3]&&0===m._a[4]&&0===m._a[5]&&0===m._a[6]&&(m._nextDay=!0,m._a[3]=0),m._d=(m._useUTC?_l:Vu).apply(null,$),Le=m._useUTC?m._d.getUTCDay():m._d.getDay(),null!=m._tzm&&m._d.setUTCMinutes(m._d.getUTCMinutes()-m._tzm),m._nextDay&&(m._a[3]=24),m._w&&typeof m._w.d<"u"&&m._w.d!==Le&&(U(m).weekdayMismatch=!0)}}var lt=/^\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)?)?$/,Nt=/^\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)?)?$/,ai=/Z|[+-]\d\d(?::?\d\d)?/,kr=[["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}/]],Wo=[["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/]],or=/^\/?Date\((\-?\d+)/i;function Hs(m){var E,V,Le,je,Yt,rn,$=m._i,se=lt.exec($)||Nt.exec($);if(se){for(U(m).iso=!0,E=0,V=kr.length;E0&&U(m).unusedInput.push(je),E=E.slice(E.indexOf($)+$.length),rn+=$.length),_t[Le]?($?U(m).empty=!1:U(m).unusedTokens.push(Le),_n(Le,$,m)):m._strict&&!$&&U(m).unusedTokens.push(Le);U(m).charsLeftOver=Yt-rn,E.length>0&&U(m).unusedInput.push(E),m._a[3]<=12&&!0===U(m).bigHour&&m._a[3]>0&&(U(m).bigHour=void 0),U(m).parsedDateParts=m._a.slice(0),U(m).meridiem=m._meridiem,m._a[3]=function Ia(m,E,V){var $;return null==V?E:null!=m.meridiemHour?m.meridiemHour(E,V):(null!=m.isPM&&(($=m.isPM(V))&&E<12&&(E+=12),!$&&12===E&&(E=0)),E)}(m._locale,m._a[3],m._meridiem),ur(m),Hi(m)}else Vs(m);else Hs(m)}function Bn(m){var E=m._i,V=m._f;return m._locale=m._locale||Qn(m._l),null===E||void 0===V&&""===E?ie({nullInput:!0}):("string"==typeof E&&(m._i=E=m._locale.preparse(E)),G(E)?new ce(Hi(E)):(x(E)?m._d=E:f(V)?function To(m){var E,V,$,se,Le;if(0===m._f.length)return U(m).invalidFormat=!0,void(m._d=new Date(NaN));for(se=0;sethis?this:m:ie()});function zs(m,E){var V,$;if(1===E.length&&f(E[0])&&(E=E[0]),!E.length)return Gn();for(V=E[0],$=1;$(Le=dn(m,$,se))&&(E=Le),db.call(this,m,E,V,$,se))}function db(m,E,V,$,se){var Le=ju(m,E,V,$,se),je=_l(Le.year,0,Le.dayOfYear);return this.year(je.getUTCFullYear()),this.month(je.getUTCMonth()),this.date(je.getUTCDate()),this}rt(0,["gg",2],0,function(){return this.weekYear()%100}),rt(0,["GG",2],0,function(){return this.isoWeekYear()%100}),wi("gggg","weekYear"),wi("ggggg","weekYear"),wi("GGGG","isoWeekYear"),wi("GGGGG","isoWeekYear"),pe("weekYear","gg"),pe("isoWeekYear","GG"),_e("weekYear",1),_e("isoWeekYear",1),gt("G",xa),gt("g",xa),gt("GG",tn,ri),gt("gg",tn,ri),gt("GGGG",Fu,ko),gt("gggg",Fu,ko),gt("GGGGG",wa,Ei),gt("ggggg",wa,Ei),kt(["gggg","ggggg","GGGG","GGGGG"],function(m,E,V,$){E[$.substr(0,2)]=ee(m)}),kt(["gg","GG"],function(m,E,V,$){E[$]=_.parseTwoDigitYear(m)}),rt("Q",0,"Qo","quarter"),pe("quarter","Q"),_e("quarter",7),gt("Q",jn),kn("Q",function(m,E){E[1]=3*(ee(m)-1)}),rt("D",["DD",2],"Do","date"),pe("date","D"),_e("date",9),gt("D",tn),gt("DD",tn,ri),gt("Do",function(m,E){return m?E._dayOfMonthOrdinalParse||E._ordinalParse:E._dayOfMonthOrdinalParseLenient}),kn(["D","DD"],2),kn("Do",function(m,E){E[2]=ee(m.match(tn)[0])});var nh=ka("Date",!0);rt("DDD",["DDDD",3],"DDDo","dayOfYear"),pe("dayOfYear","DDD"),_e("dayOfYear",4),gt("DDD",En),gt("DDDD",Gr),kn(["DDD","DDDD"],function(m,E,V){V._dayOfYear=ee(m)}),rt("m",["mm",2],0,"minute"),pe("minute","m"),_e("minute",14),gt("m",tn),gt("mm",tn,ri),kn(["m","mm"],4);var $o=ka("Minutes",!1);rt("s",["ss",2],0,"second"),pe("second","s"),_e("second",15),gt("s",tn),gt("ss",tn,ri),kn(["s","ss"],5);var Hr,Wp=ka("Seconds",!1);for(rt("S",0,0,function(){return~~(this.millisecond()/100)}),rt(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),rt(0,["SSS",3],0,"millisecond"),rt(0,["SSSS",4],0,function(){return 10*this.millisecond()}),rt(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),rt(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),rt(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),rt(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),rt(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),pe("millisecond","ms"),_e("millisecond",16),gt("S",En,jn),gt("SS",En,ri),gt("SSS",En,Gr),Hr="SSSS";Hr.length<=9;Hr+="S")gt(Hr,In);function Go(m,E){E[6]=ee(1e3*("0."+m))}for(Hr="S";Hr.length<=9;Hr+="S")kn(Hr,Go);var ub=ka("Milliseconds",!1);rt("z",0,0,"zoneAbbr"),rt("zz",0,0,"zoneName");var Qe=ce.prototype;function oh(m){return m}Qe.add=Qg,Qe.calendar=function Jg(m,E){var V=m||Gn(),$=Pp(V,this).startOf("day"),se=_.calendarFormat(this,$)||"sameElse",Le=E&&(Ce(E[se])?E[se].call(this,V):E[se]);return this.format(Le||this.localeData().calendar(se,this,Gn(V)))},Qe.clone=function Ju(){return new ce(this)},Qe.diff=function Uc(m,E,V){var $,se,Le;if(!this.isValid())return NaN;if(!($=Pp(m,this)).isValid())return NaN;switch(se=6e4*($.utcOffset()-this.utcOffset()),E=he(E)){case"year":Le=pr(this,$)/12;break;case"month":Le=pr(this,$);break;case"quarter":Le=pr(this,$)/3;break;case"second":Le=(this-$)/1e3;break;case"minute":Le=(this-$)/6e4;break;case"hour":Le=(this-$)/36e5;break;case"day":Le=(this-$-se)/864e5;break;case"week":Le=(this-$-se)/6048e5;break;default:Le=this-$}return V?Le:J(Le)},Qe.endOf=function SM(m){return void 0===(m=he(m))||"millisecond"===m?this:("date"===m&&(m="day"),this.startOf(m).add(1,"isoWeek"===m?"week":m).subtract(1,"ms"))},Qe.format=function Br(m){m||(m=this.isUtc()?_.defaultFormatUtc:_.defaultFormat);var E=vt(this,m);return this.localeData().postformat(E)},Qe.from=function ib(m,E){return this.isValid()&&(G(m)&&m.isValid()||Gn(m).isValid())?Lo({to:this,from:m}).locale(this.locale()).humanize(!E):this.localeData().invalidDate()},Qe.fromNow=function Wc(m){return this.from(Gn(),m)},Qe.to=function rb(m,E){return this.isValid()&&(G(m)&&m.isValid()||Gn(m).isValid())?Lo({from:this,to:m}).locale(this.locale()).humanize(!E):this.localeData().invalidDate()},Qe.toNow=function hs(m){return this.to(Gn(),m)},Qe.get=function aM(m){return Ce(this[m=he(m)])?this[m]():this},Qe.invalidAt=function Pe(){return U(this).overflow},Qe.isAfter=function eb(m,E){var V=G(m)?m:Gn(m);return!(!this.isValid()||!V.isValid())&&("millisecond"===(E=he(p(E)?"millisecond":E))?this.valueOf()>V.valueOf():V.valueOf()9999?vt(V,E?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):Ce(Date.prototype.toISOString)?E?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",vt(V,"Z")):vt(V,E?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},Qe.inspect=function Pa(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var m="moment",E="";this.isLocal()||(m=0===this.utcOffset()?"moment.utc":"moment.parseZone",E="Z");var V="["+m+'("]',$=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY";return this.format(V+$+"-MM-DD[T]HH:mm:ss.SSS"+E+'[")]')},Qe.toJSON=function cb(){return this.isValid()?this.toISOString():null},Qe.toString=function nb(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},Qe.unix=function sb(){return Math.floor(this.valueOf()/1e3)},Qe.valueOf=function ob(){return this._d.valueOf()-6e4*(this._offset||0)},Qe.creationData=function Oe(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},Qe.year=Hg,Qe.isLeapYear=function sM(){return Nu(this.year())},Qe.weekYear=function Up(m){return Gc.call(this,m,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},Qe.isoWeekYear=function xl(m){return Gc.call(this,m,this.isoWeek(),this.isoWeekday(),1,4)},Qe.quarter=Qe.quarters=function DM(m){return null==m?Math.ceil((this.month()+1)/3):this.month(3*(m-1)+this.month()%3)},Qe.month=vp,Qe.daysInMonth=function yp(){return Bu(this.year(),this.month())},Qe.week=Qe.weeks=function zu(m){var E=this.localeData().week(this);return null==m?E:this.add(7*(m-E),"d")},Qe.isoWeek=Qe.isoWeeks=function Fc(m){var E=Ac(this,1,4).week;return null==m?E:this.add(7*(m-E),"d")},Qe.weeksInYear=function th(){var m=this.localeData()._week;return dn(this.year(),m.dow,m.doy)},Qe.isoWeeksInYear=function Eo(){return dn(this.year(),1,4)},Qe.date=nh,Qe.day=Qe.days=function Rc(m){if(!this.isValid())return null!=m?this:NaN;var E=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=m?(m=function Ug(m,E){return"string"!=typeof m?m:isNaN(m)?"number"==typeof(m=E.weekdaysParse(m))?m:null:parseInt(m,10)}(m,this.localeData()),this.add(m-E,"d")):E},Qe.weekday=function Uu(m){if(!this.isValid())return null!=m?this:NaN;var E=(this.day()+7-this.localeData()._week.dow)%7;return null==m?E:this.add(m-E,"d")},Qe.isoWeekday=function bl(m){if(!this.isValid())return null!=m?this:NaN;if(null!=m){var E=function Wg(m,E){return"string"==typeof m?E.weekdaysParse(m)%7||7:isNaN(m)?null:m}(m,this.localeData());return this.day(this.day()%7?E:E-7)}return this.day()||7},Qe.dayOfYear=function mr(m){var E=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==m?E:this.add(m-E,"d")},Qe.hour=Qe.hours=zo,Qe.minute=Qe.minutes=$o,Qe.second=Qe.seconds=Wp,Qe.millisecond=Qe.milliseconds=ub,Qe.utcOffset=function mM(m,E,V){var se,$=this._offset||0;if(!this.isValid())return null!=m?this:NaN;if(null!=m){if("string"==typeof m){if(null===(m=Ip(Ca,m)))return this}else Math.abs(m)<16&&!V&&(m*=60);return!this._isUTC&&E&&(se=Op(this)),this._offset=m,this._isUTC=!0,null!=se&&this.add(se,"m"),$!==m&&(!E||this._changeInProgress?Rp(this,Lo(m-$,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,_.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?$:Op(this)},Qe.utc=function gM(m){return this.utcOffset(0,m)},Qe.local=function bM(m){return this._isUTC&&(this.utcOffset(0,m),this._isUTC=!1,m&&this.subtract(Op(this),"m")),this},Qe.parseZone=function vM(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var m=Ip(Pn,this._i);null!=m?this.utcOffset(m):this.utcOffset(0,!0)}return this},Qe.hasAlignedHourOffset=function yM(m){return!!this.isValid()&&(m=m?Gn(m).utcOffset():0,(this.utcOffset()-m)%60==0)},Qe.isDST=function MM(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},Qe.isLocal=function xM(){return!!this.isValid()&&!this._isUTC},Qe.isUtcOffset=function Ap(){return!!this.isValid()&&this._isUTC},Qe.isUtc=Xu,Qe.isUTC=Xu,Qe.zoneAbbr=function $p(){return this._isUTC?"UTC":""},Qe.zoneName=function hb(){return this._isUTC?"Coordinated Universal Time":""},Qe.dates=X("dates accessor is deprecated. Use date instead.",nh),Qe.months=X("months accessor is deprecated. Use month instead",vp),Qe.years=X("years accessor is deprecated. Use year instead",Hg),Qe.zone=X("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function _M(m,E){return null!=m?("string"!=typeof m&&(m=-m),this.utcOffset(m,E),this):-this.utcOffset()}),Qe.isDSTShifted=X("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function wM(){if(!p(this._isDSTShifted))return this._isDSTShifted;var m={};if(Z(m,this),(m=Bn(m))._a){var E=m._isUTC?L(m._a):Gn(m._a);this._isDSTShifted=this.isValid()&&ae(m._a,E.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var Sn=ot.prototype;function qc(m,E,V,$){var se=Qn(),Le=L().set($,E);return se[V](Le,m)}function sh(m,E,V){if(v(m)&&(E=m,m=void 0),m=m||"",null!=E)return qc(m,E,V,"month");var $,se=[];for($=0;$<12;$++)se[$]=qc(m,$,V,"month");return se}function Cl(m,E,V,$){"boolean"==typeof m?(v(E)&&(V=E,E=void 0),E=E||""):(V=E=m,m=!1,v(E)&&(V=E,E=void 0),E=E||"");var se=Qn(),Le=m?se._week.dow:0;if(null!=V)return qc(E,(V+Le)%7,$,"day");var je,Yt=[];for(je=0;je<7;je++)Yt[je]=qc(E,(je+Le)%7,$,"day");return Yt}Sn.calendar=function en(m,E,V){var $=this._calendar[m]||this._calendar.sameElse;return Ce($)?$.call(E,V):$},Sn.longDateFormat=function Tn(m){var E=this._longDateFormat[m],V=this._longDateFormat[m.toUpperCase()];return E||!V?E:(this._longDateFormat[m]=V.replace(/MMMM|MM|DD|dddd/g,function($){return $.slice(1)}),this._longDateFormat[m])},Sn.invalidDate=function Ue(){return this._invalidDate},Sn.ordinal=function rr(m){return this._ordinal.replace("%d",m)},Sn.preparse=oh,Sn.postformat=oh,Sn.relativeTime=function W(m,E,V,$){var se=this._relativeTime[V];return Ce(se)?se(m,E,V,$):se.replace(/%d/i,m)},Sn.pastFuture=function re(m,E){var V=this._relativeTime[m>0?"future":"past"];return Ce(V)?V(E):V.replace(/%s/i,E)},Sn.set=function He(m){var E,V;for(V in m)Ce(E=m[V])?this[V]=E:this["_"+V]=E;this._config=m,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},Sn.months=function lM(m,E){return m?f(this._months)?this._months[m.month()]:this._months[(this._months.isFormat||Vg).test(E)?"format":"standalone"][m.month()]:f(this._months)?this._months:this._months.standalone},Sn.monthsShort=function Pc(m,E){return m?f(this._monthsShort)?this._monthsShort[m.month()]:this._monthsShort[Vg.test(E)?"format":"standalone"][m.month()]:f(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},Sn.monthsParse=function gp(m,E,V){var $,se,Le;if(this._monthsParseExact)return jg.call(this,m,E,V);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),$=0;$<12;$++){if(se=L([2e3,$]),V&&!this._longMonthsParse[$]&&(this._longMonthsParse[$]=new RegExp("^"+this.months(se,"").replace(".","")+"$","i"),this._shortMonthsParse[$]=new RegExp("^"+this.monthsShort(se,"").replace(".","")+"$","i")),!V&&!this._monthsParse[$]&&(Le="^"+this.months(se,"")+"|^"+this.monthsShort(se,""),this._monthsParse[$]=new RegExp(Le.replace(".",""),"i")),V&&"MMMM"===E&&this._longMonthsParse[$].test(m))return $;if(V&&"MMM"===E&&this._shortMonthsParse[$].test(m))return $;if(!V&&this._monthsParse[$].test(m))return $}},Sn.monthsRegex=function zg(m){return this._monthsParseExact?(S(this,"_monthsRegex")||Mt.call(this),m?this._monthsStrictRegex:this._monthsRegex):(S(this,"_monthsRegex")||(this._monthsRegex=Mp),this._monthsStrictRegex&&m?this._monthsStrictRegex:this._monthsRegex)},Sn.monthsShortRegex=function Hu(m){return this._monthsParseExact?(S(this,"_monthsRegex")||Mt.call(this),m?this._monthsShortStrictRegex:this._monthsShortRegex):(S(this,"_monthsShortRegex")||(this._monthsShortRegex=Oc),this._monthsShortStrictRegex&&m?this._monthsShortStrictRegex:this._monthsShortRegex)},Sn.week=function cM(m){return Ac(m,this._week.dow,this._week.doy).week},Sn.firstDayOfYear=function gl(){return this._week.doy},Sn.firstDayOfWeek=function uM(){return this._week.dow},Sn.weekdays=function wp(m,E){return m?f(this._weekdays)?this._weekdays[m.day()]:this._weekdays[this._weekdays.isFormat.test(E)?"format":"standalone"][m.day()]:f(this._weekdays)?this._weekdays:this._weekdays.standalone},Sn.weekdaysMin=function we(m){return m?this._weekdaysMin[m.day()]:this._weekdaysMin},Sn.weekdaysShort=function Da(m){return m?this._weekdaysShort[m.day()]:this._weekdaysShort},Sn.weekdaysParse=function Lt(m,E,V){var $,se,Le;if(this._weekdaysParseExact)return xp.call(this,m,E,V);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),$=0;$<7;$++){if(se=L([2e3,1]).day($),V&&!this._fullWeekdaysParse[$]&&(this._fullWeekdaysParse[$]=new RegExp("^"+this.weekdays(se,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[$]=new RegExp("^"+this.weekdaysShort(se,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[$]=new RegExp("^"+this.weekdaysMin(se,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[$]||(Le="^"+this.weekdays(se,"")+"|^"+this.weekdaysShort(se,"")+"|^"+this.weekdaysMin(se,""),this._weekdaysParse[$]=new RegExp(Le.replace(".",""),"i")),V&&"dddd"===E&&this._fullWeekdaysParse[$].test(m))return $;if(V&&"ddd"===E&&this._shortWeekdaysParse[$].test(m))return $;if(V&&"dd"===E&&this._minWeekdaysParse[$].test(m))return $;if(!V&&this._weekdaysParse[$].test(m))return $}},Sn.weekdaysRegex=function Kg(m){return this._weekdaysParseExact?(S(this,"_weekdaysRegex")||Cp.call(this),m?this._weekdaysStrictRegex:this._weekdaysRegex):(S(this,"_weekdaysRegex")||(this._weekdaysRegex=qg),this._weekdaysStrictRegex&&m?this._weekdaysStrictRegex:this._weekdaysRegex)},Sn.weekdaysShortRegex=function us(m){return this._weekdaysParseExact?(S(this,"_weekdaysRegex")||Cp.call(this),m?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(S(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Zg),this._weekdaysShortStrictRegex&&m?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},Sn.weekdaysMinRegex=function hM(m){return this._weekdaysParseExact?(S(this,"_weekdaysRegex")||Cp.call(this),m?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(S(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=so),this._weekdaysMinStrictRegex&&m?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},Sn.isPM=function Wu(m){return"p"===(m+"").toLowerCase().charAt(0)},Sn.meridiem=function kp(m,E,V){return m>11?V?"pm":"PM":V?"am":"AM"},La("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(m){var E=m%10;return m+(1===ee(m%100/10)?"th":1===E?"st":2===E?"nd":3===E?"rd":"th")}}),_.lang=X("moment.lang is deprecated. Use moment.locale instead.",La),_.langData=X("moment.langData is deprecated. Use moment.localeData instead.",Qn);var qo=Math.abs;function ar(m,E,V,$){var se=Lo(E,V);return m._milliseconds+=$*se._milliseconds,m._days+=$*se._days,m._months+=$*se._months,m._bubble()}function fs(m){return m<0?Math.floor(m):Math.ceil(m)}function kl(m){return 4800*m/146097}function lh(m){return 146097*m/4800}function ao(m){return function(){return this.as(m)}}var Kc=ao("ms"),Zc=ao("s"),ch=ao("m"),Xp=ao("h"),gb=ao("d"),Oa=ao("w"),Sl=ao("M"),bb=ao("y");function Aa(m){return function(){return this.isValid()?this._data[m]:NaN}}var vb=Aa("milliseconds"),yb=Aa("seconds"),LM=Aa("minutes"),EM=Aa("hours"),uh=Aa("days"),Qp=Aa("months"),Jp=Aa("years");var Ko=Math.round,lo={ss:44,s:45,m:45,h:22,d:26,M:11};function Xc(m,E,V,$,se){return se.relativeTime(E||1,!!V,m,$)}var em=Math.abs;function Ws(m){return(m>0)-(m<0)||+m}function Tl(){if(!this.isValid())return this.localeData().invalidDate();var $,se,m=em(this._milliseconds)/1e3,E=em(this._days),V=em(this._months);$=J(m/60),se=J($/60),m%=60,$%=60;var je=J(V/12),Yt=V%=12,rn=E,pi=se,Vr=$,Fa=m?m.toFixed(3).replace(/\.?0+$/,""):"",Ll=this.asSeconds();if(!Ll)return"P0D";var ed=Ll<0?"-":"",ps=Ws(this._months)!==Ws(Ll)?"-":"",wb=Ws(this._days)!==Ws(Ll)?"-":"",td=Ws(this._milliseconds)!==Ws(Ll)?"-":"";return ed+"P"+(je?ps+je+"Y":"")+(Yt?ps+Yt+"M":"")+(rn?wb+rn+"D":"")+(pi||Vr||Fa?"T":"")+(pi?td+pi+"H":"")+(Vr?td+Vr+"M":"")+(Fa?td+Fa+"S":"")}var an=Sr.prototype;return an.isValid=function wl(){return this._isValid},an.abs=function fb(){var m=this._data;return this._milliseconds=qo(this._milliseconds),this._days=qo(this._days),this._months=qo(this._months),m.milliseconds=qo(m.milliseconds),m.seconds=qo(m.seconds),m.minutes=qo(m.minutes),m.hours=qo(m.hours),m.months=qo(m.months),m.years=qo(m.years),this},an.add=function Us(m,E){return ar(this,m,E,1)},an.subtract=function Jn(m,E){return ar(this,m,E,-1)},an.as=function mb(m){if(!this.isValid())return NaN;var E,V,$=this._milliseconds;if("month"===(m=he(m))||"year"===m)return V=this._months+kl(E=this._days+$/864e5),"month"===m?V:V/12;switch(E=this._days+Math.round(lh(this._months)),m){case"week":return E/7+$/6048e5;case"day":return E+$/864e5;case"hour":return 24*E+$/36e5;case"minute":return 1440*E+$/6e4;case"second":return 86400*E+$/1e3;case"millisecond":return Math.floor(864e5*E)+$;default:throw new Error("Unknown unit "+m)}},an.asMilliseconds=Kc,an.asSeconds=Zc,an.asMinutes=ch,an.asHours=Xp,an.asDays=gb,an.asWeeks=Oa,an.asMonths=Sl,an.asYears=bb,an.valueOf=function _b(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*ee(this._months/12):NaN},an._bubble=function pb(){var se,Le,je,Yt,rn,m=this._milliseconds,E=this._days,V=this._months,$=this._data;return m>=0&&E>=0&&V>=0||m<=0&&E<=0&&V<=0||(m+=864e5*fs(lh(V)+E),E=0,V=0),$.milliseconds=m%1e3,se=J(m/1e3),$.seconds=se%60,Le=J(se/60),$.minutes=Le%60,je=J(Le/60),$.hours=je%24,E+=J(je/24),V+=rn=J(kl(E)),E-=fs(lh(rn)),Yt=J(V/12),V%=12,$.days=E,$.months=V,$.years=Yt,this},an.clone=function TM(){return Lo(this)},an.get=function dh(m){return m=he(m),this.isValid()?this[m+"s"]():NaN},an.milliseconds=vb,an.seconds=yb,an.minutes=LM,an.hours=EM,an.days=uh,an.weeks=function Dl(){return J(this.days()/7)},an.months=Qp,an.years=Jp,an.humanize=function Jc(m){if(!this.isValid())return this.localeData().invalidDate();var E=this.localeData(),V=function Mb(m,E,V){var $=Lo(m).abs(),se=Ko($.as("s")),Le=Ko($.as("m")),je=Ko($.as("h")),Yt=Ko($.as("d")),rn=Ko($.as("M")),pi=Ko($.as("y")),Vr=se<=lo.ss&&["s",se]||se0,Vr[4]=V,Xc.apply(null,Vr)}(this,!m,E);return m&&(V=E.pastFuture(+this,V)),E.postformat(V)},an.toISOString=Tl,an.toString=Tl,an.toJSON=Tl,an.locale=eh,an.localeData=It,an.toIsoString=X("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Tl),an.lang=$c,rt("X",0,0,"unix"),rt("x",0,0,"valueOf"),gt("x",xa),gt("X",/[+-]?\d+(\.\d{1,3})?/),kn("X",function(m,E,V){V._d=new Date(1e3*parseFloat(m,10))}),kn("x",function(m,E,V){V._d=new Date(ee(m))}),_.version="2.22.2",function u(m){O=m}(Gn),_.fn=Qe,_.min=function hr(){return zs("isBefore",[].slice.call(arguments,0))},_.max=function pM(){return zs("isAfter",[].slice.call(arguments,0))},_.now=function(){return Date.now?Date.now():+new Date},_.utc=L,_.unix=function ih(m){return Gn(1e3*m)},_.months=function Gp(m,E){return sh(m,E,"months")},_.isDate=x,_.locale=La,_.invalid=ie,_.duration=Lo,_.isMoment=G,_.weekdays=function Kp(m,E,V){return Cl(m,E,V,"weekdays")},_.parseZone=function rh(){return Gn.apply(null,arguments).parseZone()},_.localeData=Qn,_.isDuration=Zu,_.monthsShort=function qp(m,E){return sh(m,E,"monthsShort")},_.weekdaysMin=function ah(m,E,V){return Cl(m,E,V,"weekdaysMin")},_.defineLocale=Nc,_.updateLocale=function Ke(m,E){if(null!=E){var V,$,se=Ta;null!=($=Et(m))&&(se=$._config),(V=new ot(E=et(se,E))).parentLocale=Ii[m],Ii[m]=V,La(m)}else null!=Ii[m]&&(null!=Ii[m].parentLocale?Ii[m]=Ii[m].parentLocale:null!=Ii[m]&&delete Ii[m]);return Ii[m]},_.locales=function bn(){return st(Ii)},_.weekdaysShort=function Zp(m,E,V){return Cl(m,E,V,"weekdaysShort")},_.normalizeUnits=he,_.relativeTimeRounding=function Qc(m){return void 0===m?Ko:"function"==typeof m&&(Ko=m,!0)},_.relativeTimeThreshold=function hh(m,E){return void 0!==lo[m]&&(void 0===E?lo[m]:(lo[m]=E,"s"===m&&(lo.ss=E-1),!0))},_.calendarFormat=function Yp(m,E){var V=m.diff(E,"days",!0);return V<-6?"sameElse":V<-1?"lastWeek":V<0?"lastDay":V<1?"sameDay":V<2?"nextDay":V<7?"nextWeek":"sameElse"},_.prototype=Qe,_.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:"YYYY-[W]WW",MONTH:"YYYY-MM"},_}()},6700:(ue,ge,N)=>{var O={"./af":7088,"./af.js":7088,"./ar":7038,"./ar-dz":2502,"./ar-dz.js":2502,"./ar-kw":128,"./ar-kw.js":128,"./ar-ly":4519,"./ar-ly.js":4519,"./ar-ma":5443,"./ar-ma.js":5443,"./ar-sa":7642,"./ar-sa.js":7642,"./ar-tn":8592,"./ar-tn.js":8592,"./ar.js":7038,"./az":1213,"./az.js":1213,"./be":9191,"./be.js":9191,"./bg":322,"./bg.js":322,"./bm":8042,"./bm.js":8042,"./bn":9620,"./bn.js":9620,"./bo":9645,"./bo.js":9645,"./br":5020,"./br.js":5020,"./bs":4792,"./bs.js":4792,"./ca":7980,"./ca.js":7980,"./cs":7322,"./cs.js":7322,"./cv":365,"./cv.js":365,"./cy":2092,"./cy.js":2092,"./da":7387,"./da.js":7387,"./de":4307,"./de-at":9459,"./de-at.js":9459,"./de-ch":3694,"./de-ch.js":3694,"./de.js":4307,"./dv":9659,"./dv.js":9659,"./el":3460,"./el.js":3460,"./en-au":4369,"./en-au.js":4369,"./en-ca":530,"./en-ca.js":530,"./en-gb":9998,"./en-gb.js":9998,"./en-ie":3391,"./en-ie.js":3391,"./en-il":5414,"./en-il.js":5414,"./en-nz":1248,"./en-nz.js":1248,"./eo":4530,"./eo.js":4530,"./es":6866,"./es-do":8944,"./es-do.js":8944,"./es-us":3609,"./es-us.js":3609,"./es.js":6866,"./et":6725,"./et.js":6725,"./eu":7931,"./eu.js":7931,"./fa":6417,"./fa.js":6417,"./fi":944,"./fi.js":944,"./fo":5867,"./fo.js":5867,"./fr":1636,"./fr-ca":6848,"./fr-ca.js":6848,"./fr-ch":7773,"./fr-ch.js":7773,"./fr.js":1636,"./fy":4940,"./fy.js":4940,"./gd":6924,"./gd.js":6924,"./gl":6398,"./gl.js":6398,"./gom-latn":2545,"./gom-latn.js":2545,"./gu":2641,"./gu.js":2641,"./he":7536,"./he.js":7536,"./hi":6335,"./hi.js":6335,"./hr":7458,"./hr.js":7458,"./hu":6540,"./hu.js":6540,"./hy-am":5283,"./hy-am.js":5283,"./id":8780,"./id.js":8780,"./is":4205,"./is.js":4205,"./it":4211,"./it.js":4211,"./ja":1003,"./ja.js":1003,"./jv":420,"./jv.js":420,"./ka":851,"./ka.js":851,"./kk":6074,"./kk.js":6074,"./km":3343,"./km.js":3343,"./kn":4799,"./kn.js":4799,"./ko":3549,"./ko.js":3549,"./ky":3125,"./ky.js":3125,"./lb":9586,"./lb.js":9586,"./lo":2349,"./lo.js":2349,"./lt":2400,"./lt.js":2400,"./lv":9991,"./lv.js":9991,"./me":8477,"./me.js":8477,"./mi":5118,"./mi.js":5118,"./mk":5943,"./mk.js":5943,"./ml":3849,"./ml.js":3849,"./mn":1977,"./mn.js":1977,"./mr":6184,"./mr.js":6184,"./ms":485,"./ms-my":4524,"./ms-my.js":4524,"./ms.js":485,"./mt":6681,"./mt.js":6681,"./my":2024,"./my.js":2024,"./nb":2688,"./nb.js":2688,"./ne":8914,"./ne.js":8914,"./nl":1758,"./nl-be":2272,"./nl-be.js":2272,"./nl.js":1758,"./nn":1510,"./nn.js":1510,"./pa-in":7944,"./pa-in.js":7944,"./pl":1605,"./pl.js":1605,"./pt":4225,"./pt-br":3840,"./pt-br.js":3840,"./pt.js":4225,"./ro":5128,"./ro.js":5128,"./ru":5127,"./ru.js":5127,"./sd":2525,"./sd.js":2525,"./se":9893,"./se.js":9893,"./si":3123,"./si.js":3123,"./sk":9635,"./sk.js":9635,"./sl":8106,"./sl.js":8106,"./sq":8799,"./sq.js":8799,"./sr":7949,"./sr-cyrl":2872,"./sr-cyrl.js":2872,"./sr.js":7949,"./ss":6167,"./ss.js":6167,"./sv":9713,"./sv.js":9713,"./sw":1982,"./sw.js":1982,"./ta":2732,"./ta.js":2732,"./te":3636,"./te.js":3636,"./tet":2115,"./tet.js":2115,"./tg":9801,"./tg.js":9801,"./th":2868,"./th.js":2868,"./tl-ph":2360,"./tl-ph.js":2360,"./tlh":6645,"./tlh.js":6645,"./tr":8374,"./tr.js":8374,"./tzl":256,"./tzl.js":256,"./tzm":1595,"./tzm-latn":1631,"./tzm-latn.js":1631,"./tzm.js":1595,"./ug-cn":6050,"./ug-cn.js":6050,"./uk":5610,"./uk.js":5610,"./ur":6077,"./ur.js":6077,"./uz":2862,"./uz-latn":2207,"./uz-latn.js":2207,"./uz.js":2862,"./vi":8093,"./vi.js":8093,"./x-pseudo":5590,"./x-pseudo.js":5590,"./yo":9058,"./yo.js":9058,"./zh-cn":7908,"./zh-cn.js":7908,"./zh-hk":8867,"./zh-hk.js":8867,"./zh-tw":3291,"./zh-tw.js":3291};function _(f){var h=u(f);return N(h)}function u(f){if(!N.o(O,f)){var h=new Error("Cannot find module '"+f+"'");throw h.code="MODULE_NOT_FOUND",h}return O[f]}_.keys=function(){return Object.keys(O)},_.resolve=u,ue.exports=_,_.id=6700},6297:(ue,ge,N)=>{var O={"./de.json":[3634,634],"./de_base.json":[3431,431],"./en.json":[502,502],"./es.json":[4268,268],"./es_base.json":[3974,974],"./pt.json":[5733,733],"./pt_base.json":[7048,48]};function _(u){if(!N.o(O,u))return Promise.resolve().then(()=>{var y=new Error("Cannot find module '"+u+"'");throw y.code="MODULE_NOT_FOUND",y});var f=O[u],h=f[0];return N.e(f[1]).then(()=>N.t(h,19))}_.keys=()=>Object.keys(O),_.id=6297,ue.exports=_}},ue=>{ue(ue.s=9019)}]); \ No newline at end of file diff --git a/pkg/visor/static/main.ab081323107f8567.js b/pkg/visor/static/main.ab081323107f8567.js new file mode 100644 index 0000000000..d04ebfe8d8 --- /dev/null +++ b/pkg/visor/static/main.ab081323107f8567.js @@ -0,0 +1 @@ +(self.webpackChunkskywire_manager=self.webpackChunkskywire_manager||[]).push([[179],{4752:(de,ge,N)=>{"use strict";function O(t){return"function"==typeof t}let v=!1;const u={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const n=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+n.stack)}else v&&console.log("RxJS: Back to a better error behavior. Thank you. <3");v=t},get useDeprecatedSynchronousErrorHandling(){return v}};function f(t){setTimeout(()=>{throw t},0)}const h={closed:!0,next(t){},error(t){if(u.useDeprecatedSynchronousErrorHandling)throw t;f(t)},complete(){}},M=Array.isArray||(t=>t&&"number"==typeof t.length);function p(t){return null!==t&&"object"==typeof t}const x=(()=>{function t(n){return Error.call(this),this.message=n?`${n.length} errors occurred during unsubscription:\n${n.map((e,i)=>`${i+1}) ${e.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=n,this}return t.prototype=Object.create(Error.prototype),t})();class T{constructor(n){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,n&&(this._ctorUnsubscribe=!0,this._unsubscribe=n)}unsubscribe(){let n;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:i,_unsubscribe:o,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof T)e.remove(this);else if(null!==e)for(let a=0;an.concat(e instanceof x?e.errors:e),[])}T.EMPTY=((t=new T).closed=!0,t);const k="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class A extends T{constructor(n,e,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=h;break;case 1:if(!n){this.destination=h;break}if("object"==typeof n){n instanceof A?(this.syncErrorThrowable=n.syncErrorThrowable,this.destination=n,n.add(this)):(this.syncErrorThrowable=!0,this.destination=new U(this,n));break}default:this.syncErrorThrowable=!0,this.destination=new U(this,n,e,i)}}[k](){return this}static create(n,e,i){const o=new A(n,e,i);return o.syncErrorThrowable=!1,o}next(n){this.isStopped||this._next(n)}error(n){this.isStopped||(this.isStopped=!0,this._error(n))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(n){this.destination.next(n)}_error(n){this.destination.error(n),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:n}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=n,this}}class U extends A{constructor(n,e,i,o){super(),this._parentSubscriber=n;let s,a=this;O(e)?s=e:e&&(s=e.next,i=e.error,o=e.complete,e!==h&&(a=Object.create(e),O(a.unsubscribe)&&this.add(a.unsubscribe.bind(a)),a.unsubscribe=this.unsubscribe.bind(this))),this._context=a,this._next=s,this._error=i,this._complete=o}next(n){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;u.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,n)&&this.unsubscribe():this.__tryOrUnsub(this._next,n)}}error(n){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:i}=u;if(this._error)i&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,n),this.unsubscribe()):(this.__tryOrUnsub(this._error,n),this.unsubscribe());else if(e.syncErrorThrowable)i?(e.syncErrorValue=n,e.syncErrorThrown=!0):f(n),this.unsubscribe();else{if(this.unsubscribe(),i)throw n;f(n)}}}complete(){if(!this.isStopped){const{_parentSubscriber:n}=this;if(this._complete){const e=()=>this._complete.call(this._context);u.useDeprecatedSynchronousErrorHandling&&n.syncErrorThrowable?(this.__tryOrSetError(n,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(n,e){try{n.call(this._context,e)}catch(i){if(this.unsubscribe(),u.useDeprecatedSynchronousErrorHandling)throw i;f(i)}}__tryOrSetError(n,e,i){if(!u.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,i)}catch(o){return u.useDeprecatedSynchronousErrorHandling?(n.syncErrorValue=o,n.syncErrorThrown=!0,!0):(f(o),!0)}return!1}_unsubscribe(){const{_parentSubscriber:n}=this;this._context=null,this._parentSubscriber=null,n.unsubscribe()}}const re="function"==typeof Symbol&&Symbol.observable||"@@observable";function ve(t){return t}function X(t){return 0===t.length?ve:1===t.length?t[0]:function(e){return t.reduce((i,o)=>o(i),e)}}let he=(()=>{class t{constructor(e){this._isScalar=!1,e&&(this._subscribe=e)}lift(e){const i=new t;return i.source=this,i.operator=e,i}subscribe(e,i,o){const{operator:s}=this,a=function K(t,n,e){if(t){if(t instanceof A)return t;if(t[k])return t[k]()}return t||n||e?new A(t,n,e):new A(h)}(e,i,o);if(a.add(s?s.call(a,this.source):this.source||u.useDeprecatedSynchronousErrorHandling&&!a.syncErrorThrowable?this._subscribe(a):this._trySubscribe(a)),u.useDeprecatedSynchronousErrorHandling&&a.syncErrorThrowable&&(a.syncErrorThrowable=!1,a.syncErrorThrown))throw a.syncErrorValue;return a}_trySubscribe(e){try{return this._subscribe(e)}catch(i){u.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=i),function B(t){for(;t;){const{closed:n,destination:e,isStopped:i}=t;if(n||i)return!1;t=e&&e instanceof A?e:null}return!0}(e)?e.error(i):console.warn(i)}}forEach(e,i){return new(i=q(i))((o,s)=>{let a;a=this.subscribe(l=>{try{e(l)}catch(d){s(d),a&&a.unsubscribe()}},s,o)})}_subscribe(e){const{source:i}=this;return i&&i.subscribe(e)}[re](){return this}pipe(...e){return 0===e.length?this:X(e)(this)}toPromise(e){return new(e=q(e))((i,o)=>{let s;this.subscribe(a=>s=a,a=>o(a),()=>i(s))})}}return t.create=n=>new t(n),t})();function q(t){if(t||(t=u.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const ee=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})();class ae extends T{constructor(n,e){super(),this.subject=n,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const n=this.subject,e=n.observers;if(this.subject=null,!e||0===e.length||n.isStopped||n.closed)return;const i=e.indexOf(this.subscriber);-1!==i&&e.splice(i,1)}}class le extends A{constructor(n){super(n),this.destination=n}}let J=(()=>{class t extends he{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[k](){return new le(this)}lift(e){const i=new Te(this,this);return i.operator=e,i}next(e){if(this.closed)throw new ee;if(!this.isStopped){const{observers:i}=this,o=i.length,s=i.slice();for(let a=0;anew Te(n,e),t})();class Te extends J{constructor(n,e){super(),this.destination=n,this.source=e}next(n){const{destination:e}=this;e&&e.next&&e.next(n)}error(n){const{destination:e}=this;e&&e.error&&this.destination.error(n)}complete(){const{destination:n}=this;n&&n.complete&&this.destination.complete()}_subscribe(n){const{source:e}=this;return e?this.source.subscribe(n):T.EMPTY}}function Se(t){return t&&"function"==typeof t.schedule}function ke(t,n){return function(i){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new Be(t,n))}}class Be{constructor(n,e){this.project=n,this.thisArg=e}call(n,e){return e.subscribe(new tt(n,this.project,this.thisArg))}}class tt extends A{constructor(n,e,i){super(n),this.project=e,this.count=0,this.thisArg=i||this}_next(n){let e;try{e=this.project.call(this.thisArg,n,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(e)}}const st=t=>n=>{for(let e=0,i=t.length;et&&"number"==typeof t.length&&"function"!=typeof t;function Pi(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const Oi=t=>{if(t&&"function"==typeof t[re])return(t=>n=>{const e=t[re]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(n)})(t);if(Ge(t))return st(t);if(Pi(t))return(t=>n=>(t.then(e=>{n.closed||(n.next(e),n.complete())},e=>n.error(e)).then(null,f),n))(t);if(t&&"function"==typeof t[an])return(t=>n=>{const e=t[an]();for(;;){let i;try{i=e.next()}catch(o){return n.error(o),n}if(i.done){n.complete();break}if(n.next(i.value),n.closed)break}return"function"==typeof e.return&&n.add(()=>{e.return&&e.return()}),n})(t);{const e=`You provided ${p(t)?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function W(t,n){return new he(e=>{const i=new T;let o=0;return i.add(n.schedule(function(){o!==t.length?(e.next(t[o++]),e.closed||i.add(this.schedule())):e.complete()})),i})}function ue(t,n){return n?function fe(t,n){if(null!=t){if(function te(t){return t&&"function"==typeof t[re]}(t))return function dr(t,n){return new he(e=>{const i=new T;return i.add(n.schedule(()=>{const o=t[re]();i.add(o.subscribe({next(s){i.add(n.schedule(()=>e.next(s)))},error(s){i.add(n.schedule(()=>e.error(s)))},complete(){i.add(n.schedule(()=>e.complete()))}}))})),i})}(t,n);if(Pi(t))return function Xe(t,n){return new he(e=>{const i=new T;return i.add(n.schedule(()=>t.then(o=>{i.add(n.schedule(()=>{e.next(o),i.add(n.schedule(()=>e.complete()))}))},o=>{i.add(n.schedule(()=>e.error(o)))}))),i})}(t,n);if(Ge(t))return W(t,n);if(function pe(t){return t&&"function"==typeof t[an]}(t)||"string"==typeof t)return function oe(t,n){if(!t)throw new Error("Iterable cannot be null");return new he(e=>{const i=new T;let o;return i.add(()=>{o&&"function"==typeof o.return&&o.return()}),i.add(n.schedule(()=>{o=t[an](),i.add(n.schedule(function(){if(e.closed)return;let s,a;try{const l=o.next();s=l.value,a=l.done}catch(l){return void e.error(l)}a?e.complete():(e.next(s),this.schedule())}))})),i})}(t,n)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}(t,n):t instanceof he?t:new he(Oi(t))}class be extends A{constructor(n){super(),this.parent=n}_next(n){this.parent.notifyNext(n)}_error(n){this.parent.notifyError(n),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class Me extends A{notifyNext(n){this.destination.next(n)}notifyError(n){this.destination.error(n)}notifyComplete(){this.destination.complete()}}function Ie(t,n){if(n.closed)return;if(t instanceof he)return t.subscribe(n);let e;try{e=Oi(t)(n)}catch(i){n.error(i)}return e}function Ye(t,n,e=Number.POSITIVE_INFINITY){return"function"==typeof n?i=>i.pipe(Ye((o,s)=>ue(t(o,s)).pipe(ke((a,l)=>n(o,a,s,l))),e)):("number"==typeof n&&(e=n),i=>i.lift(new ut(t,e)))}class ut{constructor(n,e=Number.POSITIVE_INFINITY){this.project=n,this.concurrent=e}call(n,e){return e.subscribe(new mt(n,this.project,this.concurrent))}}class mt extends Me{constructor(n,e,i=Number.POSITIVE_INFINITY){super(n),this.project=e,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(n){this.active0?this._next(n.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function fn(t=Number.POSITIVE_INFINITY){return Ye(ve,t)}function An(t,n){return n?W(t,n):new he(st(t))}function bt(...t){let n=Number.POSITIVE_INFINITY,e=null,i=t[t.length-1];return Se(i)?(e=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof i&&(n=t.pop()),null===e&&1===t.length&&t[0]instanceof he?t[0]:fn(n)(An(t,e))}function qt(){return function(n){return n.lift(new Gn(n))}}class Gn{constructor(n){this.connectable=n}call(n,e){const{connectable:i}=this;i._refCount++;const o=new oi(n,i),s=e.subscribe(o);return o.closed||(o.connection=i.connect()),s}}class oi extends A{constructor(n,e){super(n),this.connectable=e}_unsubscribe(){const{connectable:n}=this;if(!n)return void(this.connection=null);this.connectable=null;const e=n._refCount;if(e<=0)return void(this.connection=null);if(n._refCount=e-1,e>1)return void(this.connection=null);const{connection:i}=this,o=n._connection;this.connection=null,o&&(!i||o===i)&&o.unsubscribe()}}class Kr extends he{constructor(n,e){super(),this.source=n,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let n=this._connection;return n||(this._isComplete=!1,n=this._connection=new T,n.add(this.source.subscribe(new Ai(this.getSubject(),this))),n.closed&&(this._connection=null,n=T.EMPTY)),n}refCount(){return qt()(this)}}const Io=(()=>{const t=Kr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class Ai extends le{constructor(n,e){super(n),this.connectable=e}_error(n){this._unsubscribe(),super._error(n)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const n=this.connectable;if(n){this.connectable=null;const e=n._connection;n._refCount=0,n._subject=null,n._connection=null,e&&e.unsubscribe()}}}class Fn{constructor(n,e){this.subjectFactory=n,this.selector=e}call(n,e){const{selector:i}=this,o=this.subjectFactory(),s=i(o).subscribe(n);return s.add(e.subscribe(o)),s}}function jd(){return new J}function dl(){return t=>qt()(function si(t,n){return function(i){let o;if(o="function"==typeof t?t:function(){return t},"function"==typeof n)return i.lift(new Fn(o,n));const s=Object.create(i,Io);return s.source=i,s.subjectFactory=o,s}}(jd)(t))}function xn(t){for(let n in t)if(t[n]===xn)return n;throw Error("Could not find renamed property on target object.")}function _a(t,n){for(const e in n)n.hasOwnProperty(e)&&!t.hasOwnProperty(e)&&(t[e]=n[e])}function Fi(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(Fi).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const n=t.toString();if(null==n)return""+n;const e=n.indexOf("\n");return-1===e?n:n.substring(0,e)}function ba(t,n){return null==t||""===t?null===n?"":n:null==n||""===n?t:t+" "+n}const Hg=xn({__forward_ref__:xn});function pn(t){return t.__forward_ref__=pn,t.toString=function(){return Fi(this())},t}function Dt(t){return gt(t)?t():t}function gt(t){return"function"==typeof t&&t.hasOwnProperty(Hg)&&t.__forward_ref__===pn}function zd(t){return t&&!!t.\u0275providers}const hs="https://g.co/ng/security#xss";class Fe extends Error{constructor(n,e){super(function Tn(t,n){return`NG0${Math.abs(t)}${n?": "+n:""}`}(n,e)),this.code=n}}function xt(t){return"string"==typeof t?t:null==t?"":String(t)}function ai(t,n){throw new Fe(-201,!1)}function Zr(t,n){null==t&&function Mn(t,n,e,i){throw new Error(`ASSERTION ERROR: ${t}`+(null==i?"":` [Expected=> ${e} ${i} ${n} <=Actual]`))}(n,t,null,"!=")}function Ne(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function Nt(t){return{providers:t.providers||[],imports:t.imports||[]}}function uc(t){return df(t,hc)||df(t,hf)}function df(t,n){return t.hasOwnProperty(n)?t[n]:null}function Gd(t){return t&&(t.hasOwnProperty(qd)||t.hasOwnProperty(zg))?t[qd]:null}const hc=xn({\u0275prov:xn}),qd=xn({\u0275inj:xn}),hf=xn({ngInjectableDef:xn}),zg=xn({ngInjectorDef:xn});var Mt=(()=>((Mt=Mt||{})[Mt.Default=0]="Default",Mt[Mt.Host=1]="Host",Mt[Mt.Self=2]="Self",Mt[Mt.SkipSelf=4]="SkipSelf",Mt[Mt.Optional=8]="Optional",Mt))();let fc;function Wi(t){const n=fc;return fc=t,n}function ul(t,n,e){const i=uc(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&Mt.Optional?null:void 0!==n?n:void ai(Fi(t))}const wn=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),hl={},Kd="__NG_DI_FLAG__",pc="ngTempTokenPath",$g=/\n/gm,pf="__source";let Ma;function gs(t){const n=Ma;return Ma=t,n}function qg(t,n=Mt.Default){if(void 0===Ma)throw new Fe(-203,!1);return null===Ma?ul(t,void 0,n):Ma.get(t,n&Mt.Optional?null:void 0,n)}function we(t,n=Mt.Default){return(function ff(){return fc}()||qg)(Dt(t),n)}function Qe(t,n=Mt.Default){return we(t,mc(n))}function mc(t){return typeof t>"u"||"number"==typeof t?t:0|(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function Zd(t){const n=[];for(let e=0;e((Oo=Oo||{})[Oo.OnPush=0]="OnPush",Oo[Oo.Default=1]="Default",Oo))(),Dr=(()=>(function(t){t[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom"}(Dr||(Dr={})),Dr))();const lo={},cn=[],gc=xn({\u0275cmp:xn}),_c=xn({\u0275dir:xn}),bc=xn({\u0275pipe:xn}),_f=xn({\u0275mod:xn}),Zo=xn({\u0275fac:xn}),pl=xn({__NG_ELEMENT_ID__:xn}),bf=xn({__NG_ENV_ID__:xn});function Xd(t,n,e){let i=t.length;for(;;){const o=t.indexOf(n,e);if(-1===o)return o;if(0===o||t.charCodeAt(o-1)<=32){const s=n.length;if(o+s===i||t.charCodeAt(o+s)<=32)return o}e=o+1}}function hi(t,n,e){let i=0;for(;in){a=s-1;break}}}for(;ss?"":o[F+1].toLowerCase();const ie=8&i?G:null;if(ie&&-1!==Xd(ie,_,0)||2&i&&_!==G){if(co(i))return!1;a=!0}}}}else{if(!a&&!co(i)&&!co(d))return!1;if(a&&co(d))continue;a=!1,i=d|1&i}}return co(i)||a}function co(t){return 0==(1&t)}function Jd(t,n,e,i){if(null===n)return-1;let o=0;if(i||!e){let s=!1;for(;o-1)for(e++;e0?'="'+l+'"':"")+"]"}else 8&i?o+="."+a:4&i&&(o+=" "+a);else""!==o&&!co(a)&&(n+=yf(s,o),o=""),i=a,s=s||!co(i);e++}return""!==o&&(n+=yf(s,o)),n}function Ze(t){return Ko(()=>{const n=wf(t),e={...n,decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===Oo.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&t.dependencies||null,getStandaloneInjector:null,data:t.data||{},encapsulation:t.encapsulation||Dr.Emulated,styles:t.styles||cn,_:null,schemas:t.schemas||null,tView:null,id:""};Cf(e);const i=t.dependencies;return e.directiveDefs=gl(i,!1),e.pipeDefs=gl(i,!0),e.id=function xf(t){let n=0;const e=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,t.consts,t.vars,t.decls,t.encapsulation,t.standalone,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery].join("|");for(const o of e)n=Math.imul(31,n)+o.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(e),e})}function Mc(t,n,e){const i=t.\u0275cmp;i.directiveDefs=gl(n,!1),i.pipeDefs=gl(e,!0)}function i_(t){return gn(t)||hr(t)}function r_(t){return null!==t}function Ht(t){return Ko(()=>({type:t.type,bootstrap:t.bootstrap||cn,declarations:t.declarations||cn,imports:t.imports||cn,exports:t.exports||cn,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function Mf(t,n){if(null==t)return lo;const e={};for(const i in t)if(t.hasOwnProperty(i)){let o=t[i],s=o;Array.isArray(o)&&(s=o[1],o=o[0]),e[o]=i,n&&(n[o]=s)}return e}function Ke(t){return Ko(()=>{const n=wf(t);return Cf(n),n})}function ur(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,standalone:!0===t.standalone,onDestroy:t.type.prototype.ngOnDestroy||null}}function gn(t){return t[gc]||null}function hr(t){return t[_c]||null}function fr(t){return t[bc]||null}function Nr(t,n){const e=t[_f]||null;if(!e&&!0===n)throw new Error(`Type ${Fi(t)} does not have '\u0275mod' property.`);return e}function wf(t){const n={};return{type:t.type,providersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:n,exportAs:t.exportAs||null,standalone:!0===t.standalone,selectors:t.selectors||cn,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Mf(t.inputs,n),outputs:Mf(t.outputs)}}function Cf(t){t.features?.forEach(n=>n(t))}function gl(t,n){if(!t)return null;const e=n?fr:i_;return()=>("function"==typeof t?t():t).map(i=>e(i)).filter(r_)}const zt=0,lt=1,Yt=2,Xn=3,uo=4,Bs=5,pr=6,Ao=7,li=8,Da=9,Vs=10,Et=11,js=12,wc=13,zs=14,xi=15,Us=16,bs=17,Xr=18,_l=19,kf=20,vs=21,Xo=22,Cc=23,xc=24,Qt=25,tu=1,Sf=2,ho=7,kc=8,Ta=9,ni=11;function Yr(t){return Array.isArray(t)&&"object"==typeof t[tu]}function vr(t){return Array.isArray(t)&&!0===t[tu]}function Sc(t){return 0!=(4&t.flags)}function Ws(t){return t.componentOffset>-1}function Dc(t){return 1==(1&t.flags)}function fo(t){return!!t.template}function nu(t){return 0!=(512&t[Yt])}function $s(t,n){return t.hasOwnProperty(Zo)?t[Zo]:null}let p_=wn.WeakRef??class f_{constructor(n){this.ref=n}deref(){return this.ref}},g_=0,Fo=null,Gs=!1;function $i(t){const n=Fo;return Fo=t,n}class If{constructor(){this.id=g_++,this.ref=function m_(t){return new p_(t)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[n,e]of this.producers){const i=e.producerNode.deref();if(void 0!==i&&e.atTrackingVersion===this.trackingVersion){if(i.producerPollStatus(e.seenValueVersion))return!0}else this.producers.delete(n),i?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const n=Gs;Gs=!0;try{for(const[e,i]of this.consumers){const o=i.consumerNode.deref();void 0!==o&&o.trackingVersion===i.atTrackingVersion?o.onConsumerDependencyMayHaveChanged():(this.consumers.delete(e),o?.producers.delete(this.id))}}finally{Gs=n}}producerAccessed(){if(Gs)throw new Error("");if(null===Fo)return;let n=Fo.producers.get(this.id);void 0===n?(n={consumerNode:Fo.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Fo.trackingVersion},Fo.producers.set(this.id,n),this.consumers.set(Fo.id,n)):(n.seenValueVersion=this.valueVersion,n.atTrackingVersion=Fo.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Fo?.consumerAllowSignalWrites}producerPollStatus(n){return this.valueVersion!==n||(this.onProducerUpdateValueVersion(),this.valueVersion!==n)}}let Pf=null;const Je=()=>{};class M_ extends If{constructor(n,e,i){super(),this.watch=n,this.schedule=e,this.dirty=!1,this.cleanupFn=Je,this.registerOnCleanup=o=>{this.cleanupFn=o},this.consumerAllowSignalWrites=i}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const n=$i(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=Je,this.watch(this.registerOnCleanup)}finally{$i(n)}}cleanup(){this.cleanupFn()}}class w_{constructor(n,e,i){this.previousValue=n,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function Gi(){return Rn}function Rn(t){return t.type.prototype.ngOnChanges&&(t.setInput=Of),Ec}function Ec(){const t=Af(this),n=t?.current;if(n){const e=t.previous;if(e===lo)t.previous=n;else for(let i in n)e[i]=n[i];t.current=null,this.ngOnChanges(n)}}function Of(t,n,e,i){const o=this.declaredInputs[e],s=Af(t)||function C_(t,n){return t[Ic]=n}(t,{previous:lo,current:null}),a=s.current||(s.current={}),l=s.previous,d=l[o];a[o]=new w_(d&&d.currentValue,n,l===lo),t[i]=n}Gi.ngInherit=!0;const Ic="__ngSimpleChanges__";function Af(t){return t[Ic]||null}const Ro=function(t,n,e){},No="svg";function Un(t){for(;Array.isArray(t);)t=t[zt];return t}function Pc(t,n){return Un(n[t])}function yr(t,n){return Un(n[t.index])}function lu(t,n){return t.data[n]}function ys(t,n){return t[n]}function Tr(t,n){const e=n[t];return Yr(e)?e:e[zt]}function mo(t){return 128==(128&t[Yt])}function Ms(t,n){return null==n?null:t[n]}function Rf(t){t[bs]=0}function L_(t){1024&t[Yt]||(t[Yt]|=1024,Yf(t,1))}function Nf(t){1024&t[Yt]&&(t[Yt]&=-1025,Yf(t,-1))}function Yf(t,n){let e=t[Xn];if(null===e)return;e[Bs]+=n;let i=e;for(e=e[Xn];null!==e&&(1===n&&1===i[Bs]||-1===n&&0===i[Bs]);)e[Bs]+=n,i=e,e=e[Xn]}const Tt={lFrame:kM(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function Vf(){return Tt.bindingsEnabled}function Ea(){return null!==Tt.skipHydrationRootTNode}function Ve(){return Tt.lFrame.lView}function dn(){return Tt.lFrame.tView}function Pe(t){return Tt.lFrame.contextLView=t,t[li]}function Oe(t){return Tt.lFrame.contextLView=null,t}function tr(){let t=Oc();for(;null!==t&&64===t.type;)t=t.parent;return t}function Oc(){return Tt.lFrame.currentTNode}function Hr(t,n){const e=Tt.lFrame;e.currentTNode=t,e.isParent=n}function tn(){return Tt.lFrame.isParent}function m(){Tt.lFrame.isParent=!1}function ne(){const t=Tt.lFrame;let n=t.bindingRootIndex;return-1===n&&(n=t.bindingRootIndex=t.tView.bindingStartIndex),n}function At(){return Tt.lFrame.bindingIndex++}function Ut(t){const n=Tt.lFrame,e=n.bindingIndex;return n.bindingIndex=n.bindingIndex+t,e}function bl(t,n){const e=Tt.lFrame;e.bindingIndex=e.bindingRootIndex=t,cu(n)}function cu(t){Tt.lFrame.currentDirectiveIndex=t}function Ac(t){const n=Tt.lFrame.currentDirectiveIndex;return-1===n?null:t[n]}function jf(){return Tt.lFrame.currentQueryIndex}function yl(t){Tt.lFrame.currentQueryIndex=t}function GP(t){const n=t[lt];return 2===n.type?n.declTNode:1===n.type?t[pr]:null}function CM(t,n,e){if(e&Mt.SkipSelf){let o=n,s=t;for(;!(o=o.parent,null!==o||e&Mt.Host||(o=GP(s),null===o||(s=s[zs],10&o.type))););if(null===o)return!1;n=o,t=s}const i=Tt.lFrame=xM();return i.currentTNode=n,i.lView=t,!0}function N_(t){const n=xM(),e=t[lt];Tt.lFrame=n,n.currentTNode=e.firstChild,n.lView=t,n.tView=e,n.contextLView=t,n.bindingIndex=e.bindingStartIndex,n.inI18n=!1}function xM(){const t=Tt.lFrame,n=null===t?null:t.child;return null===n?kM(t):n}function kM(t){const n={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:t,child:null,inI18n:!1};return null!==t&&(t.child=n),n}function SM(){const t=Tt.lFrame;return Tt.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const DM=SM;function Y_(){const t=SM();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Vr(){return Tt.lFrame.selectedIndex}function Ml(t){Tt.lFrame.selectedIndex=t}function fi(){const t=Tt.lFrame;return lu(t.tView,t.selectedIndex)}function wl(){Tt.lFrame.currentNamespace=No}function zf(){!function XP(){Tt.lFrame.currentNamespace=null}()}let LM=!0;function Uf(){return LM}function Ia(t){LM=t}function Wf(t,n){for(let e=n.directiveStart,i=n.directiveEnd;e=i)break}else n[d]<0&&(t[bs]+=65536),(l>12>16&&(3&t[Yt])===n&&(t[Yt]+=4096,IM(l,s)):IM(l,s)}const Fc=-1;class du{constructor(n,e,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function PM(t){return t!==Fc}function qf(t){return 32767&t}function Kf(t,n){let e=function iO(t){return t>>16}(t),i=n;for(;e>0;)i=i[zs],e--;return i}let V_=!0;function Zf(t){const n=V_;return V_=t,n}const OM=255,AM=5;let rO=0;const Cs={};function Xf(t,n){const e=FM(t,n);if(-1!==e)return e;const i=n[lt];i.firstCreatePass&&(t.injectorIndex=n.length,j_(i.data,t),j_(n,null),j_(i.blueprint,null));const o=z_(t,n),s=t.injectorIndex;if(PM(o)){const a=qf(o),l=Kf(o,n),d=l[lt].data;for(let _=0;_<8;_++)n[s+_]=l[a+_]|d[a+_]}return n[s+8]=o,s}function j_(t,n){t.push(0,0,0,0,0,0,0,0,n)}function FM(t,n){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===n[t.injectorIndex+8]?-1:t.injectorIndex}function z_(t,n){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let e=0,i=null,o=n;for(;null!==o;){if(i=jM(o),null===i)return Fc;if(e++,o=o[zs],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return Fc}function U_(t,n,e){!function oO(t,n,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(pl)&&(i=e[pl]),null==i&&(i=e[pl]=rO++);const o=i&OM;n.data[t+(o>>AM)]|=1<=0?n&OM:cO:n}(e);if("function"==typeof s){if(!CM(n,t,i))return i&Mt.Host?RM(o,0,i):NM(n,e,i,o);try{const a=s(i);if(null!=a||i&Mt.Optional)return a;ai()}finally{DM()}}else if("number"==typeof s){let a=null,l=FM(t,n),d=Fc,_=i&Mt.Host?n[xi][pr]:null;for((-1===l||i&Mt.SkipSelf)&&(d=-1===l?z_(t,n):n[l+8],d!==Fc&&VM(i,!1)?(a=n[lt],l=qf(d),n=Kf(d,n)):l=-1);-1!==l;){const E=n[lt];if(BM(s,l,E.data)){const F=aO(l,n,e,a,i,_);if(F!==Cs)return F}d=n[l+8],d!==Fc&&VM(i,n[lt].data[l+8]===_)&&BM(s,l,n)?(a=E,l=qf(d),n=Kf(d,n)):l=-1}}return o}function aO(t,n,e,i,o,s){const a=n[lt],l=a.data[t+8],E=Jf(l,a,e,null==i?Ws(l)&&V_:i!=a&&0!=(3&l.type),o&Mt.Host&&s===l);return null!==E?Cl(n,a,E,l):Cs}function Jf(t,n,e,i,o){const s=t.providerIndexes,a=n.data,l=1048575&s,d=t.directiveStart,E=s>>20,G=o?l+E:t.directiveEnd;for(let ie=i?l:l+E;ie=d&&_e.type===e)return ie}if(o){const ie=a[d];if(ie&&fo(ie)&&ie.type===e)return d}return null}function Cl(t,n,e,i){let o=t[e];const s=n.data;if(function eO(t){return t instanceof du}(o)){const a=o;a.resolving&&function ao(t,n){const e=n?`. Dependency path: ${n.join(" > ")} > ${t}`:"";throw new Fe(-200,`Circular dependency in DI detected for ${t}${e}`)}(function yn(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():xt(t)}(s[e]));const l=Zf(a.canSeeViewProviders);a.resolving=!0;const d=a.injectImpl?Wi(a.injectImpl):null;CM(t,i,Mt.Default);try{o=t[e]=a.factory(void 0,s,t,i),n.firstCreatePass&&e>=i.directiveStart&&function JP(t,n,e){const{ngOnChanges:i,ngOnInit:o,ngDoCheck:s}=n.type.prototype;if(i){const a=Rn(n);(e.preOrderHooks??=[]).push(t,a),(e.preOrderCheckHooks??=[]).push(t,a)}o&&(e.preOrderHooks??=[]).push(0-t,o),s&&((e.preOrderHooks??=[]).push(t,s),(e.preOrderCheckHooks??=[]).push(t,s))}(e,s[e],n)}finally{null!==d&&Wi(d),Zf(l),a.resolving=!1,DM()}}return o}function BM(t,n,e){return!!(e[n+(t>>AM)]&1<{const n=t.prototype.constructor,e=n[Zo]||W_(n),i=Object.prototype;let o=Object.getPrototypeOf(t.prototype).constructor;for(;o&&o!==i;){const s=o[Zo]||W_(o);if(s&&s!==e)return s;o=Object.getPrototypeOf(o)}return s=>new s})}function W_(t){return gt(t)?()=>{const n=W_(Dt(t));return n&&n()}:$s(t)}function jM(t){const n=t[lt],e=n.type;return 2===e?n.declTNode:1===e?t[pr]:null}function Pa(t){return function sO(t,n){if("class"===n)return t.classes;if("style"===n)return t.styles;const e=t.attrs;if(e){const i=e.length;let o=0;for(;o{const i=function $_(t){return function(...e){if(t){const i=t(...e);for(const o in i)this[o]=i[o]}}}(n);function o(...s){if(this instanceof o)return i.apply(this,s),this;const a=new o(...s);return l.annotation=a,l;function l(d,_,E){const F=d.hasOwnProperty(Yc)?d[Yc]:Object.defineProperty(d,Yc,{value:[]})[Yc];for(;F.length<=E;)F.push(null);return(F[E]=F[E]||[]).push(a),d}}return e&&(o.prototype=Object.create(e.prototype)),o.prototype.ngMetadataName=t,o.annotationCls=o,o})}function fu(t,n){t.forEach(e=>Array.isArray(e)?fu(e,n):n(e))}function UM(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function Qf(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function pu(t,n){const e=[];for(let i=0;i=0?t[1|i]=e:(i=~i,function mO(t,n,e,i){let o=t.length;if(o==n)t.push(e,i);else if(1===o)t.push(i,t[0]),t[0]=e;else{for(o--,t.push(t[o-1],t[o]);o>n;)t[o]=t[o-2],o--;t[n]=e,t[n+1]=i}}(t,i,n,e)),i}function G_(t,n){const e=Vc(t,n);if(e>=0)return t[1|e]}function Vc(t,n){return function WM(t,n,e){let i=0,o=t.length>>e;for(;o!==i;){const s=i+(o-i>>1),a=t[s<n?o=s:i=s+1}return~(o<((Jr=Jr||{})[Jr.Important=1]="Important",Jr[Jr.DashCase=2]="DashCase",Jr))();const RO=/^>|^->||--!>|)/,YO="\u200b$1\u200b";const Q_=new Map;let HO=0;const tb="__ngContext__";function Lr(t,n){Yr(n)?(t[tb]=n[_l],function VO(t){Q_.set(t[_l],t)}(n)):t[tb]=n}let nb;function ib(t,n){return nb(t,n)}function bu(t){const n=t[Xn];return vr(n)?n[Xn]:n}function rb(t){return dw(t[js])}function ob(t){return dw(t[uo])}function dw(t){for(;null!==t&&!vr(t);)t=t[uo];return t}function Uc(t,n,e,i,o){if(null!=i){let s,a=!1;vr(i)?s=i:Yr(i)&&(a=!0,i=i[zt]);const l=Un(i);0===t&&null!==e?null==o?mw(n,e,l):kl(n,e,l,o||null,!0):1===t&&null!==e?kl(n,e,l,o||null,!0):2===t?function dp(t,n,e){const i=lp(t,n);i&&function sA(t,n,e,i){t.removeChild(n,e,i)}(t,i,n,e)}(n,l,a):3===t&&n.destroyNode(l),null!=s&&function cA(t,n,e,i,o){const s=e[ho];s!==Un(e)&&Uc(n,t,i,s,o);for(let l=ni;ln.replace(NO,YO))}(n))}function ap(t,n,e){return t.createElement(n,e)}function hw(t,n){const e=t[Ta],i=e.indexOf(n);Nf(n),e.splice(i,1)}function ab(t,n){if(t.length<=ni)return;const e=ni+n,i=t[e];if(i){const o=i[Us];null!==o&&o!==t&&hw(o,i),n>0&&(t[e-1][uo]=i[uo]);const s=Qf(t,ni+n);!function JO(t,n){yu(t,n,n[Et],2,null,null),n[zt]=null,n[pr]=null}(i[lt],i);const a=s[Xr];null!==a&&a.detachView(s[lt]),i[Xn]=null,i[uo]=null,i[Yt]&=-129}return i}function fw(t,n){if(!(256&n[Yt])){const e=n[Et];n[Cc]?.destroy(),n[xc]?.destroy(),e.destroyNode&&yu(t,n,e,3,null,null),function tA(t){let n=t[js];if(!n)return lb(t[lt],t);for(;n;){let e=null;if(Yr(n))e=n[js];else{const i=n[ni];i&&(e=i)}if(!e){for(;n&&!n[uo]&&n!==t;)Yr(n)&&lb(n[lt],n),n=n[Xn];null===n&&(n=t),Yr(n)&&lb(n[lt],n),e=n&&n[uo]}n=e}}(n)}}function lb(t,n){if(!(256&n[Yt])){n[Yt]&=-129,n[Yt]|=256,function oA(t,n){let e;if(null!=t&&null!=(e=t.destroyHooks))for(let i=0;i=0?i[a]():i[-a].unsubscribe(),s+=2}else e[s].call(i[e[s+1]]);null!==i&&(n[Ao]=null);const o=n[vs];if(null!==o){n[vs]=null;for(let s=0;s-1){const{encapsulation:s}=t.data[i.directiveStart+o];if(s===Dr.None||s===Dr.Emulated)return null}return yr(i,e)}}(t,n.parent,e)}function kl(t,n,e,i,o){t.insertBefore(n,e,i,o)}function mw(t,n,e){t.appendChild(n,e)}function gw(t,n,e,i,o){null!==i?kl(t,n,e,i,o):mw(t,n,e)}function lp(t,n){return t.parentNode(n)}function _w(t,n,e){return vw(t,n,e)}let db,up,pb,hp,vw=function bw(t,n,e){return 40&t.type?yr(t,e):null};function cp(t,n,e,i){const o=cb(t,i,n),s=n[Et],l=_w(i.parent||n[pr],i,n);if(null!=o)if(Array.isArray(e))for(let d=0;dt,createScript:t=>t,createScriptURL:t=>t})}catch{}return up}()?.createHTML(t)||t}function Tw(t){return function mb(){if(void 0===hp&&(hp=null,wn.trustedTypes))try{hp=wn.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return hp}()?.createScriptURL(t)||t}class Sl{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${hs})`}}class gA extends Sl{getTypeName(){return"HTML"}}class _A extends Sl{getTypeName(){return"Style"}}class bA extends Sl{getTypeName(){return"Script"}}class vA extends Sl{getTypeName(){return"URL"}}class yA extends Sl{getTypeName(){return"ResourceURL"}}function _o(t){return t instanceof Sl?t.changingThisBreaksApplicationSecurity:t}function xs(t,n){const e=function MA(t){return t instanceof Sl&&t.getTypeName()||null}(t);if(null!=e&&e!==n){if("ResourceURL"===e&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${e} (see ${hs})`)}return e===n}class DA{constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const e=(new window.DOMParser).parseFromString(Wc(n),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(n):(e.removeChild(e.firstChild),e)}catch{return null}}}class TA{constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const e=this.inertDocument.createElement("template");return e.innerHTML=Wc(n),e}}const EA=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function fp(t){return(t=String(t)).match(EA)?t:"unsafe:"+t}function qs(t){const n={};for(const e of t.split(","))n[e]=!0;return n}function wu(...t){const n={};for(const e of t)for(const i in e)e.hasOwnProperty(i)&&(n[i]=!0);return n}const Ew=qs("area,br,col,hr,img,wbr"),Iw=qs("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pw=qs("rp,rt"),gb=wu(Ew,wu(Iw,qs("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")),wu(Pw,qs("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")),wu(Pw,Iw)),_b=qs("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Ow=wu(_b,qs("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,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),qs("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")),IA=qs("script,style,template");class PA{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(n){let e=n.firstChild,i=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?i=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,i&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let o=this.checkClobberedElement(e,e.nextSibling);if(o){e=o;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(n){const e=n.nodeName.toLowerCase();if(!gb.hasOwnProperty(e))return this.sanitizedSomething=!0,!IA.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const i=n.attributes;for(let o=0;o"),!0}endElement(n){const e=n.nodeName.toLowerCase();gb.hasOwnProperty(e)&&!Ew.hasOwnProperty(e)&&(this.buf.push(""))}chars(n){this.buf.push(Aw(n))}checkClobberedElement(n,e){if(e&&(n.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${n.outerHTML}`);return e}}const OA=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,AA=/([^\#-~ |!])/g;function Aw(t){return t.replace(/&/g,"&").replace(OA,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(AA,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let pp;function Fw(t,n){let e=null;try{pp=pp||function Lw(t){const n=new TA(t);return function LA(){try{return!!(new window.DOMParser).parseFromString(Wc(""),"text/html")}catch{return!1}}()?new DA(n):n}(t);let i=n?String(n):"";e=pp.getInertBodyElement(i);let o=5,s=i;do{if(0===o)throw new Error("Failed to sanitize html because the input is unstable");o--,i=s,s=e.innerHTML,e=pp.getInertBodyElement(i)}while(i!==s);return Wc((new PA).sanitizeChildren(bb(e)||e))}finally{if(e){const i=bb(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function bb(t){return"content"in t&&function FA(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var kn=(()=>((kn=kn||{})[kn.NONE=0]="NONE",kn[kn.HTML=1]="HTML",kn[kn.STYLE=2]="STYLE",kn[kn.SCRIPT=3]="SCRIPT",kn[kn.URL=4]="URL",kn[kn.RESOURCE_URL=5]="RESOURCE_URL",kn))();function Vo(t){const n=Cu();return n?n.sanitize(kn.URL,t)||"":xs(t,"URL")?_o(t):fp(xt(t))}function Rw(t){const n=Cu();if(n)return Tw(n.sanitize(kn.RESOURCE_URL,t)||"");if(xs(t,"ResourceURL"))return Tw(_o(t));throw new Fe(904,!1)}function Cu(){const t=Ve();return t&&t[Vs].sanitizer}class Re{constructor(n,e){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=Ne({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const xu=new Re("ENVIRONMENT_INITIALIZER"),Yw=new Re("INJECTOR",-1),Hw=new Re("INJECTOR_DEF_TYPES");class Bw{get(n,e=hl){if(e===hl){const i=new Error(`NullInjectorError: No provider for ${Fi(n)}!`);throw i.name="NullInjectorError",i}return e}}function jA(...t){return{\u0275providers:Vw(0,t),\u0275fromNgModule:!0}}function Vw(t,...n){const e=[],i=new Set;let o;return fu(n,s=>{const a=s;yb(a,e,[],i)&&(o||=[],o.push(a))}),void 0!==o&&jw(o,e),e}function jw(t,n){for(let e=0;e{n.push(s)})}}function yb(t,n,e,i){if(!(t=Dt(t)))return!1;let o=null,s=Gd(t);const a=!s&&gn(t);if(s||a){if(a&&!a.standalone)return!1;o=t}else{const d=t.ngModule;if(s=Gd(d),!s)return!1;o=d}const l=i.has(o);if(a){if(l)return!1;if(i.add(o),a.dependencies){const d="function"==typeof a.dependencies?a.dependencies():a.dependencies;for(const _ of d)yb(_,n,e,i)}}else{if(!s)return!1;{if(null!=s.imports&&!l){let _;i.add(o);try{fu(s.imports,E=>{yb(E,n,e,i)&&(_||=[],_.push(E))})}finally{}void 0!==_&&jw(_,n)}if(!l){const _=$s(o)||(()=>new o);n.push({provide:o,useFactory:_,deps:cn},{provide:Hw,useValue:o,multi:!0},{provide:xu,useValue:()=>we(o),multi:!0})}const d=s.providers;null==d||l||Mb(d,E=>{n.push(E)})}}return o!==t&&void 0!==t.providers}function Mb(t,n){for(let e of t)zd(e)&&(e=e.\u0275providers),Array.isArray(e)?Mb(e,n):n(e)}const zA=xn({provide:String,useValue:xn});function wb(t){return null!==t&&"object"==typeof t&&zA in t}function Dl(t){return"function"==typeof t}const Cb=new Re("Set Injector scope."),mp={},WA={};let xb;function gp(){return void 0===xb&&(xb=new Bw),xb}class ks{}class kb extends ks{get destroyed(){return this._destroyed}constructor(n,e,i,o){super(),this.parent=e,this.source=i,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Db(n,a=>this.processProvider(a)),this.records.set(Yw,$c(void 0,this)),o.has("environment")&&this.records.set(ks,$c(void 0,this));const s=this.records.get(Cb);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hw.multi,cn,Mt.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const e of this._ngOnDestroyHooks)e.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const e of n)e()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const e=gs(this),i=Wi(void 0);try{return n()}finally{gs(e),Wi(i)}}get(n,e=hl,i=Mt.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(bf))return n[bf](this);i=mc(i);const o=gs(this),s=Wi(void 0);try{if(!(i&Mt.SkipSelf)){let l=this.records.get(n);if(void 0===l){const d=function ZA(t){return"function"==typeof t||"object"==typeof t&&t instanceof Re}(n)&&uc(n);l=d&&this.injectableDefInScope(d)?$c(Sb(n),mp):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(i&Mt.Self?gp():this.parent).get(n,e=i&Mt.Optional&&e===hl?null:e)}catch(a){if("NullInjectorError"===a.name){if((a[pc]=a[pc]||[]).unshift(Fi(n)),o)throw a;return function Zg(t,n,e,i){const o=t[pc];throw n[pf]&&o.unshift(n[pf]),t.message=function Xg(t,n,e,i=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.slice(2):t;let o=Fi(n);if(Array.isArray(n))o=n.map(Fi).join(" -> ");else if("object"==typeof n){let s=[];for(let a in n)if(n.hasOwnProperty(a)){let l=n[a];s.push(a+":"+("string"==typeof l?JSON.stringify(l):Fi(l)))}o=`{${s.join(", ")}}`}return`${e}${i?"("+i+")":""}[${o}]: ${t.replace($g,"\n ")}`}("\n"+t.message,o,e,i),t.ngTokenPath=o,t[pc]=null,t}(a,n,"R3InjectorError",this.source)}throw a}finally{Wi(s),gs(o)}}resolveInjectorInitializers(){const n=gs(this),e=Wi(void 0);try{const i=this.get(xu.multi,cn,Mt.Self);for(const o of i)o()}finally{gs(n),Wi(e)}}toString(){const n=[],e=this.records;for(const i of e.keys())n.push(Fi(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Fe(205,!1)}processProvider(n){let e=Dl(n=Dt(n))?n:Dt(n&&n.provide);const i=function GA(t){return wb(t)?$c(void 0,t.useValue):$c(Ww(t),mp)}(n);if(Dl(n)||!0!==n.multi)this.records.get(e);else{let o=this.records.get(e);o||(o=$c(void 0,mp,!0),o.factory=()=>Zd(o.multi),this.records.set(e,o)),e=n,o.multi.push(n)}this.records.set(e,i)}hydrate(n,e){return e.value===mp&&(e.value=WA,e.value=e.factory()),"object"==typeof e.value&&e.value&&function KA(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}injectableDefInScope(n){if(!n.providedIn)return!1;const e=Dt(n.providedIn);return"string"==typeof e?"any"===e||this.scopes.has(e):this.injectorDefTypes.has(e)}removeOnDestroy(n){const e=this._onDestroyHooks.indexOf(n);-1!==e&&this._onDestroyHooks.splice(e,1)}}function Sb(t){const n=uc(t),e=null!==n?n.factory:$s(t);if(null!==e)return e;if(t instanceof Re)throw new Fe(204,!1);if(t instanceof Function)return function $A(t){const n=t.length;if(n>0)throw pu(n,"?"),new Fe(204,!1);const e=function uf(t){return t&&(t[hc]||t[hf])||null}(t);return null!==e?()=>e.factory(t):()=>new t}(t);throw new Fe(204,!1)}function Ww(t,n,e){let i;if(Dl(t)){const o=Dt(t);return $s(o)||Sb(o)}if(wb(t))i=()=>Dt(t.useValue);else if(function Uw(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...Zd(t.deps||[]));else if(function zw(t){return!(!t||!t.useExisting)}(t))i=()=>we(Dt(t.useExisting));else{const o=Dt(t&&(t.useClass||t.provide));if(!function qA(t){return!!t.deps}(t))return $s(o)||Sb(o);i=()=>new o(...Zd(t.deps))}return i}function $c(t,n,e=!1){return{factory:t,value:n,multi:e?[]:void 0}}function Db(t,n){for(const e of t)Array.isArray(e)?Db(e,n):e&&zd(e)?Db(e.\u0275providers,n):n(e)}const ku=new Re("AppId",{providedIn:"root",factory:()=>XA}),XA="ng",$w=new Re("Platform Initializer"),Oa=new Re("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Ri=new Re("AnimationModuleType"),Tb=new Re("CSP nonce",{providedIn:"root",factory:()=>function Mu(){if(void 0!==pb)return pb;if(typeof document<"u")return document;throw new Fe(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let qw=(t,n)=>null;function Kw(t,n){return qw(t,n)}class sF{}class Jw{}class lF{resolveComponentFactory(n){throw function aF(t){const n=Error(`No component factory found for ${Fi(t)}.`);return n.ngComponent=t,n}(n)}}let Tl=(()=>{class t{}return t.NULL=new lF,t})();function cF(){return Gc(tr(),Ve())}function Gc(t,n){return new vt(yr(t,n))}let vt=(()=>{class t{constructor(e){this.nativeElement=e}}return t.__NG_ELEMENT_ID__=cF,t})();function dF(t){return t instanceof vt?t.nativeElement:t}class Lu{}let Ks=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>function uF(){const t=Ve(),e=Tr(tr().index,t);return(Yr(e)?e:t)[Et]}(),t})(),hF=(()=>{class t{}return t.\u0275prov=Ne({token:t,providedIn:"root",factory:()=>null}),t})();class Ll{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const fF=new Ll("16.0.2"),Hb={};function Eu(t){for(;t;){t[Yt]|=64;const n=bu(t);if(nu(t)&&!n)return t;t=n}return null}function Bb(t){return t.ngOriginalError}class Ss{constructor(){this._console=console}handleError(n){const e=this._findOriginalError(n);this._console.error("ERROR",n),e&&this._console.error("ORIGINAL ERROR",e)}_findOriginalError(n){let e=n&&Bb(n);for(;e&&Bb(e);)e=Bb(e);return e||null}}const nC=new Re("",{providedIn:"root",factory:()=>!1});function Vb(t){return t.ownerDocument.defaultView}function Zs(t){return t instanceof Function?t():t}class oC extends If{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(n){this._lView=n}onConsumerDependencyMayHaveChanged(){Eu(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(n,e,i){const o=$i(this);this.trackingVersion++;try{n(e,i)}finally{$i(o)}}destroy(){this.trackingVersion++}}let wp=null;function sC(){return wp??=new oC,wp}function aC(t,n){return t[n]??sC()}function lC(t,n){const e=sC();e.hasReadASignal&&(t[n]=wp,e.lView=t,wp=new oC)}const Bt={};function c(t){cC(dn(),Ve(),Vr()+t,!1)}function cC(t,n,e,i){if(!i)if(3==(3&n[Yt])){const s=t.preOrderCheckHooks;null!==s&&$f(n,s,e)}else{const s=t.preOrderHooks;null!==s&&Gf(n,s,0,e)}Ml(e)}function fC(t,n=null,e=null,i){const o=pC(t,n,e,i);return o.resolveInjectorInitializers(),o}function pC(t,n=null,e=null,i,o=new Set){const s=[e||cn,jA(t)];return i=i||("object"==typeof t?void 0:Fi(t)),new kb(s,n||gp(),i||null,o)}let Si=(()=>{class t{static create(e,i){if(Array.isArray(e))return fC({name:""},i,e,"");{const o=e.name??"";return fC({name:o},e.parent,e.providers,o)}}}return t.THROW_IF_NOT_FOUND=hl,t.NULL=new Bw,t.\u0275prov=Ne({token:t,providedIn:"any",factory:()=>we(Yw)}),t.__NG_ELEMENT_ID__=-1,t})();function Y(t,n=Mt.Default){const e=Ve();return null===e?we(t,n):YM(tr(),e,Dt(t),n)}function Aa(){throw new Error("invalid")}function Cp(t,n,e,i,o,s,a,l,d,_,E){const F=n.blueprint.slice();return F[zt]=o,F[Yt]=140|i,(null!==_||t&&2048&t[Yt])&&(F[Yt]|=2048),Rf(F),F[Xn]=F[zs]=t,F[li]=e,F[Vs]=a||t&&t[Vs],F[Et]=l||t&&t[Et],F[Da]=d||t&&t[Da]||null,F[pr]=s,F[_l]=function BO(){return HO++}(),F[Xo]=E,F[kf]=_,F[xi]=2==n.type?t[xi]:F,F}function Kc(t,n,e,i,o){let s=t.data[n];if(null===s)s=function jb(t,n,e,i,o){const s=Oc(),a=tn(),d=t.data[n]=function OF(t,n,e,i,o,s){let a=n?n.injectorIndex:-1,l=0;return Ea()&&(l|=128),{type:e,index:i,insertBeforeIndex:null,injectorIndex:a,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:l,providerIndexes:0,value:o,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,a?s:s&&s.parent,e,n,i,o);return null===t.firstChild&&(t.firstChild=d),null!==s&&(a?null==s.child&&null!==d.parent&&(s.child=d):null===s.next&&(s.next=d,d.prev=s)),d}(t,n,e,i,o),function ki(){return Tt.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=e,s.value=i,s.attrs=o;const a=function Ho(){const t=Tt.lFrame,n=t.currentTNode;return t.isParent?n:n.parent}();s.injectorIndex=null===a?-1:a.injectorIndex}return Hr(s,!0),s}function Iu(t,n,e,i){if(0===e)return-1;const o=n.length;for(let s=0;sQt&&cC(t,n,Qt,!1),Ro(l?2:0,o),l)s.runInContext(e,i,o);else{const _=$i(null);try{e(i,o)}finally{$i(_)}}}finally{l&&null===n[Cc]&&lC(n,Cc),Ml(a),Ro(l?3:1,o)}}function zb(t,n,e){if(Sc(n)){const i=$i(null);try{const s=n.directiveEnd;for(let a=n.directiveStart;anull;function bC(t,n,e,i){for(let o in t)if(t.hasOwnProperty(o)){e=null===e?{}:e;const s=t[o];null===i?vC(e,n,o,s):i.hasOwnProperty(o)&&vC(e,n,i[o],s)}return e}function vC(t,n,e,i){t.hasOwnProperty(e)?t[e].push(n,i):t[e]=[n,i]}function bo(t,n,e,i,o,s,a,l){const d=yr(n,e);let E,_=n.inputs;!l&&null!=_&&(E=_[i])?(Xb(t,e,E,i,o),Ws(n)&&function RF(t,n){const e=Tr(n,t);16&e[Yt]||(e[Yt]|=64)}(e,n.index)):3&n.type&&(i=function FF(t){return"class"===t?"className":"for"===t?"htmlFor":"formaction"===t?"formAction":"innerHtml"===t?"innerHTML":"readonly"===t?"readOnly":"tabindex"===t?"tabIndex":t}(i),o=null!=a?a(o,n.value||"",i):o,s.setProperty(d,i,o))}function Gb(t,n,e,i){if(Vf()){const o=null===i?null:{"":-1},s=function jF(t,n){const e=t.directiveRegistry;let i=null,o=null;if(e)for(let s=0;s0;){const e=t[--n];if("number"==typeof e&&e<0)return e}return 0})(a)!=l&&a.push(l),a.push(e,i,s)}}(t,n,i,Iu(t,e,o.hostVars,Bt),o)}function Ds(t,n,e,i,o,s){const a=yr(t,n);!function Kb(t,n,e,i,o,s,a){if(null==s)t.removeAttribute(n,o,e);else{const l=null==a?xt(s):a(s,i||"",o);t.setAttribute(n,o,l,e)}}(n[Et],a,s,t.value,e,i,o)}function qF(t,n,e,i,o,s){const a=s[n];if(null!==a)for(let l=0;l{class t{constructor(){this.all=new Set,this.queue=new Map}create(e,i,o){const s=typeof Zone>"u"?null:Zone.current,a=new M_(e,_=>{this.all.has(_)&&this.queue.set(_,s)},o);let l;this.all.add(a),a.notify();const d=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=i?.onDestroy(d),{destroy:d}}flush(){if(0!==this.queue.size)for(const[e,i]of this.queue)this.queue.delete(e),i?i.run(()=>e.run()):e.run()}get isQueueEmpty(){return 0===this.queue.size}}return t.\u0275prov=Ne({token:t,providedIn:"root",factory:()=>new t}),t})();function kp(t,n,e){let i=e?t.styles:null,o=e?t.classes:null,s=0;if(null!==n)for(let a=0;a0&&Qb(e)}}function Qb(t){for(let i=rb(t);null!==i;i=ob(i))for(let o=ni;o0&&Qb(s)}const e=t[lt].components;if(null!==e)for(let i=0;i0&&Qb(o)}}class Ou{get rootNodes(){const n=this._lView,e=n[lt];return Pu(e,n,e.firstChild,[])}constructor(n,e){this._lView=n,this._cdRefInjectingView=e,this._appRef=null,this._attachedToViewContainer=!1}get context(){return this._lView[li]}set context(n){this._lView[li]=n}get destroyed(){return 256==(256&this._lView[Yt])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const n=this._lView[Xn];if(vr(n)){const e=n[kc],i=e?e.indexOf(this):-1;i>-1&&(ab(n,i),Qf(e,i))}this._attachedToViewContainer=!1}fw(this._lView[lt],this._lView)}onDestroy(n){!function Hf(t,n){if(256==(256&t[Yt]))throw new Fe(911,!1);null===t[vs]&&(t[vs]=[]),t[vs].push(n)}(this._lView,n)}markForCheck(){Eu(this._cdRefInjectingView||this._lView)}detach(){this._lView[Yt]&=-129}reattach(){this._lView[Yt]|=128}detectChanges(){Sp(this._lView[lt],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new Fe(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function eA(t,n){yu(t,n,n[Et],2,null,null)}(this._lView[lt],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new Fe(902,!1);this._appRef=n}}class aR extends Ou{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Sp(n[lt],n,n[li],!1)}checkNoChanges(){}get context(){return null}}class EC extends Tl{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const e=gn(n);return new Au(e,this.ngModule)}}function IC(t){const n=[];for(let e in t)t.hasOwnProperty(e)&&n.push({propName:t[e],templateName:e});return n}class cR{constructor(n,e){this.injector=n,this.parentInjector=e}get(n,e,i){i=mc(i);const o=this.injector.get(n,Hb,i);return o!==Hb||e===Hb?o:this.parentInjector.get(n,e,i)}}class Au extends Jw{get inputs(){return IC(this.componentDef.inputs)}get outputs(){return IC(this.componentDef.outputs)}constructor(n,e){super(),this.componentDef=n,this.ngModule=e,this.componentType=n.type,this.selector=function yc(t){return t.map(n_).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!e}create(n,e,i,o){let s=(o=o||this.ngModule)instanceof ks?o:o?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const a=s?new cR(n,s):n,l=a.get(Lu,null);if(null===l)throw new Fe(407,!1);const E={rendererFactory:l,sanitizer:a.get(hF,null),effectManager:a.get(LC,null)},F=l.createRenderer(null,this.componentDef),G=this.componentDef.selectors[0][0]||"div",ie=i?function TF(t,n,e,i){const s=i.get(nC,!1)||e===Dr.ShadowDom,a=t.selectRootElement(n,s);return function LF(t){_C(t)}(a),a}(F,i,this.componentDef.encapsulation,a):ap(F,G,function lR(t){const n=t.toLowerCase();return"svg"===n?No:"math"===n?"math":null}(G)),_e=this.componentDef.onPush?576:528,Ce=$b(0,null,null,1,0,null,null,null,null,null,null),Ae=Cp(null,Ce,null,_e,null,null,E,F,a,null,null);let ze,Ee;N_(Ae);try{const qe=this.componentDef;let dt,Rt=null;qe.findHostDirectiveDefs?(dt=[],Rt=new Map,qe.findHostDirectiveDefs(qe,dt,Rt),dt.push(qe)):dt=[qe];const sn=function uR(t,n){const e=t[lt],i=Qt;return t[i]=n,Kc(e,i,2,"#host",null)}(Ae,ie),Ii=function hR(t,n,e,i,o,s,a){const l=o[lt];!function fR(t,n,e,i){for(const o of t)n.mergedAttrs=xa(n.mergedAttrs,o.hostAttrs);null!==n.mergedAttrs&&(kp(n,n.mergedAttrs,!0),null!==e&&kw(i,e,n))}(i,t,n,a);let d=null;null!==n&&(d=Kw(n,o[Da]));const _=s.rendererFactory.createRenderer(n,e),E=Cp(o,gC(e),null,e.onPush?64:16,o[t.index],t,s,_,null,null,d);return l.firstCreatePass&&qb(l,t,i.length-1),xp(o,E),o[t.index]=E}(sn,ie,qe,dt,Ae,E,F);Ee=lu(Ce,Qt),ie&&function mR(t,n,e,i){if(i)hi(t,e,["ng-version",fF.full]);else{const{attrs:o,classes:s}=function eu(t){const n=[],e=[];let i=1,o=2;for(;i0&&xw(t,e,s.join(" "))}}(F,qe,ie,i),void 0!==e&&function gR(t,n,e){const i=t.projection=[];for(let o=0;o=0;i--){const o=t[i];o.hostVars=n+=o.hostVars,o.hostAttrs=xa(o.hostAttrs,e=xa(e,o.hostAttrs))}}(i)}function ev(t){return t===lo?{}:t===cn?[]:t}function vR(t,n){const e=t.viewQuery;t.viewQuery=e?(i,o)=>{n(i,o),e(i,o)}:n}function yR(t,n){const e=t.contentQueries;t.contentQueries=e?(i,o,s)=>{n(i,o,s),e(i,o,s)}:n}function MR(t,n){const e=t.hostBindings;t.hostBindings=e?(i,o)=>{n(i,o),e(i,o)}:n}function Tp(t){return!!tv(t)&&(Array.isArray(t)||!(t instanceof Map)&&Symbol.iterator in t)}function tv(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function Ts(t,n,e){return t[n]=e}function Er(t,n,e){return!Object.is(t[n],e)&&(t[n]=e,!0)}function El(t,n,e,i){const o=Er(t,n,e);return Er(t,n+1,i)||o}function Xt(t,n,e,i){const o=Ve();return Er(o,At(),n)&&(dn(),Ds(fi(),o,t,n,e,i)),Xt}function Xc(t,n,e,i){return Er(t,At(),e)?n+xt(e)+i:Bt}function Jc(t,n,e,i,o,s){const l=El(t,function Le(){return Tt.lFrame.bindingIndex}(),e,o);return Ut(2),l?n+xt(e)+i+xt(o)+s:Bt}function V(t,n,e,i,o,s,a,l){const d=Ve(),_=dn(),E=t+Qt,F=_.firstCreatePass?function $R(t,n,e,i,o,s,a,l,d){const _=n.consts,E=Kc(n,t,4,a||null,Ms(_,l));Gb(n,e,E,Ms(_,d)),Wf(n,E);const F=E.tView=$b(2,E,i,o,s,n.directiveRegistry,n.pipeRegistry,null,n.schemas,_,null);return null!==n.queries&&(n.queries.template(n,E),F.queries=n.queries.embeddedTView(E)),E}(E,_,d,n,e,i,o,s,a):_.data[E];Hr(F,!1);const G=qC(_,d,F,t);Uf()&&cp(_,d,G,F),Lr(G,d),xp(d,d[E]=CC(G,d,G,F)),Dc(F)&&Ub(_,d,F),null!=a&&Wb(d,F,l)}let qC=function KC(t,n,e,i){return Ia(!0),n[Et].createComment("")};function ci(t){return ys(function P(){return Tt.lFrame.contextLView}(),Qt+t)}function w(t,n,e){const i=Ve();return Er(i,At(),n)&&bo(dn(),fi(),i,t,n,i[Et],e,!1),w}function av(t,n,e,i,o){const a=o?"class":"style";Xb(t,e,n.inputs[a],a,i)}function D(t,n,e,i){const o=Ve(),s=dn(),a=Qt+t,l=o[Et],d=s.firstCreatePass?function ZR(t,n,e,i,o,s){const a=n.consts,d=Kc(n,t,2,i,Ms(a,o));return Gb(n,e,d,Ms(a,s)),null!==d.attrs&&kp(d,d.attrs,!1),null!==d.mergedAttrs&&kp(d,d.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,d),d}(a,s,o,n,e,i):s.data[a],_=ZC(s,o,d,l,n,t);o[a]=_;const E=Dc(d);return Hr(d,!0),kw(l,_,d),32!=(32&d.flags)&&Uf()&&cp(s,o,_,d),0===function I_(){return Tt.lFrame.elementDepthCount}()&&Lr(_,o),function P_(){Tt.lFrame.elementDepthCount++}(),E&&(Ub(s,o,d),zb(s,d,o)),null!==i&&Wb(o,d),D}function C(){let t=tr();tn()?m():(t=t.parent,Hr(t,!1));const n=t;(function A_(t){return Tt.skipHydrationRootTNode===t})(n)&&function Yo(){Tt.skipHydrationRootTNode=null}(),function O_(){Tt.lFrame.elementDepthCount--}();const e=dn();return e.firstCreatePass&&(Wf(e,t),Sc(t)&&e.queries.elementEnd(t)),null!=n.classesWithoutHost&&function tO(t){return 0!=(8&t.flags)}(n)&&av(e,n,Ve(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function nO(t){return 0!=(16&t.flags)}(n)&&av(e,n,Ve(),n.stylesWithoutHost,!1),C}function xe(t,n,e,i){return D(t,n,e,i),C(),xe}let ZC=(t,n,e,i,o,s)=>(Ia(!0),ap(i,o,function TM(){return Tt.lFrame.currentNamespace}()));function Ue(t,n,e){const i=Ve(),o=dn(),s=t+Qt,a=o.firstCreatePass?function QR(t,n,e,i,o){const s=n.consts,a=Ms(s,i),l=Kc(n,t,8,"ng-container",a);return null!==a&&kp(l,a,!0),Gb(n,e,l,Ms(s,o)),null!==n.queries&&n.queries.elementStart(n,l),l}(s,o,i,n,e):o.data[s];Hr(a,!0);const l=XC(o,i,a,t);return i[s]=l,Uf()&&cp(o,i,l,a),Lr(l,i),Dc(a)&&(Ub(o,i,a),zb(o,a,i)),null!=e&&Wb(i,a),Ue}function We(){let t=tr();const n=dn();return tn()?m():(t=t.parent,Hr(t,!1)),n.firstCreatePass&&(Wf(n,t),Sc(t)&&n.queries.elementEnd(t)),We}function Jo(t,n,e){return Ue(t,n,e),We(),Jo}let XC=(t,n,e,i)=>(Ia(!0),sb(n[Et],""));function et(){return Ve()}function Hu(t){return!!t&&"function"==typeof t.then}function JC(t){return!!t&&"function"==typeof t.subscribe}function ye(t,n,e,i){const o=Ve(),s=dn(),a=tr();return QC(s,o,o[Et],a,t,n,i),ye}function lv(t,n){const e=tr(),i=Ve(),o=dn();return QC(o,i,DC(Ac(o.data),e,i),e,t,n),lv}function QC(t,n,e,i,o,s,a){const l=Dc(i),_=t.firstCreatePass&&SC(t),E=n[li],F=kC(n);let G=!0;if(3&i.type||a){const Ce=yr(i,n),Ae=a?a(Ce):Ce,ze=F.length,Ee=a?dt=>a(Un(dt[i.index])):i.index;let qe=null;if(!a&&l&&(qe=function n3(t,n,e,i){const o=t.cleanup;if(null!=o)for(let s=0;sd?l[d]:null}"string"==typeof a&&(s+=2)}return null}(t,n,o,i.index)),null!==qe)(qe.__ngLastListenerFn__||qe).__ngNextListenerFn__=s,qe.__ngLastListenerFn__=s,G=!1;else{s=tx(i,n,E,s,!1);const dt=e.listen(Ae,o,s);F.push(s,dt),_&&_.push(o,Ee,ze,ze+1)}}else s=tx(i,n,E,s,!1);const ie=i.outputs;let _e;if(G&&null!==ie&&(_e=ie[o])){const Ce=_e.length;if(Ce)for(let Ae=0;Ae-1?Tr(t.index,n):n);let d=ex(n,e,i,a),_=s.__ngNextListenerFn__;for(;_;)d=ex(n,e,_,a)&&d,_=_.__ngNextListenerFn__;return o&&!1===d&&a.preventDefault(),d}}function z(t=1){return function qP(t){return(Tt.lFrame.contextLView=function KP(t,n){for(;t>0;)n=n[zs],t--;return n}(t,Tt.lFrame.contextLView))[li]}(t)}function r3(t,n){let e=null;const i=function Qg(t){const n=t.attrs;if(null!=n){const e=n.indexOf(5);if(!(1&e))return n[e+1]}return null}(t);for(let o=0;o>17&32767}function dv(t){return 2|t}function Il(t){return(131068&t)>>2}function uv(t,n){return-131069&t|n<<2}function hv(t){return 1|t}function dx(t,n,e,i,o){const s=t[e+1],a=null===n;let l=i?Fa(s):Il(s),d=!1;for(;0!==l&&(!1===d||a);){const E=t[l+1];d3(t[l],n)&&(d=!0,t[l+1]=i?hv(E):dv(E)),l=i?Fa(E):Il(E)}d&&(t[e+1]=i?dv(s):hv(s))}function d3(t,n){return null===t||null==n||(Array.isArray(t)?t[1]:t)===n||!(!Array.isArray(t)||"string"!=typeof n)&&Vc(t,n)>=0}const ir={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function ux(t){return t.substring(ir.key,ir.keyEnd)}function u3(t){return t.substring(ir.value,ir.valueEnd)}function hx(t,n){const e=ir.textEnd;return e===n?-1:(n=ir.keyEnd=function p3(t,n,e){for(;n32;)n++;return n}(t,ir.key=n,e),od(t,n,e))}function fx(t,n){const e=ir.textEnd;let i=ir.key=od(t,n,e);return e===i?-1:(i=ir.keyEnd=function m3(t,n,e){let i;for(;n=65&&(-33&i)<=90||i>=48&&i<=57);)n++;return n}(t,i,e),i=mx(t,i,e),i=ir.value=od(t,i,e),i=ir.valueEnd=function g3(t,n,e){let i=-1,o=-1,s=-1,a=n,l=a;for(;a32&&(l=a),s=o,o=i,i=-33&d}return l}(t,i,e),mx(t,i,e))}function px(t){ir.key=0,ir.keyEnd=0,ir.value=0,ir.valueEnd=0,ir.textEnd=t.length}function od(t,n,e){for(;n=0;e=fx(n,e))vx(t,ux(n),u3(n))}function eo(t){es(C3,Ls,t,!0)}function Ls(t,n){for(let e=function h3(t){return px(t),hx(t,od(t,0,ir.textEnd))}(n);e>=0;e=hx(n,e))go(t,ux(n),!0)}function Qo(t,n,e,i){const o=Ve(),s=dn(),a=Ut(2);s.firstUpdatePass&&bx(s,t,a,i),n!==Bt&&Er(o,a,n)&&yx(s,s.data[Vr()],o,o[Et],t,o[a+1]=function k3(t,n){return null==t||""===t||("string"==typeof n?t+=n:"object"==typeof t&&(t=Fi(_o(t)))),t}(n,e),i,a)}function es(t,n,e,i){const o=dn(),s=Ut(2);o.firstUpdatePass&&bx(o,null,s,i);const a=Ve();if(e!==Bt&&Er(a,s,e)){const l=o.data[Vr()];if(wx(l,i)&&!_x(o,s)){let d=i?l.classesWithoutHost:l.stylesWithoutHost;null!==d&&(e=ba(d,e||"")),av(o,l,a,e,i)}else!function x3(t,n,e,i,o,s,a,l){o===Bt&&(o=cn);let d=0,_=0,E=0=t.expandoStartIndex}function bx(t,n,e,i){const o=t.data;if(null===o[e+1]){const s=o[Vr()],a=_x(t,e);wx(s,i)&&null===n&&!a&&(n=!1),n=function b3(t,n,e,i){const o=Ac(t);let s=i?n.residualClasses:n.residualStyles;if(null===o)0===(i?n.classBindings:n.styleBindings)&&(e=Bu(e=fv(null,t,n,e,i),n.attrs,i),s=null);else{const a=n.directiveStylingLast;if(-1===a||t[a]!==o)if(e=fv(o,t,n,e,i),null===s){let d=function v3(t,n,e){const i=e?n.classBindings:n.styleBindings;if(0!==Il(i))return t[Fa(i)]}(t,n,i);void 0!==d&&Array.isArray(d)&&(d=fv(null,t,n,d[1],i),d=Bu(d,n.attrs,i),function y3(t,n,e,i){t[Fa(e?n.classBindings:n.styleBindings)]=i}(t,n,i,d))}else s=function M3(t,n,e){let i;const o=n.directiveEnd;for(let s=1+n.directiveStylingLast;s0)&&(_=!0)):E=e,o)if(0!==d){const G=Fa(t[l+1]);t[i+1]=Op(G,l),0!==G&&(t[G+1]=uv(t[G+1],i)),t[l+1]=function s3(t,n){return 131071&t|n<<17}(t[l+1],i)}else t[i+1]=Op(l,0),0!==l&&(t[l+1]=uv(t[l+1],i)),l=i;else t[i+1]=Op(d,0),0===l?l=i:t[d+1]=uv(t[d+1],i),d=i;_&&(t[i+1]=dv(t[i+1])),dx(t,E,i,!0),dx(t,E,i,!1),function c3(t,n,e,i,o){const s=o?t.residualClasses:t.residualStyles;null!=s&&"string"==typeof n&&Vc(s,n)>=0&&(e[i+1]=hv(e[i+1]))}(n,E,t,i,s),a=Op(l,d),s?n.classBindings=a:n.styleBindings=a}(o,s,n,e,a,i)}}function fv(t,n,e,i,o){let s=null;const a=e.directiveEnd;let l=e.directiveStylingLast;for(-1===l?l=e.directiveStart:l++;l0;){const d=t[o],_=Array.isArray(d),E=_?d[1]:d,F=null===E;let G=e[o+1];G===Bt&&(G=F?cn:void 0);let ie=F?G_(G,i):E===i?G:void 0;if(_&&!Ap(ie)&&(ie=G_(d,i)),Ap(ie)&&(l=ie,a))return l;const _e=t[o+1];o=a?Fa(_e):Il(_e)}if(null!==n){let d=s?n.residualClasses:n.residualStyles;null!=d&&(l=G_(d,i))}return l}function Ap(t){return void 0!==t}function wx(t,n){return 0!=(t.flags&(n?8:16))}function I(t,n=""){const e=Ve(),i=dn(),o=t+Qt,s=i.firstCreatePass?Kc(i,o,1,n,null):i.data[o],a=Cx(i,e,s,n,t);e[o]=a,Uf()&&cp(i,e,a,s),Hr(s,!1)}let Cx=(t,n,e,i,o)=>(Ia(!0),function sp(t,n){return t.createText(n)}(n[Et],i));function se(t){return ce("",t,""),se}function ce(t,n,e){const i=Ve(),o=Xc(i,t,n,e);return o!==Bt&&Xs(i,Vr(),o),ce}function vo(t,n,e,i,o){const s=Ve(),a=Jc(s,t,n,e,i,o);return a!==Bt&&Xs(s,Vr(),a),vo}function Js(t,n,e){const i=Ve();return Er(i,At(),n)&&bo(dn(),fi(),i,t,n,i[Et],e,!0),Js}function pv(t,n,e){const i=Ve();if(Er(i,At(),n)){const s=dn(),a=fi();bo(s,a,i,t,n,DC(Ac(s.data),a,i),e,!0)}return pv}const Ol=void 0;var $3=["en",[["a","p"],["AM","PM"],Ol],[["AM","PM"],Ol,Ol],[["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"]],Ol,[["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"]],Ol,[["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}",Ol,"{1} 'at' {0}",Ol],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function W3(t){const e=Math.floor(Math.abs(t)),i=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===i?1:5}];let sd={};function jr(t){const n=function G3(t){return t.toLowerCase().replace(/_/g,"-")}(t);let e=jx(n);if(e)return e;const i=n.split("-")[0];if(e=jx(i),e)return e;if("en"===i)return $3;throw new Fe(701,!1)}function jx(t){return t in sd||(sd[t]=wn.ng&&wn.ng.common&&wn.ng.common.locales&&wn.ng.common.locales[t]),sd[t]}var ct=(()=>((ct=ct||{})[ct.LocaleId=0]="LocaleId",ct[ct.DayPeriodsFormat=1]="DayPeriodsFormat",ct[ct.DayPeriodsStandalone=2]="DayPeriodsStandalone",ct[ct.DaysFormat=3]="DaysFormat",ct[ct.DaysStandalone=4]="DaysStandalone",ct[ct.MonthsFormat=5]="MonthsFormat",ct[ct.MonthsStandalone=6]="MonthsStandalone",ct[ct.Eras=7]="Eras",ct[ct.FirstDayOfWeek=8]="FirstDayOfWeek",ct[ct.WeekendRange=9]="WeekendRange",ct[ct.DateFormat=10]="DateFormat",ct[ct.TimeFormat=11]="TimeFormat",ct[ct.DateTimeFormat=12]="DateTimeFormat",ct[ct.NumberSymbols=13]="NumberSymbols",ct[ct.NumberFormats=14]="NumberFormats",ct[ct.CurrencyCode=15]="CurrencyCode",ct[ct.CurrencySymbol=16]="CurrencySymbol",ct[ct.CurrencyName=17]="CurrencyName",ct[ct.Currencies=18]="Currencies",ct[ct.Directionality=19]="Directionality",ct[ct.PluralCase=20]="PluralCase",ct[ct.ExtraData=21]="ExtraData",ct))();const ad="en-US";let zx=ad;function _v(t,n,e,i,o){if(t=Dt(t),Array.isArray(t))for(let s=0;s>20;if(Dl(t)||!t.multi){const ie=new du(d,o,Y),_e=vv(l,n,o?E:E+G,F);-1===_e?(U_(Xf(_,a),s,l),bv(s,t,n.length),n.push(l),_.directiveStart++,_.directiveEnd++,o&&(_.providerIndexes+=1048576),e.push(ie),a.push(ie)):(e[_e]=ie,a[_e]=ie)}else{const ie=vv(l,n,E+G,F),_e=vv(l,n,E,E+G),Ae=_e>=0&&e[_e];if(o&&!Ae||!o&&!(ie>=0&&e[ie])){U_(Xf(_,a),s,l);const ze=function UN(t,n,e,i,o){const s=new du(t,e,Y);return s.multi=[],s.index=n,s.componentProviders=0,pk(s,o,i&&!e),s}(o?zN:jN,e.length,o,i,d);!o&&Ae&&(e[_e].providerFactory=ze),bv(s,t,n.length,0),n.push(l),_.directiveStart++,_.directiveEnd++,o&&(_.providerIndexes+=1048576),e.push(ze),a.push(ze)}else bv(s,t,ie>-1?ie:_e,pk(e[o?_e:ie],d,!o&&i));!o&&i&&Ae&&e[_e].componentProviders++}}}function bv(t,n,e,i){const o=Dl(n),s=function UA(t){return!!t.useClass}(n);if(o||s){const d=(s?Dt(n.useClass):n).prototype.ngOnDestroy;if(d){const _=t.destroyHooks||(t.destroyHooks=[]);if(!o&&n.multi){const E=_.indexOf(e);-1===E?_.push(e,[i,d]):_[E+1].push(i,d)}else _.push(e,d)}}}function pk(t,n,e){return e&&t.componentProviders++,t.multi.push(n)-1}function vv(t,n,e,i){for(let o=e;o{e.providersResolver=(i,o)=>function VN(t,n,e){const i=dn();if(i.firstCreatePass){const o=fo(t);_v(e,i.data,i.blueprint,o,!0),_v(n,i.data,i.blueprint,o,!1)}}(i,o?o(t):t,n)}}class ld{}class mk{}class Mv extends ld{constructor(n,e,i){super(),this._parent=e,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new EC(this);const o=Nr(n);this._bootstrapComponents=Zs(o.bootstrap),this._r3Injector=pC(n,e,[{provide:ld,useValue:this},{provide:Tl,useValue:this.componentFactoryResolver},...i],Fi(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class wv extends mk{constructor(n){super(),this.moduleType=n}create(n){return new Mv(this.moduleType,n,[])}}class gk extends ld{constructor(n){super(),this.componentFactoryResolver=new EC(this),this.instance=null;const e=new kb([...n.providers,{provide:ld,useValue:this},{provide:Tl,useValue:this.componentFactoryResolver}],n.parent||gp(),n.debugName,new Set(["environment"]));this.injector=e,n.runEnvironmentInitializers&&e.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function Cv(t,n,e=null){return new gk({providers:t,parent:n,debugName:e,runEnvironmentInitializers:!0}).injector}let GN=(()=>{class t{constructor(e){this._injector=e,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e.id)){const i=Vw(0,e.type),o=i.length>0?Cv([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e.id,o)}return this.cachedInjectors.get(e.id)}ngOnDestroy(){try{for(const e of this.cachedInjectors.values())null!==e&&e.destroy()}finally{this.cachedInjectors.clear()}}}return t.\u0275prov=Ne({token:t,providedIn:"environment",factory:()=>new t(we(ks))}),t})();function _k(t){t.getStandaloneInjector=n=>n.get(GN).getOrCreateStandaloneInjector(t)}function qn(t,n,e){const i=ne()+t,o=Ve();return o[i]===Bt?Ts(o,i,e?n.call(e):n()):function Fu(t,n){return t[n]}(o,i)}function He(t,n,e,i){return xk(Ve(),ne(),t,n,e,i)}function mn(t,n,e,i,o){return kk(Ve(),ne(),t,n,e,i,o)}function $u(t,n){const e=t[n];return e===Bt?void 0:e}function xk(t,n,e,i,o,s){const a=n+e;return Er(t,a,o)?Ts(t,a+1,s?i.call(s,o):i(o)):$u(t,a+1)}function kk(t,n,e,i,o,s,a){const l=n+e;return El(t,l,o,s)?Ts(t,l+2,a?i.call(a,o,s):i(o,s)):$u(t,l+2)}function R(t,n){const e=dn();let i;const o=t+Qt;e.firstCreatePass?(i=function d4(t,n){if(n)for(let e=n.length-1;e>=0;e--){const i=n[e];if(t===i.name)return i}}(n,e.pipeRegistry),e.data[o]=i,i.onDestroy&&(e.destroyHooks??=[]).push(o,i.onDestroy)):i=e.data[o];const s=i.factory||(i.factory=$s(i.type)),a=Wi(Y);try{const l=Zf(!1),d=s();return Zf(l),function KR(t,n,e,i){e>=t.data.length&&(t.data[e]=null,t.blueprint[e]=null),n[e]=i}(e,Ve(),o,d),d}finally{Wi(a)}}function H(t,n,e){const i=t+Qt,o=Ve(),s=ys(o,i);return Gu(o,i)?xk(o,ne(),n,s.transform,e,s):s.transform(e)}function kt(t,n,e,i){const o=t+Qt,s=Ve(),a=ys(s,o);return Gu(s,o)?kk(s,ne(),n,a.transform,e,i,a):a.transform(e,i)}function Gu(t,n){return t[lt].data[n].pure}function kv(t){return n=>{setTimeout(t,void 0,n)}}const ht=class p4 extends J{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,e,i){let o=n,s=e||(()=>null),a=i;if(n&&"object"==typeof n){const d=n;o=d.next?.bind(d),s=d.error?.bind(d),a=d.complete?.bind(d)}this.__isAsync&&(s=kv(s),o&&(o=kv(o)),a&&(a=kv(a)));const l=super.subscribe({next:o,error:s,complete:a});return n instanceof T&&n.add(l),l}};function m4(){return this._results[Symbol.iterator]()}class Al{get changes(){return this._changes||(this._changes=new ht)}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=Al.prototype;e[Symbol.iterator]||(e[Symbol.iterator]=m4)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,e){return this._results.reduce(n,e)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,e){const i=this;i.dirty=!1;const o=function Bo(t){return t.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function fO(t,n,e){if(t.length!==n.length)return!1;for(let i=0;i{class t{}return t.__NG_ELEMENT_ID__=b4,t})();const g4=mr,_4=class extends g4{constructor(n,e,i){super(),this._declarationLView=n,this._declarationTContainer=e,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,e){return this.createEmbeddedViewImpl(n,e,null)}createEmbeddedViewImpl(n,e,i){const o=this._declarationTContainer.tView,s=Cp(this._declarationLView,o,n,16,null,o.declTNode,null,null,null,e||null,i||null);s[Us]=this._declarationLView[this._declarationTContainer.index];const l=this._declarationLView[Xr];return null!==l&&(s[Xr]=l.createEmbeddedView(o)),Jb(o,s,n),new Ou(s)}};function b4(){return Hp(tr(),Ve())}function Hp(t,n){return 4&t.type?new _4(n,t,Gc(t,n)):null}let rr=(()=>{class t{}return t.__NG_ELEMENT_ID__=k4,t})();function k4(){return Ak(tr(),Ve())}const S4=rr,Pk=class extends S4{constructor(n,e,i){super(),this._lContainer=n,this._hostTNode=e,this._hostLView=i}get element(){return Gc(this._hostTNode,this._hostLView)}get injector(){return new Rc(this._hostTNode,this._hostLView)}get parentInjector(){const n=z_(this._hostTNode,this._hostLView);if(PM(n)){const e=Kf(n,this._hostLView),i=qf(n);return new Rc(e[lt].data[i+8],e)}return new Rc(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const e=Ok(this._lContainer);return null!==e&&e[n]||null}get length(){return this._lContainer.length-ni}createEmbeddedView(n,e,i){let o,s;"number"==typeof i?o=i:null!=i&&(o=i.index,s=i.injector);const l=n.createEmbeddedViewImpl(e||{},s,null);return this.insertImpl(l,o,false),l}createComponent(n,e,i,o,s){const a=n&&!function hu(t){return"function"==typeof t}(n);let l;if(a)l=e;else{const Ce=e||{};l=Ce.index,i=Ce.injector,o=Ce.projectableNodes,s=Ce.environmentInjector||Ce.ngModuleRef}const d=a?n:new Au(gn(n)),_=i||this.parentInjector;if(!s&&null==d.ngModule){const Ae=(a?_:this.parentInjector).get(ks,null);Ae&&(s=Ae)}gn(d.componentType??{});const ie=d.create(_,o,null,s);return this.insertImpl(ie.hostView,l,false),ie}insert(n,e){return this.insertImpl(n,e,!1)}insertImpl(n,e,i){const o=n._lView,s=o[lt];if(function T_(t){return vr(t[Xn])}(o)){const d=this.indexOf(n);if(-1!==d)this.detach(d);else{const _=o[Xn],E=new Pk(_,_[pr],_[Xn]);E.detach(E.indexOf(n))}}const a=this._adjustIndex(e),l=this._lContainer;if(function nA(t,n,e,i){const o=ni+i,s=e.length;i>0&&(e[o-1][uo]=n),i0)i.push(a[l/2]);else{const _=s[l+1],E=n[-d];for(let F=ni;F{class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((e,i)=>{this.resolve=e,this.reject=i}),this.appInits=Qe(Yv,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const e=[];for(const o of this.appInits){const s=o();if(Hu(s))e.push(s);else if(JC(s)){const a=new Promise((l,d)=>{s.subscribe({complete:l,error:d})});e.push(a)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{i()}).catch(o=>{this.reject(o)}),0===e.length&&i(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),rS=(()=>{class t{log(e){console.log(e)}warn(e){console.warn(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"platform"}),t})();const Is=new Re("LocaleId",{providedIn:"root",factory:()=>Qe(Is,Mt.Optional|Mt.SkipSelf)||function n5(){return typeof $localize<"u"&&$localize.locale||ad}()});class o5{constructor(n,e){this.ngModuleFactory=n,this.componentFactories=e}}let oS=(()=>{class t{compileModuleSync(e){return new wv(e)}compileModuleAsync(e){return Promise.resolve(this.compileModuleSync(e))}compileModuleAndAllComponentsSync(e){const i=this.compileModuleSync(e),s=Zs(Nr(e).declarations).reduce((a,l)=>{const d=gn(l);return d&&a.push(new Au(d)),a},[]);return new o5(i,s)}compileModuleAndAllComponentsAsync(e){return Promise.resolve(this.compileModuleAndAllComponentsSync(e))}clearCache(){}clearCacheFor(e){}getModuleId(e){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const l5=(()=>Promise.resolve(0))();function Bv(t){typeof Zone>"u"?l5.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}function lS(...t){}class ft{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ht(!1),this.onMicrotaskEmpty=new ht(!1),this.onStable=new ht(!1),this.onError=new ht(!1),typeof Zone>"u")throw new Fe(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!i&&e,o.shouldCoalesceRunChangeDetection=i,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function c5(){let t=wn.requestAnimationFrame,n=wn.cancelAnimationFrame;if(typeof Zone<"u"&&t&&n){const e=t[Zone.__symbol__("OriginalDelegate")];e&&(t=e);const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:n}}().nativeRequestAnimationFrame,function h5(t){const n=()=>{!function u5(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(wn,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,jv(t),t.isCheckStableRunning=!0,Vv(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),jv(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,o,s,a,l)=>{try{return cS(t),e.invokeTask(o,s,a,l)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||t.shouldCoalesceRunChangeDetection)&&n(),dS(t)}},onInvoke:(e,i,o,s,a,l,d)=>{try{return cS(t),e.invoke(o,s,a,l,d)}finally{t.shouldCoalesceRunChangeDetection&&n(),dS(t)}},onHasTask:(e,i,o,s)=>{e.hasTask(o,s),i===o&&("microTask"==s.change?(t._hasPendingMicrotasks=s.microTask,jv(t),Vv(t)):"macroTask"==s.change&&(t.hasPendingMacrotasks=s.macroTask))},onHandleError:(e,i,o,s)=>(e.handleError(o,s),t.runOutsideAngular(()=>t.onError.emit(s)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ft.isInAngularZone())throw new Fe(909,!1)}static assertNotInAngularZone(){if(ft.isInAngularZone())throw new Fe(909,!1)}run(n,e,i){return this._inner.run(n,e,i)}runTask(n,e,i,o){const s=this._inner,a=s.scheduleEventTask("NgZoneEvent: "+o,n,d5,lS,lS);try{return s.runTask(a,e,i)}finally{s.cancelTask(a)}}runGuarded(n,e,i){return this._inner.runGuarded(n,e,i)}runOutsideAngular(n){return this._outer.run(n)}}const d5={};function Vv(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function jv(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function cS(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function dS(t){t._nesting--,Vv(t)}class f5{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ht,this.onMicrotaskEmpty=new ht,this.onStable=new ht,this.onError=new ht}run(n,e,i){return n.apply(e,i)}runGuarded(n,e,i){return n.apply(e,i)}runOutsideAngular(n){return n()}runTask(n,e,i,o){return n.apply(e,i)}}const uS=new Re("",{providedIn:"root",factory:hS});function hS(){const t=Qe(ft);let n=!0;return bt(new he(o=>{n=t.isStable&&!t.hasPendingMacrotasks&&!t.hasPendingMicrotasks,t.runOutsideAngular(()=>{o.next(n),o.complete()})}),new he(o=>{let s;t.runOutsideAngular(()=>{s=t.onStable.subscribe(()=>{ft.assertNotInAngularZone(),Bv(()=>{!n&&!t.hasPendingMacrotasks&&!t.hasPendingMicrotasks&&(n=!0,o.next(!0))})})});const a=t.onUnstable.subscribe(()=>{ft.assertInAngularZone(),n&&(n=!1,t.runOutsideAngular(()=>{o.next(!1)}))});return()=>{s.unsubscribe(),a.unsubscribe()}}).pipe(dl()))}const fS=new Re(""),Vp=new Re("");let Wv,zv=(()=>{class t{constructor(e,i,o){this._ngZone=e,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Wv||(function p5(t){Wv=t}(o),o.addToWindow(i)),this._watchAngularEvents(),e.run(()=>{this.taskTrackingZone=typeof Zone>"u"?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:()=>{ft.assertNotInAngularZone(),Bv(()=>{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())Bv(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb(this._didWork)}this._didWork=!1});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,o){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==s),e(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:e,timeoutId:s,updateCb:o})}whenStable(e,i,o){if(o&&!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(e,i,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(e){this.registry.registerApplication(e,this)}unregisterApplication(e){this.registry.unregisterApplication(e)}findProviders(e,i,o){return[]}}return t.\u0275fac=function(e){return new(e||t)(we(ft),we(Uv),we(Vp))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})(),Uv=(()=>{class t{constructor(){this._applications=new Map}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return Wv?.findTestabilityInTree(this,e,i)??null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"platform"}),t})(),Ra=null;const pS=new Re("AllowMultipleToken"),$v=new Re("PlatformDestroyListeners"),Gv=new Re("appBootstrapListener");class gS{constructor(n,e){this.name=n,this.token=e}}function bS(t,n,e=[]){const i=`Platform: ${n}`,o=new Re(i);return(s=[])=>{let a=qv();if(!a||a.injector.get(pS,!1)){const l=[...e,...s,{provide:o,useValue:!0}];t?t(l):function _5(t){if(Ra&&!Ra.get(pS,!1))throw new Fe(400,!1);(function mS(){!function v_(t){Pf=t}(()=>{throw new Fe(600,!1)})})(),Ra=t;const n=t.get(yS);(function _S(t){t.get($w,null)?.forEach(e=>e())})(t)}(function vS(t=[],n){return Si.create({name:n,providers:[{provide:Cb,useValue:"platform"},{provide:$v,useValue:new Set([()=>Ra=null])},...t]})}(l,i))}return function v5(t){const n=qv();if(!n)throw new Fe(401,!1);return n}()}}function qv(){return Ra?.get(yS)??null}let yS=(()=>{class t{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const o=function y5(t="zone.js",n){return"noop"===t?new f5:"zone.js"===t?new ft(n):t}(i?.ngZone,function MS(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return o.run(()=>{const s=function $N(t,n,e){return new Mv(t,n,e)}(e.moduleType,this.injector,function SS(t){return[{provide:ft,useFactory:t},{provide:xu,multi:!0,useFactory:()=>{const n=Qe(w5,{optional:!0});return()=>n.initialize()}},{provide:kS,useFactory:M5},{provide:uS,useFactory:hS}]}(()=>o)),a=s.injector.get(Ss,null);return o.runOutsideAngular(()=>{const l=o.onError.subscribe({next:d=>{a.handleError(d)}});s.onDestroy(()=>{jp(this._modules,s),l.unsubscribe()})}),function wS(t,n,e){try{const i=e();return Hu(i)?i.catch(o=>{throw n.runOutsideAngular(()=>t.handleError(o)),o}):i}catch(i){throw n.runOutsideAngular(()=>t.handleError(i)),i}}(a,o,()=>{const l=s.injector.get(Hv);return l.runInitializers(),l.donePromise.then(()=>(function Ux(t){Zr(t,"Expected localeId to be defined"),"string"==typeof t&&(zx=t.toLowerCase().replace(/_/g,"-"))}(s.injector.get(Is,ad)||ad),this._moduleDoBootstrap(s),s))})})}bootstrapModule(e,i=[]){const o=CS({},i);return function m5(t,n,e){const i=new wv(e);return Promise.resolve(i)}(0,0,e).then(s=>this.bootstrapModuleFactory(s,o))}_moduleDoBootstrap(e){const i=e.injector.get(Na);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(o=>i.bootstrap(o));else{if(!e.instance.ngDoBootstrap)throw new Fe(-403,!1);e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Fe(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const e=this._injector.get($v,null);e&&(e.forEach(i=>i()),e.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(we(Si))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"platform"}),t})();function CS(t,n){return Array.isArray(n)?n.reduce(CS,t):{...t,...n}}let Na=(()=>{class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=Qe(kS),this.componentTypes=[],this.components=[],this.isStable=Qe(uS),this._injector=Qe(ks)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(e,i){const o=e instanceof Jw;if(!this._injector.get(Hv).done)throw!o&&function Sa(t){const n=gn(t)||hr(t)||fr(t);return null!==n&&n.standalone}(e),new Fe(405,!1);let a;a=o?e:this._injector.get(Tl).resolveComponentFactory(e),this.componentTypes.push(a.componentType);const l=function g5(t){return t.isBoundToModule}(a)?void 0:this._injector.get(ld),_=a.create(Si.NULL,[],i||a.selector,l),E=_.location.nativeElement,F=_.injector.get(fS,null);return F?.registerApplication(E),_.onDestroy(()=>{this.detachView(_.hostView),jp(this.components,_),F?.unregisterApplication(E)}),this._loadComponent(_),_}tick(){if(this._runningTick)throw new Fe(101,!1);try{this._runningTick=!0;for(let e of this._views)e.detectChanges()}catch(e){this.internalErrorHandler(e)}finally{this._runningTick=!1}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;jp(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e);const i=this._injector.get(Gv,[]);i.push(...this._bootstrapListeners),i.forEach(o=>o(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>jp(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new Fe(406,!1);const e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function jp(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}const kS=new Re("",{providedIn:"root",factory:()=>Qe(Ss).handleError.bind(void 0)});function M5(){const t=Qe(ft),n=Qe(Ss);return e=>t.runOutsideAngular(()=>n.handleError(e))}let w5=(()=>{class t{constructor(){this.zone=Qe(ft),this.applicationRef=Qe(Na)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();let pi=(()=>{class t{}return t.__NG_ELEMENT_ID__=x5,t})();function x5(t){return function k5(t,n,e){if(Ws(t)&&!e){const i=Tr(t.index,n);return new Ou(i,i)}return 47&t.type?new Ou(n[xi],n):null}(tr(),Ve(),16==(16&t))}class ES{constructor(){}supports(n){return Tp(n)}create(n){return new I5(n)}}const E5=(t,n)=>n;class I5{constructor(n){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=n||E5}forEachItem(n){let e;for(e=this._itHead;null!==e;e=e._next)n(e)}forEachOperation(n){let e=this._itHead,i=this._removalsHead,o=0,s=null;for(;e||i;){const a=!i||e&&e.currentIndex{a=this._trackByFn(o,l),null!==e&&Object.is(e.trackById,a)?(i&&(e=this._verifyReinsertion(e,l,a,o)),Object.is(e.item,l)||this._addIdentityChange(e,l)):(e=this._mismatch(e,l,a,o),i=!0),e=e._next,o++}),this.length=o;return this._truncate(e),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,e,i,o){let s;return null===n?s=this._itTail:(s=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._reinsertAfter(n,s,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,o))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._moveAfter(n,s,o)):n=this._addAfter(new P5(e,i),s,o),n}_verifyReinsertion(n,e,i,o){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?n=this._reinsertAfter(s,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const e=n._next;this._addToRemovals(this._unlink(n)),n=e}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(n,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,s=n._nextRemoved;return null===o?this._removalsHead=s:o._nextRemoved=s,null===s?this._removalsTail=o:s._prevRemoved=o,this._insertAfter(n,e,i),this._addToMoves(n,i),n}_moveAfter(n,e,i){return this._unlink(n),this._insertAfter(n,e,i),this._addToMoves(n,i),n}_addAfter(n,e,i){return this._insertAfter(n,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,e,i){const o=null===e?this._itHead:e._next;return n._next=o,n._prev=e,null===o?this._itTail=n:o._prev=n,null===e?this._itHead=n:e._next=n,null===this._linkedRecords&&(this._linkedRecords=new IS),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const e=n._prev,i=n._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,n}_addToMoves(n,e){return n.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new IS),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,e){return n.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class P5{constructor(n,e){this.item=n,this.trackById=e,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 O5{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const e=n._prevDup,i=n._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class IS{constructor(){this.map=new Map}put(n){const e=n.trackById;let i=this.map.get(e);i||(i=new O5,this.map.set(e,i)),i.add(n)}get(n,e){const o=this.map.get(n);return o?o.get(n,e):null}remove(n){const e=n.trackById;return this.map.get(e).remove(n)&&this.map.delete(e),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function PS(t,n,e){const i=t.previousIndex;if(null===i)return i;let o=0;return e&&i{if(e&&e.key===o)this._maybeAddToChanges(e,i),this._appendAfter=e,e=e._next;else{const s=this._getOrCreateRecordForKey(o,i);e=this._insertBeforeOrAppend(e,s)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let i=e;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,e){if(n){const i=n._prev;return e._next=n,e._prev=i,n._prev=e,i&&(i._next=e),n===this._mapHead&&(this._mapHead=e),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(n,e){if(this._records.has(n)){const o=this._records.get(n);this._maybeAddToChanges(o,e);const s=o._prev,a=o._next;return s&&(s._next=a),a&&(a._prev=s),o._next=null,o._prev=null,o}const i=new F5(n);return this._records.set(n,i),i.currentValue=e,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,e){Object.is(e,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=e,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,e){n instanceof Map?n.forEach(e):Object.keys(n).forEach(i=>e(n[i],i))}}class F5{constructor(n){this.key=n,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 AS(){return new Ku([new ES])}let Ku=(()=>{class t{constructor(e){this.factories=e}static create(e,i){if(null!=i){const o=i.factories.slice();e=e.concat(o)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||AS()),deps:[[t,new mu,new xl]]}}find(e){const i=this.factories.find(o=>o.supports(e));if(null!=i)return i;throw new Fe(901,!1)}}return t.\u0275prov=Ne({token:t,providedIn:"root",factory:AS}),t})();function FS(){return new Zu([new OS])}let Zu=(()=>{class t{constructor(e){this.factories=e}static create(e,i){if(i){const o=i.factories.slice();e=e.concat(o)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||FS()),deps:[[t,new mu,new xl]]}}find(e){const i=this.factories.find(o=>o.supports(e));if(i)return i;throw new Fe(901,!1)}}return t.\u0275prov=Ne({token:t,providedIn:"root",factory:FS}),t})();const Y5=bS(null,"core",[]);let H5=(()=>{class t{constructor(e){}}return t.\u0275fac=function(e){return new(e||t)(we(Na))},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})(),VS=(()=>{class t{get whenAllTasksComplete(){return 0===this.collection.size&&this.complete(),this.promise}constructor(){this.taskId=0,this.collection=new Set,this.ngZone=Qe(ft),this.completed=!1,this.ngZone.runOutsideAngular(()=>{this.promise=new Promise(e=>{this.resolve=e})})}add(){if(this.completed)return-1;const e=this.taskId++;return this.collection.add(e),e}remove(e){this.completed||(this.collection.delete(e),0===this.collection.size&&this.complete())}ngOnDestroy(){this.complete(),this.collection.clear()}complete(){this.completed=!0,this.resolve()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function ud(t){return"boolean"==typeof t?t:null!=t&&"false"!==t}let ty=null;function Ya(){return ty}class X5{}const It=new Re("DocumentToken");let ny=(()=>{class t{historyGo(e){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(){return Qe(Q5)},providedIn:"platform"}),t})();const J5=new Re("Location Initialized");let Q5=(()=>{class t extends ny{constructor(){super(),this._doc=Qe(It),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Ya().getBaseHref(this._doc)}onPopState(e){const i=Ya().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",e,!1),()=>i.removeEventListener("popstate",e)}onHashChange(e){const i=Ya().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",e,!1),()=>i.removeEventListener("hashchange",e)}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(e){this._location.pathname=e}pushState(e,i,o){this._history.pushState(e,i,o)}replaceState(e,i,o){this._history.replaceState(e,i,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(){return new t},providedIn:"platform"}),t})();function iy(t,n){if(0==t.length)return n;if(0==n.length)return t;let e=0;return t.endsWith("/")&&e++,n.startsWith("/")&&e++,2==e?t+n.substring(1):1==e?t+n:t+"/"+n}function zS(t){const n=t.match(/#|\?|$/),e=n&&n.index||t.length;return t.slice(0,e-("/"===t[e-1]?1:0))+t.slice(e)}function Qs(t){return t&&"?"!==t[0]?"?"+t:t}let Rl=(()=>{class t{historyGo(e){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(){return Qe(WS)},providedIn:"root"}),t})();const US=new Re("appBaseHref");let WS=(()=>{class t extends Rl{constructor(e,i){super(),this._platformLocation=e,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??Qe(It).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return iy(this._baseHref,e)}path(e=!1){const i=this._platformLocation.pathname+Qs(this._platformLocation.search),o=this._platformLocation.hash;return o&&e?`${i}${o}`:i}pushState(e,i,o,s){const a=this.prepareExternalUrl(o+Qs(s));this._platformLocation.pushState(e,i,a)}replaceState(e,i,o,s){const a=this.prepareExternalUrl(o+Qs(s));this._platformLocation.replaceState(e,i,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}}return t.\u0275fac=function(e){return new(e||t)(we(ny),we(US,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),eY=(()=>{class t extends Rl{constructor(e,i){super(),this._platformLocation=e,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}path(e=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(e){const i=iy(this._baseHref,e);return i.length>0?"#"+i:i}pushState(e,i,o,s){let a=this.prepareExternalUrl(o+Qs(s));0==a.length&&(a=this._platformLocation.pathname),this._platformLocation.pushState(e,i,a)}replaceState(e,i,o,s){let a=this.prepareExternalUrl(o+Qs(s));0==a.length&&(a=this._platformLocation.pathname),this._platformLocation.replaceState(e,i,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}}return t.\u0275fac=function(e){return new(e||t)(we(ny),we(US,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})(),Xu=(()=>{class t{constructor(e){this._subject=new ht,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=e;const i=this._locationStrategy.getBaseHref();this._basePath=function iY(t){if(new RegExp("^(https?:)?//").test(t)){const[,e]=t.split(/\/\/[^\/]+/);return e}return t}(zS($S(i))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(e=!1){return this.normalize(this._locationStrategy.path(e))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(e,i=""){return this.path()==this.normalize(e+Qs(i))}normalize(e){return t.stripTrailingSlash(function nY(t,n){if(!t||!n.startsWith(t))return n;const e=n.substring(t.length);return""===e||["/",";","?","#"].includes(e[0])?e:n}(this._basePath,$S(e)))}prepareExternalUrl(e){return e&&"/"!==e[0]&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,i="",o=null){this._locationStrategy.pushState(o,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Qs(i)),o)}replaceState(e,i="",o=null){this._locationStrategy.replaceState(o,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Qs(i)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(e=0){this._locationStrategy.historyGo?.(e)}onUrlChange(e){return this._urlChangeListeners.push(e),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)})),()=>{const i=this._urlChangeListeners.indexOf(e);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(e="",i){this._urlChangeListeners.forEach(o=>o(e,i))}subscribe(e,i,o){return this._subject.subscribe({next:e,error:i,complete:o})}}return t.normalizeQueryParams=Qs,t.joinWithSlash=iy,t.stripTrailingSlash=zS,t.\u0275fac=function(e){return new(e||t)(we(Rl))},t.\u0275prov=Ne({token:t,factory:function(){return function tY(){return new Xu(we(Rl))}()},providedIn:"root"}),t})();function $S(t){return t.replace(/\/index.html$/,"")}var Ni=(()=>((Ni=Ni||{})[Ni.Format=0]="Format",Ni[Ni.Standalone=1]="Standalone",Ni))(),rn=(()=>((rn=rn||{})[rn.Narrow=0]="Narrow",rn[rn.Abbreviated=1]="Abbreviated",rn[rn.Wide=2]="Wide",rn[rn.Short=3]="Short",rn))(),mi=(()=>((mi=mi||{})[mi.Short=0]="Short",mi[mi.Medium=1]="Medium",mi[mi.Long=2]="Long",mi[mi.Full=3]="Full",mi))(),St=(()=>((St=St||{})[St.Decimal=0]="Decimal",St[St.Group=1]="Group",St[St.List=2]="List",St[St.PercentSign=3]="PercentSign",St[St.PlusSign=4]="PlusSign",St[St.MinusSign=5]="MinusSign",St[St.Exponential=6]="Exponential",St[St.SuperscriptingExponent=7]="SuperscriptingExponent",St[St.PerMille=8]="PerMille",St[St.Infinity=9]="Infinity",St[St.NaN=10]="NaN",St[St.TimeSeparator=11]="TimeSeparator",St[St.CurrencyDecimal=12]="CurrencyDecimal",St[St.CurrencyGroup=13]="CurrencyGroup",St))();function $p(t,n){return Uo(jr(t)[ct.DateFormat],n)}function Gp(t,n){return Uo(jr(t)[ct.TimeFormat],n)}function qp(t,n){return Uo(jr(t)[ct.DateTimeFormat],n)}function zo(t,n){const e=jr(t),i=e[ct.NumberSymbols][n];if(typeof i>"u"){if(n===St.CurrencyDecimal)return e[ct.NumberSymbols][St.Decimal];if(n===St.CurrencyGroup)return e[ct.NumberSymbols][St.Group]}return i}function qS(t){if(!t[ct.ExtraData])throw new Error(`Missing extra locale data for the locale "${t[ct.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function Uo(t,n){for(let e=n;e>-1;e--)if(typeof t[e]<"u")return t[e];throw new Error("Locale data API: locale data undefined")}function oy(t){const[n,e]=t.split(":");return{hours:+n,minutes:+e}}const gY=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Ju={},_Y=/((?:[^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 sr=(()=>((sr=sr||{})[sr.Short=0]="Short",sr[sr.ShortGMT=1]="ShortGMT",sr[sr.Long=2]="Long",sr[sr.Extended=3]="Extended",sr))(),Pt=(()=>((Pt=Pt||{})[Pt.FullYear=0]="FullYear",Pt[Pt.Month=1]="Month",Pt[Pt.Date=2]="Date",Pt[Pt.Hours=3]="Hours",Pt[Pt.Minutes=4]="Minutes",Pt[Pt.Seconds=5]="Seconds",Pt[Pt.FractionalSeconds=6]="FractionalSeconds",Pt[Pt.Day=7]="Day",Pt))(),Kt=(()=>((Kt=Kt||{})[Kt.DayPeriods=0]="DayPeriods",Kt[Kt.Days=1]="Days",Kt[Kt.Months=2]="Months",Kt[Kt.Eras=3]="Eras",Kt))();function KS(t,n,e,i){let o=function SY(t){if(JS(t))return t;if("number"==typeof t&&!isNaN(t))return new Date(t);if("string"==typeof t){if(t=t.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(t)){const[o,s=1,a=1]=t.split("-").map(l=>+l);return Kp(o,s-1,a)}const e=parseFloat(t);if(!isNaN(t-e))return new Date(e);let i;if(i=t.match(gY))return function DY(t){const n=new Date(0);let e=0,i=0;const o=t[8]?n.setUTCFullYear:n.setFullYear,s=t[8]?n.setUTCHours:n.setHours;t[9]&&(e=Number(t[9]+t[10]),i=Number(t[9]+t[11])),o.call(n,Number(t[1]),Number(t[2])-1,Number(t[3]));const a=Number(t[4]||0)-e,l=Number(t[5]||0)-i,d=Number(t[6]||0),_=Math.floor(1e3*parseFloat("0."+(t[7]||0)));return s.call(n,a,l,d,_),n}(i)}const n=new Date(t);if(!JS(n))throw new Error(`Unable to convert "${t}" into a date`);return n}(t);n=ea(e,n)||n;let l,a=[];for(;n;){if(l=_Y.exec(n),!l){a.push(n);break}{a=a.concat(l.slice(1));const E=a.pop();if(!E)break;n=E}}let d=o.getTimezoneOffset();i&&(d=XS(i,d),o=function kY(t,n,e){const i=e?-1:1,o=t.getTimezoneOffset();return function xY(t,n){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+n),t}(t,i*(XS(n,o)-o))}(o,i,!0));let _="";return a.forEach(E=>{const F=function CY(t){if(ay[t])return ay[t];let n;switch(t){case"G":case"GG":case"GGG":n=Jn(Kt.Eras,rn.Abbreviated);break;case"GGGG":n=Jn(Kt.Eras,rn.Wide);break;case"GGGGG":n=Jn(Kt.Eras,rn.Narrow);break;case"y":n=Ki(Pt.FullYear,1,0,!1,!0);break;case"yy":n=Ki(Pt.FullYear,2,0,!0,!0);break;case"yyy":n=Ki(Pt.FullYear,3,0,!1,!0);break;case"yyyy":n=Ki(Pt.FullYear,4,0,!1,!0);break;case"Y":n=Qp(1);break;case"YY":n=Qp(2,!0);break;case"YYY":n=Qp(3);break;case"YYYY":n=Qp(4);break;case"M":case"L":n=Ki(Pt.Month,1,1);break;case"MM":case"LL":n=Ki(Pt.Month,2,1);break;case"MMM":n=Jn(Kt.Months,rn.Abbreviated);break;case"MMMM":n=Jn(Kt.Months,rn.Wide);break;case"MMMMM":n=Jn(Kt.Months,rn.Narrow);break;case"LLL":n=Jn(Kt.Months,rn.Abbreviated,Ni.Standalone);break;case"LLLL":n=Jn(Kt.Months,rn.Wide,Ni.Standalone);break;case"LLLLL":n=Jn(Kt.Months,rn.Narrow,Ni.Standalone);break;case"w":n=sy(1);break;case"ww":n=sy(2);break;case"W":n=sy(1,!0);break;case"d":n=Ki(Pt.Date,1);break;case"dd":n=Ki(Pt.Date,2);break;case"c":case"cc":n=Ki(Pt.Day,1);break;case"ccc":n=Jn(Kt.Days,rn.Abbreviated,Ni.Standalone);break;case"cccc":n=Jn(Kt.Days,rn.Wide,Ni.Standalone);break;case"ccccc":n=Jn(Kt.Days,rn.Narrow,Ni.Standalone);break;case"cccccc":n=Jn(Kt.Days,rn.Short,Ni.Standalone);break;case"E":case"EE":case"EEE":n=Jn(Kt.Days,rn.Abbreviated);break;case"EEEE":n=Jn(Kt.Days,rn.Wide);break;case"EEEEE":n=Jn(Kt.Days,rn.Narrow);break;case"EEEEEE":n=Jn(Kt.Days,rn.Short);break;case"a":case"aa":case"aaa":n=Jn(Kt.DayPeriods,rn.Abbreviated);break;case"aaaa":n=Jn(Kt.DayPeriods,rn.Wide);break;case"aaaaa":n=Jn(Kt.DayPeriods,rn.Narrow);break;case"b":case"bb":case"bbb":n=Jn(Kt.DayPeriods,rn.Abbreviated,Ni.Standalone,!0);break;case"bbbb":n=Jn(Kt.DayPeriods,rn.Wide,Ni.Standalone,!0);break;case"bbbbb":n=Jn(Kt.DayPeriods,rn.Narrow,Ni.Standalone,!0);break;case"B":case"BB":case"BBB":n=Jn(Kt.DayPeriods,rn.Abbreviated,Ni.Format,!0);break;case"BBBB":n=Jn(Kt.DayPeriods,rn.Wide,Ni.Format,!0);break;case"BBBBB":n=Jn(Kt.DayPeriods,rn.Narrow,Ni.Format,!0);break;case"h":n=Ki(Pt.Hours,1,-12);break;case"hh":n=Ki(Pt.Hours,2,-12);break;case"H":n=Ki(Pt.Hours,1);break;case"HH":n=Ki(Pt.Hours,2);break;case"m":n=Ki(Pt.Minutes,1);break;case"mm":n=Ki(Pt.Minutes,2);break;case"s":n=Ki(Pt.Seconds,1);break;case"ss":n=Ki(Pt.Seconds,2);break;case"S":n=Ki(Pt.FractionalSeconds,1);break;case"SS":n=Ki(Pt.FractionalSeconds,2);break;case"SSS":n=Ki(Pt.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":n=Xp(sr.Short);break;case"ZZZZZ":n=Xp(sr.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":n=Xp(sr.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":n=Xp(sr.Long);break;default:return null}return ay[t]=n,n}(E);_+=F?F(o,e,d):"''"===E?"'":E.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),_}function Kp(t,n,e){const i=new Date(0);return i.setFullYear(t,n,e),i.setHours(0,0,0),i}function ea(t,n){const e=function rY(t){return jr(t)[ct.LocaleId]}(t);if(Ju[e]=Ju[e]||{},Ju[e][n])return Ju[e][n];let i="";switch(n){case"shortDate":i=$p(t,mi.Short);break;case"mediumDate":i=$p(t,mi.Medium);break;case"longDate":i=$p(t,mi.Long);break;case"fullDate":i=$p(t,mi.Full);break;case"shortTime":i=Gp(t,mi.Short);break;case"mediumTime":i=Gp(t,mi.Medium);break;case"longTime":i=Gp(t,mi.Long);break;case"fullTime":i=Gp(t,mi.Full);break;case"short":const o=ea(t,"shortTime"),s=ea(t,"shortDate");i=Zp(qp(t,mi.Short),[o,s]);break;case"medium":const a=ea(t,"mediumTime"),l=ea(t,"mediumDate");i=Zp(qp(t,mi.Medium),[a,l]);break;case"long":const d=ea(t,"longTime"),_=ea(t,"longDate");i=Zp(qp(t,mi.Long),[d,_]);break;case"full":const E=ea(t,"fullTime"),F=ea(t,"fullDate");i=Zp(qp(t,mi.Full),[E,F])}return i&&(Ju[e][n]=i),i}function Zp(t,n){return n&&(t=t.replace(/\{([^}]+)}/g,function(e,i){return null!=n&&i in n?n[i]:e})),t}function ns(t,n,e="-",i,o){let s="";(t<0||o&&t<=0)&&(o?t=1-t:(t=-t,s=e));let a=String(t);for(;a.length0||l>-e)&&(l+=e),t===Pt.Hours)0===l&&-12===e&&(l=12);else if(t===Pt.FractionalSeconds)return function bY(t,n){return ns(t,3).substring(0,n)}(l,n);const d=zo(a,St.MinusSign);return ns(l,n,d,i,o)}}function Jn(t,n,e=Ni.Format,i=!1){return function(o,s){return function yY(t,n,e,i,o,s){switch(e){case Kt.Months:return function aY(t,n,e){const i=jr(t),s=Uo([i[ct.MonthsFormat],i[ct.MonthsStandalone]],n);return Uo(s,e)}(n,o,i)[t.getMonth()];case Kt.Days:return function sY(t,n,e){const i=jr(t),s=Uo([i[ct.DaysFormat],i[ct.DaysStandalone]],n);return Uo(s,e)}(n,o,i)[t.getDay()];case Kt.DayPeriods:const a=t.getHours(),l=t.getMinutes();if(s){const _=function uY(t){const n=jr(t);return qS(n),(n[ct.ExtraData][2]||[]).map(i=>"string"==typeof i?oy(i):[oy(i[0]),oy(i[1])])}(n),E=function hY(t,n,e){const i=jr(t);qS(i);const s=Uo([i[ct.ExtraData][0],i[ct.ExtraData][1]],n)||[];return Uo(s,e)||[]}(n,o,i),F=_.findIndex(G=>{if(Array.isArray(G)){const[ie,_e]=G,Ce=a>=ie.hours&&l>=ie.minutes,Ae=a<_e.hours||a===_e.hours&&l<_e.minutes;if(ie.hours<_e.hours){if(Ce&&Ae)return!0}else if(Ce||Ae)return!0}else if(G.hours===a&&G.minutes===l)return!0;return!1});if(-1!==F)return E[F]}return function oY(t,n,e){const i=jr(t),s=Uo([i[ct.DayPeriodsFormat],i[ct.DayPeriodsStandalone]],n);return Uo(s,e)}(n,o,i)[a<12?0:1];case Kt.Eras:return function lY(t,n){return Uo(jr(t)[ct.Eras],n)}(n,i)[t.getFullYear()<=0?0:1];default:throw new Error(`unexpected translation type ${e}`)}}(o,s,t,n,e,i)}}function Xp(t){return function(n,e,i){const o=-1*i,s=zo(e,St.MinusSign),a=o>0?Math.floor(o/60):Math.ceil(o/60);switch(t){case sr.Short:return(o>=0?"+":"")+ns(a,2,s)+ns(Math.abs(o%60),2,s);case sr.ShortGMT:return"GMT"+(o>=0?"+":"")+ns(a,1,s);case sr.Long:return"GMT"+(o>=0?"+":"")+ns(a,2,s)+":"+ns(Math.abs(o%60),2,s);case sr.Extended:return 0===i?"Z":(o>=0?"+":"")+ns(a,2,s)+":"+ns(Math.abs(o%60),2,s);default:throw new Error(`Unknown zone width "${t}"`)}}}const MY=0,Jp=4;function ZS(t){return Kp(t.getFullYear(),t.getMonth(),t.getDate()+(Jp-t.getDay()))}function sy(t,n=!1){return function(e,i){let o;if(n){const s=new Date(e.getFullYear(),e.getMonth(),1).getDay()-1,a=e.getDate();o=1+Math.floor((a+s)/7)}else{const s=ZS(e),a=function wY(t){const n=Kp(t,MY,1).getDay();return Kp(t,0,1+(n<=Jp?Jp:Jp+7)-n)}(s.getFullYear()),l=s.getTime()-a.getTime();o=1+Math.round(l/6048e5)}return ns(o,t,zo(i,St.MinusSign))}}function Qp(t,n=!1){return function(e,i){return ns(ZS(e).getFullYear(),t,zo(i,St.MinusSign),n)}}const ay={};function XS(t,n){t=t.replace(/:/g,"");const e=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(e)?n:e}function JS(t){return t instanceof Date&&!isNaN(t.valueOf())}function nD(t,n){n=encodeURIComponent(n);for(const e of t.split(";")){const i=e.indexOf("="),[o,s]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(o.trim()===n)return decodeURIComponent(s)}return null}const fy=/\s+/,iD=[];let Nn=(()=>{class t{constructor(e,i,o,s){this._iterableDiffers=e,this._keyValueDiffers=i,this._ngEl=o,this._renderer=s,this.initialClasses=iD,this.stateMap=new Map}set klass(e){this.initialClasses=null!=e?e.trim().split(fy):iD}set ngClass(e){this.rawClass="string"==typeof e?e.trim().split(fy):e}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(const i of e)this._updateState(i,!0);else if(null!=e)for(const i of Object.keys(e))this._updateState(i,!!e[i]);this._applyStateDiff()}_updateState(e,i){const o=this.stateMap.get(e);void 0!==o?(o.enabled!==i&&(o.changed=!0,o.enabled=i),o.touched=!0):this.stateMap.set(e,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const e of this.stateMap){const i=e[0],o=e[1];o.changed?(this._toggleClass(i,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),o.touched=!1}}_toggleClass(e,i){(e=e.trim()).length>0&&e.split(fy).forEach(o=>{i?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}}return t.\u0275fac=function(e){return new(e||t)(Y(Ku),Y(Zu),Y(vt),Y(Ks))},t.\u0275dir=Ke({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),t})();class BY{constructor(n,e,i,o){this.$implicit=n,this.ngForOf=e,this.index=i,this.count=o}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 gi=(()=>{class t{set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}constructor(e,i,o){this._viewContainer=e,this._template=i,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){const e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){const i=this._viewContainer;e.forEachOperation((o,s,a)=>{if(null==o.previousIndex)i.createEmbeddedView(this._template,new BY(o.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)i.remove(null===s?void 0:s);else if(null!==s){const l=i.get(s);i.move(l,a),oD(l,o)}});for(let o=0,s=i.length;o{oD(i.get(o.currentIndex),o)})}static ngTemplateContextGuard(e,i){return!0}}return t.\u0275fac=function(e){return new(e||t)(Y(rr),Y(mr),Y(Ku))},t.\u0275dir=Ke({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function oD(t,n){t.context.$implicit=n.item}let Ft=(()=>{class t{constructor(e,i){this._viewContainer=e,this._context=new VY,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){sD("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){sD("ngIfElse",e),this._elseTemplateRef=e,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(e,i){return!0}}return t.\u0275fac=function(e){return new(e||t)(Y(rr),Y(mr))},t.\u0275dir=Ke({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class VY{constructor(){this.$implicit=null,this.ngIf=null}}function sD(t,n){if(n&&!n.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${Fi(n)}'.`)}class py{constructor(n,e){this._viewContainerRef=n,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(n){n&&!this._created?this.create():!n&&this._created&&this.destroy()}}let eh=(()=>{class t{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(e){this._ngSwitch=e,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(e){this._defaultViews.push(e)}_matchCase(e){const i=e==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(e){if(this._defaultViews.length>0&&e!==this._defaultUsed){this._defaultUsed=e;for(const i of this._defaultViews)i.enforceState(e)}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0}),t})(),my=(()=>{class t{constructor(e,i,o){this.ngSwitch=o,o._addCase(),this._view=new py(e,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return t.\u0275fac=function(e){return new(e||t)(Y(rr),Y(mr),Y(eh,9))},t.\u0275dir=Ke({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0}),t})(),aD=(()=>{class t{constructor(e,i,o){o._addDefault(new py(e,i))}}return t.\u0275fac=function(e){return new(e||t)(Y(rr),Y(mr),Y(eh,9))},t.\u0275dir=Ke({type:t,selectors:[["","ngSwitchDefault",""]],standalone:!0}),t})(),hd=(()=>{class t{constructor(e){this._viewContainerRef=e,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(e){if(e.ngTemplateOutlet||e.ngTemplateOutletInjector){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:o,ngTemplateOutletContext:s,ngTemplateOutletInjector:a}=this;this._viewRef=i.createEmbeddedView(o,s,a?{injector:a}:void 0)}else this._viewRef=null}else this._viewRef&&e.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return t.\u0275fac=function(e){return new(e||t)(Y(rr))},t.\u0275dir=Ke({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[Gi]}),t})();const eH=new Re("DATE_PIPE_DEFAULT_TIMEZONE"),tH=new Re("DATE_PIPE_DEFAULT_OPTIONS");let cD=(()=>{class t{constructor(e,i,o){this.locale=e,this.defaultTimezone=i,this.defaultOptions=o}transform(e,i,o,s){if(null==e||""===e||e!=e)return null;try{return KS(e,i??this.defaultOptions?.dateFormat??"mediumDate",s||this.locale,o??this.defaultOptions?.timezone??this.defaultTimezone??void 0)}catch(a){throw function is(t,n){return new Fe(2100,!1)}()}}}return t.\u0275fac=function(e){return new(e||t)(Y(Is,16),Y(eH,24),Y(tH,24))},t.\u0275pipe=ur({name:"date",type:t,pure:!0,standalone:!0}),t})(),ta=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})();const uD="browser";function hD(t){return"server"===t}let mH=(()=>{class t{}return t.\u0275prov=Ne({token:t,providedIn:"root",factory:()=>new gH(we(It),window)}),t})();class gH{constructor(n,e){this.document=n,this.window=e,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const e=function _H(t,n){const e=t.getElementById(n)||t.getElementsByName(n)[0];if(e)return e;if("function"==typeof t.createTreeWalker&&t.body&&"function"==typeof t.body.attachShadow){const i=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT);let o=i.currentNode;for(;o;){const s=o.shadowRoot;if(s){const a=s.getElementById(n)||s.querySelector(`[name="${n}"]`);if(a)return a}o=i.nextNode()}}return null}(this.document,n);e&&(this.scrollToElement(e),e.focus())}setHistoryScrollRestoration(n){if(this.supportScrollRestoration()){const e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=n)}}scrollToElement(n){const e=n.getBoundingClientRect(),i=e.left+this.window.pageXOffset,o=e.top+this.window.pageYOffset,s=this.offset();this.window.scrollTo(i-s[0],o-s[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const n=fD(this.window.history)||fD(Object.getPrototypeOf(this.window.history));return!(!n||!n.writable&&!n.set)}catch{return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}function fD(t){return Object.getOwnPropertyDescriptor(t,"scrollRestoration")}class pD{}class UH extends X5{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class yy extends UH{static makeCurrent(){!function Z5(t){ty||(ty=t)}(new yy)}onAndCancel(n,e,i){return n.addEventListener(e,i),()=>{n.removeEventListener(e,i)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,e){return(e=e||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,e){return"window"===e?window:"document"===e?n:"body"===e?n.body:null}getBaseHref(n){const e=function WH(){return nh=nh||document.querySelector("base"),nh?nh.getAttribute("href"):null}();return null==e?null:function $H(t){rm=rm||document.createElement("a"),rm.setAttribute("href",t);const n=rm.pathname;return"/"===n.charAt(0)?n:`/${n}`}(e)}resetBaseElement(){nh=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return nD(document.cookie,n)}}let rm,nh=null,qH=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const My=new Re("EventManagerPlugins");let vD=(()=>{class t{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(o=>{o.manager=this}),this._plugins=e.slice().reverse()}addEventListener(e,i,o){return this._findPluginFor(i).addEventListener(e,i,o)}getZone(){return this._zone}_findPluginFor(e){let i=this._eventNameToPlugin.get(e);if(i)return i;if(i=this._plugins.find(s=>s.supports(e)),!i)throw new Fe(5101,!1);return this._eventNameToPlugin.set(e,i),i}}return t.\u0275fac=function(e){return new(e||t)(we(My),we(ft))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();class yD{constructor(n){this._doc=n}}const wy="ng-app-id";let MD=(()=>{class t{constructor(e,i,o,s={}){this.doc=e,this.appId=i,this.nonce=o,this.platformId=s,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=hD(s),this.resetHostNodes()}addStyles(e){for(const i of e)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(e){for(const i of e)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const e=this.styleNodesInDOM;e&&(e.forEach(i=>i.remove()),e.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(e){this.hostNodes.add(e);for(const i of this.getAllStyles())this.addStyleToHost(e,i)}removeHost(e){this.hostNodes.delete(e)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(e){for(const i of this.hostNodes)this.addStyleToHost(i,e)}onStyleRemoved(e){const i=this.styleRef;i.get(e)?.elements?.forEach(o=>o.remove()),i.delete(e)}collectServerRenderedStyles(){const e=this.doc.head?.querySelectorAll(`style[${wy}="${this.appId}"]`);if(e?.length){const i=new Map;return e.forEach(o=>{null!=o.textContent&&i.set(o.textContent,o)}),i}return null}changeUsageCount(e,i){const o=this.styleRef;if(o.has(e)){const s=o.get(e);return s.usage+=i,s.usage}return o.set(e,{usage:i,elements:[]}),i}getStyleElement(e,i){const o=this.styleNodesInDOM,s=o?.get(i);if(s?.parentNode===e)return o.delete(i),s.removeAttribute(wy),s;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=i,this.platformIsServer&&a.setAttribute(wy,this.appId),a}}addStyleToHost(e,i){const o=this.getStyleElement(e,i);e.appendChild(o);const s=this.styleRef,a=s.get(i)?.elements;a?a.push(o):s.set(i,{elements:[o],usage:1})}resetHostNodes(){const e=this.hostNodes;e.clear(),e.add(this.doc.head)}}return t.\u0275fac=function(e){return new(e||t)(we(It),we(ku),we(Tb,8),we(Oa))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const Cy={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/",math:"http://www.w3.org/1998/MathML/"},xy=/%COMP%/g,JH=new Re("RemoveStylesOnCompDestory",{providedIn:"root",factory:()=>!1});function CD(t,n){return n.map(e=>e.replace(xy,t))}let ky=(()=>{class t{constructor(e,i,o,s,a,l,d,_=null){this.eventManager=e,this.sharedStylesHost=i,this.appId=o,this.removeStylesOnCompDestory=s,this.doc=a,this.platformId=l,this.ngZone=d,this.nonce=_,this.rendererByCompId=new Map,this.platformIsServer=hD(l),this.defaultRenderer=new Sy(e,a,d,this.platformIsServer)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Dr.ShadowDom&&(i={...i,encapsulation:Dr.Emulated});const o=this.getOrCreateRenderer(e,i);return o instanceof kD?o.applyToHost(e):o instanceof Dy&&o.applyStyles(),o}getOrCreateRenderer(e,i){const o=this.rendererByCompId;let s=o.get(i.id);if(!s){const a=this.doc,l=this.ngZone,d=this.eventManager,_=this.sharedStylesHost,E=this.removeStylesOnCompDestory,F=this.platformIsServer;switch(i.encapsulation){case Dr.Emulated:s=new kD(d,_,i,this.appId,E,a,l,F);break;case Dr.ShadowDom:return new nB(d,_,e,i,a,l,this.nonce,F);default:s=new Dy(d,_,i,E,a,l,F)}s.onDestroy=()=>o.delete(i.id),o.set(i.id,s)}return s}ngOnDestroy(){this.rendererByCompId.clear()}}return t.\u0275fac=function(e){return new(e||t)(we(vD),we(MD),we(ku),we(JH),we(It),we(Oa),we(ft),we(Tb))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();class Sy{constructor(n,e,i,o){this.eventManager=n,this.doc=e,this.ngZone=i,this.platformIsServer=o,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,e){return e?this.doc.createElementNS(Cy[e]||e,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,e){(xD(n)?n.content:n).appendChild(e)}insertBefore(n,e,i){n&&(xD(n)?n.content:n).insertBefore(e,i)}removeChild(n,e){n&&n.removeChild(e)}selectRootElement(n,e){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new Fe(5104,!1);return e||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,i,o){if(o){e=o+":"+e;const s=Cy[o];s?n.setAttributeNS(s,e,i):n.setAttribute(e,i)}else n.setAttribute(e,i)}removeAttribute(n,e,i){if(i){const o=Cy[i];o?n.removeAttributeNS(o,e):n.removeAttribute(`${i}:${e}`)}else n.removeAttribute(e)}addClass(n,e){n.classList.add(e)}removeClass(n,e){n.classList.remove(e)}setStyle(n,e,i,o){o&(Jr.DashCase|Jr.Important)?n.style.setProperty(e,i,o&Jr.Important?"important":""):n.style[e]=i}removeStyle(n,e,i){i&Jr.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,i){n[e]=i}setValue(n,e){n.nodeValue=e}listen(n,e,i){if("string"==typeof n&&!(n=Ya().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${e}`);return this.eventManager.addEventListener(n,e,this.decoratePreventDefault(i))}decoratePreventDefault(n){return e=>{if("__ngUnwrap__"===e)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(e)):n(e))&&e.preventDefault()}}}function xD(t){return"TEMPLATE"===t.tagName&&void 0!==t.content}class nB extends Sy{constructor(n,e,i,o,s,a,l,d){super(n,s,a,d),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const _=CD(o.id,o.styles);for(const E of _){const F=document.createElement("style");l&&F.setAttribute("nonce",l),F.textContent=E,this.shadowRoot.appendChild(F)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,e){return super.appendChild(this.nodeOrShadowRoot(n),e)}insertBefore(n,e,i){return super.insertBefore(this.nodeOrShadowRoot(n),e,i)}removeChild(n,e){return super.removeChild(this.nodeOrShadowRoot(n),e)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Dy extends Sy{constructor(n,e,i,o,s,a,l,d){super(n,s,a,l),this.sharedStylesHost=e,this.removeStylesOnCompDestory=o,this.rendererUsageCount=0,this.styles=d?CD(d,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles),this.rendererUsageCount++}destroy(){this.removeStylesOnCompDestory&&(this.sharedStylesHost.removeStyles(this.styles),this.rendererUsageCount--,0===this.rendererUsageCount&&this.onDestroy?.())}}class kD extends Dy{constructor(n,e,i,o,s,a,l,d){const _=o+"-"+i.id;super(n,e,i,s,a,l,d,_),this.contentAttr=function QH(t){return"_ngcontent-%COMP%".replace(xy,t)}(_),this.hostAttr=function eB(t){return"_nghost-%COMP%".replace(xy,t)}(_)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,e){const i=super.createElement(n,e);return super.setAttribute(i,this.contentAttr,""),i}}let iB=(()=>{class t extends yD{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,o){return e.addEventListener(i,o,!1),()=>this.removeEventListener(e,i,o)}removeEventListener(e,i,o){return e.removeEventListener(i,o)}}return t.\u0275fac=function(e){return new(e||t)(we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const SD=["alt","control","meta","shift"],rB={"\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"},oB={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let sB=(()=>{class t extends yD{constructor(e){super(e)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,i,o){const s=t.parseEventName(i),a=t.eventCallback(s.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Ya().onAndCancel(e,s.domEventName,a))}static parseEventName(e){const i=e.toLowerCase().split("."),o=i.shift();if(0===i.length||"keydown"!==o&&"keyup"!==o)return null;const s=t._normalizeKey(i.pop());let a="",l=i.indexOf("code");if(l>-1&&(i.splice(l,1),a="code."),SD.forEach(_=>{const E=i.indexOf(_);E>-1&&(i.splice(E,1),a+=_+".")}),a+=s,0!=i.length||0===s.length)return null;const d={};return d.domEventName=o,d.fullKey=a,d}static matchEventFullKeyCode(e,i){let o=rB[e.key]||e.key,s="";return i.indexOf("code.")>-1&&(o=e.code,s="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),SD.forEach(a=>{a!==o&&(0,oB[a])(e)&&(s+=a+".")}),s+=o,s===i)}static eventCallback(e,i,o){return s=>{t.matchEventFullKeyCode(s,e)&&o.runGuarded(()=>i(s))}}static _normalizeKey(e){return"esc"===e?"escape":e}}return t.\u0275fac=function(e){return new(e||t)(we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const TD=[{provide:Oa,useValue:uD},{provide:$w,useValue:function aB(){yy.makeCurrent()},multi:!0},{provide:It,useFactory:function cB(){return function mA(t){pb=t}(document),document},deps:[]}],dB=bS(Y5,"browser",TD),uB=new Re(""),LD=[{provide:Vp,useClass:class GH{addToWindow(n){wn.getAngularTestability=(i,o=!0)=>{const s=n.findTestabilityInTree(i,o);if(null==s)throw new Fe(5103,!1);return s},wn.getAllAngularTestabilities=()=>n.getAllTestabilities(),wn.getAllAngularRootElements=()=>n.getAllRootElements(),wn.frameworkStabilizers||(wn.frameworkStabilizers=[]),wn.frameworkStabilizers.push(i=>{const o=wn.getAllAngularTestabilities();let s=o.length,a=!1;const l=function(d){a=a||d,s--,0==s&&i(a)};o.forEach(function(d){d.whenStable(l)})})}findTestabilityInTree(n,e,i){return null==e?null:n.getTestability(e)??(i?Ya().isShadowRoot(e)?this.findTestabilityInTree(n,e.host,!0):this.findTestabilityInTree(n,e.parentElement,!0):null)}},deps:[]},{provide:fS,useClass:zv,deps:[ft,Uv,Vp]},{provide:zv,useClass:zv,deps:[ft,Uv,Vp]}],ED=[{provide:Cb,useValue:"root"},{provide:Ss,useFactory:function lB(){return new Ss},deps:[]},{provide:My,useClass:iB,multi:!0,deps:[It,ft,Oa]},{provide:My,useClass:sB,multi:!0,deps:[It]},ky,MD,vD,{provide:Lu,useExisting:ky},{provide:pD,useClass:qH,deps:[]},[]];let ID=(()=>{class t{constructor(e){}static withServerTransition(e){return{ngModule:t,providers:[{provide:ku,useValue:e.appId}]}}}return t.\u0275fac=function(e){return new(e||t)(we(uB,12))},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[...ED,...LD],imports:[ta,H5]}),t})(),PD=(()=>{class t{constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}}return t.\u0275fac=function(e){return new(e||t)(we(It))},t.\u0275prov=Ne({token:t,factory:function(e){let i=null;return i=e?new e:function fB(){return new PD(we(It))}(),i},providedIn:"root"}),t})();typeof window<"u"&&window;let Ly=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(e){let i=null;return i=e?new(e||t):we(FD),i},providedIn:"root"}),t})(),FD=(()=>{class t extends Ly{constructor(e){super(),this._doc=e}sanitize(e,i){if(null==i)return null;switch(e){case kn.NONE:return i;case kn.HTML:return xs(i,"HTML")?_o(i):Fw(this._doc,String(i)).toString();case kn.STYLE:return xs(i,"Style")?_o(i):i;case kn.SCRIPT:if(xs(i,"Script"))return _o(i);throw new Fe(5200,!1);case kn.URL:return xs(i,"URL")?_o(i):fp(String(i));case kn.RESOURCE_URL:if(xs(i,"ResourceURL"))return _o(i);throw new Fe(5201,!1);default:throw new Fe(5202,!1)}}bypassSecurityTrustHtml(e){return function wA(t){return new gA(t)}(e)}bypassSecurityTrustStyle(e){return function CA(t){return new _A(t)}(e)}bypassSecurityTrustScript(e){return function xA(t){return new bA(t)}(e)}bypassSecurityTrustUrl(e){return function kA(t){return new vA(t)}(e)}bypassSecurityTrustResourceUrl(e){return function SA(t){return new yA(t)}(e)}}return t.\u0275fac=function(e){return new(e||t)(we(It))},t.\u0275prov=Ne({token:t,factory:function(e){let i=null;return i=e?new e:function _B(t){return new FD(t.get(It))}(we(Si)),i},providedIn:"root"}),t})();class ND{}class bB{}const na="*";function ia(t,n){return{type:7,name:t,definitions:n,options:{}}}function Ur(t,n=null){return{type:4,styles:n,timings:t}}function HD(t,n=null){return{type:2,steps:t,options:n}}function Qn(t){return{type:6,styles:t,offset:null}}function yo(t,n,e){return{type:0,name:t,styles:n,options:e}}function Pr(t,n,e=null){return{type:1,expr:t,animation:n,options:e}}function Ey(t=null){return{type:9,options:t}}function Iy(t,n,e=null){return{type:11,selector:t,animation:n,options:e}}function BD(t){Promise.resolve().then(t)}class ih{constructor(n=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=n+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}onStart(n){this._originalOnStartFns.push(n),this._onStartFns.push(n)}onDone(n){this._originalOnDoneFns.push(n),this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){BD(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(n=>n()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(n){this._position=this.totalTime?n*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class VD{constructor(n){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=n;let e=0,i=0,o=0;const s=this.players.length;0==s?BD(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++e==s&&this._onFinish()}),a.onDestroy(()=>{++i==s&&this._onDestroy()}),a.onStart(()=>{++o==s&&this._onStart()})}),this.totalTime=this.players.reduce((a,l)=>Math.max(a,l.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this.players.forEach(n=>n.init())}onStart(n){this._onStartFns.push(n)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(n=>n()),this._onStartFns=[])}onDone(n){this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(n=>n.play())}pause(){this.players.forEach(n=>n.pause())}restart(){this.players.forEach(n=>n.restart())}finish(){this._onFinish(),this.players.forEach(n=>n.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(n=>n.destroy()),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this.players.forEach(n=>n.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(n){const e=n*this.totalTime;this.players.forEach(i=>{const o=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(o)})}getPosition(){const n=this.players.reduce((e,i)=>null===e||i.totalTime>e.totalTime?i:e,null);return null!=n?n.getPosition():0}beforeDestroy(){this.players.forEach(n=>{n.beforeDestroy&&n.beforeDestroy()})}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}const Py="!";function jD(t){return new Fe(3e3,!1)}function Ba(t){switch(t.length){case 0:return new ih;case 1:return t[0];default:return new VD(t)}}function zD(t,n,e=new Map,i=new Map){const o=[],s=[];let a=-1,l=null;if(n.forEach(d=>{const _=d.get("offset"),E=_==a,F=E&&l||new Map;d.forEach((G,ie)=>{let _e=ie,Ce=G;if("offset"!==ie)switch(_e=t.normalizePropertyName(_e,o),Ce){case Py:Ce=e.get(ie);break;case na:Ce=i.get(ie);break;default:Ce=t.normalizeStyleValue(ie,_e,Ce,o)}F.set(_e,Ce)}),E||s.push(F),l=F,a=_}),o.length)throw function VB(t){return new Fe(3502,!1)}();return s}function Oy(t,n,e,i){switch(n){case"start":t.onStart(()=>i(e&&Ay(e,"start",t)));break;case"done":t.onDone(()=>i(e&&Ay(e,"done",t)));break;case"destroy":t.onDestroy(()=>i(e&&Ay(e,"destroy",t)))}}function Ay(t,n,e){const s=Fy(t.element,t.triggerName,t.fromState,t.toState,n||t.phaseName,e.totalTime??t.totalTime,!!e.disabled),a=t._data;return null!=a&&(s._data=a),s}function Fy(t,n,e,i,o="",s=0,a){return{element:t,triggerName:n,fromState:e,toState:i,phaseName:o,totalTime:s,disabled:!!a}}function Mo(t,n,e){let i=t.get(n);return i||t.set(n,i=e),i}function UD(t){const n=t.indexOf(":");return[t.substring(1,n),t.slice(n+1)]}const QB=(()=>typeof document>"u"?null:document.documentElement)();function Ry(t){const n=t.parentNode||t.host||null;return n===QB?null:n}let Nl=null,WD=!1;function $D(t,n){for(;n;){if(n===t)return!0;n=Ry(n)}return!1}function GD(t,n,e){if(e)return Array.from(t.querySelectorAll(n));const i=t.querySelector(n);return i?[i]:[]}let qD=(()=>{class t{validateStyleProperty(e){return function tV(t){Nl||(Nl=function nV(){return typeof document<"u"?document.body:null}()||{},WD=!!Nl.style&&"WebkitAppearance"in Nl.style);let n=!0;return Nl.style&&!function eV(t){return"ebkit"==t.substring(1,6)}(t)&&(n=t in Nl.style,!n&&WD&&(n="Webkit"+t.charAt(0).toUpperCase()+t.slice(1)in Nl.style)),n}(e)}matchesElement(e,i){return!1}containsElement(e,i){return $D(e,i)}getParentElement(e){return Ry(e)}query(e,i,o){return GD(e,i,o)}computeStyle(e,i,o){return o||""}animate(e,i,o,s,a,l=[],d){return new ih(o,s)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})(),Ny=(()=>{class t{}return t.NOOP=new qD,t})();const iV=1e3,Yy="ng-enter",om="ng-leave",sm="ng-trigger",am=".ng-trigger",ZD="ng-animating",Hy=".ng-animating";function ra(t){if("number"==typeof t)return t;const n=t.match(/^(-?[\.\d]+)(m?s)/);return!n||n.length<2?0:By(parseFloat(n[1]),n[2])}function By(t,n){return"s"===n?t*iV:t}function lm(t,n,e){return t.hasOwnProperty("duration")?t:function oV(t,n,e){let o,s=0,a="";if("string"==typeof t){const l=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===l)return n.push(jD()),{duration:0,delay:0,easing:""};o=By(parseFloat(l[1]),l[2]);const d=l[3];null!=d&&(s=By(parseFloat(d),l[4]));const _=l[5];_&&(a=_)}else o=t;if(!e){let l=!1,d=n.length;o<0&&(n.push(function vB(){return new Fe(3100,!1)}()),l=!0),s<0&&(n.push(function yB(){return new Fe(3101,!1)}()),l=!0),l&&n.splice(d,0,jD())}return{duration:o,delay:s,easing:a}}(t,n,e)}function rh(t,n={}){return Object.keys(t).forEach(e=>{n[e]=t[e]}),n}function XD(t){const n=new Map;return Object.keys(t).forEach(e=>{n.set(e,t[e])}),n}function Va(t,n=new Map,e){if(e)for(let[i,o]of e)n.set(i,o);for(let[i,o]of t)n.set(i,o);return n}function Ps(t,n,e){n.forEach((i,o)=>{const s=jy(o);e&&!e.has(o)&&e.set(o,t.style[s]),t.style[s]=i})}function Yl(t,n){n.forEach((e,i)=>{const o=jy(i);t.style[o]=""})}function oh(t){return Array.isArray(t)?1==t.length?t[0]:HD(t):t}const Vy=new RegExp("{{\\s*(.+?)\\s*}}","g");function QD(t){let n=[];if("string"==typeof t){let e;for(;e=Vy.exec(t);)n.push(e[1]);Vy.lastIndex=0}return n}function sh(t,n,e){const i=t.toString(),o=i.replace(Vy,(s,a)=>{let l=n[a];return null==l&&(e.push(function wB(t){return new Fe(3003,!1)}()),l=""),l.toString()});return o==i?t:o}function cm(t){const n=[];let e=t.next();for(;!e.done;)n.push(e.value),e=t.next();return n}const lV=/-+([a-z0-9])/g;function jy(t){return t.replace(lV,(...n)=>n[1].toUpperCase())}function wo(t,n,e){switch(n.type){case 7:return t.visitTrigger(n,e);case 0:return t.visitState(n,e);case 1:return t.visitTransition(n,e);case 2:return t.visitSequence(n,e);case 3:return t.visitGroup(n,e);case 4:return t.visitAnimate(n,e);case 5:return t.visitKeyframes(n,e);case 6:return t.visitStyle(n,e);case 8:return t.visitReference(n,e);case 9:return t.visitAnimateChild(n,e);case 10:return t.visitAnimateRef(n,e);case 11:return t.visitQuery(n,e);case 12:return t.visitStagger(n,e);default:throw function CB(t){return new Fe(3004,!1)}()}}function eT(t,n){return window.getComputedStyle(t)[n]}const dm="*";function uV(t,n){const e=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(i=>function hV(t,n,e){if(":"==t[0]){const d=function fV(t,n){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,i)=>parseFloat(i)>parseFloat(e);case":decrement":return(e,i)=>parseFloat(i) *"}}(t,e);if("function"==typeof d)return void n.push(d);t=d}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return e.push(function RB(t){return new Fe(3015,!1)}()),n;const o=i[1],s=i[2],a=i[3];n.push(tT(o,a));"<"==s[0]&&!(o==dm&&a==dm)&&n.push(tT(a,o))}(i,e,n)):e.push(t),e}const um=new Set(["true","1"]),hm=new Set(["false","0"]);function tT(t,n){const e=um.has(t)||hm.has(t),i=um.has(n)||hm.has(n);return(o,s)=>{let a=t==dm||t==o,l=n==dm||n==s;return!a&&e&&"boolean"==typeof o&&(a=o?um.has(t):hm.has(t)),!l&&i&&"boolean"==typeof s&&(l=s?um.has(n):hm.has(n)),a&&l}}const pV=new RegExp("s*:selfs*,?","g");function zy(t,n,e,i){return new mV(t).build(n,e,i)}class mV{constructor(n){this._driver=n}build(n,e,i){const o=new bV(e);return this._resetContextStyleTimingState(o),wo(this,oh(n),o)}_resetContextStyleTimingState(n){n.currentQuerySelector="",n.collectedStyles=new Map,n.collectedStyles.set("",new Map),n.currentTime=0}visitTrigger(n,e){let i=e.queryCount=0,o=e.depCount=0;const s=[],a=[];return"@"==n.name.charAt(0)&&e.errors.push(function kB(){return new Fe(3006,!1)}()),n.definitions.forEach(l=>{if(this._resetContextStyleTimingState(e),0==l.type){const d=l,_=d.name;_.toString().split(/\s*,\s*/).forEach(E=>{d.name=E,s.push(this.visitState(d,e))}),d.name=_}else if(1==l.type){const d=this.visitTransition(l,e);i+=d.queryCount,o+=d.depCount,a.push(d)}else e.errors.push(function SB(){return new Fe(3007,!1)}())}),{type:7,name:n.name,states:s,transitions:a,queryCount:i,depCount:o,options:null}}visitState(n,e){const i=this.visitStyle(n.styles,e),o=n.options&&n.options.params||null;if(i.containsDynamicStyles){const s=new Set,a=o||{};i.styles.forEach(l=>{l instanceof Map&&l.forEach(d=>{QD(d).forEach(_=>{a.hasOwnProperty(_)||s.add(_)})})}),s.size&&(cm(s.values()),e.errors.push(function DB(t,n){return new Fe(3008,!1)}()))}return{type:0,name:n.name,style:i,options:o?{params:o}:null}}visitTransition(n,e){e.queryCount=0,e.depCount=0;const i=wo(this,oh(n.animation),e);return{type:1,matchers:uV(n.expr,e.errors),animation:i,queryCount:e.queryCount,depCount:e.depCount,options:Hl(n.options)}}visitSequence(n,e){return{type:2,steps:n.steps.map(i=>wo(this,i,e)),options:Hl(n.options)}}visitGroup(n,e){const i=e.currentTime;let o=0;const s=n.steps.map(a=>{e.currentTime=i;const l=wo(this,a,e);return o=Math.max(o,e.currentTime),l});return e.currentTime=o,{type:3,steps:s,options:Hl(n.options)}}visitAnimate(n,e){const i=function yV(t,n){if(t.hasOwnProperty("duration"))return t;if("number"==typeof t)return Uy(lm(t,n).duration,0,"");const e=t;if(e.split(/\s+/).some(s=>"{"==s.charAt(0)&&"{"==s.charAt(1))){const s=Uy(0,0,"");return s.dynamic=!0,s.strValue=e,s}const o=lm(e,n);return Uy(o.duration,o.delay,o.easing)}(n.timings,e.errors);e.currentAnimateTimings=i;let o,s=n.styles?n.styles:Qn({});if(5==s.type)o=this.visitKeyframes(s,e);else{let a=n.styles,l=!1;if(!a){l=!0;const _={};i.easing&&(_.easing=i.easing),a=Qn(_)}e.currentTime+=i.duration+i.delay;const d=this.visitStyle(a,e);d.isEmptyStep=l,o=d}return e.currentAnimateTimings=null,{type:4,timings:i,style:o,options:null}}visitStyle(n,e){const i=this._makeStyleAst(n,e);return this._validateStyleAst(i,e),i}_makeStyleAst(n,e){const i=[],o=Array.isArray(n.styles)?n.styles:[n.styles];for(let l of o)"string"==typeof l?l===na?i.push(l):e.errors.push(new Fe(3002,!1)):i.push(XD(l));let s=!1,a=null;return i.forEach(l=>{if(l instanceof Map&&(l.has("easing")&&(a=l.get("easing"),l.delete("easing")),!s))for(let d of l.values())if(d.toString().indexOf("{{")>=0){s=!0;break}}),{type:6,styles:i,easing:a,offset:n.offset,containsDynamicStyles:s,options:null}}_validateStyleAst(n,e){const i=e.currentAnimateTimings;let o=e.currentTime,s=e.currentTime;i&&s>0&&(s-=i.duration+i.delay),n.styles.forEach(a=>{"string"!=typeof a&&a.forEach((l,d)=>{const _=e.collectedStyles.get(e.currentQuerySelector),E=_.get(d);let F=!0;E&&(s!=o&&s>=E.startTime&&o<=E.endTime&&(e.errors.push(function LB(t,n,e,i,o){return new Fe(3010,!1)}()),F=!1),s=E.startTime),F&&_.set(d,{startTime:s,endTime:o}),e.options&&function aV(t,n,e){const i=n.params||{},o=QD(t);o.length&&o.forEach(s=>{i.hasOwnProperty(s)||e.push(function MB(t){return new Fe(3001,!1)}())})}(l,e.options,e.errors)})})}visitKeyframes(n,e){const i={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(function EB(){return new Fe(3011,!1)}()),i;let s=0;const a=[];let l=!1,d=!1,_=0;const E=n.steps.map(ze=>{const Ee=this._makeStyleAst(ze,e);let qe=null!=Ee.offset?Ee.offset:function vV(t){if("string"==typeof t)return null;let n=null;if(Array.isArray(t))t.forEach(e=>{if(e instanceof Map&&e.has("offset")){const i=e;n=parseFloat(i.get("offset")),i.delete("offset")}});else if(t instanceof Map&&t.has("offset")){const e=t;n=parseFloat(e.get("offset")),e.delete("offset")}return n}(Ee.styles),dt=0;return null!=qe&&(s++,dt=Ee.offset=qe),d=d||dt<0||dt>1,l=l||dt<_,_=dt,a.push(dt),Ee});d&&e.errors.push(function IB(){return new Fe(3012,!1)}()),l&&e.errors.push(function PB(){return new Fe(3200,!1)}());const F=n.steps.length;let G=0;s>0&&s{const qe=G>0?Ee==ie?1:G*Ee:a[Ee],dt=qe*Ae;e.currentTime=_e+Ce.delay+dt,Ce.duration=dt,this._validateStyleAst(ze,e),ze.offset=qe,i.styles.push(ze)}),i}visitReference(n,e){return{type:8,animation:wo(this,oh(n.animation),e),options:Hl(n.options)}}visitAnimateChild(n,e){return e.depCount++,{type:9,options:Hl(n.options)}}visitAnimateRef(n,e){return{type:10,animation:this.visitReference(n.animation,e),options:Hl(n.options)}}visitQuery(n,e){const i=e.currentQuerySelector,o=n.options||{};e.queryCount++,e.currentQuery=n;const[s,a]=function gV(t){const n=!!t.split(/\s*,\s*/).find(e=>":self"==e);return n&&(t=t.replace(pV,"")),t=t.replace(/@\*/g,am).replace(/@\w+/g,e=>am+"-"+e.slice(1)).replace(/:animating/g,Hy),[t,n]}(n.selector);e.currentQuerySelector=i.length?i+" "+s:s,Mo(e.collectedStyles,e.currentQuerySelector,new Map);const l=wo(this,oh(n.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:11,selector:s,limit:o.limit||0,optional:!!o.optional,includeSelf:a,animation:l,originalSelector:n.selector,options:Hl(n.options)}}visitStagger(n,e){e.currentQuery||e.errors.push(function AB(){return new Fe(3013,!1)}());const i="full"===n.timings?{duration:0,delay:0,easing:"full"}:lm(n.timings,e.errors,!0);return{type:12,animation:wo(this,oh(n.animation),e),timings:i,options:null}}}class bV{constructor(n){this.errors=n,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function Hl(t){return t?(t=rh(t)).params&&(t.params=function _V(t){return t?rh(t):null}(t.params)):t={},t}function Uy(t,n,e){return{duration:t,delay:n,easing:e}}function Wy(t,n,e,i,o,s,a=null,l=!1){return{type:1,element:t,keyframes:n,preStyleProps:e,postStyleProps:i,duration:o,delay:s,totalTime:o+s,easing:a,subTimeline:l}}class fm{constructor(){this._map=new Map}get(n){return this._map.get(n)||[]}append(n,e){let i=this._map.get(n);i||this._map.set(n,i=[]),i.push(...e)}has(n){return this._map.has(n)}clear(){this._map.clear()}}const CV=new RegExp(":enter","g"),kV=new RegExp(":leave","g");function $y(t,n,e,i,o,s=new Map,a=new Map,l,d,_=[]){return(new SV).buildKeyframes(t,n,e,i,o,s,a,l,d,_)}class SV{buildKeyframes(n,e,i,o,s,a,l,d,_,E=[]){_=_||new fm;const F=new Gy(n,e,_,o,s,E,[]);F.options=d;const G=d.delay?ra(d.delay):0;F.currentTimeline.delayNextStep(G),F.currentTimeline.setStyles([a],null,F.errors,d),wo(this,i,F);const ie=F.timelines.filter(_e=>_e.containsAnimation());if(ie.length&&l.size){let _e;for(let Ce=ie.length-1;Ce>=0;Ce--){const Ae=ie[Ce];if(Ae.element===e){_e=Ae;break}}_e&&!_e.allowOnlyTimelineStyles()&&_e.setStyles([l],null,F.errors,d)}return ie.length?ie.map(_e=>_e.buildKeyframes()):[Wy(e,[],[],[],0,G,"",!1)]}visitTrigger(n,e){}visitState(n,e){}visitTransition(n,e){}visitAnimateChild(n,e){const i=e.subInstructions.get(e.element);if(i){const o=e.createSubContext(n.options),s=e.currentTimeline.currentTime,a=this._visitSubInstructions(i,o,o.options);s!=a&&e.transformIntoNewTimeline(a)}e.previousNode=n}visitAnimateRef(n,e){const i=e.createSubContext(n.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([n.options,n.animation.options],e,i),this.visitReference(n.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=n}_applyAnimationRefDelays(n,e,i){for(const o of n){const s=o?.delay;if(s){const a="number"==typeof s?s:ra(sh(s,o?.params??{},e.errors));i.delayNextStep(a)}}}_visitSubInstructions(n,e,i){let s=e.currentTimeline.currentTime;const a=null!=i.duration?ra(i.duration):null,l=null!=i.delay?ra(i.delay):null;return 0!==a&&n.forEach(d=>{const _=e.appendInstructionToTimeline(d,a,l);s=Math.max(s,_.duration+_.delay)}),s}visitReference(n,e){e.updateOptions(n.options,!0),wo(this,n.animation,e),e.previousNode=n}visitSequence(n,e){const i=e.subContextCount;let o=e;const s=n.options;if(s&&(s.params||s.delay)&&(o=e.createSubContext(s),o.transformIntoNewTimeline(),null!=s.delay)){6==o.previousNode.type&&(o.currentTimeline.snapshotCurrentStyles(),o.previousNode=pm);const a=ra(s.delay);o.delayNextStep(a)}n.steps.length&&(n.steps.forEach(a=>wo(this,a,o)),o.currentTimeline.applyStylesToKeyframe(),o.subContextCount>i&&o.transformIntoNewTimeline()),e.previousNode=n}visitGroup(n,e){const i=[];let o=e.currentTimeline.currentTime;const s=n.options&&n.options.delay?ra(n.options.delay):0;n.steps.forEach(a=>{const l=e.createSubContext(n.options);s&&l.delayNextStep(s),wo(this,a,l),o=Math.max(o,l.currentTimeline.currentTime),i.push(l.currentTimeline)}),i.forEach(a=>e.currentTimeline.mergeTimelineCollectedStyles(a)),e.transformIntoNewTimeline(o),e.previousNode=n}_visitTiming(n,e){if(n.dynamic){const i=n.strValue;return lm(e.params?sh(i,e.params,e.errors):i,e.errors)}return{duration:n.duration,delay:n.delay,easing:n.easing}}visitAnimate(n,e){const i=e.currentAnimateTimings=this._visitTiming(n.timings,e),o=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),o.snapshotCurrentStyles());const s=n.style;5==s.type?this.visitKeyframes(s,e):(e.incrementTime(i.duration),this.visitStyle(s,e),o.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=n}visitStyle(n,e){const i=e.currentTimeline,o=e.currentAnimateTimings;!o&&i.hasCurrentStyleProperties()&&i.forwardFrame();const s=o&&o.easing||n.easing;n.isEmptyStep?i.applyEmptyStep(s):i.setStyles(n.styles,s,e.errors,e.options),e.previousNode=n}visitKeyframes(n,e){const i=e.currentAnimateTimings,o=e.currentTimeline.duration,s=i.duration,l=e.createSubContext().currentTimeline;l.easing=i.easing,n.styles.forEach(d=>{l.forwardTime((d.offset||0)*s),l.setStyles(d.styles,d.easing,e.errors,e.options),l.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(l),e.transformIntoNewTimeline(o+s),e.previousNode=n}visitQuery(n,e){const i=e.currentTimeline.currentTime,o=n.options||{},s=o.delay?ra(o.delay):0;s&&(6===e.previousNode.type||0==i&&e.currentTimeline.hasCurrentStyleProperties())&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=pm);let a=i;const l=e.invokeQuery(n.selector,n.originalSelector,n.limit,n.includeSelf,!!o.optional,e.errors);e.currentQueryTotal=l.length;let d=null;l.forEach((_,E)=>{e.currentQueryIndex=E;const F=e.createSubContext(n.options,_);s&&F.delayNextStep(s),_===e.element&&(d=F.currentTimeline),wo(this,n.animation,F),F.currentTimeline.applyStylesToKeyframe(),a=Math.max(a,F.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(a),d&&(e.currentTimeline.mergeTimelineCollectedStyles(d),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=n}visitStagger(n,e){const i=e.parentContext,o=e.currentTimeline,s=n.timings,a=Math.abs(s.duration),l=a*(e.currentQueryTotal-1);let d=a*e.currentQueryIndex;switch(s.duration<0?"reverse":s.easing){case"reverse":d=l-d;break;case"full":d=i.currentStaggerTime}const E=e.currentTimeline;d&&E.delayNextStep(d);const F=E.currentTime;wo(this,n.animation,e),e.previousNode=n,i.currentStaggerTime=o.currentTime-F+(o.startTime-i.currentTimeline.startTime)}}const pm={};class Gy{constructor(n,e,i,o,s,a,l,d){this._driver=n,this.element=e,this.subInstructions=i,this._enterClassName=o,this._leaveClassName=s,this.errors=a,this.timelines=l,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=pm,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=d||new mm(this._driver,e,0),l.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(n,e){if(!n)return;const i=n;let o=this.options;null!=i.duration&&(o.duration=ra(i.duration)),null!=i.delay&&(o.delay=ra(i.delay));const s=i.params;if(s){let a=o.params;a||(a=this.options.params={}),Object.keys(s).forEach(l=>{(!e||!a.hasOwnProperty(l))&&(a[l]=sh(s[l],a,this.errors))})}}_copyOptions(){const n={};if(this.options){const e=this.options.params;if(e){const i=n.params={};Object.keys(e).forEach(o=>{i[o]=e[o]})}}return n}createSubContext(n=null,e,i){const o=e||this.element,s=new Gy(this._driver,o,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(o,i||0));return s.previousNode=this.previousNode,s.currentAnimateTimings=this.currentAnimateTimings,s.options=this._copyOptions(),s.updateOptions(n),s.currentQueryIndex=this.currentQueryIndex,s.currentQueryTotal=this.currentQueryTotal,s.parentContext=this,this.subContextCount++,s}transformIntoNewTimeline(n){return this.previousNode=pm,this.currentTimeline=this.currentTimeline.fork(this.element,n),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(n,e,i){const o={duration:e??n.duration,delay:this.currentTimeline.currentTime+(i??0)+n.delay,easing:""},s=new DV(this._driver,n.element,n.keyframes,n.preStyleProps,n.postStyleProps,o,n.stretchStartingKeyframe);return this.timelines.push(s),o}incrementTime(n){this.currentTimeline.forwardTime(this.currentTimeline.duration+n)}delayNextStep(n){n>0&&this.currentTimeline.delayNextStep(n)}invokeQuery(n,e,i,o,s,a){let l=[];if(o&&l.push(this.element),n.length>0){n=(n=n.replace(CV,"."+this._enterClassName)).replace(kV,"."+this._leaveClassName);let _=this._driver.query(this.element,n,1!=i);0!==i&&(_=i<0?_.slice(_.length+i,_.length):_.slice(0,i)),l.push(..._)}return!s&&0==l.length&&a.push(function FB(t){return new Fe(3014,!1)}()),l}}class mm{constructor(n,e,i,o){this._driver=n,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=o,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(n){const e=1===this._keyframes.size&&this._pendingStyles.size;this.duration||e?(this.forwardTime(this.currentTime+n),e&&this.snapshotCurrentStyles()):this.startTime+=n}fork(n,e){return this.applyStylesToKeyframe(),new mm(this._driver,n,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(n){this.applyStylesToKeyframe(),this.duration=n,this._loadKeyframe()}_updateStyle(n,e){this._localTimelineStyles.set(n,e),this._globalTimelineStyles.set(n,e),this._styleSummary.set(n,{time:this.currentTime,value:e})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(n){n&&this._previousKeyframe.set("easing",n);for(let[e,i]of this._globalTimelineStyles)this._backFill.set(e,i||na),this._currentKeyframe.set(e,na);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(n,e,i,o){e&&this._previousKeyframe.set("easing",e);const s=o&&o.params||{},a=function TV(t,n){const e=new Map;let i;return t.forEach(o=>{if("*"===o){i=i||n.keys();for(let s of i)e.set(s,na)}else Va(o,e)}),e}(n,this._globalTimelineStyles);for(let[l,d]of a){const _=sh(d,s,i);this._pendingStyles.set(l,_),this._localTimelineStyles.has(l)||this._backFill.set(l,this._globalTimelineStyles.get(l)??na),this._updateStyle(l,_)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((n,e)=>{this._currentKeyframe.set(e,n)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((n,e)=>{this._currentKeyframe.has(e)||this._currentKeyframe.set(e,n)}))}snapshotCurrentStyles(){for(let[n,e]of this._localTimelineStyles)this._pendingStyles.set(n,e),this._updateStyle(n,e)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const n=[];for(let e in this._currentKeyframe)n.push(e);return n}mergeTimelineCollectedStyles(n){n._styleSummary.forEach((e,i)=>{const o=this._styleSummary.get(i);(!o||e.time>o.time)&&this._updateStyle(i,e.value)})}buildKeyframes(){this.applyStylesToKeyframe();const n=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let o=[];this._keyframes.forEach((l,d)=>{const _=Va(l,new Map,this._backFill);_.forEach((E,F)=>{E===Py?n.add(F):E===na&&e.add(F)}),i||_.set("offset",d/this.duration),o.push(_)});const s=n.size?cm(n.values()):[],a=e.size?cm(e.values()):[];if(i){const l=o[0],d=new Map(l);l.set("offset",0),d.set("offset",1),o=[l,d]}return Wy(this.element,o,s,a,this.duration,this.startTime,this.easing,!1)}}class DV extends mm{constructor(n,e,i,o,s,a,l=!1){super(n,e,a.delay),this.keyframes=i,this.preStyleProps=o,this.postStyleProps=s,this._stretchStartingKeyframe=l,this.timings={duration:a.duration,delay:a.delay,easing:a.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let n=this.keyframes,{delay:e,duration:i,easing:o}=this.timings;if(this._stretchStartingKeyframe&&e){const s=[],a=i+e,l=e/a,d=Va(n[0]);d.set("offset",0),s.push(d);const _=Va(n[0]);_.set("offset",rT(l)),s.push(_);const E=n.length-1;for(let F=1;F<=E;F++){let G=Va(n[F]);const ie=G.get("offset");G.set("offset",rT((e+ie*i)/a)),s.push(G)}i=a,e=0,o="",n=s}return Wy(this.element,n,this.preStyleProps,this.postStyleProps,i,e,o,!0)}}function rT(t,n=3){const e=Math.pow(10,n-1);return Math.round(t*e)/e}class qy{}const LV=new Set(["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"]);class EV extends qy{normalizePropertyName(n,e){return jy(n)}normalizeStyleValue(n,e,i,o){let s="";const a=i.toString().trim();if(LV.has(e)&&0!==i&&"0"!==i)if("number"==typeof i)s="px";else{const l=i.match(/^[+-]?[\d\.]+([a-z]*)$/);l&&0==l[1].length&&o.push(function xB(t,n){return new Fe(3005,!1)}())}return a+s}}function oT(t,n,e,i,o,s,a,l,d,_,E,F,G){return{type:0,element:t,triggerName:n,isRemovalTransition:o,fromState:e,fromStyles:s,toState:i,toStyles:a,timelines:l,queriedElements:d,preStyleProps:_,postStyleProps:E,totalTime:F,errors:G}}const Ky={};class sT{constructor(n,e,i){this._triggerName=n,this.ast=e,this._stateStyles=i}match(n,e,i,o){return function IV(t,n,e,i,o){return t.some(s=>s(n,e,i,o))}(this.ast.matchers,n,e,i,o)}buildStyles(n,e,i){let o=this._stateStyles.get("*");return void 0!==n&&(o=this._stateStyles.get(n?.toString())||o),o?o.buildStyles(e,i):new Map}build(n,e,i,o,s,a,l,d,_,E){const F=[],G=this.ast.options&&this.ast.options.params||Ky,_e=this.buildStyles(i,l&&l.params||Ky,F),Ce=d&&d.params||Ky,Ae=this.buildStyles(o,Ce,F),ze=new Set,Ee=new Map,qe=new Map,dt="void"===o,Rt={params:PV(Ce,G),delay:this.ast.options?.delay},sn=E?[]:$y(n,e,this.ast.animation,s,a,_e,Ae,Rt,_,F);let Ii=0;if(sn.forEach(us=>{Ii=Math.max(us.duration+us.delay,Ii)}),F.length)return oT(e,this._triggerName,i,o,dt,_e,Ae,[],[],Ee,qe,Ii,F);sn.forEach(us=>{const ga=us.element,zP=Mo(Ee,ga,new Set);us.preStyleProps.forEach(lc=>zP.add(lc));const lf=Mo(qe,ga,new Set);us.postStyleProps.forEach(lc=>lf.add(lc)),ga!==e&&ze.add(ga)});const ds=cm(ze.values());return oT(e,this._triggerName,i,o,dt,_e,Ae,sn,ds,Ee,qe,Ii)}}function PV(t,n){const e=rh(n);for(const i in t)t.hasOwnProperty(i)&&null!=t[i]&&(e[i]=t[i]);return e}class OV{constructor(n,e,i){this.styles=n,this.defaultParams=e,this.normalizer=i}buildStyles(n,e){const i=new Map,o=rh(this.defaultParams);return Object.keys(n).forEach(s=>{const a=n[s];null!==a&&(o[s]=a)}),this.styles.styles.forEach(s=>{"string"!=typeof s&&s.forEach((a,l)=>{a&&(a=sh(a,o,e));const d=this.normalizer.normalizePropertyName(l,e);a=this.normalizer.normalizeStyleValue(l,d,a,e),i.set(l,a)})}),i}}class FV{constructor(n,e,i){this.name=n,this.ast=e,this._normalizer=i,this.transitionFactories=[],this.states=new Map,e.states.forEach(o=>{this.states.set(o.name,new OV(o.style,o.options&&o.options.params||{},i))}),aT(this.states,"true","1"),aT(this.states,"false","0"),e.transitions.forEach(o=>{this.transitionFactories.push(new sT(n,o,this.states))}),this.fallbackTransition=function RV(t,n,e){return new sT(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(a,l)=>!0],options:null,queryCount:0,depCount:0},n)}(n,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(n,e,i,o){return this.transitionFactories.find(a=>a.match(n,e,i,o))||null}matchStyles(n,e,i){return this.fallbackTransition.buildStyles(n,e,i)}}function aT(t,n,e){t.has(n)?t.has(e)||t.set(e,t.get(n)):t.has(e)&&t.set(n,t.get(e))}const NV=new fm;class YV{constructor(n,e,i){this.bodyNode=n,this._driver=e,this._normalizer=i,this._animations=new Map,this._playersById=new Map,this.players=[]}register(n,e){const i=[],s=zy(this._driver,e,i,[]);if(i.length)throw function jB(t){return new Fe(3503,!1)}();this._animations.set(n,s)}_buildPlayer(n,e,i){const o=n.element,s=zD(this._normalizer,n.keyframes,e,i);return this._driver.animate(o,s,n.duration,n.delay,n.easing,[],!0)}create(n,e,i={}){const o=[],s=this._animations.get(n);let a;const l=new Map;if(s?(a=$y(this._driver,e,s,Yy,om,new Map,new Map,i,NV,o),a.forEach(E=>{const F=Mo(l,E.element,new Map);E.postStyleProps.forEach(G=>F.set(G,null))})):(o.push(function zB(){return new Fe(3300,!1)}()),a=[]),o.length)throw function UB(t){return new Fe(3504,!1)}();l.forEach((E,F)=>{E.forEach((G,ie)=>{E.set(ie,this._driver.computeStyle(F,ie,na))})});const _=Ba(a.map(E=>{const F=l.get(E.element);return this._buildPlayer(E,new Map,F)}));return this._playersById.set(n,_),_.onDestroy(()=>this.destroy(n)),this.players.push(_),_}destroy(n){const e=this._getPlayer(n);e.destroy(),this._playersById.delete(n);const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(n){const e=this._playersById.get(n);if(!e)throw function WB(t){return new Fe(3301,!1)}();return e}listen(n,e,i,o){const s=Fy(e,"","","");return Oy(this._getPlayer(n),i,s,o),()=>{}}command(n,e,i,o){if("register"==i)return void this.register(n,o[0]);if("create"==i)return void this.create(n,e,o[0]||{});const s=this._getPlayer(n);switch(i){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(o[0]));break;case"destroy":this.destroy(n)}}}const lT="ng-animate-queued",Zy="ng-animate-disabled",zV=[],cT={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},UV={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Wo="__ng_removed";class Xy{get params(){return this.options.params}constructor(n,e=""){this.namespaceId=e;const i=n&&n.hasOwnProperty("value");if(this.value=function qV(t){return t??null}(i?n.value:n),i){const s=rh(n);delete s.value,this.options=s}else this.options={};this.options.params||(this.options.params={})}absorbOptions(n){const e=n.params;if(e){const i=this.options.params;Object.keys(e).forEach(o=>{null==i[o]&&(i[o]=e[o])})}}}const ah="void",Jy=new Xy(ah);class WV{constructor(n,e,i){this.id=n,this.hostElement=e,this._engine=i,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+n,$o(e,this._hostClassName)}listen(n,e,i,o){if(!this._triggers.has(e))throw function $B(t,n){return new Fe(3302,!1)}();if(null==i||0==i.length)throw function GB(t){return new Fe(3303,!1)}();if(!function KV(t){return"start"==t||"done"==t}(i))throw function qB(t,n){return new Fe(3400,!1)}();const s=Mo(this._elementListeners,n,[]),a={name:e,phase:i,callback:o};s.push(a);const l=Mo(this._engine.statesByElement,n,new Map);return l.has(e)||($o(n,sm),$o(n,sm+"-"+e),l.set(e,Jy)),()=>{this._engine.afterFlush(()=>{const d=s.indexOf(a);d>=0&&s.splice(d,1),this._triggers.has(e)||l.delete(e)})}}register(n,e){return!this._triggers.has(n)&&(this._triggers.set(n,e),!0)}_getTrigger(n){const e=this._triggers.get(n);if(!e)throw function KB(t){return new Fe(3401,!1)}();return e}trigger(n,e,i,o=!0){const s=this._getTrigger(e),a=new Qy(this.id,e,n);let l=this._engine.statesByElement.get(n);l||($o(n,sm),$o(n,sm+"-"+e),this._engine.statesByElement.set(n,l=new Map));let d=l.get(e);const _=new Xy(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&d&&_.absorbOptions(d.options),l.set(e,_),d||(d=Jy),_.value!==ah&&d.value===_.value){if(!function JV(t,n){const e=Object.keys(t),i=Object.keys(n);if(e.length!=i.length)return!1;for(let o=0;o{Yl(n,Ae),Ps(n,ze)})}return}const G=Mo(this._engine.playersByElement,n,[]);G.forEach(Ce=>{Ce.namespaceId==this.id&&Ce.triggerName==e&&Ce.queued&&Ce.destroy()});let ie=s.matchTransition(d.value,_.value,n,_.params),_e=!1;if(!ie){if(!o)return;ie=s.fallbackTransition,_e=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:e,transition:ie,fromState:d,toState:_,player:a,isFallbackTransition:_e}),_e||($o(n,lT),a.onStart(()=>{fd(n,lT)})),a.onDone(()=>{let Ce=this.players.indexOf(a);Ce>=0&&this.players.splice(Ce,1);const Ae=this._engine.playersByElement.get(n);if(Ae){let ze=Ae.indexOf(a);ze>=0&&Ae.splice(ze,1)}}),this.players.push(a),G.push(a),a}deregister(n){this._triggers.delete(n),this._engine.statesByElement.forEach(e=>e.delete(n)),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(o=>o.name!=n))})}clearElementCache(n){this._engine.statesByElement.delete(n),this._elementListeners.delete(n);const e=this._engine.playersByElement.get(n);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(n))}_signalRemovalForInnerTriggers(n,e){const i=this._engine.driver.query(n,am,!0);i.forEach(o=>{if(o[Wo])return;const s=this._engine.fetchNamespacesByElement(o);s.size?s.forEach(a=>a.triggerLeaveAnimation(o,e,!1,!0)):this.clearElementCache(o)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(o=>this.clearElementCache(o)))}triggerLeaveAnimation(n,e,i,o){const s=this._engine.statesByElement.get(n),a=new Map;if(s){const l=[];if(s.forEach((d,_)=>{if(a.set(_,d.value),this._triggers.has(_)){const E=this.trigger(n,_,ah,o);E&&l.push(E)}}),l.length)return this._engine.markElementAsRemoved(this.id,n,!0,e,a),i&&Ba(l).onDone(()=>this._engine.processLeaveNode(n)),!0}return!1}prepareLeaveAnimationListeners(n){const e=this._elementListeners.get(n),i=this._engine.statesByElement.get(n);if(e&&i){const o=new Set;e.forEach(s=>{const a=s.name;if(o.has(a))return;o.add(a);const d=this._triggers.get(a).fallbackTransition,_=i.get(a)||Jy,E=new Xy(ah),F=new Qy(this.id,a,n);this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:a,transition:d,fromState:_,toState:E,player:F,isFallbackTransition:!0})})}}removeNode(n,e){const i=this._engine;if(n.childElementCount&&this._signalRemovalForInnerTriggers(n,e),this.triggerLeaveAnimation(n,e,!0))return;let o=!1;if(i.totalAnimations){const s=i.players.length?i.playersByQueriedElement.get(n):[];if(s&&s.length)o=!0;else{let a=n;for(;a=a.parentNode;)if(i.statesByElement.get(a)){o=!0;break}}}if(this.prepareLeaveAnimationListeners(n),o)i.markElementAsRemoved(this.id,n,!1,e);else{const s=n[Wo];(!s||s===cT)&&(i.afterFlush(()=>this.clearElementCache(n)),i.destroyInnerAnimations(n),i._onRemovalComplete(n,e))}}insertNode(n,e){$o(n,this._hostClassName)}drainQueuedTransitions(n){const e=[];return this._queue.forEach(i=>{const o=i.player;if(o.destroyed)return;const s=i.element,a=this._elementListeners.get(s);a&&a.forEach(l=>{if(l.name==i.triggerName){const d=Fy(s,i.triggerName,i.fromState.value,i.toState.value);d._data=n,Oy(i.player,l.phase,d,l.callback)}}),o.markedForDestroy?this._engine.afterFlush(()=>{o.destroy()}):e.push(i)}),this._queue=[],e.sort((i,o)=>{const s=i.transition.ast.depCount,a=o.transition.ast.depCount;return 0==s||0==a?s-a:this._engine.driver.containsElement(i.element,o.element)?1:-1})}destroy(n){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,n)}elementContainsData(n){let e=!1;return this._elementListeners.has(n)&&(e=!0),e=!!this._queue.find(i=>i.element===n)||e,e}}class $V{_onRemovalComplete(n,e){this.onRemovalComplete(n,e)}constructor(n,e,i){this.bodyNode=n,this.driver=e,this._normalizer=i,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=(o,s)=>{}}get queuedPlayers(){const n=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&n.push(i)})}),n}createNamespace(n,e){const i=new WV(n,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[n]=i}_balanceNamespaceList(n,e){const i=this._namespaceList,o=this.namespacesByHostElement;if(i.length-1>=0){let a=!1,l=this.driver.getParentElement(e);for(;l;){const d=o.get(l);if(d){const _=i.indexOf(d);i.splice(_+1,0,n),a=!0;break}l=this.driver.getParentElement(l)}a||i.unshift(n)}else i.push(n);return o.set(e,n),n}register(n,e){let i=this._namespaceLookup[n];return i||(i=this.createNamespace(n,e)),i}registerTrigger(n,e,i){let o=this._namespaceLookup[n];o&&o.register(e,i)&&this.totalAnimations++}destroy(n,e){if(!n)return;const i=this._fetchNamespace(n);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[n];const o=this._namespaceList.indexOf(i);o>=0&&this._namespaceList.splice(o,1)}),this.afterFlushAnimationsDone(()=>i.destroy(e))}_fetchNamespace(n){return this._namespaceLookup[n]}fetchNamespacesByElement(n){const e=new Set,i=this.statesByElement.get(n);if(i)for(let o of i.values())if(o.namespaceId){const s=this._fetchNamespace(o.namespaceId);s&&e.add(s)}return e}trigger(n,e,i,o){if(gm(e)){const s=this._fetchNamespace(n);if(s)return s.trigger(e,i,o),!0}return!1}insertNode(n,e,i,o){if(!gm(e))return;const s=e[Wo];if(s&&s.setForRemoval){s.setForRemoval=!1,s.setForMove=!0;const a=this.collectedLeaveElements.indexOf(e);a>=0&&this.collectedLeaveElements.splice(a,1)}if(n){const a=this._fetchNamespace(n);a&&a.insertNode(e,i)}o&&this.collectEnterElement(e)}collectEnterElement(n){this.collectedEnterElements.push(n)}markElementAsDisabled(n,e){e?this.disabledNodes.has(n)||(this.disabledNodes.add(n),$o(n,Zy)):this.disabledNodes.has(n)&&(this.disabledNodes.delete(n),fd(n,Zy))}removeNode(n,e,i,o){if(gm(e)){const s=n?this._fetchNamespace(n):null;if(s?s.removeNode(e,o):this.markElementAsRemoved(n,e,!1,o),i){const a=this.namespacesByHostElement.get(e);a&&a.id!==n&&a.removeNode(e,o)}}else this._onRemovalComplete(e,o)}markElementAsRemoved(n,e,i,o,s){this.collectedLeaveElements.push(e),e[Wo]={namespaceId:n,setForRemoval:o,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:s}}listen(n,e,i,o,s){return gm(e)?this._fetchNamespace(n).listen(e,i,o,s):()=>{}}_buildInstruction(n,e,i,o,s){return n.transition.build(this.driver,n.element,n.fromState.value,n.toState.value,i,o,n.fromState.options,n.toState.options,e,s)}destroyInnerAnimations(n){let e=this.driver.query(n,am,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(n,Hy,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(n){const e=this.playersByElement.get(n);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(n){const e=this.playersByQueriedElement.get(n);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(n=>{if(this.players.length)return Ba(this.players).onDone(()=>n());n()})}processLeaveNode(n){const e=n[Wo];if(e&&e.setForRemoval){if(n[Wo]=cT,e.namespaceId){this.destroyInnerAnimations(n);const i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(n)}this._onRemovalComplete(n,e.setForRemoval)}n.classList?.contains(Zy)&&this.markElementAsDisabled(n,!1),this.driver.query(n,".ng-animate-disabled",!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(n=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,o)=>this._balanceNamespaceList(i,o)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],e.length?Ba(e).onDone(()=>{i.forEach(o=>o())}):i.forEach(o=>o())}}reportError(n){throw function ZB(t){return new Fe(3402,!1)}()}_flushAnimations(n,e){const i=new fm,o=[],s=new Map,a=[],l=new Map,d=new Map,_=new Map,E=new Set;this.disabledNodes.forEach(pt=>{E.add(pt);const yt=this.driver.query(pt,".ng-animate-queued",!0);for(let Ot=0;Ot{const Ot=Yy+Ce++;_e.set(yt,Ot),pt.forEach(vn=>$o(vn,Ot))});const Ae=[],ze=new Set,Ee=new Set;for(let pt=0;ptze.add(vn)):Ee.add(yt))}const qe=new Map,dt=hT(G,Array.from(ze));dt.forEach((pt,yt)=>{const Ot=om+Ce++;qe.set(yt,Ot),pt.forEach(vn=>$o(vn,Ot))}),n.push(()=>{ie.forEach((pt,yt)=>{const Ot=_e.get(yt);pt.forEach(vn=>fd(vn,Ot))}),dt.forEach((pt,yt)=>{const Ot=qe.get(yt);pt.forEach(vn=>fd(vn,Ot))}),Ae.forEach(pt=>{this.processLeaveNode(pt)})});const Rt=[],sn=[];for(let pt=this._namespaceList.length-1;pt>=0;pt--)this._namespaceList[pt].drainQueuedTransitions(e).forEach(Ot=>{const vn=Ot.player,_r=Ot.element;if(Rt.push(vn),this.collectedEnterElements.length){const Rr=_r[Wo];if(Rr&&Rr.setForMove){if(Rr.previousTriggersValues&&Rr.previousTriggersValues.has(Ot.triggerName)){const cc=Rr.previousTriggersValues.get(Ot.triggerName),qo=this.statesByElement.get(Ot.element);if(qo&&qo.has(Ot.triggerName)){const Yg=qo.get(Ot.triggerName);Yg.value=cc,qo.set(Ot.triggerName,Yg)}}return void vn.destroy()}}const Ns=!F||!this.driver.containsElement(F,_r),Eo=qe.get(_r),cl=_e.get(_r),Mi=this._buildInstruction(Ot,i,cl,Eo,Ns);if(Mi.errors&&Mi.errors.length)return void sn.push(Mi);if(Ns)return vn.onStart(()=>Yl(_r,Mi.fromStyles)),vn.onDestroy(()=>Ps(_r,Mi.toStyles)),void o.push(vn);if(Ot.isFallbackTransition)return vn.onStart(()=>Yl(_r,Mi.fromStyles)),vn.onDestroy(()=>Ps(_r,Mi.toStyles)),void o.push(vn);const $P=[];Mi.timelines.forEach(Rr=>{Rr.stretchStartingKeyframe=!0,this.disabledNodes.has(Rr.element)||$P.push(Rr)}),Mi.timelines=$P,i.append(_r,Mi.timelines),a.push({instruction:Mi,player:vn,element:_r}),Mi.queriedElements.forEach(Rr=>Mo(l,Rr,[]).push(vn)),Mi.preStyleProps.forEach((Rr,cc)=>{if(Rr.size){let qo=d.get(cc);qo||d.set(cc,qo=new Set),Rr.forEach((Yg,K1)=>qo.add(K1))}}),Mi.postStyleProps.forEach((Rr,cc)=>{let qo=_.get(cc);qo||_.set(cc,qo=new Set),Rr.forEach((Yg,K1)=>qo.add(K1))})});if(sn.length){const pt=[];sn.forEach(yt=>{pt.push(function XB(t,n){return new Fe(3505,!1)}())}),Rt.forEach(yt=>yt.destroy()),this.reportError(pt)}const Ii=new Map,ds=new Map;a.forEach(pt=>{const yt=pt.element;i.has(yt)&&(ds.set(yt,yt),this._beforeAnimationBuild(pt.player.namespaceId,pt.instruction,Ii))}),o.forEach(pt=>{const yt=pt.element;this._getPreviousPlayers(yt,!1,pt.namespaceId,pt.triggerName,null).forEach(vn=>{Mo(Ii,yt,[]).push(vn),vn.destroy()})});const us=Ae.filter(pt=>pT(pt,d,_)),ga=new Map;uT(ga,this.driver,Ee,_,na).forEach(pt=>{pT(pt,d,_)&&us.push(pt)});const lf=new Map;ie.forEach((pt,yt)=>{uT(lf,this.driver,new Set(pt),d,Py)}),us.forEach(pt=>{const yt=ga.get(pt),Ot=lf.get(pt);ga.set(pt,new Map([...Array.from(yt?.entries()??[]),...Array.from(Ot?.entries()??[])]))});const lc=[],UP=[],WP={};a.forEach(pt=>{const{element:yt,player:Ot,instruction:vn}=pt;if(i.has(yt)){if(E.has(yt))return Ot.onDestroy(()=>Ps(yt,vn.toStyles)),Ot.disabled=!0,Ot.overrideTotalTime(vn.totalTime),void o.push(Ot);let _r=WP;if(ds.size>1){let Eo=yt;const cl=[];for(;Eo=Eo.parentNode;){const Mi=ds.get(Eo);if(Mi){_r=Mi;break}cl.push(Eo)}cl.forEach(Mi=>ds.set(Mi,_r))}const Ns=this._buildAnimation(Ot.namespaceId,vn,Ii,s,lf,ga);if(Ot.setRealPlayer(Ns),_r===WP)lc.push(Ot);else{const Eo=this.playersByElement.get(_r);Eo&&Eo.length&&(Ot.parentPlayer=Ba(Eo)),o.push(Ot)}}else Yl(yt,vn.fromStyles),Ot.onDestroy(()=>Ps(yt,vn.toStyles)),UP.push(Ot),E.has(yt)&&o.push(Ot)}),UP.forEach(pt=>{const yt=s.get(pt.element);if(yt&&yt.length){const Ot=Ba(yt);pt.setRealPlayer(Ot)}}),o.forEach(pt=>{pt.parentPlayer?pt.syncPlayerEvents(pt.parentPlayer):pt.destroy()});for(let pt=0;pt!Ns.destroyed);_r.length?ZV(this,yt,_r):this.processLeaveNode(yt)}return Ae.length=0,lc.forEach(pt=>{this.players.push(pt),pt.onDone(()=>{pt.destroy();const yt=this.players.indexOf(pt);this.players.splice(yt,1)}),pt.play()}),lc}elementContainsData(n,e){let i=!1;const o=e[Wo];return o&&o.setForRemoval&&(i=!0),this.playersByElement.has(e)&&(i=!0),this.playersByQueriedElement.has(e)&&(i=!0),this.statesByElement.has(e)&&(i=!0),this._fetchNamespace(n).elementContainsData(e)||i}afterFlush(n){this._flushFns.push(n)}afterFlushAnimationsDone(n){this._whenQuietFns.push(n)}_getPreviousPlayers(n,e,i,o,s){let a=[];if(e){const l=this.playersByQueriedElement.get(n);l&&(a=l)}else{const l=this.playersByElement.get(n);if(l){const d=!s||s==ah;l.forEach(_=>{_.queued||!d&&_.triggerName!=o||a.push(_)})}}return(i||o)&&(a=a.filter(l=>!(i&&i!=l.namespaceId||o&&o!=l.triggerName))),a}_beforeAnimationBuild(n,e,i){const s=e.element,a=e.isRemovalTransition?void 0:n,l=e.isRemovalTransition?void 0:e.triggerName;for(const d of e.timelines){const _=d.element,E=_!==s,F=Mo(i,_,[]);this._getPreviousPlayers(_,E,a,l,e.toState).forEach(ie=>{const _e=ie.getRealPlayer();_e.beforeDestroy&&_e.beforeDestroy(),ie.destroy(),F.push(ie)})}Yl(s,e.fromStyles)}_buildAnimation(n,e,i,o,s,a){const l=e.triggerName,d=e.element,_=[],E=new Set,F=new Set,G=e.timelines.map(_e=>{const Ce=_e.element;E.add(Ce);const Ae=Ce[Wo];if(Ae&&Ae.removedBeforeQueried)return new ih(_e.duration,_e.delay);const ze=Ce!==d,Ee=function XV(t){const n=[];return fT(t,n),n}((i.get(Ce)||zV).map(Ii=>Ii.getRealPlayer())).filter(Ii=>!!Ii.element&&Ii.element===Ce),qe=s.get(Ce),dt=a.get(Ce),Rt=zD(this._normalizer,_e.keyframes,qe,dt),sn=this._buildPlayer(_e,Rt,Ee);if(_e.subTimeline&&o&&F.add(Ce),ze){const Ii=new Qy(n,l,Ce);Ii.setRealPlayer(sn),_.push(Ii)}return sn});_.forEach(_e=>{Mo(this.playersByQueriedElement,_e.element,[]).push(_e),_e.onDone(()=>function GV(t,n,e){let i=t.get(n);if(i){if(i.length){const o=i.indexOf(e);i.splice(o,1)}0==i.length&&t.delete(n)}return i}(this.playersByQueriedElement,_e.element,_e))}),E.forEach(_e=>$o(_e,ZD));const ie=Ba(G);return ie.onDestroy(()=>{E.forEach(_e=>fd(_e,ZD)),Ps(d,e.toStyles)}),F.forEach(_e=>{Mo(o,_e,[]).push(ie)}),ie}_buildPlayer(n,e,i){return e.length>0?this.driver.animate(n.element,e,n.duration,n.delay,n.easing,i):new ih(n.duration,n.delay)}}class Qy{constructor(n,e,i){this.namespaceId=n,this.triggerName=e,this.element=i,this._player=new ih,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(n){this._containsRealPlayer||(this._player=n,this._queuedCallbacks.forEach((e,i)=>{e.forEach(o=>Oy(n,i,void 0,o))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(n.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(n){this.totalTime=n}syncPlayerEvents(n){const e=this._player;e.triggerCallback&&n.onStart(()=>e.triggerCallback("start")),n.onDone(()=>this.finish()),n.onDestroy(()=>this.destroy())}_queueEvent(n,e){Mo(this._queuedCallbacks,n,[]).push(e)}onDone(n){this.queued&&this._queueEvent("done",n),this._player.onDone(n)}onStart(n){this.queued&&this._queueEvent("start",n),this._player.onStart(n)}onDestroy(n){this.queued&&this._queueEvent("destroy",n),this._player.onDestroy(n)}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(n){this.queued||this._player.setPosition(n)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(n){const e=this._player;e.triggerCallback&&e.triggerCallback(n)}}function gm(t){return t&&1===t.nodeType}function dT(t,n){const e=t.style.display;return t.style.display=n??"none",e}function uT(t,n,e,i,o){const s=[];e.forEach(d=>s.push(dT(d)));const a=[];i.forEach((d,_)=>{const E=new Map;d.forEach(F=>{const G=n.computeStyle(_,F,o);E.set(F,G),(!G||0==G.length)&&(_[Wo]=UV,a.push(_))}),t.set(_,E)});let l=0;return e.forEach(d=>dT(d,s[l++])),a}function hT(t,n){const e=new Map;if(t.forEach(l=>e.set(l,[])),0==n.length)return e;const i=1,o=new Set(n),s=new Map;function a(l){if(!l)return i;let d=s.get(l);if(d)return d;const _=l.parentNode;return d=e.has(_)?_:o.has(_)?i:a(_),s.set(l,d),d}return n.forEach(l=>{const d=a(l);d!==i&&e.get(d).push(l)}),e}function $o(t,n){t.classList?.add(n)}function fd(t,n){t.classList?.remove(n)}function ZV(t,n,e){Ba(e).onDone(()=>t.processLeaveNode(n))}function fT(t,n){for(let e=0;eo.add(s)):n.set(t,i),e.delete(t),!0}class _m{constructor(n,e,i){this.bodyNode=n,this._driver=e,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(o,s)=>{},this._transitionEngine=new $V(n,e,i),this._timelineEngine=new YV(n,e,i),this._transitionEngine.onRemovalComplete=(o,s)=>this.onRemovalComplete(o,s)}registerTrigger(n,e,i,o,s){const a=n+"-"+o;let l=this._triggerCache[a];if(!l){const d=[],E=zy(this._driver,s,d,[]);if(d.length)throw function BB(t,n){return new Fe(3404,!1)}();l=function AV(t,n,e){return new FV(t,n,e)}(o,E,this._normalizer),this._triggerCache[a]=l}this._transitionEngine.registerTrigger(e,o,l)}register(n,e){this._transitionEngine.register(n,e)}destroy(n,e){this._transitionEngine.destroy(n,e)}onInsert(n,e,i,o){this._transitionEngine.insertNode(n,e,i,o)}onRemove(n,e,i,o){this._transitionEngine.removeNode(n,e,o||!1,i)}disableAnimations(n,e){this._transitionEngine.markElementAsDisabled(n,e)}process(n,e,i,o){if("@"==i.charAt(0)){const[s,a]=UD(i);this._timelineEngine.command(s,e,a,o)}else this._transitionEngine.trigger(n,e,i,o)}listen(n,e,i,o,s){if("@"==i.charAt(0)){const[a,l]=UD(i);return this._timelineEngine.listen(a,e,l,s)}return this._transitionEngine.listen(n,e,i,o,s)}flush(n=-1){this._transitionEngine.flush(n)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}let e8=(()=>{class t{constructor(e,i,o){this._element=e,this._startStyles=i,this._endStyles=o,this._state=0;let s=t.initialStylesByElement.get(e);s||t.initialStylesByElement.set(e,s=new Map),this._initialStyles=s}start(){this._state<1&&(this._startStyles&&Ps(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Ps(this._element,this._initialStyles),this._endStyles&&(Ps(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(Yl(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Yl(this._element,this._endStyles),this._endStyles=null),Ps(this._element,this._initialStyles),this._state=3)}}return t.initialStylesByElement=new WeakMap,t})();function e0(t){let n=null;return t.forEach((e,i)=>{(function t8(t){return"display"===t||"position"===t})(i)&&(n=n||new Map,n.set(i,e))}),n}class mT{constructor(n,e,i,o){this.element=n,this.keyframes=e,this.options=i,this._specialStyles=o,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const n=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,n,this.options),this._finalKeyframe=n.length?n[n.length-1]:new Map,this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(n){const e=[];return n.forEach(i=>{e.push(Object.fromEntries(i))}),e}_triggerWebAnimation(n,e,i){return n.animate(this._convertKeyframesToObject(e),i)}onStart(n){this._originalOnStartFns.push(n),this._onStartFns.push(n)}onDone(n){this._originalOnDoneFns.push(n),this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(n=>n()),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,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_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(n=>n()),this._onDestroyFns=[])}setPosition(n){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=n*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const n=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,o)=>{"offset"!==o&&n.set(o,this._finished?i:eT(this.element,o))}),this.currentSnapshot=n}triggerCallback(n){const e="start"===n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class n8{validateStyleProperty(n){return!0}validateAnimatableStyleProperty(n){return!0}matchesElement(n,e){return!1}containsElement(n,e){return $D(n,e)}getParentElement(n){return Ry(n)}query(n,e,i){return GD(n,e,i)}computeStyle(n,e,i){return window.getComputedStyle(n)[e]}animate(n,e,i,o,s,a=[]){const d={duration:i,delay:o,fill:0==o?"both":"forwards"};s&&(d.easing=s);const _=new Map,E=a.filter(ie=>ie instanceof mT);(function cV(t,n){return 0===t||0===n})(i,o)&&E.forEach(ie=>{ie.currentSnapshot.forEach((_e,Ce)=>_.set(Ce,_e))});let F=function sV(t){return t.length?t[0]instanceof Map?t:t.map(n=>XD(n)):[]}(e).map(ie=>Va(ie));F=function dV(t,n,e){if(e.size&&n.length){let i=n[0],o=[];if(e.forEach((s,a)=>{i.has(a)||o.push(a),i.set(a,s)}),o.length)for(let s=1;sa.set(l,eT(t,l)))}}return n}(n,F,_);const G=function QV(t,n){let e=null,i=null;return Array.isArray(n)&&n.length?(e=e0(n[0]),n.length>1&&(i=e0(n[n.length-1]))):n instanceof Map&&(e=e0(n)),e||i?new e8(t,e,i):null}(n,F);return new mT(n,F,d,G)}}let i8=(()=>{class t extends ND{constructor(e,i){super(),this._nextAnimationId=0,this._renderer=e.createRenderer(i.body,{id:"0",encapsulation:Dr.None,styles:[],data:{animation:[]}})}build(e){const i=this._nextAnimationId.toString();this._nextAnimationId++;const o=Array.isArray(e)?HD(e):e;return gT(this._renderer,null,i,"register",[o]),new r8(i,this._renderer)}}return t.\u0275fac=function(e){return new(e||t)(we(Lu),we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();class r8 extends bB{constructor(n,e){super(),this._id=n,this._renderer=e}create(n,e){return new o8(this._id,n,e||{},this._renderer)}}class o8{constructor(n,e,i,o){this.id=n,this.element=e,this._renderer=o,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(n,e){return this._renderer.listen(this.element,`@@${this.id}:${n}`,e)}_command(n,...e){return gT(this._renderer,this.element,this.id,n,e)}onDone(n){this._listen("done",n)}onStart(n){this._listen("start",n)}onDestroy(n){this._listen("destroy",n)}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(n){this._command("setPosition",n)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function gT(t,n,e,i,o){return t.setProperty(n,`@@${e}:${i}`,o)}const _T="@.disabled";let s8=(()=>{class t{constructor(e,i,o){this.delegate=e,this.engine=i,this._zone=o,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),i.onRemovalComplete=(s,a)=>{const l=a?.parentNode(s);l&&a.removeChild(l,s)}}createRenderer(e,i){const s=this.delegate.createRenderer(e,i);if(!(e&&i&&i.data&&i.data.animation)){let E=this._rendererCache.get(s);return E||(E=new bT("",s,this.engine,()=>this._rendererCache.delete(s)),this._rendererCache.set(s,E)),E}const a=i.id,l=i.id+"-"+this._currentId;this._currentId++,this.engine.register(l,e);const d=E=>{Array.isArray(E)?E.forEach(d):this.engine.registerTrigger(a,l,e,E.name,E)};return i.data.animation.forEach(d),new a8(this,l,s,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(e,i,o){e>=0&&ei(o)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(s=>{const[a,l]=s;a(l)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,o]))}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 t.\u0275fac=function(e){return new(e||t)(we(Lu),we(_m),we(ft))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();class bT{constructor(n,e,i,o){this.namespaceId=n,this.delegate=e,this.engine=i,this._onDestroy=o,this.destroyNode=this.delegate.destroyNode?s=>e.destroyNode(s):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy(),this._onDestroy?.()}createElement(n,e){return this.delegate.createElement(n,e)}createComment(n){return this.delegate.createComment(n)}createText(n){return this.delegate.createText(n)}appendChild(n,e){this.delegate.appendChild(n,e),this.engine.onInsert(this.namespaceId,e,n,!1)}insertBefore(n,e,i,o=!0){this.delegate.insertBefore(n,e,i),this.engine.onInsert(this.namespaceId,e,n,o)}removeChild(n,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate,i)}selectRootElement(n,e){return this.delegate.selectRootElement(n,e)}parentNode(n){return this.delegate.parentNode(n)}nextSibling(n){return this.delegate.nextSibling(n)}setAttribute(n,e,i,o){this.delegate.setAttribute(n,e,i,o)}removeAttribute(n,e,i){this.delegate.removeAttribute(n,e,i)}addClass(n,e){this.delegate.addClass(n,e)}removeClass(n,e){this.delegate.removeClass(n,e)}setStyle(n,e,i,o){this.delegate.setStyle(n,e,i,o)}removeStyle(n,e,i){this.delegate.removeStyle(n,e,i)}setProperty(n,e,i){"@"==e.charAt(0)&&e==_T?this.disableAnimations(n,!!i):this.delegate.setProperty(n,e,i)}setValue(n,e){this.delegate.setValue(n,e)}listen(n,e,i){return this.delegate.listen(n,e,i)}disableAnimations(n,e){this.engine.disableAnimations(n,e)}}class a8 extends bT{constructor(n,e,i,o,s){super(e,i,o,s),this.factory=n,this.namespaceId=e}setProperty(n,e,i){"@"==e.charAt(0)?"."==e.charAt(1)&&e==_T?this.disableAnimations(n,i=void 0===i||!!i):this.engine.process(this.namespaceId,n,e.slice(1),i):this.delegate.setProperty(n,e,i)}listen(n,e,i){if("@"==e.charAt(0)){const o=function l8(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(n);let s=e.slice(1),a="";return"@"!=s.charAt(0)&&([s,a]=function c8(t){const n=t.indexOf(".");return[t.substring(0,n),t.slice(n+1)]}(s)),this.engine.listen(this.namespaceId,o,s,a,l=>{this.factory.scheduleListenerCallback(l._data||-1,i,l)})}return this.delegate.listen(n,e,i)}}let d8=(()=>{class t extends _m{constructor(e,i,o,s){super(e.body,i,o)}ngOnDestroy(){this.flush()}}return t.\u0275fac=function(e){return new(e||t)(we(It),we(Ny),we(qy),we(Na))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const vT=[{provide:ND,useClass:i8},{provide:qy,useFactory:function u8(){return new EV}},{provide:_m,useClass:d8},{provide:Lu,useFactory:function h8(t,n,e){return new s8(t,n,e)},deps:[ky,_m,ft]}],t0=[{provide:Ny,useFactory:()=>new n8},{provide:Ri,useValue:"BrowserAnimations"},...vT],yT=[{provide:Ny,useClass:qD},{provide:Ri,useValue:"NoopAnimations"},...vT];let f8=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?yT:t0}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:t0,imports:[ID]}),t})();function $e(...t){let n=t[t.length-1];return Se(n)?(t.pop(),W(t,n)):An(t)}function Bl(t,n){return Ye(t,n,1)}function _i(t,n){return function(i){return i.lift(new p8(t,n))}}class p8{constructor(n,e){this.predicate=n,this.thisArg=e}call(n,e){return e.subscribe(new m8(n,this.predicate,this.thisArg))}}class m8 extends A{constructor(n,e,i){super(n),this.predicate=e,this.thisArg=i,this.count=0}_next(n){let e;try{e=this.predicate.call(this.thisArg,n,this.count++)}catch(i){return void this.destination.error(i)}e&&this.destination.next(n)}}function gr(t,n){return"function"==typeof n?e=>e.pipe(gr((i,o)=>ue(t(i,o)).pipe(ke((s,a)=>n(i,s,o,a))))):e=>e.lift(new g8(t))}class g8{constructor(n){this.project=n}call(n,e){return e.subscribe(new _8(n,this.project))}}class _8 extends Me{constructor(n,e){super(n),this.project=e,this.index=0}_next(n){let e;const i=this.index++;try{e=this.project(n,i)}catch(o){return void this.destination.error(o)}this._innerSub(e)}_innerSub(n){const e=this.innerSubscription;e&&e.unsubscribe();const i=new be(this),o=this.destination;o.add(i),this.innerSubscription=Ie(n,i),this.innerSubscription!==i&&o.add(this.innerSubscription)}_complete(){const{innerSubscription:n}=this;(!n||n.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(n){this.destination.next(n)}}class vm{}class n0{}class rs{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?this.lazyInit="string"==typeof n?()=>{this.headers=new Map,n.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const o=e.slice(0,i),s=o.toLowerCase(),a=e.slice(i+1).trim();this.maybeSetNormalizedName(o,s),this.headers.has(s)?this.headers.get(s).push(a):this.headers.set(s,[a])}})}:()=>{this.headers=new Map,Object.entries(n).forEach(([e,i])=>{let o;if(o="string"==typeof i?[i]:"number"==typeof i?[i.toString()]:i.map(s=>s.toString()),o.length>0){const s=e.toLowerCase();this.headers.set(s,o),this.maybeSetNormalizedName(e,s)}})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof rs?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){const e=new rs;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof rs?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){const e=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,e);const o=("a"===n.op?this.headers.get(e):void 0)||[];o.push(...i),this.headers.set(e,o);break;case"d":const s=n.value;if(s){let a=this.headers.get(e);if(!a)return;a=a.filter(l=>-1===s.indexOf(l)),0===a.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,a)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}}class b8{encodeKey(n){return MT(n)}encodeValue(n){return MT(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const y8=/%(\d[a-f0-9])/gi,M8={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function MT(t){return encodeURIComponent(t).replace(y8,(n,e)=>M8[e]??n)}function ym(t){return`${t}`}class ja{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new b8,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function v8(t,n){const e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(o=>{const s=o.indexOf("="),[a,l]=-1==s?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,s)),n.decodeValue(o.slice(s+1))],d=e.get(a)||[];d.push(l),e.set(a,d)}),e}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{const i=n.fromObject[e],o=Array.isArray(i)?i.map(ym):[ym(i)];this.map.set(e,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){const e=[];return Object.keys(n).forEach(i=>{const o=n[i];Array.isArray(o)?o.forEach(s=>{e.push({param:i,value:s,op:"a"})}):e.push({param:i,value:o,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const e=this.encoder.encodeKey(n);return this.map.get(n).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const e=new ja({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const e=("a"===n.op?this.map.get(n.param):void 0)||[];e.push(ym(n.value)),this.map.set(n.param,e);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const o=i.indexOf(ym(n.value));-1!==o&&i.splice(o,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class w8{constructor(){this.map=new Map}set(n,e){return this.map.set(n,e),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function wT(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function CT(t){return typeof Blob<"u"&&t instanceof Blob}function xT(t){return typeof FormData<"u"&&t instanceof FormData}class lh{constructor(n,e,i,o){let s;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function C8(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==i?i:null,s=o):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new rs),this.context||(this.context=new w8),this.params){const a=this.params.toString();if(0===a.length)this.urlWithParams=e;else{const l=e.indexOf("?");this.urlWithParams=e+(-1===l?"?":lF.set(G,n.setHeaders[G]),d)),n.setParams&&(_=Object.keys(n.setParams).reduce((F,G)=>F.set(G,n.setParams[G]),_)),new lh(e,i,s,{params:_,headers:d,context:E,reportProgress:l,responseType:o,withCredentials:a})}}var Zi=(()=>((Zi=Zi||{})[Zi.Sent=0]="Sent",Zi[Zi.UploadProgress=1]="UploadProgress",Zi[Zi.ResponseHeader=2]="ResponseHeader",Zi[Zi.DownloadProgress=3]="DownloadProgress",Zi[Zi.Response=4]="Response",Zi[Zi.User=5]="User",Zi))();class r0{constructor(n,e=200,i="OK"){this.headers=n.headers||new rs,this.status=void 0!==n.status?n.status:e,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class o0 extends r0{constructor(n={}){super(n),this.type=Zi.ResponseHeader}clone(n={}){return new o0({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class pd extends r0{constructor(n={}){super(n),this.type=Zi.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new pd({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class kT extends r0{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function s0(t,n){return{body:n,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let Vl=(()=>{class t{constructor(e){this.handler=e}request(e,i,o={}){let s;if(e instanceof lh)s=e;else{let d,_;d=o.headers instanceof rs?o.headers:new rs(o.headers),o.params&&(_=o.params instanceof ja?o.params:new ja({fromObject:o.params})),s=new lh(e,i,void 0!==o.body?o.body:null,{headers:d,context:o.context,params:_,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials})}const a=$e(s).pipe(Bl(d=>this.handler.handle(d)));if(e instanceof lh||"events"===o.observe)return a;const l=a.pipe(_i(d=>d instanceof pd));switch(o.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return l.pipe(ke(d=>{if(null!==d.body&&!(d.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return d.body}));case"blob":return l.pipe(ke(d=>{if(null!==d.body&&!(d.body instanceof Blob))throw new Error("Response is not a Blob.");return d.body}));case"text":return l.pipe(ke(d=>{if(null!==d.body&&"string"!=typeof d.body)throw new Error("Response is not a string.");return d.body}));default:return l.pipe(ke(d=>d.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new ja).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,o={}){return this.request("PATCH",e,s0(o,i))}post(e,i,o={}){return this.request("POST",e,s0(o,i))}put(e,i,o={}){return this.request("PUT",e,s0(o,i))}}return t.\u0275fac=function(e){return new(e||t)(we(vm))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();function ST(t,n){return n(t)}function k8(t,n){return(e,i)=>n.intercept(e,{handle:o=>t(o,i)})}const D8=new Re(""),ch=new Re(""),DT=new Re("");function T8(){let t=null;return(n,e)=>(null===t&&(t=(Qe(D8,{optional:!0})??[]).reduceRight(k8,ST)),t(n,e))}let TT=(()=>{class t extends vm{constructor(e,i){super(),this.backend=e,this.injector=i,this.chain=null}handle(e){if(null===this.chain){const i=Array.from(new Set([...this.injector.get(ch),...this.injector.get(DT,[])]));this.chain=i.reduceRight((o,s)=>function S8(t,n,e){return(i,o)=>e.runInContext(()=>n(i,s=>t(s,o)))}(o,s,this.injector),ST)}return this.chain(e,i=>this.backend.handle(i))}}return t.\u0275fac=function(e){return new(e||t)(we(n0),we(ks))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const P8=/^\)\]\}',?\n/;let ET=(()=>{class t{constructor(e){this.xhrFactory=e}handle(e){if("JSONP"===e.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");const i=this.xhrFactory;return(i.\u0275loadImpl?ue(i.\u0275loadImpl()):$e(null)).pipe(gr(()=>new he(s=>{const a=i.build();if(a.open(e.method,e.urlWithParams),e.withCredentials&&(a.withCredentials=!0),e.headers.forEach((Ee,qe)=>a.setRequestHeader(Ee,qe.join(","))),e.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){const Ee=e.detectContentTypeHeader();null!==Ee&&a.setRequestHeader("Content-Type",Ee)}if(e.responseType){const Ee=e.responseType.toLowerCase();a.responseType="json"!==Ee?Ee:"text"}const l=e.serializeBody();let d=null;const _=()=>{if(null!==d)return d;const Ee=a.statusText||"OK",qe=new rs(a.getAllResponseHeaders()),dt=function O8(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(a)||e.url;return d=new o0({headers:qe,status:a.status,statusText:Ee,url:dt}),d},E=()=>{let{headers:Ee,status:qe,statusText:dt,url:Rt}=_(),sn=null;204!==qe&&(sn=typeof a.response>"u"?a.responseText:a.response),0===qe&&(qe=sn?200:0);let Ii=qe>=200&&qe<300;if("json"===e.responseType&&"string"==typeof sn){const ds=sn;sn=sn.replace(P8,"");try{sn=""!==sn?JSON.parse(sn):null}catch(us){sn=ds,Ii&&(Ii=!1,sn={error:us,text:sn})}}Ii?(s.next(new pd({body:sn,headers:Ee,status:qe,statusText:dt,url:Rt||void 0})),s.complete()):s.error(new kT({error:sn,headers:Ee,status:qe,statusText:dt,url:Rt||void 0}))},F=Ee=>{const{url:qe}=_(),dt=new kT({error:Ee,status:a.status||0,statusText:a.statusText||"Unknown Error",url:qe||void 0});s.error(dt)};let G=!1;const ie=Ee=>{G||(s.next(_()),G=!0);let qe={type:Zi.DownloadProgress,loaded:Ee.loaded};Ee.lengthComputable&&(qe.total=Ee.total),"text"===e.responseType&&a.responseText&&(qe.partialText=a.responseText),s.next(qe)},_e=Ee=>{let qe={type:Zi.UploadProgress,loaded:Ee.loaded};Ee.lengthComputable&&(qe.total=Ee.total),s.next(qe)};let Ce;a.addEventListener("load",E),a.addEventListener("error",F),a.addEventListener("timeout",F),a.addEventListener("abort",F),e.reportProgress&&(a.addEventListener("progress",ie),null!==l&&a.upload&&a.upload.addEventListener("progress",_e));const Ae=()=>{Ce??=function F8(){const t=setTimeout(()=>{},A8);return()=>clearTimeout(t)}()},ze=()=>{Ce?.()};return a.addEventListener("loadstart",Ae),a.addEventListener("loadend",ze),a.send(l),s.next({type:Zi.Sent}),()=>{a.removeEventListener("loadstart",Ae),a.removeEventListener("loadend",ze),a.removeEventListener("error",F),a.removeEventListener("abort",F),a.removeEventListener("load",E),a.removeEventListener("timeout",F),Ce?.(),e.reportProgress&&(a.removeEventListener("progress",ie),null!==l&&a.upload&&a.upload.removeEventListener("progress",_e)),a.readyState!==a.DONE&&a.abort()}})))}}return t.\u0275fac=function(e){return new(e||t)(we(pD))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const A8=2147483647,a0=new Re("XSRF_ENABLED"),IT=new Re("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),PT=new Re("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class OT{}let Y8=(()=>{class t{constructor(e,i,o){this.doc=e,this.platform=i,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=nD(e,this.cookieName),this.lastCookieString=e),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(we(It),we(Oa),we(IT))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();function H8(t,n){const e=t.url.toLowerCase();if(!Qe(a0)||"GET"===t.method||"HEAD"===t.method||e.startsWith("http://")||e.startsWith("https://"))return n(t);const i=Qe(OT).getToken(),o=Qe(PT);return null!=i&&!t.headers.has(o)&&(t=t.clone({headers:t.headers.set(o,i)})),n(t)}var Hi=(()=>((Hi=Hi||{})[Hi.Interceptors=0]="Interceptors",Hi[Hi.LegacyInterceptors=1]="LegacyInterceptors",Hi[Hi.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",Hi[Hi.NoXsrfProtection=3]="NoXsrfProtection",Hi[Hi.JsonpSupport=4]="JsonpSupport",Hi[Hi.RequestsMadeViaParent=5]="RequestsMadeViaParent",Hi))();function md(t,n){return{\u0275kind:t,\u0275providers:n}}function B8(...t){const n=[Vl,ET,TT,{provide:vm,useExisting:TT},{provide:n0,useExisting:ET},{provide:ch,useValue:H8,multi:!0},{provide:a0,useValue:!0},{provide:OT,useClass:Y8}];for(const e of t)n.push(...e.\u0275providers);return function vb(t){return{\u0275providers:t}}(n)}const AT=new Re("LEGACY_INTERCEPTOR_FN");let j8=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[B8(md(Hi.LegacyInterceptors,[{provide:AT,useFactory:T8},{provide:ch,useExisting:AT,multi:!0}]))]}),t})();function za(t){return!!t&&(t instanceof he||"function"==typeof t.lift&&"function"==typeof t.subscribe)}class Or extends J{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const e=super._subscribe(n);return e&&!e.closed&&n.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new ee;return this._value}next(n){super.next(this._value=n)}}class q8 extends A{notifyNext(n,e,i,o,s){this.destination.next(e)}notifyError(n,e){this.destination.error(n)}notifyComplete(n){this.destination.complete()}}class K8 extends A{constructor(n,e,i){super(),this.parent=n,this.outerValue=e,this.outerIndex=i,this.index=0}_next(n){this.parent.notifyNext(this.outerValue,n,this.outerIndex,this.index++,this)}_error(n){this.parent.notifyError(n,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function Z8(t,n,e,i,o=new K8(t,e,i)){if(!o.closed)return n instanceof he?n.subscribe(o):Oi(n)(o)}const FT={};function Mm(...t){let n,e;return Se(t[t.length-1])&&(e=t.pop()),"function"==typeof t[t.length-1]&&(n=t.pop()),1===t.length&&M(t[0])&&(t=t[0]),An(t,e).lift(new X8(n))}class X8{constructor(n){this.resultSelector=n}call(n,e){return e.subscribe(new J8(n,this.resultSelector))}}class J8 extends q8{constructor(n,e){super(n),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(n){this.values.push(FT),this.observables.push(n)}_complete(){const n=this.observables,e=n.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let i=0;i{function t(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return t.prototype=Object.create(Error.prototype),t})();function Ua(...t){return function Q8(){return fn(1)}()($e(...t))}const oa=new he(t=>t.complete());function Cm(t){return t?function e6(t){return new he(n=>t.schedule(()=>n.complete()))}(t):oa}function jl(t){return new he(n=>{let e;try{e=t()}catch(o){return void n.error(o)}return(e?ue(e):Cm()).subscribe(n)})}function Ar(t,n){return new he(n?e=>n.schedule(t6,0,{error:t,subscriber:e}):e=>e.error(t))}function t6({error:t,subscriber:n}){n.error(t)}const RT=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})();function Kn(t){return n=>0===t?Cm():n.lift(new n6(t))}class n6{constructor(n){if(this.total=n,this.total<0)throw new RT}call(n,e){return e.subscribe(new i6(n,this.total))}}class i6 extends A{constructor(n,e){super(n),this.total=e,this.count=0}_next(n){const e=this.total,i=++this.count;i<=e&&(this.destination.next(n),i===e&&(this.destination.complete(),this.unsubscribe()))}}function Go(...t){const n=t[t.length-1];return Se(n)?(t.pop(),e=>Ua(t,e,n)):e=>Ua(t,e)}function xm(t=null){return n=>n.lift(new r6(t))}class r6{constructor(n){this.defaultValue=n}call(n,e){return e.subscribe(new o6(n,this.defaultValue))}}class o6 extends A{constructor(n,e){super(n),this.defaultValue=e,this.isEmpty=!0}_next(n){this.isEmpty=!1,this.destination.next(n)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function NT(t=l6){return n=>n.lift(new s6(t))}class s6{constructor(n){this.errorFactory=n}call(n,e){return e.subscribe(new a6(n,this.errorFactory))}}class a6 extends A{constructor(n,e){super(n),this.errorFactory=e,this.hasValue=!1}_next(n){this.hasValue=!0,this.destination.next(n)}_complete(){if(this.hasValue)return this.destination.complete();{let n;try{n=this.errorFactory()}catch(e){n=e}this.destination.error(n)}}}function l6(){return new wm}function zl(t,n){const e=arguments.length>=2;return i=>i.pipe(t?_i((o,s)=>t(o,s,i)):ve,Kn(1),e?xm(n):NT(()=>new wm))}function Wa(){}function bi(t,n,e){return function(o){return o.lift(new c6(t,n,e))}}class c6{constructor(n,e,i){this.nextOrObserver=n,this.error=e,this.complete=i}call(n,e){return e.subscribe(new d6(n,this.nextOrObserver,this.error,this.complete))}}class d6 extends A{constructor(n,e,i,o){super(n),this._tapNext=Wa,this._tapError=Wa,this._tapComplete=Wa,this._tapError=i||Wa,this._tapComplete=o||Wa,O(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||Wa,this._tapError=e.error||Wa,this._tapComplete=e.complete||Wa)}_next(n){try{this._tapNext.call(this._context,n)}catch(e){return void this.destination.error(e)}this.destination.next(n)}_error(n){try{this._tapError.call(this._context,n)}catch(e){return void this.destination.error(e)}this.destination.error(n)}_complete(){try{this._tapComplete.call(this._context)}catch(n){return void this.destination.error(n)}return this.destination.complete()}}function Co(t){return function(e){const i=new u6(t),o=e.lift(i);return i.caught=o}}class u6{constructor(n){this.selector=n}call(n,e){return e.subscribe(new h6(n,this.selector,this.caught))}}class h6 extends Me{constructor(n,e,i){super(n),this.selector=e,this.caught=i}error(n){if(!this.isStopped){let e;try{e=this.selector(n,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new be(this);this.add(i);const o=Ie(e,i);o!==i&&this.add(o)}}}class p6{constructor(n,e,i=!1){this.accumulator=n,this.seed=e,this.hasSeed=i}call(n,e){return e.subscribe(new m6(n,this.accumulator,this.seed,this.hasSeed))}}class m6 extends A{constructor(n,e,i,o){super(n),this.accumulator=e,this._seed=i,this.hasSeed=o,this.index=0}get seed(){return this._seed}set seed(n){this.hasSeed=!0,this._seed=n}_next(n){if(this.hasSeed)return this._tryNext(n);this.seed=n,this.destination.next(n)}_tryNext(n){const e=this.index++;let i;try{i=this.accumulator(this.seed,n,e)}catch(o){this.destination.error(o)}this.seed=i,this.destination.next(i)}}function l0(t){return function(e){return 0===t?Cm():e.lift(new g6(t))}}class g6{constructor(n){if(this.total=n,this.total<0)throw new RT}call(n,e){return e.subscribe(new _6(n,this.total))}}class _6 extends A{constructor(n,e){super(n),this.total=e,this.ring=new Array,this.count=0}_next(n){const e=this.ring,i=this.total,o=this.count++;e.length0){const i=this.count>=this.total?this.total:this.count,o=this.ring;for(let s=0;sn.lift(new w6(t))}class w6{constructor(n){this.callback=n}call(n,e){return e.subscribe(new C6(n,this.callback))}}class C6 extends A{constructor(n,e){super(n),this.add(new T(e))}}const $t="primary",uh=Symbol("RouteTitle");class x6{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){const e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}}function gd(t){return new x6(t)}function k6(t,n,e){const i=e.path.split("/");if(i.length>t.length||"full"===e.pathMatch&&(n.hasChildren()||i.lengthi[s]===o)}return t===n}function HT(t){return t.length>0?t[t.length-1]:null}function $a(t){return za(t)?t:Hu(t)?ue(Promise.resolve(t)):$e(t)}const D6={exact:function jT(t,n,e){if(!Ul(t.segments,n.segments)||!Sm(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(const i in n.children)if(!t.children[i]||!jT(t.children[i],n.children[i],e))return!1;return!0},subset:zT},BT={exact:function T6(t,n){return Os(t,n)},subset:function L6(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>YT(t[e],n[e]))},ignored:()=>!0};function VT(t,n,e){return D6[e.paths](t.root,n.root,e.matrixParams)&&BT[e.queryParams](t.queryParams,n.queryParams)&&!("exact"===e.fragment&&t.fragment!==n.fragment)}function zT(t,n,e){return UT(t,n,n.segments,e)}function UT(t,n,e,i){if(t.segments.length>e.length){const o=t.segments.slice(0,e.length);return!(!Ul(o,e)||n.hasChildren()||!Sm(o,e,i))}if(t.segments.length===e.length){if(!Ul(t.segments,e)||!Sm(t.segments,e,i))return!1;for(const o in n.children)if(!t.children[o]||!zT(t.children[o],n.children[o],i))return!1;return!0}{const o=e.slice(0,t.segments.length),s=e.slice(t.segments.length);return!!(Ul(t.segments,o)&&Sm(t.segments,o,i)&&t.children[$t])&&UT(t.children[$t],n,s,i)}}function Sm(t,n,e){return n.every((i,o)=>BT[e](t[o].parameters,i.parameters))}class _d{constructor(n=new Yn([],{}),e={},i=null){this.root=n,this.queryParams=e,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=gd(this.queryParams)),this._queryParamMap}toString(){return P6.serialize(this)}}class Yn{constructor(n,e){this.segments=n,this.children=e,this.parent=null,Object.values(e).forEach(i=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Dm(this)}}class hh{constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap||(this._parameterMap=gd(this.parameters)),this._parameterMap}toString(){return GT(this)}}function Ul(t,n){return t.length===n.length&&t.every((e,i)=>e.path===n[i].path)}let fh=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(){return new c0},providedIn:"root"}),t})();class c0{parse(n){const e=new z6(n);return new _d(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){const e=`/${ph(n.root,!0)}`,i=function F6(t){const n=Object.keys(t).map(e=>{const i=t[e];return Array.isArray(i)?i.map(o=>`${Tm(e)}=${Tm(o)}`).join("&"):`${Tm(e)}=${Tm(i)}`}).filter(e=>!!e);return n.length?`?${n.join("&")}`:""}(n.queryParams),o="string"==typeof n.fragment?`#${function O6(t){return encodeURI(t)}(n.fragment)}`:"";return`${e}${i}${o}`}}const P6=new c0;function Dm(t){return t.segments.map(n=>GT(n)).join("/")}function ph(t,n){if(!t.hasChildren())return Dm(t);if(n){const e=t.children[$t]?ph(t.children[$t],!1):"",i=[];return Object.entries(t.children).forEach(([o,s])=>{o!==$t&&i.push(`${o}:${ph(s,!1)}`)}),i.length>0?`${e}(${i.join("//")})`:e}{const e=function I6(t,n){let e=[];return Object.entries(t.children).forEach(([i,o])=>{i===$t&&(e=e.concat(n(o,i)))}),Object.entries(t.children).forEach(([i,o])=>{i!==$t&&(e=e.concat(n(o,i)))}),e}(t,(i,o)=>o===$t?[ph(t.children[$t],!1)]:[`${o}:${ph(i,!1)}`]);return 1===Object.keys(t.children).length&&null!=t.children[$t]?`${Dm(t)}/${e[0]}`:`${Dm(t)}/(${e.join("//")})`}}function WT(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Tm(t){return WT(t).replace(/%3B/gi,";")}function d0(t){return WT(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Lm(t){return decodeURIComponent(t)}function $T(t){return Lm(t.replace(/\+/g,"%20"))}function GT(t){return`${d0(t.path)}${function A6(t){return Object.keys(t).map(n=>`;${d0(n)}=${d0(t[n])}`).join("")}(t.parameters)}`}const R6=/^[^\/()?;#]+/;function u0(t){const n=t.match(R6);return n?n[0]:""}const N6=/^[^\/()?;=#]+/,H6=/^[^=?&#]+/,V6=/^[^&#]+/;class z6{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Yn([],{}):new Yn([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(n.length>0||Object.keys(e).length>0)&&(i[$t]=new Yn(n,e)),i}parseSegment(){const n=u0(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new Fe(4009,!1);return this.capture(n),new hh(Lm(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const e=function Y6(t){const n=t.match(N6);return n?n[0]:""}(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const o=u0(this.remaining);o&&(i=o,this.capture(i))}n[Lm(e)]=Lm(i)}parseQueryParam(n){const e=function B6(t){const n=t.match(H6);return n?n[0]:""}(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const a=function j6(t){const n=t.match(V6);return n?n[0]:""}(this.remaining);a&&(i=a,this.capture(i))}const o=$T(e),s=$T(i);if(n.hasOwnProperty(o)){let a=n[o];Array.isArray(a)||(a=[a],n[o]=a),a.push(s)}else n[o]=s}parseParens(n){const e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=u0(this.remaining),o=this.remaining[i.length];if("/"!==o&&")"!==o&&";"!==o)throw new Fe(4010,!1);let s;i.indexOf(":")>-1?(s=i.slice(0,i.indexOf(":")),this.capture(s),this.capture(":")):n&&(s=$t);const a=this.parseChildren();e[s]=1===Object.keys(a).length?a[$t]:new Yn([],a),this.consumeOptional("//")}return e}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new Fe(4011,!1)}}function qT(t){return t.segments.length>0?new Yn([],{[$t]:t}):t}function KT(t){const n={};for(const i of Object.keys(t.children)){const s=KT(t.children[i]);if(i===$t&&0===s.segments.length&&s.hasChildren())for(const[a,l]of Object.entries(s.children))n[a]=l;else(s.segments.length>0||s.hasChildren())&&(n[i]=s)}return function U6(t){if(1===t.numberOfChildren&&t.children[$t]){const n=t.children[$t];return new Yn(t.segments.concat(n.segments),n.children)}return t}(new Yn(t.segments,n))}function Wl(t){return t instanceof _d}function ZT(t){let n;const o=qT(function e(s){const a={};for(const d of s.children){const _=e(d);a[d.outlet]=_}const l=new Yn(s.url,a);return s===t&&(n=l),l}(t.root));return n??o}function XT(t,n,e,i){let o=t;for(;o.parent;)o=o.parent;if(0===n.length)return h0(o,o,o,e,i);const s=function $6(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new QT(!0,0,t);let n=0,e=!1;const i=t.reduce((o,s,a)=>{if("object"==typeof s&&null!=s){if(s.outlets){const l={};return Object.entries(s.outlets).forEach(([d,_])=>{l[d]="string"==typeof _?_.split("/"):_}),[...o,{outlets:l}]}if(s.segmentPath)return[...o,s.segmentPath]}return"string"!=typeof s?[...o,s]:0===a?(s.split("/").forEach((l,d)=>{0==d&&"."===l||(0==d&&""===l?e=!0:".."===l?n++:""!=l&&o.push(l))}),o):[...o,s]},[]);return new QT(e,n,i)}(n);if(s.toRoot())return h0(o,o,new Yn([],{}),e,i);const a=function G6(t,n,e){if(t.isAbsolute)return new Im(n,!0,0);if(!e)return new Im(n,!1,NaN);if(null===e.parent)return new Im(e,!0,0);const i=Em(t.commands[0])?0:1;return function q6(t,n,e){let i=t,o=n,s=e;for(;s>o;){if(s-=o,i=i.parent,!i)throw new Fe(4005,!1);o=i.segments.length}return new Im(i,!1,o-s)}(e,e.segments.length-1+i,t.numberOfDoubleDots)}(s,o,t),l=a.processChildren?gh(a.segmentGroup,a.index,s.commands):e2(a.segmentGroup,a.index,s.commands);return h0(o,a.segmentGroup,l,e,i)}function Em(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function mh(t){return"object"==typeof t&&null!=t&&t.outlets}function h0(t,n,e,i,o){let a,s={};i&&Object.entries(i).forEach(([d,_])=>{s[d]=Array.isArray(_)?_.map(E=>`${E}`):`${_}`}),a=t===n?e:JT(t,n,e);const l=qT(KT(a));return new _d(l,s,o)}function JT(t,n,e){const i={};return Object.entries(t.children).forEach(([o,s])=>{i[o]=s===n?e:JT(s,n,e)}),new Yn(t.segments,i)}class QT{constructor(n,e,i){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=i,n&&i.length>0&&Em(i[0]))throw new Fe(4003,!1);const o=i.find(mh);if(o&&o!==HT(i))throw new Fe(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Im{constructor(n,e,i){this.segmentGroup=n,this.processChildren=e,this.index=i}}function e2(t,n,e){if(t||(t=new Yn([],{})),0===t.segments.length&&t.hasChildren())return gh(t,n,e);const i=function Z6(t,n,e){let i=0,o=n;const s={match:!1,pathIndex:0,commandIndex:0};for(;o=e.length)return s;const a=t.segments[o],l=e[i];if(mh(l))break;const d=`${l}`,_=i0&&void 0===d)break;if(d&&_&&"object"==typeof _&&void 0===_.outlets){if(!n2(d,_,a))return s;i+=2}else{if(!n2(d,{},a))return s;i++}o++}return{match:!0,pathIndex:o,commandIndex:i}}(t,n,e),o=e.slice(i.commandIndex);if(i.match&&i.pathIndex{"string"==typeof a&&(a=[a]),null!==a&&(o[s]=e2(t.children[s],n,a))}),Object.entries(t.children).forEach(([s,a])=>{void 0===i[s]&&(o[s]=a)}),new Yn(t.segments,o)}}function f0(t,n,e){const i=t.segments.slice(0,n);let o=0;for(;o{"string"==typeof i&&(i=[i]),null!==i&&(n[e]=f0(new Yn([],{}),0,i))}),n}function t2(t){const n={};return Object.entries(t).forEach(([e,i])=>n[e]=`${i}`),n}function n2(t,n,e){return t==e.path&&Os(n,e.parameters)}const _h="imperative";class As{constructor(n,e){this.id=n,this.url=e}}class p0 extends As{constructor(n,e,i="imperative",o=null){super(n,e),this.type=0,this.navigationTrigger=i,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Ga extends As{constructor(n,e,i){super(n,e),this.urlAfterRedirects=i,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class Pm extends As{constructor(n,e,i,o){super(n,e),this.reason=i,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class bh extends As{constructor(n,e,i,o){super(n,e),this.reason=i,this.code=o,this.type=16}}class m0 extends As{constructor(n,e,i,o){super(n,e),this.error=i,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class J6 extends As{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Q6 extends As{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ej extends As{constructor(n,e,i,o,s){super(n,e),this.urlAfterRedirects=i,this.state=o,this.shouldActivate=s,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class tj extends As{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class nj extends As{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ij{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class rj{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class oj{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class sj{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class aj{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class lj{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class r2{constructor(n,e,i){this.routerEvent=n,this.position=e,this.anchor=i,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class cj{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new vh,this.attachRef=null}}let vh=(()=>{class t{constructor(){this.contexts=new Map}onChildOutletCreated(e,i){const o=this.getOrCreateContext(e);o.outlet=i,this.contexts.set(e,o)}onChildOutletDestroyed(e){const i=this.getContext(e);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let i=this.getContext(e);return i||(i=new cj,this.contexts.set(e,i)),i}getContext(e){return this.contexts.get(e)||null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class o2{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){const e=g0(n,this._root);return e?e.children.map(i=>i.value):[]}firstChild(n){const e=g0(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){const e=_0(n,this._root);return e.length<2?[]:e[e.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return _0(n,this._root).map(e=>e.value)}}function g0(t,n){if(t===n.value)return n;for(const e of n.children){const i=g0(t,e);if(i)return i}return null}function _0(t,n){if(t===n.value)return[n];for(const e of n.children){const i=_0(t,e);if(i.length)return i.unshift(n),i}return[]}class sa{constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}}function bd(t){const n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}class s2 extends o2{constructor(n,e){super(n),this.snapshot=e,b0(this,n)}toString(){return this.snapshot.toString()}}function a2(t,n){const e=function dj(t,n){const a=new Om([],{},{},"",{},$t,n,null,{});return new c2("",new sa(a,[]))}(0,n),i=new Or([new hh("",{})]),o=new Or({}),s=new Or({}),a=new Or({}),l=new Or(""),d=new Mr(i,o,a,l,s,$t,n,e.root);return d.snapshot=e.root,new s2(new sa(d,[]),e)}class Mr{constructor(n,e,i,o,s,a,l,d){this.urlSubject=n,this.paramsSubject=e,this.queryParamsSubject=i,this.fragmentSubject=o,this.dataSubject=s,this.outlet=a,this.component=l,this._futureSnapshot=d,this.title=this.dataSubject?.pipe(ke(_=>_[uh]))??$e(void 0),this.url=n,this.params=e,this.queryParams=i,this.fragment=o,this.data=s}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(ke(n=>gd(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(ke(n=>gd(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function l2(t,n="emptyOnly"){const e=t.pathFromRoot;let i=0;if("always"!==n)for(i=e.length-1;i>=1;){const o=e[i],s=e[i-1];if(o.routeConfig&&""===o.routeConfig.path)i--;else{if(s.component)break;i--}}return function uj(t){return t.reduce((n,e)=>({params:{...n.params,...e.params},data:{...n.data,...e.data},resolve:{...e.data,...n.resolve,...e.routeConfig?.data,...e._resolvedData}}),{params:{},data:{},resolve:{}})}(e.slice(i))}class Om{get title(){return this.data?.[uh]}constructor(n,e,i,o,s,a,l,d,_){this.url=n,this.params=e,this.queryParams=i,this.fragment=o,this.data=s,this.outlet=a,this.component=l,this.routeConfig=d,this._resolve=_}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=gd(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=gd(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class c2 extends o2{constructor(n,e){super(e),this.url=n,b0(this,e)}toString(){return d2(this._root)}}function b0(t,n){n.value._routerState=t,n.children.forEach(e=>b0(t,e))}function d2(t){const n=t.children.length>0?` { ${t.children.map(d2).join(", ")} } `:"";return`${t.value}${n}`}function v0(t){if(t.snapshot){const n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,Os(n.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),n.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),Os(n.params,e.params)||t.paramsSubject.next(e.params),function S6(t,n){if(t.length!==n.length)return!1;for(let e=0;eOs(e.parameters,n[i].parameters))}(t.url,n.url);return e&&!(!t.parent!=!n.parent)&&(!t.parent||y0(t.parent,n.parent))}let Am=(()=>{class t{constructor(){this.activated=null,this._activatedRoute=null,this.name=$t,this.activateEvents=new ht,this.deactivateEvents=new ht,this.attachEvents=new ht,this.detachEvents=new ht,this.parentContexts=Qe(vh),this.location=Qe(rr),this.changeDetector=Qe(pi),this.environmentInjector=Qe(ks),this.inputBinder=Qe(Fm,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(e){if(e.name){const{firstChange:i,previousValue:o}=e.name;if(i)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Fe(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Fe(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Fe(4012,!1);this.location.detach();const e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,i){this.activated=e,this._activatedRoute=i,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){const e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,i){if(this.isActivated)throw new Fe(4013,!1);this._activatedRoute=e;const o=this.location,a=e.snapshot.component,l=this.parentContexts.getOrCreateContext(this.name).children,d=new hj(e,l,o.injector);this.activated=o.createComponent(a,{index:o.length,injector:d,environmentInjector:i??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Gi]}),t})();class hj{constructor(n,e,i){this.route=n,this.childContexts=e,this.parent=i}get(n,e){return n===Mr?this.route:n===vh?this.childContexts:this.parent.get(n,e)}}const Fm=new Re("");let u2=(()=>{class t{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){const{activatedRoute:i}=e,o=Mm([i.queryParams,i.params,i.data]).pipe(gr(([s,a,l],d)=>(l={...s,...a,...l},0===d?$e(l):Promise.resolve(l)))).subscribe(s=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==i||null===i.component)return void this.unsubscribeFromRouteData(e);const a=function K5(t){const n=gn(t);if(!n)return null;const e=new Au(n);return{get selector(){return e.selector},get type(){return e.componentType},get inputs(){return e.inputs},get outputs(){return e.outputs},get ngContentSelectors(){return e.ngContentSelectors},get isStandalone(){return n.standalone}}}(i.component);if(a)for(const{templateName:l}of a.inputs)e.activatedComponentRef.setInput(l,s[l]);else this.unsubscribeFromRouteData(e)});this.outletDataSubscriptions.set(e,o)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();function yh(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){const i=e.value;i._futureSnapshot=n.value;const o=function pj(t,n,e){return n.children.map(i=>{for(const o of e.children)if(t.shouldReuseRoute(i.value,o.value.snapshot))return yh(t,i,o);return yh(t,i)})}(t,n,e);return new sa(i,o)}{if(t.shouldAttach(n.value)){const s=t.retrieve(n.value);if(null!==s){const a=s.route;return a.value._futureSnapshot=n.value,a.children=n.children.map(l=>yh(t,l)),a}}const i=function mj(t){return new Mr(new Or(t.url),new Or(t.params),new Or(t.queryParams),new Or(t.fragment),new Or(t.data),t.outlet,t.component,t)}(n.value),o=n.children.map(s=>yh(t,s));return new sa(i,o)}}const M0="ngNavigationCancelingError";function h2(t,n){const{redirectTo:e,navigationBehaviorOptions:i}=Wl(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,o=f2(!1,0,n);return o.url=e,o.navigationBehaviorOptions=i,o}function f2(t,n,e){const i=new Error("NavigationCancelingError: "+(t||""));return i[M0]=!0,i.cancellationCode=n,e&&(i.url=e),i}function p2(t){return m2(t)&&Wl(t.url)}function m2(t){return t&&t[M0]}let g2=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["ng-component"]],standalone:!0,features:[_k],decls:1,vars:0,template:function(e,i){1&e&&xe(0,"router-outlet")},dependencies:[Am],encapsulation:2}),t})();function w0(t){const n=t.children&&t.children.map(w0),e=n?{...t,children:n}:{...t};return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==$t&&(e.component=g2),e}function os(t){return t.outlet||$t}function Mh(t){if(!t)return null;if(t.routeConfig?._injector)return t.routeConfig._injector;for(let n=t.parent;n;n=n.parent){const e=n.routeConfig;if(e?._loadedInjector)return e._loadedInjector;if(e?._injector)return e._injector}return null}class wj{constructor(n,e,i,o,s){this.routeReuseStrategy=n,this.futureState=e,this.currState=i,this.forwardEvent=o,this.inputBindingEnabled=s}activate(n){const e=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,i,n),v0(this.futureState.root),this.activateChildRoutes(e,i,n)}deactivateChildRoutes(n,e,i){const o=bd(e);n.children.forEach(s=>{const a=s.value.outlet;this.deactivateRoutes(s,o[a],i),delete o[a]}),Object.values(o).forEach(s=>{this.deactivateRouteAndItsChildren(s,i)})}deactivateRoutes(n,e,i){const o=n.value,s=e?e.value:null;if(o===s)if(o.component){const a=i.getContext(o.outlet);a&&this.deactivateChildRoutes(n,e,a.children)}else this.deactivateChildRoutes(n,e,i);else s&&this.deactivateRouteAndItsChildren(e,i)}deactivateRouteAndItsChildren(n,e){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,e):this.deactivateRouteAndOutlet(n,e)}detachAndStoreRouteSubtree(n,e){const i=e.getContext(n.value.outlet),o=i&&n.value.component?i.children:e,s=bd(n);for(const a of Object.keys(s))this.deactivateRouteAndItsChildren(s[a],o);if(i&&i.outlet){const a=i.outlet.detach(),l=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:a,route:n,contexts:l})}}deactivateRouteAndOutlet(n,e){const i=e.getContext(n.value.outlet),o=i&&n.value.component?i.children:e,s=bd(n);for(const a of Object.keys(s))this.deactivateRouteAndItsChildren(s[a],o);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.route=null)}activateChildRoutes(n,e,i){const o=bd(e);n.children.forEach(s=>{this.activateRoutes(s,o[s.value.outlet],i),this.forwardEvent(new lj(s.value.snapshot))}),n.children.length&&this.forwardEvent(new sj(n.value.snapshot))}activateRoutes(n,e,i){const o=n.value,s=e?e.value:null;if(v0(o),o===s)if(o.component){const a=i.getOrCreateContext(o.outlet);this.activateChildRoutes(n,e,a.children)}else this.activateChildRoutes(n,e,i);else if(o.component){const a=i.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const l=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),a.children.onOutletReAttached(l.contexts),a.attachRef=l.componentRef,a.route=l.route.value,a.outlet&&a.outlet.attach(l.componentRef,l.route.value),v0(l.route.value),this.activateChildRoutes(n,null,a.children)}else{const l=Mh(o.snapshot);a.attachRef=null,a.route=o,a.injector=l,a.outlet&&a.outlet.activateWith(o,a.injector),this.activateChildRoutes(n,null,a.children)}}else this.activateChildRoutes(n,null,i)}}class _2{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class Rm{constructor(n,e){this.component=n,this.route=e}}function Cj(t,n,e){const i=t._root;return wh(i,n?n._root:null,e,[i.value])}function vd(t,n){const e=Symbol(),i=n.get(t,e);return i===e?"function"!=typeof t||function jg(t){return null!==uc(t)}(t)?n.get(t):t:i}function wh(t,n,e,i,o={canDeactivateChecks:[],canActivateChecks:[]}){const s=bd(n);return t.children.forEach(a=>{(function kj(t,n,e,i,o={canDeactivateChecks:[],canActivateChecks:[]}){const s=t.value,a=n?n.value:null,l=e?e.getContext(t.value.outlet):null;if(a&&s.routeConfig===a.routeConfig){const d=function Sj(t,n,e){if("function"==typeof e)return e(t,n);switch(e){case"pathParamsChange":return!Ul(t.url,n.url);case"pathParamsOrQueryParamsChange":return!Ul(t.url,n.url)||!Os(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!y0(t,n)||!Os(t.queryParams,n.queryParams);default:return!y0(t,n)}}(a,s,s.routeConfig.runGuardsAndResolvers);d?o.canActivateChecks.push(new _2(i)):(s.data=a.data,s._resolvedData=a._resolvedData),wh(t,n,s.component?l?l.children:null:e,i,o),d&&l&&l.outlet&&l.outlet.isActivated&&o.canDeactivateChecks.push(new Rm(l.outlet.component,a))}else a&&Ch(n,l,o),o.canActivateChecks.push(new _2(i)),wh(t,null,s.component?l?l.children:null:e,i,o)})(a,s[a.value.outlet],e,i.concat([a.value]),o),delete s[a.value.outlet]}),Object.entries(s).forEach(([a,l])=>Ch(l,e.getContext(a),o)),o}function Ch(t,n,e){const i=bd(t),o=t.value;Object.entries(i).forEach(([s,a])=>{Ch(a,o.component?n?n.children.getContext(s):null:n,e)}),e.canDeactivateChecks.push(new Rm(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}function xh(t){return"function"==typeof t}function b2(t){return t instanceof wm||"EmptyError"===t?.name}const Nm=Symbol("INITIAL_VALUE");function yd(){return gr(t=>Mm(t.map(n=>n.pipe(Kn(1),Go(Nm)))).pipe(ke(n=>{for(const e of n)if(!0!==e){if(e===Nm)return Nm;if(!1===e||e instanceof _d)return e}return!0}),_i(n=>n!==Nm),Kn(1)))}function v2(t){return function Z(...t){return X(t)}(bi(n=>{if(Wl(n))throw h2(0,n)}),ke(n=>!0===n))}class Ym{constructor(n){this.segmentGroup=n||null}}class y2{constructor(n){this.urlTree=n}}function Md(t){return Ar(new Ym(t))}function M2(t){return Ar(new y2(t))}class $j{constructor(n,e){this.urlSerializer=n,this.urlTree=e}noMatchError(n){return new Fe(4002,!1)}lineralizeSegments(n,e){let i=[],o=e.root;for(;;){if(i=i.concat(o.segments),0===o.numberOfChildren)return $e(i);if(o.numberOfChildren>1||!o.children[$t])return Ar(new Fe(4e3,!1));o=o.children[$t]}}applyRedirectCommands(n,e,i){return this.applyRedirectCreateUrlTree(e,this.urlSerializer.parse(e),n,i)}applyRedirectCreateUrlTree(n,e,i,o){const s=this.createSegmentGroup(n,e.root,i,o);return new _d(s,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){const i={};return Object.entries(n).forEach(([o,s])=>{if("string"==typeof s&&s.startsWith(":")){const l=s.substring(1);i[o]=e[l]}else i[o]=s}),i}createSegmentGroup(n,e,i,o){const s=this.createSegments(n,e.segments,i,o);let a={};return Object.entries(e.children).forEach(([l,d])=>{a[l]=this.createSegmentGroup(n,d,i,o)}),new Yn(s,a)}createSegments(n,e,i,o){return e.map(s=>s.path.startsWith(":")?this.findPosParam(n,s,o):this.findOrReturn(s,i))}findPosParam(n,e,i){const o=i[e.path.substring(1)];if(!o)throw new Fe(4001,!1);return o}findOrReturn(n,e){let i=0;for(const o of e){if(o.path===n.path)return e.splice(i),o;i++}return n}}const C0={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Gj(t,n,e,i,o){const s=x0(t,n,e);return s.matched?(i=function gj(t,n){return t.providers&&!t._injector&&(t._injector=Cv(t.providers,n,`Route: ${t.path}`)),t._injector??n}(n,i),function zj(t,n,e,i){const o=n.canMatch;return o&&0!==o.length?$e(o.map(a=>{const l=vd(a,t);return $a(function Pj(t){return t&&xh(t.canMatch)}(l)?l.canMatch(n,e):t.runInContext(()=>l(n,e)))})).pipe(yd(),v2()):$e(!0)}(i,n,e).pipe(ke(a=>!0===a?s:{...C0}))):$e(s)}function x0(t,n,e){if(""===n.path)return"full"===n.pathMatch&&(t.hasChildren()||e.length>0)?{...C0}:{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};const o=(n.matcher||k6)(e,t,n);if(!o)return{...C0};const s={};Object.entries(o.posParams??{}).forEach(([l,d])=>{s[l]=d.path});const a=o.consumed.length>0?{...s,...o.consumed[o.consumed.length-1].parameters}:s;return{matched:!0,consumedSegments:o.consumed,remainingSegments:e.slice(o.consumed.length),parameters:a,positionalParamSegments:o.posParams??{}}}function w2(t,n,e,i){return e.length>0&&function Zj(t,n,e){return e.some(i=>Hm(t,n,i)&&os(i)!==$t)}(t,e,i)?{segmentGroup:new Yn(n,Kj(i,new Yn(e,t.children))),slicedSegments:[]}:0===e.length&&function Xj(t,n,e){return e.some(i=>Hm(t,n,i))}(t,e,i)?{segmentGroup:new Yn(t.segments,qj(t,0,e,i,t.children)),slicedSegments:e}:{segmentGroup:new Yn(t.segments,t.children),slicedSegments:e}}function qj(t,n,e,i,o){const s={};for(const a of i)if(Hm(t,e,a)&&!o[os(a)]){const l=new Yn([],{});s[os(a)]=l}return{...o,...s}}function Kj(t,n){const e={};e[$t]=n;for(const i of t)if(""===i.path&&os(i)!==$t){const o=new Yn([],{});e[os(i)]=o}return e}function Hm(t,n,e){return(!(t.hasChildren()||n.length>0)||"full"!==e.pathMatch)&&""===e.path}class t7{constructor(n,e,i,o,s,a,l){this.injector=n,this.configLoader=e,this.rootComponentType=i,this.config=o,this.urlTree=s,this.paramsInheritanceStrategy=a,this.urlSerializer=l,this.allowRedirects=!0,this.applyRedirects=new $j(this.urlSerializer,this.urlTree)}noMatchError(n){return new Fe(4002,!1)}recognize(){const n=w2(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,n,$t).pipe(Co(e=>{if(e instanceof y2)return this.allowRedirects=!1,this.urlTree=e.urlTree,this.match(e.urlTree);throw e instanceof Ym?this.noMatchError(e):e}),ke(e=>{const i=new Om([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},$t,this.rootComponentType,null,{}),o=new sa(i,e),s=new c2("",o),a=function W6(t,n,e=null,i=null){return XT(ZT(t),n,e,i)}(i,[],this.urlTree.queryParams,this.urlTree.fragment);return a.queryParams=this.urlTree.queryParams,s.url=this.urlSerializer.serialize(a),this.inheritParamsAndData(s._root),{state:s,tree:a}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n.root,$t).pipe(Co(i=>{throw i instanceof Ym?this.noMatchError(i):i}))}inheritParamsAndData(n){const e=n.value,i=l2(e,this.paramsInheritanceStrategy);e.params=Object.freeze(i.params),e.data=Object.freeze(i.data),n.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(n,e,i,o){return 0===i.segments.length&&i.hasChildren()?this.processChildren(n,e,i):this.processSegment(n,e,i,i.segments,o,!0)}processChildren(n,e,i){const o=[];for(const s of Object.keys(i.children))"primary"===s?o.unshift(s):o.push(s);return ue(o).pipe(Bl(s=>{const a=i.children[s],l=function yj(t,n){const e=t.filter(i=>os(i)===n);return e.push(...t.filter(i=>os(i)!==n)),e}(e,s);return this.processSegmentGroup(n,l,a,s)}),function f6(t,n){let e=!1;return arguments.length>=2&&(e=!0),function(o){return o.lift(new p6(t,n,e))}}((s,a)=>(s.push(...a),s)),xm(null),function b6(t,n){const e=arguments.length>=2;return i=>i.pipe(t?_i((o,s)=>t(o,s,i)):ve,l0(1),e?xm(n):NT(()=>new wm))}(),Ye(s=>{if(null===s)return Md(i);const a=C2(s);return function n7(t){t.sort((n,e)=>n.value.outlet===$t?-1:e.value.outlet===$t?1:n.value.outlet.localeCompare(e.value.outlet))}(a),$e(a)}))}processSegment(n,e,i,o,s,a){return ue(e).pipe(Bl(l=>this.processSegmentAgainstRoute(l._injector??n,e,l,i,o,s,a).pipe(Co(d=>{if(d instanceof Ym)return $e(null);throw d}))),zl(l=>!!l),Co(l=>{if(b2(l))return function Qj(t,n,e){return 0===n.length&&!t.children[e]}(i,o,s)?$e([]):Md(i);throw l}))}processSegmentAgainstRoute(n,e,i,o,s,a,l){return function Jj(t,n,e,i){return!!(os(t)===i||i!==$t&&Hm(n,e,t))&&("**"===t.path||x0(n,t,e).matched)}(i,o,s,a)?void 0===i.redirectTo?this.matchSegmentAgainstRoute(n,o,i,s,a,l):l&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,o,e,i,s,a):Md(o):Md(o)}expandSegmentAgainstRouteUsingRedirect(n,e,i,o,s,a){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,i,o,a):this.expandRegularSegmentAgainstRouteUsingRedirect(n,e,i,o,s,a)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,e,i,o){const s=this.applyRedirects.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?M2(s):this.applyRedirects.lineralizeSegments(i,s).pipe(Ye(a=>{const l=new Yn(a,{});return this.processSegment(n,e,l,a,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,e,i,o,s,a){const{matched:l,consumedSegments:d,remainingSegments:_,positionalParamSegments:E}=x0(e,o,s);if(!l)return Md(e);const F=this.applyRedirects.applyRedirectCommands(d,o.redirectTo,E);return o.redirectTo.startsWith("/")?M2(F):this.applyRedirects.lineralizeSegments(o,F).pipe(Ye(G=>this.processSegment(n,i,e,G.concat(_),a,!1)))}matchSegmentAgainstRoute(n,e,i,o,s,a){let l;if("**"===i.path){const d=o.length>0?HT(o).parameters:{};l=$e({snapshot:new Om(o,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,x2(i),os(i),i.component??i._loadedComponent??null,i,k2(i)),consumedSegments:[],remainingSegments:[]}),e.children={}}else l=Gj(e,i,o,n).pipe(ke(({matched:d,consumedSegments:_,remainingSegments:E,parameters:F})=>d?{snapshot:new Om(_,F,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,x2(i),os(i),i.component??i._loadedComponent??null,i,k2(i)),consumedSegments:_,remainingSegments:E}:null));return l.pipe(gr(d=>null===d?Md(e):this.getChildConfig(n=i._injector??n,i,o).pipe(gr(({routes:_})=>{const E=i._loadedInjector??n,{snapshot:F,consumedSegments:G,remainingSegments:ie}=d,{segmentGroup:_e,slicedSegments:Ce}=w2(e,G,ie,_);if(0===Ce.length&&_e.hasChildren())return this.processChildren(E,_,_e).pipe(ke(ze=>null===ze?null:[new sa(F,ze)]));if(0===_.length&&0===Ce.length)return $e([new sa(F,[])]);const Ae=os(i)===s;return this.processSegment(E,_,_e,Ce,Ae?$t:s,!0).pipe(ke(ze=>[new sa(F,ze)]))}))))}getChildConfig(n,e,i){return e.children?$e({routes:e.children,injector:n}):e.loadChildren?void 0!==e._loadedRoutes?$e({routes:e._loadedRoutes,injector:e._loadedInjector}):function jj(t,n,e,i){const o=n.canLoad;return void 0===o||0===o.length?$e(!0):$e(o.map(a=>{const l=vd(a,t);return $a(function Tj(t){return t&&xh(t.canLoad)}(l)?l.canLoad(n,e):t.runInContext(()=>l(n,e)))})).pipe(yd(),v2())}(n,e,i).pipe(Ye(o=>o?this.configLoader.loadChildren(n,e).pipe(bi(s=>{e._loadedRoutes=s.routes,e._loadedInjector=s.injector})):function Wj(t){return Ar(f2(!1,3))}())):$e({routes:[],injector:n})}}function i7(t){const n=t.value.routeConfig;return n&&""===n.path}function C2(t){const n=[],e=new Set;for(const i of t){if(!i7(i)){n.push(i);continue}const o=n.find(s=>i.value.routeConfig===s.value.routeConfig);void 0!==o?(o.children.push(...i.children),e.add(o)):n.push(i)}for(const i of e){const o=C2(i.children);n.push(new sa(i.value,o))}return n.filter(i=>!e.has(i))}function x2(t){return t.data||{}}function k2(t){return t.resolve||{}}function S2(t){return"string"==typeof t.title||null===t.title}function k0(t){return gr(n=>{const e=t(n);return e?ue(e).pipe(ke(()=>n)):$e(n)})}const wd=new Re("ROUTES");let S0=(()=>{class t{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=Qe(oS)}loadComponent(e){if(this.componentLoaders.get(e))return this.componentLoaders.get(e);if(e._loadedComponent)return $e(e._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(e);const i=$a(e.loadComponent()).pipe(ke(D2),bi(s=>{this.onLoadEndListener&&this.onLoadEndListener(e),e._loadedComponent=s}),km(()=>{this.componentLoaders.delete(e)})),o=new Kr(i,()=>new J).pipe(qt());return this.componentLoaders.set(e,o),o}loadChildren(e,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return $e({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const s=this.loadModuleFactoryOrRoutes(i.loadChildren).pipe(ke(l=>{this.onLoadEndListener&&this.onLoadEndListener(i);let d,_;return Array.isArray(l)?_=l:(d=l.create(e).injector,_=d.get(wd,[],Mt.Self|Mt.Optional).flat()),{routes:_.map(w0),injector:d}}),km(()=>{this.childrenLoaders.delete(i)})),a=new Kr(s,()=>new J).pipe(qt());return this.childrenLoaders.set(i,a),a}loadModuleFactoryOrRoutes(e){return $a(e()).pipe(ke(D2),Ye(i=>i instanceof mk||Array.isArray(i)?$e(i):ue(this.compiler.compileModuleAsync(i))))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function D2(t){return function d7(t){return t&&"object"==typeof t&&"default"in t}(t)?t.default:t}let Bm=(()=>{class t{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.lastSuccessfulNavigation=null,this.events=new J,this.configLoader=Qe(S0),this.environmentInjector=Qe(ks),this.urlSerializer=Qe(fh),this.rootContexts=Qe(vh),this.inputBindingEnabled=null!==Qe(Fm,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>$e(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new rj(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new ij(o))}complete(){this.transitions?.complete()}handleNavigationRequest(e){const i=++this.navigationId;this.transitions?.next({...this.transitions.value,...e,id:i})}setupNavigations(e){return this.transitions=new Or({id:0,currentUrlTree:e.currentUrlTree,currentRawUrl:e.currentUrlTree,extractedUrl:e.urlHandlingStrategy.extract(e.currentUrlTree),urlAfterRedirects:e.urlHandlingStrategy.extract(e.currentUrlTree),rawUrl:e.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:_h,restoredState:null,currentSnapshot:e.routerState.snapshot,targetSnapshot:null,currentRouterState:e.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(_i(i=>0!==i.id),ke(i=>({...i,extractedUrl:e.urlHandlingStrategy.extract(i.rawUrl)})),gr(i=>{let o=!1,s=!1;return $e(i).pipe(bi(a=>{this.currentNavigation={id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),gr(a=>{const l=e.browserUrlTree.toString(),d=!e.navigated||a.extractedUrl.toString()!==l||l!==e.currentUrlTree.toString();if(!d&&"reload"!==(a.extras.onSameUrlNavigation??e.onSameUrlNavigation)){const E="";return this.events.next(new bh(a.id,e.serializeUrl(i.rawUrl),E,0)),e.rawUrlTree=a.rawUrl,a.resolve(null),oa}if(e.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return T2(a.source)&&(e.browserUrlTree=a.extractedUrl),$e(a).pipe(gr(E=>{const F=this.transitions?.getValue();return this.events.next(new p0(E.id,this.urlSerializer.serialize(E.extractedUrl),E.source,E.restoredState)),F!==this.transitions?.getValue()?oa:Promise.resolve(E)}),function r7(t,n,e,i,o,s){return Ye(a=>function e7(t,n,e,i,o,s,a="emptyOnly"){return new t7(t,n,e,i,o,a,s).recognize()}(t,n,e,i,a.extractedUrl,o,s).pipe(ke(({state:l,tree:d})=>({...a,targetSnapshot:l,urlAfterRedirects:d}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,e.paramsInheritanceStrategy),bi(E=>{if(i.targetSnapshot=E.targetSnapshot,i.urlAfterRedirects=E.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:E.urlAfterRedirects},"eager"===e.urlUpdateStrategy){if(!E.extras.skipLocationChange){const G=e.urlHandlingStrategy.merge(E.urlAfterRedirects,E.rawUrl);e.setBrowserUrl(G,E)}e.browserUrlTree=E.urlAfterRedirects}const F=new J6(E.id,this.urlSerializer.serialize(E.extractedUrl),this.urlSerializer.serialize(E.urlAfterRedirects),E.targetSnapshot);this.events.next(F)}));if(d&&e.urlHandlingStrategy.shouldProcessUrl(e.rawUrlTree)){const{id:E,extractedUrl:F,source:G,restoredState:ie,extras:_e}=a,Ce=new p0(E,this.urlSerializer.serialize(F),G,ie);this.events.next(Ce);const Ae=a2(0,this.rootComponentType).snapshot;return $e(i={...a,targetSnapshot:Ae,urlAfterRedirects:F,extras:{..._e,skipLocationChange:!1,replaceUrl:!1}})}{const E="";return this.events.next(new bh(a.id,e.serializeUrl(i.extractedUrl),E,1)),e.rawUrlTree=a.rawUrl,a.resolve(null),oa}}),bi(a=>{const l=new Q6(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}),ke(a=>i={...a,guards:Cj(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),function Aj(t,n){return Ye(e=>{const{targetSnapshot:i,currentSnapshot:o,guards:{canActivateChecks:s,canDeactivateChecks:a}}=e;return 0===a.length&&0===s.length?$e({...e,guardsResult:!0}):function Fj(t,n,e,i){return ue(t).pipe(Ye(o=>function Vj(t,n,e,i,o){const s=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return s&&0!==s.length?$e(s.map(l=>{const d=Mh(n)??o,_=vd(l,d);return $a(function Ij(t){return t&&xh(t.canDeactivate)}(_)?_.canDeactivate(t,n,e,i):d.runInContext(()=>_(t,n,e,i))).pipe(zl())})).pipe(yd()):$e(!0)}(o.component,o.route,e,n,i)),zl(o=>!0!==o,!0))}(a,i,o,t).pipe(Ye(l=>l&&function Dj(t){return"boolean"==typeof t}(l)?function Rj(t,n,e,i){return ue(n).pipe(Bl(o=>Ua(function Yj(t,n){return null!==t&&n&&n(new oj(t)),$e(!0)}(o.route.parent,i),function Nj(t,n){return null!==t&&n&&n(new aj(t)),$e(!0)}(o.route,i),function Bj(t,n,e){const i=n[n.length-1],s=n.slice(0,n.length-1).reverse().map(a=>function xj(t){const n=t.routeConfig?t.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:t,guards:n}:null}(a)).filter(a=>null!==a).map(a=>jl(()=>$e(a.guards.map(d=>{const _=Mh(a.node)??e,E=vd(d,_);return $a(function Ej(t){return t&&xh(t.canActivateChild)}(E)?E.canActivateChild(i,t):_.runInContext(()=>E(i,t))).pipe(zl())})).pipe(yd())));return $e(s).pipe(yd())}(t,o.path,e),function Hj(t,n,e){const i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||0===i.length)return $e(!0);const o=i.map(s=>jl(()=>{const a=Mh(n)??e,l=vd(s,a);return $a(function Lj(t){return t&&xh(t.canActivate)}(l)?l.canActivate(n,t):a.runInContext(()=>l(n,t))).pipe(zl())}));return $e(o).pipe(yd())}(t,o.route,e))),zl(o=>!0!==o,!0))}(i,s,t,n):$e(l)),ke(l=>({...e,guardsResult:l})))})}(this.environmentInjector,a=>this.events.next(a)),bi(a=>{if(i.guardsResult=a.guardsResult,Wl(a.guardsResult))throw h2(0,a.guardsResult);const l=new ej(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.events.next(l)}),_i(a=>!!a.guardsResult||(e.restoreHistory(a),this.cancelNavigationTransition(a,"",3),!1)),k0(a=>{if(a.guards.canActivateChecks.length)return $e(a).pipe(bi(l=>{const d=new tj(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(d)}),gr(l=>{let d=!1;return $e(l).pipe(function o7(t,n){return Ye(e=>{const{targetSnapshot:i,guards:{canActivateChecks:o}}=e;if(!o.length)return $e(e);let s=0;return ue(o).pipe(Bl(a=>function s7(t,n,e,i){const o=t.routeConfig,s=t._resolve;return void 0!==o?.title&&!S2(o)&&(s[uh]=o.title),function a7(t,n,e,i){const o=function l7(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}(t);if(0===o.length)return $e({});const s={};return ue(o).pipe(Ye(a=>function c7(t,n,e,i){const o=Mh(n)??i,s=vd(t,o);return $a(s.resolve?s.resolve(n,e):o.runInContext(()=>s(n,e)))}(t[a],n,e,i).pipe(zl(),bi(l=>{s[a]=l}))),l0(1),function v6(t){return n=>n.lift(new y6(t))}(s),Co(a=>b2(a)?oa:Ar(a)))}(s,t,n,i).pipe(ke(a=>(t._resolvedData=a,t.data=l2(t,e).resolve,o&&S2(o)&&(t.data[uh]=o.title),null)))}(a.route,i,t,n)),bi(()=>s++),l0(1),Ye(a=>s===o.length?$e(e):oa))})}(e.paramsInheritanceStrategy,this.environmentInjector),bi({next:()=>d=!0,complete:()=>{d||(e.restoreHistory(l),this.cancelNavigationTransition(l,"",2))}}))}),bi(l=>{const d=new nj(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(d)}))}),k0(a=>{const l=d=>{const _=[];d.routeConfig?.loadComponent&&!d.routeConfig._loadedComponent&&_.push(this.configLoader.loadComponent(d.routeConfig).pipe(bi(E=>{d.component=E}),ke(()=>{})));for(const E of d.children)_.push(...l(E));return _};return Mm(l(a.targetSnapshot.root)).pipe(xm(),Kn(1))}),k0(()=>this.afterPreactivation()),ke(a=>{const l=function fj(t,n,e){const i=yh(t,n._root,e?e._root:void 0);return new s2(i,n)}(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return i={...a,targetRouterState:l}}),bi(a=>{e.currentUrlTree=a.urlAfterRedirects,e.rawUrlTree=e.urlHandlingStrategy.merge(a.urlAfterRedirects,a.rawUrl),e.routerState=a.targetRouterState,"deferred"===e.urlUpdateStrategy&&(a.extras.skipLocationChange||e.setBrowserUrl(e.rawUrlTree,a),e.browserUrlTree=a.urlAfterRedirects)}),((t,n,e,i)=>ke(o=>(new wj(n,o.targetRouterState,o.currentRouterState,e,i).activate(t),o)))(this.rootContexts,e.routeReuseStrategy,a=>this.events.next(a),this.inputBindingEnabled),Kn(1),bi({next:a=>{o=!0,this.lastSuccessfulNavigation=this.currentNavigation,e.navigated=!0,this.events.next(new Ga(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(e.currentUrlTree))),e.titleStrategy?.updateTitle(a.targetRouterState.snapshot),a.resolve(!0)},complete:()=>{o=!0}}),km(()=>{o||s||this.cancelNavigationTransition(i,"",1),this.currentNavigation?.id===i.id&&(this.currentNavigation=null)}),Co(a=>{if(s=!0,m2(a)){p2(a)||(e.navigated=!0,e.restoreHistory(i,!0));const l=new Pm(i.id,this.urlSerializer.serialize(i.extractedUrl),a.message,a.cancellationCode);if(this.events.next(l),p2(a)){const d=e.urlHandlingStrategy.merge(a.url,e.rawUrlTree),_={skipLocationChange:i.extras.skipLocationChange,replaceUrl:"eager"===e.urlUpdateStrategy||T2(i.source)};e.scheduleNavigation(d,_h,null,_,{resolve:i.resolve,reject:i.reject,promise:i.promise})}else i.resolve(!1)}else{e.restoreHistory(i,!0);const l=new m0(i.id,this.urlSerializer.serialize(i.extractedUrl),a,i.targetSnapshot??void 0);this.events.next(l);try{i.resolve(e.errorHandler(a))}catch(d){i.reject(d)}}return oa}))}))}cancelNavigationTransition(e,i,o){const s=new Pm(e.id,this.urlSerializer.serialize(e.extractedUrl),i,o);this.events.next(s),e.resolve(!1)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function T2(t){return t!==_h}let L2=(()=>{class t{buildTitle(e){let i,o=e.root;for(;void 0!==o;)i=this.getResolvedTitleForRoute(o)??i,o=o.children.find(s=>s.outlet===$t);return i}getResolvedTitleForRoute(e){return e.data[uh]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(){return Qe(u7)},providedIn:"root"}),t})(),u7=(()=>{class t extends L2{constructor(e){super(),this.title=e}updateTitle(e){const i=this.buildTitle(e);void 0!==i&&this.title.setTitle(i)}}return t.\u0275fac=function(e){return new(e||t)(we(PD))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),E2=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(){return Qe(f7)},providedIn:"root"}),t})();class h7{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}}let f7=(()=>{class t extends h7{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const Vm=new Re("",{providedIn:"root",factory:()=>({})});let p7=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(){return Qe(m7)},providedIn:"root"}),t})(),m7=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,i){return e}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var xo=(()=>((xo=xo||{})[xo.COMPLETE=0]="COMPLETE",xo[xo.FAILED=1]="FAILED",xo[xo.REDIRECTING=2]="REDIRECTING",xo))();function I2(t,n){t.events.pipe(_i(e=>e instanceof Ga||e instanceof Pm||e instanceof m0||e instanceof bh),ke(e=>e instanceof Ga||e instanceof bh?xo.COMPLETE:e instanceof Pm&&(0===e.code||1===e.code)?xo.REDIRECTING:xo.FAILED),_i(e=>e!==xo.REDIRECTING),Kn(1)).subscribe(()=>{n()})}function g7(t){throw t}function _7(t,n,e){return n.parse("/")}const b7={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},v7={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let hn=(()=>{class t{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){if("computed"===this.canceledNavigationResolution)return this.location.getState()?.\u0275routerPageId}get events(){return this.navigationTransitions.events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=Qe(rS),this.isNgZoneEnabled=!1,this.options=Qe(Vm,{optional:!0})||{},this.pendingTasks=Qe(VS),this.errorHandler=this.options.errorHandler||g7,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||_7,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=Qe(p7),this.routeReuseStrategy=Qe(E2),this.titleStrategy=Qe(L2),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=Qe(wd,{optional:!0})?.flat()??[],this.navigationTransitions=Qe(Bm),this.urlSerializer=Qe(fh),this.location=Qe(Xu),this.componentInputBindingEnabled=!!Qe(Fm,{optional:!0}),this.isNgZoneEnabled=Qe(ft)instanceof ft&&ft.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new _d,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=a2(0,null),this.navigationTransitions.setupNavigations(this).subscribe(e=>{this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId??0},e=>{this.console.warn(`Unhandled Navigation Error: ${e}`)})}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const e=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),_h,e)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(e=>{const i="popstate"===e.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{this.navigateToSyncWithBrowser(e.url,i,e.state)},0)}))}navigateToSyncWithBrowser(e,i,o){const s={replaceUrl:!0},a=o?.navigationId?o:null;if(o){const d={...o};delete d.navigationId,delete d.\u0275routerPageId,0!==Object.keys(d).length&&(s.state=d)}const l=this.parseUrl(e);this.scheduleNavigation(l,i,a,s)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(w0),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(e,i={}){const{relativeTo:o,queryParams:s,fragment:a,queryParamsHandling:l,preserveFragment:d}=i,_=d?this.currentUrlTree.fragment:a;let F,E=null;switch(l){case"merge":E={...this.currentUrlTree.queryParams,...s};break;case"preserve":E=this.currentUrlTree.queryParams;break;default:E=s||null}null!==E&&(E=this.removeEmptyProps(E));try{F=ZT(o?o.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof e[0]||!e[0].startsWith("/"))&&(e=[]),F=this.currentUrlTree.root}return XT(F,e,E,_??null)}navigateByUrl(e,i={skipLocationChange:!1}){const o=Wl(e)?e:this.parseUrl(e),s=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(s,_h,null,i)}navigate(e,i={skipLocationChange:!1}){return function y7(t){for(let n=0;n{const s=e[o];return null!=s&&(i[o]=s),i},{})}scheduleNavigation(e,i,o,s,a){if(this.disposed)return Promise.resolve(!1);let l,d,_;a?(l=a.resolve,d=a.reject,_=a.promise):_=new Promise((F,G)=>{l=F,d=G});const E=this.pendingTasks.add();return I2(this,()=>{Promise.resolve().then(()=>this.pendingTasks.remove(E))}),this.navigationTransitions.handleNavigationRequest({source:i,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:s,resolve:l,reject:d,promise:_,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),_.catch(F=>Promise.reject(F))}setBrowserUrl(e,i){const o=this.urlSerializer.serialize(e);if(this.location.isCurrentPathEqualTo(o)||i.extras.replaceUrl){const a={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId)};this.location.replaceState(o,"",a)}else{const s={...i.extras.state,...this.generateNgRouterState(i.id,(this.browserPageId??0)+1)};this.location.go(o,"",s)}}restoreHistory(e,i=!1){if("computed"===this.canceledNavigationResolution){const s=this.currentPageId-(this.browserPageId??this.currentPageId);0!==s?this.location.historyGo(s):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===s&&(this.resetState(e),this.browserUrlTree=e.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){this.routerState=e.currentRouterState,this.currentUrlTree=e.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,i){return"computed"===this.canceledNavigationResolution?{navigationId:e,\u0275routerPageId:i}:{navigationId:e}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),qa=(()=>{class t{constructor(e,i,o,s,a,l){this.router=e,this.route=i,this.tabIndexAttribute=o,this.renderer=s,this.el=a,this.locationStrategy=l,this._preserveFragment=!1,this._skipLocationChange=!1,this._replaceUrl=!1,this.href=null,this.commands=null,this.onChanges=new J;const d=a.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===d||"area"===d,this.isAnchorElement?this.subscription=e.events.subscribe(_=>{_ instanceof Ga&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}set preserveFragment(e){this._preserveFragment=ud(e)}get preserveFragment(){return this._preserveFragment}set skipLocationChange(e){this._skipLocationChange=ud(e)}get skipLocationChange(){return this._skipLocationChange}set replaceUrl(e){this._replaceUrl=ud(e)}get replaceUrl(){return this._replaceUrl}setTabIndexIfNotOnNativeEl(e){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(e){null!=e?(this.commands=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(e,i,o,s,a){return!!(null===this.urlTree||this.isAnchorElement&&(0!==e||i||o||s||a||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(this.urlTree,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const e=null===this.href?null:function Nw(t,n,e){return function VA(t,n){return"src"===n&&("embed"===t||"frame"===t||"iframe"===t||"media"===t||"script"===t)||"href"===n&&("base"===t||"link"===t)?Rw:Vo}(n,e)(t)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",e)}applyAttributeValue(e,i){const o=this.renderer,s=this.el.nativeElement;null!==i?o.setAttribute(s,e,i):o.removeAttribute(s,e)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}}return t.\u0275fac=function(e){return new(e||t)(Y(hn),Y(Mr),Pa("tabindex"),Y(Ks),Y(vt),Y(Rl))},t.\u0275dir=Ke({type:t,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(e,i){1&e&&ye("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),2&e&&Xt("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",relativeTo:"relativeTo",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",routerLink:"routerLink"},standalone:!0,features:[Gi]}),t})();class P2{}let C7=(()=>{class t{constructor(e,i,o,s,a){this.router=e,this.injector=o,this.preloadingStrategy=s,this.loader=a}setUpPreloading(){this.subscription=this.router.events.pipe(_i(e=>e instanceof Ga),Bl(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,i){const o=[];for(const s of i){s.providers&&!s._injector&&(s._injector=Cv(s.providers,e,`Route: ${s.path}`));const a=s._injector??e,l=s._loadedInjector??a;(s.loadChildren&&!s._loadedRoutes&&void 0===s.canLoad||s.loadComponent&&!s._loadedComponent)&&o.push(this.preloadConfig(a,s)),(s.children||s._loadedRoutes)&&o.push(this.processRoutes(l,s.children??s._loadedRoutes))}return ue(o).pipe(fn())}preloadConfig(e,i){return this.preloadingStrategy.preload(i,()=>{let o;o=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(e,i):$e(null);const s=o.pipe(Ye(a=>null===a?$e(void 0):(i._loadedRoutes=a.routes,i._loadedInjector=a.injector,this.processRoutes(a.injector??e,a.routes))));return i.loadComponent&&!i._loadedComponent?ue([s,this.loader.loadComponent(i)]).pipe(fn()):s})}}return t.\u0275fac=function(e){return new(e||t)(we(hn),we(oS),we(ks),we(P2),we(S0))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const D0=new Re("");let O2=(()=>{class t{constructor(e,i,o,s,a={}){this.urlSerializer=e,this.transitions=i,this.viewportScroller=o,this.zone=s,this.options=a,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},a.scrollPositionRestoration=a.scrollPositionRestoration||"disabled",a.anchorScrolling=a.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof p0?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof Ga?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof bh&&0===e.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof r2&&(e.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(e.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,i){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new r2(e,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}}return t.\u0275fac=function(e){Aa()},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();function aa(t,n){return{\u0275kind:t,\u0275providers:n}}function F2(){const t=Qe(Si);return n=>{const e=t.get(Na);if(n!==e.components[0])return;const i=t.get(hn),o=t.get(R2);1===t.get(T0)&&i.initialNavigation(),t.get(N2,null,Mt.Optional)?.setUpPreloading(),t.get(D0,null,Mt.Optional)?.init(),i.resetRootComponentType(e.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const R2=new Re("",{factory:()=>new J}),T0=new Re("",{providedIn:"root",factory:()=>1}),N2=new Re("");function D7(t){return aa(0,[{provide:N2,useExisting:C7},{provide:P2,useExisting:t}])}const Y2=new Re("ROUTER_FORROOT_GUARD"),L7=[Xu,{provide:fh,useClass:c0},hn,vh,{provide:Mr,useFactory:function A2(t){return t.routerState.root},deps:[hn]},S0,[]];function E7(){return new gS("Router",hn)}let H2=(()=>{class t{constructor(e){}static forRoot(e,i){return{ngModule:t,providers:[L7,[],{provide:wd,multi:!0,useValue:e},{provide:Y2,useFactory:A7,deps:[[hn,new xl,new mu]]},{provide:Vm,useValue:i||{}},i?.useHash?{provide:Rl,useClass:eY}:{provide:Rl,useClass:WS},{provide:D0,useFactory:()=>{const t=Qe(mH),n=Qe(ft),e=Qe(Vm),i=Qe(Bm),o=Qe(fh);return e.scrollOffset&&t.setOffset(e.scrollOffset),new O2(o,i,t,n,e)}},i?.preloadingStrategy?D7(i.preloadingStrategy).\u0275providers:[],{provide:gS,multi:!0,useFactory:E7},i?.initialNavigation?F7(i):[],i?.bindToComponentInputs?aa(8,[u2,{provide:Fm,useExisting:u2}]).\u0275providers:[],[{provide:B2,useFactory:F2},{provide:Gv,multi:!0,useExisting:B2}]]}}static forChild(e){return{ngModule:t,providers:[{provide:wd,multi:!0,useValue:e}]}}}return t.\u0275fac=function(e){return new(e||t)(we(Y2,8))},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})();function A7(t){return"guarded"}function F7(t){return["disabled"===t.initialNavigation?aa(3,[{provide:Yv,multi:!0,useFactory:()=>{const n=Qe(hn);return()=>{n.setUpLocationChangeListener()}}},{provide:T0,useValue:2}]).\u0275providers:[],"enabledBlocking"===t.initialNavigation?aa(2,[{provide:T0,useValue:0},{provide:Yv,multi:!0,deps:[Si],useFactory:n=>{const e=n.get(J5,Promise.resolve());return()=>e.then(()=>new Promise(i=>{const o=n.get(hn),s=n.get(R2);I2(o,()=>{i(!0)}),n.get(Bm).afterPreactivation=()=>(i(!0),s.closed?$e(void 0):s),o.initialNavigation()}))}}]).\u0275providers:[]]}const B2=new Re("");class N7 extends T{constructor(n,e){super()}schedule(n,e=0){return this}}class jm extends N7{constructor(n,e){super(n,e),this.scheduler=n,this.work=e,this.pending=!1}schedule(n,e=0){if(this.closed)return this;this.state=n;const i=this.id,o=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(o,i,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(o,this.id,e),this}requestAsyncId(n,e,i=0){return setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,e,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return e;clearInterval(e)}execute(n,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,e);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,e){let o,i=!1;try{this.work(n)}catch(s){i=!0,o=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),o}_unsubscribe(){const n=this.id,e=this.scheduler,i=e.actions,o=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==o&&i.splice(o,1),null!=n&&(this.id=this.recycleAsyncId(e,n,null)),this.delay=null}}let V2=(()=>{class t{constructor(e,i=t.now){this.SchedulerAction=e,this.now=i}schedule(e,i=0,o){return new this.SchedulerAction(this,e).schedule(o,i)}}return t.now=()=>Date.now(),t})();class ss extends V2{constructor(n,e=V2.now){super(n,()=>ss.delegate&&ss.delegate!==this?ss.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(n,e=0,i){return ss.delegate&&ss.delegate!==this?ss.delegate.schedule(n,e,i):super.schedule(n,e,i)}flush(n){const{actions:e}=this;if(this.active)return void e.push(n);let i;this.active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=e.shift());if(this.active=!1,i){for(;n=e.shift();)n.unsubscribe();throw i}}}const Cd=new ss(jm);class no{constructor(n,e,i){this.kind=n,this.value=e,this.error=i,this.hasValue="N"===n}observe(n){switch(this.kind){case"N":return n.next&&n.next(this.value);case"E":return n.error&&n.error(this.error);case"C":return n.complete&&n.complete()}}do(n,e,i){switch(this.kind){case"N":return n&&n(this.value);case"E":return e&&e(this.error);case"C":return i&&i()}}accept(n,e,i){return n&&"function"==typeof n.next?this.observe(n):this.do(n,e,i)}toObservable(){switch(this.kind){case"N":return $e(this.value);case"E":return Ar(this.error);case"C":return Cm()}throw new Error("unexpected notification kind value")}static createNext(n){return typeof n<"u"?new no("N",n):no.undefinedValueNotification}static createError(n){return new no("E",void 0,n)}static createComplete(){return no.completeNotification}}function Ti(t,n=Cd){const i=function Y7(t){return t instanceof Date&&!isNaN(+t)}(t)?+t-n.now():Math.abs(t);return o=>o.lift(new H7(i,n))}no.completeNotification=new no("C"),no.undefinedValueNotification=new no("N",void 0);class H7{constructor(n,e){this.delay=n,this.scheduler=e}call(n,e){return e.subscribe(new L0(n,this.delay,this.scheduler))}}class L0 extends A{constructor(n,e,i){super(n),this.delay=e,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(n){const e=n.source,i=e.queue,o=n.scheduler,s=n.destination;for(;i.length>0&&i[0].time-o.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const a=Math.max(0,i[0].time-o.now());this.schedule(n,a)}else this.unsubscribe(),e.active=!1}_schedule(n){this.active=!0,this.destination.add(n.schedule(L0.dispatch,this.delay,{source:this,destination:this.destination,scheduler:n}))}scheduleNotification(n){if(!0===this.errored)return;const e=this.scheduler,i=new B7(e.now()+this.delay,n);this.queue.push(i),!1===this.active&&this._schedule(e)}_next(n){this.scheduleNotification(no.createNext(n))}_error(n){this.errored=!0,this.queue=[],this.destination.error(n),this.unsubscribe()}_complete(){this.scheduleNotification(no.createComplete()),this.unsubscribe()}}class B7{constructor(n,e){this.time=n,this.notification=e}}var Ka=(()=>((Ka=Ka||{}).NoConnection="NoConnection",Ka.Unknown="Unknown",Ka))();class V7{}const j2="common.operation-error";function en(t){if(t&&t.type&&!t.srcElement)return t;const n=new V7;if(n.originalError=t,!t||"string"==typeof t)return n.originalServerErrorMsg=t||"",n.translatableErrorMsg=t||j2,n.type=Ka.Unknown,n;n.originalServerErrorMsg=function z7(t){if(t){if("string"==typeof t._body)return t._body;if(t.originalServerErrorMsg&&"string"==typeof t.originalServerErrorMsg)return t.originalServerErrorMsg;if(t.error&&"string"==typeof t.error)return t.error;if(t.error&&t.error.error&&t.error.error.message)return t.error.error.message;if(t.error&&t.error.error&&"string"==typeof t.error.error)return t.error.error;if(t.message)return t.message;if(t._body&&t._body.error)return t._body.error;try{return JSON.parse(t._body).error}catch{}}return null}(t);return null!=t.status&&(0===t.status||504===t.status)&&(n.type=Ka.NoConnection,n.translatableErrorMsg="common.no-connection-error"),n.type||(n.type=Ka.Unknown,n.translatableErrorMsg=n.originalServerErrorMsg?function j7(t){if(!t||0===t.length)return t;if(-1!==t.indexOf('"error":'))try{t=JSON.parse(t).error}catch{}if(t.startsWith("400")||t.startsWith("403")){const e=t.split(" - ",2);t=2===e.length?e[1]:t}const n=(t=t.trim()).substr(0,1);return n.toUpperCase()!==n&&(t=n.toUpperCase()+t.substr(1,t.length-1)),!t.endsWith(".")&&!t.endsWith(",")&&!t.endsWith(":")&&!t.endsWith(";")&&!t.endsWith("?")&&!t.endsWith("!")&&(t+="."),t}(n.originalServerErrorMsg):j2),n}const $7=new class W7 extends ss{}(class U7 extends jm{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}schedule(n,e=0){return e>0?super.schedule(n,e):(this.delay=e,this.state=n,this.scheduler.flush(this),this)}execute(n,e){return e>0||this.closed?super.execute(n,e):this._execute(n,e)}requestAsyncId(n,e,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(n,e,i):n.flush(this)}});class zm extends A{constructor(n,e,i=0){super(n),this.scheduler=e,this.delay=i}static dispatch(n){const{notification:e,destination:i}=n;e.observe(i),this.unsubscribe()}scheduleMessage(n){this.destination.add(this.scheduler.schedule(zm.dispatch,this.delay,new q7(n,this.destination)))}_next(n){this.scheduleMessage(no.createNext(n))}_error(n){this.scheduleMessage(no.createError(n)),this.unsubscribe()}_complete(){this.scheduleMessage(no.createComplete()),this.unsubscribe()}}class q7{constructor(n,e){this.notification=n,this.destination=e}}class ko extends J{constructor(n=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=n<1?1:n,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(n){if(!this.isStopped){const e=this._events;e.push(n),e.length>this._bufferSize&&e.shift()}super.next(n)}nextTimeWindow(n){this.isStopped||(this._events.push(new K7(this._getNow(),n)),this._trimBufferThenGetEvents()),super.next(n)}_subscribe(n){const e=this._infiniteTimeWindow,i=e?this._events:this._trimBufferThenGetEvents(),o=this.scheduler,s=i.length;let a;if(this.closed)throw new ee;if(this.isStopped||this.hasError?a=T.EMPTY:(this.observers.push(n),a=new ae(this,n)),o&&n.add(n=new zm(n,o)),e)for(let l=0;le&&(a=Math.max(a,s-e)),a>0&&o.splice(0,a),o}}class K7{constructor(n,e){this.time=n,this.value=e}}const Um="refreshSeconds",Wm="labelsData",$m="localNodesData",z2="nodesData";var Xi=(()=>((Xi=Xi||{}).Node="nd",Xi.Transport="tp",Xi.DmsgServer="ds",Xi))();let Ji=(()=>{class t{constructor(){this.currentRefreshTimeSubject=new ko(1),this.savedLocalNodes=new Map,this.savedLabels=new Map,this.savedVisibleLocalNodes=new Set}initialize(e){this.storage=localStorage,this.hypervisorPk=e,this.migrateDataToHvStorage(),this.currentRefreshTime=parseInt(this.getDataForHv(Um),10)||10,this.currentRefreshTimeSubject.next(this.currentRefreshTime),this.getSavedLocalNodes().forEach(s=>{this.savedLocalNodes.set(s.publicKey,s),s.hidden||this.savedVisibleLocalNodes.add(s.publicKey)}),this.getSavedLabels().forEach(s=>this.savedLabels.set(s.id,s)),this.loadLegacyNodeData();const i=[];this.savedLocalNodes.forEach(s=>i.push(s));const o=[];this.savedLabels.forEach(s=>o.push(s)),this.saveLocalNodes(i),this.saveLabels(o)}getDataForHv(e){return this.storage.getItem(this.hypervisorPk+e)}setDataForHv(e,i){return this.storage.setItem(this.hypervisorPk+e,i)}migrateDataToHvStorage(){const e=this.storage.getItem(Um);if(e){const s=parseInt(e,10)||10;this.setRefreshTime(s),this.storage.removeItem(Um)}const i=this.storage.getItem($m);if(i){const s=JSON.parse(i)||[];this.saveLocalNodes(s),this.storage.removeItem($m)}const o=this.storage.getItem(Wm);if(o){const s=JSON.parse(o)||[];this.saveLabels(s),this.storage.removeItem(Wm)}}loadLegacyNodeData(){const e=JSON.parse(this.storage.getItem(z2))||[];if(e.length>0){const i=this.getSavedLocalNodes(),o=this.getSavedLabels();e.forEach(s=>{i.push({publicKey:s.publicKey,hidden:s.deleted,ip:null}),this.savedLocalNodes.set(s.publicKey,i[i.length-1]),s.deleted||this.savedVisibleLocalNodes.add(s.publicKey),o.push({id:s.publicKey,identifiedElementType:Xi.Node,label:s.label}),this.savedLabels.set(s.publicKey,o[o.length-1])}),this.saveLocalNodes(i),this.saveLabels(o),this.storage.removeItem(z2)}}setRefreshTime(e){this.setDataForHv(Um,e.toString()),this.currentRefreshTime=e,this.currentRefreshTimeSubject.next(this.currentRefreshTime)}getRefreshTimeObservable(){return this.currentRefreshTimeSubject.asObservable()}getRefreshTime(){return this.currentRefreshTime}includeVisibleLocalNodes(e,i){this.changeLocalNodesHiddenProperty(e,i,!1)}setLocalNodesAsHidden(e,i){this.changeLocalNodesHiddenProperty(e,i,!0)}changeLocalNodesHiddenProperty(e,i,o){if(e.length!==i.length)throw new Error("Invalid params");const s=new Map,a=new Map;e.forEach((_,E)=>{s.set(_,i[E]),a.set(_,i[E])});let l=!1;const d=this.getSavedLocalNodes();d.forEach(_=>{s.has(_.publicKey)&&(a.has(_.publicKey)&&a.delete(_.publicKey),_.ip!==s.get(_.publicKey)&&(_.ip=s.get(_.publicKey),l=!0,this.savedLocalNodes.set(_.publicKey,_)),_.hidden!==o&&(_.hidden=o,l=!0,this.savedLocalNodes.set(_.publicKey,_),o?this.savedVisibleLocalNodes.delete(_.publicKey):this.savedVisibleLocalNodes.add(_.publicKey)))}),a.forEach((_,E)=>{l=!0;const F={publicKey:E,hidden:o,ip:_};d.push(F),this.savedLocalNodes.set(E,F),o?this.savedVisibleLocalNodes.delete(E):this.savedVisibleLocalNodes.add(E)}),l&&this.saveLocalNodes(d)}getSavedLocalNodes(){return JSON.parse(this.getDataForHv($m))||[]}getSavedVisibleLocalNodes(){return this.savedVisibleLocalNodes}saveLocalNodes(e){this.setDataForHv($m,JSON.stringify(e))}getSavedLabels(){return JSON.parse(this.getDataForHv(Wm))||[]}saveLabels(e){this.setDataForHv(Wm,JSON.stringify(e))}saveLabel(e,i,o){if(i){let s=!1;const a=this.getSavedLabels().map(l=>(l.id===e&&l.identifiedElementType===o&&(s=!0,l.label=i,this.savedLabels.set(l.id,{label:l.label,id:l.id,identifiedElementType:l.identifiedElementType})),l));if(s)this.saveLabels(a);else{const l={label:i,id:e,identifiedElementType:o};a.push(l),this.savedLabels.set(e,l),this.saveLabels(a)}}else{this.savedLabels.has(e)&&this.savedLabels.delete(e);let s=!1;const a=this.getSavedLabels().filter(l=>l.id!==e||(s=!0,!1));s&&this.saveLabels(a)}}getDefaultLabel(e){return e?e.ip?e.ip:e.localPk.substr(0,8):""}getLabelInfo(e){return this.savedLabels.has(e)?this.savedLabels.get(e):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function _n(t){return null!=t&&"false"!=`${t}`}function So(t,n=0){return function Z7(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):n}function Gm(t){return Array.isArray(t)?t:[t]}function Qi(t){return null==t?"":"string"==typeof t?t:`${t}px`}function la(t){return t instanceof vt?t.nativeElement:t}function kh(t,n,e,i){return O(e)&&(i=e,e=void 0),i?kh(t,n,e).pipe(ke(o=>M(o)?i(...o):i(o))):new he(o=>{U2(t,n,function s(a){o.next(arguments.length>1?Array.prototype.slice.call(arguments):a)},o,e)})}function U2(t,n,e,i,o){let s;if(function Q7(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(t)){const a=t;t.addEventListener(n,e,o),s=()=>a.removeEventListener(n,e,o)}else if(function J7(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(t)){const a=t;t.on(n,e),s=()=>a.off(n,e)}else if(function X7(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(t)){const a=t;t.addListener(n,e),s=()=>a.removeListener(n,e)}else{if(!t||!t.length)throw new TypeError("Invalid event target");for(let a=0,l=t.length;a0?super.requestAsyncId(n,e,i):(n.actions.push(this),n.scheduled||(n.scheduled=requestAnimationFrame(()=>n.flush(null))))}recycleAsyncId(n,e,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(n,e,i);0===n.actions.length&&(cancelAnimationFrame(e),n.scheduled=void 0)}});let i9=1;const r9=Promise.resolve(),qm={};function W2(t){return t in qm&&(delete qm[t],!0)}const $2={setImmediate(t){const n=i9++;return qm[n]=!0,r9.then(()=>W2(n)&&t()),n},clearImmediate(t){W2(t)}},E0=new class s9 extends ss{flush(n){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let i,o=-1,s=e.length;n=n||e.shift();do{if(i=n.execute(n.state,n.delay))break}while(++o0?super.requestAsyncId(n,e,i):(n.actions.push(this),n.scheduled||(n.scheduled=$2.setImmediate(n.flush.bind(n,null))))}recycleAsyncId(n,e,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(n,e,i);0===n.actions.length&&($2.clearImmediate(e),n.scheduled=void 0)}});class l9{constructor(n){this.durationSelector=n}call(n,e){return e.subscribe(new c9(n,this.durationSelector))}}class c9 extends Me{constructor(n,e){super(n),this.durationSelector=e,this.hasValue=!1}_next(n){if(this.value=n,this.hasValue=!0,!this.throttled){let e;try{const{durationSelector:o}=this;e=o(n)}catch(o){return this.destination.error(o)}const i=Ie(e,new be(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:n,hasValue:e,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),e&&(this.value=void 0,this.hasValue=!1,this.destination.next(n))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function I0(t){return!M(t)&&t-parseFloat(t)+1>=0}function Sh(t=0,n,e){let i=-1;return I0(n)?i=Number(n)<1?1:Number(n):Se(n)&&(e=n),Se(e)||(e=Cd),new he(o=>{const s=I0(t)?t:+t-e.now();return e.schedule(d9,s,{index:0,period:i,subscriber:o})})}function d9(t){const{index:n,period:e,subscriber:i}=t;if(i.next(n),!i.closed){if(-1===e)return i.complete();t.index=n+1,this.schedule(t,e)}}function G2(t,n=Cd){return function a9(t){return function(e){return e.lift(new l9(t))}}(()=>Sh(t,n))}let P0;try{P0=typeof Intl<"u"&&Intl.v8BreakIterator}catch{P0=!1}let xd,ui=(()=>{class t{constructor(e){this._platformId=e,this.isBrowser=this._platformId?function pH(t){return t===uD}(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!P0)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.\u0275fac=function(e){return new(e||t)(we(Oa))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const q2=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function K2(){if(xd)return xd;if("object"!=typeof document||!document)return xd=new Set(q2),xd;let t=document.createElement("input");return xd=new Set(q2.filter(n=>(t.setAttribute("type",n),t.type===n))),xd}let Dh,$l,O0;function Za(t){return function u9(){if(null==Dh&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Dh=!0}))}finally{Dh=Dh||!1}return Dh}()?t:!!t.capture}function h9(){if(null==$l){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return $l=!1,$l;if("scrollBehavior"in document.documentElement.style)$l=!0;else{const t=Element.prototype.scrollTo;$l=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return $l}function A0(){let t=typeof document<"u"&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const n=t.shadowRoot.activeElement;if(n===t)break;t=n}return t}function Xa(t){return t.composedPath?t.composedPath()[0]:t.target}function F0(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}const m9=new Re("cdk-dir-doc",{providedIn:"root",factory:function g9(){return Qe(It)}}),_9=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let Do=(()=>{class t{constructor(e){this.value="ltr",this.change=new ht,e&&(this.value=function b9(t){const n=t?.toLowerCase()||"";return"auto"===n&&typeof navigator<"u"&&navigator?.language?_9.test(navigator.language)?"rtl":"ltr":"rtl"===n?"rtl":"ltr"}((e.body?e.body.dir:null)||(e.documentElement?e.documentElement.dir:null)||"ltr"))}ngOnDestroy(){this.change.complete()}}return t.\u0275fac=function(e){return new(e||t)(we(m9,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Th=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})(),Z2=(()=>{class t{constructor(e,i,o){this._ngZone=e,this._platform=i,this._scrolled=new J,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=o}register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.next(e)))}deregister(e){const i=this.scrollContainers.get(e);i&&(i.unsubscribe(),this.scrollContainers.delete(e))}scrolled(e=20){return this._platform.isBrowser?new he(i=>{this._globalSubscription||this._addGlobalListener();const o=e>0?this._scrolled.pipe(G2(e)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{o.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):$e()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((e,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(e,i){const o=this.getAncestorScrollContainers(e);return this.scrolled(i).pipe(_i(s=>!s||o.indexOf(s)>-1))}getAncestorScrollContainers(e){const i=[];return this.scrollContainers.forEach((o,s)=>{this._scrollableContainsElement(s,e)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(e,i){let o=la(i),s=e.getElementRef().nativeElement;do{if(o==s)return!0}while(o=o.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>kh(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(we(ft),we(ui),we(It,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),kd=(()=>{class t{constructor(e,i,o){this._platform=e,this._change=new J,this._changeListener=s=>{this._change.next(s)},this._document=o,i.runOutsideAngular(()=>{if(e.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const e=this._getWindow();e.removeEventListener("resize",this._changeListener),e.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}getViewportRect(){const e=this.getViewportScrollPosition(),{width:i,height:o}=this.getViewportSize();return{top:e.top,left:e.left,bottom:e.top+o,right:e.left+i,height:o,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const e=this._document,i=this._getWindow(),o=e.documentElement,s=o.getBoundingClientRect();return{top:-s.top||e.body.scrollTop||i.scrollY||o.scrollTop||0,left:-s.left||e.body.scrollLeft||i.scrollX||o.scrollLeft||0}}change(e=20){return e>0?this._change.pipe(G2(e)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}}return t.\u0275fac=function(e){return new(e||t)(we(ui),we(ft),we(It,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Lh=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})(),X2=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Th,Lh,Th,Lh]}),t})();function Hn(t){return n=>n.lift(new M9(t))}class M9{constructor(n){this.notifier=n}call(n,e){const i=new w9(n),o=Ie(this.notifier,new be(i));return o&&!i.seenValue?(i.add(o),e.subscribe(i)):i}}class w9 extends Me{constructor(n){super(n),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}class x9{constructor(n,e){this.predicate=n,this.inclusive=e}call(n,e){return e.subscribe(new k9(n,this.predicate,this.inclusive))}}class k9 extends A{constructor(n,e,i){super(n),this.predicate=e,this.inclusive=i,this.index=0}_next(n){const e=this.destination;let i;try{i=this.predicate(n,this.index++)}catch(o){return void e.error(o)}this.nextOrComplete(n,i)}nextOrComplete(n,e){const i=this.destination;e?i.next(n):(this.inclusive&&i.next(n),i.complete())}}class R0{attach(n){return this._attachedHost=n,n.attach(this)}detach(){let n=this._attachedHost;null!=n&&(this._attachedHost=null,n.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(n){this._attachedHost=n}}class Sd extends R0{constructor(n,e,i,o,s){super(),this.component=n,this.viewContainerRef=e,this.injector=i,this.componentFactoryResolver=o,this.projectableNodes=s}}class Gl extends R0{constructor(n,e,i,o){super(),this.templateRef=n,this.viewContainerRef=e,this.context=i,this.injector=o}get origin(){return this.templateRef.elementRef}attach(n,e=this.context){return this.context=e,super.attach(n)}detach(){return this.context=void 0,super.detach()}}class S9 extends R0{constructor(n){super(),this.element=n instanceof vt?n.nativeElement:n}}class Zm{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(n){return n instanceof Sd?(this._attachedPortal=n,this.attachComponentPortal(n)):n instanceof Gl?(this._attachedPortal=n,this.attachTemplatePortal(n)):this.attachDomPortal&&n instanceof S9?(this._attachedPortal=n,this.attachDomPortal(n)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(n){this._disposeFn=n}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class D9 extends Zm{constructor(n,e,i,o,s){super(),this.outletElement=n,this._componentFactoryResolver=e,this._appRef=i,this._defaultInjector=o,this.attachDomPortal=a=>{const l=a.element,d=this._document.createComment("dom-portal");l.parentNode.insertBefore(d,l),this.outletElement.appendChild(l),this._attachedPortal=a,super.setDisposeFn(()=>{d.parentNode&&d.parentNode.replaceChild(l,d)})},this._document=s}attachComponentPortal(n){const i=(n.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(n.component);let o;return n.viewContainerRef?(o=n.viewContainerRef.createComponent(i,n.viewContainerRef.length,n.injector||n.viewContainerRef.injector,n.projectableNodes||void 0),this.setDisposeFn(()=>o.destroy())):(o=i.create(n.injector||this._defaultInjector||Si.NULL),this._appRef.attachView(o.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(o.hostView),o.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(o)),this._attachedPortal=n,o}attachTemplatePortal(n){let e=n.viewContainerRef,i=e.createEmbeddedView(n.templateRef,n.context,{injector:n.injector});return i.rootNodes.forEach(o=>this.outletElement.appendChild(o)),i.detectChanges(),this.setDisposeFn(()=>{let o=e.indexOf(i);-1!==o&&e.remove(o)}),this._attachedPortal=n,i}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(n){return n.hostView.rootNodes[0]}}let T9=(()=>{class t extends Gl{constructor(e,i){super(e,i)}}return t.\u0275fac=function(e){return new(e||t)(Y(mr),Y(rr))},t.\u0275dir=Ke({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[nt]}),t})(),Ja=(()=>{class t extends Zm{constructor(e,i,o){super(),this._componentFactoryResolver=e,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new ht,this.attachDomPortal=s=>{const a=s.element,l=this._document.createComment("dom-portal");s.setAttachedHost(this),a.parentNode.insertBefore(l,a),this._getRootNode().appendChild(a),this._attachedPortal=s,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=o}get portal(){return this._attachedPortal}set portal(e){this.hasAttached()&&!e&&!this._isInitialized||(this.hasAttached()&&super.detach(),e&&super.attach(e),this._attachedPortal=e||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(e){e.setAttachedHost(this);const i=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,s=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component),a=i.createComponent(s,i.length,e.injector||i.injector,e.projectableNodes||void 0);return i!==this._viewContainerRef&&this._getRootNode().appendChild(a.hostView.rootNodes[0]),super.setDisposeFn(()=>a.destroy()),this._attachedPortal=e,this._attachedRef=a,this.attached.emit(a),a}attachTemplatePortal(e){e.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=e,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}}return t.\u0275fac=function(e){return new(e||t)(Y(Tl),Y(rr),Y(It))},t.\u0275dir=Ke({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[nt]}),t})(),Dd=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})();function Fs(t,...n){return n.length?n.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}const Q2=h9();class j9{constructor(n,e){this._viewportRuler=n,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const n=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=n.style.left||"",this._previousHTMLStyles.top=n.style.top||"",n.style.left=Qi(-this._previousScrollPosition.left),n.style.top=Qi(-this._previousScrollPosition.top),n.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const n=this._document.documentElement,i=n.style,o=this._document.body.style,s=i.scrollBehavior||"",a=o.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,n.classList.remove("cdk-global-scrollblock"),Q2&&(i.scrollBehavior=o.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),Q2&&(i.scrollBehavior=s,o.scrollBehavior=a)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const e=this._document.body,i=this._viewportRuler.getViewportSize();return e.scrollHeight>i.height||e.scrollWidth>i.width}}class z9{constructor(n,e,i,o){this._scrollDispatcher=n,this._ngZone=e,this._viewportRuler=i,this._config=o,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(n){this._overlayRef=n}enable(){if(this._scrollSubscription)return;const n=this._scrollDispatcher.scrolled(0).pipe(_i(e=>!e||!this._overlayRef.overlayElement.contains(e.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=n.subscribe(()=>{const e=this._viewportRuler.getViewportScrollPosition().top;Math.abs(e-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=n.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class eL{enable(){}disable(){}attach(){}}function N0(t,n){return n.some(e=>t.bottome.bottom||t.righte.right)}function tL(t,n){return n.some(e=>t.tope.bottom||t.lefte.right)}class U9{constructor(n,e,i,o){this._scrollDispatcher=n,this._viewportRuler=e,this._ngZone=i,this._config=o,this._scrollSubscription=null}attach(n){this._overlayRef=n}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const e=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:o}=this._viewportRuler.getViewportSize();N0(e,[{width:i,height:o,bottom:o,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let W9=(()=>{class t{constructor(e,i,o,s){this._scrollDispatcher=e,this._viewportRuler=i,this._ngZone=o,this.noop=()=>new eL,this.close=a=>new z9(this._scrollDispatcher,this._ngZone,this._viewportRuler,a),this.block=()=>new j9(this._viewportRuler,this._document),this.reposition=a=>new U9(this._scrollDispatcher,this._viewportRuler,this._ngZone,a),this._document=s}}return t.\u0275fac=function(e){return new(e||t)(we(Z2),we(kd),we(ft),we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class Oh{constructor(n){if(this.scrollStrategy=new eL,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,n){const e=Object.keys(n);for(const i of e)void 0!==n[i]&&(this[i]=n[i])}}}class $9{constructor(n,e){this.connectionPair=n,this.scrollableViewProperties=e}}let nL=(()=>{class t{constructor(e){this._attachedOverlays=[],this._document=e}ngOnDestroy(){this.detach()}add(e){this.remove(e),this._attachedOverlays.push(e)}remove(e){const i=this._attachedOverlays.indexOf(e);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return t.\u0275fac=function(e){return new(e||t)(we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),G9=(()=>{class t extends nL{constructor(e,i){super(e),this._ngZone=i,this._keydownListener=o=>{const s=this._attachedOverlays;for(let a=s.length-1;a>-1;a--)if(s[a]._keydownEvents.observers.length>0){const l=s[a]._keydownEvents;this._ngZone?this._ngZone.run(()=>l.next(o)):l.next(o);break}}}add(e){super.add(e),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return t.\u0275fac=function(e){return new(e||t)(we(It),we(ft,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),q9=(()=>{class t extends nL{constructor(e,i,o){super(e),this._platform=i,this._ngZone=o,this._cursorStyleIsSet=!1,this._pointerDownListener=s=>{this._pointerDownEventTarget=Xa(s)},this._clickListener=s=>{const a=Xa(s),l="click"===s.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:a;this._pointerDownEventTarget=null;const d=this._attachedOverlays.slice();for(let _=d.length-1;_>-1;_--){const E=d[_];if(E._outsidePointerEvents.observers.length<1||!E.hasAttached())continue;if(E.overlayElement.contains(a)||E.overlayElement.contains(l))break;const F=E._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>F.next(s)):F.next(s)}}}add(e){if(super.add(e),!this._isAttached){const i=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(i)):this._addEventListeners(i),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const e=this._document.body;e.removeEventListener("pointerdown",this._pointerDownListener,!0),e.removeEventListener("click",this._clickListener,!0),e.removeEventListener("auxclick",this._clickListener,!0),e.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(e.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(e){e.addEventListener("pointerdown",this._pointerDownListener,!0),e.addEventListener("click",this._clickListener,!0),e.addEventListener("auxclick",this._clickListener,!0),e.addEventListener("contextmenu",this._clickListener,!0)}}return t.\u0275fac=function(e){return new(e||t)(we(It),we(ui),we(ft,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),tg=(()=>{class t{constructor(e,i){this._platform=i,this._document=e}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const e="cdk-overlay-container";if(this._platform.isBrowser||F0()){const o=this._document.querySelectorAll(`.${e}[platform="server"], .${e}[platform="test"]`);for(let s=0;sthis._backdropClick.next(F),this._backdropTransitionendHandler=F=>{this._disposeBackdrop(F.target)},this._keydownEvents=new J,this._outsidePointerEvents=new J,o.scrollStrategy&&(this._scrollStrategy=o.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=o.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(n){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const e=this._portalOutlet.attach(n);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(Kn(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),"function"==typeof e?.onDestroy&&e.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const n=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),n}dispose(){const n=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,n&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(n){n!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=n,this.hasAttached()&&(n.attach(this),this.updatePosition()))}updateSize(n){this._config={...this._config,...n},this._updateElementSize()}setDirection(n){this._config={...this._config,direction:n},this._updateElementDirection()}addPanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!0)}removePanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!1)}getDirection(){const n=this._config.direction;return n?"string"==typeof n?n:n.value:"ltr"}updateScrollStrategy(n){n!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=n,this.hasAttached()&&(n.attach(this),n.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const n=this._pane.style;n.width=Qi(this._config.width),n.height=Qi(this._config.height),n.minWidth=Qi(this._config.minWidth),n.minHeight=Qi(this._config.minHeight),n.maxWidth=Qi(this._config.maxWidth),n.maxHeight=Qi(this._config.maxHeight)}_togglePointerEvents(n){this._pane.style.pointerEvents=n?"":"none"}_attachBackdrop(){const n="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(n)})}):this._backdropElement.classList.add(n)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const n=this._backdropElement;if(n){if(this._animationsDisabled)return void this._disposeBackdrop(n);n.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{n.addEventListener("transitionend",this._backdropTransitionendHandler)}),n.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(n)},500))}}_toggleClasses(n,e,i){const o=Gm(e||[]).filter(s=>!!s);o.length&&(i?n.classList.add(...o):n.classList.remove(...o))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const n=this._ngZone.onStable.pipe(Hn(bt(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),n.unsubscribe())})})}_disposeScrollStrategy(){const n=this._scrollStrategy;n&&(n.disable(),n.detach&&n.detach())}_disposeBackdrop(n){n&&(n.removeEventListener("click",this._backdropClickHandler),n.removeEventListener("transitionend",this._backdropTransitionendHandler),n.remove(),this._backdropElement===n&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}const iL="cdk-overlay-connected-position-bounding-box",K9=/([A-Za-z%]+)$/;class Z9{get positions(){return this._preferredPositions}constructor(n,e,i,o,s){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new J,this._resizeSubscription=T.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(n)}attach(n){this._validatePositions(),n.hostElement.classList.add(iL),this._overlayRef=n,this._boundingBox=n.hostElement,this._pane=n.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const n=this._originRect,e=this._overlayRect,i=this._viewportRect,o=this._containerRect,s=[];let a;for(let l of this._preferredPositions){let d=this._getOriginPoint(n,o,l),_=this._getOverlayPoint(d,e,l),E=this._getOverlayFit(_,e,i,l);if(E.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(l,d);this._canFitWithFlexibleDimensions(E,_,i)?s.push({position:l,origin:d,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(d,l)}):(!a||a.overlayFit.visibleAread&&(d=E,l=_)}return this._isPushed=!1,void this._applyPosition(l.position,l.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(a.position,a.originPoint);this._applyPosition(a.position,a.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ql(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(iL),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const n=this._lastPosition;if(n){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const e=this._getOriginPoint(this._originRect,this._containerRect,n);this._applyPosition(n,e)}else this.apply()}withScrollableContainers(n){return this._scrollables=n,this}withPositions(n){return this._preferredPositions=n,-1===n.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(n){return this._viewportMargin=n,this}withFlexibleDimensions(n=!0){return this._hasFlexibleDimensions=n,this}withGrowAfterOpen(n=!0){return this._growAfterOpen=n,this}withPush(n=!0){return this._canPush=n,this}withLockedPosition(n=!0){return this._positionLocked=n,this}setOrigin(n){return this._origin=n,this}withDefaultOffsetX(n){return this._offsetX=n,this}withDefaultOffsetY(n){return this._offsetY=n,this}withTransformOriginOn(n){return this._transformOriginSelector=n,this}_getOriginPoint(n,e,i){let o,s;if("center"==i.originX)o=n.left+n.width/2;else{const a=this._isRtl()?n.right:n.left,l=this._isRtl()?n.left:n.right;o="start"==i.originX?a:l}return e.left<0&&(o-=e.left),s="center"==i.originY?n.top+n.height/2:"top"==i.originY?n.top:n.bottom,e.top<0&&(s-=e.top),{x:o,y:s}}_getOverlayPoint(n,e,i){let o,s;return o="center"==i.overlayX?-e.width/2:"start"===i.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,s="center"==i.overlayY?-e.height/2:"top"==i.overlayY?0:-e.height,{x:n.x+o,y:n.y+s}}_getOverlayFit(n,e,i,o){const s=oL(e);let{x:a,y:l}=n,d=this._getOffset(o,"x"),_=this._getOffset(o,"y");d&&(a+=d),_&&(l+=_);let G=0-l,ie=l+s.height-i.height,_e=this._subtractOverflows(s.width,0-a,a+s.width-i.width),Ce=this._subtractOverflows(s.height,G,ie),Ae=_e*Ce;return{visibleArea:Ae,isCompletelyWithinViewport:s.width*s.height===Ae,fitsInViewportVertically:Ce===s.height,fitsInViewportHorizontally:_e==s.width}}_canFitWithFlexibleDimensions(n,e,i){if(this._hasFlexibleDimensions){const o=i.bottom-e.y,s=i.right-e.x,a=rL(this._overlayRef.getConfig().minHeight),l=rL(this._overlayRef.getConfig().minWidth);return(n.fitsInViewportVertically||null!=a&&a<=o)&&(n.fitsInViewportHorizontally||null!=l&&l<=s)}return!1}_pushOverlayOnScreen(n,e,i){if(this._previousPushAmount&&this._positionLocked)return{x:n.x+this._previousPushAmount.x,y:n.y+this._previousPushAmount.y};const o=oL(e),s=this._viewportRect,a=Math.max(n.x+o.width-s.width,0),l=Math.max(n.y+o.height-s.height,0),d=Math.max(s.top-i.top-n.y,0),_=Math.max(s.left-i.left-n.x,0);let E=0,F=0;return E=o.width<=s.width?_||-a:n.x_e&&!this._isInitialRender&&!this._growAfterOpen&&(a=n.y-_e/2)}if("end"===e.overlayX&&!o||"start"===e.overlayX&&o)G=i.width-n.x+this._viewportMargin,E=n.x-this._viewportMargin;else if("start"===e.overlayX&&!o||"end"===e.overlayX&&o)F=n.x,E=i.right-n.x;else{const ie=Math.min(i.right-n.x+i.left,n.x),_e=this._lastBoundingBoxSize.width;E=2*ie,F=n.x-ie,E>_e&&!this._isInitialRender&&!this._growAfterOpen&&(F=n.x-_e/2)}return{top:a,left:F,bottom:l,right:G,width:E,height:s}}_setBoundingBoxStyles(n,e){const i=this._calculateBoundingBoxRect(n,e);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const o={};if(this._hasExactPosition())o.top=o.left="0",o.bottom=o.right=o.maxHeight=o.maxWidth="",o.width=o.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,a=this._overlayRef.getConfig().maxWidth;o.height=Qi(i.height),o.top=Qi(i.top),o.bottom=Qi(i.bottom),o.width=Qi(i.width),o.left=Qi(i.left),o.right=Qi(i.right),o.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",o.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",s&&(o.maxHeight=Qi(s)),a&&(o.maxWidth=Qi(a))}this._lastBoundingBoxSize=i,ql(this._boundingBox.style,o)}_resetBoundingBoxStyles(){ql(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ql(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(n,e){const i={},o=this._hasExactPosition(),s=this._hasFlexibleDimensions,a=this._overlayRef.getConfig();if(o){const E=this._viewportRuler.getViewportScrollPosition();ql(i,this._getExactOverlayY(e,n,E)),ql(i,this._getExactOverlayX(e,n,E))}else i.position="static";let l="",d=this._getOffset(e,"x"),_=this._getOffset(e,"y");d&&(l+=`translateX(${d}px) `),_&&(l+=`translateY(${_}px)`),i.transform=l.trim(),a.maxHeight&&(o?i.maxHeight=Qi(a.maxHeight):s&&(i.maxHeight="")),a.maxWidth&&(o?i.maxWidth=Qi(a.maxWidth):s&&(i.maxWidth="")),ql(this._pane.style,i)}_getExactOverlayY(n,e,i){let o={top:"",bottom:""},s=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),"bottom"===n.overlayY?o.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":o.top=Qi(s.y),o}_getExactOverlayX(n,e,i){let a,o={left:"",right:""},s=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),a=this._isRtl()?"end"===n.overlayX?"left":"right":"end"===n.overlayX?"right":"left","right"===a?o.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":o.left=Qi(s.x),o}_getScrollVisibility(){const n=this._getOriginRect(),e=this._pane.getBoundingClientRect(),i=this._scrollables.map(o=>o.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:tL(n,i),isOriginOutsideView:N0(n,i),isOverlayClipped:tL(e,i),isOverlayOutsideView:N0(e,i)}}_subtractOverflows(n,...e){return e.reduce((i,o)=>i-Math.max(o,0),n)}_getNarrowedViewportRect(){const n=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+n-this._viewportMargin,bottom:i.top+e-this._viewportMargin,width:n-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(n,e){return"x"===e?null==n.offsetX?this._offsetX:n.offsetX:null==n.offsetY?this._offsetY:n.offsetY}_validatePositions(){}_addPanelClasses(n){this._pane&&Gm(n).forEach(e=>{""!==e&&-1===this._appliedPanelClasses.indexOf(e)&&(this._appliedPanelClasses.push(e),this._pane.classList.add(e))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(n=>{this._pane.classList.remove(n)}),this._appliedPanelClasses=[])}_getOriginRect(){const n=this._origin;if(n instanceof vt)return n.nativeElement.getBoundingClientRect();if(n instanceof Element)return n.getBoundingClientRect();const e=n.width||0,i=n.height||0;return{top:n.y,bottom:n.y+i,left:n.x,right:n.x+e,height:i,width:e}}}function ql(t,n){for(let e in n)n.hasOwnProperty(e)&&(t[e]=n[e]);return t}function rL(t){if("number"!=typeof t&&null!=t){const[n,e]=t.split(K9);return e&&"px"!==e?null:parseFloat(n)}return t||null}function oL(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}const sL="cdk-global-overlay-wrapper";class X9{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(n){const e=n.getConfig();this._overlayRef=n,this._width&&!e.width&&n.updateSize({width:this._width}),this._height&&!e.height&&n.updateSize({height:this._height}),n.hostElement.classList.add(sL),this._isDisposed=!1}top(n=""){return this._bottomOffset="",this._topOffset=n,this._alignItems="flex-start",this}left(n=""){return this._xOffset=n,this._xPosition="left",this}bottom(n=""){return this._topOffset="",this._bottomOffset=n,this._alignItems="flex-end",this}right(n=""){return this._xOffset=n,this._xPosition="right",this}start(n=""){return this._xOffset=n,this._xPosition="start",this}end(n=""){return this._xOffset=n,this._xPosition="end",this}width(n=""){return this._overlayRef?this._overlayRef.updateSize({width:n}):this._width=n,this}height(n=""){return this._overlayRef?this._overlayRef.updateSize({height:n}):this._height=n,this}centerHorizontally(n=""){return this.left(n),this._xPosition="center",this}centerVertically(n=""){return this.top(n),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:o,height:s,maxWidth:a,maxHeight:l}=i,d=!("100%"!==o&&"100vw"!==o||a&&"100%"!==a&&"100vw"!==a),_=!("100%"!==s&&"100vh"!==s||l&&"100%"!==l&&"100vh"!==l),E=this._xPosition,F=this._xOffset,G="rtl"===this._overlayRef.getConfig().direction;let ie="",_e="",Ce="";d?Ce="flex-start":"center"===E?(Ce="center",G?_e=F:ie=F):G?"left"===E||"end"===E?(Ce="flex-end",ie=F):("right"===E||"start"===E)&&(Ce="flex-start",_e=F):"left"===E||"start"===E?(Ce="flex-start",ie=F):("right"===E||"end"===E)&&(Ce="flex-end",_e=F),n.position=this._cssPosition,n.marginLeft=d?"0":ie,n.marginTop=_?"0":this._topOffset,n.marginBottom=this._bottomOffset,n.marginRight=d?"0":_e,e.justifyContent=Ce,e.alignItems=_?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,i=e.style;e.classList.remove(sL),i.justifyContent=i.alignItems=n.marginTop=n.marginBottom=n.marginLeft=n.marginRight=n.position="",this._overlayRef=null,this._isDisposed=!0}}let J9=(()=>{class t{constructor(e,i,o,s){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=s}global(){return new X9}flexibleConnectedTo(e){return new Z9(e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return t.\u0275fac=function(e){return new(e||t)(we(kd),we(It),we(ui),we(tg))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Q9=0,io=(()=>{class t{constructor(e,i,o,s,a,l,d,_,E,F,G,ie){this.scrollStrategies=e,this._overlayContainer=i,this._componentFactoryResolver=o,this._positionBuilder=s,this._keyboardDispatcher=a,this._injector=l,this._ngZone=d,this._document=_,this._directionality=E,this._location=F,this._outsideClickDispatcher=G,this._animationsModuleType=ie}create(e){const i=this._createHostElement(),o=this._createPaneElement(i),s=this._createPortalOutlet(o),a=new Oh(e);return a.direction=a.direction||this._directionality.value,new Ah(s,i,o,a,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,"NoopAnimations"===this._animationsModuleType)}position(){return this._positionBuilder}_createPaneElement(e){const i=this._document.createElement("div");return i.id="cdk-overlay-"+Q9++,i.classList.add("cdk-overlay-pane"),e.appendChild(i),i}_createHostElement(){const e=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(e),e}_createPortalOutlet(e){return this._appRef||(this._appRef=this._injector.get(Na)),new D9(e,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return t.\u0275fac=function(e){return new(e||t)(we(W9),we(tg),we(Tl),we(J9),we(G9),we(Si),we(ft),we(It),we(Do),we(Xu),we(q9),we(Ri,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const ez=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],aL=new Re("cdk-connected-overlay-scroll-strategy");let Y0=(()=>{class t{constructor(e){this.elementRef=e}}return t.\u0275fac=function(e){return new(e||t)(Y(vt))},t.\u0275dir=Ke({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"],standalone:!0}),t})(),lL=(()=>{class t{get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(e){this._hasBackdrop=_n(e)}get lockPosition(){return this._lockPosition}set lockPosition(e){this._lockPosition=_n(e)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(e){this._flexibleDimensions=_n(e)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(e){this._growAfterOpen=_n(e)}get push(){return this._push}set push(e){this._push=_n(e)}constructor(e,i,o,s,a){this._overlay=e,this._dir=a,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=T.EMPTY,this._attachSubscription=T.EMPTY,this._detachSubscription=T.EMPTY,this._positionSubscription=T.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new ht,this.positionChange=new ht,this.attach=new ht,this.detach=new ht,this.overlayKeydown=new ht,this.overlayOutsideClick=new ht,this._templatePortal=new Gl(i,o),this._scrollStrategyFactory=s,this.scrollStrategy=this._scrollStrategyFactory()}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=ez);const e=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=e.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=e.detachments().subscribe(()=>this.detach.emit()),e.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),27===i.keyCode&&!this.disableClose&&!Fs(i)&&(i.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{this.overlayOutsideClick.next(i)})}_buildConfig(){const e=this._position=this.positionStrategy||this._createPositionStrategy(),i=new Oh({direction:this._dir,positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(i.width=this.width),(this.height||0===this.height)&&(i.height=this.height),(this.minWidth||0===this.minWidth)&&(i.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(e){const i=this.positions.map(o=>({originX:o.originX,originY:o.originY,overlayX:o.overlayX,overlayY:o.overlayY,offsetX:o.offsetX||this.offsetX,offsetY:o.offsetY||this.offsetY,panelClass:o.panelClass||void 0}));return e.setOrigin(this._getFlexibleConnectedPositionStrategyOrigin()).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const e=this._overlay.position().flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());return this._updatePositionStrategy(e),e}_getFlexibleConnectedPositionStrategyOrigin(){return this.origin instanceof Y0?this.origin.elementRef:this.origin}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(e=>{this.backdropClick.emit(e)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(function C9(t,n=!1){return e=>e.lift(new x9(t,n))}(()=>this.positionChange.observers.length>0)).subscribe(e=>{this.positionChange.emit(e),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(io),Y(mr),Y(rr),Y(aL),Y(Do,8))},t.\u0275dir=Ke({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:["cdkConnectedOverlayOrigin","origin"],positions:["cdkConnectedOverlayPositions","positions"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],standalone:!0,features:[Gi]}),t})();const nz={provide:aL,deps:[io],useFactory:function tz(t){return()=>t.scrollStrategies.reposition()}};let Td=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[io,nz],imports:[Th,Dd,X2,X2]}),t})();function H0(t,n=Cd){return e=>e.lift(new iz(t,n))}class iz{constructor(n,e){this.dueTime=n,this.scheduler=e}call(n,e){return e.subscribe(new rz(n,this.dueTime,this.scheduler))}}class rz extends A{constructor(n,e,i){super(n),this.dueTime=e,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(n){this.clearDebounce(),this.lastValue=n,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(oz,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:n}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(n)}}clearDebounce(){const n=this.debouncedSubscription;null!==n&&(this.remove(n),n.unsubscribe(),this.debouncedSubscription=null)}}function oz(t){t.debouncedNext()}function B0(t){return n=>n.lift(new sz(t))}class sz{constructor(n){this.total=n}call(n,e){return e.subscribe(new az(n,this.total))}}class az extends A{constructor(n,e){super(n),this.total=e,this.count=0}_next(n){++this.count>this.total&&this.destination.next(n)}}function V0(t,n){return e=>e.lift(new lz(t,n))}class lz{constructor(n,e){this.compare=n,this.keySelector=e}call(n,e){return e.subscribe(new cz(n,this.compare,this.keySelector))}}class cz extends A{constructor(n,e,i){super(n),this.keySelector=i,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(n,e){return n===e}_next(n){let e;try{const{keySelector:o}=this;e=o?o(n):n}catch(o){return this.destination.error(o)}let i=!1;if(this.hasKey)try{const{compare:o}=this;i=o(this.key,e)}catch(o){return this.destination.error(o)}else this.hasKey=!0;i||(this.key=e,this.destination.next(n))}}let cL=(()=>{class t{create(e){return typeof MutationObserver>"u"?null:new MutationObserver(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),dz=(()=>{class t{constructor(e){this._mutationObserverFactory=e,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((e,i)=>this._cleanupObserver(i))}observe(e){const i=la(e);return new he(o=>{const a=this._observeElement(i).subscribe(o);return()=>{a.unsubscribe(),this._unobserveElement(i)}})}_observeElement(e){if(this._observedElements.has(e))this._observedElements.get(e).count++;else{const i=new J,o=this._mutationObserverFactory.create(s=>i.next(s));o&&o.observe(e,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(e,{observer:o,stream:i,count:1})}return this._observedElements.get(e).stream}_unobserveElement(e){this._observedElements.has(e)&&(this._observedElements.get(e).count--,this._observedElements.get(e).count||this._cleanupObserver(e))}_cleanupObserver(e){if(this._observedElements.has(e)){const{observer:i,stream:o}=this._observedElements.get(e);i&&i.disconnect(),o.complete(),this._observedElements.delete(e)}}}return t.\u0275fac=function(e){return new(e||t)(we(cL))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),dL=(()=>{class t{get disabled(){return this._disabled}set disabled(e){this._disabled=_n(e),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(e){this._debounce=So(e),this._subscribe()}constructor(e,i,o){this._contentObserver=e,this._elementRef=i,this._ngZone=o,this.event=new ht,this._disabled=!1,this._currentSubscription=null}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const e=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?e.pipe(H0(this.debounce)):e).subscribe(this.event)})}_unsubscribe(){this._currentSubscription?.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(dz),Y(vt),Y(ft))},t.\u0275dir=Ke({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),t})(),j0=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[cL]}),t})();const uL=new Set;let Kl,uz=(()=>{class t{constructor(e,i){this._platform=e,this._nonce=i,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):fz}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&function hz(t,n){if(!uL.has(t))try{Kl||(Kl=document.createElement("style"),n&&(Kl.nonce=n),Kl.setAttribute("type","text/css"),document.head.appendChild(Kl)),Kl.sheet&&(Kl.sheet.insertRule(`@media ${t} {body{ }}`,0),uL.add(t))}catch(e){console.error(e)}}(e,this._nonce),this._matchMedia(e)}}return t.\u0275fac=function(e){return new(e||t)(we(ui),we(Tb,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function fz(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let z0=(()=>{class t{constructor(e,i){this._mediaMatcher=e,this._zone=i,this._queries=new Map,this._destroySubject=new J}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return hL(Gm(e)).some(o=>this._registerQuery(o).mql.matches)}observe(e){let s=Mm(hL(Gm(e)).map(a=>this._registerQuery(a).observable));return s=Ua(s.pipe(Kn(1)),s.pipe(B0(1),H0(0))),s.pipe(ke(a=>{const l={matches:!1,breakpoints:{}};return a.forEach(({matches:d,query:_})=>{l.matches=l.matches||d,l.breakpoints[_]=d}),l}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);const i=this._mediaMatcher.matchMedia(e),s={observable:new he(a=>{const l=d=>this._zone.run(()=>a.next(d));return i.addListener(l),()=>{i.removeListener(l)}}).pipe(Go(i),ke(({matches:a})=>({query:e,matches:a})),Hn(this._destroySubject)),mql:i};return this._queries.set(e,s),s}}return t.\u0275fac=function(e){return new(e||t)(we(uz),we(ft))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function hL(t){return t.map(n=>n.split(",")).reduce((n,e)=>n.concat(e)).map(n=>n.trim())}function ng(t,n){return(t.getAttribute(n)||"").match(/\S+/g)||[]}const pL="cdk-describedby-message",ig="cdk-describedby-host";let U0=0,_z=(()=>{class t{constructor(e,i){this._platform=i,this._messageRegistry=new Map,this._messagesContainer=null,this._id=""+U0++,this._document=e,this._id=Qe(ku)+"-"+U0++}describe(e,i,o){if(!this._canBeDescribed(e,i))return;const s=W0(i,o);"string"!=typeof i?(mL(i,this._id),this._messageRegistry.set(s,{messageElement:i,referenceCount:0})):this._messageRegistry.has(s)||this._createMessageElement(i,o),this._isElementDescribedByMessage(e,s)||this._addMessageReference(e,s)}removeDescription(e,i,o){if(!i||!this._isElementNode(e))return;const s=W0(i,o);if(this._isElementDescribedByMessage(e,s)&&this._removeMessageReference(e,s),"string"==typeof i){const a=this._messageRegistry.get(s);a&&0===a.referenceCount&&this._deleteMessageElement(s)}0===this._messagesContainer?.childNodes.length&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){const e=this._document.querySelectorAll(`[${ig}="${this._id}"]`);for(let i=0;i0!=o.indexOf(pL));e.setAttribute("aria-describedby",i.join(" "))}_addMessageReference(e,i){const o=this._messageRegistry.get(i);(function mz(t,n,e){const i=ng(t,n);i.some(o=>o.trim()==e.trim())||(i.push(e.trim()),t.setAttribute(n,i.join(" ")))})(e,"aria-describedby",o.messageElement.id),e.setAttribute(ig,this._id),o.referenceCount++}_removeMessageReference(e,i){const o=this._messageRegistry.get(i);o.referenceCount--,function gz(t,n,e){const o=ng(t,n).filter(s=>s!=e.trim());o.length?t.setAttribute(n,o.join(" ")):t.removeAttribute(n)}(e,"aria-describedby",o.messageElement.id),e.removeAttribute(ig)}_isElementDescribedByMessage(e,i){const o=ng(e,"aria-describedby"),s=this._messageRegistry.get(i),a=s&&s.messageElement.id;return!!a&&-1!=o.indexOf(a)}_canBeDescribed(e,i){if(!this._isElementNode(e))return!1;if(i&&"object"==typeof i)return!0;const o=null==i?"":`${i}`.trim(),s=e.getAttribute("aria-label");return!(!o||s&&s.trim()===o)}_isElementNode(e){return e.nodeType===this._document.ELEMENT_NODE}}return t.\u0275fac=function(e){return new(e||t)(we(It),we(ui))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function W0(t,n){return"string"==typeof t?`${n||""}/${t}`:t}function mL(t,n){t.id||(t.id=`${pL}-${n}-${U0++}`)}class gL{constructor(n){this._items=n,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new J,this._typeaheadSubscription=T.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=e=>e.disabled,this._pressedLetters=[],this.tabOut=new J,this.change=new J,n instanceof Al&&(this._itemChangesSubscription=n.changes.subscribe(e=>{if(this._activeItem){const o=e.toArray().indexOf(this._activeItem);o>-1&&o!==this._activeItemIndex&&(this._activeItemIndex=o)}}))}skipPredicate(n){return this._skipPredicateFn=n,this}withWrap(n=!0){return this._wrap=n,this}withVerticalOrientation(n=!0){return this._vertical=n,this}withHorizontalOrientation(n){return this._horizontal=n,this}withAllowedModifierKeys(n){return this._allowedModifierKeys=n,this}withTypeAhead(n=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(bi(e=>this._pressedLetters.push(e)),H0(n),_i(()=>this._pressedLetters.length>0),ke(()=>this._pressedLetters.join(""))).subscribe(e=>{const i=this._getItemsArray();for(let o=1;o!n[s]||this._allowedModifierKeys.indexOf(s)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&o){this.setNextItemActive();break}return;case 38:if(this._vertical&&o){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&o){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&o){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&o){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&o){this.setLastItemActive();break}return;case 33:if(this._pageUpAndDown.enabled&&o){const s=this._activeItemIndex-this._pageUpAndDown.delta;this._setActiveItemByIndex(s>0?s:0,1);break}return;case 34:if(this._pageUpAndDown.enabled&&o){const s=this._activeItemIndex+this._pageUpAndDown.delta,a=this._getItemsArray().length;this._setActiveItemByIndex(s=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],n.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(n){const e=this._getItemsArray(),i="number"==typeof n?n:e.indexOf(n);this._activeItem=e[i]??null,this._activeItemIndex=i}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._letterKeyStream.complete(),this.tabOut.complete(),this.change.complete(),this._pressedLetters=[]}_setActiveItemByDelta(n){this._wrap?this._setActiveInWrapMode(n):this._setActiveInDefaultMode(n)}_setActiveInWrapMode(n){const e=this._getItemsArray();for(let i=1;i<=e.length;i++){const o=(this._activeItemIndex+n*i+e.length)%e.length;if(!this._skipPredicateFn(e[o]))return void this.setActiveItem(o)}}_setActiveInDefaultMode(n){this._setActiveItemByIndex(this._activeItemIndex+n,n)}_setActiveItemByIndex(n,e){const i=this._getItemsArray();if(i[n]){for(;this._skipPredicateFn(i[n]);)if(!i[n+=e])return;this.setActiveItem(n)}}_getItemsArray(){return this._items instanceof Al?this._items.toArray():this._items}}class bz extends gL{setActiveItem(n){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(n),this.activeItem&&this.activeItem.setActiveStyles()}}class _L extends gL{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(n){return this._origin=n,this}setActiveItem(n){super.setActiveItem(n),this.activeItem&&this.activeItem.focus(this._origin)}}let rg=(()=>{class t{constructor(e){this._platform=e}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return function yz(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(e)&&"visible"===getComputedStyle(e).visibility}isTabbable(e){if(!this._platform.isBrowser)return!1;const i=function vz(t){try{return t.frameElement}catch{return null}}(function Tz(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(e));if(i&&(-1===vL(i)||!this.isVisible(i)))return!1;let o=e.nodeName.toLowerCase(),s=vL(e);return e.hasAttribute("contenteditable")?-1!==s:!("iframe"===o||"object"===o||this._platform.WEBKIT&&this._platform.IOS&&!function Sz(t){let n=t.nodeName.toLowerCase(),e="input"===n&&t.type;return"text"===e||"password"===e||"select"===n||"textarea"===n}(e))&&("audio"===o?!!e.hasAttribute("controls")&&-1!==s:"video"===o?-1!==s&&(null!==s||this._platform.FIREFOX||e.hasAttribute("controls")):e.tabIndex>=0)}isFocusable(e,i){return function Dz(t){return!function wz(t){return function xz(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function Mz(t){let n=t.nodeName.toLowerCase();return"input"===n||"select"===n||"button"===n||"textarea"===n}(t)||function Cz(t){return function kz(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||bL(t))}(e)&&!this.isDisabled(e)&&(i?.ignoreVisibility||this.isVisible(e))}}return t.\u0275fac=function(e){return new(e||t)(we(ui))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function bL(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let n=t.getAttribute("tabindex");return!(!n||isNaN(parseInt(n,10)))}function vL(t){if(!bL(t))return null;const n=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(n)?-1:n}class Lz{get enabled(){return this._enabled}set enabled(n){this._enabled=n,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}constructor(n,e,i,o,s=!1){this._element=n,this._checker=e,this._ngZone=i,this._document=o,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}destroy(){const n=this._startAnchor,e=this._endAnchor;n&&(n.removeEventListener("focus",this.startAnchorListener),n.remove()),e&&(e.removeEventListener("focus",this.endAnchorListener),e.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(n)))})}focusFirstTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(n)))})}focusLastTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(n)))})}_getRegionBoundary(n){const e=this._element.querySelectorAll(`[cdk-focus-region-${n}], [cdkFocusRegion${n}], [cdk-focus-${n}]`);return"start"==n?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(n){const e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(e){if(!this._checker.isFocusable(e)){const i=this._getFirstTabbableElement(e);return i?.focus(n),!!i}return e.focus(n),!0}return this.focusFirstTabbableElement(n)}focusFirstTabbableElement(n){const e=this._getRegionBoundary("start");return e&&e.focus(n),!!e}focusLastTabbableElement(n){const e=this._getRegionBoundary("end");return e&&e.focus(n),!!e}hasAttached(){return this._hasAttached}_getFirstTabbableElement(n){if(this._checker.isFocusable(n)&&this._checker.isTabbable(n))return n;const e=n.children;for(let i=0;i=0;i--){const o=e[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[i]):null;if(o)return o}return null}_createAnchor(){const n=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,n),n.classList.add("cdk-visually-hidden"),n.classList.add("cdk-focus-trap-anchor"),n.setAttribute("aria-hidden","true"),n}_toggleAnchorTabIndex(n,e){n?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(n){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}_executeOnStable(n){this._ngZone.isStable?n():this._ngZone.onStable.pipe(Kn(1)).subscribe(n)}}let $0=(()=>{class t{constructor(e,i,o){this._checker=e,this._ngZone=i,this._document=o}create(e,i=!1){return new Lz(e,this._checker,this._ngZone,this._document,i)}}return t.\u0275fac=function(e){return new(e||t)(we(rg),we(ft),we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function G0(t){return 0===t.buttons||0===t.offsetX&&0===t.offsetY}function q0(t){const n=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!n||-1!==n.identifier||null!=n.radiusX&&1!==n.radiusX||null!=n.radiusY&&1!==n.radiusY)}const Ez=new Re("cdk-input-modality-detector-options"),Iz={ignoreKeys:[18,17,224,91,16]},Ld=Za({passive:!0,capture:!0});let Pz=(()=>{class t{get mostRecentModality(){return this._modality.value}constructor(e,i,o,s){this._platform=e,this._mostRecentTarget=null,this._modality=new Or(null),this._lastTouchMs=0,this._onKeydown=a=>{this._options?.ignoreKeys?.some(l=>l===a.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=Xa(a))},this._onMousedown=a=>{Date.now()-this._lastTouchMs<650||(this._modality.next(G0(a)?"keyboard":"mouse"),this._mostRecentTarget=Xa(a))},this._onTouchstart=a=>{q0(a)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Xa(a))},this._options={...Iz,...s},this.modalityDetected=this._modality.pipe(B0(1)),this.modalityChanged=this.modalityDetected.pipe(V0()),e.isBrowser&&i.runOutsideAngular(()=>{o.addEventListener("keydown",this._onKeydown,Ld),o.addEventListener("mousedown",this._onMousedown,Ld),o.addEventListener("touchstart",this._onTouchstart,Ld)})}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,Ld),document.removeEventListener("mousedown",this._onMousedown,Ld),document.removeEventListener("touchstart",this._onTouchstart,Ld))}}return t.\u0275fac=function(e){return new(e||t)(we(ui),we(ft),we(It),we(Ez,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const Oz=new Re("liveAnnouncerElement",{providedIn:"root",factory:function Az(){return null}}),Fz=new Re("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let Rz=0,K0=(()=>{class t{constructor(e,i,o,s){this._ngZone=i,this._defaultOptions=s,this._document=o,this._liveElement=e||this._createLiveElement()}announce(e,...i){const o=this._defaultOptions;let s,a;return 1===i.length&&"number"==typeof i[0]?a=i[0]:[s,a]=i,this.clear(),clearTimeout(this._previousTimeout),s||(s=o&&o.politeness?o.politeness:"polite"),null==a&&o&&(a=o.duration),this._liveElement.setAttribute("aria-live",s),this._liveElement.id&&this._exposeAnnouncerToModals(this._liveElement.id),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(l=>this._currentResolve=l)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=e,"number"==typeof a&&(this._previousTimeout=setTimeout(()=>this.clear(),a)),this._currentResolve(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement?.remove(),this._liveElement=null,this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){const e="cdk-live-announcer-element",i=this._document.getElementsByClassName(e),o=this._document.createElement("div");for(let s=0;s .cdk-overlay-container [aria-modal="true"]');for(let o=0;o{class t{constructor(e,i,o,s,a){this._ngZone=e,this._platform=i,this._inputModalityDetector=o,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new J,this._rootNodeFocusAndBlurListener=l=>{for(let _=Xa(l);_;_=_.parentElement)"focus"===l.type?this._onFocus(l,_):this._onBlur(l,_)},this._document=s,this._detectionMode=a?.detectionMode||0}monitor(e,i=!1){const o=la(e);if(!this._platform.isBrowser||1!==o.nodeType)return $e(null);const s=function p9(t){if(function f9(){if(null==O0){const t=typeof document<"u"?document.head:null;O0=!(!t||!t.createShadowRoot&&!t.attachShadow)}return O0}()){const n=t.getRootNode?t.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&n instanceof ShadowRoot)return n}return null}(o)||this._getDocument(),a=this._elementInfo.get(o);if(a)return i&&(a.checkChildren=!0),a.subject;const l={checkChildren:i,subject:new J,rootNode:s};return this._elementInfo.set(o,l),this._registerGlobalListeners(l),l.subject}stopMonitoring(e){const i=la(e),o=this._elementInfo.get(i);o&&(o.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(o))}focusVia(e,i,o){const s=la(e);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([l,d])=>this._originChanged(l,i,d)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(o))}ngOnDestroy(){this._elementInfo.forEach((e,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:e&&this._isLastInteractionFromInputLabel(e)?"mouse":"program"}_shouldBeAttributedToTouch(e){return 1===this._detectionMode||!!e?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(e,i){e.classList.toggle("cdk-focused",!!i),e.classList.toggle("cdk-touch-focused","touch"===i),e.classList.toggle("cdk-keyboard-focused","keyboard"===i),e.classList.toggle("cdk-mouse-focused","mouse"===i),e.classList.toggle("cdk-program-focused","program"===i)}_setOrigin(e,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=e,this._originFromTouchInteraction="touch"===e&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(e,i){const o=this._elementInfo.get(i),s=Xa(e);!o||!o.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),o)}_onBlur(e,i){const o=this._elementInfo.get(i);!o||o.checkChildren&&e.relatedTarget instanceof Node&&i.contains(e.relatedTarget)||(this._setClasses(i),this._emitOrigin(o,null))}_emitOrigin(e,i){e.subject.observers.length&&this._ngZone.run(()=>e.subject.next(i))}_registerGlobalListeners(e){if(!this._platform.isBrowser)return;const i=e.rootNode,o=this._rootNodeFocusListenerCount.get(i)||0;o||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,og),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,og)}),this._rootNodeFocusListenerCount.set(i,o+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(Hn(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(e){const i=e.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const o=this._rootNodeFocusListenerCount.get(i);o>1?this._rootNodeFocusListenerCount.set(i,o-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,og),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,og),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(e,i,o){this._setClasses(e,i),this._emitOrigin(o,i),this._lastFocusOrigin=i}_getClosestElementsInfo(e){const i=[];return this._elementInfo.forEach((o,s)=>{(s===e||o.checkChildren&&s.contains(e))&&i.push([s,o])}),i}_isLastInteractionFromInputLabel(e){const{_mostRecentTarget:i,mostRecentModality:o}=this._inputModalityDetector;if("mouse"!==o||!i||i===e||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.disabled)return!1;const s=e.labels;if(s)for(let a=0;a{class t{constructor(e,i){this._elementRef=e,this._focusMonitor=i,this._focusOrigin=null,this.cdkFocusChange=new ht}get focusOrigin(){return this._focusOrigin}ngAfterViewInit(){const e=this._elementRef.nativeElement;this._monitorSubscription=this._focusMonitor.monitor(e,1===e.nodeType&&e.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(i=>{this._focusOrigin=i,this.cdkFocusChange.emit(i)})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(Qa))},t.\u0275dir=Ke({type:t,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"},exportAs:["cdkMonitorFocus"]}),t})();const ML="cdk-high-contrast-black-on-white",wL="cdk-high-contrast-white-on-black",Z0="cdk-high-contrast-active";let CL=(()=>{class t{constructor(e,i){this._platform=e,this._document=i,this._breakpointSubscription=Qe(z0).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);const i=this._document.defaultView||window,o=i&&i.getComputedStyle?i.getComputedStyle(e):null,s=(o&&o.backgroundColor||"").replace(/ /g,"");switch(e.remove(),s){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return 2;case"rgb(255,255,255)":case"rgb(255,250,239)":return 1}return 0}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const e=this._document.body.classList;e.remove(Z0,ML,wL),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?e.add(Z0,ML):2===i&&e.add(Z0,wL)}}}return t.\u0275fac=function(e){return new(e||t)(we(ui),we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),X0=(()=>{class t{constructor(e){e._applyBodyHighContrastModeCssClasses()}}return t.\u0275fac=function(e){return new(e||t)(we(CL))},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[j0]}),t})();function Hz(t,n){}class sg{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.closeOnNavigation=!0,this.closeOnDestroy=!0,this.closeOnOverlayDetachments=!0}}let xL=(()=>{class t extends Zm{constructor(e,i,o,s,a,l,d,_){super(),this._elementRef=e,this._focusTrapFactory=i,this._config=s,this._interactivityChecker=a,this._ngZone=l,this._overlayRef=d,this._focusMonitor=_,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=E=>{this._portalOutlet.hasAttached();const F=this._portalOutlet.attachDomPortal(E);return this._contentAttached(),F},this._ariaLabelledBy=this._config.ariaLabelledBy||null,this._document=o}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._restoreFocus()}attachComponentPortal(e){this._portalOutlet.hasAttached();const i=this._portalOutlet.attachComponentPortal(e);return this._contentAttached(),i}attachTemplatePortal(e){this._portalOutlet.hasAttached();const i=this._portalOutlet.attachTemplatePortal(e);return this._contentAttached(),i}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(e,i){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const o=()=>{e.removeEventListener("blur",o),e.removeEventListener("mousedown",o),e.removeAttribute("tabindex")};e.addEventListener("blur",o),e.addEventListener("mousedown",o)})),e.focus(i)}_focusByCssSelector(e,i){let o=this._elementRef.nativeElement.querySelector(e);o&&this._forceFocus(o,i)}_trapFocus(){const e=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||e.focus();break;case!0:case"first-tabbable":this._focusTrap.focusInitialElementWhenReady().then(i=>{i||this._focusDialogContainer()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus)}}_restoreFocus(){const e=this._config.restoreFocus;let i=null;if("string"==typeof e?i=this._document.querySelector(e):"boolean"==typeof e?i=e?this._elementFocusedBeforeDialogWasOpened:null:e&&(i=e),this._config.restoreFocus&&i&&"function"==typeof i.focus){const o=A0(),s=this._elementRef.nativeElement;(!o||o===this._document.body||o===s||s.contains(o))&&(this._focusMonitor?(this._focusMonitor.focusVia(i,this._closeInteractionType),this._closeInteractionType=null):i.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const e=this._elementRef.nativeElement,i=A0();return e===i||e.contains(i)}_initializeFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=A0())}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y($0),Y(It,8),Y(sg),Y(rg),Y(ft),Y(Ah),Y(Qa))},t.\u0275cmp=Ze({type:t,selectors:[["cdk-dialog-container"]],viewQuery:function(e,i){if(1&e&&_t(Ja,7),2&e){let o;rt(o=ot())&&(i._portalOutlet=o.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(e,i){2&e&&Xt("id",i._config.id||null)("role",i._config.role)("aria-modal",i._config.ariaModal)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null)},features:[nt],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(e,i){1&e&&V(0,Hz,0,0,"ng-template",0)},dependencies:[Ja],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2}),t})();class J0{constructor(n,e){this.overlayRef=n,this.config=e,this.closed=new J,this.disableClose=e.disableClose,this.backdropClick=n.backdropClick(),this.keydownEvents=n.keydownEvents(),this.outsidePointerEvents=n.outsidePointerEvents(),this.id=e.id,this.keydownEvents.subscribe(i=>{27===i.keyCode&&!this.disableClose&&!Fs(i)&&(i.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})}),this._detachSubscription=n.detachments().subscribe(()=>{!1!==e.closeOnOverlayDetachments&&this.close()})}close(n,e){if(this.containerInstance){const i=this.closed;this.containerInstance._closeInteractionType=e?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),i.next(n),i.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(n="",e=""){return this.overlayRef.updateSize({width:n,height:e}),this}addPanelClass(n){return this.overlayRef.addPanelClass(n),this}removePanelClass(n){return this.overlayRef.removePanelClass(n),this}}const kL=new Re("DialogScrollStrategy"),Bz=new Re("DialogData"),Vz=new Re("DefaultDialogConfig"),zz={provide:kL,deps:[io],useFactory:function jz(t){return()=>t.scrollStrategies.block()}};let Uz=0,SL=(()=>{class t{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}constructor(e,i,o,s,a,l){this._overlay=e,this._injector=i,this._defaultOptions=o,this._parentDialog=s,this._overlayContainer=a,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new J,this._afterOpenedAtThisLevel=new J,this._ariaHiddenElements=new Map,this.afterAllClosed=jl(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Go(void 0))),this._scrollStrategy=l}open(e,i){(i={...this._defaultOptions||new sg,...i}).id=i.id||"cdk-dialog-"+Uz++,i.id&&this.getDialogById(i.id);const s=this._getOverlayConfig(i),a=this._overlay.create(s),l=new J0(a,i),d=this._attachContainer(a,l,i);return l.containerInstance=d,this._attachDialogContent(e,l,d,i),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(l),l.closed.subscribe(()=>this._removeOpenDialog(l,!0)),this.afterOpened.next(l),l}closeAll(){Q0(this.openDialogs,e=>e.close())}getDialogById(e){return this.openDialogs.find(i=>i.id===e)}ngOnDestroy(){Q0(this._openDialogsAtThisLevel,e=>{!1===e.config.closeOnDestroy&&this._removeOpenDialog(e,!1)}),Q0(this._openDialogsAtThisLevel,e=>e.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(e){const i=new Oh({positionStrategy:e.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:e.scrollStrategy||this._scrollStrategy(),panelClass:e.panelClass,hasBackdrop:e.hasBackdrop,direction:e.direction,minWidth:e.minWidth,minHeight:e.minHeight,maxWidth:e.maxWidth,maxHeight:e.maxHeight,width:e.width,height:e.height,disposeOnNavigation:e.closeOnNavigation});return e.backdropClass&&(i.backdropClass=e.backdropClass),i}_attachContainer(e,i,o){const s=o.injector||o.viewContainerRef?.injector,a=[{provide:sg,useValue:o},{provide:J0,useValue:i},{provide:Ah,useValue:e}];let l;o.container?"function"==typeof o.container?l=o.container:(l=o.container.type,a.push(...o.container.providers(o))):l=xL;const d=new Sd(l,o.viewContainerRef,Si.create({parent:s||this._injector,providers:a}),o.componentFactoryResolver);return e.attach(d).instance}_attachDialogContent(e,i,o,s){if(e instanceof mr){const a=this._createInjector(s,i,o,void 0);let l={$implicit:s.data,dialogRef:i};s.templateContext&&(l={...l,..."function"==typeof s.templateContext?s.templateContext():s.templateContext}),o.attachTemplatePortal(new Gl(e,null,l,a))}else{const a=this._createInjector(s,i,o,this._injector),l=o.attachComponentPortal(new Sd(e,s.viewContainerRef,a,s.componentFactoryResolver));i.componentInstance=l.instance}}_createInjector(e,i,o,s){const a=e.injector||e.viewContainerRef?.injector,l=[{provide:Bz,useValue:e.data},{provide:J0,useValue:i}];return e.providers&&("function"==typeof e.providers?l.push(...e.providers(i,e,o)):l.push(...e.providers)),e.direction&&(!a||!a.get(Do,null,{optional:!0}))&&l.push({provide:Do,useValue:{value:e.direction,change:$e()}}),Si.create({parent:a||s,providers:l})}_removeOpenDialog(e,i){const o=this.openDialogs.indexOf(e);o>-1&&(this.openDialogs.splice(o,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((s,a)=>{s?a.setAttribute("aria-hidden",s):a.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),i&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const e=this._overlayContainer.getContainerElement();if(e.parentElement){const i=e.parentElement.children;for(let o=i.length-1;o>-1;o--){const s=i[o];s!==e&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){const e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}}return t.\u0275fac=function(e){return new(e||t)(we(io),we(Si),we(Vz,8),we(t,12),we(tg),we(kL))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();function Q0(t,n){let e=t.length;for(;e--;)n(t[e])}let Wz=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[SL,zz],imports:[Td,Dd,X0,Dd]}),t})();const $z=["text"];function Gz(t,n){if(1&t&&xe(0,"mat-pseudo-checkbox",6),2&t){const e=z();w("state",e.selected?"checked":"unchecked")("disabled",e.disabled)}}function qz(t,n){1&t&&xe(0,"mat-pseudo-checkbox",7),2&t&&w("disabled",z().disabled)}function Kz(t,n){if(1&t&&(D(0,"span",8),I(1),C()),2&t){const e=z();c(1),ce("(",e.group.label,")")}}const Zz=[[["mat-icon"]],"*"],Xz=["mat-icon","*"],Qz=new Re("mat-sanity-checks",{providedIn:"root",factory:function Jz(){return!0}});let Wn=(()=>{class t{constructor(e,i,o){this._sanityChecks=i,this._document=o,this._hasDoneGlobalChecks=!1,e._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(e){return!F0()&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[e])}}return t.\u0275fac=function(e){return new(e||t)(we(CL),we(Qz,8),we(It))},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Th,Th]}),t})();function Ed(t){return class extends t{get disabled(){return this._disabled}set disabled(n){this._disabled=_n(n)}constructor(...n){super(...n),this._disabled=!1}}}function Fh(t,n){return class extends t{get color(){return this._color}set color(e){const i=e||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}constructor(...e){super(...e),this.defaultColor=n,this.color=n}}}function Rh(t){return class extends t{get disableRipple(){return this._disableRipple}set disableRipple(n){this._disableRipple=_n(n)}constructor(...n){super(...n),this._disableRipple=!1}}}function LL(t,n=0){return class extends t{get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(e){this._tabIndex=null!=e?So(e):this.defaultTabIndex}constructor(...e){super(...e),this._tabIndex=n,this.defaultTabIndex=n}}}function EL(t){return class extends t{updateErrorState(){const n=this.errorState,s=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);s!==n&&(this.errorState=s,this.stateChanges.next())}constructor(...n){super(...n),this.errorState=!1}}}let tU=(()=>{class t{isErrorState(e,i){return!!(e&&e.invalid&&(e.dirty||i&&i.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})(),e1=(()=>{class t{isErrorState(e,i){return!!(e&&e.invalid&&(e.touched||i&&i.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class nU{constructor(n,e,i,o=!1){this._renderer=n,this.element=e,this.config=i,this._animationForciblyDisabledThroughCss=o,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const IL=Za({passive:!0,capture:!0});class iU{constructor(){this._events=new Map,this._delegateEventHandler=n=>{const e=Xa(n);e&&this._events.get(n.type)?.forEach((i,o)=>{(o===e||o.contains(e))&&i.forEach(s=>s.handleEvent(n))})}}addHandler(n,e,i,o){const s=this._events.get(e);if(s){const a=s.get(i);a?a.add(o):s.set(i,new Set([o]))}else this._events.set(e,new Map([[i,new Set([o])]])),n.runOutsideAngular(()=>{document.addEventListener(e,this._delegateEventHandler,IL)})}removeHandler(n,e,i){const o=this._events.get(n);if(!o)return;const s=o.get(e);s&&(s.delete(i),0===s.size&&o.delete(e),0===o.size&&(this._events.delete(n),document.removeEventListener(n,this._delegateEventHandler,IL)))}}const PL={enterDuration:225,exitDuration:150},OL=Za({passive:!0,capture:!0}),AL=["mousedown","touchstart"],FL=["mouseup","mouseleave","touchend","touchcancel"];class Id{constructor(n,e,i,o){this._target=n,this._ngZone=e,this._platform=o,this._isPointerDown=!1,this._activeRipples=new Map,this._pointerUpEventsRegistered=!1,o.isBrowser&&(this._containerElement=la(i))}fadeInRipple(n,e,i={}){const o=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s={...PL,...i.animation};i.centered&&(n=o.left+o.width/2,e=o.top+o.height/2);const a=i.radius||function oU(t,n,e){const i=Math.max(Math.abs(t-e.left),Math.abs(t-e.right)),o=Math.max(Math.abs(n-e.top),Math.abs(n-e.bottom));return Math.sqrt(i*i+o*o)}(n,e,o),l=n-o.left,d=e-o.top,_=s.enterDuration,E=document.createElement("div");E.classList.add("mat-ripple-element"),E.style.left=l-a+"px",E.style.top=d-a+"px",E.style.height=2*a+"px",E.style.width=2*a+"px",null!=i.color&&(E.style.backgroundColor=i.color),E.style.transitionDuration=`${_}ms`,this._containerElement.appendChild(E);const F=window.getComputedStyle(E),ie=F.transitionDuration,_e="none"===F.transitionProperty||"0s"===ie||"0s, 0s"===ie||0===o.width&&0===o.height,Ce=new nU(this,E,i,_e);E.style.transform="scale3d(1, 1, 1)",Ce.state=0,i.persistent||(this._mostRecentTransientRipple=Ce);let Ae=null;return!_e&&(_||s.exitDuration)&&this._ngZone.runOutsideAngular(()=>{const ze=()=>this._finishRippleTransition(Ce),Ee=()=>this._destroyRipple(Ce);E.addEventListener("transitionend",ze),E.addEventListener("transitioncancel",Ee),Ae={onTransitionEnd:ze,onTransitionCancel:Ee}}),this._activeRipples.set(Ce,Ae),(_e||!_)&&this._finishRippleTransition(Ce),Ce}fadeOutRipple(n){if(2===n.state||3===n.state)return;const e=n.element,i={...PL,...n.config.animation};e.style.transitionDuration=`${i.exitDuration}ms`,e.style.opacity="0",n.state=2,(n._animationForciblyDisabledThroughCss||!i.exitDuration)&&this._finishRippleTransition(n)}fadeOutAll(){this._getActiveRipples().forEach(n=>n.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(n=>{n.config.persistent||n.fadeOut()})}setupTriggerEvents(n){const e=la(n);!this._platform.isBrowser||!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,AL.forEach(i=>{Id._eventManager.addHandler(this._ngZone,i,e,this)}))}handleEvent(n){"mousedown"===n.type?this._onMousedown(n):"touchstart"===n.type?this._onTouchStart(n):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{FL.forEach(e=>{this._triggerElement.addEventListener(e,this,OL)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(n){0===n.state?this._startFadeOutTransition(n):2===n.state&&this._destroyRipple(n)}_startFadeOutTransition(n){const e=n===this._mostRecentTransientRipple,{persistent:i}=n.config;n.state=1,!i&&(!e||!this._isPointerDown)&&n.fadeOut()}_destroyRipple(n){const e=this._activeRipples.get(n)??null;this._activeRipples.delete(n),this._activeRipples.size||(this._containerRect=null),n===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),n.state=3,null!==e&&(n.element.removeEventListener("transitionend",e.onTransitionEnd),n.element.removeEventListener("transitioncancel",e.onTransitionCancel)),n.element.remove()}_onMousedown(n){const e=G0(n),i=this._lastTouchStartEvent&&Date.now(){!n.config.persistent&&(1===n.state||n.config.terminateOnPointerUp&&0===n.state)&&n.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){const n=this._triggerElement;n&&(AL.forEach(e=>Id._eventManager.removeHandler(e,n,this)),this._pointerUpEventsRegistered&&FL.forEach(e=>n.removeEventListener(e,this,OL)))}}Id._eventManager=new iU;const t1=new Re("mat-ripple-global-options");let Zl=(()=>{class t{get disabled(){return this._disabled}set disabled(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}constructor(e,i,o,s,a){this._elementRef=e,this._animationMode=a,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new Id(this,i,e,o)}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:{...this._globalOptions.animation,..."NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{},...this.animation},terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(e,i=0,o){return"number"==typeof e?this._rippleRenderer.fadeInRipple(e,i,{...this.rippleConfig,...o}):this._rippleRenderer.fadeInRipple(0,0,{...this.rippleConfig,...e})}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ft),Y(ui),Y(t1,8),Y(Ri,8))},t.\u0275dir=Ke({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(e,i){2&e&&nn("mat-ripple-unbounded",i.unbounded)},inputs:{color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],radius:["matRippleRadius","radius"],animation:["matRippleAnimation","animation"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"]},exportAs:["matRipple"]}),t})(),Yh=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn,Wn]}),t})(),sU=(()=>{class t{constructor(e){this._animationMode=e,this.state="unchecked",this.disabled=!1,this.appearance="full"}}return t.\u0275fac=function(e){return new(e||t)(Y(Ri,8))},t.\u0275cmp=Ze({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:12,hostBindings:function(e,i){2&e&&nn("mat-pseudo-checkbox-indeterminate","indeterminate"===i.state)("mat-pseudo-checkbox-checked","checked"===i.state)("mat-pseudo-checkbox-disabled",i.disabled)("mat-pseudo-checkbox-minimal","minimal"===i.appearance)("mat-pseudo-checkbox-full","full"===i.appearance)("_mat-animation-noopable","NoopAnimations"===i._animationMode)},inputs:{state:"state",disabled:"disabled",appearance:"appearance"},decls:0,vars:0,template:function(e,i){},styles:['.mat-pseudo-checkbox{border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox-full{border:2px solid}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after{width:14px;height:6px;transform-origin:center;top:-4.2426406871px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{top:8px;width:16px}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after{width:10px;height:4px;transform-origin:center;top:-2.8284271247px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px}'],encapsulation:2,changeDetection:0}),t})(),aU=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn]}),t})();const RL=new Re("MAT_OPTION_PARENT_COMPONENT"),NL=new Re("MatOptgroup");let lU=0;class cU{constructor(n,e=!1){this.source=n,this.isUserInput=e}}let dU=(()=>{class t{get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(e){this._disabled=_n(e)}get disableRipple(){return!(!this._parent||!this._parent.disableRipple)}get hideSingleSelectionIndicator(){return!(!this._parent||!this._parent.hideSingleSelectionIndicator)}constructor(e,i,o,s){this._element=e,this._changeDetectorRef=i,this._parent=o,this.group=s,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+lU++,this.onSelectionChange=new ht,this._stateChanges=new J}get active(){return this._active}get viewValue(){return(this._text?.nativeElement.textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(e,i){const o=this._getHostElement();"function"==typeof o.focus&&o.focus(i)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(e){(13===e.keyCode||32===e.keyCode)&&!Fs(e)&&(this._selectViaInteraction(),e.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const e=this.viewValue;e!==this._mostRecentViewValue&&(this._mostRecentViewValue&&this._stateChanges.next(),this._mostRecentViewValue=e)}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(e=!1){this.onSelectionChange.emit(new cU(this,e))}}return t.\u0275fac=function(e){Aa()},t.\u0275dir=Ke({type:t,viewQuery:function(e,i){if(1&e&&_t($z,7),2&e){let o;rt(o=ot())&&(i._text=o.first)}},inputs:{value:"value",id:"id",disabled:"disabled"},outputs:{onSelectionChange:"onSelectionChange"}}),t})(),Pd=(()=>{class t extends dU{constructor(e,i,o,s){super(e,i,o,s)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(RL,8),Y(NL,8))},t.\u0275cmp=Ze({type:t,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-mdc-option","mdc-list-item"],hostVars:11,hostBindings:function(e,i){1&e&&ye("click",function(){return i._selectViaInteraction()})("keydown",function(s){return i._handleKeydown(s)}),2&e&&(Js("id",i.id),Xt("aria-selected",i.selected)("aria-disabled",i.disabled.toString()),nn("mdc-list-item--selected",i.selected)("mat-mdc-option-multiple",i.multiple)("mat-mdc-option-active",i.active)("mdc-list-item--disabled",i.disabled))},exportAs:["matOption"],features:[nt],ngContentSelectors:Xz,decls:8,vars:5,consts:[["class","mat-mdc-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mdc-list-item__primary-text"],["text",""],["class","mat-mdc-option-pseudo-checkbox","state","checked","appearance","minimal",3,"disabled",4,"ngIf"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-mdc-option-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-mdc-option-pseudo-checkbox",3,"state","disabled"],["state","checked","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"cdk-visually-hidden"]],template:function(e,i){1&e&&(Ir(Zz),V(0,Gz,1,2,"mat-pseudo-checkbox",0),Sn(1),D(2,"span",1,2),Sn(4,1),C(),V(5,qz,1,1,"mat-pseudo-checkbox",3),V(6,Kz,2,1,"span",4),xe(7,"div",5)),2&e&&(w("ngIf",i.multiple),c(5),w("ngIf",!i.multiple&&i.selected&&!i.hideSingleSelectionIndicator),c(1),w("ngIf",i.group&&i.group._inert),c(1),w("matRippleTrigger",i._getHostElement())("matRippleDisabled",i.disabled||i.disableRipple))},dependencies:[Zl,Ft,sU],styles:['.mat-mdc-option{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:16px;padding-right:16px;-webkit-user-select:none;user-select:none;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);min-height:48px}.mat-mdc-option:focus{outline:none}[dir=rtl] .mat-mdc-option,.mat-mdc-option[dir=rtl]{padding-left:16px;padding-right:16px}.mat-mdc-option.mdc-list-item{align-items:center}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}.cdk-high-contrast-active .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple)::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .cdk-high-contrast-active .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple)::after{right:auto;left:16px}.mat-mdc-option-active .mat-mdc-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0}),t})(),YL=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Yh,ta,Wn,aU]}),t})();function fU(t,n){}class En{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0}}const n1="mdc-dialog--open",HL="mdc-dialog--opening",BL="mdc-dialog--closing";let gU=(()=>{class t extends xL{constructor(e,i,o,s,a,l,d,_){super(e,i,o,s,a,l,d,_),this._animationStateChanged=new ht}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(e){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y($0),Y(It,8),Y(En),Y(rg),Y(ft),Y(Ah),Y(Qa))},t.\u0275cmp=Ze({type:t,selectors:[["ng-component"]],features:[nt],decls:0,vars:0,template:function(e,i){},encapsulation:2}),t})();const VL="--mat-dialog-transition-duration";function jL(t){return null==t?null:"number"==typeof t?t:t.endsWith("ms")?So(t.substring(0,t.length-2)):t.endsWith("s")?1e3*So(t.substring(0,t.length-1)):"0"===t?0:null}let _U=(()=>{class t extends gU{constructor(e,i,o,s,a,l,d,_,E){super(e,i,o,s,a,l,d,E),this._animationMode=_,this._animationsEnabled="NoopAnimations"!==this._animationMode,this._hostElement=this._elementRef.nativeElement,this._openAnimationDuration=this._animationsEnabled?jL(this._config.enterAnimationDuration)??150:0,this._closeAnimationDuration=this._animationsEnabled?jL(this._config.exitAnimationDuration)??75:0,this._animationTimer=null,this._finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._openAnimationDuration)},this._finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._closeAnimationDuration})}}_contentAttached(){super._contentAttached(),this._startOpenAnimation()}ngOnDestroy(){super.ngOnDestroy(),null!==this._animationTimer&&clearTimeout(this._animationTimer)}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._openAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(VL,`${this._openAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(HL,n1)),this._waitForAnimationToComplete(this._openAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add(n1),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._closeAnimationDuration}),this._hostElement.classList.remove(n1),this._animationsEnabled?(this._hostElement.style.setProperty(VL,`${this._openAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(BL)),this._waitForAnimationToComplete(this._closeAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_clearAnimationClasses(){this._hostElement.classList.remove(HL,BL)}_waitForAnimationToComplete(e,i){null!==this._animationTimer&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(i,e)}_requestAnimationFrame(e){this._ngZone.runOutsideAngular(()=>{"function"==typeof requestAnimationFrame?requestAnimationFrame(e):e()})}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y($0),Y(It,8),Y(En),Y(rg),Y(ft),Y(Ah),Y(Ri,8),Y(Qa))},t.\u0275cmp=Ze({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:8,hostBindings:function(e,i){2&e&&(Js("id",i._config.id),Xt("aria-modal",i._config.ariaModal)("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),nn("_mat-animation-noopable",!i._animationsEnabled))},features:[nt],decls:3,vars:0,consts:[[1,"mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1),V(2,fU,0,0,"ng-template",2),C()())},dependencies:[Ja],styles:['.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-dialog,.mdc-dialog__scrim{position:fixed;top:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.mdc-dialog{display:none;z-index:var(--mdc-dialog-z-index, 7)}.mdc-dialog .mdc-dialog__content{padding:20px 24px 20px 24px}.mdc-dialog .mdc-dialog__surface{min-width:280px}@media(max-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:calc(100vw - 32px)}}@media(min-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:560px}}.mdc-dialog .mdc-dialog__surface{max-height:calc(100% - 32px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-width:none}@media(max-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px;width:560px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 112px)}}@media(max-width: 720px)and (min-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:560px}}@media(max-width: 720px)and (max-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:calc(100vh - 160px)}}@media(max-width: 720px)and (min-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px}}@media(max-width: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-height: 400px),(max-width: 600px),(min-width: 720px)and (max-height: 400px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{height:100%;max-height:100vh;max-width:100vw;width:100vw;border-radius:0}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{order:-1;left:-12px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__header{padding:0 16px 9px;justify-content:flex-start}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__title{margin-left:calc(16px - 2 * 12px)}}@media(min-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 400px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}.mdc-dialog.mdc-dialog__scrim--hidden .mdc-dialog__scrim{opacity:0}.mdc-dialog__scrim{opacity:0;z-index:-1}.mdc-dialog__container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;transform:scale(0.8);opacity:0;pointer-events:none}.mdc-dialog__surface{position:relative;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;max-width:100%;max-height:100%;pointer-events:auto;overflow-y:auto;outline:0}.mdc-dialog__surface .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}[dir=rtl] .mdc-dialog__surface,.mdc-dialog__surface[dir=rtl]{text-align:right}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-dialog__surface{outline:2px solid windowText}}.mdc-dialog__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-dialog__surface::before{border-color:CanvasText}}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.mdc-dialog__surface::before{content:none}}.mdc-dialog__title{display:block;margin-top:0;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.mdc-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mdc-dialog__title,.mdc-dialog__title[dir=rtl]{text-align:right}.mdc-dialog--scrollable .mdc-dialog__title{margin-bottom:1px;padding-bottom:15px}.mdc-dialog--fullscreen .mdc-dialog__header{align-items:baseline;border-bottom:1px solid rgba(0,0,0,0);display:inline-flex;justify-content:space-between;padding:0 24px 9px;z-index:1}@media screen and (forced-colors: active){.mdc-dialog--fullscreen .mdc-dialog__header{border-bottom-color:CanvasText}}.mdc-dialog--fullscreen .mdc-dialog__header .mdc-dialog__close{right:-12px}.mdc-dialog--fullscreen .mdc-dialog__title{margin-bottom:0;padding:0;border-bottom:0}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__title{border-bottom:0;margin-bottom:0}.mdc-dialog--fullscreen .mdc-dialog__close{top:5px}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--fullscreen--titleless .mdc-dialog__close{margin-top:4px}.mdc-dialog--fullscreen--titleless.mdc-dialog--scrollable .mdc-dialog__close{margin-top:0}.mdc-dialog__content{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto}.mdc-dialog__content>:first-child{margin-top:0}.mdc-dialog__content>:last-child{margin-bottom:0}.mdc-dialog__title+.mdc-dialog__content,.mdc-dialog__header+.mdc-dialog__content{padding-top:0}.mdc-dialog--scrollable .mdc-dialog__title+.mdc-dialog__content{padding-top:8px;padding-bottom:8px}.mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:6px 0 0}.mdc-dialog--scrollable .mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:0}.mdc-dialog__actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--stacked .mdc-dialog__actions{flex-direction:column;align-items:flex-end}.mdc-dialog__button{margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog__button:first-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button:first-child,.mdc-dialog__button:first-child[dir=rtl]{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{text-align:left}.mdc-dialog--stacked .mdc-dialog__button:not(:first-child){margin-top:12px}.mdc-dialog--open,.mdc-dialog--opening,.mdc-dialog--closing{display:flex}.mdc-dialog--opening .mdc-dialog__scrim{transition:opacity 150ms linear}.mdc-dialog--opening .mdc-dialog__container{transition:opacity 75ms linear,transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog--closing .mdc-dialog__scrim,.mdc-dialog--closing .mdc-dialog__container{transition:opacity 75ms linear}.mdc-dialog--closing .mdc-dialog__container{transform:none}.mdc-dialog--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{transform:none;opacity:1}.mdc-dialog--open.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim{opacity:1}.mdc-dialog--open.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{transition:opacity 75ms linear}.mdc-dialog--open.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim{transition:opacity 150ms linear}.mdc-dialog__surface-scrim{display:none;opacity:0;position:absolute;width:100%;height:100%;z-index:1}.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{display:block}.mdc-dialog-scroll-lock{overflow:hidden}.mdc-dialog--no-content-padding .mdc-dialog__content{padding:0}.mdc-dialog--sheet .mdc-dialog__container .mdc-dialog__close{right:12px;top:9px;position:absolute;z-index:1}.mdc-dialog__scrim--removed{pointer-events:none}.mdc-dialog__scrim--removed .mdc-dialog__scrim,.mdc-dialog__scrim--removed .mdc-dialog__surface-scrim{display:none}.mat-mdc-dialog-content{max-height:65vh}.mat-mdc-dialog-container{position:static;display:block}.mat-mdc-dialog-container,.mat-mdc-dialog-container .mdc-dialog__container,.mat-mdc-dialog-container .mdc-dialog__surface{max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mat-mdc-dialog-container .mdc-dialog__surface{display:block;width:100%;height:100%}.mat-mdc-dialog-container{--mdc-dialog-container-elevation-shadow:0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);--mdc-dialog-container-shadow-color:#000;--mdc-dialog-container-shape:4px;--mdc-dialog-container-elevation: var(--mdc-dialog-container-elevation-shadow);outline:0}.mat-mdc-dialog-container .mdc-dialog__surface{background-color:var(--mdc-dialog-container-color, white)}.mat-mdc-dialog-container .mdc-dialog__surface{box-shadow:var(--mdc-dialog-container-elevation, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12))}.mat-mdc-dialog-container .mdc-dialog__surface{border-radius:var(--mdc-dialog-container-shape, 4px)}.mat-mdc-dialog-container .mdc-dialog__title{font-family:var(--mdc-dialog-subhead-font, Roboto, sans-serif);line-height:var(--mdc-dialog-subhead-line-height, 1.5rem);font-size:var(--mdc-dialog-subhead-size, 1rem);font-weight:var(--mdc-dialog-subhead-weight, 400);letter-spacing:var(--mdc-dialog-subhead-tracking, 0.03125em)}.mat-mdc-dialog-container .mdc-dialog__title{color:var(--mdc-dialog-subhead-color, rgba(0, 0, 0, 0.87))}.mat-mdc-dialog-container .mdc-dialog__content{font-family:var(--mdc-dialog-supporting-text-font, Roboto, sans-serif);line-height:var(--mdc-dialog-supporting-text-line-height, 1.5rem);font-size:var(--mdc-dialog-supporting-text-size, 1rem);font-weight:var(--mdc-dialog-supporting-text-weight, 400);letter-spacing:var(--mdc-dialog-supporting-text-tracking, 0.03125em)}.mat-mdc-dialog-container .mdc-dialog__content{color:var(--mdc-dialog-supporting-text-color, rgba(0, 0, 0, 0.6))}.mat-mdc-dialog-container .mdc-dialog__container{transition-duration:var(--mat-dialog-transition-duration, 0ms)}.mat-mdc-dialog-container._mat-animation-noopable .mdc-dialog__container{transition:none}.mat-mdc-dialog-content{display:block}.mat-mdc-dialog-actions{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}'],encapsulation:2}),t})();class Bn{constructor(n,e,i){this._ref=n,this._containerInstance=i,this._afterOpened=new J,this._beforeClosed=new J,this._state=0,this.disableClose=e.disableClose,this.id=n.id,i._animationStateChanged.pipe(_i(o=>"opened"===o.state),Kn(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),i._animationStateChanged.pipe(_i(o=>"closed"===o.state),Kn(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),n.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),bt(this.backdropClick(),this.keydownEvents().pipe(_i(o=>27===o.keyCode&&!this.disableClose&&!Fs(o)))).subscribe(o=>{this.disableClose||(o.preventDefault(),zL(this,"keydown"===o.type?"keyboard":"mouse"))})}close(n){this._result=n,this._containerInstance._animationStateChanged.pipe(_i(e=>"closing"===e.state),Kn(1)).subscribe(e=>{this._beforeClosed.next(n),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(n){let e=this._ref.config.positionStrategy;return n&&(n.left||n.right)?n.left?e.left(n.left):e.right(n.right):e.centerHorizontally(),n&&(n.top||n.bottom)?n.top?e.top(n.top):e.bottom(n.bottom):e.centerVertically(),this._ref.updatePosition(),this}updateSize(n="",e=""){return this._ref.updateSize(n,e),this}addPanelClass(n){return this._ref.addPanelClass(n),this}removePanelClass(n){return this._ref.removePanelClass(n),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}}function zL(t,n,e){return t._closeInteractionType=n,t.close(e)}const Li=new Re("MatMdcDialogData"),UL=new Re("mat-mdc-dialog-default-options"),WL=new Re("mat-mdc-dialog-scroll-strategy"),vU={provide:WL,deps:[io],useFactory:function bU(t){return()=>t.scrollStrategies.block()}};let yU=0,MU=(()=>{class t{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}constructor(e,i,o,s,a,l,d,_,E,F){this._overlay=e,this._defaultOptions=o,this._parentDialog=s,this._dialogRefConstructor=d,this._dialogContainerType=_,this._dialogDataToken=E,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new J,this._afterOpenedAtThisLevel=new J,this._idPrefix="mat-dialog-",this.dialogConfigClass=En,this.afterAllClosed=jl(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Go(void 0))),this._scrollStrategy=l,this._dialog=i.get(SL)}open(e,i){let o;(i={...this._defaultOptions||new En,...i}).id=i.id||`${this._idPrefix}${yU++}`,i.scrollStrategy=i.scrollStrategy||this._scrollStrategy();const s=this._dialog.open(e,{...i,positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:i},{provide:sg,useValue:i}]},templateContext:()=>({dialogRef:o}),providers:(a,l,d)=>(o=new this._dialogRefConstructor(a,i,d),o.updatePosition(i?.position),[{provide:this._dialogContainerType,useValue:d},{provide:this._dialogDataToken,useValue:l.data},{provide:this._dialogRefConstructor,useValue:o}])});return o.componentInstance=s.componentInstance,this.openDialogs.push(o),this.afterOpened.next(o),o.afterClosed().subscribe(()=>{const a=this.openDialogs.indexOf(o);a>-1&&(this.openDialogs.splice(a,1),this.openDialogs.length||this._getAfterAllClosed().next())}),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(e){return this.openDialogs.find(i=>i.id===e)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(e){let i=e.length;for(;i--;)e[i].close()}}return t.\u0275fac=function(e){Aa()},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})(),In=(()=>{class t extends MU{constructor(e,i,o,s,a,l,d,_){super(e,i,s,l,d,a,Bn,_U,Li,_),this._idPrefix="mat-mdc-dialog-"}}return t.\u0275fac=function(e){return new(e||t)(we(io),we(Si),we(Xu,8),we(UL,8),we(WL),we(t,12),we(tg),we(Ri,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})(),wU=0,CU=(()=>{class t{constructor(e,i,o){this.dialogRef=e,this._elementRef=i,this._dialog=o,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=$L(this._elementRef,this._dialog.openDialogs))}ngOnChanges(e){const i=e._matDialogClose||e._matDialogCloseResult;i&&(this.dialogResult=i.currentValue)}_onButtonClick(e){zL(this.dialogRef,0===e.screenX&&0===e.screenY?"keyboard":"mouse",this.dialogResult)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn,8),Y(vt),Y(In))},t.\u0275dir=Ke({type:t,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(e,i){1&e&&ye("click",function(s){return i._onButtonClick(s)}),2&e&&Xt("aria-label",i.ariaLabel||null)("type",i.type)},inputs:{ariaLabel:["aria-label","ariaLabel"],type:"type",dialogResult:["mat-dialog-close","dialogResult"],_matDialogClose:["matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[Gi]}),t})(),xU=(()=>{class t{constructor(e,i,o){this._dialogRef=e,this._elementRef=i,this._dialog=o,this.id="mat-mdc-dialog-title-"+wU++}ngOnInit(){this._dialogRef||(this._dialogRef=$L(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const e=this._dialogRef._containerInstance;e&&!e._ariaLabelledBy&&(e._ariaLabelledBy=this.id)})}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn,8),Y(vt),Y(In))},t.\u0275dir=Ke({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(e,i){2&e&&Js("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),t})(),r1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"]}),t})();function $L(t,n){let e=t.nativeElement.parentElement;for(;e&&!e.classList.contains("mat-mdc-dialog-container");)e=e.parentElement;return e?n.find(i=>i.id===e.id):null}let kU=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[In,vU],imports:[Wz,Td,Dd,Wn,Wn]}),t})();const qL=["mat-button",""],KL=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],ZL=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"],XL=".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}",DU=["mat-icon-button",""],TU=["*"],JL={capture:!0},QL=["focus","click","mouseenter","touchstart"],Hh="mat-button-ripple-uninitialized";let LU=(()=>{class t{constructor(){this._document=Qe(It,{optional:!0}),this._animationMode=Qe(Ri,{optional:!0}),this._globalRippleOptions=Qe(t1,{optional:!0}),this._platform=Qe(ui),this._ngZone=Qe(ft),this._onInteraction=e=>{if(e.target===this._document)return;const o=e.target.closest(`[${Hh}]`);o&&(o.removeAttribute(Hh),this._appendRipple(o))},this._ngZone.runOutsideAngular(()=>{for(const e of QL)this._document?.addEventListener(e,this._onInteraction,JL)})}ngOnDestroy(){for(const e of QL)this._document?.removeEventListener(e,this._onInteraction,JL)}_appendRipple(e){if(!this._document)return;const i=this._document.createElement("span");i.classList.add("mat-mdc-button-ripple");const o=new EU(e,this._globalRippleOptions?this._globalRippleOptions:void 0,this._animationMode?this._animationMode:void 0);o.rippleConfig.centered=e.hasAttribute("mat-icon-button"),new Id(o,this._ngZone,i,this._platform).setupTriggerEvents(e),e.append(i)}_createMatRipple(e){if(!this._document)return;e.querySelector(".mat-mdc-button-ripple")?.remove(),e.removeAttribute(Hh);const i=this._document.createElement("span");i.classList.add("mat-mdc-button-ripple");const o=new Zl(new vt(i),this._ngZone,this._platform,this._globalRippleOptions?this._globalRippleOptions:void 0,this._animationMode?this._animationMode:void 0);return o._isInitialized=!0,o.trigger=e,e.append(i),o}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class EU{constructor(n,e,i){this._button=n,this._globalRippleOptions=e,this._setRippleConfig(e,i)}_setRippleConfig(n,e){this.rippleConfig=n||{},"NoopAnimations"===e&&(this.rippleConfig.animation={enterDuration:0,exitDuration:0})}get rippleDisabled(){return this._button.hasAttribute("disabled")||!!this._globalRippleOptions?.disabled}}const IU=[{selector:"mat-button",mdcClasses:["mdc-button","mat-mdc-button"]},{selector:"mat-flat-button",mdcClasses:["mdc-button","mdc-button--unelevated","mat-mdc-unelevated-button"]},{selector:"mat-raised-button",mdcClasses:["mdc-button","mdc-button--raised","mat-mdc-raised-button"]},{selector:"mat-stroked-button",mdcClasses:["mdc-button","mdc-button--outlined","mat-mdc-outlined-button"]},{selector:"mat-fab",mdcClasses:["mdc-fab","mat-mdc-fab"]},{selector:"mat-mini-fab",mdcClasses:["mdc-fab","mdc-fab--mini","mat-mdc-mini-fab"]},{selector:"mat-icon-button",mdcClasses:["mdc-icon-button","mat-mdc-icon-button"]}],PU=Fh(Ed(Rh(class{constructor(t){this._elementRef=t}})));let o1=(()=>{class t extends PU{get ripple(){return!this._ripple&&this._rippleLoader&&(this._ripple=this._rippleLoader._createMatRipple(this._elementRef.nativeElement)),this._ripple}set ripple(e){this._ripple=e}constructor(e,i,o,s){super(e),this._platform=i,this._ngZone=o,this._animationMode=s,this._focusMonitor=Qe(Qa),this._rippleLoader=Qe(LU),this._isFab=!1;const a=e.nativeElement.classList;for(const l of IU)this._hasHostAttributes(l.selector)&&l.mdcClasses.forEach(d=>{a.add(d)})}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(e="program",i){e?this._focusMonitor.focusVia(this._elementRef.nativeElement,e,i):this._elementRef.nativeElement.focus(i)}_hasHostAttributes(...e){return e.some(i=>this._elementRef.nativeElement.hasAttribute(i))}_isRippleDisabled(){this._ripple&&(this._ripple.disabled=this.disableRipple||this.disabled)}}return t.\u0275fac=function(e){Aa()},t.\u0275dir=Ke({type:t,features:[nt]}),t})(),AU=(()=>{class t extends o1{constructor(e,i,o,s){super(e,i,o,s),this._haltDisabledEvents=a=>{this.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}}ngOnInit(){this._ngZone.runOutsideAngular(()=>{this._elementRef.nativeElement.addEventListener("click",this._haltDisabledEvents)})}ngOnDestroy(){super.ngOnDestroy(),this._elementRef.nativeElement.removeEventListener("click",this._haltDisabledEvents)}}return t.\u0275fac=function(e){Aa()},t.\u0275dir=Ke({type:t,features:[nt]}),t})(),Wr=(()=>{class t extends o1{constructor(e,i,o,s){super(e,i,o,s)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ui),Y(ft),Y(Ri,8))},t.\u0275cmp=Ze({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""]],hostAttrs:["mat-button-ripple-uninitialized",""],hostVars:9,hostBindings:function(e,i){2&e&&(Xt("disabled",i.disabled||null)("mat-button-disabled",i._isRippleDisabled())("mat-button-is-fab",i._isFab),nn("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-unthemed",!i.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[nt],attrs:qL,ngContentSelectors:ZL,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(e,i){1&e&&(Ir(KL),xe(0,"span",0),Sn(1),D(2,"span",1),Sn(3,1),C(),Sn(4,2),xe(5,"span",2)(6,"span",3)),2&e&&nn("mdc-button__ripple",!i._isFab)("mdc-fab__ripple",i._isFab)},styles:['.mdc-touch-target-wrapper{display:inline}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0)}.mdc-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button .mdc-button__progress-indicator{font-size:0;position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;line-height:initial}.mdc-button .mdc-button__label{position:relative}.mdc-button .mdc-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(\n 100% + 4px\n );width:calc(\n 100% + 4px\n );display:none}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring{border-color:CanvasText}}.mdc-button .mdc-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring::after{border-color:CanvasText}}@media screen and (forced-colors: active){.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring{display:block}}.mdc-button .mdc-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--touch{margin-top:6px;margin-bottom:6px}.mdc-button{padding:0 8px 0 8px}.mdc-button--unelevated{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--unelevated.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--unelevated.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--raised{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--raised.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--raised.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--outlined{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--outlined .mdc-button__ripple{border-style:solid;border-color:rgba(0,0,0,0)}.mat-mdc-button{height:var(--mdc-text-button-container-height, 36px);border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color, inherit)}.mat-mdc-button:disabled{color:var(--mdc-text-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button{height:var(--mdc-filled-button-container-height, 36px);border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button:not(:disabled){background-color:var(--mdc-filled-button-container-color, transparent)}.mat-mdc-unelevated-button:disabled{background-color:var(--mdc-filled-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color, inherit)}.mat-mdc-unelevated-button:disabled{color:var(--mdc-filled-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button{height:var(--mdc-protected-button-container-height, 36px);border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px));box-shadow:var(--mdc-protected-button-container-elevation, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){background-color:var(--mdc-protected-button-container-color, transparent)}.mat-mdc-raised-button:disabled{background-color:var(--mdc-protected-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color, inherit)}.mat-mdc-raised-button:disabled{color:var(--mdc-protected-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button.mdc-ripple-upgraded--background-focused,.mat-mdc-raised-button:not(.mdc-ripple-upgraded):focus{box-shadow:var(--mdc-protected-button-focus-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled):active{box-shadow:var(--mdc-protected-button-pressed-container-elevation, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation, 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button{height:var(--mdc-outlined-button-container-height, 36px);border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px));padding:0 15px 0 15px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color, inherit)}.mat-mdc-outlined-button:disabled{color:var(--mdc-outlined-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-outlined-button .mdc-button__ripple{border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-outlined-button:not(:disabled){border-color:var(--mdc-outlined-button-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button:disabled{border-color:var(--mdc-outlined-button-disabled-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button.mdc-button--icon-trailing{padding:0 11px 0 15px}.mat-mdc-outlined-button.mdc-button--icon-leading{padding:0 15px 0 11px}.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button .mdc-button__touch{left:calc(-1 * var(--mdc-outlined-button-outline-width, 1px));width:calc(100% + 2 * var(--mdc-outlined-button-outline-width, 1px))}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-button .mat-ripple-element,.mat-mdc-unelevated-button .mat-ripple-element,.mat-mdc-raised-button .mat-ripple-element,.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.mat-mdc-button .mdc-button__label,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-outlined-button .mdc-button__label{z-index:1}.mat-mdc-button .mat-mdc-focus-indicator,.mat-mdc-unelevated-button .mat-mdc-focus-indicator,.mat-mdc-raised-button .mat-mdc-focus-indicator,.mat-mdc-outlined-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-unelevated-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-raised-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-outlined-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-button[disabled],.mat-mdc-unelevated-button[disabled],.mat-mdc-raised-button[disabled],.mat-mdc-outlined-button[disabled]{cursor:default;pointer-events:none}.mat-mdc-button .mat-mdc-button-touch-target,.mat-mdc-unelevated-button .mat-mdc-button-touch-target,.mat-mdc-raised-button .mat-mdc-button-touch-target,.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}[dir=rtl] .mat-mdc-button>.mat-icon,.mat-mdc-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}.mat-mdc-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon,.mat-mdc-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-left:-4px;margin-right:8px}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:-4px}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon,.mat-mdc-raised-button .mdc-button__label+.mat-icon,.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:-4px}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon,.mat-mdc-unelevated-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-raised-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-outlined-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:-4px;margin-right:8px}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:-1px}.mat-mdc-unelevated-button .mat-mdc-focus-indicator::before,.mat-mdc-raised-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-mdc-outlined-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 3px) * -1)}',".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}"],encapsulation:2,changeDetection:0}),t})(),FU=(()=>{class t extends AU{constructor(e,i,o,s){super(e,i,o,s)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ui),Y(ft),Y(Ri,8))},t.\u0275cmp=Ze({type:t,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-flat-button",""],["a","mat-stroked-button",""]],hostAttrs:["mat-button-ripple-uninitialized",""],hostVars:11,hostBindings:function(e,i){2&e&&(Xt("disabled",i.disabled||null)("tabindex",i.disabled?-1:i.tabIndex)("aria-disabled",i.disabled.toString())("mat-button-disabled",i._isRippleDisabled())("mat-button-is-fab",i._isFab),nn("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-unthemed",!i.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[nt],attrs:qL,ngContentSelectors:ZL,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(e,i){1&e&&(Ir(KL),xe(0,"span",0),Sn(1),D(2,"span",1),Sn(3,1),C(),Sn(4,2),xe(5,"span",2)(6,"span",3)),2&e&&nn("mdc-button__ripple",!i._isFab)("mdc-fab__ripple",i._isFab)},styles:['.mdc-touch-target-wrapper{display:inline}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0)}.mdc-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button .mdc-button__progress-indicator{font-size:0;position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;line-height:initial}.mdc-button .mdc-button__label{position:relative}.mdc-button .mdc-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(\n 100% + 4px\n );width:calc(\n 100% + 4px\n );display:none}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring{border-color:CanvasText}}.mdc-button .mdc-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring::after{border-color:CanvasText}}@media screen and (forced-colors: active){.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring{display:block}}.mdc-button .mdc-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--touch{margin-top:6px;margin-bottom:6px}.mdc-button{padding:0 8px 0 8px}.mdc-button--unelevated{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--unelevated.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--unelevated.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--raised{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--raised.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--raised.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--outlined{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--outlined .mdc-button__ripple{border-style:solid;border-color:rgba(0,0,0,0)}.mat-mdc-button{height:var(--mdc-text-button-container-height, 36px);border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color, inherit)}.mat-mdc-button:disabled{color:var(--mdc-text-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button{height:var(--mdc-filled-button-container-height, 36px);border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button:not(:disabled){background-color:var(--mdc-filled-button-container-color, transparent)}.mat-mdc-unelevated-button:disabled{background-color:var(--mdc-filled-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color, inherit)}.mat-mdc-unelevated-button:disabled{color:var(--mdc-filled-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button{height:var(--mdc-protected-button-container-height, 36px);border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px));box-shadow:var(--mdc-protected-button-container-elevation, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){background-color:var(--mdc-protected-button-container-color, transparent)}.mat-mdc-raised-button:disabled{background-color:var(--mdc-protected-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color, inherit)}.mat-mdc-raised-button:disabled{color:var(--mdc-protected-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button.mdc-ripple-upgraded--background-focused,.mat-mdc-raised-button:not(.mdc-ripple-upgraded):focus{box-shadow:var(--mdc-protected-button-focus-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled):active{box-shadow:var(--mdc-protected-button-pressed-container-elevation, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation, 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button{height:var(--mdc-outlined-button-container-height, 36px);border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px));padding:0 15px 0 15px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color, inherit)}.mat-mdc-outlined-button:disabled{color:var(--mdc-outlined-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-outlined-button .mdc-button__ripple{border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-outlined-button:not(:disabled){border-color:var(--mdc-outlined-button-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button:disabled{border-color:var(--mdc-outlined-button-disabled-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button.mdc-button--icon-trailing{padding:0 11px 0 15px}.mat-mdc-outlined-button.mdc-button--icon-leading{padding:0 15px 0 11px}.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button .mdc-button__touch{left:calc(-1 * var(--mdc-outlined-button-outline-width, 1px));width:calc(100% + 2 * var(--mdc-outlined-button-outline-width, 1px))}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-button .mat-ripple-element,.mat-mdc-unelevated-button .mat-ripple-element,.mat-mdc-raised-button .mat-ripple-element,.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.mat-mdc-button .mdc-button__label,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-outlined-button .mdc-button__label{z-index:1}.mat-mdc-button .mat-mdc-focus-indicator,.mat-mdc-unelevated-button .mat-mdc-focus-indicator,.mat-mdc-raised-button .mat-mdc-focus-indicator,.mat-mdc-outlined-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-unelevated-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-raised-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-outlined-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-button[disabled],.mat-mdc-unelevated-button[disabled],.mat-mdc-raised-button[disabled],.mat-mdc-outlined-button[disabled]{cursor:default;pointer-events:none}.mat-mdc-button .mat-mdc-button-touch-target,.mat-mdc-unelevated-button .mat-mdc-button-touch-target,.mat-mdc-raised-button .mat-mdc-button-touch-target,.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}[dir=rtl] .mat-mdc-button>.mat-icon,.mat-mdc-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}.mat-mdc-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon,.mat-mdc-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-left:-4px;margin-right:8px}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:-4px}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon,.mat-mdc-raised-button .mdc-button__label+.mat-icon,.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:-4px}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon,.mat-mdc-unelevated-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-raised-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-outlined-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:-4px;margin-right:8px}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:-1px}.mat-mdc-unelevated-button .mat-mdc-focus-indicator::before,.mat-mdc-raised-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-mdc-outlined-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 3px) * -1)}',XL],encapsulation:2,changeDetection:0}),t})(),el=(()=>{class t extends o1{get ripple(){return!this._ripple&&this._rippleLoader&&(this._ripple=this._rippleLoader._createMatRipple(this._elementRef.nativeElement),this._ripple.centered=!0),this._ripple}constructor(e,i,o,s){super(e,i,o,s)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ui),Y(ft),Y(Ri,8))},t.\u0275cmp=Ze({type:t,selectors:[["button","mat-icon-button",""]],hostAttrs:["mat-button-ripple-uninitialized",""],hostVars:9,hostBindings:function(e,i){2&e&&(Xt("disabled",i.disabled||null)("mat-button-disabled",i._isRippleDisabled())("mat-button-is-fab",i._isFab),nn("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-unthemed",!i.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[nt],attrs:DU,ngContentSelectors:TU,decls:4,vars:0,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(e,i){1&e&&(Ir(),xe(0,"span",0),Sn(1),xe(2,"span",1)(3,"span",2))},styles:['.mdc-icon-button{display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;color:inherit;text-decoration:none;cursor:pointer;user-select:none;z-index:0;overflow:visible}.mdc-icon-button .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}@media screen and (forced-colors: active){.mdc-icon-button.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring,.mdc-icon-button:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring{display:block}}.mdc-icon-button:disabled{cursor:default;pointer-events:none}.mdc-icon-button[hidden]{display:none}.mdc-icon-button--display-flex{align-items:center;display:inline-flex;justify-content:center}.mdc-icon-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%;display:none}@media screen and (forced-colors: active){.mdc-icon-button__focus-ring{border-color:CanvasText}}.mdc-icon-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-icon-button__focus-ring::after{border-color:CanvasText}}.mdc-icon-button__icon{display:inline-block}.mdc-icon-button__icon.mdc-icon-button__icon--on{display:none}.mdc-icon-button--on .mdc-icon-button__icon{display:none}.mdc-icon-button--on .mdc-icon-button__icon.mdc-icon-button__icon--on{display:inline-block}.mdc-icon-button__link{height:100%;left:0;outline:none;position:absolute;top:0;width:100%}.mat-mdc-icon-button{height:var(--mdc-icon-button-state-layer-size);width:var(--mdc-icon-button-state-layer-size);color:var(--mdc-icon-button-icon-color);--mdc-icon-button-state-layer-size:48px;--mdc-icon-button-icon-size:24px;--mdc-icon-button-disabled-icon-color:black;--mdc-icon-button-disabled-icon-opacity:0.38}.mat-mdc-icon-button .mdc-button__icon{font-size:var(--mdc-icon-button-icon-size)}.mat-mdc-icon-button svg,.mat-mdc-icon-button img{width:var(--mdc-icon-button-icon-size);height:var(--mdc-icon-button-icon-size)}.mat-mdc-icon-button:disabled{opacity:var(--mdc-icon-button-disabled-icon-opacity)}.mat-mdc-icon-button:disabled{color:var(--mdc-icon-button-disabled-icon-color)}.mat-mdc-icon-button{padding:12px;font-size:var(--mdc-icon-button-icon-size);border-radius:50%;flex-shrink:0;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button svg{vertical-align:baseline}.mat-mdc-icon-button[disabled]{cursor:default;pointer-events:none;opacity:1}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-icon-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.mat-mdc-icon-button .mdc-button__label{z-index:1}.mat-mdc-icon-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-icon-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-icon-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mat-mdc-icon-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:50%}.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before{background:rgba(0,0,0,0);opacity:1}',XL],encapsulation:2,changeDetection:0}),t})(),eE=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn,Yh,Wn]}),t})();function NU(t,n){if(1&t){const e=et();D(0,"div",2)(1,"button",3),ye("click",function(){return Pe(e),Oe(z().action())}),I(2),C()()}if(2&t){const e=z();c(2),ce(" ",e.data.action," ")}}const YU=["label"];function HU(t,n){}const BU=Math.pow(2,31)-1;class ag{constructor(n,e){this._overlayRef=e,this._afterDismissed=new J,this._afterOpened=new J,this._onAction=new J,this._dismissedByAction=!1,this.containerInstance=n,n._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(n){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(n,BU))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}const s1=new Re("MatSnackBarData");class lg{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}let VU=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["","matSnackBarLabel",""]],hostAttrs:[1,"mat-mdc-snack-bar-label","mdc-snackbar__label"]}),t})(),jU=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["","matSnackBarActions",""]],hostAttrs:[1,"mat-mdc-snack-bar-actions","mdc-snackbar__actions"]}),t})(),zU=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["","matSnackBarAction",""]],hostAttrs:[1,"mat-mdc-snack-bar-action","mdc-snackbar__action"]}),t})(),UU=(()=>{class t{constructor(e,i){this.snackBarRef=e,this.data=i}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return t.\u0275fac=function(e){return new(e||t)(Y(ag),Y(s1))},t.\u0275cmp=Ze({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-mdc-simple-snack-bar"],exportAs:["matSnackBar"],decls:3,vars:2,consts:[["matSnackBarLabel",""],["matSnackBarActions","",4,"ngIf"],["matSnackBarActions",""],["mat-button","","matSnackBarAction","",3,"click"]],template:function(e,i){1&e&&(D(0,"div",0),I(1),C(),V(2,NU,3,1,"div",1)),2&e&&(c(1),ce(" ",i.data.message,"\n"),c(1),w("ngIf",i.hasAction))},dependencies:[Ft,Wr,VU,jU,zU],styles:[".mat-mdc-simple-snack-bar{display:flex}"],encapsulation:2,changeDetection:0}),t})();const WU={snackBarState:ia("state",[yo("void, hidden",Qn({transform:"scale(0.8)",opacity:0})),yo("visible",Qn({transform:"scale(1)",opacity:1})),Pr("* => visible",Ur("150ms cubic-bezier(0, 0, 0.2, 1)")),Pr("* => void, * => hidden",Ur("75ms cubic-bezier(0.4, 0.0, 1, 1)",Qn({opacity:0})))])};let $U=0,GU=(()=>{class t extends Zm{constructor(e,i,o,s,a){super(),this._ngZone=e,this._elementRef=i,this._changeDetectorRef=o,this._platform=s,this.snackBarConfig=a,this._document=Qe(It),this._trackedModals=new Set,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new J,this._onExit=new J,this._onEnter=new J,this._animationState="void",this._liveElementId="mat-snack-bar-container-live-"+$U++,this.attachDomPortal=l=>{this._assertNotAttached();const d=this._portalOutlet.attachDomPortal(l);return this._afterPortalAttached(),d},this._live="assertive"!==a.politeness||a.announcementMessage?"off"===a.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(e){this._assertNotAttached();const i=this._portalOutlet.attachComponentPortal(e);return this._afterPortalAttached(),i}attachTemplatePortal(e){this._assertNotAttached();const i=this._portalOutlet.attachTemplatePortal(e);return this._afterPortalAttached(),i}onAnimationEnd(e){const{fromState:i,toState:o}=e;if(("void"===o&&"void"!==i||"hidden"===o)&&this._completeExit(),"visible"===o){const s=this._onEnter;this._ngZone.run(()=>{s.next(),s.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._ngZone.run(()=>{this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId)}),this._onExit}ngOnDestroy(){this._destroyed=!0,this._clearFromModals(),this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(Kn(1)).subscribe(()=>{this._ngZone.run(()=>{this._onExit.next(),this._onExit.complete()})})}_afterPortalAttached(){const e=this._elementRef.nativeElement,i=this.snackBarConfig.panelClass;i&&(Array.isArray(i)?i.forEach(o=>e.classList.add(o)):e.classList.add(i)),this._exposeToModals()}_exposeToModals(){const e=this._liveElementId,i=this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]');for(let o=0;o{const i=e.getAttribute("aria-owns");if(i){const o=i.replace(this._liveElementId,"").trim();o.length>0?e.setAttribute("aria-owns",o):e.removeAttribute("aria-owns")}}),this._trackedModals.clear()}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const e=this._elementRef.nativeElement.querySelector("[aria-hidden]"),i=this._elementRef.nativeElement.querySelector("[aria-live]");if(e&&i){let o=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&e.contains(document.activeElement)&&(o=document.activeElement),e.removeAttribute("aria-hidden"),i.appendChild(e),o?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return t.\u0275fac=function(e){return new(e||t)(Y(ft),Y(vt),Y(pi),Y(ui),Y(lg))},t.\u0275dir=Ke({type:t,viewQuery:function(e,i){if(1&e&&_t(Ja,7),2&e){let o;rt(o=ot())&&(i._portalOutlet=o.first)}},features:[nt]}),t})(),qU=(()=>{class t extends GU{_afterPortalAttached(){super._afterPortalAttached();const e=this._label.nativeElement,i="mdc-snackbar__label";e.classList.toggle(i,!e.querySelector(`.${i}`))}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["mat-snack-bar-container"]],viewQuery:function(e,i){if(1&e&&_t(YU,7),2&e){let o;rt(o=ot())&&(i._label=o.first)}},hostAttrs:[1,"mdc-snackbar","mat-mdc-snack-bar-container","mdc-snackbar--open"],hostVars:1,hostBindings:function(e,i){1&e&&lv("@state.done",function(s){return i.onAnimationEnd(s)}),2&e&&pv("@state",i._animationState)},features:[nt],decls:6,vars:3,consts:[[1,"mdc-snackbar__surface"],[1,"mat-mdc-snack-bar-label"],["label",""],["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1,2)(3,"div",3),V(4,HU,0,0,"ng-template",4),C(),xe(5,"div"),C()()),2&e&&(c(5),Xt("aria-live",i._live)("role",i._role)("id",i._liveElementId))},dependencies:[Ja],styles:['.mdc-snackbar{display:none;position:fixed;right:0;bottom:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-snackbar--opening,.mdc-snackbar--open,.mdc-snackbar--closing{display:flex}.mdc-snackbar--open .mdc-snackbar__label,.mdc-snackbar--open .mdc-snackbar__actions{visibility:visible}.mdc-snackbar__surface{padding-left:0;padding-right:8px;display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;transform:scale(0.8);opacity:0}.mdc-snackbar__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-snackbar__surface::before{border-color:CanvasText}}[dir=rtl] .mdc-snackbar__surface,.mdc-snackbar__surface[dir=rtl]{padding-left:8px;padding-right:0}.mdc-snackbar--open .mdc-snackbar__surface{transform:scale(1);opacity:1;pointer-events:auto}.mdc-snackbar--closing .mdc-snackbar__surface{transform:scale(1)}.mdc-snackbar__label{padding-left:16px;padding-right:8px;width:100%;flex-grow:1;box-sizing:border-box;margin:0;visibility:hidden;padding-top:14px;padding-bottom:14px}[dir=rtl] .mdc-snackbar__label,.mdc-snackbar__label[dir=rtl]{padding-left:8px;padding-right:16px}.mdc-snackbar__label::before{display:inline;content:attr(data-mdc-snackbar-label-text)}.mdc-snackbar__actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box;visibility:hidden}.mdc-snackbar__action+.mdc-snackbar__dismiss{margin-left:8px;margin-right:0}[dir=rtl] .mdc-snackbar__action+.mdc-snackbar__dismiss,.mdc-snackbar__action+.mdc-snackbar__dismiss[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-snack-bar-container{margin:8px;--mdc-snackbar-container-shape:4px;position:static}.mat-mdc-snack-bar-container .mdc-snackbar__surface{min-width:344px}@media(max-width: 480px),(max-width: 344px){.mat-mdc-snack-bar-container .mdc-snackbar__surface{min-width:100%}}@media(max-width: 480px),(max-width: 344px){.mat-mdc-snack-bar-container{width:100vw}}.mat-mdc-snack-bar-container .mdc-snackbar__surface{max-width:672px}.mat-mdc-snack-bar-container .mdc-snackbar__surface{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)}.mat-mdc-snack-bar-container .mdc-snackbar__surface{background-color:var(--mdc-snackbar-container-color)}.mat-mdc-snack-bar-container .mdc-snackbar__surface{border-radius:var(--mdc-snackbar-container-shape)}.mat-mdc-snack-bar-container .mdc-snackbar__label{color:var(--mdc-snackbar-supporting-text-color)}.mat-mdc-snack-bar-container .mdc-snackbar__label{font-size:var(--mdc-snackbar-supporting-text-size);font-family:var(--mdc-snackbar-supporting-text-font);font-weight:var(--mdc-snackbar-supporting-text-weight);line-height:var(--mdc-snackbar-supporting-text-line-height)}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled){color:var(--mat-snack-bar-button-color);--mat-mdc-button-persistent-ripple-color: currentColor}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled) .mat-ripple-element{background-color:currentColor;opacity:.1}.mat-mdc-snack-bar-container .mdc-snackbar__label::before{display:none}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-handset .mdc-snackbar__surface{width:100%}'],encapsulation:2,data:{animation:[WU.snackBarState]}}),t})(),tE=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Td,Dd,ta,eE,Wn,Wn]}),t})();const a1=new Re("mat-snack-bar-default-options",{providedIn:"root",factory:function KU(){return new lg}});let ZU=(()=>{class t{get _openedSnackBarRef(){const e=this._parentSnackBar;return e?e._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(e){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=e:this._snackBarRefAtThisLevel=e}constructor(e,i,o,s,a,l){this._overlay=e,this._live=i,this._injector=o,this._breakpointObserver=s,this._parentSnackBar=a,this._defaultConfig=l,this._snackBarRefAtThisLevel=null}openFromComponent(e,i){return this._attach(e,i)}openFromTemplate(e,i){return this._attach(e,i)}open(e,i="",o){const s={...this._defaultConfig,...o};return s.data={message:e,action:i},s.announcementMessage===e&&(s.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,s)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(e,i){const s=Si.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:lg,useValue:i}]}),a=new Sd(this.snackBarContainerComponent,i.viewContainerRef,s),l=e.attach(a);return l.instance.snackBarConfig=i,l.instance}_attach(e,i){const o={...new lg,...this._defaultConfig,...i},s=this._createOverlay(o),a=this._attachSnackBarContainer(s,o),l=new ag(a,s);if(e instanceof mr){const d=new Gl(e,null,{$implicit:o.data,snackBarRef:l});l.instance=a.attachTemplatePortal(d)}else{const d=this._createInjector(o,l),_=new Sd(e,void 0,d),E=a.attachComponentPortal(_);l.instance=E.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(Hn(s.detachments())).subscribe(d=>{s.overlayElement.classList.toggle(this.handsetCssClass,d.matches)}),o.announcementMessage&&a._onAnnounce.subscribe(()=>{this._live.announce(o.announcementMessage,o.politeness)}),this._animateSnackBar(l,o),this._openedSnackBarRef=l,this._openedSnackBarRef}_animateSnackBar(e,i){e.afterDismissed().subscribe(()=>{this._openedSnackBarRef==e&&(this._openedSnackBarRef=null),i.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{e.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):e.containerInstance.enter(),i.duration&&i.duration>0&&e.afterOpened().subscribe(()=>e._dismissAfter(i.duration))}_createOverlay(e){const i=new Oh;i.direction=e.direction;let o=this._overlay.position().global();const s="rtl"===e.direction,a="left"===e.horizontalPosition||"start"===e.horizontalPosition&&!s||"end"===e.horizontalPosition&&s,l=!a&&"center"!==e.horizontalPosition;return a?o.left("0"):l?o.right("0"):o.centerHorizontally(),"top"===e.verticalPosition?o.top("0"):o.bottom("0"),i.positionStrategy=o,this._overlay.create(i)}_createInjector(e,i){return Si.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:ag,useValue:i},{provide:s1,useValue:e.data}]})}}return t.\u0275fac=function(e){return new(e||t)(we(io),we(K0),we(Si),we(z0),we(t,12),we(a1))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})(),XU=(()=>{class t extends ZU{constructor(e,i,o,s,a,l){super(e,i,o,s,a,l),this.simpleSnackBarComponent=UU,this.snackBarContainerComponent=qU,this.handsetCssClass="mat-mdc-snack-bar-handset"}}return t.\u0275fac=function(e){return new(e||t)(we(io),we(K0),we(Si),we(z0),we(t,12),we(a1))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:tE}),t})();function l1(...t){if(1===t.length){const n=t[0];if(M(n))return cg(n,null);if(p(n)&&Object.getPrototypeOf(n)===Object.prototype){const e=Object.keys(n);return cg(e.map(i=>n[i]),e)}}if("function"==typeof t[t.length-1]){const n=t.pop();return cg(t=1===t.length&&M(t[0])?t[0]:t,null).pipe(ke(e=>n(...e)))}return cg(t,null)}function cg(t,n){return new he(e=>{const i=t.length;if(0===i)return void e.complete();const o=new Array(i);let s=0,a=0;for(let l=0;l{_||(_=!0,a++),o[l]=E},error:E=>e.error(E),complete:()=>{s++,(s===i||!_)&&(a===i&&e.next(n?n.reduce((E,F,G)=>(E[F]=o[G],E),{}):o),e.complete())}}))}})}const JU=["*"];let dg;function Bh(t){return function QU(){if(void 0===dg&&(dg=null,typeof window<"u")){const t=window;void 0!==t.trustedTypes&&(dg=t.trustedTypes.createPolicy("angular#components",{createHTML:n=>n}))}return dg}()?.createHTML(t)||t}function nE(t){return Error(`Unable to find icon with the name "${t}"`)}function iE(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function rE(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class Xl{constructor(n,e,i){this.url=n,this.svgText=e,this.options=i}}let ug=(()=>{class t{constructor(e,i,o,s){this._httpClient=e,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass=["material-icons","mat-ligature-font"],this._document=o}addSvgIcon(e,i,o){return this.addSvgIconInNamespace("",e,i,o)}addSvgIconLiteral(e,i,o){return this.addSvgIconLiteralInNamespace("",e,i,o)}addSvgIconInNamespace(e,i,o,s){return this._addSvgIconConfig(e,i,new Xl(o,null,s))}addSvgIconResolver(e){return this._resolvers.push(e),this}addSvgIconLiteralInNamespace(e,i,o,s){const a=this._sanitizer.sanitize(kn.HTML,o);if(!a)throw rE(o);const l=Bh(a);return this._addSvgIconConfig(e,i,new Xl("",l,s))}addSvgIconSet(e,i){return this.addSvgIconSetInNamespace("",e,i)}addSvgIconSetLiteral(e,i){return this.addSvgIconSetLiteralInNamespace("",e,i)}addSvgIconSetInNamespace(e,i,o){return this._addSvgIconSetConfig(e,new Xl(i,null,o))}addSvgIconSetLiteralInNamespace(e,i,o){const s=this._sanitizer.sanitize(kn.HTML,i);if(!s)throw rE(i);const a=Bh(s);return this._addSvgIconSetConfig(e,new Xl("",a,o))}registerFontClassAlias(e,i=e){return this._fontCssClassesByAlias.set(e,i),this}classNameForFontAlias(e){return this._fontCssClassesByAlias.get(e)||e}setDefaultFontSetClass(...e){return this._defaultFontSetClass=e,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(e){const i=this._sanitizer.sanitize(kn.RESOURCE_URL,e);if(!i)throw iE(e);const o=this._cachedIconsByUrl.get(i);return o?$e(hg(o)):this._loadSvgIconFromConfig(new Xl(e,null)).pipe(bi(s=>this._cachedIconsByUrl.set(i,s)),ke(s=>hg(s)))}getNamedSvgIcon(e,i=""){const o=oE(i,e);let s=this._svgIconConfigs.get(o);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,e),s)return this._svgIconConfigs.set(o,s),this._getSvgFromConfig(s);const a=this._iconSetConfigs.get(i);return a?this._getSvgFromIconSetConfigs(e,a):Ar(nE(o))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(e){return e.svgText?$e(hg(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(ke(i=>hg(i)))}_getSvgFromIconSetConfigs(e,i){const o=this._extractIconWithNameFromAnySet(e,i);return o?$e(o):l1(i.filter(a=>!a.svgText).map(a=>this._loadSvgIconSetFromConfig(a).pipe(Co(l=>{const _=`Loading icon set URL: ${this._sanitizer.sanitize(kn.RESOURCE_URL,a.url)} failed: ${l.message}`;return this._errorHandler.handleError(new Error(_)),$e(null)})))).pipe(ke(()=>{const a=this._extractIconWithNameFromAnySet(e,i);if(!a)throw nE(e);return a}))}_extractIconWithNameFromAnySet(e,i){for(let o=i.length-1;o>=0;o--){const s=i[o];if(s.svgText&&s.svgText.toString().indexOf(e)>-1){const a=this._svgElementFromConfig(s),l=this._extractSvgIconFromSet(a,e,s.options);if(l)return l}}return null}_loadSvgIconFromConfig(e){return this._fetchIcon(e).pipe(bi(i=>e.svgText=i),ke(()=>this._svgElementFromConfig(e)))}_loadSvgIconSetFromConfig(e){return e.svgText?$e(null):this._fetchIcon(e).pipe(bi(i=>e.svgText=i))}_extractSvgIconFromSet(e,i,o){const s=e.querySelector(`[id="${i}"]`);if(!s)return null;const a=s.cloneNode(!0);if(a.removeAttribute("id"),"svg"===a.nodeName.toLowerCase())return this._setSvgAttributes(a,o);if("symbol"===a.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(a),o);const l=this._svgElementFromString(Bh(""));return l.appendChild(a),this._setSvgAttributes(l,o)}_svgElementFromString(e){const i=this._document.createElement("DIV");i.innerHTML=e;const o=i.querySelector("svg");if(!o)throw Error(" tag not found");return o}_toSvgElement(e){const i=this._svgElementFromString(Bh("")),o=e.attributes;for(let s=0;sBh(_)),km(()=>this._inProgressUrlFetches.delete(a)),dl());return this._inProgressUrlFetches.set(a,d),d}_addSvgIconConfig(e,i,o){return this._svgIconConfigs.set(oE(e,i),o),this}_addSvgIconSetConfig(e,i){const o=this._iconSetConfigs.get(e);return o?o.push(i):this._iconSetConfigs.set(e,[i]),this}_svgElementFromConfig(e){if(!e.svgElement){const i=this._svgElementFromString(e.svgText);this._setSvgAttributes(i,e.options),e.svgElement=i}return e.svgElement}_getIconConfigFromResolvers(e,i){for(let o=0;on?n.pathname+n.search:""}}}),sE=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],aW=sE.map(t=>`[${t}]`).join(", "),lW=/^url\(['"]?#(.*?)['"]?\)$/;let Cn=(()=>{class t extends iW{get inline(){return this._inline}set inline(e){this._inline=_n(e)}get svgIcon(){return this._svgIcon}set svgIcon(e){e!==this._svgIcon&&(e?this._updateSvgIcon(e):this._svgIcon&&this._clearSvgElement(),this._svgIcon=e)}get fontSet(){return this._fontSet}set fontSet(e){const i=this._cleanupFontValue(e);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(e){const i=this._cleanupFontValue(e);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}constructor(e,i,o,s,a,l){super(e),this._iconRegistry=i,this._location=s,this._errorHandler=a,this._inline=!1,this._previousFontSetClass=[],this._currentIconFetch=T.EMPTY,l&&(l.color&&(this.color=this.defaultColor=l.color),l.fontSet&&(this.fontSet=l.fontSet)),o||e.nativeElement.setAttribute("aria-hidden","true")}_splitIconName(e){if(!e)return["",""];const i=e.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${e}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const e=this._elementsWithExternalReferences;if(e&&e.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(e){this._clearSvgElement();const i=this._location.getPathname();this._previousPath=i,this._cacheChildrenWithExternalReferences(e),this._prependPathToReferences(i),this._elementRef.nativeElement.appendChild(e)}_clearSvgElement(){const e=this._elementRef.nativeElement;let i=e.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();i--;){const o=e.childNodes[i];(1!==o.nodeType||"svg"===o.nodeName.toLowerCase())&&o.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const e=this._elementRef.nativeElement,i=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(o=>o.length>0);this._previousFontSetClass.forEach(o=>e.classList.remove(o)),i.forEach(o=>e.classList.add(o)),this._previousFontSetClass=i,this.fontIcon!==this._previousFontIconClass&&!i.includes("mat-ligature-font")&&(this._previousFontIconClass&&e.classList.remove(this._previousFontIconClass),this.fontIcon&&e.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(e){return"string"==typeof e?e.trim().split(" ")[0]:e}_prependPathToReferences(e){const i=this._elementsWithExternalReferences;i&&i.forEach((o,s)=>{o.forEach(a=>{s.setAttribute(a.name,`url('${e}#${a.value}')`)})})}_cacheChildrenWithExternalReferences(e){const i=e.querySelectorAll(aW),o=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const l=i[s],d=l.getAttribute(a),_=d?d.match(lW):null;if(_){let E=o.get(l);E||(E=[],o.set(l,E)),E.push({name:a,value:_[1]})}})}_updateSvgIcon(e){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),e){const[i,o]=this._splitIconName(e);i&&(this._svgNamespace=i),o&&(this._svgName=o),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(o,i).pipe(Kn(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${o}! ${s.message}`))})}}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ug),Pa("aria-hidden"),Y(oW),Y(Ss),Y(rW,8))},t.\u0275cmp=Ze({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:8,hostBindings:function(e,i){2&e&&(Xt("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet)("fontIcon",i._usingFontIcon()?i.fontIcon:null),nn("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[nt],ngContentSelectors:JU,decls:1,vars:0,template:function(e,i){1&e&&(Ir(),Sn(0))},styles:[".mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],encapsulation:2,changeDetection:0}),t})(),cW=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn,Wn]}),t})();function Vh(t){return(Vh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(t)}function Lt(t,n,e){return(n=function uW(t){var n=function dW(t,n){if("object"!==Vh(t)||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,n||"default");if("object"!==Vh(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"===Vh(n)?n:String(n)}(n))in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}function aE(t,n,e){let i;return i=t&&"object"==typeof t?t:{bufferSize:t,windowTime:n,refCount:!1,scheduler:e},o=>o.lift(function hW({bufferSize:t=Number.POSITIVE_INFINITY,windowTime:n=Number.POSITIVE_INFINITY,refCount:e,scheduler:i}){let o,a,s=0,l=!1,d=!1;return function(E){let F;s++,!o||l?(l=!1,o=new ko(t,n,i),F=o.subscribe(this),a=E.subscribe({next(G){o.next(G)},error(G){l=!0,o.error(G)},complete(){d=!0,a=void 0,o.complete()}}),d&&(a=void 0)):F=o.subscribe(this),this.add(()=>{s--,F.unsubscribe(),F=void 0,a&&!d&&e&&0===s&&(a.unsubscribe(),a=void 0,o=void 0)})}}(i))}class jh{}let lE=(()=>{class t extends jh{getTranslation(e){return $e({})}}return Lt(t,"\u0275fac",function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}()),Lt(t,"\u0275prov",Ne({token:t,factory:t.\u0275fac})),t})();class c1{}let cE=(()=>{class t{handle(e){return e.key}}return Lt(t,"\u0275fac",function(e){return new(e||t)}),Lt(t,"\u0275prov",Ne({token:t,factory:t.\u0275fac})),t})();function fg(t,n){if(t===n)return!0;if(null===t||null===n)return!1;if(t!=t&&n!=n)return!0;let o,s,a,e=typeof t;if(e==typeof n&&"object"==e){if(!Array.isArray(t)){if(Array.isArray(n))return!1;for(s in a=Object.create(null),t){if(!fg(t[s],n[s]))return!1;a[s]=!0}for(s in n)if(!(s in a)&&typeof n[s]<"u")return!1;return!0}if(!Array.isArray(n))return!1;if((o=t.length)==n.length){for(s=0;s{d1(n[i])?i in t?e[i]=dE(t[i],n[i]):Object.assign(e,{[i]:n[i]}):Object.assign(e,{[i]:n[i]})}),e}class pg{}let uE=(()=>{class t extends pg{constructor(...e){super(...e),Lt(this,"templateMatcher",/{{\s?([^{}\s]*)\s?}}/g)}interpolate(e,i){let o;return o="string"==typeof e?this.interpolateString(e,i):"function"==typeof e?this.interpolateFunction(e,i):e,o}getValue(e,i){let o="string"==typeof i?i.split("."):[i];i="";do{i+=o.shift(),!tl(e)||!tl(e[i])||"object"!=typeof e[i]&&o.length?o.length?i+=".":e=void 0:(e=e[i],i="")}while(o.length);return e}interpolateFunction(e,i){return e(i)}interpolateString(e,i){return i?e.replace(this.templateMatcher,(o,s)=>{let a=this.getValue(i,s);return tl(a)?a:o}):e}}return Lt(t,"\u0275fac",function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}()),Lt(t,"\u0275prov",Ne({token:t,factory:t.\u0275fac})),t})();class mg{}let hE=(()=>{class t extends mg{compile(e,i){return e}compileTranslations(e,i){return e}}return Lt(t,"\u0275fac",function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}()),Lt(t,"\u0275prov",Ne({token:t,factory:t.\u0275fac})),t})();class fE{constructor(){Lt(this,"defaultLang",void 0),Lt(this,"currentLang",this.defaultLang),Lt(this,"translations",{}),Lt(this,"langs",[]),Lt(this,"onTranslationChange",new ht),Lt(this,"onLangChange",new ht),Lt(this,"onDefaultLangChange",new ht)}}const u1=new Re("USE_STORE"),h1=new Re("USE_DEFAULT_LANG"),f1=new Re("DEFAULT_LANGUAGE"),p1=new Re("USE_EXTEND");let To=(()=>{class t{get onTranslationChange(){return this.isolate?this._onTranslationChange:this.store.onTranslationChange}get onLangChange(){return this.isolate?this._onLangChange:this.store.onLangChange}get onDefaultLangChange(){return this.isolate?this._onDefaultLangChange:this.store.onDefaultLangChange}get defaultLang(){return this.isolate?this._defaultLang:this.store.defaultLang}set defaultLang(e){this.isolate?this._defaultLang=e:this.store.defaultLang=e}get currentLang(){return this.isolate?this._currentLang:this.store.currentLang}set currentLang(e){this.isolate?this._currentLang=e:this.store.currentLang=e}get langs(){return this.isolate?this._langs:this.store.langs}set langs(e){this.isolate?this._langs=e:this.store.langs=e}get translations(){return this.isolate?this._translations:this.store.translations}set translations(e){this.isolate?this._translations=e:this.store.translations=e}constructor(e,i,o,s,a,l=!0,d=!1,_=!1,E){Lt(this,"store",void 0),Lt(this,"currentLoader",void 0),Lt(this,"compiler",void 0),Lt(this,"parser",void 0),Lt(this,"missingTranslationHandler",void 0),Lt(this,"useDefaultLang",void 0),Lt(this,"isolate",void 0),Lt(this,"extend",void 0),Lt(this,"loadingTranslations",void 0),Lt(this,"pending",!1),Lt(this,"_onTranslationChange",new ht),Lt(this,"_onLangChange",new ht),Lt(this,"_onDefaultLangChange",new ht),Lt(this,"_defaultLang",void 0),Lt(this,"_currentLang",void 0),Lt(this,"_langs",[]),Lt(this,"_translations",{}),Lt(this,"_translationRequests",{}),this.store=e,this.currentLoader=i,this.compiler=o,this.parser=s,this.missingTranslationHandler=a,this.useDefaultLang=l,this.isolate=d,this.extend=_,E&&this.setDefaultLang(E)}setDefaultLang(e){if(e===this.defaultLang)return;let i=this.retrieveTranslations(e);typeof i<"u"?(null==this.defaultLang&&(this.defaultLang=e),i.pipe(Kn(1)).subscribe(o=>{this.changeDefaultLang(e)})):this.changeDefaultLang(e)}getDefaultLang(){return this.defaultLang}use(e){if(e===this.currentLang)return $e(this.translations[e]);let i=this.retrieveTranslations(e);return typeof i<"u"?(this.currentLang||(this.currentLang=e),i.pipe(Kn(1)).subscribe(o=>{this.changeLang(e)}),i):(this.changeLang(e),$e(this.translations[e]))}retrieveTranslations(e){let i;return(typeof this.translations[e]>"u"||this.extend)&&(this._translationRequests[e]=this._translationRequests[e]||this.getTranslation(e),i=this._translationRequests[e]),i}getTranslation(e){this.pending=!0;const i=this.currentLoader.getTranslation(e).pipe(aE(1),Kn(1));return this.loadingTranslations=i.pipe(ke(o=>this.compiler.compileTranslations(o,e)),aE(1),Kn(1)),this.loadingTranslations.subscribe({next:o=>{this.translations[e]=this.extend&&this.translations[e]?{...o,...this.translations[e]}:o,this.updateLangs(),this.pending=!1},error:o=>{this.pending=!1}}),i}setTranslation(e,i,o=!1){i=this.compiler.compileTranslations(i,e),this.translations[e]=(o||this.extend)&&this.translations[e]?dE(this.translations[e],i):i,this.updateLangs(),this.onTranslationChange.emit({lang:e,translations:this.translations[e]})}getLangs(){return this.langs}addLangs(e){e.forEach(i=>{-1===this.langs.indexOf(i)&&this.langs.push(i)})}updateLangs(){this.addLangs(Object.keys(this.translations))}getParsedResult(e,i,o){let s;if(i instanceof Array){let a={},l=!1;for(let d of i)a[d]=this.getParsedResult(e,d,o),za(a[d])&&(l=!0);return l?l1(i.map(_=>za(a[_])?a[_]:$e(a[_]))).pipe(ke(_=>{let E={};return _.forEach((F,G)=>{E[i[G]]=F}),E})):a}if(e&&(s=this.parser.interpolate(this.parser.getValue(e,i),o)),typeof s>"u"&&null!=this.defaultLang&&this.defaultLang!==this.currentLang&&this.useDefaultLang&&(s=this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang],i),o)),typeof s>"u"){let a={key:i,translateService:this};typeof o<"u"&&(a.interpolateParams=o),s=this.missingTranslationHandler.handle(a)}return typeof s<"u"?s:i}get(e,i){if(!tl(e)||!e.length)throw new Error('Parameter "key" required');if(this.pending)return this.loadingTranslations.pipe(Bl(o=>za(o=this.getParsedResult(o,e,i))?o:$e(o)));{let o=this.getParsedResult(this.translations[this.currentLang],e,i);return za(o)?o:$e(o)}}getStreamOnTranslationChange(e,i){if(!tl(e)||!e.length)throw new Error('Parameter "key" required');return Ua(jl(()=>this.get(e,i)),this.onTranslationChange.pipe(gr(o=>{const s=this.getParsedResult(o.translations,e,i);return"function"==typeof s.subscribe?s:$e(s)})))}stream(e,i){if(!tl(e)||!e.length)throw new Error('Parameter "key" required');return Ua(jl(()=>this.get(e,i)),this.onLangChange.pipe(gr(o=>{const s=this.getParsedResult(o.translations,e,i);return za(s)?s:$e(s)})))}instant(e,i){if(!tl(e)||!e.length)throw new Error('Parameter "key" required');let o=this.getParsedResult(this.translations[this.currentLang],e,i);if(za(o)){if(e instanceof Array){let s={};return e.forEach((a,l)=>{s[e[l]]=e[l]}),s}return e}return o}set(e,i,o=this.currentLang){this.translations[o][e]=this.compiler.compile(i,o),this.updateLangs(),this.onTranslationChange.emit({lang:o,translations:this.translations[o]})}changeLang(e){this.currentLang=e,this.onLangChange.emit({lang:e,translations:this.translations[e]}),null==this.defaultLang&&this.changeDefaultLang(e)}changeDefaultLang(e){this.defaultLang=e,this.onDefaultLangChange.emit({lang:e,translations:this.translations[e]})}reloadLang(e){return this.resetLang(e),this.getTranslation(e)}resetLang(e){this._translationRequests[e]=void 0,this.translations[e]=void 0}getBrowserLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let e=window.navigator.languages?window.navigator.languages[0]:null;return e=e||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,typeof e>"u"?void 0:(-1!==e.indexOf("-")&&(e=e.split("-")[0]),-1!==e.indexOf("_")&&(e=e.split("_")[0]),e)}getBrowserCultureLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let e=window.navigator.languages?window.navigator.languages[0]:null;return e=e||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,e}}return Lt(t,"\u0275fac",function(e){return new(e||t)(we(fE),we(jh),we(mg),we(pg),we(c1),we(h1),we(u1),we(p1),we(f1))}),Lt(t,"\u0275prov",Ne({token:t,factory:t.\u0275fac})),t})(),wt=(()=>{class t{constructor(e,i){Lt(this,"translate",void 0),Lt(this,"_ref",void 0),Lt(this,"value",""),Lt(this,"lastKey",null),Lt(this,"lastParams",[]),Lt(this,"onTranslationChange",void 0),Lt(this,"onLangChange",void 0),Lt(this,"onDefaultLangChange",void 0),this.translate=e,this._ref=i}updateValue(e,i,o){let s=a=>{this.value=void 0!==a?a:e,this.lastKey=e,this._ref.markForCheck()};if(o){let a=this.translate.getParsedResult(o,e,i);za(a.subscribe)?a.subscribe(s):s(a)}this.translate.get(e,i).subscribe(s)}transform(e,...i){if(!e||!e.length)return e;if(fg(e,this.lastKey)&&fg(i,this.lastParams))return this.value;let o;if(tl(i[0])&&i.length)if("string"==typeof i[0]&&i[0].length){let s=i[0].replace(/(\')?([a-zA-Z0-9_]+)(\')?(\s)?:/g,'"$2":').replace(/:(\s)?(\')(.*?)(\')/g,':"$3"');try{o=JSON.parse(s)}catch{throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${i[0]}`)}}else"object"==typeof i[0]&&!Array.isArray(i[0])&&(o=i[0]);return this.lastKey=e,this.lastParams=i,this.updateValue(e,o),this._dispose(),this.onTranslationChange||(this.onTranslationChange=this.translate.onTranslationChange.subscribe(s=>{this.lastKey&&s.lang===this.translate.currentLang&&(this.lastKey=null,this.updateValue(e,o,s.translations))})),this.onLangChange||(this.onLangChange=this.translate.onLangChange.subscribe(s=>{this.lastKey&&(this.lastKey=null,this.updateValue(e,o,s.translations))})),this.onDefaultLangChange||(this.onDefaultLangChange=this.translate.onDefaultLangChange.subscribe(()=>{this.lastKey&&(this.lastKey=null,this.updateValue(e,o))})),this.value}_dispose(){typeof this.onTranslationChange<"u"&&(this.onTranslationChange.unsubscribe(),this.onTranslationChange=void 0),typeof this.onLangChange<"u"&&(this.onLangChange.unsubscribe(),this.onLangChange=void 0),typeof this.onDefaultLangChange<"u"&&(this.onDefaultLangChange.unsubscribe(),this.onDefaultLangChange=void 0)}ngOnDestroy(){this._dispose()}}return Lt(t,"\u0275fac",function(e){return new(e||t)(Y(To,16),Y(pi,16))}),Lt(t,"\u0275pipe",ur({name:"translate",type:t,pure:!1})),Lt(t,"\u0275prov",Ne({token:t,factory:t.\u0275fac})),t})(),pE=(()=>{class t{static forRoot(e={}){return{ngModule:t,providers:[e.loader||{provide:jh,useClass:lE},e.compiler||{provide:mg,useClass:hE},e.parser||{provide:pg,useClass:uE},e.missingTranslationHandler||{provide:c1,useClass:cE},fE,{provide:u1,useValue:e.isolate},{provide:h1,useValue:e.useDefaultLang},{provide:p1,useValue:e.extend},{provide:f1,useValue:e.defaultLanguage},To]}}static forChild(e={}){return{ngModule:t,providers:[e.loader||{provide:jh,useClass:lE},e.compiler||{provide:mg,useClass:hE},e.parser||{provide:pg,useClass:uE},e.missingTranslationHandler||{provide:c1,useClass:cE},{provide:u1,useValue:e.isolate},{provide:h1,useValue:e.useDefaultLang},{provide:p1,useValue:e.extend},{provide:f1,useValue:e.defaultLanguage},To]}}}return Lt(t,"\u0275fac",function(e){return new(e||t)}),Lt(t,"\u0275mod",Ht({type:t})),Lt(t,"\u0275inj",Nt({})),t})();function fW(t,n){if(1&t&&(D(0,"div",5)(1,"mat-icon",6),I(2),C()()),2&t){const e=z();c(1),w("inline",!0),c(1),se(e.config.icon)}}function pW(t,n){if(1&t&&(D(0,"div",7),I(1),R(2,"translate"),R(3,"translate"),C()),2&t){const e=z();c(1),vo(" ",H(2,2,"common.error")," ",kt(3,4,e.config.smallText,e.config.smallTextTranslationParams)," ")}}var ca=(()=>((ca=ca||{}).Error="error",ca.Done="done",ca.Warning="warning",ca))(),da=(()=>((da=da||{}).Red="red-background",da.Green="green-background",da.Yellow="yellow-background",da))();let mW=(()=>{class t{constructor(e,i){this.snackbarRef=i,this.config=e}close(){this.snackbarRef.dismiss()}}return t.\u0275fac=function(e){return new(e||t)(Y(s1),Y(ag))},t.\u0275cmp=Ze({type:t,selectors:[["app-snack-bar"]],decls:9,vars:8,consts:[["class","icon-container",4,"ngIf"],[1,"text-container"],["class","second-line",4,"ngIf"],[1,"close-button-separator"],[1,"close-button",3,"click"],[1,"icon-container"],[3,"inline"],[1,"second-line"]],template:function(e,i){1&e&&(D(0,"div"),V(1,fW,3,2,"div",0),D(2,"div",1),I(3),R(4,"translate"),V(5,pW,4,7,"div",2),C(),xe(6,"div",3),D(7,"mat-icon",4),ye("click",function(){return i.close()}),I(8,"close"),C()()),2&e&&(eo("main-container "+i.config.color),c(1),w("ngIf",i.config.icon),c(2),ce(" ",kt(4,5,i.config.text,i.config.textTranslationParams)," "),c(2),w("ngIf",i.config.smallText))},dependencies:[Ft,Cn,wt],styles:['.cursor-pointer[_ngcontent-%COMP%], .close-button[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}.main-container[_ngcontent-%COMP%]{width:100%;display:flex;color:#fff;padding:15px;border-radius:5px}.red-background[_ngcontent-%COMP%]{background-color:#ea0606}.green-background[_ngcontent-%COMP%]{background-color:#1fb11f}.yellow-background[_ngcontent-%COMP%]{background-color:#f90}.icon-container[_ngcontent-%COMP%]{margin-right:10px;position:relative;top:1px}.text-container[_ngcontent-%COMP%]{flex-grow:1;margin-right:10px;font-size:1rem;word-break:break-word}.text-container[_ngcontent-%COMP%] .second-line[_ngcontent-%COMP%]{font-size:.8rem;opacity:.9}.close-button-separator[_ngcontent-%COMP%]{width:1px;margin-right:10px;background-color:#0000004d}.close-button[_ngcontent-%COMP%]{opacity:.7}.close-button[_ngcontent-%COMP%]:hover{opacity:1}mat-icon[_ngcontent-%COMP%]{position:relative;top:1px;-webkit-user-select:none;user-select:none}']}),t})(),Dn=(()=>{class t{constructor(e){this.snackBar=e,this.lastWasTemporaryError=!1}showError(e,i=null,o=!1,s=null,a=null){e=en(e),s=s?en(s):null,this.lastWasTemporaryError=o,this.show(e.translatableErrorMsg,i,s?s.translatableErrorMsg:null,a,ca.Error,da.Red,15e3)}showWarning(e,i=null){this.lastWasTemporaryError=!1,this.show(e,i,null,null,ca.Warning,da.Yellow,15e3)}showDone(e,i=null){this.lastWasTemporaryError=!1,this.show(e,i,null,null,ca.Done,da.Green,5e3)}closeCurrent(){this.snackBar.dismiss()}closeCurrentIfTemporaryError(){this.lastWasTemporaryError&&this.snackBar.dismiss()}show(e,i,o,s,a,l,d){this.snackBar.openFromComponent(mW,{duration:d,panelClass:"snackbar-container",data:{text:e,textTranslationParams:i,smallText:o,smallTextTranslationParams:s,icon:a,color:l}})}}return t.\u0275fac=function(e){return new(e||t)(we(XU))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const Vt={maxShortListElements:5,maxFullListElements:40,connectionRetryDelay:5e3,languages:[{code:"en",name:"English",iconName:"en.png"},{code:"es",name:"Espa\xf1ol",iconName:"es.png"},{code:"de",name:"Deutsch",iconName:"de.png"},{code:"pt",name:"Portugu\xeas (Brazil)",iconName:"pt.png"}],defaultLanguage:"en",smallModalWidth:"480px",mediumModalWidth:"640px",largeModalWidth:"900px",vpn:{hardcodedIpWhileDeveloping:!1}};class gW{constructor(n){Object.assign(this,n)}}let gg=(()=>{class t{constructor(e){this.translate=e,this.currentLanguage=new ko(1),this.languages=new ko(1),this.storageKey="lang",this.languagesInternal=[],this.settingsLoaded=!1}loadLanguageSettings(){if(this.settingsLoaded)return;this.settingsLoaded=!0;const e=[];Vt.languages.forEach(i=>{const o=new gW(i);this.languagesInternal.push(o),e.push(o.code)}),this.languages.next(this.languagesInternal),this.translate.addLangs(e),this.translate.setDefaultLang(Vt.defaultLanguage),this.translate.onLangChange.subscribe(i=>this.onLanguageChanged(i)),this.loadCurrentLanguage()}changeLanguage(e){this.translate.use(e)}onLanguageChanged(e){this.currentLanguage.next(this.languagesInternal.find(i=>i.code===e.lang)),localStorage.setItem(this.storageKey,e.lang)}loadCurrentLanguage(){let e=localStorage.getItem(this.storageKey);e=e||Vt.defaultLanguage,setTimeout(()=>this.translate.use(e),16)}}return t.\u0275fac=function(e){return new(e||t)(we(To))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const _W={url:"",deserializer:t=>JSON.parse(t.data),serializer:t=>JSON.stringify(t)};class m1 extends Te{constructor(n,e){if(super(),n instanceof he)this.destination=e,this.source=n;else{const i=this._config=Object.assign({},_W);if(this._output=new J,"string"==typeof n)i.url=n;else for(let o in n)n.hasOwnProperty(o)&&(i[o]=n[o]);if(!i.WebSocketCtor&&WebSocket)i.WebSocketCtor=WebSocket;else if(!i.WebSocketCtor)throw new Error("no WebSocket constructor can be found");this.destination=new ko}}lift(n){const e=new m1(this._config,this.destination);return e.operator=n,e.source=this,e}_resetState(){this._socket=null,this.source||(this.destination=new ko),this._output=new J}multiplex(n,e,i){const o=this;return new he(s=>{try{o.next(n())}catch(l){s.error(l)}const a=o.subscribe(l=>{try{i(l)&&s.next(l)}catch(d){s.error(d)}},l=>s.error(l),()=>s.complete());return()=>{try{o.next(e())}catch(l){s.error(l)}a.unsubscribe()}})}_connectSocket(){const{WebSocketCtor:n,protocol:e,url:i,binaryType:o}=this._config,s=this._output;let a=null;try{a=e?new n(i,e):new n(i),this._socket=a,o&&(this._socket.binaryType=o)}catch(d){return void s.error(d)}const l=new T(()=>{this._socket=null,a&&1===a.readyState&&a.close()});a.onopen=d=>{const{_socket:_}=this;if(!_)return a.close(),void this._resetState();const{openObserver:E}=this._config;E&&E.next(d);const F=this.destination;this.destination=A.create(G=>{if(1===a.readyState)try{const{serializer:ie}=this._config;a.send(ie(G))}catch(ie){this.destination.error(ie)}},G=>{const{closingObserver:ie}=this._config;ie&&ie.next(void 0),G&&G.code?a.close(G.code,G.reason):s.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),this._resetState()},()=>{const{closingObserver:G}=this._config;G&&G.next(void 0),a.close(),this._resetState()}),F&&F instanceof ko&&l.add(F.subscribe(this.destination))},a.onerror=d=>{this._resetState(),s.error(d)},a.onclose=d=>{this._resetState();const{closeObserver:_}=this._config;_&&_.next(d),d.wasClean?s.complete():s.error(d)},a.onmessage=d=>{try{const{deserializer:_}=this._config;s.next(_(d))}catch(_){s.error(_)}}}_subscribe(n){const{source:e}=this;return e?e.subscribe(n):(this._socket||this._connectSocket(),this._output.subscribe(n),n.add(()=>{const{_socket:i}=this;0===this._output.observers.length&&(i&&1===i.readyState&&i.close(),this._resetState())}),n)}unsubscribe(){const{_socket:n}=this;n&&1===n.readyState&&n.close(),this._resetState(),super.unsubscribe()}}var nl=(()=>((nl=nl||{}).Json="json",nl.Text="text",nl))(),Jl=(()=>((Jl=Jl||{}).Json="json",Jl))();class Ql{constructor(n){this.responseType=nl.Json,this.requestType=Jl.Json,this.ignoreAuth=!1,Object.assign(this,n)}}let il=(()=>{class t{constructor(e,i,o){this.http=e,this.router=i,this.ngZone=o,this.apiPrefix="api/",this.wsApiPrefix="api/"}get(e,i=null){return this.request("GET",e,{},i)}post(e,i={},o=null){return this.request("POST",e,i,o)}put(e,i={},o=null){return this.request("PUT",e,i,o)}delete(e,i=null){return this.request("DELETE",e,{},i)}ws(e,i={}){const a=function vW(t){return new m1(t)}((location.protocol.startsWith("https")?"wss://":"ws://")+location.host+"/"+this.wsApiPrefix+e);return a.next(i),a}request(e,i,o,s){return o=o||{},s=s||new Ql,i.startsWith("/")&&(i=i.substr(1,i.length-1)),this.http.request(e,this.apiPrefix+i,{...this.getRequestOptions(s),responseType:s.responseType,withCredentials:!0,body:this.getPostBody(o,s)}).pipe(ke(a=>this.successHandler(a)),Co(a=>this.errorHandler(a,s)))}getRequestOptions(e){const i={};return i.headers=new rs,e.requestType===Jl.Json&&(i.headers=i.headers.append("Content-Type","application/json")),i}getPostBody(e,i){if(i.requestType===Jl.Json)return JSON.stringify(e);const o=new FormData;return Object.keys(e).forEach(s=>o.append(s,e[s])),o}successHandler(e){if("string"==typeof e&&"manager token is null"===e)throw new Error(e);return e}errorHandler(e,i){if(!i.ignoreAuth){if(401===e.status){const o=i.vpnKeyForAuth?["vpnlogin",i.vpnKeyForAuth]:["login"];this.ngZone.run(()=>this.router.navigate(o,{replaceUrl:!0}))}if(e.error&&"string"==typeof e.error&&e.error.includes("change password")){const o=i.vpnKeyForAuth?["vpnlogin",i.vpnKeyForAuth]:["login"];this.ngZone.run(()=>this.router.navigate(o,{replaceUrl:!0}))}}return Ar(en(e))}}return t.\u0275fac=function(e){return new(e||t)(we(Vl),we(hn),we(ft))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const yW=["determinateSpinner"];function MW(t,n){if(1&t&&(wl(),D(0,"svg",11),xe(1,"circle",12),C()),2&t){const e=z();Xt("viewBox",e._viewBox()),c(1),Pl("stroke-dasharray",e._strokeCircumference(),"px")("stroke-dashoffset",e._strokeCircumference()/2,"px")("stroke-width",e._circleStrokeWidth(),"%"),Xt("r",e._circleRadius())}}const wW=Fh(class{constructor(t){this._elementRef=t}},"primary"),CW=new Re("mat-progress-spinner-default-options",{providedIn:"root",factory:function xW(){return{diameter:mE}}}),mE=100;let ec=(()=>{class t extends wW{constructor(e,i,o){super(e),this.mode="mat-spinner"===this._elementRef.nativeElement.nodeName.toLowerCase()?"indeterminate":"determinate",this._value=0,this._diameter=mE,this._noopAnimations="NoopAnimations"===i&&!!o&&!o._forceAnimations,o&&(o.color&&(this.color=this.defaultColor=o.color),o.diameter&&(this.diameter=o.diameter),o.strokeWidth&&(this.strokeWidth=o.strokeWidth))}get value(){return"determinate"===this.mode?this._value:0}set value(e){this._value=Math.max(0,Math.min(100,So(e)))}get diameter(){return this._diameter}set diameter(e){this._diameter=So(e)}get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(e){this._strokeWidth=So(e)}_circleRadius(){return(this.diameter-10)/2}_viewBox(){const e=2*this._circleRadius()+this.strokeWidth;return`0 0 ${e} ${e}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return"determinate"===this.mode?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(Ri,8),Y(CW))},t.\u0275cmp=Ze({type:t,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(e,i){if(1&e&&_t(yW,5),2&e){let o;rt(o=ot())&&(i._determinateCircle=o.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:16,hostBindings:function(e,i){2&e&&(Xt("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow","determinate"===i.mode?i.value:null)("mode",i.mode),Pl("width",i.diameter,"px")("height",i.diameter,"px")("--mdc-circular-progress-size",i.diameter+"px")("--mdc-circular-progress-active-indicator-width",i.diameter+"px"),nn("_mat-animation-noopable",i._noopAnimations)("mdc-circular-progress--indeterminate","indeterminate"===i.mode))},inputs:{color:"color",mode:"mode",value:"value",diameter:"diameter",strokeWidth:"strokeWidth"},exportAs:["matProgressSpinner"],features:[nt],decls:14,vars:11,consts:[["circle",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["determinateSpinner",""],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(e,i){if(1&e&&(V(0,MW,2,8,"ng-template",null,0,Es),D(2,"div",1,2),wl(),D(4,"svg",3),xe(5,"circle",4),C()(),zf(),D(6,"div",5)(7,"div",6)(8,"div",7),Jo(9,8),C(),D(10,"div",9),Jo(11,8),C(),D(12,"div",10),Jo(13,8),C()()()),2&e){const o=ci(1);c(4),Xt("viewBox",i._viewBox()),c(1),Pl("stroke-dasharray",i._strokeCircumference(),"px")("stroke-dashoffset",i._strokeDashOffset(),"px")("stroke-width",i._circleStrokeWidth(),"%"),Xt("r",i._circleRadius()),c(4),w("ngTemplateOutlet",o),c(2),w("ngTemplateOutlet",o),c(2),w("ngTemplateOutlet",o)}},dependencies:[hd],styles:["@keyframes mdc-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdc-circular-progress-color-1-fade-in-out{from{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes mdc-circular-progress-color-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@keyframes mdc-circular-progress-left-spin{from{transform:rotate(265deg)}50%{transform:rotate(130deg)}to{transform:rotate(265deg)}}@keyframes mdc-circular-progress-right-spin{from{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-265deg)}}.mdc-circular-progress{display:inline-flex;position:relative;direction:ltr;line-height:0;transition:opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{transform:rotate(-90deg)}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:rgba(0,0,0,0)}.mdc-circular-progress__determinate-circle{transition:stroke-dashoffset 500ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.mdc-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{animation:mdc-circular-progress-container-rotate 1568.2352941176ms linear infinite}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-1{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-2{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-3{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-4{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--closed{opacity:0}.mat-mdc-progress-spinner{--mdc-circular-progress-active-indicator-width:4px;--mdc-circular-progress-size:48px}.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--mdc-circular-progress-active-indicator-color)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner circle{stroke-width:var(--mdc-circular-progress-active-indicator-width)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-1 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-2 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-3 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-4 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner .mdc-circular-progress{width:var(--mdc-circular-progress-size) !important;height:var(--mdc-circular-progress-size) !important}.mat-mdc-progress-spinner{display:block;overflow:hidden;line-height:0}.mat-mdc-progress-spinner._mat-animation-noopable,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__determinate-circle{transition:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__spinner-layer,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container{animation:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container circle{stroke-dasharray:0 !important}.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic,.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle{stroke:currentColor;stroke:CanvasText}"],encapsulation:2,changeDetection:0}),t})(),SW=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[ta,Wn]}),t})();const DW=function(t){return{"white-theme":t}};let as=(()=>{class t{constructor(){this.showWhite=!0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["app-loading-indicator"]],inputs:{showWhite:"showWhite"},decls:2,vars:4,consts:[[1,"container",3,"ngClass"],[3,"diameter"]],template:function(e,i){1&e&&(D(0,"div",0),xe(1,"mat-spinner",1),C()),2&e&&(w("ngClass",He(2,DW,i.showWhite)),c(1),w("diameter",50))},dependencies:[Nn,ec],styles:["[_nghost-%COMP%]{width:100%;height:100%;display:flex}.container[_ngcontent-%COMP%]{width:100%;align-self:center;display:flex;flex-direction:column;align-items:center}.container[_ngcontent-%COMP%] > mat-spinner[_ngcontent-%COMP%]{opacity:.5}"]}),t})();function TW(t,n){1&t&&(D(0,"div",5)(1,"div"),xe(2,"img",6),D(3,"div"),I(4),R(5,"translate"),C()()()),2&t&&(c(4),se(H(5,1,"common.window-size-error")))}function LW(t,n){1&t&&xe(0,"router-outlet")}function EW(t,n){1&t&&xe(0,"app-loading-indicator",7)}const IW=function(t){return{background:t}};let g1=(()=>{class t{constructor(e,i,o,s,a,l){this.storage=e,this.snackbarService=s,this.languageService=a,this.apiService=l,this.inVpnClient=!1,this.inLoginPage=!1,this.hypervisorPkObtained=!1,this.pkErrorShown=!1,this.pkErrorsFound=0,t.currentInstance=this,o.afterOpened.subscribe(()=>s.closeCurrent()),history.scrollRestoration&&(history.scrollRestoration="manual"),i.events.subscribe(d=>{d instanceof Ga&&(s.closeCurrent(),o.closeAll())}),o.afterAllClosed.subscribe(()=>s.closeCurrentIfTemporaryError()),i.events.subscribe(d=>{if(this.inVpnClient=i.url.includes("/vpn/")||i.url.includes("vpnlogin"),d.url){const _=this.inLoginPage;this.inLoginPage=d.url.includes("login"),_&&!this.inLoginPage&&!this.hypervisorPkObtained&&this.checkHypervisorPk(0)}i.url.length>2&&(document.title=this.inVpnClient?"Skywire VPN":"Skywire Manager")}),this.languageService.loadLanguageSettings(),this.checkHypervisorPk(0)}processLoginDone(){this.inLoginPage=!1,this.hypervisorPkObtained||this.checkHypervisorPk(0)}checkHypervisorPk(e){this.obtainPkSubscription&&this.obtainPkSubscription.unsubscribe(),this.obtainPkSubscription=$e(1).pipe(Ti(e),Ye(()=>this.apiService.get("about"))).subscribe(i=>{i.public_key?(this.finishStartup(i.public_key),this.hypervisorPkObtained=!0):(this.pkErrorShown||(this.snackbarService.showError("start.loading-error",null,!0),this.pkErrorShown=!0),this.checkHypervisorPk(1e3))},i=>{if(this.pkErrorsFound+=1,this.pkErrorsFound>4&&!this.pkErrorShown){const o=en(i);this.snackbarService.showError("start.loading-error",null,!0,o),this.pkErrorShown=!0}this.inLoginPage||this.checkHypervisorPk(1e3)})}finishStartup(e){this.storage.initialize(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Ji),Y(hn),Y(In),Y(Dn),Y(gg),Y(il))},t.\u0275cmp=Ze({type:t,selectors:[["app-root"]],decls:5,vars:6,consts:[["class","size-alert d-md-none",4,"ngIf"],[1,"flex-1","content","container-fluid"],[3,"ngClass"],[4,"ngIf"],["class","h-100",4,"ngIf"],[1,"size-alert","d-md-none"],["src","assets/img/size-alert.png"],[1,"h-100"]],template:function(e,i){1&e&&(V(0,TW,6,3,"div",0),D(1,"div",1),xe(2,"div",2),V(3,LW,1,0,"router-outlet",3),V(4,EW,1,0,"app-loading-indicator",4),C()),2&e&&(w("ngIf",i.inVpnClient),c(2),w("ngClass",He(4,IW,i.inVpnClient)),c(1),w("ngIf",i.hypervisorPkObtained||i.inLoginPage),c(1),w("ngIf",!i.hypervisorPkObtained&&!i.inLoginPage))},dependencies:[Nn,Ft,Am,as,wt],styles:[".size-alert[_ngcontent-%COMP%]{background-color:#000000d9;position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:inline-flex;align-items:center;justify-content:center;text-align:center;color:#fff}.size-alert[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{margin:0 40px;max-width:400px}[_nghost-%COMP%]{display:flex;flex-direction:column;justify-content:space-between;min-height:100%;height:100%}.content[_ngcontent-%COMP%]{padding:20px!important}.background[_ngcontent-%COMP%]{background-image:url(/assets/img/map.png);background-size:cover;background-position:center;opacity:.1;width:100%;height:100%;top:0;left:0;position:fixed}"]}),t})(),Uh=(()=>{class t{set forceFail(e){this.forceFailInternal=e}constructor(e){this.router=e,this.forceFailInternal=!1}canActivate(e,i){return this.checkIfCanActivate()}canActivateChild(e,i){return this.checkIfCanActivate()}checkIfCanActivate(){return this.forceFailInternal?(this.router.navigate(["login"],{replaceUrl:!0}),$e(!1)):$e(!0)}}return t.\u0275fac=function(e){return new(e||t)(we(hn))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var Fr=(()=>((Fr=Fr||{})[Fr.AuthDisabled=0]="AuthDisabled",Fr[Fr.Logged=1]="Logged",Fr[Fr.NotLogged=2]="NotLogged",Fr))();let Wh=(()=>{class t{constructor(e,i,o){this.apiService=e,this.translateService=i,this.authGuardService=o}login(e){return this.apiService.post("login",{username:"admin",password:e},new Ql({ignoreAuth:!0})).pipe(bi(i=>{if(!0!==i)throw new Error;this.authGuardService.forceFail=!1}))}checkLogin(){return this.apiService.get("user",new Ql({ignoreAuth:!0})).pipe(ke(e=>e.username?Fr.Logged:Fr.AuthDisabled),Co(e=>(e=en(e)).originalError&&401===e.originalError.status?(this.authGuardService.forceFail=!0,$e(Fr.NotLogged)):Ar(e)))}logout(){return this.apiService.post("logout",{}).pipe(bi(e=>{if(!0!==e)throw new Error;this.authGuardService.forceFail=!0}))}changePassword(e,i){return this.apiService.post("change-password",{old_password:e,new_password:i},new Ql({responseType:nl.Text,ignoreAuth:!0})).pipe(ke(o=>{if("string"==typeof o&&"true"===o.trim())return!0;throw"Please do not change the default password."===o?new Error(this.translateService.instant("settings.password.errors.default-password")):new Error(this.translateService.instant("common.operation-error"))}),Co(o=>((o=en(o)).originalError&&401===o.originalError.status&&(o.translatableErrorMsg="settings.password.errors.bad-old-password"),Ar(o))))}initialConfig(e){return this.apiService.post("create-account",{username:"admin",password:e},new Ql({responseType:nl.Text,ignoreAuth:!0})).pipe(ke(i=>{if("string"==typeof i&&"true"===i.trim())return!0;throw new Error(i)}),Co(i=>((i=en(i)).originalError&&500===i.originalError.status&&(i.translatableErrorMsg="settings.password.initial-config.error"),Ar(i))))}}return t.\u0275fac=function(e){return new(e||t)(we(il),we(To),we(Uh))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class PW{}class er{constructor(){this.persistentScrollPosKey="scroll-pos"}ngOnInit(){let n=this.getLocalValue(this.persistentScrollPosKey);n=n?n.value:"0",window.scrollTo(0,Number(n)),setTimeout(()=>window.scrollTo(0,Number(n)),1)}saveScrollPosition(n){this.saveLocalValue(this.persistentScrollPosKey,window.scrollY+"")}saveLocalValue(n,e){const i=window.history.state;i[n]=e,i[n+"_time"]=(new Date).getTime(),window.history.replaceState(i,"",window.location.pathname+window.location.hash)}getLocalValue(n){if(!window.history.state||void 0===window.history.state[n])return null;const e=new PW;return e.value=window.history.state[n],e.date=window.history.state[n+"_time"],e}}er.mustCallNgOnInitSuper=Symbol("You must call super.ngOnInit."),er.\u0275fac=function(n){return new(n||er)},er.\u0275cmp=Ze({type:er,selectors:[["app-page-base"]],hostBindings:function(n,e){1&n&&ye("scroll",function(o){return e.saveScrollPosition(o)},0,Vb)},decls:0,vars:0,template:function(n,e){},encapsulation:2});let OW=(()=>{class t extends er{constructor(e,i){super(),this.authService=e,this.router=i}ngOnInit(){return this.verificationSubscription=this.authService.checkLogin().subscribe(e=>{this.router.navigate(e!==Fr.NotLogged?["nodes"]:["login"],{replaceUrl:!0})},()=>{this.router.navigate(["nodes"],{replaceUrl:!0})}),super.ngOnInit()}ngOnDestroy(){this.verificationSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(Wh),Y(hn))},t.\u0275cmp=Ze({type:t,selectors:[["app-start"]],features:[nt],decls:2,vars:0,consts:[[1,"h-100","w-100"]],template:function(e,i){1&e&&(D(0,"div",0),xe(1,"app-loading-indicator"),C())},dependencies:[as]}),t})(),gE=(()=>{class t{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Ks),Y(vt))},t.\u0275dir=Ke({type:t}),t})(),tc=(()=>{class t extends gE{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275dir=Ke({type:t,features:[nt]}),t})();const ls=new Re("NgValueAccessor"),FW={provide:ls,useExisting:pn(()=>Bi),multi:!0},NW=new Re("CompositionEventMode");let Bi=(()=>{class t extends gE{constructor(e,i,o){super(e,i),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function RW(){const t=Ya()?Ya().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(e){this.setProperty("value",e??"")}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Ks),Y(vt),Y(NW,8))},t.\u0275dir=Ke({type:t,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(e,i){1&e&&ye("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},features:[un([FW]),nt]}),t})();function rl(t){return null==t||("string"==typeof t||Array.isArray(t))&&0===t.length}function bE(t){return null!=t&&"number"==typeof t.length}const wr=new Re("NgValidators"),ol=new Re("NgAsyncValidators"),YW=/^(?=.{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 Gt{static min(n){return function vE(t){return n=>{if(rl(n.value)||rl(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e{if(rl(n.value)||rl(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e>t?{max:{max:t,actual:n.value}}:null}}(n)}static required(n){return function ME(t){return rl(t.value)?{required:!0}:null}(n)}static requiredTrue(n){return function wE(t){return!0===t.value?null:{required:!0}}(n)}static email(n){return function CE(t){return rl(t.value)||YW.test(t.value)?null:{email:!0}}(n)}static minLength(n){return function xE(t){return n=>rl(n.value)||!bE(n.value)?null:n.value.length{if(rl(i.value))return null;const o=i.value;return n.test(o)?null:{pattern:{requiredPattern:e,actualValue:o}}}}(n)}static nullValidator(n){return null}static compose(n){return PE(n)}static composeAsync(n){return OE(n)}}function kE(t){return n=>bE(n.value)&&n.value.length>t?{maxlength:{requiredLength:t,actualLength:n.value.length}}:null}function _g(t){return null}function DE(t){return null!=t}function TE(t){return Hu(t)?ue(t):t}function LE(t){let n={};return t.forEach(e=>{n=null!=e?{...n,...e}:n}),0===Object.keys(n).length?null:n}function EE(t,n){return n.map(e=>e(t))}function IE(t){return t.map(n=>function HW(t){return!t.validate}(n)?n:e=>n.validate(e))}function PE(t){if(!t)return null;const n=t.filter(DE);return 0==n.length?null:function(e){return LE(EE(e,n))}}function _1(t){return null!=t?PE(IE(t)):null}function OE(t){if(!t)return null;const n=t.filter(DE);return 0==n.length?null:function(e){return l1(EE(e,n).map(TE)).pipe(ke(LE))}}function b1(t){return null!=t?OE(IE(t)):null}function AE(t,n){return null===t?[n]:Array.isArray(t)?[...t,n]:[t,n]}function FE(t){return t._rawValidators}function RE(t){return t._rawAsyncValidators}function v1(t){return t?Array.isArray(t)?t:[t]:[]}function bg(t,n){return Array.isArray(t)?t.includes(n):t===n}function NE(t,n){const e=v1(n);return v1(t).forEach(o=>{bg(e,o)||e.push(o)}),e}function YE(t,n){return v1(n).filter(e=>!bg(t,e))}class HE{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(n){this._rawValidators=n||[],this._composedValidatorFn=_1(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=b1(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,e){return!!this.control&&this.control.hasError(n,e)}getError(n,e){return this.control?this.control.getError(n,e):null}}class $r extends HE{get formDirective(){return null}get path(){return null}}class Rs extends HE{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class BE{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Vi=(()=>{class t extends BE{constructor(e){super(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Rs,2))},t.\u0275dir=Ke({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,i){2&e&&nn("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[nt]}),t})(),ji=(()=>{class t extends BE{constructor(e){super(e)}}return t.\u0275fac=function(e){return new(e||t)(Y($r,10))},t.\u0275dir=Ke({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,i){2&e&&nn("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)("ng-submitted",i.isSubmitted)},features:[nt]}),t})();const $h="VALID",yg="INVALID",Od="PENDING",Gh="DISABLED";function w1(t){return(Mg(t)?t.validators:t)||null}function C1(t,n){return(Mg(n)?n.asyncValidators:t)||null}function Mg(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}function jE(t,n,e){const i=t.controls;if(!(n?Object.keys(i):i).length)throw new Fe(1e3,"");if(!i[e])throw new Fe(1001,"")}function zE(t,n,e){t._forEachChild((i,o)=>{if(void 0===e[o])throw new Fe(1002,"")})}class wg{constructor(n,e){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===$h}get invalid(){return this.status===yg}get pending(){return this.status==Od}get disabled(){return this.status===Gh}get enabled(){return this.status!==Gh}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(NE(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(NE(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(YE(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(YE(n,this._rawAsyncValidators))}hasValidator(n){return bg(this._rawValidators,n)}hasAsyncValidator(n){return bg(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(e=>{e.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=Od,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=Gh,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=$h,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===$h||this.status===Od)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Gh:$h}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=Od,this._hasOwnPendingAsyncValidator=!0;const e=TE(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,e={}){this.errors=n,this._updateControlsErrors(!1!==e.emitEvent)}get(n){let e=n;return null==e||(Array.isArray(e)||(e=e.split(".")),0===e.length)?null:e.reduce((i,o)=>i&&i._find(o),this)}getError(n,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[n]:null}hasError(n,e){return!!this.getError(n,e)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new ht,this.statusChanges=new ht}_calculateStatus(){return this._allControlsDisabled()?Gh:this.errors?yg:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Od)?Od:this._anyControlsHaveStatus(yg)?yg:$h}_anyControlsHaveStatus(n){return this._anyControls(e=>e.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Mg(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function zW(t){return Array.isArray(t)?_1(t):t||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function UW(t){return Array.isArray(t)?b1(t):t||null}(this._rawAsyncValidators)}}class Ad extends wg{constructor(n,e,i){super(w1(e),C1(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,e){return this.controls[n]?this.controls[n]:(this.controls[n]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(n,e,i={}){this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,e={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(n,e,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],e&&this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,e={}){zE(this,0,n),Object.keys(n).forEach(i=>{jE(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(Object.keys(n).forEach(i=>{const o=this.controls[i];o&&o.patchValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n={},e={}){this._forEachChild((i,o)=>{i.reset(n[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(n,e,i)=>(n[i]=e.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&n(i,e)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[e,i]of Object.entries(this.controls))if(this.contains(e)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(e,i,o)=>((i.enabled||this.disabled)&&(e[o]=i.value),e))}_reduceChildren(n,e){let i=n;return this._forEachChild((o,s)=>{i=e(i,o,s)}),i}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const UE=Ad;class WE extends Ad{}const nc=new Re("CallSetDisabledState",{providedIn:"root",factory:()=>qh}),qh="always";function Cg(t,n){return[...n.path,t]}function Kh(t,n,e=qh){x1(t,n),n.valueAccessor.writeValue(t.value),(t.disabled||"always"===e)&&n.valueAccessor.setDisabledState?.(t.disabled),function $W(t,n){n.valueAccessor.registerOnChange(e=>{t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&$E(t,n)})}(t,n),function qW(t,n){const e=(i,o)=>{n.valueAccessor.writeValue(i),o&&n.viewToModelUpdate(i)};t.registerOnChange(e),n._registerOnDestroy(()=>{t._unregisterOnChange(e)})}(t,n),function GW(t,n){n.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&$E(t,n),"submit"!==t.updateOn&&t.markAsTouched()})}(t,n),function WW(t,n){if(n.valueAccessor.setDisabledState){const e=i=>{n.valueAccessor.setDisabledState(i)};t.registerOnDisabledChange(e),n._registerOnDestroy(()=>{t._unregisterOnDisabledChange(e)})}}(t,n)}function xg(t,n,e=!0){const i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),Sg(t,n),t&&(n._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function kg(t,n){t.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(n)})}function x1(t,n){const e=FE(t);null!==n.validator?t.setValidators(AE(e,n.validator)):"function"==typeof e&&t.setValidators([e]);const i=RE(t);null!==n.asyncValidator?t.setAsyncValidators(AE(i,n.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const o=()=>t.updateValueAndValidity();kg(n._rawValidators,o),kg(n._rawAsyncValidators,o)}function Sg(t,n){let e=!1;if(null!==t){if(null!==n.validator){const o=FE(t);if(Array.isArray(o)&&o.length>0){const s=o.filter(a=>a!==n.validator);s.length!==o.length&&(e=!0,t.setValidators(s))}}if(null!==n.asyncValidator){const o=RE(t);if(Array.isArray(o)&&o.length>0){const s=o.filter(a=>a!==n.asyncValidator);s.length!==o.length&&(e=!0,t.setAsyncValidators(s))}}}const i=()=>{};return kg(n._rawValidators,i),kg(n._rawAsyncValidators,i),e}function $E(t,n){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function GE(t,n){x1(t,n)}function qE(t,n){t._syncPendingControls(),n.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}const QW={provide:$r,useExisting:pn(()=>Xh)},Zh=(()=>Promise.resolve())();let Xh=(()=>{class t extends $r{constructor(e,i,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new ht,this.form=new Ad({},_1(e),b1(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){Zh.then(()=>{const i=this._findContainer(e.path);e.control=i.registerControl(e.name,e.control),Kh(e.control,e,this.callSetDisabledState),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){Zh.then(()=>{const i=this._findContainer(e.path);i&&i.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){Zh.then(()=>{const i=this._findContainer(e.path),o=new Ad({});GE(o,e),i.registerControl(e.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){Zh.then(()=>{const i=this._findContainer(e.path);i&&i.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,i){Zh.then(()=>{this.form.get(e.path).setValue(i)})}setValue(e){this.control.setValue(e)}onSubmit(e){return this.submitted=!0,qE(this.form,this._directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}}return t.\u0275fac=function(e){return new(e||t)(Y(wr,10),Y(ol,10),Y(nc,8))},t.\u0275dir=Ke({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(e,i){1&e&&ye("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[un([QW]),nt]}),t})();function KE(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}function ZE(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}const Fd=class extends wg{constructor(n=null,e,i){super(w1(e),C1(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Mg(e)&&(e.nonNullable||e.initialValueIsDefault)&&(this.defaultValue=ZE(n)?n.value:n)}setValue(n,e={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(n,e={}){this.setValue(n,e)}reset(n=this.defaultValue,e={}){this._applyFormState(n),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){KE(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){KE(this._onDisabledChange,n)}_forEachChild(n){}_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(n){ZE(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},Dg=Fd;let XE=(()=>{class t extends $r{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return Cg(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275dir=Ke({type:t,features:[nt]}),t})(),zi=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),nI=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})();const T1=new Re("NgModelWithFormControlWarning"),l$={provide:$r,useExisting:pn(()=>ii)};let ii=(()=>{class t extends $r{constructor(e,i,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new ht,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Sg(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return Kh(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){xg(e.control||null,e,!1),function JW(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,qE(this.form,this.directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submitted=!1}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,o=this.form.get(e.path);i!==o&&(xg(i||null,e),(t=>t instanceof Fd)(o)&&(Kh(o,e,this.callSetDisabledState),e.control=o))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);GE(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function KW(t,n){return Sg(t,n)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){x1(this.form,this),this._oldForm&&Sg(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(Y(wr,10),Y(ol,10),Y(nc,8))},t.\u0275dir=Ke({type:t,selectors:[["","formGroup",""]],hostBindings:function(e,i){1&e&&ye("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[un([l$]),nt,Gi]}),t})();const c$={provide:$r,useExisting:pn(()=>Jh)};let Jh=(()=>{class t extends XE{constructor(e,i,o){super(),this.name=null,this._parent=e,this._setValidators(i),this._setAsyncValidators(o)}_checkParentType(){sI(this._parent)}}return t.\u0275fac=function(e){return new(e||t)(Y($r,13),Y(wr,10),Y(ol,10))},t.\u0275dir=Ke({type:t,selectors:[["","formGroupName",""]],inputs:{name:["formGroupName","name"]},features:[un([c$]),nt]}),t})();const d$={provide:$r,useExisting:pn(()=>Qh)};let Qh=(()=>{class t extends $r{constructor(e,i,o){super(),this.name=null,this._parent=e,this._setValidators(i),this._setAsyncValidators(o)}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 Cg(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){sI(this._parent)}}return t.\u0275fac=function(e){return new(e||t)(Y($r,13),Y(wr,10),Y(ol,10))},t.\u0275dir=Ke({type:t,selectors:[["","formArrayName",""]],inputs:{name:["formArrayName","name"]},features:[un([d$]),nt]}),t})();function sI(t){return!(t instanceof Jh||t instanceof ii||t instanceof Qh)}const u$={provide:Rs,useExisting:pn(()=>Ei)};let Ei=(()=>{class t extends Rs{set isDisabled(e){}constructor(e,i,o,s,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new ht,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(i),this._setAsyncValidators(o),this.valueAccessor=function D1(t,n){if(!n)return null;let e,i,o;return Array.isArray(n),n.forEach(s=>{s.constructor===Bi?e=s:function XW(t){return Object.getPrototypeOf(t.constructor)===tc}(s)?i=s:o=s}),o||i||e||null}(0,s)}ngOnChanges(e){this._added||this._setUpControl(),function S1(t,n){if(!t.hasOwnProperty("model"))return!1;const e=t.model;return!!e.isFirstChange()||!Object.is(n,e.currentValue)}(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return Cg(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._added=!0}}return t._ngModelWarningSentOnce=!1,t.\u0275fac=function(e){return new(e||t)(Y($r,13),Y(wr,10),Y(ol,10),Y(ls,10),Y(T1,8))},t.\u0275dir=Ke({type:t,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[un([u$]),nt,Gi]}),t})();let ic=(()=>{class t{constructor(){this._validator=_g}ngOnChanges(e){if(this.inputName in e){const i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):_g,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return null!=e}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,features:[Gi]}),t})();const x$={provide:wr,useExisting:pn(()=>Cr),multi:!0};let Cr=(()=>{class t extends ic{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=e=>function cI(t){return"number"==typeof t?t:parseInt(t,10)}(e),this.createValidator=e=>kE(e)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275dir=Ke({type:t,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(e,i){2&e&&Xt("maxlength",i._enabled?i.maxlength:null)},inputs:{maxlength:"maxlength"},features:[un([x$]),nt]}),t})(),gI=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[nI]}),t})();class _I extends wg{constructor(n,e,i){super(w1(e),C1(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(n){return this.controls[this._adjustIndex(n)]}push(n,e={}){this.controls.push(n),this._registerControl(n),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(n,e,i={}){this.controls.splice(n,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(n,e={}){let i=this._adjustIndex(n);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(n,e,i={}){let o=this._adjustIndex(n);o<0&&(o=0),this.controls[o]&&this.controls[o]._registerOnCollectionChange(()=>{}),this.controls.splice(o,1),e&&(this.controls.splice(o,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(n,e={}){zE(this,0,n),n.forEach((i,o)=>{jE(this,!1,o),this.at(o).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(n.forEach((i,o)=>{this.at(o)&&this.at(o).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n=[],e={}){this._forEachChild((i,o)=>{i.reset(n[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(n=>n.getRawValue())}clear(n={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:n.emitEvent}))}_adjustIndex(n){return n<0?n+this.length:n}_syncPendingControls(){let n=this.controls.reduce((e,i)=>!!i._syncPendingControls()||e,!1);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){this.controls.forEach((e,i)=>{n(e,i)})}_updateValue(){this.value=this.controls.filter(n=>n.enabled||this.disabled).map(n=>n.value)}_anyControls(n){return this.controls.some(e=>e.enabled&&n(e))}_setUpControls(){this._forEachChild(n=>this._registerControl(n))}_allControlsDisabled(){for(const n of this.controls)if(n.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(n){n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)}_find(n){return this.at(n)??null}}function bI(t){return!!t&&(void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn)}let vI=(()=>{class t{constructor(){this.useNonNullable=!1}get nonNullable(){const e=new t;return e.useNonNullable=!0,e}group(e,i=null){const o=this._reduceControls(e);let s={};return bI(i)?s=i:null!==i&&(s.validators=i.validator,s.asyncValidators=i.asyncValidator),new Ad(o,s)}record(e,i=null){const o=this._reduceControls(e);return new WE(o,i)}control(e,i,o){let s={};return this.useNonNullable?(bI(i)?s=i:(s.validators=i,s.asyncValidators=o),new Fd(e,{...s,nonNullable:!0})):new Fd(e,i,o)}array(e,i,o){const s=e.map(a=>this._createControl(a));return new _I(s,i,o)}_reduceControls(e){const i={};return Object.keys(e).forEach(o=>{i[o]=this._createControl(e[o])}),i}_createControl(e){return e instanceof Fd||e instanceof wg?e:Array.isArray(e)?this.control(e[0],e.length>1?e[1]:null,e.length>2?e[2]:null):this.control(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),xr=(()=>{class t extends vI{group(e,i=null){return super.group(e,i)}control(e,i,o){return super.control(e,i,o)}array(e,i,o){return super.array(e,i,o)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),S$=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:nc,useValue:e.callSetDisabledState??qh}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[gI]}),t})(),D$=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:T1,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:nc,useValue:e.callSetDisabledState??qh}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[gI]}),t})();const T$=["matFormFieldNotchedOutline",""],L$=["*"],E$=["textField"],I$=["iconPrefixContainer"],P$=["textPrefixContainer"];function O$(t,n){1&t&&xe(0,"span",19)}function A$(t,n){if(1&t){const e=et();D(0,"label",17),ye("cdkObserveContent",function(){return Pe(e),Oe(z(2)._refreshOutlineNotchWidth())}),Sn(1,1),V(2,O$,1,0,"span",18),C()}if(2&t){const e=z(2);w("floating",e._shouldLabelFloat())("cdkObserveContentDisabled",!e._hasOutline())("id",e._labelId),Xt("for",e._control.id)("aria-owns",e._control.id),c(2),w("ngIf",!e.hideRequiredMarker&&e._control.required)}}function F$(t,n){1&t&&V(0,A$,3,6,"label",16),2&t&&w("ngIf",z()._hasFloatingLabel())}function R$(t,n){1&t&&xe(0,"div",20)}function N$(t,n){}function Y$(t,n){1&t&&V(0,N$,0,0,"ng-template",22),2&t&&(z(2),w("ngTemplateOutlet",ci(1)))}function H$(t,n){if(1&t&&(D(0,"div",21),V(1,Y$,1,1,"ng-template",9),C()),2&t){const e=z();w("matFormFieldNotchedOutlineOpen",e._shouldLabelFloat())("matFormFieldNotchedOutlineLabelWidth",e._labelWidth),c(1),w("ngIf",!e._forceDisplayInfixLabel())}}function B$(t,n){1&t&&(D(0,"div",23,24),Sn(2,2),C())}function V$(t,n){1&t&&(D(0,"div",25,26),Sn(2,3),C())}function j$(t,n){}function z$(t,n){1&t&&V(0,j$,0,0,"ng-template",22),2&t&&(z(),w("ngTemplateOutlet",ci(1)))}function U$(t,n){1&t&&(D(0,"div",27),Sn(1,4),C())}function W$(t,n){1&t&&(D(0,"div",28),Sn(1,5),C())}function $$(t,n){1&t&&xe(0,"div",29)}function G$(t,n){1&t&&(D(0,"div",30),Sn(1,6),C()),2&t&&w("@transitionMessages",z()._subscriptAnimationState)}function q$(t,n){if(1&t&&(D(0,"mat-hint",34),I(1),C()),2&t){const e=z(2);w("id",e._hintLabelId),c(1),se(e.hintLabel)}}function K$(t,n){if(1&t&&(D(0,"div",31),V(1,q$,2,2,"mat-hint",32),Sn(2,7),xe(3,"div",33),Sn(4,8),C()),2&t){const e=z();w("@transitionMessages",e._subscriptAnimationState),c(1),w("ngIf",e.hintLabel)}}const Z$=["*",[["mat-label"]],[["","matPrefix",""],["","matIconPrefix",""]],[["","matTextPrefix",""]],[["","matTextSuffix",""]],[["","matSuffix",""],["","matIconSuffix",""]],[["mat-error"],["","matError",""]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],X$=["*","mat-label","[matPrefix], [matIconPrefix]","[matTextPrefix]","[matTextSuffix]","[matSuffix], [matIconSuffix]","mat-error, [matError]","mat-hint:not([align='end'])","mat-hint[align='end']"];let yI=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["mat-label"]]}),t})(),J$=0;const MI=new Re("MatError");let sl=(()=>{class t{constructor(e,i){this.id="mat-mdc-error-"+J$++,e||i.nativeElement.setAttribute("aria-live","polite")}}return t.\u0275fac=function(e){return new(e||t)(Pa("aria-live"),Y(vt))},t.\u0275dir=Ke({type:t,selectors:[["mat-error"],["","matError",""]],hostAttrs:["aria-atomic","true",1,"mat-mdc-form-field-error","mat-mdc-form-field-bottom-align"],hostVars:1,hostBindings:function(e,i){2&e&&Js("id",i.id)},inputs:{id:"id"},features:[un([{provide:MI,useExisting:t}])]}),t})(),Q$=0,wI=(()=>{class t{constructor(){this.align="start",this.id="mat-mdc-hint-"+Q$++}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["mat-hint"]],hostAttrs:[1,"mat-mdc-form-field-hint","mat-mdc-form-field-bottom-align"],hostVars:4,hostBindings:function(e,i){2&e&&(Js("id",i.id),Xt("align",null),nn("mat-mdc-form-field-hint-end","end"===i.align))},inputs:{align:"align",id:"id"}}),t})();const eG=new Re("MatPrefix"),tG=new Re("MatSuffix");let CI=(()=>{class t{constructor(e){this._elementRef=e,this.floating=!1}getWidth(){return function nG(t){if(null!==t.offsetParent)return t.scrollWidth;const e=t.cloneNode(!0);e.style.setProperty("position","absolute"),e.style.setProperty("transform","translate(-9999px, -9999px)"),document.documentElement.appendChild(e);const i=e.scrollWidth;return e.remove(),i}(this._elementRef.nativeElement)}get element(){return this._elementRef.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(Y(vt))},t.\u0275dir=Ke({type:t,selectors:[["label","matFormFieldFloatingLabel",""]],hostAttrs:[1,"mdc-floating-label","mat-mdc-floating-label"],hostVars:2,hostBindings:function(e,i){2&e&&nn("mdc-floating-label--float-above",i.floating)},inputs:{floating:"floating"}}),t})();const xI="mdc-line-ripple--active",Tg="mdc-line-ripple--deactivating";let kI=(()=>{class t{constructor(e,i){this._elementRef=e,this._handleTransitionEnd=o=>{const s=this._elementRef.nativeElement.classList,a=s.contains(Tg);"opacity"===o.propertyName&&a&&s.remove(xI,Tg)},i.runOutsideAngular(()=>{e.nativeElement.addEventListener("transitionend",this._handleTransitionEnd)})}activate(){const e=this._elementRef.nativeElement.classList;e.remove(Tg),e.add(xI)}deactivate(){this._elementRef.nativeElement.classList.add(Tg)}ngOnDestroy(){this._elementRef.nativeElement.removeEventListener("transitionend",this._handleTransitionEnd)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ft))},t.\u0275dir=Ke({type:t,selectors:[["div","matFormFieldLineRipple",""]],hostAttrs:[1,"mdc-line-ripple"]}),t})(),SI=(()=>{class t{constructor(e,i){this._elementRef=e,this._ngZone=i,this.labelWidth=0,this.open=!1}ngAfterViewInit(){const e=this._elementRef.nativeElement.querySelector(".mdc-floating-label");e?(this._elementRef.nativeElement.classList.add("mdc-notched-outline--upgraded"),"function"==typeof requestAnimationFrame&&(e.style.transitionDuration="0s",this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>e.style.transitionDuration="")}))):this._elementRef.nativeElement.classList.add("mdc-notched-outline--no-label")}_getNotchWidth(){return this.open?this.labelWidth>0?`calc(${this.labelWidth}px * var(--mat-mdc-form-field-floating-label-scale, 0.75) + 9px)`:"0px":null}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ft))},t.\u0275cmp=Ze({type:t,selectors:[["div","matFormFieldNotchedOutline",""]],hostAttrs:[1,"mdc-notched-outline"],hostVars:2,hostBindings:function(e,i){2&e&&nn("mdc-notched-outline--notched",i.open)},inputs:{labelWidth:["matFormFieldNotchedOutlineLabelWidth","labelWidth"],open:["matFormFieldNotchedOutlineOpen","open"]},attrs:T$,ngContentSelectors:L$,decls:4,vars:2,consts:[[1,"mdc-notched-outline__leading"],[1,"mdc-notched-outline__notch"],[1,"mdc-notched-outline__trailing"]],template:function(e,i){1&e&&(Ir(),xe(0,"div",0),D(1,"div",1),Sn(2),C(),xe(3,"div",2)),2&e&&(c(1),Pl("width",i._getNotchWidth()))},encapsulation:2,changeDetection:0}),t})();const iG={transitionMessages:ia("transitionMessages",[yo("enter",Qn({opacity:1,transform:"translateY(0%)"})),Pr("void => enter",[Qn({opacity:0,transform:"translateY(-5px)"}),Ur("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let O1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t}),t})();const A1=new Re("MatFormField"),rG=new Re("MAT_FORM_FIELD_DEFAULT_OPTIONS");let DI=0,ar=(()=>{class t{get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(e){this._hideRequiredMarker=_n(e)}get floatLabel(){return this._floatLabel||this._defaults?.floatLabel||"auto"}set floatLabel(e){e!==this._floatLabel&&(this._floatLabel=e,this._changeDetectorRef.markForCheck())}get appearance(){return this._appearance}set appearance(e){const i=this._appearance;this._appearance=e||this._defaults?.appearance||"fill","outline"===this._appearance&&this._appearance!==i&&(this._refreshOutlineNotchWidth(),this._needsOutlineLabelOffsetUpdateOnStable=!0)}get subscriptSizing(){return this._subscriptSizing||this._defaults?.subscriptSizing||"fixed"}set subscriptSizing(e){this._subscriptSizing=e||this._defaults?.subscriptSizing||"fixed"}get hintLabel(){return this._hintLabel}set hintLabel(e){this._hintLabel=e,this._processHints()}get _control(){return this._explicitFormFieldControl||this._formFieldControl}set _control(e){this._explicitFormFieldControl=e}constructor(e,i,o,s,a,l,d,_){this._elementRef=e,this._changeDetectorRef=i,this._ngZone=o,this._dir=s,this._platform=a,this._defaults=l,this._animationMode=d,this._document=_,this._hideRequiredMarker=!1,this.color="primary",this._appearance="fill",this._subscriptSizing=null,this._hintLabel="",this._hasIconPrefix=!1,this._hasTextPrefix=!1,this._hasIconSuffix=!1,this._hasTextSuffix=!1,this._labelId="mat-mdc-form-field-label-"+DI++,this._hintLabelId="mat-mdc-hint-"+DI++,this._subscriptAnimationState="",this._labelWidth=0,this._destroyed=new J,this._isFocused=null,this._needsOutlineLabelOffsetUpdateOnStable=!1,l&&(l.appearance&&(this.appearance=l.appearance),this._hideRequiredMarker=!!l?.hideRequiredMarker,l.color&&(this.color=l.color))}ngAfterViewInit(){this._updateFocusState(),this._refreshOutlineNotchWidth(),this._document?.fonts?.ready?this._document.fonts.ready.then(()=>{this._refreshOutlineNotchWidth(),this._changeDetectorRef.markForCheck()}):setTimeout(()=>this._refreshOutlineNotchWidth(),100),this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngAfterContentInit(){this._assertFormFieldControl(),this._initializeControl(),this._initializeSubscript(),this._initializePrefixAndSuffix(),this._initializeOutlineLabelOffsetSubscriptions()}ngAfterContentChecked(){this._assertFormFieldControl()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._textField||this._elementRef}_animateAndLockLabel(){this._hasFloatingLabel()&&(this.floatLabel="always")}_initializeControl(){const e=this._control;e.controlType&&this._elementRef.nativeElement.classList.add(`mat-mdc-form-field-type-${e.controlType}`),e.stateChanges.subscribe(()=>{this._updateFocusState(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),e.ngControl&&e.ngControl.valueChanges&&e.ngControl.valueChanges.pipe(Hn(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck())}_checkPrefixAndSuffixTypes(){this._hasIconPrefix=!!this._prefixChildren.find(e=>!e._isText),this._hasTextPrefix=!!this._prefixChildren.find(e=>e._isText),this._hasIconSuffix=!!this._suffixChildren.find(e=>!e._isText),this._hasTextSuffix=!!this._suffixChildren.find(e=>e._isText)}_initializePrefixAndSuffix(){this._checkPrefixAndSuffixTypes(),bt(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._checkPrefixAndSuffixTypes(),this._changeDetectorRef.markForCheck()})}_initializeSubscript(){this._hintChildren.changes.subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._validateHints(),this._syncDescribedByIds()}_assertFormFieldControl(){}_updateFocusState(){this._control.focused&&!this._isFocused?(this._isFocused=!0,this._lineRipple?.activate()):!this._control.focused&&(this._isFocused||null===this._isFocused)&&(this._isFocused=!1,this._lineRipple?.deactivate()),this._textField?.nativeElement.classList.toggle("mdc-text-field--focused",this._control.focused)}_initializeOutlineLabelOffsetSubscriptions(){this._prefixChildren.changes.subscribe(()=>this._needsOutlineLabelOffsetUpdateOnStable=!0),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(Hn(this._destroyed)).subscribe(()=>{this._needsOutlineLabelOffsetUpdateOnStable&&(this._needsOutlineLabelOffsetUpdateOnStable=!1,this._updateOutlineLabelOffset())})}),this._dir.change.pipe(Hn(this._destroyed)).subscribe(()=>this._needsOutlineLabelOffsetUpdateOnStable=!0)}_shouldAlwaysFloat(){return"always"===this.floatLabel}_hasOutline(){return"outline"===this.appearance}_forceDisplayInfixLabel(){return!this._platform.isBrowser&&this._prefixChildren.length&&!this._shouldLabelFloat()}_hasFloatingLabel(){return!!this._labelChildNonStatic||!!this._labelChildStatic}_shouldLabelFloat(){return this._control.shouldLabelFloat||this._shouldAlwaysFloat()}_shouldForward(e){const i=this._control?this._control.ngControl:null;return i&&i[e]}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_refreshOutlineNotchWidth(){!this._hasOutline()||!this._floatingLabel||(this._labelWidth=this._floatingLabel.getWidth())}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_syncDescribedByIds(){if(this._control){let e=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&e.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const i=this._hintChildren?this._hintChildren.find(s=>"start"===s.align):null,o=this._hintChildren?this._hintChildren.find(s=>"end"===s.align):null;i?e.push(i.id):this._hintLabel&&e.push(this._hintLabelId),o&&e.push(o.id)}else this._errorChildren&&e.push(...this._errorChildren.map(i=>i.id));this._control.setDescribedByIds(e)}}_updateOutlineLabelOffset(){if(!this._platform.isBrowser||!this._hasOutline()||!this._floatingLabel)return;const e=this._floatingLabel.element;if(!this._iconPrefixContainer&&!this._textPrefixContainer)return void(e.style.transform="");if(!this._isAttachedToDom())return void(this._needsOutlineLabelOffsetUpdateOnStable=!0);const i=this._iconPrefixContainer?.nativeElement,o=this._textPrefixContainer?.nativeElement,s=i?.getBoundingClientRect().width??0,a=o?.getBoundingClientRect().width??0;e.style.transform=`var(\n --mat-mdc-form-field-label-transform,\n translateY(-50%) translateX(calc(${"rtl"===this._dir.value?"-1":"1"} * (${s+a}px + var(--mat-mdc-form-field-label-offset-x, 0px))))\n )`}_isAttachedToDom(){const e=this._elementRef.nativeElement;if(e.getRootNode){const i=e.getRootNode();return i&&i!==e}return document.documentElement.contains(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(ft),Y(Do),Y(ui),Y(rG,8),Y(Ri,8),Y(It))},t.\u0275cmp=Ze({type:t,selectors:[["mat-form-field"]],contentQueries:function(e,i,o){if(1&e&&(or(o,yI,5),or(o,yI,7),or(o,O1,5),or(o,eG,5),or(o,tG,5),or(o,MI,5),or(o,wI,5)),2&e){let s;rt(s=ot())&&(i._labelChildNonStatic=s.first),rt(s=ot())&&(i._labelChildStatic=s.first),rt(s=ot())&&(i._formFieldControl=s.first),rt(s=ot())&&(i._prefixChildren=s),rt(s=ot())&&(i._suffixChildren=s),rt(s=ot())&&(i._errorChildren=s),rt(s=ot())&&(i._hintChildren=s)}},viewQuery:function(e,i){if(1&e&&(_t(E$,5),_t(I$,5),_t(P$,5),_t(CI,5),_t(SI,5),_t(kI,5)),2&e){let o;rt(o=ot())&&(i._textField=o.first),rt(o=ot())&&(i._iconPrefixContainer=o.first),rt(o=ot())&&(i._textPrefixContainer=o.first),rt(o=ot())&&(i._floatingLabel=o.first),rt(o=ot())&&(i._notchedOutline=o.first),rt(o=ot())&&(i._lineRipple=o.first)}},hostAttrs:[1,"mat-mdc-form-field"],hostVars:42,hostBindings:function(e,i){2&e&&nn("mat-mdc-form-field-label-always-float",i._shouldAlwaysFloat())("mat-mdc-form-field-has-icon-prefix",i._hasIconPrefix)("mat-mdc-form-field-has-icon-suffix",i._hasIconSuffix)("mat-form-field-invalid",i._control.errorState)("mat-form-field-disabled",i._control.disabled)("mat-form-field-autofilled",i._control.autofilled)("mat-form-field-no-animations","NoopAnimations"===i._animationMode)("mat-form-field-appearance-fill","fill"==i.appearance)("mat-form-field-appearance-outline","outline"==i.appearance)("mat-form-field-hide-placeholder",i._hasFloatingLabel()&&!i._shouldLabelFloat())("mat-focused",i._control.focused)("mat-primary","accent"!==i.color&&"warn"!==i.color)("mat-accent","accent"===i.color)("mat-warn","warn"===i.color)("ng-untouched",i._shouldForward("untouched"))("ng-touched",i._shouldForward("touched"))("ng-pristine",i._shouldForward("pristine"))("ng-dirty",i._shouldForward("dirty"))("ng-valid",i._shouldForward("valid"))("ng-invalid",i._shouldForward("invalid"))("ng-pending",i._shouldForward("pending"))},inputs:{hideRequiredMarker:"hideRequiredMarker",color:"color",floatLabel:"floatLabel",appearance:"appearance",subscriptSizing:"subscriptSizing",hintLabel:"hintLabel"},exportAs:["matFormField"],features:[un([{provide:A1,useExisting:t}])],ngContentSelectors:X$,decls:18,vars:23,consts:[["labelTemplate",""],[1,"mat-mdc-text-field-wrapper","mdc-text-field",3,"click"],["textField",""],["class","mat-mdc-form-field-focus-overlay",4,"ngIf"],[1,"mat-mdc-form-field-flex"],["matFormFieldNotchedOutline","",3,"matFormFieldNotchedOutlineOpen","matFormFieldNotchedOutlineLabelWidth",4,"ngIf"],["class","mat-mdc-form-field-icon-prefix",4,"ngIf"],["class","mat-mdc-form-field-text-prefix",4,"ngIf"],[1,"mat-mdc-form-field-infix"],[3,"ngIf"],["class","mat-mdc-form-field-text-suffix",4,"ngIf"],["class","mat-mdc-form-field-icon-suffix",4,"ngIf"],["matFormFieldLineRipple","",4,"ngIf"],[1,"mat-mdc-form-field-subscript-wrapper","mat-mdc-form-field-bottom-align",3,"ngSwitch"],["class","mat-mdc-form-field-error-wrapper",4,"ngSwitchCase"],["class","mat-mdc-form-field-hint-wrapper",4,"ngSwitchCase"],["matFormFieldFloatingLabel","",3,"floating","cdkObserveContentDisabled","id","cdkObserveContent",4,"ngIf"],["matFormFieldFloatingLabel","",3,"floating","cdkObserveContentDisabled","id","cdkObserveContent"],["aria-hidden","true","class","mat-mdc-form-field-required-marker mdc-floating-label--required",4,"ngIf"],["aria-hidden","true",1,"mat-mdc-form-field-required-marker","mdc-floating-label--required"],[1,"mat-mdc-form-field-focus-overlay"],["matFormFieldNotchedOutline","",3,"matFormFieldNotchedOutlineOpen","matFormFieldNotchedOutlineLabelWidth"],[3,"ngTemplateOutlet"],[1,"mat-mdc-form-field-icon-prefix"],["iconPrefixContainer",""],[1,"mat-mdc-form-field-text-prefix"],["textPrefixContainer",""],[1,"mat-mdc-form-field-text-suffix"],[1,"mat-mdc-form-field-icon-suffix"],["matFormFieldLineRipple",""],[1,"mat-mdc-form-field-error-wrapper"],[1,"mat-mdc-form-field-hint-wrapper"],[3,"id",4,"ngIf"],[1,"mat-mdc-form-field-hint-spacer"],[3,"id"]],template:function(e,i){1&e&&(Ir(Z$),V(0,F$,1,1,"ng-template",null,0,Es),D(2,"div",1,2),ye("click",function(s){return i._control.onContainerClick(s)}),V(4,R$,1,0,"div",3),D(5,"div",4),V(6,H$,2,3,"div",5),V(7,B$,3,0,"div",6),V(8,V$,3,0,"div",7),D(9,"div",8),V(10,z$,1,1,"ng-template",9),Sn(11),C(),V(12,U$,2,0,"div",10),V(13,W$,2,0,"div",11),C(),V(14,$$,1,0,"div",12),C(),D(15,"div",13),V(16,G$,2,1,"div",14),V(17,K$,5,2,"div",15),C()),2&e&&(c(2),nn("mdc-text-field--filled",!i._hasOutline())("mdc-text-field--outlined",i._hasOutline())("mdc-text-field--no-label",!i._hasFloatingLabel())("mdc-text-field--disabled",i._control.disabled)("mdc-text-field--invalid",i._control.errorState),c(2),w("ngIf",!i._hasOutline()&&!i._control.disabled),c(2),w("ngIf",i._hasOutline()),c(1),w("ngIf",i._hasIconPrefix),c(1),w("ngIf",i._hasTextPrefix),c(2),w("ngIf",!i._hasOutline()||i._forceDisplayInfixLabel()),c(2),w("ngIf",i._hasTextSuffix),c(1),w("ngIf",i._hasIconSuffix),c(1),w("ngIf",!i._hasOutline()),c(1),nn("mat-mdc-form-field-subscript-dynamic-size","dynamic"===i.subscriptSizing),w("ngSwitch",i._getDisplayedMessages()),c(1),w("ngSwitchCase","error"),c(1),w("ngSwitchCase","hint"))},dependencies:[Ft,hd,eh,my,dL,wI,CI,SI,kI],styles:['.mdc-text-field{border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:0;border-bottom-left-radius:0;display:inline-flex;align-items:baseline;padding:0 16px;position:relative;box-sizing:border-box;overflow:hidden;will-change:opacity,transform,color}.mdc-text-field .mdc-floating-label{top:50%;transform:translateY(-50%);pointer-events:none}.mdc-text-field__input{height:28px;width:100%;min-width:0;border:none;border-radius:0;background:none;appearance:none;padding:0}.mdc-text-field__input::-ms-clear{display:none}.mdc-text-field__input::-webkit-calendar-picker-indicator{display:none}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}@media all{.mdc-text-field__input::placeholder{opacity:0}}@media all{.mdc-text-field__input:-ms-input-placeholder{opacity:0}}@media all{.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{opacity:1}}@media all{.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{opacity:1}}.mdc-text-field__affix{height:28px;opacity:0;white-space:nowrap}.mdc-text-field--label-floating .mdc-text-field__affix,.mdc-text-field--no-label .mdc-text-field__affix{opacity:1}@supports(-webkit-hyphens: none){.mdc-text-field--outlined .mdc-text-field__affix{align-items:center;align-self:center;display:inline-flex;height:100%}}.mdc-text-field__affix--prefix{padding-left:0;padding-right:2px}[dir=rtl] .mdc-text-field__affix--prefix,.mdc-text-field__affix--prefix[dir=rtl]{padding-left:2px;padding-right:0}.mdc-text-field--end-aligned .mdc-text-field__affix--prefix{padding-left:0;padding-right:12px}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__affix--prefix,.mdc-text-field--end-aligned .mdc-text-field__affix--prefix[dir=rtl]{padding-left:12px;padding-right:0}.mdc-text-field__affix--suffix{padding-left:12px;padding-right:0}[dir=rtl] .mdc-text-field__affix--suffix,.mdc-text-field__affix--suffix[dir=rtl]{padding-left:0;padding-right:12px}.mdc-text-field--end-aligned .mdc-text-field__affix--suffix{padding-left:2px;padding-right:0}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__affix--suffix,.mdc-text-field--end-aligned .mdc-text-field__affix--suffix[dir=rtl]{padding-left:0;padding-right:2px}.mdc-text-field--filled{height:56px}.mdc-text-field--filled::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.mdc-text-field--filled .mdc-floating-label{left:16px;right:initial}[dir=rtl] .mdc-text-field--filled .mdc-floating-label,.mdc-text-field--filled .mdc-floating-label[dir=rtl]{left:initial;right:16px}.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{height:100%}.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label{display:none}.mdc-text-field--filled.mdc-text-field--no-label::before{display:none}@supports(-webkit-hyphens: none){.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__affix{align-items:center;align-self:center;display:inline-flex;height:100%}}.mdc-text-field--outlined{height:56px;overflow:visible}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1)}.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) scale(0.75)}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--outlined .mdc-text-field__input{height:100%}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--mdc-shape-small, 4px)}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-top-left-radius:0;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px, var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{max-width:calc(100% - max(12px, var(--mdc-shape-small, 4px))*2)}}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-top-left-radius:0;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--mdc-shape-small, 4px)}@supports(top: max(0%)){.mdc-text-field--outlined{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined{padding-right:max(16px, var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-right:max(16px, var(--mdc-shape-small, 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-left:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-right:max(16px, var(--mdc-shape-small, 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-right:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:max(16px, var(--mdc-shape-small, 4px))}}.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-right:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-right:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:1px}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:initial}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:4px}.mdc-text-field--outlined .mdc-text-field__input{display:flex;border:none !important;background-color:rgba(0,0,0,0)}.mdc-text-field--outlined .mdc-notched-outline{z-index:1}.mdc-text-field--textarea{flex-direction:column;align-items:center;width:auto;height:auto;padding:0}.mdc-text-field--textarea .mdc-floating-label{top:19px}.mdc-text-field--textarea .mdc-floating-label:not(.mdc-floating-label--float-above){transform:none}.mdc-text-field--textarea .mdc-text-field__input{flex-grow:1;height:auto;min-height:1.5rem;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;resize:none;padding:0 16px}.mdc-text-field--textarea.mdc-text-field--filled::before{display:none}.mdc-text-field--textarea.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-10.25px) scale(0.75)}.mdc-text-field--textarea.mdc-text-field--filled .mdc-text-field__input{margin-top:23px;margin-bottom:9px}.mdc-text-field--textarea.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{margin-top:16px;margin-bottom:16px}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-27.25px) scale(1)}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-24.75px) scale(0.75)}.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-text-field__input{margin-top:16px;margin-bottom:16px}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label{top:18px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field__input{margin-bottom:2px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter{align-self:flex-end;padding:0 16px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter::after{display:inline-block;width:0;height:16px;content:"";vertical-align:-16px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter::before{display:none}.mdc-text-field__resizer{align-self:stretch;display:inline-flex;flex-direction:column;flex-grow:1;max-height:100%;max-width:100%;min-height:56px;min-width:fit-content;min-width:-moz-available;min-width:-webkit-fill-available;overflow:hidden;resize:both}.mdc-text-field--filled .mdc-text-field__resizer{transform:translateY(-1px)}.mdc-text-field--filled .mdc-text-field__resizer .mdc-text-field__input,.mdc-text-field--filled .mdc-text-field__resizer .mdc-text-field-character-counter{transform:translateY(1px)}.mdc-text-field--outlined .mdc-text-field__resizer{transform:translateX(-1px) translateY(-1px)}[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer,.mdc-text-field--outlined .mdc-text-field__resizer[dir=rtl]{transform:translateX(1px) translateY(-1px)}.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input,.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter{transform:translateX(1px) translateY(1px)}[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input,[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter,.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input[dir=rtl],.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter[dir=rtl]{transform:translateX(-1px) translateY(1px)}.mdc-text-field--with-leading-icon{padding-left:0;padding-right:16px}[dir=rtl] .mdc-text-field--with-leading-icon,.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:16px;padding-right:0}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 48px);left:48px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label[dir=rtl]{left:initial;right:48px}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 64px / 0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label{left:36px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:36px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) translateX(-32px) scale(1)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-37.25px) translateX(32px) scale(1)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) translateX(-32px) scale(0.75)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-34.75px) translateX(32px) scale(0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--with-trailing-icon{padding-left:16px;padding-right:0}[dir=rtl] .mdc-text-field--with-trailing-icon,.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0;padding-right:16px}.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 64px)}.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 64px / 0.75)}.mdc-text-field--with-trailing-icon.mdc-text-field--outlined :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 96px)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 96px / 0.75)}.mdc-text-field-helper-line{display:flex;justify-content:space-between;box-sizing:border-box}.mdc-text-field+.mdc-text-field-helper-line{padding-right:16px;padding-left:16px}.mdc-form-field>.mdc-text-field+label{align-self:flex-start}.mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--focused .mdc-notched-outline__trailing{border-width:2px}.mdc-text-field--focused+.mdc-text-field-helper-line .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg){opacity:1}.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:2px}.mdc-text-field--focused.mdc-text-field--outlined.mdc-text-field--textarea .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0}.mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{opacity:1}.mdc-text-field--disabled{pointer-events:none}@media screen and (forced-colors: active){.mdc-text-field--disabled .mdc-text-field__input{background-color:Window}.mdc-text-field--disabled .mdc-floating-label{z-index:1}}.mdc-text-field--disabled .mdc-floating-label{cursor:default}.mdc-text-field--disabled.mdc-text-field--filled .mdc-text-field__ripple{display:none}.mdc-text-field--disabled .mdc-text-field__input{pointer-events:auto}.mdc-text-field--end-aligned .mdc-text-field__input{text-align:right}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__input,.mdc-text-field--end-aligned .mdc-text-field__input[dir=rtl]{text-align:left}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__input,[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__input,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix{direction:ltr}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--prefix{padding-left:0;padding-right:2px}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--suffix{padding-left:12px;padding-right:0}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__icon--leading,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__icon--leading{order:1}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--suffix{order:2}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__input,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__input{order:3}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--prefix{order:4}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__icon--trailing,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__icon--trailing{order:5}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__input,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__input{text-align:right}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__affix--prefix{padding-right:12px}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__affix--suffix{padding-left:2px}.mdc-floating-label{position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform}[dir=rtl] .mdc-floating-label,.mdc-floating-label[dir=rtl]{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.mdc-floating-label--float-above{cursor:auto}.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:1px;margin-right:0px;content:"*"}[dir=rtl] .mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after,.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)[dir=rtl]::after{margin-left:0;margin-right:1px}.mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline,.mdc-notched-outline[dir=rtl]{text-align:right}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{box-sizing:border-box;height:100%;pointer-events:none}.mdc-notched-outline__trailing{flex-grow:1}.mdc-notched-outline__notch{flex:0 0 auto;width:auto}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:133.3333333333%}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch,.mdc-notched-outline--notched .mdc-notched-outline__notch[dir=rtl]{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{border-top:1px solid;border-bottom:1px solid}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;width:12px}[dir=rtl] .mdc-notched-outline__leading,.mdc-notched-outline__leading[dir=rtl]{border-left:none;border-right:1px solid}.mdc-notched-outline__trailing{border-left:none;border-right:1px solid}[dir=rtl] .mdc-notched-outline__trailing,.mdc-notched-outline__trailing[dir=rtl]{border-left:1px solid;border-right:none}.mdc-notched-outline__notch{max-width:calc(100% - 12px * 2)}.mdc-line-ripple::before,.mdc-line-ripple::after{position:absolute;bottom:0;left:0;width:100%;border-bottom-style:solid;content:""}.mdc-line-ripple::before{z-index:1}.mdc-line-ripple::after{transform:scaleX(0);opacity:0;z-index:2}.mdc-line-ripple--active::after{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating::after{opacity:0}.mdc-line-ripple::before{border-bottom-width:1px}.mdc-line-ripple::after{border-bottom-width:2px}.mat-mdc-form-field-textarea-control{vertical-align:middle;resize:vertical;box-sizing:border-box;height:auto;margin:0;padding:0;border:none;overflow:auto}.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{font:inherit;letter-spacing:inherit;text-decoration:inherit;text-transform:inherit;border:none}.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label{line-height:normal;pointer-events:all}.mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input,.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control{height:auto}.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control.mdc-text-field__input[type=color]{height:23px}.mat-mdc-text-field-wrapper{height:auto;flex:auto}.mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-left:0;--mat-mdc-form-field-label-offset-x: -16px}.mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-right:0}[dir=rtl] .mat-mdc-text-field-wrapper{padding-left:16px;padding-right:16px}[dir=rtl] .mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-left:0}[dir=rtl] .mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-right:0}.mat-mdc-form-field-label-always-float .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}.mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .mat-mdc-floating-label{left:auto;right:auto}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input{display:inline-block}.mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field .mdc-notched-outline__notch{padding-top:0}.mat-mdc-text-field-wrapper::before{content:none}.mat-mdc-form-field-subscript-wrapper{box-sizing:border-box;width:100%;position:relative}.mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-error-wrapper{position:absolute;top:0;left:0;right:0;padding:0 16px}.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-error-wrapper{position:static}.mat-mdc-form-field-bottom-align::before{content:"";display:inline-block;height:16px}.mat-mdc-form-field-bottom-align.mat-mdc-form-field-subscript-dynamic-size::before{content:unset}.mat-mdc-form-field-hint-end{order:1}.mat-mdc-form-field-hint-wrapper{display:flex}.mat-mdc-form-field-hint-spacer{flex:1 0 1em}.mat-mdc-form-field-error{display:block}.mat-mdc-form-field-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;opacity:0;pointer-events:none}select.mat-mdc-form-field-input-control{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(0,0,0,0);display:inline-flex;box-sizing:border-box}select.mat-mdc-form-field-input-control:not(:disabled){cursor:pointer}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{content:"";width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;position:absolute;right:0;top:50%;margin-top:-2.5px;pointer-events:none}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{right:auto;left:0}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:15px}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:0;padding-left:15px}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-mdc-text-field-wrapper{outline:solid 1px}.cdk-high-contrast-active .mat-form-field-appearance-fill.mat-form-field-disabled .mat-mdc-text-field-wrapper{outline-color:GrayText}.cdk-high-contrast-active .mat-form-field-appearance-fill.mat-focused .mat-mdc-text-field-wrapper{outline:dashed 3px}.cdk-high-contrast-active .mat-mdc-form-field.mat-focused .mdc-notched-outline{border:dashed 3px}.mat-mdc-form-field-input-control[type=date],.mat-mdc-form-field-input-control[type=datetime],.mat-mdc-form-field-input-control[type=datetime-local],.mat-mdc-form-field-input-control[type=month],.mat-mdc-form-field-input-control[type=week],.mat-mdc-form-field-input-control[type=time]{line-height:1}.mat-mdc-form-field-input-control::-webkit-datetime-edit{line-height:1;padding:0;margin-bottom:-2px}.mat-mdc-form-field{--mat-mdc-form-field-floating-label-scale: 0.75;display:inline-flex;flex-direction:column;min-width:0;text-align:left}[dir=rtl] .mat-mdc-form-field{text-align:right}.mat-mdc-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-mdc-text-field-wrapper{width:100%}.mat-mdc-form-field-icon-prefix,.mat-mdc-form-field-icon-suffix{align-self:center;line-height:0;pointer-events:auto}.mat-mdc-form-field-icon-prefix,[dir=rtl] .mat-mdc-form-field-icon-suffix{padding:0 4px 0 0}.mat-mdc-form-field-icon-suffix,[dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 0 0 4px}.mat-mdc-form-field-icon-prefix>.mat-icon,.mat-mdc-form-field-icon-suffix>.mat-icon{padding:12px;box-sizing:content-box}.mat-mdc-form-field-subscript-wrapper .mat-icon,.mat-mdc-form-field label .mat-icon{width:1em;height:1em;font-size:inherit}.mat-mdc-form-field-infix{flex:auto;min-width:0;width:180px;position:relative;box-sizing:border-box}.mat-mdc-form-field .mdc-notched-outline__notch{margin-left:-1px;-webkit-clip-path:inset(-9em -999em -9em 1px);clip-path:inset(-9em -999em -9em 1px)}[dir=rtl] .mat-mdc-form-field .mdc-notched-outline__notch{margin-left:0;margin-right:-1px;-webkit-clip-path:inset(-9em 1px -9em -999em);clip-path:inset(-9em 1px -9em -999em)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input{transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}@media all{.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder{transition:opacity 67ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}}@media all{.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder{transition:opacity 67ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}}@media all{.mdc-text-field--no-label .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder,.mdc-text-field--focused .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms}}@media all{.mdc-text-field--no-label .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder{transition-delay:40ms;transition-duration:110ms}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__affix{transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--filled.mdc-ripple-upgraded--background-focused .mdc-text-field__ripple::before,.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before{transition-duration:75ms}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea{transition:none}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea.mdc-text-field--filled .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-textarea-filled 250ms 1}@keyframes mdc-floating-label-shake-float-above-textarea-filled{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-textarea-outlined 250ms 1}@keyframes mdc-floating-label-shake-float-above-textarea-outlined{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon{0%{transform:translateX(calc(0% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}100%{transform:translateX(calc(0% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}}[dir=rtl] .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake,.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined[dir=rtl] .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl{0%{transform:translateX(calc(0% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}100%{transform:translateX(calc(0% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-floating-label{transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-standard 250ms 1}@keyframes mdc-floating-label-shake-float-above-standard{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-line-ripple::after{transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}'],encapsulation:2,data:{animation:[iG.transitionMessages]},changeDetection:0}),t})(),Lg=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn,ta,j0,Wn]}),t})();const EI=Za({passive:!0});let aG=(()=>{class t{constructor(e,i){this._platform=e,this._ngZone=i,this._monitoredElements=new Map}monitor(e){if(!this._platform.isBrowser)return oa;const i=la(e),o=this._monitoredElements.get(i);if(o)return o.subject;const s=new J,a="cdk-text-field-autofilled",l=d=>{"cdk-text-field-autofill-start"!==d.animationName||i.classList.contains(a)?"cdk-text-field-autofill-end"===d.animationName&&i.classList.contains(a)&&(i.classList.remove(a),this._ngZone.run(()=>s.next({target:d.target,isAutofilled:!1}))):(i.classList.add(a),this._ngZone.run(()=>s.next({target:d.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{i.addEventListener("animationstart",l,EI),i.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(i,{subject:s,unlisten:()=>{i.removeEventListener("animationstart",l,EI)}}),s}stopMonitoring(e){const i=la(e),o=this._monitoredElements.get(i);o&&(o.unlisten(),o.subject.complete(),i.classList.remove("cdk-text-field-autofill-monitored"),i.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(i))}ngOnDestroy(){this._monitoredElements.forEach((e,i)=>this.stopMonitoring(i))}}return t.\u0275fac=function(e){return new(e||t)(we(ui),we(ft))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),lG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})();const cG=new Re("MAT_INPUT_VALUE_ACCESSOR"),dG=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let uG=0;const hG=EL(class{constructor(t,n,e,i){this._defaultErrorStateMatcher=t,this._parentForm=n,this._parentFormGroup=e,this.ngControl=i,this.stateChanges=new J}});let kr=(()=>{class t extends hG{get disabled(){return this._disabled}set disabled(e){this._disabled=_n(e),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(e){this._id=e||this._uid}get required(){return this._required??this.ngControl?.control?.hasValidator(Gt.required)??!1}set required(e){this._required=_n(e)}get type(){return this._type}set type(e){this._type=e||"text",this._validateType(),!this._isTextarea&&K2().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(e){e!==this.value&&(this._inputValueAccessor.value=e,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(e){this._readonly=_n(e)}constructor(e,i,o,s,a,l,d,_,E,F){super(l,s,a,o),this._elementRef=e,this._platform=i,this._autofillMonitor=_,this._formField=F,this._uid="mat-input-"+uG++,this.focused=!1,this.stateChanges=new J,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(_e=>K2().has(_e)),this._iOSKeyupListener=_e=>{const Ce=_e.target;!Ce.value&&0===Ce.selectionStart&&0===Ce.selectionEnd&&(Ce.setSelectionRange(1,1),Ce.setSelectionRange(0,0))};const G=this._elementRef.nativeElement,ie=G.nodeName.toLowerCase();this._inputValueAccessor=d||G,this._previousNativeValue=this.value,this.id=this.id,i.IOS&&E.runOutsideAngular(()=>{e.nativeElement.addEventListener("keyup",this._iOSKeyupListener)}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===ie,this._isTextarea="textarea"===ie,this._isInFormField=!!F,this._isNativeSelect&&(this.controlType=G.multiple?"mat-native-select-multiple":"mat-native-select")}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(e=>{this.autofilled=e.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._platform.IOS&&this._elementRef.nativeElement.removeEventListener("keyup",this._iOSKeyupListener)}ngDoCheck(){this.ngControl&&(this.updateErrorState(),null!==this.ngControl.disabled&&this.ngControl.disabled!==this.disabled&&(this.disabled=this.ngControl.disabled,this.stateChanges.next())),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(e){this._elementRef.nativeElement.focus(e)}_focusChanged(e){e!==this.focused&&(this.focused=e,this.stateChanges.next())}_onInput(){}_dirtyCheckNativeValue(){const e=this._elementRef.nativeElement.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this.stateChanges.next())}_dirtyCheckPlaceholder(){const e=this._getPlaceholder();if(e!==this._previousPlaceholder){const i=this._elementRef.nativeElement;this._previousPlaceholder=e,e?i.setAttribute("placeholder",e):i.removeAttribute("placeholder")}}_getPlaceholder(){return this.placeholder||null}_validateType(){dG.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let e=this._elementRef.nativeElement.validity;return e&&e.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const e=this._elementRef.nativeElement,i=e.options[0];return this.focused||e.multiple||!this.empty||!!(e.selectedIndex>-1&&i&&i.label)}return this.focused||!this.empty}setDescribedByIds(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){const e=this._elementRef.nativeElement;return this._isNativeSelect&&(e.multiple||e.size>1)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ui),Y(Rs,10),Y(Xh,8),Y(ii,8),Y(e1),Y(cG,10),Y(aG),Y(ft),Y(A1,8))},t.\u0275dir=Ke({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-mdc-input-element"],hostVars:18,hostBindings:function(e,i){1&e&&ye("focus",function(){return i._focusChanged(!0)})("blur",function(){return i._focusChanged(!1)})("input",function(){return i._onInput()}),2&e&&(Js("id",i.id)("disabled",i.disabled)("required",i.required),Xt("name",i.name||null)("readonly",i.readonly&&!i._isNativeSelect||null)("aria-invalid",i.empty&&i.required?null:i.errorState)("aria-required",i.required)("id",i.id),nn("mat-input-server",i._isServer)("mat-mdc-form-field-textarea-control",i._isInFormField&&i._isTextarea)("mat-mdc-form-field-input-control",i._isInFormField)("mdc-text-field__input",i._isInFormField)("mat-mdc-native-select-inline",i._isInlineSelect()))},inputs:{disabled:"disabled",id:"id",placeholder:"placeholder",name:"name",required:"required",type:"type",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly"},exportAs:["matInput"],features:[un([{provide:O1,useExisting:t}]),nt,Gi]}),t})(),fG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn,Lg,Lg,lG,Wn]}),t})();const pG=["tooltip"],II=new Re("mat-tooltip-scroll-strategy"),_G={provide:II,deps:[io],useFactory:function gG(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},vG=new Re("mat-tooltip-default-options",{providedIn:"root",factory:function bG(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}}),PI="tooltip-panel",OI=Za({passive:!0});let kG=(()=>{class t{get position(){return this._position}set position(e){e!==this._position&&(this._position=e,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(e){this._positionAtOrigin=_n(e),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(e){this._disabled=_n(e),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get showDelay(){return this._showDelay}set showDelay(e){this._showDelay=So(e)}get hideDelay(){return this._hideDelay}set hideDelay(e){this._hideDelay=So(e),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}get message(){return this._message}set message(e){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=e?String(e).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(e){this._tooltipClass=e,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}constructor(e,i,o,s,a,l,d,_,E,F,G,ie){this._overlay=e,this._elementRef=i,this._scrollDispatcher=o,this._viewContainerRef=s,this._ngZone=a,this._platform=l,this._ariaDescriber=d,this._focusMonitor=_,this._dir=F,this._defaultOptions=G,this._position="below",this._positionAtOrigin=!1,this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new J,this._scrollStrategy=E,this._document=ie,G&&(this._showDelay=G.showDelay,this._hideDelay=G.hideDelay,G.position&&(this.position=G.position),G.positionAtOrigin&&(this.positionAtOrigin=G.positionAtOrigin),G.touchGestures&&(this.touchGestures=G.touchGestures)),F.change.pipe(Hn(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(Hn(this._destroyed)).subscribe(e=>{e?"keyboard"===e&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const e=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([i,o])=>{e.removeEventListener(i,o,OI)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(e,this.message,"tooltip"),this._focusMonitor.stopMonitoring(e)}show(e=this.showDelay,i){if(this.disabled||!this.message||this._isTooltipVisible())return void this._tooltipInstance?._cancelPendingAnimations();const o=this._createOverlay(i);this._detach(),this._portal=this._portal||new Sd(this._tooltipComponent,this._viewContainerRef);const s=this._tooltipInstance=o.attach(this._portal).instance;s._triggerElement=this._elementRef.nativeElement,s._mouseLeaveHideDelay=this._hideDelay,s.afterHidden().pipe(Hn(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),s.show(e)}hide(e=this.hideDelay){const i=this._tooltipInstance;i&&(i.isVisible()?i.hide(e):(i._cancelPendingAnimations(),this._detach()))}toggle(e){this._isTooltipVisible()?this.hide():this.show(void 0,e)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(e){if(this._overlayRef){const s=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!e)&&s._origin instanceof vt)return this._overlayRef;this._detach()}const i=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),o=this._overlay.position().flexibleConnectedTo(this.positionAtOrigin&&e||this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(i);return o.positionChanges.pipe(Hn(this._destroyed)).subscribe(s=>{this._updateCurrentPositionClass(s.connectionPair),this._tooltipInstance&&s.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:o,panelClass:`${this._cssClassPrefix}-${PI}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(Hn(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(Hn(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe(Hn(this._destroyed)).subscribe(s=>{this._isTooltipVisible()&&27===s.keyCode&&!Fs(s)&&(s.preventDefault(),s.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(e){const i=e.getConfig().positionStrategy,o=this._getOrigin(),s=this._getOverlayPosition();i.withPositions([this._addOffset({...o.main,...s.main}),this._addOffset({...o.fallback,...s.fallback})])}_addOffset(e){return e}_getOrigin(){const e=!this._dir||"ltr"==this._dir.value,i=this.position;let o;"above"==i||"below"==i?o={originX:"center",originY:"above"==i?"top":"bottom"}:"before"==i||"left"==i&&e||"right"==i&&!e?o={originX:"start",originY:"center"}:("after"==i||"right"==i&&e||"left"==i&&!e)&&(o={originX:"end",originY:"center"});const{x:s,y:a}=this._invertPosition(o.originX,o.originY);return{main:o,fallback:{originX:s,originY:a}}}_getOverlayPosition(){const e=!this._dir||"ltr"==this._dir.value,i=this.position;let o;"above"==i?o={overlayX:"center",overlayY:"bottom"}:"below"==i?o={overlayX:"center",overlayY:"top"}:"before"==i||"left"==i&&e||"right"==i&&!e?o={overlayX:"end",overlayY:"center"}:("after"==i||"right"==i&&e||"left"==i&&!e)&&(o={overlayX:"start",overlayY:"center"});const{x:s,y:a}=this._invertPosition(o.overlayX,o.overlayY);return{main:o,fallback:{overlayX:s,overlayY:a}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(Kn(1),Hn(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(e){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=e,this._tooltipInstance._markForCheck())}_invertPosition(e,i){return"above"===this.position||"below"===this.position?"top"===i?i="bottom":"bottom"===i&&(i="top"):"end"===e?e="start":"start"===e&&(e="end"),{x:e,y:i}}_updateCurrentPositionClass(e){const{overlayY:i,originX:o,originY:s}=e;let a;if(a="center"===i?this._dir&&"rtl"===this._dir.value?"end"===o?"left":"right":"start"===o?"left":"right":"bottom"===i&&"top"===s?"above":"below",a!==this._currentPosition){const l=this._overlayRef;if(l){const d=`${this._cssClassPrefix}-${PI}-`;l.removePanelClass(d+this._currentPosition),l.addPanelClass(d+a)}this._currentPosition=a}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",e=>{let i;this._setupPointerExitEventsIfNeeded(),void 0!==e.x&&void 0!==e.y&&(i=e),this.show(void 0,i)}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",e=>{const i=e.targetTouches?.[0],o=i?{x:i.clientX,y:i.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(void 0,o),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const e=[];if(this._platformSupportsMouseEvents())e.push(["mouseleave",i=>{const o=i.relatedTarget;(!o||!this._overlayRef?.overlayElement.contains(o))&&this.hide()}],["wheel",i=>this._wheelListener(i)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const i=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};e.push(["touchend",i],["touchcancel",i])}this._addListeners(e),this._passiveListeners.push(...e)}_addListeners(e){e.forEach(([i,o])=>{this._elementRef.nativeElement.addEventListener(i,o,OI)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(e){if(this._isTooltipVisible()){const i=this._document.elementFromPoint(e.clientX,e.clientY),o=this._elementRef.nativeElement;i!==o&&!o.contains(i)&&this.hide()}}_disableNativeGesturesIfNecessary(){const e=this.touchGestures;if("off"!==e){const i=this._elementRef.nativeElement,o=i.style;("on"===e||"INPUT"!==i.nodeName&&"TEXTAREA"!==i.nodeName)&&(o.userSelect=o.msUserSelect=o.webkitUserSelect=o.MozUserSelect="none"),("on"===e||!i.draggable)&&(o.webkitUserDrag="none"),o.touchAction="none",o.webkitTapHighlightColor="transparent"}}}return t.\u0275fac=function(e){Aa()},t.\u0275dir=Ke({type:t,inputs:{position:["matTooltipPosition","position"],positionAtOrigin:["matTooltipPositionAtOrigin","positionAtOrigin"],disabled:["matTooltipDisabled","disabled"],showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),t})(),vi=(()=>{class t extends kG{constructor(e,i,o,s,a,l,d,_,E,F,G,ie){super(e,i,o,s,a,l,d,_,E,F,G,ie),this._tooltipComponent=DG,this._cssClassPrefix="mat-mdc",this._viewportMargin=8}_addOffset(e){const o=!this._dir||"ltr"==this._dir.value;return"top"===e.originY?e.offsetY=-8:"bottom"===e.originY?e.offsetY=8:"start"===e.originX?e.offsetX=o?-8:8:"end"===e.originX&&(e.offsetX=o?8:-8),e}}return t.\u0275fac=function(e){return new(e||t)(Y(io),Y(vt),Y(Z2),Y(rr),Y(ft),Y(ui),Y(_z),Y(Qa),Y(II),Y(Do,8),Y(vG,8),Y(It))},t.\u0275dir=Ke({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],exportAs:["matTooltip"],features:[nt]}),t})(),SG=(()=>{class t{constructor(e,i){this._changeDetectorRef=e,this._closeOnInteraction=!1,this._isVisible=!1,this._onHide=new J,this._animationsDisabled="NoopAnimations"===i}show(e){null!=this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},e)}hide(e){null!=this._showTimeoutId&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},e)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget:e}){(!e||!this._triggerElement.contains(e))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){}_handleAnimationEnd({animationName:e}){(e===this._showAnimation||e===this._hideAnimation)&&this._finalizeAnimation(e===this._showAnimation)}_cancelPendingAnimations(){null!=this._showTimeoutId&&clearTimeout(this._showTimeoutId),null!=this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(e){e?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(e){const i=this._tooltip.nativeElement,o=this._showAnimation,s=this._hideAnimation;if(i.classList.remove(e?s:o),i.classList.add(e?o:s),this._isVisible=e,e&&!this._animationsDisabled&&"function"==typeof getComputedStyle){const a=getComputedStyle(i);("0s"===a.getPropertyValue("animation-duration")||"none"===a.getPropertyValue("animation-name"))&&(this._animationsDisabled=!0)}e&&this._onShow(),this._animationsDisabled&&(i.classList.add("_mat-animation-noopable"),this._finalizeAnimation(e))}}return t.\u0275fac=function(e){return new(e||t)(Y(pi),Y(Ri,8))},t.\u0275dir=Ke({type:t}),t})(),DG=(()=>{class t extends SG{constructor(e,i,o){super(e,o),this._elementRef=i,this._isMultiline=!1,this._showAnimation="mat-mdc-tooltip-show",this._hideAnimation="mat-mdc-tooltip-hide"}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck()}_isTooltipMultiline(){const e=this._elementRef.nativeElement.getBoundingClientRect();return e.height>24&&e.width>=200}}return t.\u0275fac=function(e){return new(e||t)(Y(pi),Y(vt),Y(Ri,8))},t.\u0275cmp=Ze({type:t,selectors:[["mat-tooltip-component"]],viewQuery:function(e,i){if(1&e&&_t(pG,7),2&e){let o;rt(o=ot())&&(i._tooltip=o.first)}},hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(e,i){1&e&&ye("mouseleave",function(s){return i._handleMouseLeave(s)}),2&e&&Pl("zoom",i.isVisible()?1:null)},features:[nt],decls:4,vars:4,consts:[[1,"mdc-tooltip","mdc-tooltip--shown","mat-mdc-tooltip",3,"ngClass","animationend"],["tooltip",""],[1,"mdc-tooltip__surface","mdc-tooltip__surface-animation"]],template:function(e,i){1&e&&(D(0,"div",0,1),ye("animationend",function(s){return i._handleAnimationEnd(s)}),D(2,"div",2),I(3),C()()),2&e&&(nn("mdc-tooltip--multiline",i._isMultiline),w("ngClass",i.tooltipClass),c(3),se(i.message))},dependencies:[Nn],styles:['.mdc-tooltip__surface{word-break:var(--mdc-tooltip-word-break, normal);overflow-wrap:anywhere}.mdc-tooltip{position:fixed;display:none;z-index:9}.mdc-tooltip-wrapper--rich{position:relative}.mdc-tooltip--shown,.mdc-tooltip--showing,.mdc-tooltip--hide{display:inline-flex}.mdc-tooltip--shown.mdc-tooltip--rich,.mdc-tooltip--showing.mdc-tooltip--rich,.mdc-tooltip--hide.mdc-tooltip--rich{display:inline-block;left:-320px;position:absolute}.mdc-tooltip__surface{line-height:16px;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center}.mdc-tooltip__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-tooltip__surface::before{border-color:CanvasText}}.mdc-tooltip--rich .mdc-tooltip__surface{align-items:flex-start;display:flex;flex-direction:column;min-height:24px;min-width:40px;max-width:320px;position:relative}.mdc-tooltip--multiline .mdc-tooltip__surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mdc-tooltip__surface,.mdc-tooltip--multiline .mdc-tooltip__surface[dir=rtl]{text-align:right}.mdc-tooltip__surface .mdc-tooltip__title{margin:0 8px}.mdc-tooltip__surface .mdc-tooltip__content{max-width:calc(200px - (2 * 8px));margin:8px;text-align:left}[dir=rtl] .mdc-tooltip__surface .mdc-tooltip__content,.mdc-tooltip__surface .mdc-tooltip__content[dir=rtl]{text-align:right}.mdc-tooltip--rich .mdc-tooltip__surface .mdc-tooltip__content{max-width:calc(320px - (2 * 8px));align-self:stretch}.mdc-tooltip__surface .mdc-tooltip__content-link{text-decoration:none}.mdc-tooltip--rich-actions,.mdc-tooltip__content,.mdc-tooltip__title{z-index:1}.mdc-tooltip__surface-animation{opacity:0;transform:scale(0.8);will-change:transform,opacity}.mdc-tooltip--shown .mdc-tooltip__surface-animation{transform:scale(1);opacity:1}.mdc-tooltip--hide .mdc-tooltip__surface-animation{transform:scale(1)}.mdc-tooltip__caret-surface-top,.mdc-tooltip__caret-surface-bottom{position:absolute;height:24px;width:24px;transform:rotate(35deg) skewY(20deg) scaleX(0.9396926208)}.mdc-tooltip__caret-surface-top .mdc-elevation-overlay,.mdc-tooltip__caret-surface-bottom .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-tooltip__caret-surface-bottom{outline:1px solid rgba(0,0,0,0);z-index:-1}@media screen and (forced-colors: active){.mdc-tooltip__caret-surface-bottom{outline-color:CanvasText}}.mdc-tooltip__surface{background-color:var(--mdc-plain-tooltip-container-color, #fff)}.mdc-tooltip__surface{border-radius:var(--mdc-plain-tooltip-container-shape, var(--mdc-shape-small, 4px))}.mdc-tooltip__caret-surface-top,.mdc-tooltip__caret-surface-bottom{border-radius:var(--mdc-plain-tooltip-container-shape, var(--mdc-shape-small, 4px))}.mdc-tooltip__surface{color:var(--mdc-plain-tooltip-supporting-text-color, #000)}.mdc-tooltip__surface{font-family:var(--mdc-plain-tooltip-supporting-text-font, inherit);font-size:var(--mdc-plain-tooltip-supporting-text-size, inherit);font-weight:var(--mdc-plain-tooltip-supporting-text-weight, inherit);letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking, inherit)}.mat-mdc-tooltip{position:relative;transform:scale(0)}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards}'],encapsulation:2,changeDetection:0}),t})(),TG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[_G],imports:[X0,ta,Td,Wn,Wn,Lh]}),t})();const LG=["button1"],EG=["button2"];function IG(t,n){1&t&&xe(0,"mat-spinner",5),2&t&&w("diameter",z().loadingSize)}function PG(t,n){1&t&&(D(0,"mat-icon"),I(1,"error_outline"),C())}const OG=function(t){return{"for-dark-background":t}},AG=["*"];var Gr=(()=>((Gr=Gr||{})[Gr.Normal=0]="Normal",Gr[Gr.Error=1]="Error",Gr[Gr.Loading=2]="Loading",Gr))();let Ui=(()=>{class t{constructor(){this.forDarkBackground=!1,this.disabled=!1,this.color="",this.loadingSize=20,this.action=new ht,this.state=Gr.Normal,this.buttonStates=Gr}ngOnDestroy(){this.action.complete()}click(){this.disabled||(this.reset(),this.action.emit())}reset(e=!0){this.state=Gr.Normal,e&&(this.disabled=!1)}focus(){this.button1&&this.button1.focus(),this.button2&&this.button2.focus()}showEnabled(){this.disabled=!1}showDisabled(){this.disabled=!0}showLoading(e=!0){this.state=Gr.Loading,e&&(this.disabled=!0)}showError(e=!0){this.state=Gr.Error,e&&(this.disabled=!1)}get isLoading(){return this.state===Gr.Loading}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["app-button"]],viewQuery:function(e,i){if(1&e&&(_t(LG,5),_t(EG,5)),2&e){let o;rt(o=ot())&&(i.button1=o.first),rt(o=ot())&&(i.button2=o.first)}},inputs:{forDarkBackground:"forDarkBackground",disabled:"disabled",color:"color",loadingSize:"loadingSize"},outputs:{action:"action"},ngContentSelectors:AG,decls:6,vars:7,consts:[["mat-raised-button","",3,"disabled","color","ngClass","click"],["button2",""],[1,"d-flex"],[3,"diameter",4,"ngIf"],[4,"ngIf"],[3,"diameter"]],template:function(e,i){1&e&&(Ir(),D(0,"button",0,1),ye("click",function(){return i.click()}),D(2,"div",2),V(3,IG,1,1,"mat-spinner",3),V(4,PG,2,0,"mat-icon",4),Sn(5),C()()),2&e&&(w("disabled",i.disabled)("color",i.color)("ngClass",He(5,OG,i.forDarkBackground)),c(3),w("ngIf",i.state===i.buttonStates.Loading),c(1),w("ngIf",i.state===i.buttonStates.Error))},dependencies:[Nn,Ft,Wr,Cn,ec],styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], button[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}button[_ngcontent-%COMP%]{color:#f8f9f9;border-radius:10px}button[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}mat-icon[_ngcontent-%COMP%], mat-spinner[_ngcontent-%COMP%]{display:inline-block;margin-right:15px}.for-dark-background[_ngcontent-%COMP%]:disabled{background-color:#000!important;color:#fff!important;opacity:.3}"]}),t})();const FG=["button"],RG=["firstInput"],NG=function(t){return{"element-disabled":t}};function YG(t,n){if(1&t&&(D(0,"mat-form-field",12)(1,"div",5)(2,"label",6),I(3),R(4,"translate"),C(),xe(5,"input",13),C(),D(6,"mat-error")(7,"span"),I(8),R(9,"translate"),C()()()),2&t){const e=z();w("ngClass",He(7,NG,e.working)),c(3),se(H(4,3,"settings.password.old-password")),c(5),se(H(9,5,"settings.password.errors.old-password-required"))}}const HG=function(t){return{"rounded-elevated-box":t}},AI=function(t,n){return{"white-form-field":t,"element-disabled":n}},BG=function(t,n){return{"mt-2 app-button":t,"float-right":n}};let FI=(()=>{class t{constructor(e,i,o,s){this.authService=e,this.router=i,this.snackbarService=o,this.dialog=s,this.workingState=new ht,this.forInitialConfig=!1}ngOnInit(){this.form=new UE({oldPassword:new Dg("",this.forInitialConfig?null:Gt.required),newPassword:new Dg("",Gt.compose([Gt.required,Gt.minLength(6),Gt.maxLength(64)])),newPasswordConfirmation:new Dg("",[Gt.required,this.validatePasswords.bind(this)])}),this.formSubscription=this.form.controls.newPassword.valueChanges.subscribe(()=>this.form.controls.newPasswordConfirmation.updateValueAndValidity())}ngAfterViewInit(){this.forInitialConfig&&setTimeout(()=>this.firstInput.nativeElement.focus())}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe(),this.formSubscription.unsubscribe()}get working(){return!!this.button&&this.button.isLoading}changePassword(){this.form.valid&&!this.button.disabled&&(this.button.showLoading(),this.workingState.next(!0),this.subscription=this.forInitialConfig?this.authService.initialConfig(this.form.get("newPassword").value).subscribe(()=>{this.dialog.closeAll(),this.snackbarService.showDone("settings.password.initial-config.done"),this.workingState.next(!1)},e=>{this.button.showError(),e=en(e),this.snackbarService.showError(e,null,!0),this.workingState.next(!1)}):this.authService.changePassword(this.form.get("oldPassword").value,this.form.get("newPassword").value).subscribe(()=>{this.router.navigate(["nodes"]),this.snackbarService.showDone("settings.password.password-changed"),this.workingState.next(!1)},e=>{this.button.showError(),e=en(e),this.snackbarService.showError(e),this.workingState.next(!1)}))}validatePasswords(){return this.form&&this.form.get("newPassword").value!==this.form.get("newPasswordConfirmation").value?{invalid:!0}:null}}return t.\u0275fac=function(e){return new(e||t)(Y(Wh),Y(hn),Y(Dn),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-password"]],viewQuery:function(e,i){if(1&e&&(_t(FG,5),_t(RG,5)),2&e){let o;rt(o=ot())&&(i.button=o.first),rt(o=ot())&&(i.firstInput=o.first)}},inputs:{forInitialConfig:"forInitialConfig"},outputs:{workingState:"workingState"},decls:33,vars:40,consts:[[3,"ngClass"],[1,"box-internal-container","overflow"],[1,"help-icon",3,"inline","matTooltip"],[3,"formGroup"],["class","white-form-field",3,"ngClass",4,"ngIf"],[1,"field-container"],["for","remoteKey",1,"field-label"],["type","password","formControlName","newPassword","maxlength","64","matInput",""],["firstInput",""],["type","password","formControlName","newPasswordConfirmation","maxlength","64","matInput",""],["color","primary",3,"ngClass","disabled","forDarkBackground","action"],["button",""],[1,"white-form-field",3,"ngClass"],["type","password","formControlName","oldPassword","maxlength","64","matInput",""]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1)(2,"div")(3,"mat-icon",2),R(4,"translate"),I(5," help "),C()(),D(6,"form",3),V(7,YG,10,9,"mat-form-field",4),D(8,"mat-form-field",0)(9,"div",5)(10,"label",6),I(11),R(12,"translate"),C(),xe(13,"input",7,8),C(),D(15,"mat-error")(16,"span"),I(17),R(18,"translate"),C()()(),D(19,"mat-form-field",0)(20,"div",5)(21,"label",6),I(22),R(23,"translate"),C(),xe(24,"input",9),C(),D(25,"mat-error")(26,"span"),I(27),R(28,"translate"),C()()(),D(29,"app-button",10,11),ye("action",function(){return i.changePassword()}),I(31),R(32,"translate"),C()()()()),2&e&&(w("ngClass",He(29,HG,!i.forInitialConfig)),c(2),eo((i.forInitialConfig?"":"white-")+"form-help-icon-container"),c(1),w("inline",!0)("matTooltip",H(4,17,i.forInitialConfig?"settings.password.initial-config-help":"settings.password.help")),c(3),w("formGroup",i.form),c(1),w("ngIf",!i.forInitialConfig),c(1),w("ngClass",mn(31,AI,!i.forInitialConfig,i.working)),c(3),se(H(12,19,i.forInitialConfig?"settings.password.initial-config.password":"settings.password.new-password")),c(6),se(H(18,21,"settings.password.errors.new-password-error")),c(2),w("ngClass",mn(34,AI,!i.forInitialConfig,i.working)),c(3),se(H(23,23,i.forInitialConfig?"settings.password.initial-config.repeat-password":"settings.password.repeat-password")),c(5),se(H(28,25,"settings.password.errors.passwords-not-match")),c(2),w("ngClass",mn(37,BG,!i.forInitialConfig,i.forInitialConfig))("disabled",!i.form.valid)("forDarkBackground",!i.forInitialConfig),c(2),ce(" ",H(32,27,i.forInitialConfig?"settings.password.initial-config.set-password":"settings.change-password")," "))},dependencies:[Nn,Ft,zi,Bi,Vi,ji,Cr,ii,Ei,ar,sl,kr,Cn,vi,Ui,wt],styles:[".help-icon[_ngcontent-%COMP%]{display:inline}mat-form-field[_ngcontent-%COMP%]{margin-right:32px}app-button[_ngcontent-%COMP%]{float:right;margin-right:32px}"]}),t})();function VG(t,n){1&t&&(D(0,"button",5)(1,"mat-icon"),I(2,"close"),C()())}function jG(t,n){1&t&&Jo(0)}const RI=function(t){return{"content-margin":t}};function zG(t,n){if(1&t&&(D(0,"mat-dialog-content",6),V(1,jG,1,0,"ng-container",7),C()),2&t){const e=z(),i=ci(8);w("ngClass",He(2,RI,e.includeVerticalMargins)),c(1),w("ngTemplateOutlet",i)}}function UG(t,n){1&t&&Jo(0)}function WG(t,n){if(1&t&&(D(0,"div",6),V(1,UG,1,0,"ng-container",7),C()),2&t){const e=z(),i=ci(8);w("ngClass",He(2,RI,e.includeVerticalMargins)),c(1),w("ngTemplateOutlet",i)}}function $G(t,n){1&t&&Sn(0)}const GG=["*"];let ei=(()=>{class t{set dialog(e){e.disableClose=!0,this.dialogInternal=e}constructor(e){this.matDialog=e,this.includeScrollableArea=!0,this.includeVerticalMargins=!0}onKeyUp(){this.closePopup()}closePopup(){this.disableDismiss||this.matDialog.openDialogs[this.matDialog.openDialogs.length-1].id===this.dialogInternal.id&&this.dialogInternal.close()}}return t.\u0275fac=function(e){return new(e||t)(Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-dialog"]],hostBindings:function(e,i){1&e&&ye("keyup.esc",function(){return i.onKeyUp()},0,Vb)},inputs:{headline:"headline",disableDismiss:"disableDismiss",includeScrollableArea:"includeScrollableArea",includeVerticalMargins:"includeVerticalMargins",dialog:"dialog"},ngContentSelectors:GG,decls:9,vars:4,consts:[["mat-dialog-title","",1,"header"],["mat-dialog-close","","mat-icon-button","","class","grey-button-background",4,"ngIf"],[1,"header-separator"],[3,"ngClass",4,"ngIf"],["contentTemplate",""],["mat-dialog-close","","mat-icon-button","",1,"grey-button-background"],[3,"ngClass"],[4,"ngTemplateOutlet"]],template:function(e,i){1&e&&(Ir(),D(0,"div",0)(1,"span"),I(2),C(),V(3,VG,3,0,"button",1),C(),xe(4,"div",2),V(5,zG,2,4,"mat-dialog-content",3),V(6,WG,2,4,"div",3),V(7,$G,1,0,"ng-template",null,4,Es)),2&e&&(c(2),se(i.headline),c(1),w("ngIf",!i.disableDismiss),c(2),w("ngIf",i.includeScrollableArea),c(1),w("ngIf",!i.includeScrollableArea))},dependencies:[Nn,Ft,hd,CU,xU,r1,el,Cn],styles:['.cursor-pointer[_ngcontent-%COMP%], .header[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%], .header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}[_nghost-%COMP%]{color:#202226}.header[_ngcontent-%COMP%]{margin:-24px -24px 0;color:#215f9e;padding:0 14px 0 24px;font-size:1rem;text-transform:uppercase;font-weight:700;display:flex;align-items:center}.header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{flex-grow:1}@media (max-width: 767px){.header[_ngcontent-%COMP%]{padding:0 2px 0 24px}}.header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{line-height:1rem;margin:18px 0}.header[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%]{color:#a6b2b2;width:32px;height:32px;line-height:20px;margin-left:10px;padding:0}@media (max-width: 767px){.header[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%]{width:46px;height:46px}}.header-separator[_ngcontent-%COMP%]{height:1px;background-color:#215f9e33;margin-left:-12px;margin-right:-12px}.content-margin[_ngcontent-%COMP%]{padding-top:18px;padding-bottom:24px!important}']}),t})(),qG=(()=>{class t{static openDialog(e){const i=new En;return i.autoFocus=!1,i.width=Vt.smallModalWidth,e.open(t,i)}constructor(e){this.dialogRef=e,this.disableDismiss=!1}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn))},t.\u0275cmp=Ze({type:t,selectors:[["app-initial-setup"]],decls:3,vars:6,consts:[[3,"headline","dialog","disableDismiss"],[3,"forInitialConfig","workingState"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"app-password",1),ye("workingState",function(s){return i.disableDismiss=s}),C()()),2&e&&(w("headline",H(1,4,"settings.password.initial-config.title"))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(2),w("forInitialConfig",!0))},dependencies:[FI,ei,wt]}),t})();var F1=N(9774),Eg=N.n(F1);class R1{}class KG{}var ro=(()=>((ro=ro||{}).Connecting="connecting",ro.Unhealthy="unhealthy",ro.Healthy="healthy",ro))(),oo=(()=>((oo=oo||{}).UseCustomSettings="updaterUseCustomSettings",oo.Channel="updaterChannel",oo.Version="updaterVersion",oo.ArchiveURL="updaterArchiveURL",oo.ChecksumsURL="updaterChecksumsURL",oo))();let ua=(()=>{class t{constructor(e,i){this.apiService=e,this.storageService=i}getNodes(){let e=[];return this.apiService.get("visors-summary").pipe(ke(i=>{i&&i.forEach(d=>{const _=new R1;_.online=d.online,_.localPk=d.overview.local_pk,_.version=d.overview.build_info.version,_.autoconnectTransports=d.public_autoconnect,_.buildTag=d.build_tag?d.build_tag:"",_.rewardsAddress=d.reward_address,_.ip=d.overview&&d.overview.local_ip&&d.overview.local_ip.trim()?d.overview.local_ip:null;const E=this.storageService.getLabelInfo(_.localPk);if(_.label=E&&E.label?E.label:this.storageService.getDefaultLabel(_),!_.online)return _.dmsgServerPk="",_.roundTripPing="",void e.push(_);_.health={servicesHealth:d.health.services_health},_.dmsgServerPk=d.dmsg_stats.server_public_key,_.roundTripPing=this.nsToMs(d.dmsg_stats.round_trip),_.isHypervisor=d.is_hypervisor,e.push(_)});const o=new Map,s=[],a=[];e.forEach(d=>{o.set(d.localPk,d),d.online&&(s.push(d.localPk),a.push(d.ip))}),this.storageService.includeVisibleLocalNodes(s,a);const l=[];return this.storageService.getSavedLocalNodes().forEach(d=>{if(!o.has(d.publicKey)&&!d.hidden){const _=new R1;_.localPk=d.publicKey;const E=this.storageService.getLabelInfo(d.publicKey);_.label=E&&E.label?E.label:this.storageService.getDefaultLabel(_),_.online=!1,_.dmsgServerPk="",_.roundTripPing="",l.push(_)}o.has(d.publicKey)&&!o.get(d.publicKey).online&&d.hidden&&o.delete(d.publicKey)}),e=[],o.forEach(d=>e.push(d)),e=e.concat(l),e}))}nsToMs(e){let i=new(Eg())(e).dividedBy(1e6);return i=i.isLessThan(10)?i.decimalPlaces(2):i.decimalPlaces(0),i.toString(10)}getNode(e){return this.apiService.get(`visors/${e}/summary`).pipe(ke(i=>{const o=new R1;o.localPk=i.overview.local_pk,o.version=i.overview.build_info.version,o.secondsOnline=Math.floor(Number.parseFloat(i.uptime)),o.minHops=i.min_hops,o.buildTag=i.build_tag,o.skybianBuildVersion=i.skybian_build_version,o.isSymmeticNat=i.overview.is_symmetic_nat,o.publicIp=i.overview.public_ip,o.autoconnectTransports=i.public_autoconnect,o.rewardsAddress=i.reward_address,o.ip=i.overview.local_ip&&i.overview.local_ip.trim()?i.overview.local_ip:null;const s=this.storageService.getLabelInfo(o.localPk);o.label=s&&s.label?s.label:this.storageService.getDefaultLabel(o),o.health={servicesHealth:i.health.services_health},o.transports=[],i.overview.transports&&i.overview.transports.forEach(l=>{o.transports.push({id:l.id,localPk:l.local_pk,remotePk:l.remote_pk,type:l.type,recv:l.log.recv,sent:l.log.sent})}),o.persistentTransports=[],i.persistent_transports&&i.persistent_transports.forEach(l=>{o.persistentTransports.push({pk:l.pk,type:l.type})}),o.routes=[],i.routes&&i.routes.forEach(l=>{o.routes.push({key:l.key,rule:l.rule}),l.rule_summary&&(o.routes[o.routes.length-1].ruleSummary={keepAlive:l.rule_summary.keep_alive,ruleType:l.rule_summary.rule_type,keyRouteId:l.rule_summary.key_route_id},l.rule_summary.app_fields&&l.rule_summary.app_fields.route_descriptor&&(o.routes[o.routes.length-1].appFields={routeDescriptor:{dstPk:l.rule_summary.app_fields.route_descriptor.dst_pk,dstPort:l.rule_summary.app_fields.route_descriptor.dst_port,srcPk:l.rule_summary.app_fields.route_descriptor.src_pk,srcPort:l.rule_summary.app_fields.route_descriptor.src_port}}),l.rule_summary.forward_fields&&(o.routes[o.routes.length-1].forwardFields={nextRid:l.rule_summary.forward_fields.next_rid,nextTid:l.rule_summary.forward_fields.next_tid},l.rule_summary.forward_fields.route_descriptor&&(o.routes[o.routes.length-1].forwardFields.routeDescriptor={dstPk:l.rule_summary.forward_fields.route_descriptor.dst_pk,dstPort:l.rule_summary.forward_fields.route_descriptor.dst_port,srcPk:l.rule_summary.forward_fields.route_descriptor.src_pk,srcPort:l.rule_summary.forward_fields.route_descriptor.src_port})),l.rule_summary.intermediary_forward_fields&&(o.routes[o.routes.length-1].intermediaryForwardFields={nextRid:l.rule_summary.intermediary_forward_fields.next_rid,nextTid:l.rule_summary.intermediary_forward_fields.next_tid}))}),o.apps=[],i.overview.apps&&i.overview.apps.forEach(l=>{o.apps.push({name:l.name,status:l.status,port:l.port,autostart:l.auto_start,detailedStatus:l.detailed_status,args:l.args})});let a=!1;return i.dmsg_stats&&(o.dmsgServerPk=i.dmsg_stats.server_public_key,o.roundTripPing=this.nsToMs(i.dmsg_stats.round_trip),a=!0),a||(o.dmsgServerPk="-",o.roundTripPing="-1"),o}))}setRewardsAddress(e,i){return this.apiService.put(`visors/${e}/reward`,{reward_address:i})}getRewardsAddress(e){return this.apiService.get(`visors/${e}/reward`)}getRuntimeLogs(e){return this.apiService.get(`visors/${e}/runtime-logs`)}deleteRewardsAddress(e){return this.apiService.delete(`visors/${e}/reward`)}reboot(e){return this.apiService.post(`visors/${e}/restart`)}checkIfUpdating(e){return this.apiService.get(`visors/${e}/update/ws/running`)}checkUpdate(e){let i="stable";return i=localStorage.getItem(oo.Channel)||i,this.apiService.get(`visors/${e}/update/available/${i}`)}update(e){const i={channel:"stable"};if(localStorage.getItem(oo.UseCustomSettings)){const s=localStorage.getItem(oo.Channel);s&&(i.channel=s);const a=localStorage.getItem(oo.Version);a&&(i.version=a);const l=localStorage.getItem(oo.ArchiveURL);l&&(i.archive_url=l);const d=localStorage.getItem(oo.ChecksumsURL);d&&(i.checksums_url=d)}return this.apiService.ws(`visors/${e}/update/ws`,i)}}return t.\u0275fac=function(e){return new(e||t)(we(il),we(Ji))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class ZG{}let NI=(()=>{class t{constructor(e,i){this.storageService=e,this.nodeService=i,this.dataSubject=new Or(null),this.lastEmitedData=new ZG,this.firstCallToGetDataMade=!1,this.storageService.getRefreshTimeObservable().subscribe(o=>{this.dataRefreshDelay=1e3*o,this.forceRefresh()})}startRequestingData(){return this.firstCallToGetDataMade||this.getData(0),this.dataSubject.asObservable()}stopRequestingData(){this.updateSubscription&&(this.updateSubscription.unsubscribe(),this.firstCallToGetDataMade=!1)}getData(e){this.firstCallToGetDataMade=!0,this.updateSubscription&&this.updateSubscription.unsubscribe(),this.updateSubscription=$e(1).pipe(Ti(e),bi(()=>{this.lastEmitedData.updating=!0,this.dataSubject.next(this.lastEmitedData)}),Ti(120),Ye(()=>this.nodeService.getNodes())).subscribe(i=>{this.lastEmitedData={data:i,error:null,momentOfLastCorrectUpdate:Date.now(),updating:!1},this.dataSubject.next(this.lastEmitedData),this.getData(this.dataRefreshDelay)},i=>{i=en(i),this.lastEmitedData={data:this.lastEmitedData.data,error:i,momentOfLastCorrectUpdate:this.lastEmitedData.momentOfLastCorrectUpdate,updating:!1},this.dataSubject.next(this.lastEmitedData),this.getData(Vt.connectionRetryDelay)})}forceRefresh(){this.getData(0)}}return t.\u0275fac=function(e){return new(e||t)(we(Ji),we(ua))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function XG(t,n){if(1&t){const e=et();D(0,"button",3),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().closePopup(s))}),xe(1,"img",4),D(2,"div",5),I(3),C()()}if(2&t){const e=n.$implicit;c(1),w("src","assets/img/lang/"+e.iconName,Vo),c(2),se(e.name)}}let YI=(()=>{class t{static openDialog(e){const i=new En;return i.autoFocus=!1,i.width=Vt.mediumModalWidth,e.open(t,i)}constructor(e,i){this.dialogRef=e,this.languageService=i,this.languages=[]}ngOnInit(){this.subscription=this.languageService.languages.subscribe(e=>{this.languages=e})}ngOnDestroy(){this.subscription.unsubscribe()}closePopup(e=null){e&&this.languageService.changeLanguage(e.code),this.dialogRef.close()}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(gg))},t.\u0275cmp=Ze({type:t,selectors:[["app-select-language"]],decls:4,vars:5,consts:[[3,"headline","dialog"],[1,"options-container"],["mat-button","","color","accent","class","grey-button-background",3,"click",4,"ngFor","ngForOf"],["mat-button","","color","accent",1,"grey-button-background",3,"click"],[3,"src"],[1,"label"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1),V(3,XG,4,2,"button",2),C()()),2&e&&(w("headline",H(1,3,"language.title"))("dialog",i.dialogRef),c(3),w("ngForOf",i.languages))},dependencies:[gi,Wr,ei,wt],styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}.options-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:118px;height:auto!important;margin:20px;font-size:.7rem;line-height:unset;padding:0!important;color:unset}.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mdc-button__label{width:100%}@media (max-width: 767px){.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:90px;font-size:.6rem;margin:6px}}.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:64px;height:64px;margin:10px 0}@media (max-width: 767px){.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:48px;height:48px;margin:7px 0}}.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:#202226!important;background-color:#ffffff40;padding:4px 10px}@media (max-width: 767px){.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding:4px 5px}}"]}),t})();function JG(t,n){1&t&&xe(0,"img",2),2&t&&w("src","assets/img/lang/"+z().language.iconName,Vo)}let QG=(()=>{class t{constructor(e,i){this.languageService=e,this.dialog=i}ngOnInit(){this.subscription=this.languageService.currentLanguage.subscribe(e=>{this.language=e})}ngOnDestroy(){this.subscription.unsubscribe()}openLanguageWindow(){YI.openDialog(this.dialog)}}return t.\u0275fac=function(e){return new(e||t)(Y(gg),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-lang-button"]],decls:3,vars:4,consts:[["mat-button","",1,"lang-button","subtle-transparent-button",3,"matTooltip","click"],["class","flag",3,"src",4,"ngIf"],[1,"flag",3,"src"]],template:function(e,i){1&e&&(D(0,"button",0),ye("click",function(){return i.openLanguageWindow()}),R(1,"translate"),V(2,JG,1,1,"img",1),C()),2&e&&(w("matTooltip",H(1,2,"language.title")),c(2),w("ngIf",i.language))},dependencies:[Ft,Wr,vi,wt],styles:[".lang-button[_ngcontent-%COMP%]{height:40px;background-color:#f8f9f9;border-radius:100%;padding:0;line-height:1;padding:0!important}.lang-button[_ngcontent-%COMP%] .flag[_ngcontent-%COMP%]{width:20px;height:20px}"]}),t})();const eq=function(t){return{"element-disabled":t}};let HI=(()=>{class t extends er{constructor(e,i,o,s,a,l){super(),this.authService=e,this.router=i,this.snackbarService=o,this.dialog=s,this.route=a,this.multipleNodeDataService=l,this.loading=!1,this.isForVpn=!1,this.vpnKey=""}ngOnInit(){return this.multipleNodeDataService.stopRequestingData(),this.routeSubscription=this.route.paramMap.subscribe(e=>{this.vpnKey=e.get("key"),this.isForVpn=-1!==window.location.href.indexOf("vpnlogin"),this.verificationSubscription=this.authService.checkLogin().subscribe(i=>{i!==Fr.NotLogged&&(g1.currentInstance.processLoginDone(),setTimeout(()=>{this.router.navigate(this.isForVpn?["vpn",this.vpnKey,"status"]:["nodes"],{replaceUrl:!0})},5))})}),this.form=new UE({password:new Dg("",Gt.required)}),super.ngOnInit()}ngOnDestroy(){this.loginSubscription&&this.loginSubscription.unsubscribe(),this.verificationSubscription.unsubscribe(),this.routeSubscription.unsubscribe()}login(){!this.form.valid||this.loading||(this.loading=!0,this.loginSubscription=this.authService.login(this.form.get("password").value).subscribe(()=>this.onLoginSuccess(),e=>this.onLoginError(e)))}configure(){qG.openDialog(this.dialog)}onLoginSuccess(){g1.currentInstance.processLoginDone(),setTimeout(()=>{this.router.navigate(this.isForVpn?["vpn",this.vpnKey,"status"]:["nodes"],{replaceUrl:!0})})}onLoginError(e){e=en(e),this.loading=!1,this.snackbarService.showError(e.originalError&&401===e.originalError.status?"login.incorrect-password":e.translatableErrorMsg)}}return t.\u0275fac=function(e){return new(e||t)(Y(Wh),Y(hn),Y(Dn),Y(In),Y(Mr),Y(NI))},t.\u0275cmp=Ze({type:t,selectors:[["app-login"]],features:[nt],decls:14,vars:11,consts:[[1,"w-100","h-100","d-flex","justify-content-center"],[1,"row","main-container"],["src","/assets/img/logo-v.png",1,"logo"],[1,"mt-5",3,"formGroup"],[1,"login-input",3,"ngClass"],["type","password","formControlName","password","autocomplete","off",3,"placeholder","keydown.enter"],[3,"disabled","click"],[1,"config-link",3,"click"]],template:function(e,i){1&e&&(D(0,"div",0),xe(1,"app-lang-button"),D(2,"div",1),xe(3,"img",2),D(4,"form",3)(5,"div",4)(6,"input",5),ye("keydown.enter",function(){return i.login()}),R(7,"translate"),C(),D(8,"button",6),ye("click",function(){return i.login()}),D(9,"mat-icon"),I(10,"chevron_right"),C()()()(),D(11,"div",7),ye("click",function(){return i.configure()}),I(12),R(13,"translate"),C()()()),2&e&&(c(4),w("formGroup",i.form),c(1),w("ngClass",He(9,eq,i.loading)),c(1),w("placeholder",H(7,5,"login.password")),c(2),w("disabled",!i.form.valid||i.loading),c(4),se(H(13,7,"login.initial-config")))},dependencies:[Nn,zi,Bi,Vi,ji,ii,Ei,Cn,QG,wt],styles:['.cursor-pointer[_ngcontent-%COMP%], .config-link[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}app-lang-button[_ngcontent-%COMP%]{position:fixed;right:10px;top:10px;z-index:10}.main-container[_ngcontent-%COMP%]{z-index:1;height:100%;flex-direction:column;align-items:center;justify-content:center}.logo[_ngcontent-%COMP%]{width:170px}.login-input[_ngcontent-%COMP%]{height:35px;width:300px;overflow:hidden;border-radius:10px;box-shadow:0 3px 8px #0000001a,0 6px 20px #0000001a;display:flex}.login-input[_ngcontent-%COMP%] input[type=password][_ngcontent-%COMP%]{background:#fff;width:calc(100% - 35px);height:100%;font-size:.875rem;border:none;padding-left:10px;padding-right:10px}.login-input[_ngcontent-%COMP%] input[type=password][_ngcontent-%COMP%]:focus{outline:none}.login-input[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:#fff;color:#202226;width:35px;height:35px;line-height:35px;border:none;display:flex;cursor:pointer;align-items:center}.login-input[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{color:#777}.config-link[_ngcontent-%COMP%]{color:#f8f9f9;font-size:.7rem;margin-top:20px}']}),t})();const tq=["firstInput"];let N1=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o,s,a){this.dialogRef=e,this.data=i,this.formBuilder=o,this.storageService=s,this.snackbarService=a}ngOnInit(){this.form=this.formBuilder.group({label:[this.data.label]})}ngAfterViewInit(){setTimeout(()=>this.firstInput.nativeElement.focus())}save(){const e=this.form.get("label").value.trim();e!==this.data.label?(this.storageService.saveLabel(this.data.id,e,this.data.identifiedElementType),e?this.snackbarService.showDone("edit-label.done"):this.snackbarService.showWarning("edit-label.label-removed-warning"),this.dialogRef.close(!0)):this.dialogRef.close()}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(xr),Y(Ji),Y(Dn))},t.\u0275cmp=Ze({type:t,selectors:[["app-edit-label"]],viewQuery:function(e,i){if(1&e&&_t(tq,5),2&e){let o;rt(o=ot())&&(i.firstInput=o.first)}},decls:13,vars:11,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","label","maxlength","66","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"action"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6),ye("action",function(){return i.save()}),I(11),R(12,"translate"),C()()),2&e&&(w("headline",H(1,5,"labeled-element.edit-label"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(4),se(H(7,7,"edit-label.label")),c(5),se(H(12,9,"common.save")))},dependencies:[zi,Bi,Vi,ji,Cr,ii,Ei,ar,kr,Ui,ei,wt]}),t})();const nq=["cancelButton"],iq=["confirmButton"];function rq(t,n){if(1&t&&(D(0,"div"),I(1),R(2,"translate"),C()),2&t){const e=n.$implicit;c(1),ce(" - ",H(2,1,e)," ")}}function oq(t,n){if(1&t&&(D(0,"div",8),V(1,rq,3,3,"div",9),C()),2&t){const e=z();c(1),w("ngForOf",e.state!==e.confirmationStates.Done?e.data.list:e.doneList)}}function sq(t,n){if(1&t&&(D(0,"div",1),I(1),R(2,"translate"),C()),2&t){const e=z();c(1),ce(" ",H(2,1,e.data.lowerText)," ")}}function aq(t,n){if(1&t){const e=et();D(0,"app-button",10,11),ye("action",function(){return Pe(e),Oe(z().closeModal())}),I(2),R(3,"translate"),C()}if(2&t){const e=z();c(2),ce(" ",H(3,1,e.data.cancelButtonText)," ")}}var cs=(()=>((cs=cs||{}).Asking="Asking",cs.Processing="Processing",cs.Done="Done",cs))();let lq=(()=>{class t{constructor(e,i){this.dialogRef=e,this.data=i,this.disableDismiss=!1,this.state=cs.Asking,this.confirmationStates=cs,this.operationAccepted=new ht,this.disableDismiss=!!i.disableDismiss,this.dialogRef.disableClose=this.disableDismiss}ngAfterViewInit(){this.data.cancelButtonText?setTimeout(()=>this.cancelButton.focus()):setTimeout(()=>this.confirmButton.focus())}ngOnDestroy(){this.operationAccepted.complete()}closeModal(){this.dialogRef.close()}sendOperationAcceptedEvent(){this.operationAccepted.emit()}showAsking(e){e&&(this.data=e),this.state=cs.Asking,this.confirmButton.reset(),this.disableDismiss=!1,this.dialogRef.disableClose=this.disableDismiss,this.cancelButton&&this.cancelButton.showEnabled()}showProcessing(){this.state=cs.Processing,this.disableDismiss=!0,this.confirmButton.showLoading(),this.cancelButton&&this.cancelButton.showDisabled()}showDone(e,i,o=null){this.doneTitle=e||this.data.headerText,this.doneText=i,this.doneList=o,this.confirmButton.reset(),setTimeout(()=>this.confirmButton.focus()),this.state=cs.Done,this.dialogRef.disableClose=!1,this.disableDismiss=!1}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li))},t.\u0275cmp=Ze({type:t,selectors:[["app-confirmation"]],viewQuery:function(e,i){if(1&e&&(_t(nq,5),_t(iq,5)),2&e){let o;rt(o=ot())&&(i.cancelButton=o.first),rt(o=ot())&&(i.confirmButton=o.first)}},outputs:{operationAccepted:"operationAccepted"},decls:13,vars:14,consts:[[3,"headline","dialog","disableDismiss"],[1,"text-container"],["class","list-container",4,"ngIf"],["class","text-container",4,"ngIf"],[1,"buttons"],["color","accent",3,"action",4,"ngIf"],["color","primary",3,"action"],["confirmButton",""],[1,"list-container"],[4,"ngFor","ngForOf"],["color","accent",3,"action"],["cancelButton",""]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1),I(3),R(4,"translate"),C(),V(5,oq,2,1,"div",2),V(6,sq,3,3,"div",3),D(7,"div",4),V(8,aq,4,3,"app-button",5),D(9,"app-button",6,7),ye("action",function(){return i.state===i.confirmationStates.Asking?i.sendOperationAcceptedEvent():i.closeModal()}),I(11),R(12,"translate"),C()()()),2&e&&(w("headline",H(1,8,i.state!==i.confirmationStates.Done?i.data.headerText:i.doneTitle))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(3),ce(" ",H(4,10,i.state!==i.confirmationStates.Done?i.data.text:i.doneText)," "),c(2),w("ngIf",i.data.list&&i.state!==i.confirmationStates.Done||i.doneList&&i.state===i.confirmationStates.Done),c(1),w("ngIf",i.data.lowerText&&i.state!==i.confirmationStates.Done),c(2),w("ngIf",i.data.cancelButtonText&&i.state!==i.confirmationStates.Done),c(3),ce(" ",H(12,12,i.state!==i.confirmationStates.Done?i.data.confirmButtonText:"confirmation.close")," "))},dependencies:[gi,Ft,Ui,ei,wt],styles:[".text-container[_ngcontent-%COMP%]{word-break:break-word}.list-container[_ngcontent-%COMP%]{font-size:14px;margin:10px;color:#215f9e;word-break:break-word}.buttons[_ngcontent-%COMP%]{margin-top:15px;text-align:right}.buttons[_ngcontent-%COMP%] app-button[_ngcontent-%COMP%]{margin-left:5px}"]}),t})();class Jt{static createConfirmationDialog(n,e){const i={text:e,headerText:"confirmation.header-text",confirmButtonText:"confirmation.confirm-button",cancelButtonText:"confirmation.cancel-button",disableDismiss:!1},o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,n.open(lq,o)}static checkIfTagIsUpdatable(n){return!(null==n||n.toUpperCase()==="Windows".toUpperCase()||n.toUpperCase()==="Win".toUpperCase()||n.toUpperCase()==="Mac".toUpperCase()||n.toUpperCase()==="Macos".toUpperCase()||n.toUpperCase()==="Mac OS".toUpperCase()||n.toUpperCase()==="Darwin".toUpperCase())}static checkIfTagCanOpenterminal(n){return!(null==n||n.toUpperCase()==="Windows".toUpperCase()||n.toUpperCase()==="Win".toUpperCase())}static checkIfIpValidOrEmpty(n){if(!n)return!0;const e=n.split(".");if(4!==e.length)return!1;for(const i of e){const o=Number.parseInt(i,10);if(isNaN(o)||o+""!==i||o<0||o>255)return!1}return!0}}function cq(t,n){if(1&t&&(D(0,"mat-icon",6),I(1),C()),2&t){const e=z().$implicit;w("inline",!0),c(1),se(e.icon)}}function dq(t,n){if(1&t){const e=et();D(0,"div",2)(1,"button",3),ye("click",function(){const s=Pe(e).index;return Oe(z().closePopup(s+1))}),D(2,"div",4),V(3,cq,2,2,"mat-icon",5),D(4,"span"),I(5),R(6,"translate"),C()()()()}if(2&t){const e=n.$implicit;c(3),w("ngIf",e.icon),c(2),se(H(6,2,e.label))}}let qr=(()=>{class t{static openDialog(e,i,o){const s=new En;return s.data={options:i,title:o},s.autoFocus=!1,s.width=Vt.smallModalWidth,e.open(t,s)}constructor(e,i){this.data=e,this.dialogRef=i}closePopup(e){this.dialogRef.close(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn))},t.\u0275cmp=Ze({type:t,selectors:[["app-select-option"]],decls:3,vars:6,consts:[[3,"headline","dialog","includeVerticalMargins"],["class","options-list-button-container",4,"ngFor","ngForOf"],[1,"options-list-button-container"],["mat-button","",1,"grey-button-background",3,"click"],[1,"internal-container"],["class","icon",3,"inline",4,"ngIf"],[1,"icon",3,"inline"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),V(2,dq,7,4,"div",1),C()),2&e&&(w("headline",H(1,4,i.data.title))("dialog",i.dialogRef)("includeVerticalMargins",!1),c(2),w("ngForOf",i.data.options))},dependencies:[gi,Ft,Wr,Cn,ei,wt],styles:[".icon[_ngcontent-%COMP%]{font-size:14px;width:14px;line-height:1}.grey-button-background[_ngcontent-%COMP%]{justify-content:left!important;min-height:45px}"]}),t})();var $n=(()=>(($n=$n||{}).TextInput="TextInput",$n.Select="Select",$n))();let ef=(()=>{class t{constructor(e){this.dom=e}copy(e){let i=null,o=!1;try{i=this.dom.createElement("textarea"),i.style.height="0px",i.style.left="-100px",i.style.opacity="0",i.style.position="fixed",i.style.top="-100px",i.style.width="0px",this.dom.body.appendChild(i),i.value=e,i.select(),this.dom.execCommand("copy"),o=!0}finally{i&&i.parentNode&&i.parentNode.removeChild(i)}return o}}return t.\u0275fac=function(e){return new(e||t)(we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();function fq(t,n){if(1&t&&(Ue(0),D(1,"span",2),I(2),C(),We()),2&t){const e=z();c(2),se(e.shortText)}}function pq(t,n){if(1&t&&(Ue(0),D(1,"span"),I(2),C(),We()),2&t){const e=z();c(2),se(e.text)}}const mq=function(){return{"tooltip-word-break":!0}};let BI=(()=>{class t{constructor(){this.short=!1,this.showTooltip=!0,this.shortTextLength=5}get shortText(){if(this.text.length>2*this.shortTextLength){const e=this.text.length;return`${this.text.slice(0,this.shortTextLength)}...${this.text.slice(e-this.shortTextLength,e)}`}return this.text}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["app-truncated-text"]],inputs:{short:"short",showTooltip:"showTooltip",text:"text",shortTextLength:"shortTextLength"},decls:3,vars:5,consts:[[1,"wrapper",3,"matTooltip","matTooltipClass"],[4,"ngIf"],[1,"nowrap"]],template:function(e,i){1&e&&(D(0,"div",0),V(1,fq,3,1,"ng-container",1),V(2,pq,3,1,"ng-container",1),C()),2&e&&(w("matTooltip",i.short&&i.showTooltip?i.text:"")("matTooltipClass",qn(4,mq)),c(1),w("ngIf",i.short),c(1),w("ngIf",!i.short))},dependencies:[Ft,vi],styles:['.cursor-pointer[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%], .wrapper[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}.nowrap[_ngcontent-%COMP%]{white-space:nowrap}.wrapper[_ngcontent-%COMP%]{display:inline}']}),t})();function gq(t,n){if(1&t&&(D(0,"span"),I(1),R(2,"translate"),C()),2&t){const e=z();c(1),ce(" ",H(2,1,e.labelComponents.prefix)," ")}}function _q(t,n){if(1&t&&(D(0,"span"),I(1),C()),2&t){const e=z();c(1),ce(" ",e.labelComponents.prefixSeparator," ")}}function bq(t,n){if(1&t&&(D(0,"span"),I(1),C()),2&t){const e=z();c(1),ce(" ",e.labelComponents.label," ")}}function vq(t,n){if(1&t&&(D(0,"span"),I(1),R(2,"translate"),C()),2&t){const e=z();c(1),ce(" ",H(2,1,e.labelComponents.translatableLabel)," ")}}const yq=function(t){return{text:t}},Mq=function(){return{"tooltip-word-break":!0}};class wq{constructor(){this.prefix="",this.prefixSeparator="",this.label="",this.translatableLabel=""}}let ha=(()=>{class t{set id(e){this.idInternal=e,this.labelComponents=t.getLabelComponents(this.storageService,this.id)}get id(){return this.idInternal?this.idInternal:""}static getLabelComponents(e,i){let o;o=!!e.getSavedVisibleLocalNodes().has(i);const s=new wq;return s.labelInfo=e.getLabelInfo(i),s.labelInfo&&s.labelInfo.label?(o&&(s.prefix="labeled-element.local-element",s.prefixSeparator=" - "),s.label=s.labelInfo.label):e.getSavedVisibleLocalNodes().has(i)?s.prefix="labeled-element.unnamed-local-visor":s.translatableLabel="labeled-element.unnamed-element",s}static getCompleteLabel(e,i,o){const s=t.getLabelComponents(e,o);return(s.prefix?i.instant(s.prefix):"")+s.prefixSeparator+s.label+(s.translatableLabel?i.instant(s.translatableLabel):"")}constructor(e,i,o,s,a){this.dialog=e,this.storageService=i,this.clipboardService=o,this.snackbarService=s,this.router=a,this.short=!1,this.shortTextLength=5,this.elementType=Xi.Node,this.labelEdited=new ht}ngOnDestroy(){this.labelEdited.complete()}processClick(){const e=[{icon:"filter_none",label:"labeled-element.copy"},{icon:"edit",label:"labeled-element.edit-label"}];this.labelComponents.labelInfo&&e.push({icon:"close",label:"labeled-element.remove-label"}),e.push({icon:"settings",label:"labeled-element.go-to-settings"}),qr.openDialog(this.dialog,e,"common.options").afterClosed().subscribe(i=>{if(1===i)this.clipboardService.copy(this.id)&&this.snackbarService.showDone("copy.copied");else if(i>2)if(3===i&&this.labelComponents.labelInfo){const o=Jt.createConfirmationDialog(this.dialog,"labeled-element.remove-label-confirmation");o.componentInstance.operationAccepted.subscribe(()=>{o.componentInstance.closeModal(),this.storageService.saveLabel(this.id,null,this.elementType),this.snackbarService.showDone("edit-label.label-removed-warning"),this.labelEdited.emit()})}else this.router.navigate(["/settings"]);else if(2===i){let o=this.labelComponents.labelInfo;o||(o={id:this.id,label:"",identifiedElementType:this.elementType}),N1.openDialog(this.dialog,o).afterClosed().subscribe(s=>{s&&this.labelEdited.emit()})}})}}return t.\u0275fac=function(e){return new(e||t)(Y(In),Y(Ji),Y(ef),Y(Dn),Y(hn))},t.\u0275cmp=Ze({type:t,selectors:[["app-labeled-element-text"]],inputs:{id:"id",short:"short",shortTextLength:"shortTextLength",elementType:"elementType"},outputs:{labelEdited:"labelEdited"},decls:12,vars:17,consts:[[1,"wrapper","highlight-internal-icon",3,"matTooltip","matTooltipClass","click"],[1,"label"],[4,"ngIf"],[3,"short","showTooltip","shortTextLength","text"],[3,"inline"]],template:function(e,i){1&e&&(D(0,"div",0),ye("click",function(s){return s.stopPropagation(),s.preventDefault(),i.processClick()}),R(1,"translate"),D(2,"span",1),V(3,gq,3,3,"span",2),V(4,_q,2,1,"span",2),V(5,bq,2,1,"span",2),V(6,vq,3,3,"span",2),C(),xe(7,"br")(8,"app-truncated-text",3),I(9," \xa0"),D(10,"mat-icon",4),I(11,"settings"),C()()),2&e&&(w("matTooltip",kt(1,11,i.short?"labeled-element.tooltip-with-text":"labeled-element.tooltip",He(14,yq,i.id)))("matTooltipClass",qn(16,Mq)),c(3),w("ngIf",i.labelComponents&&i.labelComponents.prefix),c(1),w("ngIf",i.labelComponents&&i.labelComponents.prefixSeparator),c(1),w("ngIf",i.labelComponents&&i.labelComponents.label),c(1),w("ngIf",i.labelComponents&&i.labelComponents.translatableLabel),c(2),w("short",i.short)("showTooltip",!1)("shortTextLength",i.shortTextLength)("text",i.id),c(2),w("inline",!0))},dependencies:[Ft,Cn,vi,BI,wt],styles:['.cursor-pointer[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%], .wrapper[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}.wrapper[_ngcontent-%COMP%]{display:inline}.wrapper[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:.8rem;-webkit-user-select:none;user-select:none}.label[_ngcontent-%COMP%]{opacity:.7;font-size:.8rem}']}),t})();class Vn{constructor(n,e,i,o){this.properties=n,this.label=e,this.sortingMode=i,this.labelProperties=o}get id(){return this.properties.join("")}}var Zt=(()=>((Zt=Zt||{}).Text="Text",Zt.Number="Number",Zt.NumberReversed="NumberReversed",Zt.Boolean="Boolean",Zt))();class Rd{get sortingArrow(){return this.sortReverse?"keyboard_arrow_up":"keyboard_arrow_down"}get currentSortingColumn(){return this.sortBy}get sortingInReverseOrder(){return this.sortReverse}get dataSorted(){return this.dataUpdatedSubject.asObservable()}get currentlySortingByLabel(){return this.sortByLabel}constructor(n,e,i,o,s,a){this.dialog=n,this.translateService=e,this.storageService=i,this.sortReverse=!1,this.sortByLabel=!1,this.tieBreakerColumnIndex=null,this.columnStorageKeyPrefix="col_",this.orderStorageKeyPrefix="order_",this.labelStorageKeyPrefix="label_",this.dataUpdatedSubject=new J,this.sortableColumns=o,this.id=a,this.defaultColumnIndex=s,this.sortBy=o[s];const l=this.storageService.getDataForHv(this.columnStorageKeyPrefix+a);if(l){const d=o.find(_=>_.id===l);d&&(this.sortBy=d)}this.sortReverse="true"===this.storageService.getDataForHv(this.orderStorageKeyPrefix+a),this.sortByLabel="true"===this.storageService.getDataForHv(this.labelStorageKeyPrefix+a)}dispose(){this.dataUpdatedSubject.complete()}setTieBreakerColumnIndex(n){this.tieBreakerColumnIndex=n}setData(n){this.data=n,this.sortData()}changeSortingOrder(n){if(this.sortBy===n||n.labelProperties)if(n.labelProperties){const e=[{label:this.translateService.instant("tables.sort-by-value")},{label:this.translateService.instant("tables.sort-by-value")+" "+this.translateService.instant("tables.inverted-order")},{label:this.translateService.instant("tables.sort-by-label")},{label:this.translateService.instant("tables.sort-by-label")+" "+this.translateService.instant("tables.inverted-order")}];qr.openDialog(this.dialog,e,"tables.title").afterClosed().subscribe(i=>{i&&this.changeSortingParams(n,i>2,i%2==0)})}else this.sortReverse=!this.sortReverse,this.storageService.setDataForHv(this.orderStorageKeyPrefix+this.id,String(this.sortReverse)),this.sortData();else this.changeSortingParams(n,!1,!1)}changeSortingParams(n,e,i){this.sortBy=n,this.sortByLabel=e,this.sortReverse=i,this.storageService.setDataForHv(this.columnStorageKeyPrefix+this.id,n.id),this.storageService.setDataForHv(this.orderStorageKeyPrefix+this.id,String(this.sortReverse)),this.storageService.setDataForHv(this.labelStorageKeyPrefix+this.id,String(this.sortByLabel)),this.sortData()}openSortingOrderModal(){const n=[],e=[];this.sortableColumns.forEach(i=>{const o=this.translateService.instant(i.label);n.push({label:o}),e.push({sortBy:i,sortReverse:!1,sortByLabel:!1}),n.push({label:o+" "+this.translateService.instant("tables.inverted-order")}),e.push({sortBy:i,sortReverse:!0,sortByLabel:!1}),i.labelProperties&&(n.push({label:o+" "+this.translateService.instant("tables.label")}),e.push({sortBy:i,sortReverse:!1,sortByLabel:!0}),n.push({label:o+" "+this.translateService.instant("tables.label")+" "+this.translateService.instant("tables.inverted-order")}),e.push({sortBy:i,sortReverse:!0,sortByLabel:!0}))}),qr.openDialog(this.dialog,n,"tables.title").afterClosed().subscribe(i=>{i&&this.changeSortingParams(e[i-1].sortBy,e[i-1].sortByLabel,e[i-1].sortReverse)})}sortData(){this.data&&(this.data.sort((n,e)=>{let i=this.getSortResponse(this.sortBy,n,e,!0);return 0===i&&null!==this.tieBreakerColumnIndex&&this.sortableColumns[this.tieBreakerColumnIndex]!==this.sortBy&&(i=this.getSortResponse(this.sortableColumns[this.tieBreakerColumnIndex],n,e,!1)),0===i&&this.sortableColumns[this.defaultColumnIndex]!==this.sortBy&&(i=this.getSortResponse(this.sortableColumns[this.defaultColumnIndex],n,e,!1)),i}),this.dataUpdatedSubject.next())}getSortResponse(n,e,i,o){let a=e,l=i;(this.sortByLabel&&o&&n.labelProperties?n.labelProperties:n.properties).forEach(E=>{a=a[E],l=l[E]});const d=this.sortByLabel&&o?Zt.Text:n.sortingMode;let _=0;return d===Zt.Text?_=this.sortReverse?l.localeCompare(a):a.localeCompare(l):d===Zt.NumberReversed?_=this.sortReverse?a-l:l-a:d===Zt.Number?_=this.sortReverse?l-a:a-l:d===Zt.Boolean&&(a&&!l?_=-1:!a&&l&&(_=1),_*=this.sortReverse?-1:1),_}}class Cq{get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}constructor(n=!1,e,i=!0,o){this._multiple=n,this._emitChanges=i,this.compareWith=o,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new J,e&&e.length&&(n?e.forEach(s=>this._markSelected(s)):this._markSelected(e[0]),this._selectedToEmit.length=0)}select(...n){this._verifyValueAssignment(n),n.forEach(i=>this._markSelected(i));const e=this._hasQueuedChanges();return this._emitChangeEvent(),e}deselect(...n){this._verifyValueAssignment(n),n.forEach(i=>this._unmarkSelected(i));const e=this._hasQueuedChanges();return this._emitChangeEvent(),e}setSelection(...n){this._verifyValueAssignment(n);const e=this.selected,i=new Set(n);n.forEach(s=>this._markSelected(s)),e.filter(s=>!i.has(s)).forEach(s=>this._unmarkSelected(s));const o=this._hasQueuedChanges();return this._emitChangeEvent(),o}toggle(n){return this.isSelected(n)?this.deselect(n):this.select(n)}clear(n=!0){this._unmarkAll();const e=this._hasQueuedChanges();return n&&this._emitChangeEvent(),e}isSelected(n){return this._selection.has(this._getConcreteValue(n))}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(n){this._multiple&&this.selected&&this._selected.sort(n)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(n){n=this._getConcreteValue(n),this.isSelected(n)||(this._multiple||this._unmarkAll(),this.isSelected(n)||this._selection.add(n),this._emitChanges&&this._selectedToEmit.push(n))}_unmarkSelected(n){n=this._getConcreteValue(n),this.isSelected(n)&&(this._selection.delete(n),this._emitChanges&&this._deselectedToEmit.push(n))}_unmarkAll(){this.isEmpty()||this._selection.forEach(n=>this._unmarkSelected(n))}_verifyValueAssignment(n){}_hasQueuedChanges(){return!(!this._deselectedToEmit.length&&!this._selectedToEmit.length)}_getConcreteValue(n){if(this.compareWith){for(let e of this._selection)if(this.compareWith(n,e))return e;return n}return n}}const xq=["trigger"],kq=["panel"];function Sq(t,n){if(1&t&&(D(0,"span",10),I(1),C()),2&t){const e=z();c(1),se(e.placeholder)}}function Dq(t,n){if(1&t&&(D(0,"span",14),I(1),C()),2&t){const e=z(2);c(1),se(e.triggerValue)}}function Tq(t,n){1&t&&Sn(0,0,["*ngSwitchCase","true"])}function Lq(t,n){1&t&&(D(0,"span",11),V(1,Dq,2,1,"span",12),V(2,Tq,1,0,"ng-content",13),C()),2&t&&(w("ngSwitch",!!z().customTrigger),c(2),w("ngSwitchCase",!0))}function Eq(t,n){if(1&t){const e=et();wl(),zf(),D(0,"div",15,16),ye("@transformPanel.done",function(o){return Pe(e),Oe(z()._panelDoneAnimatingStream.next(o.toState))})("keydown",function(o){return Pe(e),Oe(z()._handleKeydown(o))}),Sn(2,1),C()}if(2&t){const e=z();(function Ix(t,n,e){es(go,Ls,Xc(Ve(),t,n,e),!0)})("mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open ",e._getPanelTheme(),""),w("ngClass",e.panelClass)("@transformPanel","showing"),Xt("id",e.id+"-panel")("aria-multiselectable",e.multiple)("aria-label",e.ariaLabel||null)("aria-labelledby",e._getPanelAriaLabelledby())}}const Iq=[[["mat-select-trigger"]],"*"],Pq=["mat-select-trigger","*"],Oq={transformPanelWrap:ia("transformPanelWrap",[Pr("* => void",Iy("@transformPanel",[Ey()],{optional:!0}))]),transformPanel:ia("transformPanel",[yo("void",Qn({opacity:0,transform:"scale(1, 0.8)"})),Pr("void => showing",Ur("120ms cubic-bezier(0, 0, 0.2, 1)",Qn({opacity:1,transform:"scale(1, 1)"}))),Pr("* => void",Ur("100ms linear",Qn({opacity:0})))])};let VI=0;const jI=new Re("mat-select-scroll-strategy"),Fq=new Re("MAT_SELECT_CONFIG"),Rq={provide:jI,deps:[io],useFactory:function Aq(t){return()=>t.scrollStrategies.reposition()}},zI=new Re("MatSelectTrigger");class Nq{constructor(n,e){this.source=n,this.value=e}}const Yq=Rh(LL(Ed(EL(class{constructor(t,n,e,i,o){this._elementRef=t,this._defaultErrorStateMatcher=n,this._parentForm=e,this._parentFormGroup=i,this.ngControl=o,this.stateChanges=new J}}))));let Hq=(()=>{class t extends Yq{get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}get required(){return this._required??this.ngControl?.control?.hasValidator(Gt.required)??!1}set required(e){this._required=_n(e),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(e){this._multiple=_n(e)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(e){this._disableOptionCentering=_n(e)}get compareWith(){return this._compareWith}set compareWith(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(e){this._assignValue(e)&&this._onChange(e)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(e){this._typeaheadDebounceInterval=So(e)}get id(){return this._id}set id(e){this._id=e||this._uid,this.stateChanges.next()}constructor(e,i,o,s,a,l,d,_,E,F,G,ie,_e,Ce){super(a,s,d,_,F),this._viewportRuler=e,this._changeDetectorRef=i,this._ngZone=o,this._dir=l,this._parentFormField=E,this._liveAnnouncer=_e,this._defaultOptions=Ce,this._panelOpen=!1,this._compareWith=(Ae,ze)=>Ae===ze,this._uid="mat-select-"+VI++,this._triggerAriaLabelledBy=null,this._destroy=new J,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+VI++,this._panelDoneAnimatingStream=new J,this._overlayPanelClass=this._defaultOptions?.overlayPanelClass||"",this._focused=!1,this.controlType="mat-select",this._multiple=!1,this._disableOptionCentering=this._defaultOptions?.disableOptionCentering??!1,this.ariaLabel="",this.optionSelectionChanges=jl(()=>{const Ae=this.options;return Ae?Ae.changes.pipe(Go(Ae),gr(()=>bt(...Ae.map(ze=>ze.onSelectionChange)))):this._ngZone.onStable.pipe(Kn(1),gr(()=>this.optionSelectionChanges))}),this.openedChange=new ht,this._openedStream=this.openedChange.pipe(_i(Ae=>Ae),ke(()=>{})),this._closedStream=this.openedChange.pipe(_i(Ae=>!Ae),ke(()=>{})),this.selectionChange=new ht,this.valueChange=new ht,this.ngControl&&(this.ngControl.valueAccessor=this),null!=Ce?.typeaheadDebounceInterval&&(this._typeaheadDebounceInterval=Ce.typeaheadDebounceInterval),this._scrollStrategyFactory=ie,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(G)||0,this.id=this.id}ngOnInit(){this._selectionModel=new Cq(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(V0(),Hn(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(Hn(this._destroy)).subscribe(e=>{e.added.forEach(i=>i.select()),e.removed.forEach(i=>i.deselect())}),this.options.changes.pipe(Go(null),Hn(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const e=this._getTriggerAriaLabelledby(),i=this.ngControl;if(e!==this._triggerAriaLabelledBy){const o=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?o.setAttribute("aria-labelledby",e):o.removeAttribute("aria-labelledby")}i&&(this._previousControl!==i.control&&(void 0!==this._previousControl&&null!==i.disabled&&i.disabled!==this.disabled&&(this.disabled=i.disabled),this._previousControl=i.control),this.updateErrorState())}ngOnChanges(e){(e.disabled||e.userAriaDescribedBy)&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._keyManager?.destroy(),this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(e){this._assignValue(e)}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const e=this._selectionModel.selected.map(i=>i.viewValue);return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e))}_handleClosedKeydown(e){const i=e.keyCode,o=40===i||38===i||37===i||39===i,s=13===i||32===i,a=this._keyManager;if(!a.isTyping()&&s&&!Fs(e)||(this.multiple||e.altKey)&&o)e.preventDefault(),this.open();else if(!this.multiple){const l=this.selected;a.onKeydown(e);const d=this.selected;d&&l!==d&&this._liveAnnouncer.announce(d.viewValue,1e4)}}_handleOpenKeydown(e){const i=this._keyManager,o=e.keyCode,s=40===o||38===o,a=i.isTyping();if(s&&e.altKey)e.preventDefault(),this.close();else if(a||13!==o&&32!==o||!i.activeItem||Fs(e))if(!a&&this._multiple&&65===o&&e.ctrlKey){e.preventDefault();const l=this.options.some(d=>!d.disabled&&!d.selected);this.options.forEach(d=>{d.disabled||(l?d.select():d.deselect())})}else{const l=i.activeItemIndex;i.onKeydown(e),this._multiple&&s&&e.shiftKey&&i.activeItem&&i.activeItemIndex!==l&&i.activeItem._selectViaInteraction()}else e.preventDefault(),i.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,this._keyManager?.cancelTypeahead(),!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(Kn(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(e){if(this.options.forEach(i=>i.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&e)Array.isArray(e),e.forEach(i=>this._selectOptionByValue(i)),this._sortValues();else{const i=this._selectOptionByValue(e);i?this._keyManager.updateActiveItem(i):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(e){const i=this.options.find(o=>{if(this._selectionModel.isSelected(o))return!1;try{return null!=o.value&&this._compareWith(o.value,e)}catch{return!1}});return i&&this._selectionModel.select(i),i}_assignValue(e){return!!(e!==this._value||this._multiple&&Array.isArray(e))&&(this.options&&this._setSelectionByValue(e),this._value=e,!0)}_skipPredicate(e){return e.disabled}_initKeyManager(){this._keyManager=new bz(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withPageUpDown().withAllowedModifierKeys(["shiftKey"]).skipPredicate(this._skipPredicate),this._keyManager.tabOut.subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const e=bt(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Hn(e)).subscribe(i=>{this._onSelect(i.source,i.isUserInput),i.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),bt(...this.options.map(i=>i._stateChanges)).pipe(Hn(e)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this.stateChanges.next()})}_onSelect(e,i){const o=this._selectionModel.isSelected(e);null!=e.value||this._multiple?(o!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),i&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),i&&this.focus())):(e.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(e.value)),o!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const e=this.options.toArray();this._selectionModel.sort((i,o)=>this.sortComparator?this.sortComparator(i,o,e):e.indexOf(i)-e.indexOf(o)),this.stateChanges.next()}}_propagateChanges(e){let i=null;i=this.multiple?this.selected.map(o=>o.value):this.selected?this.selected.value:e,this._value=i,this.valueChange.emit(i),this._onChange(i),this.selectionChange.emit(this._getChangeEvent(i)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){if(this._keyManager)if(this.empty){let e=-1;for(let i=0;i0}focus(e){this._elementRef.nativeElement.focus(e)}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;const e=this._parentFormField?.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;const e=this._parentFormField?.getLabelId();let i=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(i+=" "+this.ariaLabelledby),i}_panelDoneAnimating(e){this.openedChange.emit(e)}setDescribedByIds(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return t.\u0275fac=function(e){return new(e||t)(Y(kd),Y(pi),Y(ft),Y(e1),Y(vt),Y(Do,8),Y(Xh,8),Y(ii,8),Y(A1,8),Y(Rs,10),Pa("tabindex"),Y(jI),Y(K0),Y(Fq,8))},t.\u0275dir=Ke({type:t,viewQuery:function(e,i){if(1&e&&(_t(xq,5),_t(kq,5),_t(lL,5)),2&e){let o;rt(o=ot())&&(i.trigger=o.first),rt(o=ot())&&(i.panel=o.first),rt(o=ot())&&(i._overlayDir=o.first)}},inputs:{userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:"typeaheadDebounceInterval",sortComparator:"sortComparator",id:"id"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[nt,Gi]}),t})(),Bq=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["mat-select-trigger"]],features:[un([{provide:zI,useExisting:t}])]}),t})(),tf=(()=>{class t extends Hq{constructor(){super(...arguments),this._positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"}],this._hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1,this._skipPredicate=e=>!this.panelOpen&&e.disabled}get shouldLabelFloat(){return this.panelOpen||!this.empty||this.focused&&!!this.placeholder}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(Hn(this._destroy)).subscribe(()=>{this.panelOpen&&(this._overlayWidth=this._getOverlayWidth(),this._changeDetectorRef.detectChanges())})}ngAfterViewInit(){this._parentFormField&&(this._preferredOverlayOrigin=this._parentFormField.getConnectedOverlayOrigin())}open(){this._overlayWidth=this._getOverlayWidth(),super.open(),this.stateChanges.next()}close(){super.close(),this.stateChanges.next()}_scrollOptionIntoView(e){const i=this.options.toArray()[e];if(i){const o=this.panel.nativeElement,s=function uU(t,n,e){if(e.length){let i=n.toArray(),o=e.toArray(),s=0;for(let a=0;ae+i?Math.max(0,t-i+n):e}(a.offsetTop,a.offsetHeight,o.scrollTop,o.offsetHeight)}}_positioningSettled(){this._scrollOptionIntoView(this._keyManager.activeItemIndex||0)}_getChangeEvent(e){return new Nq(this,e)}_getOverlayWidth(){return(this._preferredOverlayOrigin instanceof Y0?this._preferredOverlayOrigin.elementRef:this._preferredOverlayOrigin||this._elementRef).nativeElement.getBoundingClientRect().width}get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=_n(e),this._syncParentProperties()}_syncParentProperties(){if(this.options)for(const e of this.options)e._changeDetectorRef.markForCheck()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["mat-select"]],contentQueries:function(e,i,o){if(1&e&&(or(o,zI,5),or(o,Pd,5),or(o,NL,5)),2&e){let s;rt(s=ot())&&(i.customTrigger=s.first),rt(s=ot())&&(i.options=s),rt(s=ot())&&(i.optionGroups=s)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","listbox","ngSkipHydration","true",1,"mat-mdc-select"],hostVars:19,hostBindings:function(e,i){1&e&&ye("keydown",function(s){return i._handleKeydown(s)})("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()}),2&e&&(Xt("id",i.id)("tabindex",i.tabIndex)("aria-controls",i.panelOpen?i.id+"-panel":null)("aria-expanded",i.panelOpen)("aria-label",i.ariaLabel||null)("aria-required",i.required.toString())("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-activedescendant",i._getAriaActiveDescendant()),nn("mat-mdc-select-disabled",i.disabled)("mat-mdc-select-invalid",i.errorState)("mat-mdc-select-required",i.required)("mat-mdc-select-empty",i.empty)("mat-mdc-select-multiple",i.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex",hideSingleSelectionIndicator:"hideSingleSelectionIndicator"},exportAs:["matSelect"],features:[un([{provide:O1,useExisting:t},{provide:RL,useExisting:t}]),nt],ngContentSelectors:Pq,decls:11,vars:11,consts:[["cdk-overlay-origin","",1,"mat-mdc-select-trigger",3,"click"],["fallbackOverlayOrigin","cdkOverlayOrigin","trigger",""],[1,"mat-mdc-select-value",3,"ngSwitch"],["class","mat-mdc-select-placeholder mat-mdc-select-min-line",4,"ngSwitchCase"],["class","mat-mdc-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-mdc-select-arrow-wrapper"],[1,"mat-mdc-select-arrow"],["viewBox","0 0 24 24","width","24px","height","24px","focusable","false"],["d","M7 10l5 5 5-5z"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayWidth","backdropClick","attach","detach"],[1,"mat-mdc-select-placeholder","mat-mdc-select-min-line"],[1,"mat-mdc-select-value-text",3,"ngSwitch"],["class","mat-mdc-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-mdc-select-min-line"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(e,i){if(1&e&&(Ir(Iq),D(0,"div",0,1),ye("click",function(){return i.toggle()}),D(3,"div",2),V(4,Sq,2,1,"span",3),V(5,Lq,3,2,"span",4),C(),D(6,"div",5)(7,"div",6),wl(),D(8,"svg",7),xe(9,"path",8),C()()()(),V(10,Eq,3,9,"ng-template",9),ye("backdropClick",function(){return i.close()})("attach",function(){return i._onAttached()})("detach",function(){return i.close()})),2&e){const o=ci(1);Xt("aria-owns",i.panelOpen?i.id+"-panel":null),c(3),w("ngSwitch",i.empty),Xt("id",i._valueId),c(1),w("ngSwitchCase",!0),c(1),w("ngSwitchCase",!1),c(5),w("cdkConnectedOverlayPanelClass",i._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",i._scrollStrategy)("cdkConnectedOverlayOrigin",i._preferredOverlayOrigin||o)("cdkConnectedOverlayOpen",i.panelOpen)("cdkConnectedOverlayPositions",i._positions)("cdkConnectedOverlayWidth",i._overlayWidth)}},dependencies:[Nn,eh,my,aD,lL,Y0],styles:['.mdc-menu-surface{display:none;position:absolute;box-sizing:border-box;margin:0;padding:0;transform:scale(1);transform-origin:top left;opacity:0;overflow:auto;will-change:transform,opacity;transform-origin-left:top left;transform-origin-right:top right}.mdc-menu-surface:focus{outline:none}.mdc-menu-surface--animating-open{display:inline-block;transform:scale(0.8);opacity:0}.mdc-menu-surface--open{display:inline-block;transform:scale(1);opacity:1}.mdc-menu-surface--animating-closed{display:inline-block;opacity:0}[dir=rtl] .mdc-menu-surface,.mdc-menu-surface[dir=rtl]{transform-origin-left:top right;transform-origin-right:top left}.mdc-menu-surface--anchor{position:relative;overflow:visible}.mdc-menu-surface--fixed{position:fixed}.mdc-menu-surface--fullwidth{width:100%}.mdc-menu-surface{max-width:calc(100vw - 32px);max-width:var(--mdc-menu-max-width, calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:var(--mdc-menu-max-height, calc(100vh - 32px));z-index:8;border-radius:4px;border-radius:var(--mdc-shape-medium, 4px)}.mat-mdc-select{display:inline-block;width:100%;outline:none}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:translateY(-8px)}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-select-arrow{width:10px;height:5px;position:relative}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:GrayText}.mdc-menu-surface.mat-mdc-select-panel{width:100%;max-height:275px;position:static;outline:0;margin:0;padding:8px 0;list-style-type:none}.mdc-menu-surface.mat-mdc-select-panel:focus{outline:none}.cdk-high-contrast-active .mdc-menu-surface.mat-mdc-select-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) .mdc-menu-surface.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above .mdc-menu-surface.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}'],encapsulation:2,data:{animation:[Oq.transformPanel]},changeDetection:0}),t})(),Vq=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[Rq],imports:[ta,Td,YL,Wn,Lh,Lg,YL,Wn]}),t})();function jq(t,n){if(1&t&&xe(0,"input",9),2&t){const e=z().$implicit;w("formControlName",e.keyNameInFiltersObject)("maxlength",e.maxlength)}}function zq(t,n){if(1&t&&(D(0,"div",14),xe(1,"div",15),C()),2&t){const e=z().$implicit,i=z(2).$implicit;di("background-image: url('"+i.printableLabelGeneralSettings.defaultImage+"'); width: "+i.printableLabelGeneralSettings.imageWidth+"px; height: "+i.printableLabelGeneralSettings.imageHeight+"px;"),c(1),di("background-image: url('"+e.image+"');")}}function Uq(t,n){if(1&t&&(D(0,"mat-option",12),V(1,zq,2,4,"div",13),I(2),R(3,"translate"),C()),2&t){const e=n.$implicit,i=z(2).$implicit;w("value",e.value),c(1),w("ngIf",i.printableLabelGeneralSettings&&e.image),c(1),ce(" ",H(3,3,e.label)," ")}}function Wq(t,n){if(1&t&&(D(0,"mat-select",10),V(1,Uq,4,5,"mat-option",11),C()),2&t){const e=z().$implicit;w("formControlName",e.keyNameInFiltersObject),c(1),w("ngForOf",e.printableLabelsForValues)}}function $q(t,n){if(1&t&&(Ue(0),D(1,"mat-form-field")(2,"div",5)(3,"label",6),I(4),R(5,"translate"),C(),V(6,jq,1,2,"input",7),V(7,Wq,2,2,"mat-select",8),C()(),We()),2&t){const e=n.$implicit,i=z();c(4),se(H(5,3,e.filterName)),c(2),w("ngIf",e.type===i.filterFieldTypes.TextInput),c(1),w("ngIf",e.type===i.filterFieldTypes.Select)}}let Gq=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o){this.data=e,this.dialogRef=i,this.formBuilder=o,this.filterFieldTypes=$n}ngOnInit(){const e={};this.data.filterPropertiesList.forEach(i=>{e[i.keyNameInFiltersObject]=[this.data.currentFilters[i.keyNameInFiltersObject]]}),this.form=this.formBuilder.group(e)}apply(){const e={};this.data.filterPropertiesList.forEach(i=>{e[i.keyNameInFiltersObject]=this.form.get(i.keyNameInFiltersObject).value.trim()}),this.dialogRef.close(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn),Y(xr))},t.\u0275cmp=Ze({type:t,selectors:[["app-filters-selection"]],decls:8,vars:9,consts:[[3,"headline","dialog"],[3,"formGroup"],[4,"ngFor","ngForOf"],["color","primary",1,"float-right",3,"action"],["button",""],[1,"field-container"],["for","remoteKey",1,"field-label"],["matInput","",3,"formControlName","maxlength",4,"ngIf"],[3,"formControlName",4,"ngIf"],["matInput","",3,"formControlName","maxlength"],[3,"formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["class","image-container",3,"style",4,"ngIf"],[1,"image-container"],[1,"image"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1),V(3,$q,8,5,"ng-container",2),C(),D(4,"app-button",3,4),ye("action",function(){return i.apply()}),I(6),R(7,"translate"),C()()),2&e&&(w("headline",H(1,5,"filters.filter-action"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(1),w("ngForOf",i.data.filterPropertiesList),c(3),ce(" ",H(7,7,"common.ok")," "))},dependencies:[gi,Ft,zi,Bi,Vi,ji,Cr,ii,Ei,ar,kr,tf,Pd,Ui,ei,wt],styles:[".image-container[_ngcontent-%COMP%]{display:inline-block;background-size:contain;margin-right:5px}.image-container[_ngcontent-%COMP%] .image[_ngcontent-%COMP%]{background-size:contain;width:100%;height:100%}"]}),t})();class Nd{get currentFiltersTexts(){return this.currentFiltersTextsInternal}get currentUrlQueryParams(){return this.currentUrlQueryParamsInternal}get dataFiltered(){return this.dataUpdatedSubject.asObservable()}constructor(n,e,i,o,s){this.dialog=n,this.route=e,this.router=i,this.currentFiltersTextsInternal=[],this.dataUpdatedSubject=new J,this.filterPropertiesList=o,this.currentFilters={},this.filterPropertiesList.forEach(a=>{a.keyNameInFiltersObject=s+"_"+a.keyNameInElementsArray,this.currentFilters[a.keyNameInFiltersObject]=""}),this.navigationsSubscription=this.route.queryParamMap.subscribe(a=>{Object.keys(this.currentFilters).forEach(l=>{a.has(l)&&(this.currentFilters[l]=a.get(l))}),this.currentUrlQueryParamsInternal={},a.keys.forEach(l=>{this.currentUrlQueryParamsInternal[l]=a.get(l)}),this.filter()})}dispose(){this.dataUpdatedSubject.complete(),this.navigationsSubscription.unsubscribe()}setData(n){this.data=n,this.filter()}removeFilters(){const n=Jt.createConfirmationDialog(this.dialog,"filters.remove-confirmation");n.componentInstance.operationAccepted.subscribe(()=>{n.componentInstance.closeModal(),this.router.navigate([],{queryParams:{}})})}changeFilters(){Gq.openDialog(this.dialog,{filterPropertiesList:this.filterPropertiesList,currentFilters:this.currentFilters}).afterClosed().subscribe(e=>{e&&this.router.navigate([],{queryParams:e})})}filter(){if(this.data){let n,e=!1;Object.keys(this.currentFilters).forEach(i=>{this.currentFilters[i]&&(e=!0)}),e?(n=function uq(t,n,e){if(t){const i=[];return Object.keys(n).forEach(s=>{if(n[s])for(const a of e)if(a.keyNameInFiltersObject===s){i.push(a);break}}),t.filter(s=>{let a=!0;return i.forEach(l=>{const d=String(s[l.keyNameInElementsArray]).toLowerCase().includes(n[l.keyNameInFiltersObject].toLowerCase()),_=l.secondaryKeyNameInElementsArray&&String(s[l.secondaryKeyNameInElementsArray]).toLowerCase().includes(n[l.keyNameInFiltersObject].toLowerCase());!d&&!_&&(a=!1)}),a})}return null}(this.data,this.currentFilters,this.filterPropertiesList),this.updateCurrentFilters()):(n=this.data,this.updateCurrentFilters()),this.dataUpdatedSubject.next(n)}}updateCurrentFilters(){this.currentFiltersTextsInternal=function hq(t,n){const e=[];return n.forEach(i=>{if(t[i.keyNameInFiltersObject]){let o,s;i.printableLabelsForValues&&i.printableLabelsForValues.forEach(a=>{a.value===t[i.keyNameInFiltersObject]&&(s=a.label)}),s||(o=t[i.keyNameInFiltersObject]),e.push({filterName:i.filterName,translatableValue:s,value:o})}}),e}(this.currentFilters,this.filterPropertiesList)}}function qq(t,n){if(1&t){const e=et();D(0,"div",5)(1,"div",6)(2,"div",7),I(3),C(),D(4,"div",8),I(5),C()(),D(6,"div",9)(7,"app-button",10),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).openTerminal(s.key))}),I(8),R(9,"translate"),C()()()}if(2&t){const e=n.$implicit;c(3),se(e.label),c(2),se(e.version),c(3),ce(" ",H(9,3,"update-all.update-button")," ")}}function Kq(t,n){if(1&t&&(Ue(0),D(1,"div",2),I(2),R(3,"translate"),C(),D(4,"div",3),V(5,qq,10,5,"div",4),C(),We()),2&t){const e=z();c(2),ce(" ",H(3,2,"update-all.updatable-list-text")," "),c(3),w("ngForOf",e.updatableNodes)}}function Zq(t,n){if(1&t&&(D(0,"div",8),I(1),C()),2&t){const e=z().$implicit;c(1),se(e.tag)}}function Xq(t,n){if(1&t&&(D(0,"div",5)(1,"div",6)(2,"div",7),I(3),C(),D(4,"div",8),I(5),C(),V(6,Zq,2,1,"div",11),C()()),2&t){const e=n.$implicit;c(3),se(e.label),c(2),se(e.version),c(1),w("ngIf",e.tag)}}function Jq(t,n){if(1&t&&(Ue(0),D(1,"div",2),I(2),R(3,"translate"),C(),D(4,"div",3),V(5,Xq,7,3,"div",4),C(),We()),2&t){const e=z();c(2),ce(" ",H(3,2,"update-all.non-updatable-list-text")," "),c(3),w("ngForOf",e.nonUpdatableNodes)}}let Qq=(()=>{class t{static openDialog(e,i,o){const s=new En;return s.data=[i,o],s.autoFocus=!1,s.width=Vt.smallModalWidth,e.open(t,s)}constructor(e,i){this.dialogRef=e,this.updatableNodes=i[0],this.nonUpdatableNodes=i[1]}openTerminal(e){const i=window.location.protocol,o=window.location.host.replace("localhost:4200","127.0.0.1:8000");window.open(i+"//"+o+"/pty/"+e+"?commands=update","_blank","noopener noreferrer")}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li))},t.\u0275cmp=Ze({type:t,selectors:[["app-update-all"]],decls:4,vars:6,consts:[[3,"headline","dialog"],[4,"ngIf"],[1,"text-container"],[1,"list-container"],["class","list-element",4,"ngFor","ngForOf"],[1,"list-element"],[1,"left-part"],[1,"name"],[1,"version"],[1,"right-part"],["color","primary",3,"click"],["class","version",4,"ngIf"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),V(2,Kq,6,4,"ng-container",1),V(3,Jq,6,4,"ng-container",1),C()),2&e&&(w("headline",H(1,4,"update-all.title"))("dialog",i.dialogRef),c(2),w("ngIf",i.updatableNodes&&i.updatableNodes.length>0),c(1),w("ngIf",i.nonUpdatableNodes&&i.nonUpdatableNodes.length>0))},dependencies:[gi,Ft,Ui,ei,wt],styles:[".text-container[_ngcontent-%COMP%]{word-break:break-word}.list-container[_ngcontent-%COMP%]{font-size:14px;margin:10px;color:#215f9e;word-break:break-word;line-height:1.2}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%]{display:flex;margin-bottom:10px}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-part[_ngcontent-%COMP%]{flex-grow:1;flex-shrink:1;align-self:center;margin-right:10px;min-width:0}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-part[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 575px){.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-part[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:.7rem}}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-part[_ngcontent-%COMP%] .version[_ngcontent-%COMP%]{font-size:.7rem;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .right-part[_ngcontent-%COMP%]{flex-basis:0;flex-shrink:0}.list-container[_ngcontent-%COMP%] .details[_ngcontent-%COMP%]{color:#777}"]}),t})();const eK=["input"],tK=["label"],nK=["*"],iK=new Re("mat-checkbox-default-options",{providedIn:"root",factory:UI});function UI(){return{color:"accent",clickAction:"check-indeterminate"}}const rK={provide:ls,useExisting:pn(()=>fa),multi:!0};class oK{}let sK=0;const WI=UI(),aK=LL(Fh(Rh(Ed(class{constructor(t){this._elementRef=t}}))));let lK=(()=>{class t extends aK{get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(e){this._required=_n(e)}constructor(e,i,o,s,a,l,d){super(i),this._changeDetectorRef=o,this._ngZone=s,this._animationMode=l,this._options=d,this.ariaLabel="",this.ariaLabelledby=null,this.labelPosition="after",this.name=null,this.change=new ht,this.indeterminateChange=new ht,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||WI,this.color=this.defaultColor=this._options.color||WI.color,this.tabIndex=parseInt(a)||0,this.id=this._uniqueId=`${e}${++sK}`}ngAfterViewInit(){this._syncIndeterminate(this._indeterminate)}get checked(){return this._checked}set checked(e){const i=_n(e);i!=this.checked&&(this._checked=i,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(e){const i=_n(e);i!==this.disabled&&(this._disabled=i,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(e){const i=e!=this._indeterminate;this._indeterminate=_n(e),i&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(e){this.checked=!!e}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e}_transitionCheckState(e){let i=this._currentCheckState,o=this._getAnimationTargetElement();if(i!==e&&o&&(this._currentAnimationClass&&o.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(i,e),this._currentCheckState=e,this._currentAnimationClass.length>0)){o.classList.add(this._currentAnimationClass);const s=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{o.classList.remove(s)},1e3)})}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.checked),this.change.emit(this._createChangeEvent(this.checked)),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked,this._controlValueAccessorChangeFn(this.checked)}_handleInputClick(){const e=this._options?.clickAction;this.disabled||"noop"===e?!this.disabled&&"noop"===e&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==e&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this._checked=!this._checked,this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}_onInteractionEvent(e){e.stopPropagation()}_onBlur(){Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}_getAnimationClassForCheckStateTransition(e,i){if("NoopAnimations"===this._animationMode)return"";switch(e){case 0:if(1===i)return this._animationClasses.uncheckedToChecked;if(3==i)return this._checked?this._animationClasses.checkedToIndeterminate:this._animationClasses.uncheckedToIndeterminate;break;case 2:return 1===i?this._animationClasses.uncheckedToChecked:this._animationClasses.uncheckedToIndeterminate;case 1:return 2===i?this._animationClasses.checkedToUnchecked:this._animationClasses.checkedToIndeterminate;case 3:return 1===i?this._animationClasses.indeterminateToChecked:this._animationClasses.indeterminateToUnchecked}return""}_syncIndeterminate(e){const i=this._inputElement;i&&(i.nativeElement.indeterminate=e)}}return t.\u0275fac=function(e){Aa()},t.\u0275dir=Ke({type:t,viewQuery:function(e,i){if(1&e&&(_t(eK,5),_t(tK,5),_t(Zl,5)),2&e){let o;rt(o=ot())&&(i._inputElement=o.first),rt(o=ot())&&(i._labelElement=o.first),rt(o=ot())&&(i.ripple=o.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],id:"id",required:"required",labelPosition:"labelPosition",name:"name",value:"value",checked:"checked",disabled:"disabled",indeterminate:"indeterminate"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},features:[nt]}),t})(),fa=(()=>{class t extends lK{constructor(e,i,o,s,a,l){super("mat-mdc-checkbox-",e,i,o,s,a,l),this._animationClasses={uncheckedToChecked:"mdc-checkbox--anim-unchecked-checked",uncheckedToIndeterminate:"mdc-checkbox--anim-unchecked-indeterminate",checkedToUnchecked:"mdc-checkbox--anim-checked-unchecked",checkedToIndeterminate:"mdc-checkbox--anim-checked-indeterminate",indeterminateToChecked:"mdc-checkbox--anim-indeterminate-checked",indeterminateToUnchecked:"mdc-checkbox--anim-indeterminate-unchecked"}}focus(){this._inputElement.nativeElement.focus()}_createChangeEvent(e){const i=new oK;return i.source=this,i.checked=e,i}_getAnimationTargetElement(){return this._inputElement?.nativeElement}_onInputClick(){super._handleInputClick()}_onTouchTargetClick(){super._handleInputClick(),this.disabled||this._inputElement.nativeElement.focus()}_preventBubblingFromLabel(e){e.target&&this._labelElement.nativeElement.contains(e.target)&&e.stopPropagation()}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(ft),Pa("tabindex"),Y(Ri,8),Y(iK,8))},t.\u0275cmp=Ze({type:t,selectors:[["mat-checkbox"]],hostAttrs:[1,"mat-mdc-checkbox"],hostVars:12,hostBindings:function(e,i){2&e&&(Js("id",i.id),Xt("tabindex",null)("aria-label",null)("aria-labelledby",null),nn("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mdc-checkbox--disabled",i.disabled)("mat-mdc-checkbox-disabled",i.disabled)("mat-mdc-checkbox-checked",i.checked))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matCheckbox"],features:[un([rK]),nt],ngContentSelectors:nK,decls:15,vars:19,consts:[[1,"mdc-form-field",3,"click"],[1,"mdc-checkbox"],["checkbox",""],[1,"mat-mdc-checkbox-touch-target",3,"click"],["type","checkbox",1,"mdc-checkbox__native-control",3,"checked","indeterminate","disabled","id","required","tabIndex","blur","click","change"],["input",""],[1,"mdc-checkbox__ripple"],[1,"mdc-checkbox__background"],["focusable","false","viewBox","0 0 24 24","aria-hidden","true",1,"mdc-checkbox__checkmark"],["fill","none","d","M1.73,12.91 8.1,19.28 22.79,4.59",1,"mdc-checkbox__checkmark-path"],[1,"mdc-checkbox__mixedmark"],["mat-ripple","",1,"mat-mdc-checkbox-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-label",3,"for"],["label",""]],template:function(e,i){if(1&e&&(Ir(),D(0,"div",0),ye("click",function(s){return i._preventBubblingFromLabel(s)}),D(1,"div",1,2)(3,"div",3),ye("click",function(){return i._onTouchTargetClick()}),C(),D(4,"input",4,5),ye("blur",function(){return i._onBlur()})("click",function(){return i._onInputClick()})("change",function(s){return i._onInteractionEvent(s)}),C(),xe(6,"div",6),D(7,"div",7),wl(),D(8,"svg",8),xe(9,"path",9),C(),zf(),xe(10,"div",10),C(),xe(11,"div",11),C(),D(12,"label",12,13),Sn(14),C()()),2&e){const o=ci(2);nn("mdc-form-field--align-end","before"==i.labelPosition),c(4),nn("mdc-checkbox--selected",i.checked),w("checked",i.checked)("indeterminate",i.indeterminate)("disabled",i.disabled)("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex),Xt("aria-label",i.ariaLabel||null)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby)("name",i.name)("value",i.value),c(7),w("matRippleTrigger",o)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0),c(1),w("for",i.inputId)}},dependencies:[Zl],styles:['.mdc-touch-target-wrapper{display:inline}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:mdc-animation-deceleration-curve-timing-function;transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom}.mdc-checkbox[hidden]{display:none}.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%}@media screen and (forced-colors: active){.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{border-color:CanvasText}}.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{border-color:CanvasText}}@media all and (-ms-high-contrast: none){.mdc-checkbox .mdc-checkbox__focus-ring{display:none}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-checkbox__mixedmark{margin:0 1px}}.mdc-checkbox--disabled{cursor:default;pointer-events:none}.mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--upgraded .mdc-checkbox__checkmark{opacity:1}.mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;transition:none}.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;transition:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background{transition:border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit}.mdc-checkbox__native-control:disabled{cursor:default;pointer-events:none}.mdc-checkbox--touch{margin:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2)}.mdc-checkbox--touch .mdc-checkbox__native-control{top:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);right:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);left:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);width:var(--mdc-checkbox-state-layer-size);height:var(--mdc-checkbox-state-layer-size)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__mixedmark{transition:none}.mdc-form-field{display:inline-flex;align-items:center;vertical-align:middle}.mdc-form-field[hidden]{display:none}.mdc-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{margin-left:auto;margin-right:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{padding-left:0;padding-right:4px}.mdc-form-field--nowrap>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{margin-left:0;margin-right:auto}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{padding-left:4px;padding-right:0}.mdc-form-field--space-between{justify-content:space-between}.mdc-form-field--space-between>label{margin:0}[dir=rtl] .mdc-form-field--space-between>label,.mdc-form-field--space-between>label[dir=rtl]{margin:0}.mdc-checkbox{padding:calc((var(--mdc-checkbox-state-layer-size) - 18px) / 2);margin:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2)}.mdc-checkbox .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-disabled-unselected-icon-color);background-color:transparent}.mdc-checkbox .mdc-checkbox__native-control[disabled]:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[disabled]:indeterminate~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true][disabled]~.mdc-checkbox__background{border-color:transparent;background-color:var(--mdc-checkbox-disabled-selected-icon-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:var(--mdc-checkbox-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:var(--mdc-checkbox-disabled-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-disabled-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-icon-color);background-color:transparent}.mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-icon-color);background-color:var(--mdc-checkbox-selected-icon-color)}@keyframes mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336{0%{border-color:var(--mdc-checkbox-unselected-icon-color);background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-icon-color);background-color:var(--mdc-checkbox-selected-icon-color)}}@keyframes mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336{0%,80%{border-color:var(--mdc-checkbox-selected-icon-color);background-color:var(--mdc-checkbox-selected-icon-color)}100%{border-color:var(--mdc-checkbox-unselected-icon-color);background-color:transparent}}.mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox:hover .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-hover-icon-color);background-color:transparent}.mdc-checkbox:hover .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox:hover .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mdc-checkbox:hover .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-hover-icon-color);background-color:var(--mdc-checkbox-selected-hover-icon-color)}@keyframes mdc-checkbox-fade-in-background-FF212121FFF4433600000000FFF44336{0%{border-color:var(--mdc-checkbox-unselected-hover-icon-color);background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-hover-icon-color);background-color:var(--mdc-checkbox-selected-hover-icon-color)}}@keyframes mdc-checkbox-fade-out-background-FF212121FFF4433600000000FFF44336{0%,80%{border-color:var(--mdc-checkbox-selected-hover-icon-color);background-color:var(--mdc-checkbox-selected-hover-icon-color)}100%{border-color:var(--mdc-checkbox-unselected-hover-icon-color);background-color:transparent}}.mdc-checkbox:hover.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:hover.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-FF212121FFF4433600000000FFF44336}.mdc-checkbox:hover.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:hover.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-FF212121FFF4433600000000FFF44336}.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-pressed-icon-color);background-color:transparent}.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-pressed-icon-color);background-color:var(--mdc-checkbox-selected-pressed-icon-color)}@keyframes mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336{0%{border-color:var(--mdc-checkbox-unselected-pressed-icon-color);background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-pressed-icon-color);background-color:var(--mdc-checkbox-selected-pressed-icon-color)}}@keyframes mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336{0%,80%{border-color:var(--mdc-checkbox-selected-pressed-icon-color);background-color:var(--mdc-checkbox-selected-pressed-icon-color)}100%{border-color:var(--mdc-checkbox-unselected-pressed-icon-color);background-color:transparent}}.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox .mdc-checkbox__background{top:calc((var(--mdc-checkbox-state-layer-size) - 18px) / 2);left:calc((var(--mdc-checkbox-state-layer-size) - 18px) / 2)}.mdc-checkbox .mdc-checkbox__native-control{top:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);right:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);left:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);width:var(--mdc-checkbox-state-layer-size);height:var(--mdc-checkbox-state-layer-size)}.mdc-checkbox .mdc-checkbox__native-control:enabled:focus:focus:not(:checked):not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-focus-icon-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled:focus:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control:enabled:focus:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-focus-icon-color);background-color:var(--mdc-checkbox-selected-focus-icon-color)}.mdc-checkbox:hover .mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-hover-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-hover-state-layer-color)}.mdc-checkbox:hover .mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-hover-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-focus-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-focus-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-focus-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-pressed-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-pressed-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-pressed-state-layer-color)}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-hover-state-layer-opacity);background-color:var(--mdc-checkbox-selected-hover-state-layer-color)}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-hover-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-focus-state-layer-opacity);background-color:var(--mdc-checkbox-selected-focus-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-focus-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-pressed-state-layer-opacity);background-color:var(--mdc-checkbox-selected-pressed-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-pressed-state-layer-color)}.mat-mdc-checkbox{--mdc-checkbox-disabled-selected-checkmark-color:#fff;--mdc-checkbox-selected-focus-state-layer-opacity:0.16;--mdc-checkbox-selected-hover-state-layer-opacity:0.04;--mdc-checkbox-selected-pressed-state-layer-opacity:0.16;--mdc-checkbox-unselected-focus-state-layer-opacity:0.16;--mdc-checkbox-unselected-hover-state-layer-opacity:0.04;--mdc-checkbox-unselected-pressed-state-layer-opacity:0.16}.mat-mdc-checkbox{display:inline-block;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-checkbox .mdc-checkbox__background{-webkit-print-color-adjust:exact;color-adjust:exact}.mat-mdc-checkbox._mat-animation-noopable *,.mat-mdc-checkbox._mat-animation-noopable *::before{transition:none !important;animation:none !important}.mat-mdc-checkbox label{cursor:pointer}.mat-mdc-checkbox.mat-mdc-checkbox-disabled label{cursor:default}.mat-mdc-checkbox label:empty{display:none}.cdk-high-contrast-active .mat-mdc-checkbox.mat-mdc-checkbox-disabled{opacity:.5}.cdk-high-contrast-active .mat-mdc-checkbox .mdc-checkbox__checkmark{--mdc-checkbox-selected-checkmark-color: CanvasText;--mdc-checkbox-disabled-selected-checkmark-color: CanvasText}.mat-mdc-checkbox .mdc-checkbox__ripple{opacity:0}.mat-mdc-checkbox-ripple,.mdc-checkbox__ripple{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-checkbox-ripple:not(:empty),.mdc-checkbox__ripple:not(:empty){transform:translateZ(0)}.mat-mdc-checkbox-ripple .mat-ripple-element{opacity:.1}.mat-mdc-checkbox-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mat-mdc-checkbox-ripple::before{border-radius:50%}.mdc-checkbox__native-control:focus~.mat-mdc-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0}),t})(),$I=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})(),uK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn,Yh,$I,Wn,$I]}),t})();const hK=["button"];function fK(t,n){1&t&&(D(0,"span",22),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"bulk-rewards.checking"),""))}function pK(t,n){if(1&t&&(D(0,"span",23)(1,"span"),I(2),R(3,"translate"),C(),D(4,"span"),I(5),R(6,"translate"),C()()),2&t){const e=z(2).$implicit;c(2),ce(" ",H(3,2,"bulk-rewards.error-checking"),""),c(3),ce(" ",H(6,4,e.operationError),"")}}function mK(t,n){if(1&t&&(D(0,"span"),I(1),C()),2&t){const e=z(2).$implicit;c(1),ce(" ",e.currentAddress,"")}}function gK(t,n){1&t&&(D(0,"span"),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"bulk-rewards.not-registered"),""))}function _K(t,n){if(1&t&&(Ue(0,15),D(1,"mat-checkbox",16)(2,"div")(3,"div",17),I(4),C(),D(5,"div",18)(6,"span",19),I(7),R(8,"translate"),C(),V(9,fK,3,3,"span",20),V(10,pK,7,6,"span",21),V(11,mK,2,1,"span",12),V(12,gK,3,3,"span",12),C()()(),We()),2&t){const e=z(),o=e.$implicit;w("formGroupName",e.index),c(4),ce(" ",o.label," "),c(3),se(H(8,7,"bulk-rewards.current-address")),c(2),w("ngIf",null===o.currentAddress&&!o.operationError),c(1),w("ngIf",o.operationError),c(1),w("ngIf",o.currentAddress&&!o.operationError),c(1),w("ngIf",""===o.currentAddress&&!o.operationError)}}function bK(t,n){1&t&&(D(0,"span",22),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"bulk-rewards.processing"),""))}function vK(t,n){if(1&t&&(D(0,"span",23)(1,"span"),I(2),R(3,"translate"),C(),D(4,"span"),I(5),R(6,"translate"),C()()),2&t){const e=z(2).$implicit;c(2),ce(" ",H(3,2,"bulk-rewards.error-processing"),""),c(3),ce(" ",H(6,4,e.operationError),"")}}function yK(t,n){1&t&&(D(0,"span",28),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"bulk-rewards.done"),""))}function MK(t,n){if(1&t&&(Ue(0),D(1,"div",24),I(2,"-"),C(),D(3,"div",25),I(4),D(5,"div",26),V(6,bK,3,3,"span",20),V(7,vK,7,6,"span",21),V(8,yK,3,3,"span",27),C()(),We()),2&t){const e=z().$implicit;c(4),ce(" ",e.label," "),c(2),w("ngIf",e.processing&&!e.operationError),c(1),w("ngIf",e.operationError),c(1),w("ngIf",!e.processing&&!e.operationError)}}const wK=function(t){return{"element-margin":t}};function CK(t,n){if(1&t&&(D(0,"div",13),V(1,_K,13,9,"ng-container",14),V(2,MK,9,4,"ng-container",12),C()),2&t){const e=z();w("ngClass",He(3,wK,e.processingStarted)),c(1),w("ngIf",!e.processingStarted),c(1),w("ngIf",e.processingStarted)}}function xK(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"bulk-rewards.perform-changes")))}function kK(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"common.close")))}const SK=function(t){return{"element-disabled":t}};let DK=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o,s,a){this.dialogRef=e,this.data=i,this.nodeService=o,this.formBuilder=s,this.dialog=a,this.processingStarted=!1,this.processingFinished=!1,this.currentlyProcessed=0,this.form=s.group({address:["",Gt.compose([Gt.minLength(20),Gt.maxLength(40)])],nodes:s.array([])}),i.nodes.forEach(l=>{const d=this.formBuilder.group({selected:[!0]});this.form.get("nodes").push(d)}),this.startChecking()}formValid(){if(!this.processingStarted){if(!this.form.valid)return!1;let e=0;return this.form.get("nodes").controls.forEach((i,o)=>{i.get("selected")?.value&&(e+=1)}),e>0}return!0}get disableDismiss(){return this.processingStarted&&!this.processingFinished}startChecking(){this.nodesToEdit=[],this.data.nodes.forEach(e=>{this.nodesToEdit.push({key:e.key,label:e.label,currentAddress:null,operationError:"",processing:!1})}),this.operationSubscriptions=[],this.nodesToEdit.forEach((e,i)=>{this.operationSubscriptions.push(this.nodeService.getRewardsAddress(e.key).subscribe(o=>{this.nodesToEdit[i].currentAddress=o},o=>{this.nodesToEdit[i].operationError=o.translatableErrorMsg?o.translatableErrorMsg:o.originalServerErrorMsg}))})}checkBeforeProcessing(){if(this.form.valid)if(this.form.get("address").value)this.startProcessing();else{const i=Jt.createConfirmationDialog(this.dialog,"bulk-rewards.empty-warning");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.closeModal(),this.startProcessing()})}}startProcessing(){this.processingStarted=!0,this.button.showLoading(),this.closeoperationSubscriptions();const e=[];this.form.get("nodes").controls.forEach((o,s)=>{o.get("selected")?.value&&(this.nodesToEdit[s].operationError="",this.nodesToEdit[s].processing=!0,e.push(this.nodesToEdit[s]))}),this.nodesToEdit=e;const i=this.form.get("address").value;this.form.get("address").disable(),this.currentlyProcessed=0,this.operationSubscriptions=[],this.nodesToEdit.forEach((o,s)=>{let a=this.nodeService.setRewardsAddress(o.key,i);i||(a=this.nodeService.deleteRewardsAddress(o.key)),this.operationSubscriptions.push($e(0).pipe(Ti(100),Ye(()=>a)).subscribe(l=>{this.nodesToEdit[s].processing=!1,this.currentlyProcessed+=1,this.currentlyProcessed===this.nodesToEdit.length&&(this.processingFinished=!0,this.button.reset())},l=>{this.nodesToEdit[s].processing=!1,this.nodesToEdit[s].operationError=l.translatableErrorMsg?l.translatableErrorMsg:l.originalServerErrorMsg,this.currentlyProcessed+=1,this.currentlyProcessed===this.nodesToEdit.length&&(this.processingFinished=!0,this.button.reset())}))})}ngOnDestroy(){this.closeoperationSubscriptions()}closeoperationSubscriptions(){this.operationSubscriptions&&this.operationSubscriptions.forEach(e=>e.unsubscribe())}closeModal(){this.dialogRef.close()}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(ua),Y(xr),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-bulk-reward-address-changer"]],viewQuery:function(e,i){if(1&e&&_t(hK,5),2&e){let o;rt(o=ot())&&(i.button=o.first)}},decls:30,vars:28,consts:[[3,"headline","dialog","disableDismiss"],[3,"formGroup"],[1,"text-container"],["href","https://github.com/skycoin/skywire/blob/master/mainnet_rules.md","target","_blank","rel","noreferrer nofollow noopener"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","address","maxlength","40","matInput","",3,"ngClass"],["formArrayName","nodes",1,"list-container"],["class","list-element",3,"ngClass",4,"ngFor","ngForOf"],[1,"buttons"],["type","mat-raised-button","color","primary",3,"disabled","action"],["button",""],[4,"ngIf"],[1,"list-element",3,"ngClass"],[3,"formGroupName",4,"ngIf"],[3,"formGroupName"],["color","primary","formControlName","selected"],[1,"contents"],[1,"address","contents"],[1,"address-label"],["class","blinking",4,"ngIf"],["class","red-text",4,"ngIf"],[1,"blinking"],[1,"red-text"],[1,"left-area"],[1,"right-area","contents"],[1,"address"],["class","green-text",4,"ngIf"],[1,"green-text"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"div",2)(4,"span"),I(5),R(6,"translate"),C(),D(7,"a",3),I(8),R(9,"translate"),C()(),D(10,"mat-form-field")(11,"div",4)(12,"label",5),I(13),R(14,"translate"),C(),xe(15,"input",6),C(),D(16,"mat-error")(17,"span"),I(18),R(19,"translate"),C()()(),D(20,"div",2),I(21),R(22,"translate"),C(),D(23,"div",7),V(24,CK,3,5,"div",8),C()(),D(25,"div",9)(26,"app-button",10,11),ye("action",function(){return i.processingStarted?i.closeModal():i.checkBeforeProcessing()}),V(28,xK,3,3,"ng-container",12),V(29,kK,3,3,"ng-container",12),C()()()),2&e&&(w("headline",H(1,14,"bulk-rewards.title"))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(2),w("formGroup",i.form),c(3),ce("",H(6,16,"bulk-rewards.info")," "),c(3),ce(" ",H(9,18,"bulk-rewards.more-info-link")," "),c(5),se(H(14,20,"rewards-address-config.address")),c(2),w("ngClass",He(26,SK,i.processingStarted)),c(3),se(H(19,22,"rewards-address-config.address-error")),c(3),ce(" ",H(22,24,"bulk-rewards.select-visors")," "),c(3),w("ngForOf",i.nodesToEdit),c(2),w("disabled",!i.formValid()),c(2),w("ngIf",!i.processingStarted),c(1),w("ngIf",i.processingStarted))},dependencies:[Nn,gi,Ft,zi,Bi,Vi,ji,Cr,ii,Ei,Jh,Qh,ar,sl,kr,fa,Ui,ei,wt],styles:[".text-container[_ngcontent-%COMP%]{word-break:break-word}mat-form-field[_ngcontent-%COMP%]{margin-top:10px}.list-container[_ngcontent-%COMP%]{font-size:14px;margin:10px;color:#215f9e;word-break:break-word}.list-container[_ngcontent-%COMP%] .element-margin[_ngcontent-%COMP%]{margin:15px 0}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%]{display:flex}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-area[_ngcontent-%COMP%]{width:12px;flex-grow:0;flex-shrink:0}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .right-area[_ngcontent-%COMP%]{flex-grow:1}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .contents[_ngcontent-%COMP%]{white-space:normal;line-height:1.2}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .address[_ngcontent-%COMP%]{font-size:.7rem;color:#777}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .address[_ngcontent-%COMP%] .address-label[_ngcontent-%COMP%]{opacity:.7}.buttons[_ngcontent-%COMP%]{margin-top:15px;text-align:right}.buttons[_ngcontent-%COMP%] app-button[_ngcontent-%COMP%]{margin-left:5px}"]}),t})();const TK=["mat-menu-item",""];function LK(t,n){1&t&&(wl(),D(0,"svg",3),xe(1,"polygon",4),C())}const EK=[[["mat-icon"],["","matMenuItemIcon",""]],"*"],IK=["mat-icon, [matMenuItemIcon]","*"];function PK(t,n){if(1&t){const e=et();D(0,"div",0),ye("keydown",function(o){return Pe(e),Oe(z()._handleKeydown(o))})("click",function(){return Pe(e),Oe(z().closed.emit("click"))})("@transformMenu.start",function(o){return Pe(e),Oe(z()._onAnimationStart(o))})("@transformMenu.done",function(o){return Pe(e),Oe(z()._onAnimationDone(o))}),D(1,"div",1),Sn(2),C()()}if(2&t){const e=z();w("id",e.panelId)("ngClass",e._classList)("@transformMenu",e._panelAnimationState),Xt("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby||null)("aria-describedby",e.ariaDescribedby||null)}}const OK=["*"],Y1=new Re("MAT_MENU_PANEL"),AK=Rh(Ed(class{}));let pa=(()=>{class t extends AK{constructor(e,i,o,s,a){super(),this._elementRef=e,this._document=i,this._focusMonitor=o,this._parentMenu=s,this._changeDetectorRef=a,this.role="menuitem",this._hovered=new J,this._focused=new J,this._highlighted=!1,this._triggersSubmenu=!1,s?.addItem?.(this)}focus(e,i){this._focusMonitor&&e?this._focusMonitor.focusVia(this._getHostElement(),e,i):this._getHostElement().focus(i),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(e){this.disabled&&(e.preventDefault(),e.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){const e=this._elementRef.nativeElement.cloneNode(!0),i=e.querySelectorAll("mat-icon, .material-icons");for(let o=0;o enter",Ur("120ms cubic-bezier(0, 0, 0.2, 1)",Qn({opacity:1,transform:"scale(1)"}))),Pr("* => void",Ur("100ms 25ms linear",Qn({opacity:0})))]),fadeInItems:ia("fadeInItems",[yo("showing",Qn({opacity:1})),Pr("void => *",[Qn({opacity:0}),Ur("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let RK=0;const GI=new Re("mat-menu-default-options",{providedIn:"root",factory:function NK(){return{overlapTrigger:!1,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"}}});let nf=(()=>{class t{get xPosition(){return this._xPosition}set xPosition(e){this._xPosition=e,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(e){this._yPosition=e,this.setPositionClasses()}get overlapTrigger(){return this._overlapTrigger}set overlapTrigger(e){this._overlapTrigger=_n(e)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(e){this._hasBackdrop=_n(e)}set panelClass(e){const i=this._previousPanelClass;i&&i.length&&i.split(" ").forEach(o=>{this._classList[o]=!1}),this._previousPanelClass=e,e&&e.length&&(e.split(" ").forEach(o=>{this._classList[o]=!0}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(e){this.panelClass=e}constructor(e,i,o,s){this._elementRef=e,this._ngZone=i,this._changeDetectorRef=s,this._directDescendantItems=new Al,this._classList={},this._panelAnimationState="void",this._animationDone=new J,this.closed=new ht,this.close=this.closed,this.panelId="mat-menu-panel-"+RK++,this.overlayPanelClass=o.overlayPanelClass||"",this._xPosition=o.xPosition,this._yPosition=o.yPosition,this.backdropClass=o.backdropClass,this._overlapTrigger=o.overlapTrigger,this._hasBackdrop=o.hasBackdrop}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new _L(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe(Go(this._directDescendantItems),gr(e=>bt(...e.map(i=>i._focused)))).subscribe(e=>this._keyManager.updateActiveItem(e)),this._directDescendantItems.changes.subscribe(e=>{const i=this._keyManager;if("enter"===this._panelAnimationState&&i.activeItem?._hasFocus()){const o=e.toArray(),s=Math.max(0,Math.min(o.length-1,i.activeItemIndex||0));o[s]&&!o[s].disabled?i.setActiveItem(s):i.setNextItemActive()}})}ngOnDestroy(){this._keyManager?.destroy(),this._directDescendantItems.destroy(),this.closed.complete(),this._firstItemFocusSubscription?.unsubscribe()}_hovered(){return this._directDescendantItems.changes.pipe(Go(this._directDescendantItems),gr(i=>bt(...i.map(o=>o._hovered))))}addItem(e){}removeItem(e){}_handleKeydown(e){const i=e.keyCode,o=this._keyManager;switch(i){case 27:Fs(e)||(e.preventDefault(),this.closed.emit("keydown"));break;case 37:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case 39:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:return(38===i||40===i)&&o.setFocusOrigin("keyboard"),void o.onKeydown(e)}e.stopPropagation()}focusFirstItem(e="program"){this._firstItemFocusSubscription?.unsubscribe(),this._firstItemFocusSubscription=this._ngZone.onStable.pipe(Kn(1)).subscribe(()=>{let i=null;if(this._directDescendantItems.length&&(i=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),!i||!i.contains(document.activeElement)){const o=this._keyManager;o.setFocusOrigin(e).setFirstItemActive(),!o.activeItem&&i&&i.focus()}})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(e){const i=Math.min(this._baseElevation+e,24),o=`${this._elevationPrefix}${i}`,s=Object.keys(this._classList).find(a=>a.startsWith(this._elevationPrefix));(!s||s===this._previousElevation)&&(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[o]=!0,this._previousElevation=o)}setPositionClasses(e=this.xPosition,i=this.yPosition){const o=this._classList;o["mat-menu-before"]="before"===e,o["mat-menu-after"]="after"===e,o["mat-menu-above"]="above"===i,o["mat-menu-below"]="below"===i,this._changeDetectorRef?.markForCheck()}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(e){this._animationDone.next(e),this._isAnimating=!1}_onAnimationStart(e){this._isAnimating=!0,"enter"===e.toState&&0===this._keyManager.activeItemIndex&&(e.element.scrollTop=0)}_updateDirectDescendants(){this._allItems.changes.pipe(Go(this._allItems)).subscribe(e=>{this._directDescendantItems.reset(e.filter(i=>i._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ft),Y(GI),Y(pi))},t.\u0275dir=Ke({type:t,contentQueries:function(e,i,o){if(1&e&&(or(o,FK,5),or(o,pa,5),or(o,pa,4)),2&e){let s;rt(s=ot())&&(i.lazyContent=s.first),rt(s=ot())&&(i._allItems=s),rt(s=ot())&&(i.items=s)}},viewQuery:function(e,i){if(1&e&&_t(mr,5),2&e){let o;rt(o=ot())&&(i.templateRef=o.first)}},inputs:{backdropClass:"backdropClass",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:"overlapTrigger",hasBackdrop:"hasBackdrop",panelClass:["class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"}}),t})(),Yd=(()=>{class t extends nf{constructor(e,i,o,s){super(e,i,o,s),this._elevationPrefix="mat-elevation-z",this._baseElevation=8}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ft),Y(GI),Y(pi))},t.\u0275cmp=Ze({type:t,selectors:[["mat-menu"]],hostAttrs:["ngSkipHydration","true"],hostVars:3,hostBindings:function(e,i){2&e&&Xt("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},exportAs:["matMenu"],features:[un([{provide:Y1,useExisting:t}]),nt],ngContentSelectors:OK,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-mdc-menu-panel","mdc-menu-surface","mdc-menu-surface--open","mat-mdc-elevation-specific",3,"id","ngClass","keydown","click"],[1,"mat-mdc-menu-content","mdc-list"]],template:function(e,i){1&e&&(Ir(),V(0,PK,3,6,"ng-template"))},dependencies:[Nn],styles:['.mdc-menu-surface{display:none;position:absolute;box-sizing:border-box;margin:0;padding:0;transform:scale(1);transform-origin:top left;opacity:0;overflow:auto;will-change:transform,opacity;transform-origin-left:top left;transform-origin-right:top right}.mdc-menu-surface:focus{outline:none}.mdc-menu-surface--animating-open{display:inline-block;transform:scale(0.8);opacity:0}.mdc-menu-surface--open{display:inline-block;transform:scale(1);opacity:1}.mdc-menu-surface--animating-closed{display:inline-block;opacity:0}[dir=rtl] .mdc-menu-surface,.mdc-menu-surface[dir=rtl]{transform-origin-left:top right;transform-origin-right:top left}.mdc-menu-surface--anchor{position:relative;overflow:visible}.mdc-menu-surface--fixed{position:fixed}.mdc-menu-surface--fullwidth{width:100%}.mdc-menu-surface{max-width:var(--mdc-menu-max-width, calc(100vw - 32px));max-height:var(--mdc-menu-max-height, calc(100vh - 32px));z-index:8;border-radius:var(--mdc-shape-medium, 4px)}mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;list-style-type:none}.mat-mdc-menu-content:focus{outline:none}.mat-mdc-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-mdc-menu-panel{outline:solid 1px}.mat-mdc-menu-panel.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;position:relative}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:16px;padding-right:16px;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px}.mat-mdc-menu-item:focus{outline:none}[dir=rtl] .mat-mdc-menu-item,.mat-mdc-menu-item[dir=rtl]{padding-left:16px;padding-right:16px}.mat-mdc-menu-item::-moz-focus-inner{border:0}.mat-mdc-menu-item.mdc-list-item{align-items:center}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item .mat-icon{margin-right:16px}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:16px}.mat-mdc-menu-item .mdc-list-item__primary-text{white-space:normal}.mat-mdc-menu-item.mat-mdc-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-mdc-menu-item.mat-mdc-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.cdk-high-contrast-active .mat-mdc-menu-item{margin-top:1px}.mat-mdc-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-mdc-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-mdc-menu-submenu-icon{fill:CanvasText}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}'],encapsulation:2,data:{animation:[Ig.transformMenu,Ig.fadeInItems]},changeDetection:0}),t})();const qI=new Re("mat-menu-scroll-strategy"),HK={provide:qI,deps:[io],useFactory:function YK(t){return()=>t.scrollStrategies.reposition()}},KI=Za({passive:!0});let BK=(()=>{class t{get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(e){this.menu=e}get menu(){return this._menu}set menu(e){e!==this._menu&&(this._menu=e,this._menuCloseSubscription.unsubscribe(),e&&(this._menuCloseSubscription=e.close.subscribe(i=>{this._destroyMenu(i),("click"===i||"tab"===i)&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(i)})),this._menuItemInstance?._setTriggersSubmenu(this.triggersSubmenu()))}constructor(e,i,o,s,a,l,d,_,E){this._overlay=e,this._element=i,this._viewContainerRef=o,this._menuItemInstance=l,this._dir=d,this._focusMonitor=_,this._ngZone=E,this._overlayRef=null,this._menuOpen=!1,this._closingActionsSubscription=T.EMPTY,this._hoverSubscription=T.EMPTY,this._menuCloseSubscription=T.EMPTY,this._changeDetectorRef=Qe(pi),this._handleTouchStart=F=>{q0(F)||(this._openedBy="touch")},this._openedBy=void 0,this.restoreFocus=!0,this.menuOpened=new ht,this.onMenuOpen=this.menuOpened,this.menuClosed=new ht,this.onMenuClose=this.menuClosed,this._scrollStrategy=s,this._parentMaterialMenu=a instanceof nf?a:void 0,i.nativeElement.addEventListener("touchstart",this._handleTouchStart,KI)}ngAfterContentInit(){this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,KI),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this.menu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){const e=this.menu;if(this._menuOpen||!e)return;const i=this._createOverlay(e),o=i.getConfig(),s=o.positionStrategy;this._setPosition(e,s),o.hasBackdrop=null==e.hasBackdrop?!this.triggersSubmenu():e.hasBackdrop,i.attach(this._getPortal(e)),e.lazyContent&&e.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(e),e instanceof nf&&(e._startAnimation(),e._directDescendantItems.changes.pipe(Hn(e.close)).subscribe(()=>{s.withLockedPosition(!1).reapplyLastPosition(),s.withLockedPosition(!0)}))}closeMenu(){this.menu?.close.emit()}focus(e,i){this._focusMonitor&&e?this._focusMonitor.focusVia(this._element,e,i):this._element.nativeElement.focus(i)}updatePosition(){this._overlayRef?.updatePosition()}_destroyMenu(e){if(!this._overlayRef||!this.menuOpen)return;const i=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),this.restoreFocus&&("keydown"===e||!this._openedBy||!this.triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,i instanceof nf?(i._resetAnimation(),i.lazyContent?i._animationDone.pipe(_i(o=>"void"===o.toState),Kn(1),Hn(i.lazyContent._attached)).subscribe({next:()=>i.lazyContent.detach(),complete:()=>this._setIsMenuOpen(!1)}):this._setIsMenuOpen(!1)):(this._setIsMenuOpen(!1),i?.lazyContent?.detach())}_initMenu(e){e.parentMenu=this.triggersSubmenu()?this._parentMaterialMenu:void 0,e.direction=this.dir,this._setMenuElevation(e),e.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0)}_setMenuElevation(e){if(e.setElevation){let i=0,o=e.parentMenu;for(;o;)i++,o=o.parentMenu;e.setElevation(i)}}_setIsMenuOpen(e){e!==this._menuOpen&&(this._menuOpen=e,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&this._menuItemInstance._setHighlighted(e),this._changeDetectorRef.markForCheck())}_createOverlay(e){if(!this._overlayRef){const i=this._getOverlayConfig(e);this._subscribeToPositions(e,i.positionStrategy),this._overlayRef=this._overlay.create(i),this._overlayRef.keydownEvents().subscribe()}return this._overlayRef}_getOverlayConfig(e){return new Oh({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:e.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:e.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(e,i){e.setPositionClasses&&i.positionChanges.subscribe(o=>{const s="start"===o.connectionPair.overlayX?"after":"before",a="top"===o.connectionPair.overlayY?"below":"above";this._ngZone?this._ngZone.run(()=>e.setPositionClasses(s,a)):e.setPositionClasses(s,a)})}_setPosition(e,i){let[o,s]="before"===e.xPosition?["end","start"]:["start","end"],[a,l]="above"===e.yPosition?["bottom","top"]:["top","bottom"],[d,_]=[a,l],[E,F]=[o,s],G=0;if(this.triggersSubmenu()){if(F=o="before"===e.xPosition?"start":"end",s=E="end"===o?"start":"end",this._parentMaterialMenu){if(null==this._parentInnerPadding){const ie=this._parentMaterialMenu.items.first;this._parentInnerPadding=ie?ie._getHostElement().offsetTop:0}G="bottom"===a?this._parentInnerPadding:-this._parentInnerPadding}}else e.overlapTrigger||(d="top"===a?"bottom":"top",_="top"===l?"bottom":"top");i.withPositions([{originX:o,originY:d,overlayX:E,overlayY:a,offsetY:G},{originX:s,originY:d,overlayX:F,overlayY:a,offsetY:G},{originX:o,originY:_,overlayX:E,overlayY:l,offsetY:-G},{originX:s,originY:_,overlayX:F,overlayY:l,offsetY:-G}])}_menuClosingActions(){const e=this._overlayRef.backdropClick(),i=this._overlayRef.detachments();return bt(e,this._parentMaterialMenu?this._parentMaterialMenu.closed:$e(),this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe(_i(a=>a!==this._menuItemInstance),_i(()=>this._menuOpen)):$e(),i)}_handleMousedown(e){G0(e)||(this._openedBy=0===e.button?"mouse":void 0,this.triggersSubmenu()&&e.preventDefault())}_handleKeydown(e){const i=e.keyCode;(13===i||32===i)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(39===i&&"ltr"===this.dir||37===i&&"rtl"===this.dir)&&(this._openedBy="keyboard",this.openMenu())}_handleClick(e){this.triggersSubmenu()?(e.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){!this.triggersSubmenu()||!this._parentMaterialMenu||(this._hoverSubscription=this._parentMaterialMenu._hovered().pipe(_i(e=>e===this._menuItemInstance&&!e.disabled),Ti(0,E0)).subscribe(()=>{this._openedBy="mouse",this.menu instanceof nf&&this.menu._isAnimating?this.menu._animationDone.pipe(Kn(1),Ti(0,E0),Hn(this._parentMaterialMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}_getPortal(e){return(!this._portal||this._portal.templateRef!==e.templateRef)&&(this._portal=new Gl(e.templateRef,this._viewContainerRef)),this._portal}}return t.\u0275fac=function(e){return new(e||t)(Y(io),Y(vt),Y(rr),Y(qI),Y(Y1,8),Y(pa,10),Y(Do,8),Y(Qa),Y(ft))},t.\u0275dir=Ke({type:t,hostVars:3,hostBindings:function(e,i){1&e&&ye("click",function(s){return i._handleClick(s)})("mousedown",function(s){return i._handleMousedown(s)})("keydown",function(s){return i._handleKeydown(s)}),2&e&&Xt("aria-haspopup",i.menu?"menu":null)("aria-expanded",i.menuOpen)("aria-controls",i.menuOpen?i.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:["mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:["matMenuTriggerFor","menu"],menuData:["matMenuTriggerData","menuData"],restoreFocus:["matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"}}),t})(),Hd=(()=>{class t extends BK{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275dir=Ke({type:t,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-mdc-menu-trigger"],exportAs:["matMenuTrigger"],features:[nt]}),t})(),VK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[HK],imports:[ta,Yh,Wn,Td,Lh,Wn]}),t})();const ZI=function(){return["1"]};function jK(t,n){if(1&t&&(D(0,"a",10)(1,"mat-icon",11),I(2,"chevron_left"),C(),I(3),R(4,"translate"),C()),2&t){const e=z();w("routerLink",e.linkParts.concat(qn(6,ZI)))("queryParams",e.queryParams),c(1),w("inline",!0),c(2),ce(" ",H(4,4,"paginator.first")," ")}}function zK(t,n){if(1&t&&(D(0,"a",12)(1,"mat-icon",11),I(2,"chevron_left"),C(),D(3,"span",13),I(4),R(5,"translate"),C()()),2&t){const e=z();w("routerLink",e.linkParts.concat(qn(6,ZI)))("queryParams",e.queryParams),c(1),w("inline",!0),c(3),se(H(5,4,"paginator.first"))}}const al=function(t){return[t]};function UK(t,n){if(1&t&&(D(0,"a",10)(1,"div")(2,"mat-icon",11),I(3,"chevron_left"),C()()()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(3,al,(e.currentPage-1).toString())))("queryParams",e.queryParams),c(2),w("inline",!0)}}function WK(t,n){if(1&t&&(D(0,"a",10),I(1),C()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(3,al,(e.currentPage-2).toString())))("queryParams",e.queryParams),c(1),se(e.currentPage-2)}}function $K(t,n){if(1&t&&(D(0,"a",14),I(1),C()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(3,al,(e.currentPage-1).toString())))("queryParams",e.queryParams),c(1),se(e.currentPage-1)}}function GK(t,n){if(1&t&&(D(0,"a",14),I(1),C()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(3,al,(e.currentPage+1).toString())))("queryParams",e.queryParams),c(1),se(e.currentPage+1)}}function qK(t,n){if(1&t&&(D(0,"a",10),I(1),C()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(3,al,(e.currentPage+2).toString())))("queryParams",e.queryParams),c(1),se(e.currentPage+2)}}function KK(t,n){if(1&t&&(D(0,"a",10)(1,"div")(2,"mat-icon",11),I(3,"chevron_right"),C()()()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(3,al,(e.currentPage+1).toString())))("queryParams",e.queryParams),c(2),w("inline",!0)}}function ZK(t,n){if(1&t&&(D(0,"a",10),I(1),R(2,"translate"),D(3,"mat-icon",11),I(4,"chevron_right"),C()()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(6,al,e.numberOfPages.toString())))("queryParams",e.queryParams),c(1),ce(" ",H(2,4,"paginator.last")," "),c(2),w("inline",!0)}}function XK(t,n){if(1&t&&(D(0,"a",12)(1,"mat-icon",11),I(2,"chevron_right"),C(),D(3,"span",13),I(4),R(5,"translate"),C()()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(6,al,e.numberOfPages.toString())))("queryParams",e.queryParams),c(1),w("inline",!0),c(3),se(H(5,4,"paginator.last"))}}const XI=function(t){return{number:t}};function JK(t,n){if(1&t&&(D(0,"div",15),I(1),R(2,"translate"),C()),2&t){const e=z();c(1),se(kt(2,1,"paginator.total",He(4,XI,e.numberOfPages)))}}function QK(t,n){if(1&t&&(D(0,"div",16),I(1),R(2,"translate"),C()),2&t){const e=z();c(1),se(kt(2,1,"paginator.total",He(4,XI,e.numberOfPages)))}}let Bd=(()=>{class t{constructor(e,i){this.dialog=e,this.router=i,this.linkParts=[""],this.queryParams={}}openSelectionDialog(){const e=[];for(let i=1;i<=this.numberOfPages;i++)e.push({label:i.toString()});qr.openDialog(this.dialog,e,"paginator.select-page-title").afterClosed().subscribe(i=>{i&&this.router.navigate(this.linkParts.concat([i.toString()]),{queryParams:this.queryParams})})}}return t.\u0275fac=function(e){return new(e||t)(Y(In),Y(hn))},t.\u0275cmp=Ze({type:t,selectors:[["app-paginator"]],inputs:{currentPage:"currentPage",numberOfPages:"numberOfPages",linkParts:"linkParts",queryParams:"queryParams"},decls:21,vars:13,consts:[[1,"main-container"],[1,"d-inline-block","small-rounded-elevated-box","mt-3"],[1,"d-flex"],[1,"responsive-height","d-md-none"],["class","d-none d-md-flex",3,"routerLink","queryParams",4,"ngIf"],["class","d-flex d-md-none flex-column",3,"routerLink","queryParams",4,"ngIf"],[3,"routerLink","queryParams",4,"ngIf"],[1,"selected",3,"click"],["class","d-none d-md-block total-pages",4,"ngIf"],["class","d-block d-md-none total-pages",4,"ngIf"],[1,"d-none","d-md-flex",3,"routerLink","queryParams"],[3,"inline"],[1,"d-flex","d-md-none","flex-column",3,"routerLink","queryParams"],[1,"label"],[3,"routerLink","queryParams"],[1,"d-none","d-md-block","total-pages"],[1,"d-block","d-md-none","total-pages"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3),I(4,"\xa0"),xe(5,"br"),I(6,"\xa0"),C(),V(7,jK,5,7,"a",4),V(8,zK,6,7,"a",5),V(9,UK,4,5,"a",4),V(10,WK,2,5,"a",4),V(11,$K,2,5,"a",6),D(12,"a",7),ye("click",function(){return i.openSelectionDialog()}),I(13),C(),V(14,GK,2,5,"a",6),V(15,qK,2,5,"a",4),V(16,KK,4,5,"a",4),V(17,ZK,5,8,"a",4),V(18,XK,6,8,"a",5),C()(),V(19,JK,3,6,"div",8),V(20,QK,3,6,"div",9),C()),2&e&&(c(7),w("ngIf",i.currentPage>3),c(1),w("ngIf",i.currentPage>2),c(1),w("ngIf",i.currentPage>1),c(1),w("ngIf",i.currentPage>2),c(1),w("ngIf",i.currentPage>1),c(2),se(i.currentPage),c(1),w("ngIf",i.currentPage3),c(1),w("ngIf",i.numberOfPages>2))},dependencies:[Ft,qa,Cn,wt],styles:[".main-container[_ngcontent-%COMP%]{text-align:right}.main-container[_ngcontent-%COMP%] .responsive-height[_ngcontent-%COMP%]{padding:10px 0;width:0px}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{padding:10px;border-right:rgba(255,255,255,.15) solid 1px;border-left:rgba(255,255,255,.15) solid 1px;min-width:40px;text-align:center;color:#f8f9f980;text-decoration:none;display:flex;align-items:center;justify-content:center}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background:rgba(0,0,0,.2)}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:2px}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.7rem}.main-container[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]{color:#f8f9f9;background:rgba(0,0,0,.36);padding:10px 20px;cursor:pointer}.main-container[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]:hover{background:rgba(0,0,0,.6)}.main-container[_ngcontent-%COMP%] .total-pages[_ngcontent-%COMP%]{font-size:.6rem;margin-top:-3px;margin-right:4px}"]}),t})();function rf(t){return n=>n.lift(new eZ(t,n))}class eZ{constructor(n,e){this.notifier=n,this.source=e}call(n,e){return e.subscribe(new tZ(n,this.notifier,this.source))}}class tZ extends Me{constructor(n,e,i){super(n),this.notifier=e,this.source=i}error(n){if(!this.isStopped){let e=this.errors,i=this.retries,o=this.retriesSubscription;if(i)this.errors=void 0,this.retriesSubscription=void 0;else{e=new J;try{const{notifier:s}=this;i=s(e)}catch(s){return super.error(s)}o=Ie(i,new be(this))}this._unsubscribeAndRecycle(),this.errors=e,this.retries=i,this.retriesSubscription=o,e.next(n)}}_unsubscribe(){const{errors:n,retriesSubscription:e}=this;n&&(n.unsubscribe(),this.errors=void 0),e&&(e.unsubscribe(),this.retriesSubscription=void 0),this.retries=void 0}notifyNext(){const{_unsubscribe:n}=this;this._unsubscribe=null,this._unsubscribeAndRecycle(),this._unsubscribe=n,this.source.subscribe(this)}}let ll=(()=>{class t{constructor(e){this.apiService=e}changeAppState(e,i,o){return this.apiService.put(`visors/${e}/apps/${encodeURIComponent(i)}`,{status:o?1:0})}changeAppAutostart(e,i,o){return this.changeAppSettings(e,i,{autostart:o})}changeAppSettings(e,i,o){return this.apiService.put(`visors/${e}/apps/${encodeURIComponent(i)}`,o)}getLogMessages(e,i,o){const a=KS(-1!==o?Date.now()-864e5*o:0,"yyyy-MM-ddTHH:mm:ssZZZZZ","en-US");return this.apiService.get(this.getLogMessagesUrl(e,i)+`?since=${a}`).pipe(ke(l=>l.logs))}getLogMessagesUrl(e,i){return`visors/${e}/apps/${encodeURIComponent(i)}/logs`}}return t.\u0275fac=function(e){return new(e||t)(we(il))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var Pn=(()=>((Pn=Pn||{}).None="None",Pn.Favorite="Favorite",Pn.Blocked="Blocked",Pn))(),Sr=(()=>((Sr=Sr||{}).BitsSpeedAndBytesVolume="BitsSpeedAndBytesVolume",Sr.OnlyBytes="OnlyBytes",Sr.OnlyBits="OnlyBits",Sr))();let rc=(()=>{class t{constructor(e,i){this.router=e,this.storageService=i,this.maxHistoryElements=30,this.savedServersStorageKey="VpnServers",this.checkIpSettingStorageKey="VpnGetIp",this.dataUnitsSettingStorageKey="VpnDataUnits",this.serversMap=new Map,this.savedDataVersion=0,this.currentServerSubject=new ko(1),this.historySubject=new ko(1),this.favoritesSubject=new ko(1),this.blockedSubject=new ko(1)}initialize(){this.migrateDataToHvStorage(),this.serversMap=new Map;const e=this.storageService.getDataForHv(this.savedServersStorageKey);if(e){const i=JSON.parse(e);i.serverList.forEach(o=>{this.serversMap.set(o.pk,o)}),this.savedDataVersion=i.version,i.selectedServerPk&&this.updateCurrentServerPk(i.selectedServerPk)}this.launchListEvents()}migrateDataToHvStorage(){const e=localStorage.getItem(this.savedServersStorageKey);e&&(this.storageService.setDataForHv(this.savedServersStorageKey,e),localStorage.removeItem(this.savedServersStorageKey));const i=localStorage.getItem(this.checkIpSettingStorageKey);i&&(this.storageService.setDataForHv(this.checkIpSettingStorageKey,i),localStorage.removeItem(this.checkIpSettingStorageKey));const o=localStorage.getItem(this.dataUnitsSettingStorageKey);o&&(this.storageService.setDataForHv(this.dataUnitsSettingStorageKey,o),localStorage.removeItem(this.dataUnitsSettingStorageKey))}get currentServer(){return this.serversMap.get(this.currentServerPk)}get currentServerObservable(){return this.currentServerSubject.asObservable()}get history(){return this.historySubject.asObservable()}get favorites(){return this.favoritesSubject.asObservable()}get blocked(){return this.blockedSubject.asObservable()}getSavedVersion(e,i){return i&&this.checkIfDataWasChanged(),this.serversMap.get(e)}getCheckIpSetting(){const e=this.storageService.getDataForHv(this.checkIpSettingStorageKey);return null==e||"false"!==e}setCheckIpSetting(e){this.storageService.setDataForHv(this.checkIpSettingStorageKey,e?"true":"false")}getDataUnitsSetting(){return this.storageService.getDataForHv(this.dataUnitsSettingStorageKey)??Sr.BitsSpeedAndBytesVolume}setDataUnitsSetting(e){this.storageService.setDataForHv(this.dataUnitsSettingStorageKey,e)}updateFromDiscovery(e){this.checkIfDataWasChanged(),e.forEach(i=>{if(this.serversMap.has(i.pk)){const o=this.serversMap.get(i.pk);o.countryCode=i.countryCode,o.name=i.name,o.location=i.location,o.note=i.note}}),this.saveData()}updateServer(e){this.serversMap.set(e.pk,e),this.cleanServers(),this.saveData()}processFromDiscovery(e){this.checkIfDataWasChanged();const i=this.serversMap.get(e.pk);return i?(i.countryCode=e.countryCode,i.name=e.name,i.location=e.location,i.note=e.note,this.saveData(),i):{countryCode:e.countryCode,name:e.name,customName:null,pk:e.pk,lastUsed:0,inHistory:!1,flag:Pn.None,location:e.location,personalNote:null,note:e.note,enteredManually:!1,usedWithPassword:!1}}processFromManual(e){this.checkIfDataWasChanged();const i=this.serversMap.get(e.pk);return i?(i.customName=e.name,i.personalNote=e.note,i.enteredManually=!0,this.saveData(),i):{countryCode:"zz",name:"",customName:e.name,pk:e.pk,lastUsed:0,inHistory:!1,flag:Pn.None,location:"",personalNote:e.note,note:"",enteredManually:!0,usedWithPassword:!1}}changeFlag(e,i){this.checkIfDataWasChanged();const o=this.serversMap.get(e.pk);o&&(e=o),e.flag!==i&&(e.flag=i,this.serversMap.has(e.pk)||this.serversMap.set(e.pk,e),this.cleanServers(),this.saveData())}removeFromHistory(e){this.checkIfDataWasChanged();const i=this.serversMap.get(e);!i||!i.inHistory||(i.inHistory=!1,this.cleanServers(),this.saveData())}modifyCurrentServer(e){this.checkIfDataWasChanged(),e.pk!==this.currentServerPk&&(this.serversMap.has(e.pk)||this.serversMap.set(e.pk,e),this.updateCurrentServerPk(e.pk),this.cleanServers(),this.saveData())}compareCurrentServer(e){if(this.checkIfDataWasChanged(),e){if(!this.currentServerPk||this.currentServerPk!==e){if(this.currentServerPk=e,!this.serversMap.get(e)){const o=this.processFromManual({pk:e});this.serversMap.set(o.pk,o),this.cleanServers()}this.saveData(),this.currentServerSubject.next(this.currentServer)}}else this.currentServerPk&&(this.currentServerPk=null,this.saveData(),this.currentServerSubject.next(this.currentServer))}updateHistory(){this.checkIfDataWasChanged(),this.currentServer.lastUsed=Date.now(),this.currentServer.inHistory=!0;let e=[];this.serversMap.forEach(o=>{o.inHistory&&e.push(o)}),e=e.sort((o,s)=>s.lastUsed-o.lastUsed);let i=0;e.forEach(o=>{i{!i.inHistory&&i.flag===Pn.None&&i.pk!==this.currentServerPk&&!i.customName&&!i.personalNote&&e.push(i.pk)}),e.forEach(i=>{this.serversMap.delete(i)})}saveData(){let e=0;const i=this.storageService.getDataForHv(this.savedServersStorageKey);if(i&&(e=JSON.parse(i).version),e!==this.savedDataVersion)return void this.router.navigate(["vpn","unavailable"],{queryParams:{problem:"storage"}});this.savedDataVersion+=1;const o={version:this.savedDataVersion,serverList:Array.from(this.serversMap.values()),selectedServerPk:this.currentServerPk},s=JSON.stringify(o);this.storageService.setDataForHv(this.savedServersStorageKey,s),this.launchListEvents()}checkIfDataWasChanged(){let e=0;const i=this.storageService.getDataForHv(this.savedServersStorageKey);i&&(e=JSON.parse(i).version),e!==this.savedDataVersion&&this.initialize()}launchListEvents(){const e=[],i=[],o=[];this.serversMap.forEach(s=>{s.inHistory&&e.push(s),s.flag===Pn.Favorite&&i.push(s),s.flag===Pn.Blocked&&o.push(s)}),this.historySubject.next(e),this.favoritesSubject.next(i),this.blockedSubject.next(o)}updateCurrentServerPk(e){this.currentServerPk=e,this.currentServerSubject.next(this.currentServer)}}return t.\u0275fac=function(e){return new(e||t)(we(hn),we(Ji))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var on=(()=>((on=on||{}).Stopped="stopped",on.Connecting="Connecting",on.Running="Running",on.ShuttingDown="Shutting down",on.Reconnecting="Connection failed, reconnecting",on))();class nZ{constructor(){this.updateDate=Date.now()}}class iZ{}class rZ{constructor(){this.latency=0,this.uploadSpeed=0,this.downloadSpeed=0,this.totalUploaded=0,this.totalDownloaded=0,this.connectionDuration=0,this.error=""}}var jn=(()=>((jn=jn||{})[jn.PerformingInitialCheck=1]="PerformingInitialCheck",jn[jn.Off=10]="Off",jn[jn.Starting=20]="Starting",jn[jn.Running=100]="Running",jn[jn.Disconnecting=200]="Disconnecting",jn))(),yi=(()=>((yi=yi||{})[yi.Busy=1]="Busy",yi[yi.Ok=2]="Ok",yi[yi.MustStop=3]="MustStop",yi[yi.SamePkRunning=4]="SamePkRunning",yi[yi.SamePkStopped=5]="SamePkStopped",yi))();let oc=(()=>{class t{constructor(e,i,o,s,a,l,d){this.apiService=e,this.appsService=i,this.router=o,this.vpnSavedDataService=s,this.http=a,this.snackbarService=l,this.translateService=d,this.vpnClientAppName="vpn-client",this.standardWaitTime=2e3,this.stateSubject=new Or(null),this.errorSubject=new Or(!1),this.working=!0,this.requestedServer=null,this.requestedPassword=null,this.updatesStopped=!1,this.currentEventData=new nZ,this.currentEventData.busy=!0,this.lastServiceState=jn.PerformingInitialCheck}initialize(e){e&&(this.nodeKey?e!==this.nodeKey?this.router.navigate(["vpn","unavailable"],{queryParams:{problem:"pkChange"}}):this.updatesStopped&&(this.updatesStopped=!1,this.updateData()):(this.nodeKey=e,this.vpnSavedDataService.initialize(),this.updateData()))}get backendState(){return this.stateSubject.asObservable()}get errorsConnecting(){return this.errorSubject.asObservable()}updateData(){this.continuallyUpdateData(0)}start(){return!this.working&&this.lastServiceState<20&&(this.changeAppState(!0),!0)}stop(){return!this.working&&this.lastServiceState>=20&&this.lastServiceState<200&&(this.changeAppState(!1),!0)}getIpData(){return this.http.request("GET",window.location.protocol+"//ip.skycoin.com/").pipe(rf(e=>Ua(e.pipe(Ti(this.standardWaitTime),Kn(4)),Ar(""))),ke(e=>{let i="";i=e&&e.ip_address?e.ip_address:this.translateService.instant("common.unknown");let o="";return o=e&&e.country_name?e.country_name:this.translateService.instant("common.unknown"),[i,o]}))}changeServerUsingHistory(e,i){return this.requestedServer=e,this.requestedPassword=i,this.updateRequestedServerPasswordSetting(),this.changeServer()}changeServerUsingDiscovery(e,i){return this.requestedServer=this.vpnSavedDataService.processFromDiscovery(e),this.requestedPassword=i,this.updateRequestedServerPasswordSetting(),this.changeServer()}changeServerManually(e,i){return this.requestedServer=this.vpnSavedDataService.processFromManual(e),this.requestedPassword=i,this.updateRequestedServerPasswordSetting(),this.changeServer()}updateRequestedServerPasswordSetting(){this.requestedServer.usedWithPassword=!!this.requestedPassword&&""!==this.requestedPassword;const e=this.vpnSavedDataService.getSavedVersion(this.requestedServer.pk,!0);e&&(e.usedWithPassword=this.requestedServer.usedWithPassword,this.vpnSavedDataService.updateServer(e))}changeServer(){return!this.working&&(this.stop()||this.processServerChange(),!0)}checkNewPk(e){return this.working?yi.Busy:this.lastServiceState!==jn.Off?e===this.vpnSavedDataService.currentServer.pk?yi.SamePkRunning:yi.MustStop:this.vpnSavedDataService.currentServer&&e===this.vpnSavedDataService.currentServer.pk?yi.SamePkStopped:yi.Ok}processServerChange(){this.dataSubscription&&this.dataSubscription.unsubscribe();const e={pk:this.requestedServer.pk};e.passcode=this.requestedPassword?this.requestedPassword:"",this.stopContinuallyUpdatingData(),this.working=!0,this.sendUpdate(),this.dataSubscription=this.appsService.changeAppSettings(this.nodeKey,this.vpnClientAppName,e).subscribe(()=>{this.vpnSavedDataService.modifyCurrentServer(this.requestedServer),this.requestedServer=null,this.requestedPassword=null,this.working=!1,this.start()},i=>{i=en(i),this.snackbarService.showError("vpn.server-change.backend-error",null,!1,i.originalServerErrorMsg),this.working=!1,this.requestedServer=null,this.requestedPassword=null,this.sendUpdate(),this.updateData()})}changeAppState(e){if(this.working)return;this.stopContinuallyUpdatingData(),this.working=!0,this.sendUpdate();const i={status:1};e?(this.lastServiceState=jn.Starting,this.connectionHistoryPk=null):(this.lastServiceState=jn.Disconnecting,i.status=0),this.dataSubscription&&this.dataSubscription.unsubscribe(),this.dataSubscription=this.appsService.changeAppSettings(this.nodeKey,this.vpnClientAppName,i).pipe(Co(o=>this.getVpnClientState().pipe(Ye(s=>{if(s){if(e&&s.running)return $e(!0);if(!e&&!s.running)return $e(!0)}return Ar(o)}))),rf(o=>Ua(o.pipe(Ti(this.standardWaitTime),Kn(3)),o.pipe(Ye(s=>Ar(s)))))).subscribe(o=>{this.working=!1;const s=this.processAppData(o);this.lastServiceState=s.running?jn.Running:jn.Off,this.currentEventData.vpnClientAppData=s,this.currentEventData.updateDate=Date.now(),this.sendUpdate(),this.updateData(),!e&&this.requestedServer&&this.processServerChange()},o=>{o=en(o),this.snackbarService.showError(this.lastServiceState===jn.Starting?"vpn.status-page.problem-starting-error":this.lastServiceState===jn.Disconnecting?"vpn.status-page.problem-stopping-error":"vpn.status-page.generic-problem-error",null,!1,o.originalServerErrorMsg),this.working=!1,this.sendUpdate(),this.updateData()})}continuallyUpdateData(e){if(this.working&&this.lastServiceState!==jn.PerformingInitialCheck)return;this.continuousUpdateSubscription&&this.continuousUpdateSubscription.unsubscribe();let i=0;this.continuousUpdateSubscription=$e(0).pipe(Ti(e),Ye(()=>this.getVpnClientState()),rf(o=>o.pipe(Ye(s=>(this.errorSubject.next(!0),(s=en(s)).originalError&&s.originalError.status&&401===s.originalError.status?Ar(s):this.lastServiceState!==jn.PerformingInitialCheck||i<4?(i+=1,$e(s).pipe(Ti(this.standardWaitTime))):Ar(s)))))).subscribe(o=>{o?(this.errorSubject.next(!1),this.lastServiceState===jn.PerformingInitialCheck&&(this.working=!1),this.vpnSavedDataService.compareCurrentServer(o.serverPk),this.lastServiceState=o.running?jn.Running:jn.Off,this.currentEventData.vpnClientAppData=o,this.currentEventData.updateDate=Date.now(),this.sendUpdate()):this.lastServiceState===jn.PerformingInitialCheck&&(this.router.navigate(["vpn","unavailable"]),this.nodeKey=null,this.updatesStopped=!0),this.continuallyUpdateData(this.standardWaitTime)},o=>{(o=en(o)).originalError&&o.originalError.status&&401===o.originalError.status||(this.router.navigate(["vpn","unavailable"]),this.nodeKey=null),this.updatesStopped=!0})}stopContinuallyUpdatingData(){this.continuousUpdateSubscription&&this.continuousUpdateSubscription.unsubscribe()}getVpnClientState(){let e;const i=new Ql;return i.vpnKeyForAuth=this.nodeKey,this.apiService.get(`visors/${this.nodeKey}/summary`,i).pipe(Ye(o=>{let s;if(o&&o.overview&&o.overview.apps&&o.overview.apps.length>0&&o.overview.apps.forEach(a=>{a.name===this.vpnClientAppName&&(s=a)}),s&&(e=this.processAppData(s)),e.minHops=o.min_hops?o.min_hops:0,e&&e.running){const a=new Ql;return a.vpnKeyForAuth=this.nodeKey,this.apiService.get(`visors/${this.nodeKey}/apps/${this.vpnClientAppName}/connections`,a)}return $e(null)}),ke(o=>{if(o&&o.length>0){const s=new rZ;o.forEach(a=>{s.latency+=a.latency/o.length,s.uploadSpeed+=a.upload_speed/o.length,s.downloadSpeed+=a.download_speed/o.length,s.totalUploaded+=a.bandwidth_sent,s.totalDownloaded+=a.bandwidth_received,a.error&&(s.error=a.error),a.connection_duration>s.connectionDuration&&(s.connectionDuration=a.connection_duration)}),(!this.connectionHistoryPk||this.connectionHistoryPk!==e.serverPk)&&(this.connectionHistoryPk=e.serverPk,this.uploadSpeedHistory=[0,0,0,0,0,0,0,0,0,0],this.downloadSpeedHistory=[0,0,0,0,0,0,0,0,0,0],this.latencyHistory=[0,0,0,0,0,0,0,0,0,0]),s.latency=Math.round(s.latency),s.uploadSpeed=Math.round(s.uploadSpeed),s.downloadSpeed=Math.round(s.downloadSpeed),s.totalUploaded=Math.round(s.totalUploaded),s.totalDownloaded=Math.round(s.totalDownloaded),this.uploadSpeedHistory.splice(0,1),this.uploadSpeedHistory.push(s.uploadSpeed),s.uploadSpeedHistory=this.uploadSpeedHistory,this.downloadSpeedHistory.splice(0,1),this.downloadSpeedHistory.push(s.downloadSpeed),s.downloadSpeedHistory=this.downloadSpeedHistory,this.latencyHistory.splice(0,1),this.latencyHistory.push(s.latency),s.latencyHistory=this.latencyHistory,e.connectionData=s}return e}))}processAppData(e){const i=new iZ;if(i.running=0!==e.status&&2!==e.status,i.connectionDuration=e.connection_duration,i.appState=on.Stopped,i.running?e.detailed_status===on.Connecting||3===e.status?i.appState=on.Connecting:e.detailed_status===on.Running?i.appState=on.Running:e.detailed_status===on.ShuttingDown?i.appState=on.ShuttingDown:e.detailed_status===on.Reconnecting&&(i.appState=on.Reconnecting):2===e.status&&(i.lastErrorMsg=e.detailed_status,i.lastErrorMsg||(i.lastErrorMsg=this.translateService.instant("vpn.status-page.unknown-error"))),i.killswitch=!1,e.args&&e.args.length>0)for(let o=0;o{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.mediumModalWidth,e.open(t,o)}constructor(e,i,o,s,a){this.dialogRef=e,this.data=i,this.formBuilder=o,this.snackbarService=s,this.vpnSavedDataService=a}ngOnInit(){this.form=this.formBuilder.group({value:[(this.data.editName?this.data.server.customName:this.data.server.personalNote)||""]}),setTimeout(()=>this.firstInput.nativeElement.focus())}process(){let e=this.vpnSavedDataService.getSavedVersion(this.data.server.pk,!0);e=e||this.data.server;const i=this.form.get("value").value;i!==(this.data.editName?this.data.server.customName:this.data.server.personalNote)?(this.data.editName?e.customName=i:e.personalNote=i,this.vpnSavedDataService.updateServer(e),this.snackbarService.showDone("vpn.server-options.edit-value.changes-made-confirmation"),this.dialogRef.close(!0)):this.dialogRef.close()}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(xr),Y(Dn),Y(rc))},t.\u0275cmp=Ze({type:t,selectors:[["app-edit-vpn-server-value"]],viewQuery:function(e,i){if(1&e&&_t(oZ,5),2&e){let o;rt(o=ot())&&(i.firstInput=o.first)}},decls:13,vars:11,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","value","maxlength","100","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"action"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6),ye("action",function(){return i.process()}),I(11),R(12,"translate"),C()()),2&e&&(w("headline",H(1,5,"vpn.server-options.edit-value."+(i.data.editName?"name":"note")+"-title"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(4),se(H(7,7,"vpn.server-options.edit-value."+(i.data.editName?"name":"note")+"-label")),c(5),ce(" ",H(12,9,"vpn.server-options.edit-value.apply-button")," "))},dependencies:[zi,Bi,Vi,ji,Cr,ii,Ei,ar,kr,Ui,ei,wt]}),t})();const aZ=["firstInput"];let JI=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.mediumModalWidth,e.open(t,o)}constructor(e,i,o){this.dialogRef=e,this.data=i,this.formBuilder=o}ngOnInit(){this.form=this.formBuilder.group({password:["",this.data?void 0:Gt.required]}),setTimeout(()=>this.firstInput.nativeElement.focus())}process(){this.dialogRef.close("-"+this.form.get("password").value)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(xr))},t.\u0275cmp=Ze({type:t,selectors:[["app-enter-vpn-server-password"]],viewQuery:function(e,i){if(1&e&&_t(aZ,5),2&e){let o;rt(o=ot())&&(i.firstInput=o.first)}},decls:13,vars:12,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","password","type","password","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"disabled","action"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6),ye("action",function(){return i.process()}),I(11),R(12,"translate"),C()()),2&e&&(w("headline",H(1,6,"vpn.server-list.password-dialog.title"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(4),se(H(7,8,"vpn.server-list.password-dialog.password"+(i.data?"-if-any":"")+"-label")),c(4),w("disabled",!i.form.valid),c(1),ce(" ",H(12,10,"vpn.server-list.password-dialog.continue-button")," "))},dependencies:[zi,Bi,Vi,ji,ii,Ei,ar,kr,Ui,ei,wt]}),t})(),lr=(()=>{class t{static changeCurrentPk(e){this.currentPk=e}static setDefaultTabForServerList(e){sessionStorage.setItem(t.serverListTabStorageKey,e)}static get vpnTabsData(){const e=sessionStorage.getItem(t.serverListTabStorageKey);return[{icon:"power_settings_new",label:"vpn.start",linkParts:["/vpn",this.currentPk,"status"]},{icon:"list",label:"vpn.servers",linkParts:e?["/vpn",this.currentPk,"servers",e,"1"]:["/vpn",this.currentPk,"servers"]},{icon:"settings",label:"vpn.settings",linkParts:["/vpn",this.currentPk,"settings"]}]}static getLatencyValueString(e){return e<1e3?"time-in-ms":"time-in-segs"}static getPrintableLatency(e){return e<1e3?e+"":(e/1e3).toFixed(1)}static processServerChange(e,i,o,s,a,l,d,_,E,F,G){let ie;if(_&&(E||F)||E&&(_||F)||F&&(_||E))throw new Error("Invalid call");if(_)ie=_.pk;else if(E)ie=E.pk;else{if(!F)throw new Error("Invalid call");ie=F.pk}const _e=o.getSavedVersion(ie,!0),Ce=_e&&(G||_e.usedWithPassword),Ae=i.checkNewPk(ie);if(Ae!==yi.Busy)if(Ae!==yi.SamePkRunning||Ce)if(Ae===yi.MustStop||Ae===yi.SamePkRunning&&Ce){const ze=Jt.createConfirmationDialog(a,"vpn.server-change.change-server-while-connected-confirmation");ze.componentInstance.operationAccepted.subscribe(()=>{ze.componentInstance.closeModal(),_?i.changeServerUsingHistory(_,G):E?i.changeServerUsingDiscovery(E,G):F&&i.changeServerManually(F,G),t.redirectAfterServerChange(e,l,d)})}else if(Ae!==yi.SamePkStopped||Ce)_?i.changeServerUsingHistory(_,G):E?i.changeServerUsingDiscovery(E,G):F&&i.changeServerManually(F,G),t.redirectAfterServerChange(e,l,d);else{const ze=Jt.createConfirmationDialog(a,"vpn.server-change.start-same-server-confirmation");ze.componentInstance.operationAccepted.subscribe(()=>{ze.componentInstance.closeModal(),F&&_e&&o.processFromManual(F),i.start(),t.redirectAfterServerChange(e,l,d)})}else s.showWarning("vpn.server-change.already-selected-warning");else s.showError("vpn.server-change.busy-error")}static redirectAfterServerChange(e,i,o){i&&i.close(),e.navigate(["vpn",o,"status"])}static openServerOptions(e,i,o,s,a,l){const d=[],_=[];return e.usedWithPassword?(d.push({icon:"lock_open",label:"vpn.server-options.connect-without-password"}),_.push(201),d.push({icon:"lock_outlined",label:"vpn.server-options.connect-using-another-password"}),_.push(202)):e.enteredManually&&(d.push({icon:"lock_outlined",label:"vpn.server-options.connect-using-password"}),_.push(202)),d.push({icon:"edit",label:"vpn.server-options.edit-name"}),_.push(101),d.push({icon:"subject",label:"vpn.server-options.edit-label"}),_.push(102),(!e||e.flag!==Pn.Favorite)&&(d.push({icon:"star",label:"vpn.server-options.make-favorite"}),_.push(1)),e&&e.flag===Pn.Favorite&&(d.push({icon:"star_outline",label:"vpn.server-options.remove-from-favorites"}),_.push(-1)),(!e||e.flag!==Pn.Blocked)&&(d.push({icon:"pan_tool",label:"vpn.server-options.block"}),_.push(2)),e&&e.flag===Pn.Blocked&&(d.push({icon:"thumb_up",label:"vpn.server-options.unblock"}),_.push(-2)),e&&e.inHistory&&(d.push({icon:"delete",label:"vpn.server-options.remove-from-history"}),_.push(-3)),qr.openDialog(l,d,"common.options").afterClosed().pipe(Ye(E=>{if(E){const F=o.getSavedVersion(e.pk,!0);if(e=F||e,_[E-=1]>200){if(201===_[E]){let G=!1;const ie=Jt.createConfirmationDialog(l,"vpn.server-options.connect-without-password-confirmation");return ie.componentInstance.operationAccepted.subscribe(()=>{G=!0,t.processServerChange(i,s,o,a,l,null,t.currentPk,e,null,null,null),ie.componentInstance.closeModal()}),ie.afterClosed().pipe(ke(()=>G))}return JI.openDialog(l,!1).afterClosed().pipe(ke(G=>!(!G||"-"===G||(t.processServerChange(i,s,o,a,l,null,t.currentPk,e,null,null,G.substr(1)),0))))}if(_[E]>100)return sZ.openDialog(l,{editName:101===_[E],server:e}).afterClosed();if(1===_[E])return t.makeFavorite(e,o,a,l);if(-1===_[E])return o.changeFlag(e,Pn.None),a.showDone("vpn.server-options.remove-from-favorites-done"),$e(!0);if(2===_[E])return t.blockServer(e,o,s,a,l);if(-2===_[E])return o.changeFlag(e,Pn.None),a.showDone("vpn.server-options.unblock-done"),$e(!0);if(-3===_[E])return t.removeFromHistory(e,o,a,l)}return $e(!1)}))}static removeFromHistory(e,i,o,s){let a=!1;const l=Jt.createConfirmationDialog(s,"vpn.server-options.remove-from-history-confirmation");return l.componentInstance.operationAccepted.subscribe(()=>{a=!0,i.removeFromHistory(e.pk),o.showDone("vpn.server-options.remove-from-history-done"),l.componentInstance.closeModal()}),l.afterClosed().pipe(ke(()=>a))}static makeFavorite(e,i,o,s){if(e.flag!==Pn.Blocked)return i.changeFlag(e,Pn.Favorite),o.showDone("vpn.server-options.make-favorite-done"),$e(!0);let a=!1;const l=Jt.createConfirmationDialog(s,"vpn.server-options.make-favorite-confirmation");return l.componentInstance.operationAccepted.subscribe(()=>{a=!0,i.changeFlag(e,Pn.Favorite),o.showDone("vpn.server-options.make-favorite-done"),l.componentInstance.closeModal()}),l.afterClosed().pipe(ke(()=>a))}static blockServer(e,i,o,s,a){if(e.flag!==Pn.Favorite&&(!i.currentServer||i.currentServer.pk!==e.pk))return i.changeFlag(e,Pn.Blocked),s.showDone("vpn.server-options.block-done"),$e(!0);let l=!1;const d=i.currentServer&&i.currentServer.pk===e.pk;let _;_=e.flag!==Pn.Favorite?"vpn.server-options.block-selected-confirmation":d?"vpn.server-options.block-selected-favorite-confirmation":"vpn.server-options.block-confirmation";const E=Jt.createConfirmationDialog(a,_);return E.componentInstance.operationAccepted.subscribe(()=>{l=!0,i.changeFlag(e,Pn.Blocked),s.showDone("vpn.server-options.block-done"),d&&o.stop(),E.componentInstance.closeModal()}),E.afterClosed().pipe(ke(()=>l))}}return t.serverListTabStorageKey="ServerListTab",t.currentPk="",t})();var cr=(()=>((cr=cr||{})[cr.Seconds=0]="Seconds",cr[cr.Minutes=1]="Minutes",cr[cr.Hours=2]="Hours",cr[cr.Days=3]="Days",cr[cr.Weeks=4]="Weeks",cr))();class lZ{}class Pg{static getElapsedTime(n){const e=new lZ;e.timeRepresentation=cr.Seconds,e.totalMinutes=Math.floor(n/60).toString(),e.translationVarName="second";let i=1;n>=60&&n<3600?(e.timeRepresentation=cr.Minutes,i=60,e.translationVarName="minute"):n>=3600&&n<86400?(e.timeRepresentation=cr.Hours,i=3600,e.translationVarName="hour"):n>=86400&&n<604800?(e.timeRepresentation=cr.Days,i=86400,e.translationVarName="day"):n>=604800&&(e.timeRepresentation=cr.Weeks,i=604800,e.translationVarName="week");const o=Math.floor(n/i);return e.elapsedTime=o.toString(),(e.timeRepresentation===cr.Seconds||o>1)&&(e.translationVarName=e.translationVarName+"s"),e}}function cZ(t,n){1&t&&xe(0,"mat-spinner",6),2&t&&w("diameter",14)}function dZ(t,n){1&t&&xe(0,"mat-spinner",7),2&t&&w("diameter",18)}function uZ(t,n){1&t&&(D(0,"mat-icon",10),I(1,"refresh"),C()),2&t&&w("inline",!0)}function hZ(t,n){1&t&&(D(0,"mat-icon",11),I(1,"warning"),C()),2&t&&w("inline",!0)}function fZ(t,n){if(1&t&&(Ue(0),V(1,uZ,2,1,"mat-icon",8),V(2,hZ,2,1,"mat-icon",9),We()),2&t){const e=z();c(1),w("ngIf",!e.showAlert),c(1),w("ngIf",e.showAlert)}}const QI=function(t){return{time:t}};function pZ(t,n){if(1&t&&(D(0,"span",12),I(1),R(2,"translate"),C()),2&t){const e=z();c(1),se(kt(2,1,"refresh-button."+e.elapsedTime.translationVarName,He(4,QI,e.elapsedTime.elapsedTime)))}}const mZ=function(t){return{"grey-button-background":t}};let gZ=(()=>{class t{constructor(){this.refeshRate=-1}set secondsSinceLastUpdate(e){this.elapsedTime=Pg.getElapsedTime(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["app-refresh-button"]],inputs:{secondsSinceLastUpdate:"secondsSinceLastUpdate",showLoading:"showLoading",showAlert:"showAlert",refeshRate:"refeshRate"},decls:7,vars:14,consts:[["mat-button","",1,"time-button","subtle-transparent-button","white-theme",3,"disabled","ngClass","matTooltip"],[1,"internal-container"],["class","icon d-none d-md-inline-block",3,"diameter",4,"ngIf"],["class","icon d-md-none",3,"diameter",4,"ngIf"],[4,"ngIf"],["class","d-none d-md-inline",4,"ngIf"],[1,"icon","d-none","d-md-inline-block",3,"diameter"],[1,"icon","d-md-none",3,"diameter"],["class","icon",3,"inline",4,"ngIf"],["class","icon alert",3,"inline",4,"ngIf"],[1,"icon",3,"inline"],[1,"icon","alert",3,"inline"],[1,"d-none","d-md-inline"]],template:function(e,i){1&e&&(D(0,"button",0),R(1,"translate"),D(2,"div",1),V(3,cZ,1,1,"mat-spinner",2),V(4,dZ,1,1,"mat-spinner",3),V(5,fZ,3,2,"ng-container",4),V(6,pZ,3,6,"span",5),C()()),2&e&&(w("disabled",i.showLoading)("ngClass",He(10,mZ,!i.showLoading))("matTooltip",i.showAlert?kt(1,7,"refresh-button.error-tooltip",He(12,QI,i.refeshRate)):""),c(3),w("ngIf",i.showLoading),c(1),w("ngIf",i.showLoading),c(1),w("ngIf",!i.showLoading),c(1),w("ngIf",i.elapsedTime))},dependencies:[Nn,Ft,Wr,Cn,vi,ec,wt],styles:[".time-button[_ngcontent-%COMP%]{color:#f8f9f9;border-radius:10px;height:40px}.time-button[disabled][_ngcontent-%COMP%]{opacity:.7!important;color:#f8f9f9}.time-button[disabled][_ngcontent-%COMP%] span[_ngcontent-%COMP%]{opacity:.7}.time-button[_ngcontent-%COMP%] .internal-container[_ngcontent-%COMP%]{display:flex;align-items:center}.time-button[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{font-size:16px;margin-right:5px;opacity:.5;display:inline-block}@media (max-width: 767px){.time-button[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{font-size:22px;margin-right:0;opacity:.75}}.time-button[_ngcontent-%COMP%] .alert[_ngcontent-%COMP%]{color:orange;opacity:1}.time-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:.6rem}"]}),t})(),sf=(()=>{class t{transform(e,i){let s,o=!0;i?i.showPerSecond?i.useBits?(s=t.measurementsPerSecInBits,o=!1):s=t.measurementsPerSec:i.useBits?(s=t.accumulatedMeasurementsInBits,o=!1):s=t.accumulatedMeasurements:s=t.accumulatedMeasurements;let a=new F1.BigNumber(e);o||(a=a.multipliedBy(8));let l=s[0],d=0;for(;a.dividedBy(1024).isGreaterThan(1);)a=a.dividedBy(1024),d+=1,l=s[d];let _="";return(!i||i.showValue)&&(_=i&&i.limitDecimals?new F1.BigNumber(a).decimalPlaces(1).toString():a.toFixed(2)),(!i||i.showValue&&i.showUnit)&&(_+=" "),(!i||i.showUnit)&&(_+=l),_}}return t.accumulatedMeasurements=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],t.measurementsPerSec=["B/s","KB/s","MB/s","GB/s","TB/s","PB/s","EB/s","ZB/s","YB/s"],t.accumulatedMeasurementsInBits=["b","Kb","Mb","Gb","Tb","Pb","Eb","Zb","Yb"],t.measurementsPerSecInBits=["b/s","Kb/s","Mb/s","Gb/s","Tb/s","Pb/s","Eb/s","Zb/s","Yb/s"],t.\u0275fac=function(e){return new(e||t)},t.\u0275pipe=ur({name:"autoScale",type:t,pure:!0}),t})();function _Z(t,n){if(1&t){const e=et();D(0,"button",23),ye("click",function(){return Pe(e),Oe(z().requestAction(null))}),D(1,"mat-icon"),I(2,"chevron_left"),C()()}}function bZ(t,n){1&t&&(Ue(0),xe(1,"img",24),We())}function vZ(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z();c(1),ce(" ",H(2,1,e.titleParts[e.titleParts.length-1])," ")}}const yZ=function(t){return{transparent:t}};function MZ(t,n){if(1&t){const e=et();Ue(0),D(1,"div",26),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).requestAction(s.actionName))}),D(2,"mat-icon",27),I(3),C(),I(4),R(5,"translate"),C(),We()}if(2&t){const e=n.$implicit;c(1),w("disabled",e.disabled),c(1),w("ngClass",He(6,yZ,e.disabled)),c(1),se(e.icon),c(1),ce(" ",H(5,4,e.name)," ")}}function wZ(t,n){1&t&&xe(0,"div",28)}function CZ(t,n){if(1&t&&(Ue(0),V(1,MZ,6,8,"ng-container",25),V(2,wZ,1,0,"div",9),We()),2&t){const e=z();c(1),w("ngForOf",e.optionsData),c(1),w("ngIf",e.returnText)}}function xZ(t,n){1&t&&xe(0,"div",28)}function kZ(t,n){1&t&&xe(0,"img",31),2&t&&w("src","assets/img/lang/"+z(2).language.iconName,Vo)}function SZ(t,n){if(1&t){const e=et();D(0,"div",29),ye("click",function(){return Pe(e),Oe(z().openLanguageWindow())}),V(1,kZ,1,1,"img",30),I(2),R(3,"translate"),C()}if(2&t){const e=z();c(1),w("ngIf",e.language),c(1),ce(" ",H(3,2,e.language?e.language.name:"")," ")}}function DZ(t,n){if(1&t){const e=et();D(0,"div",32)(1,"a",33),ye("click",function(){return Pe(e),Oe(z().requestAction(null))}),R(2,"translate"),D(3,"mat-icon",34),I(4,"chevron_left"),C()()()}if(2&t){const e=z();c(1),w("matTooltip",H(2,2,e.returnText)),c(2),w("inline",!0)}}function TZ(t,n){if(1&t&&(D(0,"span",35),I(1),R(2,"translate"),C()),2&t){const e=z();c(1),ce(" ",H(2,1,e.titleParts[e.titleParts.length-1])," ")}}function LZ(t,n){1&t&&xe(0,"img",36)}const EZ=function(t,n){return{"d-lg-none":t,"d-none d-md-inline-block":n}},eP=function(t,n){return{"mouse-disabled":t,"grey-button-background":n}};function IZ(t,n){if(1&t&&(D(0,"div",27)(1,"a",37)(2,"mat-icon",34),I(3),C(),D(4,"span"),I(5),R(6,"translate"),C()()()),2&t){const e=n.$implicit,i=n.index,o=z();w("ngClass",mn(9,EZ,e.onlyIfLessThanLg,1!==o.tabsData.length)),c(1),w("disabled",i===o.selectedTabIndex)("routerLink",e.linkParts)("ngClass",mn(12,eP,o.disableMouse,!o.disableMouse&&i!==o.selectedTabIndex)),c(1),w("inline",!0),c(1),se(e.icon),c(2),se(H(6,7,e.label))}}const PZ=function(t){return{"d-none":t}};function OZ(t,n){if(1&t){const e=et();D(0,"div",38)(1,"button",39),ye("click",function(){return Pe(e),Oe(z().openTabSelector())}),D(2,"div",40)(3,"mat-icon",34),I(4),C(),D(5,"span"),I(6),R(7,"translate"),C(),D(8,"mat-icon",34),I(9,"keyboard_arrow_down"),C()()()()}if(2&t){const e=z();w("ngClass",He(8,PZ,1===e.tabsData.length)),c(1),w("ngClass",mn(10,eP,e.disableMouse,!e.disableMouse)),c(2),w("inline",!0),c(1),se(e.tabsData[e.selectedTabIndex].icon),c(2),se(H(7,6,e.tabsData[e.selectedTabIndex].label)),c(2),w("inline",!0)}}function AZ(t,n){if(1&t){const e=et();D(0,"app-refresh-button",45),ye("click",function(){return Pe(e),Oe(z(2).sendRefreshEvent())}),C()}if(2&t){const e=z(2);w("secondsSinceLastUpdate",e.secondsSinceLastUpdate)("showLoading",e.showLoading)("showAlert",e.showAlert)("refeshRate",e.refeshRate)}}function FZ(t,n){if(1&t&&(D(0,"div",41),V(1,AZ,1,4,"app-refresh-button",42),D(2,"button",43)(3,"div",44)(4,"mat-icon",34),I(5,"menu"),C()()()()),2&t){const e=z(),i=ci(12);c(1),w("ngIf",e.showUpdateButton),c(1),w("matMenuTriggerFor",i),c(2),w("inline",!0)}}function RZ(t,n){if(1&t){const e=et();D(0,"div",53)(1,"div",54),ye("click",function(){return Pe(e),Oe(z(2).openLanguageWindow())}),xe(2,"img",55),I(3),R(4,"translate"),C()()}if(2&t){const e=z(2);c(2),w("src","assets/img/lang/"+e.language.iconName,Vo),c(1),ce(" ",H(4,2,e.language?e.language.name:"")," ")}}function NZ(t,n){1&t&&(D(0,"div",56),R(1,"translate"),D(2,"mat-icon",34),I(3,"warning"),C(),I(4),R(5,"translate"),C()),2&t&&(w("matTooltip",H(1,3,"vpn.connection-error.info")),c(2),w("inline",!0),c(2),ce(" ",H(5,5,"vpn.connection-error.text")," "))}function YZ(t,n){1&t&&(D(0,"div",63)(1,"mat-icon",61),I(2,"brightness_1"),C()()),2&t&&(c(1),w("inline",!0))}const HZ=function(t,n){return{"animation-container":t,"d-none":n}},BZ=function(t){return{time:t}},tP=function(t){return{showValue:!0,showUnit:!0,showPerSecond:!0,useBits:t}};function VZ(t,n){if(1&t&&(D(0,"table",57)(1,"tr")(2,"td",58),R(3,"translate"),D(4,"div",27)(5,"div",59)(6,"div",60)(7,"mat-icon",61),I(8,"brightness_1"),C(),I(9),R(10,"translate"),C()()(),V(11,YZ,3,1,"div",62),D(12,"mat-icon",61),I(13,"brightness_1"),C(),I(14),R(15,"translate"),C(),D(16,"td",58),R(17,"translate"),D(18,"mat-icon",34),I(19,"swap_horiz"),C(),I(20),R(21,"translate"),C()(),D(22,"tr")(23,"td",58),R(24,"translate"),D(25,"mat-icon",34),I(26,"arrow_upward"),C(),I(27),R(28,"autoScale"),C(),D(29,"td",58),R(30,"translate"),D(31,"mat-icon",34),I(32,"arrow_downward"),C(),I(33),R(34,"autoScale"),C()()()),2&t){const e=z(2);c(2),eo(e.vpnData.stateClass+" state-td"),w("matTooltip",H(3,18,e.vpnData.state+"-info")),c(2),w("ngClass",mn(39,HZ,e.showVpnStateAnimation,!e.showVpnStateAnimation)),c(3),w("inline",!0),c(2),ce(" ",H(10,20,e.vpnData.state)," "),c(2),w("ngIf",e.showVpnStateAnimatedDot),c(1),w("inline",!0),c(2),ce(" ",H(15,22,e.vpnData.state)," "),c(2),w("matTooltip",H(17,24,"vpn.connection-info.latency-info")),c(2),w("inline",!0),c(2),ce(" ",kt(21,26,"common."+e.getLatencyValueString(e.vpnData.latency),He(42,BZ,e.getPrintableLatency(e.vpnData.latency)))," "),c(3),w("matTooltip",H(24,29,"vpn.connection-info.upload-info")),c(2),w("inline",!0),c(2),ce(" ",kt(28,31,e.vpnData.uploadSpeed,He(44,tP,e.showVpnDataStatsInBits))," "),c(2),w("matTooltip",H(30,34,"vpn.connection-info.download-info")),c(2),w("inline",!0),c(2),ce(" ",kt(34,36,e.vpnData.downloadSpeed,He(46,tP,e.showVpnDataStatsInBits))," ")}}function jZ(t,n){1&t&&xe(0,"mat-spinner",64),2&t&&w("diameter",20)}function zZ(t,n){if(1&t&&(D(0,"div")(1,"div",46),V(2,RZ,5,4,"div",47),xe(3,"div",48),V(4,NZ,6,7,"div",49),C(),D(5,"div",50),V(6,VZ,35,48,"table",51),V(7,jZ,1,1,"mat-spinner",52),C()()),2&t){const e=z();c(2),w("ngIf",!e.hideLanguageButton&&e.language),c(2),w("ngIf",e.errorsConnectingToVpn),c(2),w("ngIf",e.vpnData),c(1),w("ngIf",!e.vpnData)}}function UZ(t,n){1&t&&(D(0,"div",65)(1,"div",66)(2,"mat-icon",34),I(3,"error_outline"),C(),I(4),R(5,"translate"),C(),D(6,"div",67),I(7),R(8,"translate"),C()()),2&t&&(c(2),w("inline",!0),c(2),ce(" ",H(5,3,"vpn.remote-access-title")," "),c(3),ce(" ",H(8,5,"vpn.remote-access-text")," "))}const nP=function(t,n){return{"d-lg-none":t,"d-none":n}},WZ=function(t){return{"normal-height":t}},$Z=function(t,n){return{"d-none d-lg-flex":t,"d-flex":n}};let sc=(()=>{class t{set localVpnKey(e){this.localVpnKeyInternal=e,e?this.startGettingVpnInfo():this.stopGettingVpnInfo()}constructor(e,i,o,s,a){this.languageService=e,this.dialog=i,this.router=o,this.vpnClientService=s,this.vpnSavedDataService=a,this.disableMouse=!1,this.selectedTabIndex=0,this.refeshRate=-1,this.showUpdateButton=!0,this.localVpnKeyInternal="",this.refreshRequested=new ht,this.optionSelected=new ht,this.hideLanguageButton=!0,this.showVpnInfo=!1,this.initialVpnStateObtained=!1,this.lastVpnState="",this.showVpnStateAnimation=!1,this.showVpnStateAnimatedDot=!0,this.showVpnDataStatsInBits=!0,this.remoteAccess=!1,this.errorsConnectingToVpn=!1,this.langSubscriptionsGroup=[]}ngOnInit(){this.langSubscriptionsGroup.push(this.languageService.currentLanguage.subscribe(i=>{this.language=i})),this.langSubscriptionsGroup.push(this.languageService.languages.subscribe(i=>{this.hideLanguageButton=!(i.length>1)}));const e=window.location.hostname;!e.toLowerCase().includes("localhost")&&!e.toLowerCase().includes("127.0.0.1")&&(this.remoteAccess=!0)}ngOnDestroy(){this.langSubscriptionsGroup.forEach(e=>e.unsubscribe()),this.refreshRequested.complete(),this.optionSelected.complete(),this.stopGettingVpnInfo()}startGettingVpnInfo(){this.showVpnInfo=!0,this.vpnClientService.initialize(this.localVpnKeyInternal),this.updateVpnDataStatsUnit(),this.vpnDataSubscription=this.vpnClientService.backendState.subscribe(e=>{e&&(this.vpnData={state:"",stateClass:"",latency:e.vpnClientAppData.connectionData?e.vpnClientAppData.connectionData.latency:0,downloadSpeed:e.vpnClientAppData.connectionData?e.vpnClientAppData.connectionData.downloadSpeed:0,uploadSpeed:e.vpnClientAppData.connectionData?e.vpnClientAppData.connectionData.uploadSpeed:0},e.vpnClientAppData.appState===on.Stopped?(this.vpnData.state="vpn.connection-info.state-disconnected",this.vpnData.stateClass="red-clear-text"):e.vpnClientAppData.appState===on.Connecting?(this.vpnData.state="vpn.connection-info.state-connecting",this.vpnData.stateClass="yellow-clear-text"):e.vpnClientAppData.appState===on.Running?(this.vpnData.state="vpn.connection-info.state-connected",this.vpnData.stateClass="green-clear-text"):e.vpnClientAppData.appState===on.ShuttingDown?(this.vpnData.state="vpn.connection-info.state-disconnecting",this.vpnData.stateClass="yellow-clear-text"):e.vpnClientAppData.appState===on.Reconnecting&&(this.vpnData.state="vpn.connection-info.state-reconnecting",this.vpnData.stateClass="yellow-clear-text"),this.initialVpnStateObtained?this.lastVpnState!==this.vpnData.state&&(this.lastVpnState=this.vpnData.state,this.showVpnStateAnimation=!1,this.showVpnStateChangeAnimationSubscription&&this.showVpnStateChangeAnimationSubscription.unsubscribe(),this.showVpnStateChangeAnimationSubscription=$e(0).pipe(Ti(1)).subscribe(()=>this.showVpnStateAnimation=!0)):(this.initialVpnStateObtained=!0,this.lastVpnState=this.vpnData.state),this.showVpnStateAnimatedDot=!1,this.showVpnStateAnimatedDotSubscription&&this.showVpnStateAnimatedDotSubscription.unsubscribe(),this.showVpnStateAnimatedDotSubscription=$e(0).pipe(Ti(1)).subscribe(()=>this.showVpnStateAnimatedDot=!0))}),this.errorsConnectingToVpnSubscription=this.vpnClientService.errorsConnecting.subscribe(e=>{this.errorsConnectingToVpn=e})}stopGettingVpnInfo(){this.showVpnInfo=!1,this.vpnDataSubscription&&this.vpnDataSubscription.unsubscribe(),this.errorsConnectingToVpnSubscription&&this.errorsConnectingToVpnSubscription.unsubscribe()}getLatencyValueString(e){return lr.getLatencyValueString(e)}getPrintableLatency(e){return lr.getPrintableLatency(e)}requestAction(e){this.optionSelected.emit(e)}openLanguageWindow(){YI.openDialog(this.dialog)}sendRefreshEvent(){this.refreshRequested.emit()}openTabSelector(){const e=[];this.tabsData.forEach(i=>{e.push({label:i.label,icon:i.icon})}),qr.openDialog(this.dialog,e,"tabs-window.title").afterClosed().subscribe(i=>{i&&(i-=1)!==this.selectedTabIndex&&this.router.navigate(this.tabsData[i].linkParts)})}updateVpnDataStatsUnit(){const e=this.vpnSavedDataService.getDataUnitsSetting();this.showVpnDataStatsInBits=e===Sr.BitsSpeedAndBytesVolume||e===Sr.OnlyBits}}return t.\u0275fac=function(e){return new(e||t)(Y(gg),Y(In),Y(hn),Y(oc),Y(rc))},t.\u0275cmp=Ze({type:t,selectors:[["app-top-bar"]],inputs:{disableMouse:"disableMouse",titleParts:"titleParts",tabsData:"tabsData",selectedTabIndex:"selectedTabIndex",optionsData:"optionsData",returnText:"returnText",secondsSinceLastUpdate:"secondsSinceLastUpdate",showLoading:"showLoading",showAlert:"showAlert",refeshRate:"refeshRate",showUpdateButton:"showUpdateButton",localVpnKey:"localVpnKey"},outputs:{refreshRequested:"refreshRequested",optionSelected:"optionSelected"},decls:29,vars:31,consts:[[1,"top-bar",3,"ngClass"],[1,"button-container"],["mat-icon-button","","class","transparent-button",3,"click",4,"ngIf"],[1,"logo-container"],[4,"ngIf"],["mat-icon-button","",1,"transparent-button",3,"matMenuTriggerFor"],[1,"top-bar-margin",3,"ngClass"],[3,"overlapTrigger"],["menu","matMenu"],["class","menu-separator",4,"ngIf"],["mat-menu-item","",3,"click",4,"ngIf"],[1,"main-container",3,"ngClass"],[1,"main-area"],[1,"title",3,"ngClass"],["class","return-container",4,"ngIf"],["class","title-text",4,"ngIf"],["class","title-image","src","./assets/img/logo-vpn.png",4,"ngIf"],[1,"lower-container"],[3,"ngClass",4,"ngFor","ngForOf"],["class","d-md-none",3,"ngClass",4,"ngIf"],[1,"blank-space"],["class","right-container",4,"ngIf"],["class","remote-vpn-alert-container",4,"ngIf"],["mat-icon-button","",1,"transparent-button",3,"click"],["src","/assets/img/logo-s.png"],[4,"ngFor","ngForOf"],["mat-menu-item","",3,"disabled","click"],[3,"ngClass"],[1,"menu-separator"],["mat-menu-item","",3,"click"],["class","flag",3,"src",4,"ngIf"],[1,"flag",3,"src"],[1,"return-container"],[1,"return-button","transparent-button",3,"matTooltip","click"],[3,"inline"],[1,"title-text"],["src","./assets/img/logo-vpn.png",1,"title-image"],["mat-button","",1,"tab-button","white-theme",3,"disabled","routerLink","ngClass"],[1,"d-md-none",3,"ngClass"],["mat-button","",1,"tab-button","select-tab-button","white-theme",3,"ngClass","click"],[1,"d-flex"],[1,"right-container"],[3,"secondsSinceLastUpdate","showLoading","showAlert","refeshRate","click",4,"ngIf"],["mat-button","",1,"menu-button","subtle-transparent-button","d-none","d-lg-block",3,"matMenuTriggerFor"],[1,"icon-container"],[3,"secondsSinceLastUpdate","showLoading","showAlert","refeshRate","click"],[1,"top-text-vpn-container"],["class","languaje-button-vpn",4,"ngIf"],[1,"elements-separator"],["class","connection-error-msg-vpn blinking",3,"matTooltip",4,"ngIf"],[1,"vpn-info","vpn-dark-box-radius"],["cellspacing","0","cellpadding","0",4,"ngIf"],[3,"diameter",4,"ngIf"],[1,"languaje-button-vpn"],[1,"text-container",3,"click"],[1,"language-flag",3,"src"],[1,"connection-error-msg-vpn","blinking",3,"matTooltip"],["cellspacing","0","cellpadding","0"],[3,"matTooltip"],[1,"internal-animation-container"],[1,"animation-area"],[1,"state-icon",3,"inline"],["class","aminated-state-icon-container",4,"ngIf"],[1,"aminated-state-icon-container"],[3,"diameter"],[1,"remote-vpn-alert-container"],[1,"top-line"],[1,"bottom-line"]],template:function(e,i){if(1&e&&(D(0,"div",0)(1,"div",1),V(2,_Z,3,0,"button",2),C(),D(3,"div",3),V(4,bZ,2,0,"ng-container",4),V(5,vZ,3,3,"ng-container",4),C(),D(6,"div",1)(7,"button",5)(8,"mat-icon"),I(9,"menu"),C()()()(),xe(10,"div",6),D(11,"mat-menu",7,8),V(13,CZ,3,2,"ng-container",4),V(14,xZ,1,0,"div",9),V(15,SZ,4,4,"div",10),C(),D(16,"div",11)(17,"div",12)(18,"div",13),V(19,DZ,5,4,"div",14),V(20,TZ,3,3,"span",15),V(21,LZ,1,0,"img",16),C(),D(22,"div",17),V(23,IZ,7,15,"div",18),V(24,OZ,10,13,"div",19),xe(25,"div",20),V(26,FZ,6,3,"div",21),C()(),V(27,zZ,8,4,"div",4),C(),V(28,UZ,9,7,"div",22)),2&e){const o=ci(12);w("ngClass",mn(20,nP,!i.showVpnInfo,i.showVpnInfo)),c(2),w("ngIf",i.returnText),c(2),w("ngIf",!i.titleParts||i.titleParts.length<2),c(1),w("ngIf",i.titleParts&&i.titleParts.length>=2),c(2),w("matMenuTriggerFor",o),c(3),w("ngClass",mn(23,nP,!i.showVpnInfo,i.showVpnInfo)),c(1),w("overlapTrigger",!1),c(2),w("ngIf",i.optionsData&&i.optionsData.length>=1),c(1),w("ngIf",!i.hideLanguageButton&&i.optionsData&&i.optionsData.length>=1),c(1),w("ngIf",!i.hideLanguageButton),c(1),w("ngClass",He(26,WZ,!i.showVpnInfo)),c(2),w("ngClass",mn(28,$Z,!i.showVpnInfo,i.showVpnInfo)),c(1),w("ngIf",i.returnText),c(1),w("ngIf",!i.showVpnInfo),c(1),w("ngIf",i.showVpnInfo),c(2),w("ngForOf",i.tabsData),c(1),w("ngIf",i.tabsData&&i.tabsData[i.selectedTabIndex]),c(2),w("ngIf",!i.showVpnInfo),c(1),w("ngIf",i.showVpnInfo),c(1),w("ngIf",i.showVpnInfo&&i.remoteAccess)}},dependencies:[Nn,gi,Ft,qa,FU,Wr,el,Cn,vi,Yd,pa,Hd,ec,gZ,wt,sf],styles:["@media (max-width: 991px){.normal-height[_ngcontent-%COMP%]{height:55px!important}}.main-container[_ngcontent-%COMP%]{border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:10px;margin-bottom:-5px;height:100px;display:flex}.main-container[_ngcontent-%COMP%] .main-area[_ngcontent-%COMP%]{flex-grow:1}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem;margin-bottom:15px;margin-left:5px;flex-direction:row;align-items:center}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .title-text[_ngcontent-%COMP%]{z-index:1}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .title-image[_ngcontent-%COMP%]{width:124px;height:21px}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .return-container[_ngcontent-%COMP%]{width:30px;position:relative;top:2px}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .return-container[_ngcontent-%COMP%] .return-button[_ngcontent-%COMP%]{line-height:1;font-size:25px;position:relative;top:2px;width:100%;margin-right:4px;cursor:pointer}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%]{display:flex}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .blank-space[_ngcontent-%COMP%]{flex-grow:1}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]{color:#f8f9f9;border-radius:10px;opacity:.5;margin-right:2px;text-decoration:none;height:40px;display:flex;align-items:center}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]:hover{opacity:.75}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[disabled][_ngcontent-%COMP%]{opacity:1!important;color:#f8f9f9;background:rgba(0,0,0,.7)!important}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{margin-right:2px;opacity:.75;font-size:18px}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:1rem;margin:0 4px;position:relative;top:-1px}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .select-tab-button[_ngcontent-%COMP%]{opacity:.75!important}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .select-tab-button[_ngcontent-%COMP%]:hover{opacity:1!important}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .right-container[_ngcontent-%COMP%]{display:flex;align-items:center}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .right-container[_ngcontent-%COMP%] app-refresh-button[_ngcontent-%COMP%]{align-self:flex-end}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .right-container[_ngcontent-%COMP%] .menu-button[_ngcontent-%COMP%]{height:32px;width:32px;min-width:0px!important;background-color:#f8f9f9;border-radius:100%;padding:0!important;line-height:normal;color:#929292;font-size:20px}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .right-container[_ngcontent-%COMP%] .menu-button[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;place-content:center}.menu-separator[_ngcontent-%COMP%]{width:100%;height:1px;background-color:#0000001f}.flag[_ngcontent-%COMP%]{width:24px;margin-right:16px}.transparent[_ngcontent-%COMP%]{opacity:.5}.top-bar[_ngcontent-%COMP%]{position:fixed;z-index:10;width:100%;height:56px;background-color:#f8f9f9;top:0;left:0;right:0;color:#202226;display:flex}.top-bar[_ngcontent-%COMP%] .logo-container[_ngcontent-%COMP%]{flex-grow:1;display:flex;justify-content:center;align-items:center}.top-bar[_ngcontent-%COMP%] .logo-container[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:28px}.top-bar[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{flex-shrink:0;width:56px}.top-bar[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:56px;height:56px}.top-bar-margin[_ngcontent-%COMP%]{margin-top:56px;flex-shrink:0}.vpn-info[_ngcontent-%COMP%]{font-size:.7rem;background:rgba(0,0,0,.7);padding:15px 20px;align-self:center}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .state-td[_ngcontent-%COMP%]{font-weight:700}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:2px 0;min-width:90px}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:3px;font-size:12px;position:relative;top:1px;-webkit-user-select:none;user-select:none;width:auto;line-height:1}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .state-icon[_ngcontent-%COMP%]{transform:scale(.75)}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .aminated-state-icon-container[_ngcontent-%COMP%]{width:0px;height:0px}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .aminated-state-icon-container[_ngcontent-%COMP%] .state-icon[_ngcontent-%COMP%]{height:auto;animation:_ngcontent-%COMP%_state-icon-animation 1s linear 1}@keyframes _ngcontent-%COMP%_state-icon-animation{0%{transform:perspective(1px) scale(1);opacity:.8}to{transform:scale(2);opacity:0}}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .animation-container[_ngcontent-%COMP%]{width:0px;height:0px}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .animation-container[_ngcontent-%COMP%] .internal-animation-container[_ngcontent-%COMP%]{width:200px}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .animation-container[_ngcontent-%COMP%] .internal-animation-container[_ngcontent-%COMP%] .animation-area[_ngcontent-%COMP%]{display:inline-block;animation:_ngcontent-%COMP%_state-animation 1s linear 1;opacity:0}@keyframes _ngcontent-%COMP%_state-animation{0%{transform:scale(1);opacity:1}to{transform:scale(2.5);opacity:0}}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-of-type{padding-right:30px}.vpn-info[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}.top-text-vpn-container[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;font-size:.6rem}.top-text-vpn-container[_ngcontent-%COMP%] .connection-error-msg-vpn[_ngcontent-%COMP%]{margin:-5px 5px 5px 10px;color:orange}.top-text-vpn-container[_ngcontent-%COMP%] .elements-separator[_ngcontent-%COMP%]{flex-grow:1}.top-text-vpn-container[_ngcontent-%COMP%] .languaje-button-vpn[_ngcontent-%COMP%]{margin:-5px 10px 5px 0}.top-text-vpn-container[_ngcontent-%COMP%] .languaje-button-vpn[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]{cursor:pointer;display:inline;opacity:.8}.top-text-vpn-container[_ngcontent-%COMP%] .languaje-button-vpn[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]:hover{opacity:1}.top-text-vpn-container[_ngcontent-%COMP%] .languaje-button-vpn[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .language-flag[_ngcontent-%COMP%]{width:11px;height:11px;margin-right:2px}.remote-vpn-alert-container[_ngcontent-%COMP%]{background-color:#da3439;margin:0 -21px;padding:10px 20px 15px;text-align:center}.remote-vpn-alert-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px}.remote-vpn-alert-container[_ngcontent-%COMP%] .top-line[_ngcontent-%COMP%]{font-size:1.25rem}.remote-vpn-alert-container[_ngcontent-%COMP%] .bottom-line[_ngcontent-%COMP%]{font-size:.8rem}"]}),t})();const iP=function(){return["start.title"]};function GZ(t,n){if(1&t&&(D(0,"div",2)(1,"div"),xe(2,"app-top-bar",3),C(),xe(3,"app-loading-indicator",4),C()),2&t){const e=z();c(2),w("titleParts",qn(4,iP))("tabsData",e.tabsData)("selectedTabIndex",e.showDmsgInfo?1:0)("showUpdateButton",!1)}}function qZ(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.translatableValue))}}function KZ(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e.value)}}function ZZ(t,n){if(1&t&&(D(0,"div",23)(1,"span"),I(2),R(3,"translate"),C(),V(4,qZ,3,3,"ng-container",24),V(5,KZ,2,1,"ng-container",24),C()),2&t){const e=n.$implicit;c(2),ce("",H(3,3,e.filterName),": "),c(2),w("ngIf",e.translatableValue),c(1),w("ngIf",e.value)}}function XZ(t,n){if(1&t){const e=et();D(0,"div",20),ye("click",function(){return Pe(e),Oe(z(2).dataFilterer.removeFilters())}),V(1,ZZ,6,5,"div",21),D(2,"div",22),I(3),R(4,"translate"),C()()}if(2&t){const e=z(2);c(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),c(2),se(H(4,2,"filters.press-to-remove"))}}function JZ(t,n){if(1&t){const e=et();D(0,"mat-icon",25),ye("click",function(){return Pe(e),Oe(z(2).dataFilterer.changeFilters())}),R(1,"translate"),I(2,"filter_list"),C()}2&t&&w("inline",!0)("matTooltip",H(1,2,"filters.filter-action"))}function QZ(t,n){1&t&&(D(0,"mat-icon",26),I(1,"more_horiz"),C()),2&t&&(z(),w("matMenuTriggerFor",ci(12)))}const rP=function(){return["/nodes","list"]},oP=function(){return["/nodes","dmsg"]};function eX(t,n){if(1&t&&xe(0,"app-paginator",27),2&t){const e=z(2);w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",e.showDmsgInfo?qn(5,oP):qn(4,rP))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function tX(t,n){if(1&t&&(D(0,"mat-icon",42),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function nX(t,n){if(1&t&&(D(0,"mat-icon",42),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function iX(t,n){if(1&t&&(D(0,"mat-icon",42),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function rX(t,n){if(1&t&&(D(0,"mat-icon",42),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function oX(t,n){1&t&&(Ue(0),I(1,"*"),We())}function sX(t,n){if(1&t&&(Ue(0),D(1,"mat-icon",42),I(2),C(),V(3,oX,2,0,"ng-container",24),We()),2&t){const e=z(5);c(1),w("inline",!0),c(1),se(e.dataSorter.sortingArrow),c(1),w("ngIf",e.dataSorter.currentlySortingByLabel)}}function aX(t,n){if(1&t){const e=et();D(0,"th",38),ye("click",function(){Pe(e);const o=z(4);return Oe(o.dataSorter.changeSortingOrder(o.dmsgServerSortData))}),I(1),R(2,"translate"),V(3,sX,4,3,"ng-container",24),C()}if(2&t){const e=z(4);c(1),ce(" ",H(2,2,"nodes.dmsg-server")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.dmsgServerSortData)}}function lX(t,n){if(1&t&&(D(0,"mat-icon",42),I(1),C()),2&t){const e=z(5);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function cX(t,n){if(1&t){const e=et();D(0,"th",38),ye("click",function(){Pe(e);const o=z(4);return Oe(o.dataSorter.changeSortingOrder(o.pingSortData))}),I(1),R(2,"translate"),V(3,lX,2,2,"mat-icon",35),C()}if(2&t){const e=z(4);c(1),ce(" ",H(2,2,"nodes.ping")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.pingSortData)}}function dX(t,n){1&t&&(D(0,"mat-icon",49),R(1,"translate"),I(2,"star"),C()),2&t&&w("inline",!0)("matTooltip",H(1,2,"nodes.hypervisor-info"))}function uX(t,n){if(1&t){const e=et();D(0,"app-labeled-element-text",51),ye("labelEdited",function(){return Pe(e),Oe(z(6).forceDataRefresh())}),C()}if(2&t){const e=z(2).$implicit,i=z(4);Ln("id",e.dmsgServerPk),w("short",!0)("elementType",i.labeledElementTypes.DmsgServer)}}function hX(t,n){if(1&t&&(D(0,"td"),V(1,uX,1,3,"app-labeled-element-text",50),C()),2&t){const e=z().$implicit;c(1),w("ngIf",e.dmsgServerPk)}}const sP=function(t){return{time:t}};function fX(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z(2).$implicit;c(1),ce(" ",kt(2,1,"common.time-in-ms",He(4,sP,e.roundTripPing))," ")}}function pX(t,n){if(1&t&&(D(0,"td"),V(1,fX,3,6,"ng-container",24),C()),2&t){const e=z().$implicit;c(1),w("ngIf",e.dmsgServerPk)}}function mX(t,n){1&t&&(D(0,"button",52),R(1,"translate"),D(2,"mat-icon",42),I(3,"chevron_right"),C()()),2&t&&(w("matTooltip",H(1,2,"nodes.view-node")),c(2),w("inline",!0))}function gX(t,n){if(1&t){const e=et();D(0,"button",46),ye("click",function(o){Pe(e);const s=z().$implicit,a=z(4);return o.stopPropagation(),o.preventDefault(),Oe(a.deleteNode(s))}),R(1,"translate"),D(2,"mat-icon"),I(3,"close"),C()()}2&t&&w("matTooltip",H(1,1,"nodes.delete-node"))}const _X=function(t,n){return{"click-effect":t,"non-selectable":n}},aP=function(t){return["/nodes",t]};function bX(t,n){if(1&t){const e=et();D(0,"a",43)(1,"td"),V(2,dX,3,4,"mat-icon",44),C(),D(3,"td"),xe(4,"span",45),R(5,"translate"),C(),D(6,"td"),I(7),C(),D(8,"td"),I(9),C(),V(10,hX,2,1,"td",24),V(11,pX,2,1,"td",24),D(12,"td",40)(13,"button",46),ye("click",function(o){const a=Pe(e).$implicit,l=z(4);return o.stopPropagation(),o.preventDefault(),Oe(l.copyToClipboard(a))}),R(14,"translate"),D(15,"mat-icon",42),I(16,"filter_none"),C()(),D(17,"button",46),ye("click",function(o){const a=Pe(e).$implicit,l=z(4);return o.stopPropagation(),o.preventDefault(),Oe(l.showEditLabelDialog(a))}),R(18,"translate"),D(19,"mat-icon",42),I(20,"short_text"),C()(),V(21,mX,4,4,"button",47),V(22,gX,4,3,"button",48),C()()}if(2&t){const e=n.$implicit,i=z(4);w("ngClass",mn(22,_X,e.online,!e.online))("routerLink",e.online?He(25,aP,e.localPk):null),c(2),w("ngIf",e.isHypervisor),c(2),eo(i.nodeStatusClass(e,!0)),w("matTooltip",H(5,16,i.nodeStatusText(e,!0))),c(3),ce(" ",e.label," "),c(2),ce(" ",e.localPk," "),c(1),w("ngIf",i.showDmsgInfo),c(1),w("ngIf",i.showDmsgInfo),c(2),w("matTooltip",H(14,18,i.showDmsgInfo?"nodes.copy-data":"nodes.copy-key")),c(2),w("inline",!0),c(2),w("matTooltip",H(18,20,"labeled-element.edit-label")),c(2),w("inline",!0),c(2),w("ngIf",e.online),c(1),w("ngIf",!e.online)}}function vX(t,n){if(1&t){const e=et();D(0,"table",32)(1,"tr")(2,"th",33),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.hypervisorSortData))}),R(3,"translate"),D(4,"mat-icon",34),I(5,"star_outline"),C(),V(6,tX,2,2,"mat-icon",35),C(),D(7,"th",33),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.stateSortData))}),R(8,"translate"),xe(9,"span",36),V(10,nX,2,2,"mat-icon",35),C(),D(11,"th",37),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.labelSortData))}),I(12),R(13,"translate"),V(14,iX,2,2,"mat-icon",35),C(),D(15,"th",38),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.keySortData))}),I(16),R(17,"translate"),V(18,rX,2,2,"mat-icon",35),C(),V(19,aX,4,4,"th",39),V(20,cX,4,4,"th",39),xe(21,"th",40),C(),V(22,bX,23,27,"a",41),C()}if(2&t){const e=z(3);c(2),w("matTooltip",H(3,11,"nodes.hypervisor")),c(4),w("ngIf",e.dataSorter.currentSortingColumn===e.hypervisorSortData),c(1),w("matTooltip",H(8,13,"nodes.state-tooltip")),c(3),w("ngIf",e.dataSorter.currentSortingColumn===e.stateSortData),c(2),ce(" ",H(13,15,"nodes.label")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.labelSortData),c(2),ce(" ",H(17,17,"nodes.key")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.keySortData),c(1),w("ngIf",e.showDmsgInfo),c(1),w("ngIf",e.showDmsgInfo),c(2),w("ngForOf",e.dataSource)}}function yX(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.label")))}function MX(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.inverted-order")))}function wX(t,n){1&t&&(D(0,"div",62)(1,"mat-icon",67),I(2,"star"),C(),I(3,"\xa0 "),D(4,"span",68),I(5),R(6,"translate"),C()()),2&t&&(c(1),w("inline",!0),c(4),se(H(6,2,"nodes.hypervisor")))}function CX(t,n){if(1&t){const e=et();D(0,"div",63)(1,"span",9),I(2),R(3,"translate"),C(),I(4,": "),D(5,"app-labeled-element-text",69),ye("labelEdited",function(){return Pe(e),Oe(z(5).forceDataRefresh())}),C()()}if(2&t){const e=z().$implicit,i=z(4);c(2),se(H(3,3,"nodes.dmsg-server")),c(3),Ln("id",e.dmsgServerPk),w("elementType",i.labeledElementTypes.DmsgServer)}}function xX(t,n){if(1&t&&(D(0,"div",62)(1,"span",9),I(2),R(3,"translate"),C(),I(4),R(5,"translate"),C()),2&t){const e=z().$implicit;c(2),se(H(3,2,"nodes.ping")),c(2),ce(": ",kt(5,4,"common.time-in-ms",He(7,sP,e.roundTripPing))," ")}}const kX=function(t){return{"selectable click-effect":t}};function SX(t,n){if(1&t){const e=et();D(0,"a",59)(1,"tr",60)(2,"td",60)(3,"div",55)(4,"div",56),V(5,wX,7,4,"div",61),D(6,"div",62)(7,"span",9),I(8),R(9,"translate"),C(),I(10,": "),D(11,"span"),I(12),R(13,"translate"),C()(),D(14,"div",62)(15,"span",9),I(16),R(17,"translate"),C(),I(18),C(),D(19,"div",63)(20,"span",9),I(21),R(22,"translate"),C(),I(23),C(),V(24,CX,6,5,"div",64),V(25,xX,6,9,"div",61),C(),xe(26,"div",65),D(27,"div",57)(28,"button",66),ye("click",function(o){const a=Pe(e).$implicit,l=z(4);return o.stopPropagation(),o.preventDefault(),Oe(l.showOptionsDialog(a))}),R(29,"translate"),D(30,"mat-icon"),I(31),C()()()()()()()}if(2&t){const e=n.$implicit,i=z(4);w("ngClass",He(25,kX,e.online))("routerLink",e.online?He(27,aP,e.localPk):null),c(5),w("ngIf",e.isHypervisor),c(3),se(H(9,15,"nodes.state")),c(3),eo(i.nodeStatusClass(e,!1)+" title"),c(1),se(H(13,17,i.nodeStatusText(e,!1))),c(4),se(H(17,19,"nodes.label")),c(2),ce(": ",e.label," "),c(3),se(H(22,21,"nodes.key")),c(2),ce(": ",e.localPk," "),c(1),w("ngIf",i.showDmsgInfo),c(1),w("ngIf",i.showDmsgInfo),c(3),w("matTooltip",H(29,23,"common.options")),c(3),se("add")}}function DX(t,n){if(1&t){const e=et();D(0,"table",53)(1,"tr",54),ye("click",function(){return Pe(e),Oe(z(3).dataSorter.openSortingOrderModal())}),D(2,"td")(3,"div",55)(4,"div",56)(5,"div",9),I(6),R(7,"translate"),C(),D(8,"div"),I(9),R(10,"translate"),V(11,yX,3,3,"ng-container",24),V(12,MX,3,3,"ng-container",24),C()(),D(13,"div",57)(14,"mat-icon",42),I(15,"keyboard_arrow_down"),C()()()()(),V(16,SX,32,29,"a",58),C()}if(2&t){const e=z(3);c(6),se(H(7,6,"tables.sorting-title")),c(3),ce("",H(10,8,e.dataSorter.currentSortingColumn.label)," "),c(2),w("ngIf",e.dataSorter.currentlySortingByLabel),c(1),w("ngIf",e.dataSorter.sortingInReverseOrder),c(2),w("inline",!0),c(2),w("ngForOf",e.dataSource)}}function TX(t,n){if(1&t&&(D(0,"div",28)(1,"div",29),V(2,vX,23,19,"table",30),V(3,DX,17,10,"table",31),C()()),2&t){const e=z(2);c(2),w("ngIf",e.dataSource.length>0),c(1),w("ngIf",e.dataSource.length>0)}}function LX(t,n){if(1&t&&xe(0,"app-paginator",27),2&t){const e=z(2);w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",e.showDmsgInfo?qn(5,oP):qn(4,rP))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function EX(t,n){1&t&&(D(0,"span",73),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"nodes.empty")))}function IX(t,n){1&t&&(D(0,"span",73),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"nodes.empty-with-filter")))}function PX(t,n){if(1&t&&(D(0,"div",28)(1,"div",70)(2,"mat-icon",71),I(3,"warning"),C(),V(4,EX,3,3,"span",72),V(5,IX,3,3,"span",72),C()()),2&t){const e=z(2);c(2),w("inline",!0),c(2),w("ngIf",0===e.allNodes.length),c(1),w("ngIf",0!==e.allNodes.length)}}const OX=function(t){return{"paginator-icons-fixer":t}};function AX(t,n){if(1&t){const e=et();D(0,"div",5)(1,"div",6)(2,"app-top-bar",7),ye("refreshRequested",function(){return Pe(e),Oe(z().forceDataRefresh(!0))})("optionSelected",function(o){return Pe(e),Oe(z().performAction(o))}),C()(),D(3,"div",6)(4,"div",8)(5,"div",9),V(6,XZ,5,4,"div",10),C(),D(7,"div",11)(8,"div",12),V(9,JZ,3,4,"mat-icon",13),V(10,QZ,2,1,"mat-icon",14),D(11,"mat-menu",15,16)(13,"div",17),ye("click",function(){return Pe(e),Oe(z().removeOffline())}),I(14),R(15,"translate"),C()()(),V(16,eX,1,6,"app-paginator",18),C()(),V(17,TX,4,2,"div",19),V(18,LX,1,6,"app-paginator",18),V(19,PX,6,3,"div",19),C()()}if(2&t){const e=z();c(2),w("titleParts",qn(21,iP))("tabsData",e.tabsData)("selectedTabIndex",e.showDmsgInfo?1:0)("secondsSinceLastUpdate",e.secondsSinceLastUpdate)("showLoading",e.updating)("showAlert",e.errorsUpdating)("refeshRate",e.storageService.getRefreshTime())("optionsData",e.options),c(2),w("ngClass",He(22,OX,e.numberOfPages>1)),c(2),w("ngIf",e.dataFilterer.currentFiltersTexts&&e.dataFilterer.currentFiltersTexts.length>0),c(3),w("ngIf",e.allNodes&&e.allNodes.length>0),c(1),w("ngIf",e.dataSource.length>0),c(1),w("overlapTrigger",!1),c(2),Ln("disabled",!e.hasOfflineNodes),c(1),ce(" ",H(15,19,"nodes.delete-all-offline")," "),c(2),w("ngIf",e.numberOfPages>1),c(1),w("ngIf",0!==e.dataSource.length),c(1),w("ngIf",e.numberOfPages>1),c(1),w("ngIf",0===e.dataSource.length)}}let lP=(()=>{class t extends er{constructor(e,i,o,s,a,l,d,_,E,F,G){super(),this.nodeService=e,this.multipleNodeDataService=i,this.router=o,this.dialog=s,this.authService=a,this.storageService=l,this.ngZone=d,this.snackbarService=_,this.clipboardService=E,this.translateService=F,this.persistentServerDataResponseKey="serv-dat-response",this.nodesListId="nl",this.dmsgListId="dl",this.hypervisorSortData=new Vn(["isHypervisor"],"nodes.hypervisor",Zt.Boolean),this.stateSortData=new Vn(["online"],"nodes.state",Zt.Boolean),this.labelSortData=new Vn(["label"],"nodes.label",Zt.Text),this.keySortData=new Vn(["localPk"],"nodes.key",Zt.Text),this.dmsgServerSortData=new Vn(["dmsgServerPk"],"nodes.dmsg-server",Zt.Text,["dmsgServerPk_label"]),this.pingSortData=new Vn(["roundTripPing"],"nodes.ping",Zt.Number),this.loading=!0,this.tabsData=[],this.options=[],this.showDmsgInfo=!1,this.canLogOut=!0,this.hasOfflineNodes=!1,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"nodes.filter-dialog.online",keyNameInElementsArray:"online",type:$n.Select,printableLabelsForValues:[{value:"",label:"nodes.filter-dialog.online-options.any"},{value:"true",label:"nodes.filter-dialog.online-options.online"},{value:"false",label:"nodes.filter-dialog.online-options.offline"}]},{filterName:"nodes.filter-dialog.label",keyNameInElementsArray:"label",type:$n.TextInput,maxlength:100},{filterName:"nodes.filter-dialog.key",keyNameInElementsArray:"localPk",type:$n.TextInput,maxlength:66},{filterName:"nodes.filter-dialog.dmsg",keyNameInElementsArray:"dmsgServerPk",secondaryKeyNameInElementsArray:"dmsgServerPk_label",type:$n.TextInput,maxlength:66}],this.secondsSinceLastUpdate=0,this.lastUpdate=Date.now(),this.updating=!1,this.errorsUpdating=!1,this.lastUpdateRequestedManually=!1,this.labeledElementTypes=Xi,this.updateOptionsMenu(),this.authVerificationSubscription=this.authService.checkLogin().subscribe(_e=>{this.canLogOut=_e!==Fr.AuthDisabled,this.updateOptionsMenu()}),this.showDmsgInfo=-1!==this.router.url.indexOf("dmsg"),this.showDmsgInfo||this.filterProperties.splice(this.filterProperties.length-1);const ie=[this.hypervisorSortData,this.stateSortData,this.labelSortData,this.keySortData];this.showDmsgInfo&&(ie.push(this.dmsgServerSortData),ie.push(this.pingSortData)),this.dataSorter=new Rd(this.dialog,this.translateService,this.storageService,ie,3,this.showDmsgInfo?this.dmsgListId:this.nodesListId),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataFilterer=new Nd(this.dialog,G,this.router,this.filterProperties,this.showDmsgInfo?this.dmsgListId:this.nodesListId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(_e=>{this.filteredNodes=_e,this.hasOfflineNodes=!1,this.filteredNodes.forEach(Ce=>{Ce.online||(this.hasOfflineNodes=!0)}),this.dataSorter.setData(this.filteredNodes)}),this.navigationsSubscription=G.paramMap.subscribe(_e=>{if(_e.has("page")){let Ce=Number.parseInt(_e.get("page"),10);(isNaN(Ce)||Ce<1)&&(Ce=1),this.currentPageInUrl=Ce,this.recalculateElementsToShow()}}),this.tabsData=[{icon:"view_headline",label:"nodes.title",linkParts:["/nodes"]},{icon:"language",label:"nodes.dmsg-title",linkParts:["/nodes","dmsg"]},{icon:"settings",label:"settings.title",linkParts:["/settings"]}],this.languageSubscription=this.translateService.onLangChange.subscribe(()=>{this.multipleNodeDataService.forceRefresh()})}updateOptionsMenu(){this.options=[],this.options.push({name:"nodes.modify-rewards-all",actionName:"modifyRewardsAll",icon:"edit"}),this.canLogOut&&this.options.push({name:"common.logout",actionName:"logout",icon:"power_settings_new"})}ngOnInit(){return this.startGettingData(!0),this.ngZone.runOutsideAngular(()=>{this.updateTimeSubscription=Sh(5e3,5e3).subscribe(()=>this.ngZone.run(()=>{this.secondsSinceLastUpdate=Math.floor((Date.now()-this.lastUpdate)/1e3)}))}),super.ngOnInit()}ngOnDestroy(){this.authVerificationSubscription.unsubscribe(),this.dataSubscription.unsubscribe(),this.updateTimeSubscription.unsubscribe(),this.navigationsSubscription.unsubscribe(),this.languageSubscription.unsubscribe(),this.updateSubscription&&this.updateSubscription.unsubscribe(),this.dataSortedSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFiltererSubscription.unsubscribe(),this.dataFilterer.dispose()}performAction(e){"logout"===e?this.logout():"updateAll"===e?this.updateAll():"modifyRewardsAll"===e&&this.changeRewardsToAll()}nodeStatusClass(e,i){return e.online?e.health&&e.health.servicesHealth===ro.Unhealthy?i?"dot-yellow blinking":"yellow-text":e.health&&e.health.servicesHealth===ro.Healthy?i?"dot-green":"green-text":i?"dot-outline-gray":"":i?"dot-red":"red-text"}nodeStatusText(e,i){return e.online?e.health&&e.health.servicesHealth===ro.Healthy?"node.statuses.online"+(i?"-tooltip":""):e.health&&e.health.servicesHealth===ro.Unhealthy?"node.statuses.partially-online"+(i?"-tooltip":""):e.health&&e.health.servicesHealth===ro.Connecting?"node.statuses.connecting"+(i?"-tooltip":""):"node.statuses.unknown"+(i?"-tooltip":""):"node.statuses.offline"+(i?"-tooltip":"")}forceDataRefresh(e=!1){e&&(this.lastUpdateRequestedManually=!0),this.multipleNodeDataService.forceRefresh()}startGettingData(e){const i=e?this.getLocalValue(this.persistentServerDataResponseKey):null;let o=this.multipleNodeDataService.startRequestingData();i&&(o=$e(JSON.parse(i.value))),this.dataSubscription=o.subscribe(s=>{i||this.saveLocalValue(this.persistentServerDataResponseKey,JSON.stringify(s)),this.updating=!s||s.updating,s&&!s.updating&&(s.data&&!s.error?(this.allNodes=s.data,this.showDmsgInfo&&this.allNodes.forEach(a=>{a.dmsgServerPk_label=ha.getCompleteLabel(this.storageService,this.translateService,a.dmsgServerPk)}),this.dataFilterer.setData(this.allNodes),this.loading=!1,this.snackbarService.closeCurrentIfTemporaryError(),this.lastUpdate=s.momentOfLastCorrectUpdate,this.secondsSinceLastUpdate=Math.floor((Date.now()-s.momentOfLastCorrectUpdate)/1e3),this.errorsUpdating=!1,this.lastUpdateRequestedManually&&(this.snackbarService.showDone("common.refreshed",null),this.lastUpdateRequestedManually=!1)):s.error&&(this.errorsUpdating||this.snackbarService.showError(this.loading?"common.loading-error":"nodes.error-load",null,!0,s.error),this.errorsUpdating=!0)),i&&this.startGettingData(!1)})}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredNodes){const e=Vt.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredNodes.length/e),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const i=e*(this.currentPage-1);this.nodesToShow=this.filteredNodes.slice(i,i+e)}else this.nodesToShow=null;this.nodesToShow&&(this.dataSource=this.nodesToShow)}logout(){const e=Jt.createConfirmationDialog(this.dialog,"common.logout-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.closeModal(),this.authService.logout().subscribe(()=>this.router.navigate(["login"]),()=>this.snackbarService.showError("common.logout-error"))})}updateAll(){if(!this.dataSource||0===this.dataSource.length)return void this.snackbarService.showError("nodes.no-visors-to-update");const e=[],i=[];this.dataSource.forEach(o=>{if(o.online){const s={key:o.localPk,label:o.label,version:o.version,tag:o.buildTag};Jt.checkIfTagIsUpdatable(o.buildTag)?e.push(s):i.push(s)}}),Qq.openDialog(this.dialog,e,i)}changeRewardsToAll(){if(!this.dataSource||0===this.dataSource.length)return void this.snackbarService.showError("nodes.no-visors-to-modify");const e=[];this.dataSource.forEach(o=>{o.online&&e.push({key:o.localPk,label:o.label})}),DK.openDialog(this.dialog,{nodes:e})}recursivelyUpdateWallets(e,i,o=0){return this.nodeService.update(e[e.length-1]).pipe(Co(()=>$e(null)),Ye(s=>(s&&s.updated&&!s.error?this.snackbarService.showDone(this.translateService.instant("nodes.update.done",{name:i[i.length-1]})):(this.snackbarService.showError(this.translateService.instant("nodes.update.update-error",{name:i[i.length-1]})),o+=1),e.pop(),i.pop(),e.length>=1?this.recursivelyUpdateWallets(e,i,o):$e(o))))}showOptionsDialog(e){const i=[{icon:"filter_none",label:"nodes.copy-key"}];this.showDmsgInfo&&i.push({icon:"filter_none",label:"nodes.copy-dmsg"}),i.push({icon:"short_text",label:"labeled-element.edit-label"}),e.online||i.push({icon:"close",label:"nodes.delete-node"}),qr.openDialog(this.dialog,i,"common.options").afterClosed().subscribe(o=>{1===o?this.copySpecificTextToClipboard(e.localPk):this.showDmsgInfo?2===o?this.copySpecificTextToClipboard(e.dmsgServerPk):3===o?this.showEditLabelDialog(e):4===o&&this.deleteNode(e):2===o?this.showEditLabelDialog(e):3===o&&this.deleteNode(e)})}copyToClipboard(e){this.showDmsgInfo?qr.openDialog(this.dialog,[{icon:"filter_none",label:"nodes.key"},{icon:"filter_none",label:"nodes.dmsg-server"}],"common.options").afterClosed().subscribe(o=>{1===o?this.copySpecificTextToClipboard(e.localPk):2===o&&this.copySpecificTextToClipboard(e.dmsgServerPk)}):this.copySpecificTextToClipboard(e.localPk)}copySpecificTextToClipboard(e){this.clipboardService.copy(e)&&this.snackbarService.showDone("copy.copied")}showEditLabelDialog(e){let i=this.storageService.getLabelInfo(e.localPk);i||(i={id:e.localPk,label:"",identifiedElementType:Xi.Node}),N1.openDialog(this.dialog,i).afterClosed().subscribe(o=>{o&&this.forceDataRefresh()})}deleteNode(e){const i=Jt.createConfirmationDialog(this.dialog,"nodes.delete-node-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.close(),this.storageService.setLocalNodesAsHidden([e.localPk],[e.ip]),this.forceDataRefresh(),this.snackbarService.showDone("nodes.deleted")})}removeOffline(){let e="nodes.delete-all-offline-confirmation";this.dataFilterer.currentFiltersTexts&&this.dataFilterer.currentFiltersTexts.length>0&&(e="nodes.delete-all-filtered-offline-confirmation");const i=Jt.createConfirmationDialog(this.dialog,e);i.componentInstance.operationAccepted.subscribe(()=>{i.close();const o=[],s=[];this.filteredNodes.forEach(a=>{a.online||(o.push(a.localPk),s.push(a.ip))}),o.length>0&&(this.storageService.setLocalNodesAsHidden(o,s),this.forceDataRefresh(),1===o.length?this.snackbarService.showDone("nodes.deleted-singular"):this.snackbarService.showDone("nodes.deleted-plural",{number:o.length}))})}}return t.\u0275fac=function(e){return new(e||t)(Y(ua),Y(NI),Y(hn),Y(In),Y(Wh),Y(Ji),Y(ft),Y(Dn),Y(ef),Y(To),Y(Mr))},t.\u0275cmp=Ze({type:t,selectors:[["app-node-list"]],features:[nt],decls:2,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["class","row",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton"],[1,"h-100"],[1,"row"],[1,"col-12"],[3,"titleParts","tabsData","selectedTabIndex","secondsSinceLastUpdate","showLoading","showAlert","refeshRate","optionsData","refreshRequested","optionSelected"],[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],["class","small-icon",3,"inline","matTooltip","click",4,"ngIf"],[3,"matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","matTooltip","click"],[3,"matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow","full-node-list-margins"],["class","responsive-table-translucid d-none d-md-table","cellspacing","0","cellpadding","0",4,"ngIf"],["class","responsive-table-translucid d-md-none nowrap","cellspacing","0","cellpadding","0",4,"ngIf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table"],[1,"sortable-column","small-column",3,"matTooltip","click"],[1,"hypervisor-icon","grey-text"],[3,"inline",4,"ngIf"],[1,"dot-outline-gray"],[1,"sortable-column","labels",3,"click"],[1,"sortable-column",3,"click"],["class","sortable-column",3,"click",4,"ngIf"],[1,"actions"],["class","selectable link-row",3,"ngClass","routerLink",4,"ngFor","ngForOf"],[3,"inline"],[1,"selectable","link-row",3,"ngClass","routerLink"],["class","hypervisor-icon",3,"inline","matTooltip",4,"ngIf"],[3,"matTooltip"],["mat-button","",1,"big-action-button","transparent-button",3,"matTooltip","click"],["mat-button","","class","big-action-button transparent-button",3,"matTooltip",4,"ngIf"],["mat-button","","class","big-action-button transparent-button",3,"matTooltip","click",4,"ngIf"],[1,"hypervisor-icon",3,"inline","matTooltip"],["shortTextLength","4",3,"short","id","elementType","labelEdited",4,"ngIf"],["shortTextLength","4",3,"short","id","elementType","labelEdited"],["mat-button","",1,"big-action-button","transparent-button",3,"matTooltip"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none","nowrap"],[1,"selectable","click-effect",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],["class","link-row",3,"ngClass","routerLink",4,"ngFor","ngForOf"],[1,"link-row",3,"ngClass","routerLink"],[1,"d-block"],["class","list-row",4,"ngIf"],[1,"list-row"],[1,"list-row","long-content"],["class","list-row long-content",4,"ngIf"],[1,"margin-part"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],[1,"hypervisor-icon",3,"inline"],[1,"yellow-clear-text","title"],[3,"id","elementType","labelEdited"],[1,"box-internal-container","font-sm"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(e,i){1&e&&(V(0,GZ,4,5,"div",0),V(1,AX,20,24,"div",1)),2&e&&(w("ngIf",i.loading),c(1),w("ngIf",!i.loading))},dependencies:[Nn,gi,Ft,qa,Wr,el,Cn,vi,Yd,pa,Hd,as,Bd,sc,ha,wt],styles:[".labels[_ngcontent-%COMP%]{width:15%}.actions[_ngcontent-%COMP%]{text-align:right;width:120px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}.hypervisor-icon[_ngcontent-%COMP%]{font-size:14px!important;line-height:14px!important;position:relative;top:2px;margin-left:2px;color:#d48b05}.small-column[_ngcontent-%COMP%]{width:1px}.non-selectable[_ngcontent-%COMP%]{cursor:not-allowed}"]}),t})();const FX=["content"],H1=function(t){return{number:t}};function RX(t,n){if(1&t&&(D(0,"div",14),I(1),R(2,"translate"),C()),2&t){const e=z(2);c(1),ce(" ",kt(2,1,"node.logs.filter-ignored",He(4,H1,e.logEntries.length-e.filteredLogEntries.length))," ")}}function NX(t,n){if(1&t){const e=et();D(0,"div",9),ye("click",function(){return Pe(e),Oe(z().showFilters())}),D(1,"div",10)(2,"div")(3,"span"),I(4),R(5,"translate"),C(),D(6,"span",11),I(7),R(8,"translate"),C()(),V(9,RX,3,6,"div",12),C(),xe(10,"div",13),C()}if(2&t){const e=z();c(4),ce("",H(5,3,"node.logs.selected-filter")," "),c(3),se(H(8,5,"node.logs."+e.levelDetails.get(e.currentMinimumLevel).levelFilterName)),c(2),w("ngIf",e.logEntries.length>e.filteredLogEntries.length)}}function YX(t,n){if(1&t&&(D(0,"div",15)(1,"a",16),I(2),R(3,"translate"),C()()),2&t){const e=z();c(1),w("href",e.getFullLogsUrl(),Vo),c(1),ce(" ",kt(3,2,"node.logs.view-rest",He(5,H1,e.totalLogs))," ")}}function HX(t,n){1&t&&(Ue(0),I(1,":"),We())}function BX(t,n){if(1&t&&(D(0,"span"),I(1),C()),2&t){const e=z().$implicit;c(1),ce(" ",e.msg," ")}}function VX(t,n){if(1&t&&(Ue(0),D(1,"span",21),I(2),C(),D(3,"span"),I(4),C(),We()),2&t){const e=n.$implicit;c(2),ce(" ",e.name," "),c(2),ce(' ="',e.value,'" ')}}function jX(t,n){if(1&t&&(D(0,"div",15)(1,"span",18),I(2),C(),D(3,"span"),I(4),C(),I(5," [ "),D(6,"span",18),I(7),C(),D(8,"span",19),I(9),C(),I(10," ]"),V(11,HX,2,0,"ng-container",4),V(12,BX,2,1,"span",4),V(13,VX,5,2,"ng-container",20),C()),2&t){const e=n.$implicit,i=z(2);c(2),ce(" ",e.time," "),c(1),eo(i.levelDetails.get(e.level).colorClass),c(1),ce(" ",i.levelDetails.get(e.level).name," "),c(3),ce(" ",e.func," "),c(2),ce(" ",e._module," "),c(2),w("ngIf",e.msg),c(1),w("ngIf",e.msg),c(1),w("ngForOf",e.extra)}}function zX(t,n){if(1&t&&(Ue(0),V(1,jX,14,9,"div",17),We()),2&t){const e=z();c(1),w("ngForOf",e.filteredLogEntries)}}function UX(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),ce(" ",H(2,1,"node.logs.view-all")," "))}function WX(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z(2);c(1),ce(" ",kt(2,1,"node.logs.view-rest",He(4,H1,e.totalLogs))," ")}}function $X(t,n){if(1&t&&(D(0,"div",15)(1,"a",16),V(2,UX,3,3,"ng-container",4),V(3,WX,3,6,"ng-container",4),C()()),2&t){const e=z();c(1),w("href",e.getFullLogsUrl(),Vo),c(1),w("ngIf",!e.hasMoreLogMessages),c(1),w("ngIf",e.hasMoreLogMessages)}}function GX(t,n){1&t&&(D(0,"div",22),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"node.logs.no-logs")," "))}function qX(t,n){1&t&&(D(0,"div",22),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"node.logs.no-logs-for-filter")," "))}function KX(t,n){1&t&&xe(0,"app-loading-indicator",23),2&t&&w("showWhite",!1)}function ZX(t,n){1&t&&(D(0,"mat-icon",26),I(1,"refresh"),C()),2&t&&w("inline",!0)}const XX=function(t){return{time:t}};function JX(t,n){if(1&t&&(D(0,"div",24),V(1,ZX,2,1,"mat-icon",25),D(2,"span"),I(3),R(4,"translate"),C()()),2&t){const e=z();c(1),w("ngIf",!e.showAlert),c(2),se(kt(4,2,"refresh-button."+e.elapsedTime.translationVarName,He(5,XX,e.elapsedTime.elapsedTime)))}}var Wt=(()=>((Wt=Wt||{})[Wt.PanicLevel=0]="PanicLevel",Wt[Wt.FatalLevel=1]="FatalLevel",Wt[Wt.ErrorLevel=2]="ErrorLevel",Wt[Wt.WarnLevel=3]="WarnLevel",Wt[Wt.InfoLevel=4]="InfoLevel",Wt[Wt.DebugLevel=5]="DebugLevel",Wt[Wt.TraceLevel=6]="TraceLevel",Wt[Wt.Unknown=7]="Unknown",Wt))();class QX{constructor(){this.extra=[]}}let eJ=(()=>{class t{static openDialog(e){const i=new En;return i.autoFocus=!1,i.width=Vt.largeModalWidth,e.open(t,i)}constructor(e,i,o,s,a){this.dialogRef=e,this.nodeService=i,this.snackbarService=o,this.ngZone=s,this.dialog=a,this.levelDetails=new Map([[Wt.PanicLevel,{name:"PANIC",colorClass:"panic-level-color",levelFilterName:"filter-panic",importance:8}],[Wt.FatalLevel,{name:"FATAL",colorClass:"fatal-level-color",levelFilterName:"filter-faltal",importance:7}],[Wt.ErrorLevel,{name:"ERROR",colorClass:"error-level-color",levelFilterName:"filter-error",importance:6}],[Wt.WarnLevel,{name:"WARNING",colorClass:"warning-level-color",levelFilterName:"filter-warning",importance:5}],[Wt.InfoLevel,{name:"INFO",colorClass:"info-level-color",levelFilterName:"filter-info",importance:4}],[Wt.DebugLevel,{name:"DEBUG",colorClass:"debug-level-color",levelFilterName:"filter-debug",importance:3}],[Wt.TraceLevel,{name:"TRACE",colorClass:"trace-level-color",levelFilterName:"filter-all",importance:2}],[Wt.Unknown,{name:"UNKNOWN LOG",colorClass:"unknown-level-color",levelFilterName:"filter-all",importance:1}]]),this.currentMinimumLevel=Wt.Unknown,this.loading=!0,this.LoadingMoment=0,this.maxElementsPerPage=1e3,this.logEntries=[],this.filteredLogEntries=[],this.hasMoreLogMessages=!1,this.totalLogs=0,this.shouldShowError=!0}ngOnInit(){this.loadData(0)}ngOnDestroy(){this.removeSubscription(),this.removeTimeSubscription()}showFilters(){const e=[{icon:"",label:"node.logs.filter-all"},{icon:"",label:"node.logs.filter-debug"},{icon:"",label:"node.logs.filter-info"},{icon:"",label:"node.logs.filter-warning"},{icon:"",label:"node.logs.filter-error"},{icon:"",label:"node.logs.filter-faltal"},{icon:"",label:"node.logs.filter-panic"}],i=[Wt.Unknown,Wt.DebugLevel,Wt.InfoLevel,Wt.WarnLevel,Wt.ErrorLevel,Wt.FatalLevel,Wt.PanicLevel];for(let o=0;o<=i.length;o++)this.currentMinimumLevel===i[o]&&(e[o].icon="check");qr.openDialog(this.dialog,e,"node.logs.filter-title").afterClosed().subscribe(o=>{this.currentMinimumLevel=i[o-1],this.filter()})}loadData(e){this.removeSubscription(),this.loading=!0,this.subscription=$e(1).pipe(Ti(e),Ye(()=>this.nodeService.getRuntimeLogs(Ct.getCurrentNodeKey()))).subscribe(i=>this.onLogsReceived(i),i=>this.onLogsError(i))}removeSubscription(){this.subscription&&this.subscription.unsubscribe()}removeTimeSubscription(){this.timeUpdateSubscription&&this.timeUpdateSubscription.unsubscribe()}onLogsReceived(e){let i=0;this.totalLogs=e.length,this.hasMoreLogMessages=this.totalLogs-this.maxElementsPerPage>0,e.forEach(o=>{const s=new QX;s.time=o.time,s._module=o._module,s.msg=o.msg,s.func=o.func;const a=o.level?o.level.toLowerCase():"";if(s.level=a.includes("panic")?Wt.PanicLevel:a.includes("fatal")?Wt.FatalLevel:a.includes("error")?Wt.ErrorLevel:a.includes("warn")?Wt.WarnLevel:a.includes("info")?Wt.InfoLevel:a.includes("debug")?Wt.DebugLevel:a.includes("trace")?Wt.TraceLevel:Wt.Unknown,o.current_backoff){const d=Math.floor(o.current_backoff/1e9),_=Math.floor(d/60),E=Math.floor(d%60);s.extra.push(_?{name:"current_backoff",value:_+"m"+E+"s"}:{name:"current_backoff",value:E+"s"})}o.error&&s.extra.push({name:"error",value:o.error});const l=new Set;l.add("time"),l.add("_module"),l.add("msg"),l.add("func"),l.add("level"),l.add("current_backoff"),l.add("error"),l.add("log_line");for(const d in o)l.has(d)||s.extra.push({name:d,value:o[d]});this.totalLogs-i<=this.maxElementsPerPage&&this.logEntries.push(s),i+=1}),this.loading=!1,this.LoadingMoment=Date.now(),this.startUpdatingTime(),this.filter()}filter(){this.filteredLogEntries=[];const e=this.levelDetails.get(this.currentMinimumLevel).importance;this.logEntries.forEach(i=>{const o=this.levelDetails.get(i.level).importance;e<=o&&this.filteredLogEntries.push(i)}),setTimeout(()=>{this.content.nativeElement.scrollTop=this.content.nativeElement.scrollHeight})}startUpdatingTime(){this.elapsedTime=Pg.getElapsedTime(Math.floor((Date.now()-this.LoadingMoment)/1e3)),this.removeTimeSubscription(),this.timeUpdateSubscription=Sh(5e3,5e3).subscribe(()=>this.ngZone.run(()=>{this.elapsedTime=Pg.getElapsedTime(Math.floor((Date.now()-this.LoadingMoment)/1e3))}))}getFullLogsUrl(){return window.location.origin+"/api/visors/"+Ct.getCurrentNodeKey()+"/runtime-logs"}onLogsError(e){e=en(e),this.shouldShowError&&(this.snackbarService.showError("common.loading-error",null,!0,e),this.shouldShowError=!1),this.loadData(Vt.connectionRetryDelay)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(ua),Y(Dn),Y(ft),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-node-logs"]],viewQuery:function(e,i){if(1&e&&_t(FX,5),2&e){let o;rt(o=ot())&&(i.content=o.first)}},decls:13,vars:14,consts:[[3,"headline","includeVerticalMargins","includeScrollableArea","dialog"],["class","filter-area",3,"click",4,"ngIf"],["content",""],["class","log-entry",4,"ngIf"],[4,"ngIf"],["class","log-empty-msg",4,"ngIf"],[3,"showWhite",4,"ngIf"],[1,"update-button","subtle-transparent-button",3,"click"],["class","update-time",4,"ngIf"],[1,"filter-area",3,"click"],[1,"filter-content"],[1,"actual-value"],["class","small",4,"ngIf"],[1,"filter-margin"],[1,"small"],[1,"log-entry"],["target","_blank",1,"view-raw-link",3,"href"],["class","log-entry",4,"ngFor","ngForOf"],[1,"transparent"],[1,"module-color"],[4,"ngFor","ngForOf"],[1,"extra-data-color"],[1,"log-empty-msg"],[3,"showWhite"],[1,"update-time"],["class","icon",3,"inline",4,"ngIf"],[1,"icon",3,"inline"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),V(2,NX,11,7,"div",1),D(3,"mat-dialog-content",null,2),V(5,YX,4,7,"div",3),V(6,zX,2,1,"ng-container",4),V(7,$X,4,3,"div",3),V(8,GX,3,3,"div",5),V(9,qX,3,3,"div",5),V(10,KX,1,1,"app-loading-indicator",6),D(11,"div",7),ye("click",function(){return i.loadData(0)}),V(12,JX,5,7,"div",8),C()()()),2&e&&(w("headline",H(1,12,"node.logs.title"))("includeVerticalMargins",!1)("includeScrollableArea",!1)("dialog",i.dialogRef),c(2),w("ngIf",!i.loading&&i.logEntries&&i.logEntries.length>0),c(3),w("ngIf",!i.loading&&i.hasMoreLogMessages),c(1),w("ngIf",!i.loading),c(1),w("ngIf",!i.loading&&i.logEntries&&i.logEntries.length>0),c(1),w("ngIf",!(i.loading||i.logEntries&&0!==i.logEntries.length)),c(1),w("ngIf",!i.loading&&i.logEntries&&i.logEntries.length>0&&i.filteredLogEntries.length<1),c(1),w("ngIf",i.loading),c(2),w("ngIf",!i.loading))},dependencies:[gi,Ft,r1,Cn,ei,as,wt],styles:[".filter-area[_ngcontent-%COMP%]{margin-left:-24px;margin-right:-24px;font-size:.8rem;color:#777;background-color:#d9deeb;cursor:pointer}.filter-area[_ngcontent-%COMP%]:hover{background-color:#cfd5e6}.filter-area[_ngcontent-%COMP%] .filter-content[_ngcontent-%COMP%]{padding:10px 24px;text-align:center}.filter-area[_ngcontent-%COMP%] .filter-content[_ngcontent-%COMP%] .actual-value[_ngcontent-%COMP%]{color:#202226}.filter-area[_ngcontent-%COMP%] .filter-content[_ngcontent-%COMP%] .small[_ngcontent-%COMP%]{font-size:.6rem}.filter-area[_ngcontent-%COMP%] .filter-margin[_ngcontent-%COMP%]{height:1px;background-color:#215f9e33;margin:0 12px}.log-entry[_ngcontent-%COMP%]{margin-top:15px;word-break:break-word}.log-entry[_ngcontent-%COMP%] .transparent[_ngcontent-%COMP%]{color:#999}.log-entry[_ngcontent-%COMP%]:first-of-type{margin-top:0}.log-entry[_ngcontent-%COMP%]:last-of-type{margin-bottom:24px}.log-empty-msg[_ngcontent-%COMP%]{text-align:center}.view-raw-link[_ngcontent-%COMP%]{color:#215f9e}.update-button[_ngcontent-%COMP%]{display:flex;justify-content:center;cursor:pointer}.update-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:5px;margin-right:5px}.update-button[_ngcontent-%COMP%] .update-time[_ngcontent-%COMP%]{text-align:center;font-size:.7rem;color:#202226;margin:0 5px}.panic-level-color[_ngcontent-%COMP%], .fatal-level-color[_ngcontent-%COMP%]{color:red}.error-level-color[_ngcontent-%COMP%]{color:#d10000}.warning-level-color[_ngcontent-%COMP%]{color:#e27505}.info-level-color[_ngcontent-%COMP%]{color:#0d9519}.debug-level-color[_ngcontent-%COMP%]{color:#0065ff}.trace-level-color[_ngcontent-%COMP%]{color:#468cf5}.unknown-level-color[_ngcontent-%COMP%]{color:#e27505}.module-color[_ngcontent-%COMP%]{color:#a119fc}.extra-data-color[_ngcontent-%COMP%]{color:#ad8021}"]}),t})();class cP{constructor(n,e){this.canBeUpdated=!1,this.canBeRestarted=!1,this.canOpenTerminal=!1,this.options=[],this.dialog=n.get(In),this.router=n.get(hn),this.snackbarService=n.get(Dn),this.nodeService=n.get(ua),this.storageService=n.get(Ji),this.showingFullList=e,this.returnButtonText=e?"node.title":"nodes.title",this.updateOptions()}updateOptions(){this.options=[],this.canOpenTerminal&&this.options.push({name:"actions.menu.terminal",actionName:"terminal",icon:"laptop"}),this.options.push({name:"actions.menu.logs",actionName:"logs",icon:"subject"}),this.canBeRestarted&&this.options.push({name:"actions.menu.reboot",actionName:"reboot",icon:"rotate_right"})}setCurrentNode(n){this.currentNode=n,Jt.checkIfTagIsUpdatable(n.buildTag)?(this.canBeUpdated=!0,this.canBeRestarted=!0):(this.canBeUpdated=!1,this.canBeRestarted=!1),this.canOpenTerminal=Jt.checkIfTagCanOpenterminal(n.buildTag),this.updateOptions()}setCurrentNodeKey(n){this.currentNodeKey=n}performAction(n,e){"terminal"===n?this.terminal():"update"===n?this.update():"logs"===n?this.runtimeLogs():"reboot"===n?this.reboot():null===n&&this.back()}dispose(){this.rebootSubscription&&this.rebootSubscription.unsubscribe(),this.updateSubscription&&this.updateSubscription.unsubscribe()}reboot(){const n=Jt.createConfirmationDialog(this.dialog,"actions.reboot.confirmation");n.componentInstance.operationAccepted.subscribe(()=>{n.componentInstance.showProcessing(),this.rebootSubscription=this.nodeService.reboot(this.currentNodeKey).subscribe(()=>{this.snackbarService.showDone("actions.reboot.done"),n.close()},e=>{e=en(e),n.componentInstance.showDone("confirmation.error-header-text",e.translatableErrorMsg)})})}update(){const n=Jt.createConfirmationDialog(this.dialog,"actions.update.confirmation");n.componentInstance.operationAccepted.subscribe(()=>{const e=window.location.protocol,i=window.location.host.replace("localhost:4200","127.0.0.1:8000");window.open(e+"//"+i+"/pty/"+this.currentNodeKey+"?commands=update","_blank","noopener noreferrer"),n.close()})}terminal(){const n=window.location.protocol,e=window.location.host.replace("localhost:4200","127.0.0.1:8000");window.open(n+"//"+e+"/pty/"+this.currentNodeKey,"_blank","noopener noreferrer")}runtimeLogs(){eJ.openDialog(this.dialog)}back(){this.router.navigate(this.showingFullList?["nodes",this.currentNodeKey]:["nodes"])}}class tJ{constructor(){this.trafficData=new nJ}}class nJ{constructor(){this.totalSent=0,this.totalReceived=0,this.sentHistory=[],this.receivedHistory=[]}}class iJ{constructor(){this.lastEmitedData=new tJ,this.dataSubject=new Or(null),this.whenUpdateWasScheduled=0,this.stopRequestedDate=-1}}let rJ=(()=>{class t{constructor(e,i){this.storageService=e,this.nodeService=i,this.maxTrafficHistorySlots=10,this.expirationTime=6e4,this.nodesMap=new Map,this.storageService.getRefreshTimeObservable().subscribe(o=>{this.dataRefreshDelay=1e3*o,this.nodesMap.forEach(s=>{this.forceSpecificNodeRefresh(s.pk)})}),this.checkForExpired()}checkForExpired(){$e(1).pipe(Ti(5e3)).subscribe(()=>{try{this.nodesMap.forEach(e=>{this.finishIfExpired(e)})}catch{}this.checkForExpired()})}startRequestingData(e){let i=this.nodesMap.get(e);return i?i.stopRequestedDate=-1:(i=new iJ,i.pk=e,this.nodesMap.set(e,i),this.startDataSubscription(0,i)),i.dataSubject.asObservable()}stopRequestingSpecificNode(e){const i=this.nodesMap.get(e);i&&(i.stopRequestedDate=Date.now())}startDataSubscription(e,i){i.updateSubscription&&i.updateSubscription.unsubscribe(),i.updateSubscription=$e(1).pipe(Ti(e),bi(()=>{i.lastEmitedData.updating=!0,i.dataSubject.next(i.lastEmitedData)}),Ti(120),Ye(()=>this.nodeService.getNode(i.pk))).subscribe(o=>{this.updateTrafficData(o.transports,i.lastEmitedData.trafficData,i.whenUpdateWasScheduled);let s=this.calculateRemainingTime(i.whenUpdateWasScheduled);s<1e3&&(i.whenUpdateWasScheduled=Date.now(),s=this.dataRefreshDelay),i.lastEmitedData={data:o,error:null,momentOfLastCorrectUpdate:Date.now(),updating:!1,trafficData:i.lastEmitedData.trafficData},i.dataSubject.next(i.lastEmitedData),this.startDataSubscription(s,i)},o=>{o=en(o),i.lastEmitedData={data:i.lastEmitedData.data,error:o,momentOfLastCorrectUpdate:i.lastEmitedData.momentOfLastCorrectUpdate,updating:!1,trafficData:i.lastEmitedData.trafficData},i.dataSubject.next(i.lastEmitedData),o.originalError&&400===o.originalError.status?(i.dataSubject.complete(),i.updateSubscription.unsubscribe(),this.nodesMap.delete(i.pk)):this.startDataSubscription(Vt.connectionRetryDelay,i)})}calculateRemainingTime(e){if(e<1)return 0;let i=this.dataRefreshDelay-(Date.now()-e);return i<0&&(i=0),i}updateTrafficData(e,i,o){if(i.totalSent=0,i.totalReceived=0,e&&e.length>0&&(i.totalSent=e.reduce((s,a)=>s+a.sent,0),i.totalReceived=e.reduce((s,a)=>s+a.recv,0)),0===i.sentHistory.length)for(let s=0;sthis.maxTrafficHistorySlots&&(a=this.maxTrafficHistorySlots),0===a)i.sentHistory[i.sentHistory.length-1]=i.totalSent,i.receivedHistory[i.receivedHistory.length-1]=i.totalReceived;else for(let l=0;lthis.maxTrafficHistorySlots&&(i.sentHistory.splice(0,i.sentHistory.length-this.maxTrafficHistorySlots),i.receivedHistory.splice(0,i.receivedHistory.length-this.maxTrafficHistorySlots))}}forceSpecificNodeRefresh(e){const i=this.nodesMap.get(e);i&&this.startDataSubscription(0,i)}finishIfExpired(e){e.stopRequestedDate>0&&Date.now()-e.stopRequestedDate>this.expirationTime&&(e.dataSubject.complete(),e.updateSubscription.unsubscribe(),this.nodesMap.delete(e.pk))}}return t.\u0275fac=function(e){return new(e||t)(we(Ji),we(ua))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function oJ(t,n){1&t&&xe(0,"app-loading-indicator")}function sJ(t,n){1&t&&(D(0,"div",6)(1,"div")(2,"mat-icon",7),I(3,"error"),C(),I(4),R(5,"translate"),C()()),2&t&&(c(2),w("inline",!0),c(2),ce(" ",H(5,2,"node.not-found")," "))}function aJ(t,n){if(1&t){const e=et();D(0,"div",2)(1,"div")(2,"app-top-bar",3),ye("optionSelected",function(o){return Pe(e),Oe(z().performAction(o))}),C()(),V(3,oJ,1,0,"app-loading-indicator",4),V(4,sJ,6,4,"div",5),C()}if(2&t){const e=z();c(2),w("titleParts",e.titleParts)("tabsData",e.tabsData)("selectedTabIndex",e.selectedTabIndex)("showUpdateButton",!1)("optionsData",e.nodeActionsHelper?e.nodeActionsHelper.options:null)("returnText",e.nodeActionsHelper?e.nodeActionsHelper.returnButtonText:""),c(1),w("ngIf",!e.notFound),c(1),w("ngIf",e.notFound)}}function lJ(t,n){if(1&t&&xe(0,"app-node-info-content",15),2&t){const e=z(2);w("nodeInfo",e.node)("trafficData",e.trafficData)}}const cJ=function(t,n){return{"main-area":t,"full-size-main-area":n}},dJ=function(t){return{"d-none":t}};function uJ(t,n){if(1&t){const e=et();D(0,"div",8)(1,"div",9)(2,"app-top-bar",10),ye("optionSelected",function(o){return Pe(e),Oe(z().performAction(o))})("refreshRequested",function(){return Pe(e),Oe(z().forceDataRefresh(!0))}),C()(),D(3,"div",9)(4,"div",11)(5,"div",12),xe(6,"router-outlet"),C()(),D(7,"div",13),V(8,lJ,1,2,"app-node-info-content",14),C()()()}if(2&t){const e=z();c(2),w("titleParts",e.titleParts)("tabsData",e.tabsData)("selectedTabIndex",e.selectedTabIndex)("secondsSinceLastUpdate",e.secondsSinceLastUpdate)("showLoading",e.updating)("showAlert",e.errorsUpdating)("refeshRate",e.storageService.getRefreshTime())("optionsData",e.nodeActionsHelper?e.nodeActionsHelper.options:null)("returnText",e.nodeActionsHelper?e.nodeActionsHelper.returnButtonText:""),c(2),w("ngClass",mn(12,cJ,!e.showingInfo&&!e.showingFullList,e.showingInfo||e.showingFullList)),c(3),w("ngClass",He(15,dJ,e.showingInfo||e.showingFullList)),c(1),w("ngIf",!e.showingInfo&&!e.showingFullList)}}let Ct=(()=>{class t extends er{static refreshCurrentDisplayedData(){t.currentInstanceInternal&&t.currentInstanceInternal.forceDataRefresh(!1)}static getCurrentNodeKey(){return t.currentNodeKey}static get currentNode(){return t.nodeSubject.asObservable()}static get currentTrafficData(){return t.trafficDataSubject.asObservable()}constructor(e,i,o,s,a,l,d){super(),this.storageService=e,this.singleNodeDataService=i,this.route=o,this.ngZone=s,this.snackbarService=a,this.injector=l,this.persistentDataResponseKey="serv-dat-response",this.notFound=!1,this.titleParts=[],this.tabsData=[],this.selectedTabIndex=-1,this.showingInfo=!1,this.showingFullList=!1,this.initialRouteEventFired=!1,this.secondsSinceLastUpdate=0,this.lastUpdate=Date.now(),this.updating=!1,this.errorsUpdating=!1,this.lastUpdateRequestedManually=!1,t.nodeSubject=new ko(1),t.trafficDataSubject=new ko(1),t.currentInstanceInternal=this,this.navigationsSubscription=d.events.subscribe(_=>{_.urlAfterRedirects&&(this.lastUrl=_.urlAfterRedirects,this.processRouteUpdate(),this.initialRouteEventFired=!0)})}ngOnInit(){return this.ngZone.runOutsideAngular(()=>{this.updateTimeSubscription=Sh(5e3,5e3).subscribe(()=>this.ngZone.run(()=>{this.secondsSinceLastUpdate=Math.floor((Date.now()-this.lastUpdate)/1e3)}))}),this.initSubscription=$e(0).pipe(Ti(500)).subscribe(()=>{this.initialRouteEventFired||(this.lastUrl=window.location.href,this.processRouteUpdate())}),super.ngOnInit()}processRouteUpdate(){t.currentNodeKey=this.route.snapshot.params.key,this.nodeActionsHelper&&this.nodeActionsHelper.setCurrentNodeKey(t.currentNodeKey),this.updateTabBar(),this.navigationsSubscription.unsubscribe(),this.startGettingData(!0)}updateTabBar(){if(this.lastUrl&&(this.lastUrl.includes("/info")||this.lastUrl.includes("/routing")||this.lastUrl.includes("/apps")&&!this.lastUrl.includes("/apps-list")))this.titleParts=["nodes.title","node.title"],this.tabsData=[{icon:"info",label:"node.tabs.info",onlyIfLessThanLg:!0,linkParts:t.currentNodeKey?["/nodes",t.currentNodeKey,"info"]:null},{icon:"shuffle",label:"node.tabs.routing",linkParts:t.currentNodeKey?["/nodes",t.currentNodeKey,"routing"]:null},{icon:"apps",label:"node.tabs.apps",linkParts:t.currentNodeKey?["/nodes",t.currentNodeKey,"apps"]:null}],this.selectedTabIndex=1,this.showingInfo=!1,this.lastUrl.includes("/info")&&(this.selectedTabIndex=0,this.showingInfo=!0),this.lastUrl.includes("/apps")&&(this.selectedTabIndex=2),this.showingFullList=!1,this.nodeActionsHelper=new cP(this.injector,this.showingFullList),this.nodeActionsHelper.setCurrentNodeKey(t.currentNodeKey),this.node&&this.nodeActionsHelper.setCurrentNode(this.node);else if(this.lastUrl&&(this.lastUrl.includes("/transports")||this.lastUrl.includes("/routes")||this.lastUrl.includes("/apps-list"))){this.showingFullList=!0,this.showingInfo=!1,this.nodeActionsHelper=new cP(this.injector,this.showingFullList),this.nodeActionsHelper.setCurrentNodeKey(t.currentNodeKey),this.node&&this.nodeActionsHelper.setCurrentNode(this.node);let e="transports";this.lastUrl.includes("/routes")?e="routes":this.lastUrl.includes("/apps-list")&&(e="apps.apps-list"),this.titleParts=["nodes.title","node.title",e+".title"],this.tabsData=[{icon:"view_headline",label:e+".list-title",linkParts:[]}],this.selectedTabIndex=0}else this.titleParts=[],this.tabsData=[]}performAction(e){this.nodeActionsHelper.performAction(e,t.currentNodeKey)}forceDataRefresh(e=!1){e&&(this.lastUpdateRequestedManually=!0),this.singleNodeDataService.forceSpecificNodeRefresh(t.currentNodeKey)}startGettingData(e){const i=e?this.getLocalValue(this.persistentDataResponseKey):null;let o=this.singleNodeDataService.startRequestingData(t.currentNodeKey);i&&(o=$e(JSON.parse(i.value))),this.dataSubscription=o.subscribe(s=>{if(i||this.saveLocalValue(this.persistentDataResponseKey,JSON.stringify(s)),this.updating=!s||s.updating,s&&!s.updating)if(s.data&&!s.error)this.node=s.data,this.trafficData=s.trafficData,t.nodeSubject.next(this.node),t.trafficDataSubject.next(this.trafficData),this.nodeActionsHelper&&this.nodeActionsHelper.setCurrentNode(this.node),this.snackbarService.closeCurrentIfTemporaryError(),this.lastUpdate=s.momentOfLastCorrectUpdate,this.secondsSinceLastUpdate=Math.floor((Date.now()-s.momentOfLastCorrectUpdate)/1e3),this.errorsUpdating=!1,this.lastUpdateRequestedManually&&(this.snackbarService.showDone("common.refreshed",null),this.lastUpdateRequestedManually=!1);else if(s.error){if(s.error.originalError&&400===s.error.originalError.status)return void(this.notFound=!0);this.errorsUpdating||this.snackbarService.showError(this.node?"node.error-load":"common.loading-error",null,!0,s.error),this.errorsUpdating=!0}i&&this.startGettingData(!1)})}ngOnDestroy(){this.singleNodeDataService.stopRequestingSpecificNode(t.currentNodeKey),this.dataSubscription.unsubscribe(),this.updateTimeSubscription.unsubscribe(),this.navigationsSubscription.unsubscribe(),this.initSubscription.unsubscribe(),t.currentInstanceInternal=void 0,t.currentNodeKey=void 0,t.nodeSubject.complete(),t.nodeSubject=void 0,t.trafficDataSubject.complete(),t.trafficDataSubject=void 0,this.nodeActionsHelper.dispose()}}return t.\u0275fac=function(e){return new(e||t)(Y(Ji),Y(rJ),Y(Mr),Y(ft),Y(Dn),Y(Si),Y(hn))},t.\u0275cmp=Ze({type:t,selectors:[["app-node"]],features:[nt],decls:2,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["class","row",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","optionsData","returnText","optionSelected"],[4,"ngIf"],["class","w-100 h-100 d-flex not-found-label",4,"ngIf"],[1,"w-100","h-100","d-flex","not-found-label"],[3,"inline"],[1,"row"],[1,"col-12"],[3,"titleParts","tabsData","selectedTabIndex","secondsSinceLastUpdate","showLoading","showAlert","refeshRate","optionsData","returnText","optionSelected","refreshRequested"],[3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"right-bar",3,"ngClass"],[3,"nodeInfo","trafficData",4,"ngIf"],[3,"nodeInfo","trafficData"]],template:function(e,i){1&e&&(V(0,aJ,5,8,"div",0),V(1,uJ,9,17,"div",1)),2&e&&(w("ngIf",!i.node),c(1),w("ngIf",i.node))},styles:[".not-found-label[_ngcontent-%COMP%]{align-items:center;justify-content:center;font-size:1rem;position:relative}.not-found-label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:5px;font-size:22px;opacity:.5;margin-right:3px}.full-size-main-area[_ngcontent-%COMP%], .main-area[_ngcontent-%COMP%]{width:100%}@media (min-width: 992px){.main-area[_ngcontent-%COMP%]{width:73%;padding-right:20px;float:left}}.right-bar[_ngcontent-%COMP%]{width:27%;float:right;display:none}@media (min-width: 992px){.right-bar[_ngcontent-%COMP%]{display:block;width:27%;float:right}}"]}),t})();function hJ(t,n){if(1&t&&(D(0,"mat-option",10),I(1),R(2,"translate"),C()),2&t){const e=n.$implicit;Ln("value",e),c(1),vo(" ",e," ",H(2,3,"settings.seconds")," ")}}let fJ=(()=>{class t{constructor(e,i,o){this.formBuilder=e,this.storageService=i,this.snackbarService=o,this.timesList=["3","5","10","15","30","60","90","150","300"]}ngOnInit(){this.form=this.formBuilder.group({refreshRate:[this.storageService.getRefreshTime().toString()]}),this.subscription=this.form.get("refreshRate").valueChanges.subscribe(e=>{this.storageService.setRefreshTime(e),this.snackbarService.showDone("settings.refresh-rate-confirmation")})}ngOnDestroy(){this.subscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(xr),Y(Ji),Y(Dn))},t.\u0275cmp=Ze({type:t,selectors:[["app-refresh-rate"]],decls:14,vars:9,consts:[[1,"rounded-elevated-box"],[1,"box-internal-container","overflow"],[1,"white-form-help-icon-container"],[1,"help-icon",3,"inline","matTooltip"],[3,"formGroup"],[1,"white-form-field"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","refreshRate"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1)(2,"div",2)(3,"mat-icon",3),R(4,"translate"),I(5," help "),C()(),D(6,"form",4)(7,"mat-form-field",5)(8,"div",6)(9,"label",7),I(10),R(11,"translate"),C(),D(12,"mat-select",8),V(13,hJ,3,5,"mat-option",9),C()()()()()()),2&e&&(c(3),w("inline",!0)("matTooltip",H(4,5,"settings.refresh-rate-help")),c(3),w("formGroup",i.form),c(4),se(H(11,7,"settings.refresh-rate")),c(3),w("ngForOf",i.timesList))},dependencies:[gi,zi,Vi,ji,ii,Ei,ar,Cn,vi,tf,Pd,wt],styles:[".help-icon[_ngcontent-%COMP%]{display:inline}mat-form-field[_ngcontent-%COMP%]{margin-right:32px}mat-form-field[_ngcontent-%COMP%] .mat-mdc-form-field-bottom-align{margin-bottom:0!important}"]}),t})();const pJ=function(t){return{number:t}};let Og=(()=>{class t{constructor(){this.numberOfElements=0,this.linkParts=[""],this.queryParams={}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["app-view-all-link"]],inputs:{numberOfElements:"numberOfElements",linkParts:"linkParts",queryParams:"queryParams"},decls:6,vars:9,consts:[[1,"main-container"],[3,"routerLink","queryParams"],[3,"inline"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"a",1),I(2),R(3,"translate"),D(4,"mat-icon",2),I(5,"chevron_right"),C()()()),2&e&&(c(1),w("routerLink",i.linkParts)("queryParams",i.queryParams),c(1),ce(" ",kt(3,4,"view-all-link.label",He(7,pJ,i.numberOfElements))," "),c(2),w("inline",!0))},dependencies:[qa,Cn,wt],styles:[".main-container[_ngcontent-%COMP%]{padding-top:20px;margin-bottom:4px;text-align:right;font-size:.875rem}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.main-container[_ngcontent-%COMP%]{margin:0;padding:16px}}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#f8f9f9;text-decoration:none}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}"]}),t})();function mJ(t,n){1&t&&(D(0,"span",14),I(1),R(2,"translate"),D(3,"mat-icon",15),R(4,"translate"),I(5,"help"),C()()),2&t&&(c(1),ce(" ",H(2,3,"labels.title")," "),c(2),w("inline",!0)("matTooltip",H(4,5,"labels.info")))}function gJ(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.translatableValue))}}function _J(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e.value)}}function bJ(t,n){if(1&t&&(D(0,"div",19)(1,"span"),I(2),R(3,"translate"),C(),V(4,gJ,3,3,"ng-container",20),V(5,_J,2,1,"ng-container",20),C()),2&t){const e=n.$implicit;c(2),ce("",H(3,3,e.filterName),": "),c(2),w("ngIf",e.translatableValue),c(1),w("ngIf",e.value)}}function vJ(t,n){if(1&t){const e=et();D(0,"div",16),ye("click",function(){return Pe(e),Oe(z().dataFilterer.removeFilters())}),V(1,bJ,6,5,"div",17),D(2,"div",18),I(3),R(4,"translate"),C()()}if(2&t){const e=z();c(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),c(2),se(H(4,2,"filters.press-to-remove"))}}function yJ(t,n){if(1&t){const e=et();D(0,"mat-icon",21),ye("click",function(){return Pe(e),Oe(z().dataFilterer.changeFilters())}),R(1,"translate"),I(2,"filter_list"),C()}2&t&&w("inline",!0)("matTooltip",H(1,2,"filters.filter-action"))}function MJ(t,n){if(1&t&&(D(0,"mat-icon",22),I(1,"more_horiz"),C()),2&t){z();const e=ci(9);w("inline",!0)("matMenuTriggerFor",e)}}const B1=function(){return["/settings","labels"]};function wJ(t,n){if(1&t&&xe(0,"app-paginator",23),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",qn(4,B1))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function CJ(t,n){if(1&t&&(D(0,"mat-icon",36),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function xJ(t,n){if(1&t&&(D(0,"mat-icon",36),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function kJ(t,n){if(1&t&&(D(0,"mat-icon",36),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function SJ(t,n){if(1&t){const e=et();D(0,"tr")(1,"td",38)(2,"mat-checkbox",39),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(3,"td"),I(4),C(),D(5,"td"),I(6),C(),D(7,"td"),I(8),R(9,"translate"),C(),D(10,"td",29)(11,"button",40),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).delete(s.id))}),R(12,"translate"),D(13,"mat-icon",36),I(14,"close"),C()()()()}if(2&t){const e=n.$implicit,i=z(2);c(2),w("checked",i.selections.get(e.id)),c(2),ce(" ",e.label," "),c(2),ce(" ",e.id," "),c(2),vo(" ",i.getLabelTypeIdentification(e)[0]," - ",H(9,7,i.getLabelTypeIdentification(e)[1])," "),c(3),w("matTooltip",H(12,9,"labels.delete")),c(2),w("inline",!0)}}function DJ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.label")))}function TJ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.inverted-order")))}function LJ(t,n){if(1&t){const e=et();D(0,"tr")(1,"td")(2,"div",33)(3,"div",41)(4,"mat-checkbox",39),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(5,"div",34)(6,"div",42)(7,"span",1),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",43)(12,"span",1),I(13),R(14,"translate"),C(),I(15),C(),D(16,"div",42)(17,"span",1),I(18),R(19,"translate"),C(),I(20),R(21,"translate"),C()(),xe(22,"div",44),D(23,"div",35)(24,"button",45),ye("click",function(o){const a=Pe(e).$implicit,l=z(2);return o.stopPropagation(),Oe(l.showOptionsDialog(a))}),R(25,"translate"),D(26,"mat-icon"),I(27),C()()()()()()}if(2&t){const e=n.$implicit,i=z(2);c(4),w("checked",i.selections.get(e.id)),c(4),se(H(9,10,"labels.label")),c(2),ce(": ",e.label," "),c(3),se(H(14,12,"labels.id")),c(2),ce(": ",e.id," "),c(3),se(H(19,14,"labels.type")),c(2),vo(": ",i.getLabelTypeIdentification(e)[0]," - ",H(21,16,i.getLabelTypeIdentification(e)[1])," "),c(4),w("matTooltip",H(25,18,"common.options")),c(3),se("add")}}function EJ(t,n){if(1&t&&xe(0,"app-view-all-link",46),2&t){const e=z(2);w("numberOfElements",e.filteredLabels.length)("linkParts",qn(3,B1))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const IJ=function(t,n){return{"small-node-list-margins":t,"full-node-list-margins":n}},PJ=function(t){return{"d-lg-none d-xl-table":t}},OJ=function(t){return{"d-lg-table d-xl-none":t}};function AJ(t,n){if(1&t){const e=et();D(0,"div",24)(1,"div",25)(2,"table",26)(3,"tr"),xe(4,"th"),D(5,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.labelSortData))}),I(6),R(7,"translate"),V(8,CJ,2,2,"mat-icon",28),C(),D(9,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.idSortData))}),I(10),R(11,"translate"),V(12,xJ,2,2,"mat-icon",28),C(),D(13,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.typeSortData))}),I(14),R(15,"translate"),V(16,kJ,2,2,"mat-icon",28),C(),xe(17,"th",29),C(),V(18,SJ,15,11,"tr",30),C(),D(19,"table",31)(20,"tr",32),ye("click",function(){return Pe(e),Oe(z().dataSorter.openSortingOrderModal())}),D(21,"td")(22,"div",33)(23,"div",34)(24,"div",1),I(25),R(26,"translate"),C(),D(27,"div"),I(28),R(29,"translate"),V(30,DJ,3,3,"ng-container",20),V(31,TJ,3,3,"ng-container",20),C()(),D(32,"div",35)(33,"mat-icon",36),I(34,"keyboard_arrow_down"),C()()()()(),V(35,LJ,28,20,"tr",30),C(),V(36,EJ,1,4,"app-view-all-link",37),C()()}if(2&t){const e=z();c(1),w("ngClass",mn(27,IJ,e.showShortList_,!e.showShortList_)),c(1),w("ngClass",He(30,PJ,e.showShortList_)),c(4),ce(" ",H(7,17,"labels.label")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.labelSortData),c(2),ce(" ",H(11,19,"labels.id")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.idSortData),c(2),ce(" ",H(15,21,"labels.type")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.typeSortData),c(2),w("ngForOf",e.dataSource),c(1),w("ngClass",He(32,OJ,e.showShortList_)),c(6),se(H(26,23,"tables.sorting-title")),c(3),ce("",H(29,25,e.dataSorter.currentSortingColumn.label)," "),c(2),w("ngIf",e.dataSorter.currentlySortingByLabel),c(1),w("ngIf",e.dataSorter.sortingInReverseOrder),c(2),w("inline",!0),c(2),w("ngForOf",e.dataSource),c(1),w("ngIf",e.showShortList_&&e.numberOfPages>1)}}function FJ(t,n){1&t&&(D(0,"span",50),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"labels.empty")))}function RJ(t,n){1&t&&(D(0,"span",50),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"labels.empty-with-filter")))}function NJ(t,n){if(1&t&&(D(0,"div",24)(1,"div",47)(2,"mat-icon",48),I(3,"warning"),C(),V(4,FJ,3,3,"span",49),V(5,RJ,3,3,"span",49),C()()),2&t){const e=z();c(2),w("inline",!0),c(2),w("ngIf",0===e.allLabels.length),c(1),w("ngIf",0!==e.allLabels.length)}}function YJ(t,n){if(1&t&&xe(0,"app-paginator",23),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",qn(4,B1))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const HJ=function(t){return{"paginator-icons-fixer":t}};let dP=(()=>{class t{set showShortList(e){this.showShortList_=e,this.dataSorter.setData(this.filteredLabels)}constructor(e,i,o,s,a,l){this.dialog=e,this.route=i,this.router=o,this.snackbarService=s,this.translateService=a,this.storageService=l,this.listId="ll",this.labelSortData=new Vn(["label"],"labels.label",Zt.Text),this.idSortData=new Vn(["id"],"labels.id",Zt.Text),this.typeSortData=new Vn(["identifiedElementType_sort"],"labels.type",Zt.Text),this.selections=new Map,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"labels.filter-dialog.label",keyNameInElementsArray:"label",type:$n.TextInput,maxlength:100},{filterName:"labels.filter-dialog.id",keyNameInElementsArray:"id",type:$n.TextInput,maxlength:66},{filterName:"labels.filter-dialog.type",keyNameInElementsArray:"identifiedElementType",type:$n.Select,printableLabelsForValues:[{value:"",label:"labels.filter-dialog.type-options.any"},{value:Xi.Node,label:"labels.filter-dialog.type-options.visor"},{value:Xi.DmsgServer,label:"labels.filter-dialog.type-options.dmsg-server"},{value:Xi.Transport,label:"labels.filter-dialog.type-options.transport"}]}],this.dataSorter=new Rd(this.dialog,this.translateService,this.storageService,[this.labelSortData,this.idSortData,this.typeSortData],0,this.listId),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataFilterer=new Nd(this.dialog,this.route,this.router,this.filterProperties,this.listId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(_=>{this.filteredLabels=_,this.dataSorter.setData(this.filteredLabels)}),this.loadData(),this.navigationsSubscription=this.route.paramMap.subscribe(_=>{if(_.has("page")){let E=Number.parseInt(_.get("page"),10);(isNaN(E)||E<1)&&(E=1),this.currentPageInUrl=E,this.recalculateElementsToShow()}})}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.dataSortedSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFiltererSubscription.unsubscribe(),this.dataFilterer.dispose()}loadData(){this.allLabels=this.storageService.getSavedLabels(),this.allLabels.forEach(e=>{e.identifiedElementType_sort=this.getLabelTypeIdentification(e)[0]}),this.dataFilterer.setData(this.allLabels)}getLabelTypeIdentification(e){return e.identifiedElementType===Xi.Node?["1","labels.filter-dialog.type-options.visor"]:e.identifiedElementType===Xi.DmsgServer?["2","labels.filter-dialog.type-options.dmsg-server"]:e.identifiedElementType===Xi.Transport?["3","labels.filter-dialog.type-options.transport"]:void 0}changeSelection(e){this.selections.get(e.id)?this.selections.set(e.id,!1):this.selections.set(e.id,!0)}hasSelectedElements(){if(!this.selections)return!1;let e=!1;return this.selections.forEach(i=>{i&&(e=!0)}),e}changeAllSelections(e){this.selections.forEach((i,o)=>{this.selections.set(o,e)})}deleteSelected(){const e=Jt.createConfirmationDialog(this.dialog,"labels.delete-selected-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.close(),this.selections.forEach((i,o)=>{i&&this.storageService.saveLabel(o,"",null)}),this.snackbarService.showDone("labels.deleted"),this.loadData()})}showOptionsDialog(e){qr.openDialog(this.dialog,[{icon:"close",label:"labels.delete"}],"common.options").afterClosed().subscribe(o=>{1===o&&this.delete(e.id)})}delete(e){const i=Jt.createConfirmationDialog(this.dialog,"labels.delete-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.close(),this.storageService.saveLabel(e,"",null),this.snackbarService.showDone("labels.deleted"),this.loadData()})}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredLabels){const e=this.showShortList_?Vt.maxShortListElements:Vt.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredLabels.length/e),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const i=e*(this.currentPage-1);this.labelsToShow=this.filteredLabels.slice(i,i+e);const s=new Map;this.labelsToShow.forEach(l=>{s.set(l.id,!0),this.selections.has(l.id)||this.selections.set(l.id,!1)});const a=[];this.selections.forEach((l,d)=>{s.has(d)||a.push(d)}),a.forEach(l=>{this.selections.delete(l)})}else this.labelsToShow=null,this.selections=new Map;this.dataSource=this.labelsToShow}}return t.\u0275fac=function(e){return new(e||t)(Y(In),Y(Mr),Y(hn),Y(Dn),Y(To),Y(Ji))},t.\u0275cmp=Ze({type:t,selectors:[["app-label-list"]],inputs:{showShortList:"showShortList"},decls:23,vars:22,consts:[[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","uppercase",4,"ngIf"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],["class","small-icon",3,"inline","matTooltip","click",4,"ngIf"],[3,"inline","matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"uppercase"],[1,"help","d-none","d-md-inline",3,"inline","matTooltip"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","matTooltip","click"],[3,"inline","matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow",3,"ngClass"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table",3,"ngClass"],[1,"sortable-column",3,"click"],[3,"inline",4,"ngIf"],[1,"actions"],[4,"ngFor","ngForOf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none",3,"ngClass"],[1,"selectable",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],[3,"inline"],[3,"numberOfElements","linkParts","queryParams",4,"ngIf"],[1,"selection-col"],[3,"checked","change"],["mat-button","",1,"action-button","transparent-button",3,"matTooltip","click"],[1,"check-part"],[1,"list-row"],[1,"list-row","long-content"],[1,"margin-part"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],[3,"numberOfElements","linkParts","queryParams"],[1,"box-internal-container"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1),V(2,mJ,6,7,"span",2),V(3,vJ,5,4,"div",3),C(),D(4,"div",4)(5,"div",5),V(6,yJ,3,4,"mat-icon",6),V(7,MJ,2,2,"mat-icon",7),D(8,"mat-menu",8,9)(10,"div",10),ye("click",function(){return i.changeAllSelections(!0)}),I(11),R(12,"translate"),C(),D(13,"div",10),ye("click",function(){return i.changeAllSelections(!1)}),I(14),R(15,"translate"),C(),D(16,"div",11),ye("click",function(){return i.deleteSelected()}),I(17),R(18,"translate"),C()()(),V(19,wJ,1,5,"app-paginator",12),C()(),V(20,AJ,37,34,"div",13),V(21,NJ,6,3,"div",13),V(22,YJ,1,5,"app-paginator",12)),2&e&&(w("ngClass",He(20,HJ,!i.showShortList_&&i.numberOfPages>1&&i.dataSource)),c(2),w("ngIf",i.showShortList_),c(1),w("ngIf",i.dataFilterer.currentFiltersTexts&&i.dataFilterer.currentFiltersTexts.length>0),c(3),w("ngIf",i.allLabels&&i.allLabels.length>0),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("overlapTrigger",!1),c(3),ce(" ",H(12,14,"selection.select-all")," "),c(3),ce(" ",H(15,16,"selection.unselect-all")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(18,18,"selection.delete-all")," "),c(2),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("ngIf",!i.dataSource||0===i.dataSource.length),c(1),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource))},dependencies:[Nn,gi,Ft,Wr,el,Cn,vi,Yd,pa,Hd,fa,Og,Bd,wt],styles:[".overflow[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto}.overflow[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%}.actions[_ngcontent-%COMP%]{text-align:right;width:90px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}"]}),t})();function BJ(t,n){1&t&&xe(0,"app-password")}function VJ(t,n){1&t&&(D(0,"div",8),xe(1,"mat-spinner",9),I(2),R(3,"translate"),C()),2&t&&(c(1),w("diameter",11),c(1),ce(" ",H(3,2,"settings.checking-auth")," "))}const jJ=function(){return["start.title"]};let zJ=(()=>{class t extends er{constructor(e,i,o,s){super(),this.authService=e,this.router=i,this.snackbarService=o,this.dialog=s,this.persistentAuthDataResponseKey="serv-aut-response",this.tabsData=[],this.options=[],this.waitBeforeShowingLoading=!0,this.authChecked=!1,this.authActive=!1,this.tabsData=[{icon:"view_headline",label:"nodes.title",linkParts:["/nodes"]},{icon:"language",label:"nodes.dmsg-title",linkParts:["/nodes","dmsg"]},{icon:"settings",label:"settings.title",linkParts:["/settings"]}],this.updateOptionsMenu()}ngOnInit(){return setTimeout(()=>{this.waitBeforeShowingLoading=!1},500),this.checkAuth(0,!0),super.ngOnInit()}checkAuth(e,i){const o=i?this.getLocalValue(this.persistentAuthDataResponseKey):null;let s=this.authService.checkLogin();o&&(s=$e(JSON.parse(o.value))),this.authSubscription=$e(1).pipe(Ti(e),Ye(()=>s)).subscribe(a=>{o||this.saveLocalValue(this.persistentAuthDataResponseKey,JSON.stringify(a)),this.authChecked=!0,this.authActive=a===Fr.Logged,this.updateOptionsMenu(),o&&this.checkAuth(0,!1)},()=>{this.checkAuth(15e3,!1)})}ngOnDestroy(){this.authSubscription.unsubscribe()}updateOptionsMenu(){this.options=[],this.authActive&&(this.options=[{name:"common.logout",actionName:"logout",icon:"power_settings_new"}])}performAction(e){"logout"===e&&this.logout()}logout(){const e=Jt.createConfirmationDialog(this.dialog,"common.logout-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.closeModal(),this.authService.logout().subscribe(()=>this.router.navigate(["login"]),()=>this.snackbarService.showError("common.logout-error"))})}}return t.\u0275fac=function(e){return new(e||t)(Y(Wh),Y(hn),Y(Dn),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-settings"]],features:[nt],decls:8,vars:9,consts:[[1,"row"],[1,"col-12"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","optionsData","optionSelected"],[1,"content","col-12","mt-4.5"],[1,"d-block","mb-4"],[4,"ngIf"],["class","white-theme checking-container",4,"ngIf"],[3,"showShortList"],[1,"white-theme","checking-container"],[3,"diameter"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1)(2,"app-top-bar",2),ye("optionSelected",function(s){return i.performAction(s)}),C()(),D(3,"div",3),xe(4,"app-refresh-rate",4),V(5,BJ,1,0,"app-password",5),V(6,VJ,4,4,"div",6),xe(7,"app-label-list",7),C()()),2&e&&(c(2),w("titleParts",qn(8,jJ))("tabsData",i.tabsData)("selectedTabIndex",2)("showUpdateButton",!1)("optionsData",i.options),c(3),w("ngIf",i.authChecked&&i.authActive),c(1),w("ngIf",!i.authChecked&&!i.waitBeforeShowingLoading),c(1),w("showShortList",!0))},dependencies:[Ft,ec,FI,fJ,sc,dP,wt],styles:[".checking-container[_ngcontent-%COMP%]{font-size:10px;opacity:.5}.checking-container[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%]{display:inline-block}.show-link[_ngcontent-%COMP%]{cursor:pointer;font-size:.8rem}"]}),t})(),V1=(()=>{class t{constructor(e){this.apiService=e}create(e,i,o){const s={remote_pk:i};return o&&(s.transport_type=o),this.apiService.post(`visors/${e}/transports`,s)}delete(e,i){return this.apiService.delete(`visors/${e}/transports/${i}`)}savePersistentTransportsData(e,i){return this.apiService.put(`visors/${e}/persistent-transports`,i)}getPersistentTransports(e){return this.apiService.get(`visors/${e}/persistent-transports`)}types(e){return this.apiService.get(`visors/${e}/transport-types`)}changeAutoconnectSetting(e,i){const o={};return o.public_autoconnect=i,this.apiService.put(`visors/${e}/public-autoconnect`,o)}}return t.\u0275fac=function(e){return new(e||t)(we(il))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const UJ=["button"],WJ=["firstInput"];function $J(t,n){1&t&&xe(0,"app-loading-indicator",5),2&t&&w("showWhite",!1)}function GJ(t,n){1&t&&(Ue(0),D(1,"span"),I(2),R(3,"translate"),C(),We()),2&t&&(c(2),se(H(3,1,"transports.dialog.errors.remote-key-length-error")))}function qJ(t,n){1&t&&(D(0,"span"),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"transports.dialog.errors.remote-key-chars-error")))}function KJ(t,n){if(1&t&&(D(0,"mat-option",19),I(1),C()),2&t){const e=n.$implicit;w("value",e),c(1),se(e)}}const Ag=function(t){return{"element-disabled":t}};function ZJ(t,n){if(1&t){const e=et();D(0,"form",6)(1,"mat-form-field",7)(2,"div",8)(3,"label",9),I(4),R(5,"translate"),C(),xe(6,"input",10,11),C(),D(8,"mat-error"),V(9,GJ,4,3,"ng-container",12),C(),V(10,qJ,3,3,"ng-template",null,13,Es),C(),D(12,"mat-form-field",7)(13,"div",8)(14,"label",9),I(15),R(16,"translate"),C(),xe(17,"input",14),C()(),D(18,"mat-form-field",7)(19,"div",8)(20,"label",9),I(21),R(22,"translate"),C(),D(23,"mat-select",15),V(24,KJ,2,2,"mat-option",16),C()(),D(25,"mat-error")(26,"span"),I(27),R(28,"translate"),C()()(),D(29,"mat-checkbox",17),ye("change",function(o){return Pe(e),Oe(z().setMakePersistent(o))}),I(30),R(31,"translate"),D(32,"mat-icon",18),R(33,"translate"),I(34,"help"),C()()()}if(2&t){const e=ci(11),i=z();w("formGroup",i.form),c(1),w("ngClass",He(28,Ag,i.disableDismiss)),c(3),se(H(5,16,"transports.dialog.remote-key")),c(5),w("ngIf",!i.form.get("remoteKey").hasError("pattern"))("ngIfElse",e),c(3),w("ngClass",He(30,Ag,i.disableDismiss)),c(3),se(H(16,18,"transports.dialog.label")),c(3),w("ngClass",He(32,Ag,i.disableDismiss)),c(3),se(H(22,20,"transports.dialog.transport-type")),c(3),w("ngForOf",i.types),c(3),se(H(28,22,"transports.dialog.errors.transport-type-error")),c(2),w("checked",i.makePersistent)("ngClass",He(34,Ag,i.disableDismiss)),c(1),ce(" ",H(31,24,"transports.dialog.make-persistent")," "),c(2),w("inline",!0)("matTooltip",H(33,26,"transports.dialog.persistent-tooltip"))}}let XJ=(()=>{class t{static openDialog(e){const i=new En;return i.autoFocus=!1,i.width=Vt.mediumModalWidth,e.open(t,i)}constructor(e,i,o,s,a,l){this.transportService=e,this.formBuilder=i,this.dialogRef=o,this.snackbarService=s,this.storageService=a,this.nodeService=l,this.makePersistent=!1,this.shouldShowError=!0}ngOnInit(){this.form=this.formBuilder.group({remoteKey:["",Gt.compose([Gt.required,Gt.minLength(66),Gt.maxLength(66),Gt.pattern("^[0-9a-fA-F]+$")])],label:[""],type:["",Gt.required]}),this.loadData(0)}ngOnDestroy(){this.dataSubscription.unsubscribe(),this.operationSubscription&&this.operationSubscription.unsubscribe()}get disableDismiss(){return!!this.button&&this.button.isLoading}setMakePersistent(e){this.makePersistent=!!e.checked}create(){if(!this.form.valid||this.button.disabled)return;this.button.showLoading();const e=this.form.get("remoteKey").value,i=this.form.get("type").value,o=this.form.get("label").value;if(this.makePersistent){const s=this.transportService.getPersistentTransports(Ct.getCurrentNodeKey());this.operationSubscription=s.subscribe(a=>{const l=a||[];let d=!1;l.forEach(_=>{_.pk.toUpperCase()===e.toUpperCase()&&_.type.toUpperCase()===i.toUpperCase()&&(d=!0)}),d?this.createTransport(e,i,o,!0):this.createPersistent(l,e,i,o)},a=>{this.onError(a)})}else this.createTransport(e,i,o,!1)}createPersistent(e,i,o,s){e.push({pk:i,type:o}),this.operationSubscription=this.transportService.savePersistentTransportsData(Ct.getCurrentNodeKey(),e).subscribe(()=>{this.createTransport(i,o,s,!0)},a=>{this.onError(a)})}createTransport(e,i,o,s){this.operationSubscription=this.transportService.create(Ct.getCurrentNodeKey(),e,i).subscribe(a=>{let l=!1;o&&(a&&a.id?this.storageService.saveLabel(a.id,o,Xi.Transport):l=!0),Ct.refreshCurrentDisplayedData(),this.dialogRef.close(),l?this.snackbarService.showWarning("transports.dialog.success-without-label"):this.snackbarService.showDone("transports.dialog.success")},a=>{s?(Ct.refreshCurrentDisplayedData(),this.dialogRef.close(),this.snackbarService.showWarning("transports.dialog.only-persistent-created")):this.onError(a)})}onError(e){this.button.showError(),e=en(e),this.snackbarService.showError(e)}loadData(e){this.dataSubscription&&this.dataSubscription.unsubscribe(),this.dataSubscription=$e(1).pipe(Ti(e),Ye(()=>this.transportService.types(Ct.getCurrentNodeKey()))).subscribe(i=>{i.sort((s,a)=>"stcp"===s.toLowerCase()?1:"stcp"===a.toLowerCase()?-1:s.localeCompare(a));let o=i.findIndex(s=>"dmsg"===s.toLowerCase());o=-1!==o?o:0,this.types=i,this.form.get("type").setValue(i[o]),this.snackbarService.closeCurrentIfTemporaryError(),setTimeout(()=>this.firstInput.nativeElement.focus())},i=>{i=en(i),this.shouldShowError&&(this.snackbarService.showError("common.loading-error",null,!0,i),this.shouldShowError=!1),this.loadData(Vt.connectionRetryDelay)})}}return t.\u0275fac=function(e){return new(e||t)(Y(V1),Y(xr),Y(Bn),Y(Dn),Y(Ji),Y(ua))},t.\u0275cmp=Ze({type:t,selectors:[["app-create-transport"]],viewQuery:function(e,i){if(1&e&&(_t(UJ,5),_t(WJ,5)),2&e){let o;rt(o=ot())&&(i.button=o.first),rt(o=ot())&&(i.firstInput=o.first)}},decls:8,vars:11,consts:[[3,"headline","dialog","disableDismiss"],[3,"showWhite",4,"ngIf"],[3,"formGroup",4,"ngIf"],["color","primary",1,"float-right",3,"disabled","action"],["button",""],[3,"showWhite"],[3,"formGroup"],[3,"ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","remoteKey","maxlength","66","matInput",""],["firstInput",""],[4,"ngIf","ngIfElse"],["hexError",""],["formControlName","label","maxlength","66","matInput",""],["formControlName","type"],[3,"value",4,"ngFor","ngForOf"],["color","primary",3,"checked","ngClass","change"],[1,"help-icon",3,"inline","matTooltip"],[3,"value"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),V(2,$J,1,1,"app-loading-indicator",1),V(3,ZJ,35,36,"form",2),D(4,"app-button",3,4),ye("action",function(){return i.create()}),I(6),R(7,"translate"),C()()),2&e&&(w("headline",H(1,7,"transports.create"))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(2),w("ngIf",!i.types),c(1),w("ngIf",i.types),c(1),w("disabled",!i.form.valid),c(2),ce(" ",H(7,9,"transports.create")," "))},dependencies:[Nn,gi,Ft,zi,Bi,Vi,ji,Cr,ii,Ei,ar,sl,kr,Cn,vi,tf,Pd,fa,Ui,ei,as,wt],styles:["mat-checkbox[_ngcontent-%COMP%]{margin-bottom:15px}"]}),t})();function JJ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),D(3,"mat-icon",6),R(4,"translate"),I(5,"help"),C(),We()),2&t&&(c(1),ce(" ",H(2,3,"common.yes")," "),c(2),w("inline",!0)("matTooltip",H(4,5,"transports.persistent-transport-tooltip")))}function QJ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"common.no")))}let eQ=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.largeModalWidth,e.open(t,o)}constructor(e,i){this.data=e,this.dialogRef=i}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn))},t.\u0275cmp=Ze({type:t,selectors:[["app-transport-details"]],decls:51,vars:45,consts:[[1,"info-dialog",3,"headline","dialog"],[1,"title","mt-0"],[3,"inline"],[1,"item"],[4,"ngIf"],[1,"title"],[1,"help-icon","d-none","d-md-inline",3,"inline","matTooltip"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div")(3,"div",1)(4,"mat-icon",2),I(5,"list"),C(),I(6),R(7,"translate"),C(),D(8,"div",3)(9,"span"),I(10),R(11,"translate"),C(),V(12,JJ,6,7,"ng-container",4),V(13,QJ,3,3,"ng-container",4),C(),D(14,"div",3)(15,"span"),I(16),R(17,"translate"),C(),I(18),C(),D(19,"div",3)(20,"span"),I(21),R(22,"translate"),C(),I(23),C(),D(24,"div",3)(25,"span"),I(26),R(27,"translate"),C(),I(28),C(),D(29,"div",3)(30,"span"),I(31),R(32,"translate"),C(),I(33),C(),D(34,"div",5)(35,"mat-icon",2),I(36,"import_export"),C(),I(37),R(38,"translate"),C(),D(39,"div",3)(40,"span"),I(41),R(42,"translate"),C(),I(43),R(44,"autoScale"),C(),D(45,"div",3)(46,"span"),I(47),R(48,"translate"),C(),I(49),R(50,"autoScale"),C()()()),2&e&&(w("headline",H(1,21,"transports.details.title"))("dialog",i.dialogRef),c(4),w("inline",!0),c(2),ce("",H(7,23,"transports.details.basic.title")," "),c(4),se(H(11,25,"transports.details.basic.persistent")),c(2),w("ngIf",i.data.isPersistent),c(1),w("ngIf",!i.data.isPersistent),c(3),se(H(17,27,"transports.details.basic.id")),c(2),ce(" ",i.data.id," "),c(3),se(H(22,29,"transports.details.basic.local-pk")),c(2),ce(" ",i.data.localPk," "),c(3),se(H(27,31,"transports.details.basic.remote-pk")),c(2),ce(" ",i.data.remotePk," "),c(3),se(H(32,33,"transports.details.basic.type")),c(2),ce(" ",i.data.type," "),c(2),w("inline",!0),c(2),ce("",H(38,35,"transports.details.data.title")," "),c(4),se(H(42,37,"transports.details.data.uploaded")),c(2),ce(" ",H(44,39,i.data.sent)," "),c(4),se(H(48,41,"transports.details.data.downloaded")),c(2),ce(" ",H(50,43,i.data.recv)," "))},dependencies:[Ft,Cn,vi,ei,wt,sf],styles:[".help-icon[_ngcontent-%COMP%]{opacity:.5;font-size:14px;cursor:default}"]}),t})();function tQ(t,n){1&t&&(D(0,"span",15),I(1),R(2,"translate"),D(3,"mat-icon",16),R(4,"translate"),I(5,"help"),C()()),2&t&&(c(1),ce(" ",H(2,3,"transports.title")," "),c(2),w("inline",!0)("matTooltip",H(4,5,"transports.info")))}function nQ(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.translatableValue))}}function iQ(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e.value)}}function rQ(t,n){if(1&t&&(D(0,"div",20)(1,"span"),I(2),R(3,"translate"),C(),V(4,nQ,3,3,"ng-container",21),V(5,iQ,2,1,"ng-container",21),C()),2&t){const e=n.$implicit;c(2),ce("",H(3,3,e.filterName),": "),c(2),w("ngIf",e.translatableValue),c(1),w("ngIf",e.value)}}function oQ(t,n){if(1&t){const e=et();D(0,"div",17),ye("click",function(){return Pe(e),Oe(z().dataFilterer.removeFilters())}),V(1,rQ,6,5,"div",18),D(2,"div",19),I(3),R(4,"translate"),C()()}if(2&t){const e=z();c(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),c(2),se(H(4,2,"filters.press-to-remove"))}}function sQ(t,n){if(1&t){const e=et();D(0,"mat-icon",22),ye("click",function(){return Pe(e),Oe(z().dataFilterer.changeFilters())}),I(1,"filter_list"),C()}2&t&&w("inline",!0)}function aQ(t,n){if(1&t&&(D(0,"mat-icon",23),I(1,"more_horiz"),C()),2&t){z();const e=ci(11);w("inline",!0)("matMenuTriggerFor",e)}}const j1=function(t){return["/nodes",t,"transports"]};function lQ(t,n){if(1&t&&xe(0,"app-paginator",24),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",He(4,j1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function cQ(t,n){if(1&t&&(D(0,"mat-icon",39),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function dQ(t,n){1&t&&(Ue(0),I(1,"*"),We())}function uQ(t,n){if(1&t&&(Ue(0),D(1,"mat-icon",39),I(2),C(),V(3,dQ,2,0,"ng-container",21),We()),2&t){const e=z(2);c(1),w("inline",!0),c(1),se(e.dataSorter.sortingArrow),c(1),w("ngIf",e.dataSorter.currentlySortingByLabel)}}function hQ(t,n){1&t&&(Ue(0),I(1,"*"),We())}function fQ(t,n){if(1&t&&(Ue(0),D(1,"mat-icon",39),I(2),C(),V(3,hQ,2,0,"ng-container",21),We()),2&t){const e=z(2);c(1),w("inline",!0),c(1),se(e.dataSorter.sortingArrow),c(1),w("ngIf",e.dataSorter.currentlySortingByLabel)}}function pQ(t,n){if(1&t&&(D(0,"mat-icon",39),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function mQ(t,n){if(1&t&&(D(0,"mat-icon",39),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function gQ(t,n){if(1&t&&(D(0,"mat-icon",39),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function _Q(t,n){if(1&t){const e=et();D(0,"button",48),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).changeIfPersistent([o],!1))}),R(1,"translate"),D(2,"mat-icon",49),I(3,"star"),C()()}2&t&&(w("matTooltip",H(1,2,"transports.persistent-transport-button-tooltip")),c(2),w("inline",!0))}function bQ(t,n){if(1&t){const e=et();D(0,"button",48),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).changeIfPersistent([o],!0))}),R(1,"translate"),D(2,"mat-icon",50),I(3,"star_outline"),C()()}2&t&&(w("matTooltip",H(1,2,"transports.non-persistent-transport-button-tooltip")),c(2),w("inline",!0))}function vQ(t,n){1&t&&(D(0,"span"),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"transports.offline")))}function yQ(t,n){if(1&t){const e=et();D(0,"td")(1,"app-labeled-element-text",51),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C(),V(2,vQ,3,3,"span",21),C()}if(2&t){const e=z().$implicit,i=z(2);c(1),Ln("id",e.id),w("short",!0)("elementType",i.labeledElementTypes.Transport),c(1),w("ngIf",e.notFound)}}function MQ(t,n){1&t&&(D(0,"td"),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"transports.offline")," "))}function wQ(t,n){if(1&t&&(D(0,"td"),I(1),R(2,"autoScale"),C()),2&t){const e=z().$implicit;c(1),ce(" ",H(2,1,e.sent)," ")}}function CQ(t,n){if(1&t&&(D(0,"td"),I(1),R(2,"autoScale"),C()),2&t){const e=z().$implicit;c(1),ce(" ",H(2,1,e.recv)," ")}}function xQ(t,n){1&t&&(D(0,"td"),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"transports.offline")," "))}function kQ(t,n){1&t&&(D(0,"td"),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"transports.offline")," "))}function SQ(t,n){if(1&t){const e=et();D(0,"button",52),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).details(o))}),R(1,"translate"),D(2,"mat-icon",39),I(3,"visibility"),C()()}2&t&&(w("matTooltip",H(1,2,"transports.details.title")),c(2),w("inline",!0))}function DQ(t,n){if(1&t){const e=et();D(0,"button",52),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).delete(o))}),R(1,"translate"),D(2,"mat-icon",39),I(3,"close"),C()()}2&t&&(w("matTooltip",H(1,2,"transports.delete")),c(2),w("inline",!0))}const uP=function(t){return{offline:t}};function TQ(t,n){if(1&t){const e=et();D(0,"tr",42)(1,"td",43)(2,"mat-checkbox",44),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(3,"td"),V(4,_Q,4,4,"button",45),V(5,bQ,4,4,"button",45),C(),V(6,yQ,3,4,"td",21),V(7,MQ,3,3,"td",21),D(8,"td")(9,"app-labeled-element-text",46),ye("labelEdited",function(){return Pe(e),Oe(z(2).refreshData())}),C()(),D(10,"td"),I(11),C(),V(12,wQ,3,3,"td",21),V(13,CQ,3,3,"td",21),V(14,xQ,3,3,"td",21),V(15,kQ,3,3,"td",21),D(16,"td",32),V(17,SQ,4,4,"button",47),V(18,DQ,4,4,"button",47),C()()}if(2&t){const e=n.$implicit,i=z(2);w("ngClass",He(15,uP,e.notFound)),c(2),w("checked",i.selections.get(e.id)),c(2),w("ngIf",e.isPersistent),c(1),w("ngIf",!e.isPersistent),c(1),w("ngIf",!e.notFound),c(1),w("ngIf",e.notFound),c(2),Ln("id",e.remotePk),w("short",!0),c(2),ce(" ",e.type," "),c(1),w("ngIf",!e.notFound),c(1),w("ngIf",!e.notFound),c(1),w("ngIf",e.notFound),c(1),w("ngIf",e.notFound),c(2),w("ngIf",!e.notFound),c(1),w("ngIf",!e.notFound)}}function LQ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.label")))}function EQ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.inverted-order")))}function IQ(t,n){1&t&&(D(0,"div",59)(1,"div",59)(2,"mat-icon",62),I(3,"star"),C(),I(4,"\xa0 "),D(5,"span",63),I(6),R(7,"translate"),C()()()),2&t&&(c(2),w("inline",!0),c(4),se(H(7,2,"transports.persistent")))}function PQ(t,n){if(1&t){const e=et();D(0,"app-labeled-element-text",64),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()}if(2&t){const e=z().$implicit,i=z(2);Ln("id",e.id),w("elementType",i.labeledElementTypes.Transport)}}function OQ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"transports.offline")))}function AQ(t,n){if(1&t&&(Ue(0),I(1),R(2,"autoScale"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.sent))}}function FQ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"transports.offline")))}function RQ(t,n){if(1&t&&(Ue(0),I(1),R(2,"autoScale"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.recv))}}function NQ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"transports.offline")))}function YQ(t,n){if(1&t){const e=et();D(0,"tr")(1,"td")(2,"div",53)(3,"div",54)(4,"mat-checkbox",44),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(5,"div",37),V(6,IQ,8,4,"div",55),D(7,"div",56)(8,"span",1),I(9),R(10,"translate"),C(),I(11,": "),V(12,PQ,1,2,"app-labeled-element-text",57),V(13,OQ,3,3,"ng-container",21),C(),D(14,"div",56)(15,"span",1),I(16),R(17,"translate"),C(),I(18,": "),D(19,"app-labeled-element-text",58),ye("labelEdited",function(){return Pe(e),Oe(z(2).refreshData())}),C()(),D(20,"div",59)(21,"span",1),I(22),R(23,"translate"),C(),I(24),C(),D(25,"div",59)(26,"span",1),I(27),R(28,"translate"),C(),I(29,": "),V(30,AQ,3,3,"ng-container",21),V(31,FQ,3,3,"ng-container",21),C(),D(32,"div",59)(33,"span",1),I(34),R(35,"translate"),C(),I(36,": "),V(37,RQ,3,3,"ng-container",21),V(38,NQ,3,3,"ng-container",21),C()(),xe(39,"div",60),D(40,"div",38)(41,"button",61),ye("click",function(o){const a=Pe(e).$implicit,l=z(2);return o.stopPropagation(),Oe(l.showOptionsDialog(a))}),R(42,"translate"),D(43,"mat-icon"),I(44),C()()()()()()}if(2&t){const e=n.$implicit,i=z(2);c(2),w("ngClass",He(30,uP,e.notFound)),c(2),w("checked",i.selections.get(e.id)),c(2),w("ngIf",e.isPersistent),c(3),se(H(10,18,"transports.id")),c(3),w("ngIf",!e.notFound),c(1),w("ngIf",e.notFound),c(3),se(H(17,20,"transports.remote-node")),c(3),Ln("id",e.remotePk),c(3),se(H(23,22,"transports.type")),c(2),ce(": ",e.type," "),c(3),se(H(28,24,"common.uploaded")),c(3),w("ngIf",!e.notFound),c(1),w("ngIf",e.notFound),c(3),se(H(35,26,"common.downloaded")),c(3),w("ngIf",!e.notFound),c(1),w("ngIf",e.notFound),c(3),w("matTooltip",H(42,28,"common.options")),c(3),se("add")}}function HQ(t,n){if(1&t&&xe(0,"app-view-all-link",65),2&t){const e=z(2);w("numberOfElements",e.filteredTransports.length)("linkParts",He(3,j1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const BQ=function(t,n){return{"small-node-list-margins":t,"full-node-list-margins":n}},VQ=function(t){return{"d-lg-none d-xl-table":t}},jQ=function(t){return{"d-lg-table d-xl-none":t}};function zQ(t,n){if(1&t){const e=et();D(0,"div",25)(1,"div",26)(2,"table",27)(3,"tr"),xe(4,"th"),D(5,"th",28),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.persistentSortData))}),R(6,"translate"),D(7,"mat-icon",29),I(8,"star_outline"),C(),V(9,cQ,2,2,"mat-icon",30),C(),D(10,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.idSortData))}),I(11),R(12,"translate"),V(13,uQ,4,3,"ng-container",21),C(),D(14,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.remotePkSortData))}),I(15),R(16,"translate"),V(17,fQ,4,3,"ng-container",21),C(),D(18,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.typeSortData))}),I(19),R(20,"translate"),V(21,pQ,2,2,"mat-icon",30),C(),D(22,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.uploadedSortData))}),I(23),R(24,"translate"),V(25,mQ,2,2,"mat-icon",30),C(),D(26,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.downloadedSortData))}),I(27),R(28,"translate"),V(29,gQ,2,2,"mat-icon",30),C(),xe(30,"th",32),C(),V(31,TQ,19,17,"tr",33),C(),D(32,"table",34)(33,"tr",35),ye("click",function(){return Pe(e),Oe(z().dataSorter.openSortingOrderModal())}),D(34,"td")(35,"div",36)(36,"div",37)(37,"div",1),I(38),R(39,"translate"),C(),D(40,"div"),I(41),R(42,"translate"),V(43,LQ,3,3,"ng-container",21),V(44,EQ,3,3,"ng-container",21),C()(),D(45,"div",38)(46,"mat-icon",39),I(47,"keyboard_arrow_down"),C()()()()(),V(48,YQ,45,32,"tr",40),C(),V(49,HQ,1,5,"app-view-all-link",41),C()()}if(2&t){const e=z();c(1),w("ngClass",mn(39,BQ,e.showShortList_,!e.showShortList_)),c(1),w("ngClass",He(42,VQ,e.showShortList_)),c(3),w("matTooltip",H(6,23,"transports.persistent-tooltip")),c(4),w("ngIf",e.dataSorter.currentSortingColumn===e.persistentSortData),c(2),ce(" ",H(12,25,"transports.id")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.idSortData),c(2),ce(" ",H(16,27,"transports.remote-node")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.remotePkSortData),c(2),ce(" ",H(20,29,"transports.type")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.typeSortData),c(2),ce(" ",H(24,31,"common.uploaded")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.uploadedSortData),c(2),ce(" ",H(28,33,"common.downloaded")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.downloadedSortData),c(2),w("ngForOf",e.dataSource),c(1),w("ngClass",He(44,jQ,e.showShortList_)),c(6),se(H(39,35,"tables.sorting-title")),c(3),ce("",H(42,37,e.dataSorter.currentSortingColumn.label)," "),c(2),w("ngIf",e.dataSorter.currentlySortingByLabel),c(1),w("ngIf",e.dataSorter.sortingInReverseOrder),c(2),w("inline",!0),c(2),w("ngForOf",e.dataSource),c(1),w("ngIf",e.showShortList_&&e.numberOfPages>1)}}function UQ(t,n){1&t&&(D(0,"span",69),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"transports.empty")))}function WQ(t,n){1&t&&(D(0,"span",69),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"transports.empty-with-filter")))}function $Q(t,n){if(1&t&&(D(0,"div",25)(1,"div",66)(2,"mat-icon",67),I(3,"warning"),C(),V(4,UQ,3,3,"span",68),V(5,WQ,3,3,"span",68),C()()),2&t){const e=z();c(2),w("inline",!0),c(2),w("ngIf",0===e.allTransports.length),c(1),w("ngIf",0!==e.allTransports.length)}}function GQ(t,n){if(1&t&&xe(0,"app-paginator",24),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",He(4,j1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const qQ=function(t){return{"paginator-icons-fixer":t}};let hP=(()=>{class t{set showShortList(e){this.showShortList_=e,this.dataSorter.setData(this.filteredTransports)}set node(e){this.currentNode=e,this.allTransports=e.transports,this.nodePK=e.localPk;const i=new Map;e.persistentTransports.forEach(o=>i.set(this.getPersistentTransportID(o.pk,o.type),o)),this.allTransports.forEach(o=>{i.has(this.getPersistentTransportID(o.remotePk,o.type))?(o.isPersistent=!0,i.delete(this.getPersistentTransportID(o.remotePk,o.type))):o.isPersistent=!1}),i.forEach((o,s)=>{this.allTransports.push({id:this.getPersistentTransportID(o.pk,o.type),localPk:e.localPk,remotePk:o.pk,type:o.type,recv:0,sent:0,isPersistent:!0,notFound:!0})}),this.allTransports.forEach(o=>{o.id_label=ha.getCompleteLabel(this.storageService,this.translateService,o.id),o.remote_pk_label=ha.getCompleteLabel(this.storageService,this.translateService,o.remotePk)}),this.dataFilterer.setData(this.allTransports)}constructor(e,i,o,s,a,l,d,_){this.dialog=e,this.transportService=i,this.route=o,this.router=s,this.snackbarService=a,this.translateService=l,this.storageService=d,this.nodeService=_,this.listId="tr",this.persistentSortData=new Vn(["isPersistent"],"transports.persistent",Zt.Boolean),this.idSortData=new Vn(["id"],"transports.id",Zt.Text,["id_label"]),this.remotePkSortData=new Vn(["remotePk"],"transports.remote-node",Zt.Text,["remote_pk_label"]),this.typeSortData=new Vn(["type"],"transports.type",Zt.Text),this.uploadedSortData=new Vn(["sent"],"common.uploaded",Zt.NumberReversed),this.downloadedSortData=new Vn(["recv"],"common.downloaded",Zt.NumberReversed),this.selections=new Map,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"transports.filter-dialog.persistent",keyNameInElementsArray:"isPersistent",type:$n.Select,printableLabelsForValues:[{value:"",label:"transports.filter-dialog.persistent-options.any"},{value:"true",label:"transports.filter-dialog.persistent-options.persistent"},{value:"false",label:"transports.filter-dialog.persistent-options.non-persistent"}]},{filterName:"transports.filter-dialog.id",keyNameInElementsArray:"id",secondaryKeyNameInElementsArray:"id_label",type:$n.TextInput,maxlength:36},{filterName:"transports.filter-dialog.remote-node",keyNameInElementsArray:"remotePk",secondaryKeyNameInElementsArray:"remote_pk_label",type:$n.TextInput,maxlength:66}],this.labeledElementTypes=Xi,this.operationSubscriptionsGroup=[],this.dataSorter=new Rd(this.dialog,this.translateService,this.storageService,[this.persistentSortData,this.idSortData,this.remotePkSortData,this.typeSortData,this.uploadedSortData,this.downloadedSortData],1,this.listId),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataFilterer=new Nd(this.dialog,this.route,this.router,this.filterProperties,this.listId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(F=>{this.filteredTransports=F,this.dataSorter.setData(this.filteredTransports)}),this.navigationsSubscription=this.route.paramMap.subscribe(F=>{if(F.has("page")){let G=Number.parseInt(F.get("page"),10);(isNaN(G)||G<1)&&(G=1),this.currentPageInUrl=G,this.recalculateElementsToShow()}}),this.languageSubscription=this.translateService.onLangChange.subscribe(()=>{this.node=this.currentNode})}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.operationSubscriptionsGroup.forEach(e=>e.unsubscribe()),this.languageSubscription.unsubscribe(),this.dataSortedSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFiltererSubscription.unsubscribe(),this.dataFilterer.dispose(),this.persistentTransportSubscription&&this.persistentTransportSubscription.unsubscribe()}changeSelection(e){this.selections.get(e.id)?this.selections.set(e.id,!1):this.selections.set(e.id,!0)}hasSelectedElements(){if(!this.selections)return!1;let e=!1;return this.selections.forEach(i=>{i&&(e=!0)}),e}changeAllSelections(e){this.selections.forEach((i,o)=>{this.selections.set(o,e)})}deleteSelected(){const e=Jt.createConfirmationDialog(this.dialog,"transports.delete-selected-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.showProcessing();const i=[];this.selections.forEach((o,s)=>{o&&i.push(s)}),this.deleteRecursively(i,e)})}create(){XJ.openDialog(this.dialog)}showOptionsDialog(e){const i=[];i.push(e.isPersistent?{icon:"star_outline",label:"transports.make-non-persistent"}:{icon:"star",label:"transports.make-persistent"}),e.notFound||(i.push({icon:"visibility",label:"transports.details.title"}),i.push({icon:"close",label:"transports.delete"})),qr.openDialog(this.dialog,i,"common.options").afterClosed().subscribe(o=>{1===o?this.changeIfPersistent([e],!e.isPersistent):2===o?this.details(e):3===o&&this.delete(e)})}changeIfPersistentOfSelected(e){const i=[];this.allTransports.forEach(o=>{this.selections.has(o.id)&&this.selections.get(o.id)&&i.push(o)}),this.changeIfPersistent(i,e)}changeIfPersistent(e,i){if(e.length<1)return;let o="transports.";o+=1===e.length?i?"make-persistent-confirmation":"make"+(e[0].notFound?"-offline":"")+"-non-persistent-confirmation":i?"make-selected-persistent-confirmation":"make-selected-non-persistent-confirmation";const s=Jt.createConfirmationDialog(this.dialog,o);s.componentInstance.operationAccepted.subscribe(()=>{s.componentInstance.showProcessing(),this.persistentTransportSubscription=this.transportService.getPersistentTransports(this.nodePK).subscribe(a=>{const l=a||[];let d=!1;const _=new Map;if(e.forEach(E=>_.set(this.getPersistentTransportID(E.remotePk,E.type),E)),i)l.forEach(E=>{_.has(this.getPersistentTransportID(E.pk,E.type))&&_.delete(this.getPersistentTransportID(E.pk,E.type))}),d=0===_.size,d||_.forEach(E=>{l.push({pk:E.remotePk,type:E.type})});else{d=!0;for(let E=0;E{s.close(),Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("transports.changes-made")},E=>{E=en(E),s.componentInstance.showDone("confirmation.error-header-text",E.translatableErrorMsg)})},a=>{a=en(a),s.componentInstance.showDone("confirmation.error-header-text",a.translatableErrorMsg)})})}details(e){eQ.openDialog(this.dialog,e)}delete(e){const o=Jt.createConfirmationDialog(this.dialog,"transports.delete-"+(e.isPersistent?"persistent-":"")+"confirmation");o.componentInstance.operationAccepted.subscribe(()=>{o.componentInstance.showProcessing(),this.operationSubscriptionsGroup.push(this.startDeleting(e.id).subscribe(()=>{o.close(),Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("transports.deleted")},s=>{s=en(s),o.componentInstance.showDone("confirmation.error-header-text",s.translatableErrorMsg)}))})}refreshData(){Ct.refreshCurrentDisplayedData()}getPersistentTransportID(e,i){return e.toUpperCase()+i.toUpperCase()}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredTransports){const e=this.showShortList_?Vt.maxShortListElements:Vt.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredTransports.length/e),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const i=e*(this.currentPage-1);this.transportsToShow=this.filteredTransports.slice(i,i+e);const s=new Map;this.transportsToShow.forEach(l=>{s.set(l.id,!0),this.selections.has(l.id)||this.selections.set(l.id,!1)});const a=[];this.selections.forEach((l,d)=>{s.has(d)||a.push(d)}),a.forEach(l=>{this.selections.delete(l)})}else this.transportsToShow=null,this.selections=new Map;this.dataSource=this.transportsToShow}startDeleting(e){return this.transportService.delete(Ct.getCurrentNodeKey(),e)}deleteRecursively(e,i){this.operationSubscriptionsGroup.push(this.startDeleting(e[e.length-1]).subscribe(()=>{e.pop(),0===e.length?(i.close(),Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("transports.deleted")):this.deleteRecursively(e,i)},o=>{Ct.refreshCurrentDisplayedData(),o=en(o),i.componentInstance.showDone("confirmation.error-header-text",o.translatableErrorMsg)}))}}return t.\u0275fac=function(e){return new(e||t)(Y(In),Y(V1),Y(Mr),Y(hn),Y(Dn),Y(To),Y(Ji),Y(ua))},t.\u0275cmp=Ze({type:t,selectors:[["app-transport-list"]],inputs:{showShortList:"showShortList",node:"node"},decls:31,vars:31,consts:[[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","uppercase",4,"ngIf"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],[3,"inline","click"],["class","small-icon",3,"inline","click",4,"ngIf"],[3,"inline","matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"uppercase"],[1,"help","d-none","d-md-inline",3,"inline","matTooltip"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","click"],[3,"inline","matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow",3,"ngClass"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table",3,"ngClass"],[1,"sortable-column","small-column",3,"matTooltip","click"],[1,"persistent-icon","grey-text"],[3,"inline",4,"ngIf"],[1,"sortable-column",3,"click"],[1,"actions"],[3,"ngClass",4,"ngFor","ngForOf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none",3,"ngClass"],[1,"selectable",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],[3,"inline"],[4,"ngFor","ngForOf"],[3,"numberOfElements","linkParts","queryParams",4,"ngIf"],[3,"ngClass"],[1,"selection-col"],[3,"checked","change"],["mat-button","","class","action-button subtle-transparent-button",3,"matTooltip","click",4,"ngIf"],["shortTextLength","4",3,"short","id","labelEdited"],["mat-button","","class","action-button transparent-button",3,"matTooltip","click",4,"ngIf"],["mat-button","",1,"action-button","subtle-transparent-button",3,"matTooltip","click"],[1,"persistent-icon","default-cursor",3,"inline"],[1,"persistent-icon","grey-text",3,"inline"],["shortTextLength","4",3,"short","id","elementType","labelEdited"],["mat-button","",1,"action-button","transparent-button",3,"matTooltip","click"],[1,"list-item-container",3,"ngClass"],[1,"check-part"],["class","list-row",4,"ngIf"],[1,"list-row","long-content"],[3,"id","elementType","labelEdited",4,"ngIf"],[3,"id","labelEdited"],[1,"list-row"],[1,"margin-part"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],[1,"persistent-icon",3,"inline"],[1,"yellow-clear-text","title"],[3,"id","elementType","labelEdited"],[3,"numberOfElements","linkParts","queryParams"],[1,"box-internal-container"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1),V(2,tQ,6,7,"span",2),V(3,oQ,5,4,"div",3),C(),D(4,"div",4)(5,"div",5)(6,"mat-icon",6),ye("click",function(){return i.create()}),I(7,"add"),C(),V(8,sQ,2,1,"mat-icon",7),V(9,aQ,2,2,"mat-icon",8),D(10,"mat-menu",9,10)(12,"div",11),ye("click",function(){return i.changeAllSelections(!0)}),I(13),R(14,"translate"),C(),D(15,"div",11),ye("click",function(){return i.changeAllSelections(!1)}),I(16),R(17,"translate"),C(),D(18,"div",12),ye("click",function(){return i.changeIfPersistentOfSelected(!0)}),I(19),R(20,"translate"),C(),D(21,"div",12),ye("click",function(){return i.changeIfPersistentOfSelected(!1)}),I(22),R(23,"translate"),C(),D(24,"div",12),ye("click",function(){return i.deleteSelected()}),I(25),R(26,"translate"),C()()(),V(27,lQ,1,6,"app-paginator",13),C()(),V(28,zQ,50,46,"div",14),V(29,$Q,6,3,"div",14),V(30,GQ,1,6,"app-paginator",13)),2&e&&(w("ngClass",He(29,qQ,!i.showShortList_&&i.numberOfPages>1&&i.dataSource)),c(2),w("ngIf",i.showShortList_),c(1),w("ngIf",i.dataFilterer.currentFiltersTexts&&i.dataFilterer.currentFiltersTexts.length>0),c(3),w("inline",!0),c(2),w("ngIf",i.allTransports&&i.allTransports.length>0),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("overlapTrigger",!1),c(3),ce(" ",H(14,19,"selection.select-all")," "),c(3),ce(" ",H(17,21,"selection.unselect-all")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(20,23,"transports.make-selected-persistent")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(23,25,"transports.make-selected-non-persistent")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(26,27,"selection.delete-all")," "),c(2),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("ngIf",!i.dataSource||0===i.dataSource.length),c(1),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource))},dependencies:[Nn,gi,Ft,Wr,el,Cn,vi,Yd,pa,Hd,fa,Og,Bd,ha,wt,sf],styles:[".overflow[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto}.overflow[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%}.actions[_ngcontent-%COMP%]{text-align:right;width:90px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}.small-column[_ngcontent-%COMP%]{width:1px;text-align:center}.persistent-icon[_ngcontent-%COMP%]{font-size:14px!important;color:#d48b05}.offline[_ngcontent-%COMP%]{opacity:.35}"]}),t})();function KQ(t,n){1&t&&(D(0,"div",5)(1,"mat-icon",2),I(2,"settings"),C(),I(3),R(4,"translate"),C()),2&t&&(c(1),w("inline",!0),c(2),ce("",H(4,2,"routes.details.specific-fields-titles.app")," "))}function ZQ(t,n){1&t&&(D(0,"div",5)(1,"mat-icon",2),I(2,"swap_horiz"),C(),I(3),R(4,"translate"),C()),2&t&&(c(1),w("inline",!0),c(2),ce("",H(4,2,"routes.details.specific-fields-titles.forward")," "))}function XQ(t,n){1&t&&(D(0,"div",5)(1,"mat-icon",2),I(2,"arrow_forward"),C(),I(3),R(4,"translate"),C()),2&t&&(c(1),w("inline",!0),c(2),ce("",H(4,2,"routes.details.specific-fields-titles.intermediary-forward")," "))}function JQ(t,n){if(1&t&&(D(0,"div")(1,"div",3)(2,"span"),I(3),R(4,"translate"),C(),I(5),C(),D(6,"div",3)(7,"span"),I(8),R(9,"translate"),C(),I(10),C()()),2&t){const e=z(2);c(3),se(H(4,5,"routes.details.specific-fields.route-id")),c(2),ce(" ",e.routeRule.forwardFields?e.routeRule.forwardFields.nextRid:e.routeRule.intermediaryForwardFields.nextRid," "),c(3),se(H(9,7,"routes.details.specific-fields.transport-id")),c(2),vo(" ",e.routeRule.forwardFields?e.routeRule.forwardFields.nextTid:e.routeRule.intermediaryForwardFields.nextTid," ",e.getLabel(e.routeRule.forwardFields?e.routeRule.forwardFields.nextTid:e.routeRule.intermediaryForwardFields.nextTid)," ")}}function QQ(t,n){if(1&t&&(D(0,"div")(1,"div",3)(2,"span"),I(3),R(4,"translate"),C(),I(5),C(),D(6,"div",3)(7,"span"),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",3)(12,"span"),I(13),R(14,"translate"),C(),I(15),C(),D(16,"div",3)(17,"span"),I(18),R(19,"translate"),C(),I(20),C()()),2&t){const e=z(2);c(3),se(H(4,10,"routes.details.specific-fields.destination-pk")),c(2),vo(" ",e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.dstPk:e.routeRule.forwardFields.routeDescriptor.dstPk," ",e.getLabel(e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.dstPk:e.routeRule.forwardFields.routeDescriptor.dstPk)," "),c(3),se(H(9,12,"routes.details.specific-fields.source-pk")),c(2),vo(" ",e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.srcPk:e.routeRule.forwardFields.routeDescriptor.srcPk," ",e.getLabel(e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.srcPk:e.routeRule.forwardFields.routeDescriptor.srcPk)," "),c(3),se(H(14,14,"routes.details.specific-fields.destination-port")),c(2),ce(" ",e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.dstPort:e.routeRule.forwardFields.routeDescriptor.dstPort," "),c(3),se(H(19,16,"routes.details.specific-fields.source-port")),c(2),ce(" ",e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.srcPort:e.routeRule.forwardFields.routeDescriptor.srcPort," ")}}function eee(t,n){if(1&t&&(D(0,"div")(1,"div",5)(2,"mat-icon",2),I(3,"list"),C(),I(4),R(5,"translate"),C(),D(6,"div",3)(7,"span"),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",3)(12,"span"),I(13),R(14,"translate"),C(),I(15),C(),D(16,"div",3)(17,"span"),I(18),R(19,"translate"),C(),I(20),C(),V(21,KQ,5,4,"div",6),V(22,ZQ,5,4,"div",6),V(23,XQ,5,4,"div",6),V(24,JQ,11,9,"div",4),V(25,QQ,21,18,"div",4),C()),2&t){const e=z();c(2),w("inline",!0),c(2),ce("",H(5,13,"routes.details.summary.title")," "),c(4),se(H(9,15,"routes.details.summary.keep-alive")),c(2),ce(" ",e.routeRule.ruleSummary.keepAlive," "),c(3),se(H(14,17,"routes.details.summary.type")),c(2),ce(" ",e.getRuleTypeName(e.routeRule.ruleSummary.ruleType)," "),c(3),se(H(19,19,"routes.details.summary.key-route-id")),c(2),ce(" ",e.routeRule.ruleSummary.keyRouteId," "),c(1),w("ngIf",e.routeRule.appFields),c(1),w("ngIf",e.routeRule.forwardFields),c(1),w("ngIf",e.routeRule.intermediaryForwardFields),c(1),w("ngIf",e.routeRule.forwardFields||e.routeRule.intermediaryForwardFields),c(1),w("ngIf",e.routeRule.appFields&&e.routeRule.appFields.routeDescriptor||e.routeRule.forwardFields&&e.routeRule.forwardFields.routeDescriptor)}}let tee=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.largeModalWidth,e.open(t,o)}constructor(e,i,o){this.dialogRef=i,this.storageService=o,this.ruleTypes=new Map([[0,"App"],[1,"Forward"],[2,"Intermediary forward"]]),this.routeRule=e}getRuleTypeName(e){return this.ruleTypes.has(e)?this.ruleTypes.get(e):e.toString()}closePopup(){this.dialogRef.close()}getLabel(e){const i=this.storageService.getLabelInfo(e);return i?" ("+i.label+")":""}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn),Y(Ji))},t.\u0275cmp=Ze({type:t,selectors:[["app-route-details"]],decls:19,vars:17,consts:[[1,"info-dialog",3,"headline","dialog"],[1,"title","mt-0"],[3,"inline"],[1,"item"],[4,"ngIf"],[1,"title"],["class","title",4,"ngIf"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div")(3,"div",1)(4,"mat-icon",2),I(5,"list"),C(),I(6),R(7,"translate"),C(),D(8,"div",3)(9,"span"),I(10),R(11,"translate"),C(),I(12),C(),D(13,"div",3)(14,"span"),I(15),R(16,"translate"),C(),I(17),C(),V(18,eee,26,21,"div",4),C()()),2&e&&(w("headline",H(1,9,"routes.details.title"))("dialog",i.dialogRef),c(4),w("inline",!0),c(2),ce("",H(7,11,"routes.details.basic.title")," "),c(4),se(H(11,13,"routes.details.basic.key")),c(2),ce(" ",i.routeRule.key," "),c(3),se(H(16,15,"routes.details.basic.rule")),c(2),ce(" ",i.routeRule.rule," "),c(1),w("ngIf",i.routeRule.ruleSummary))},dependencies:[Ft,Cn,ei,wt]}),t})(),fP=(()=>{class t{constructor(e){this.apiService=e}get(e,i){return this.apiService.get(`visors/${e}/routes/${i}`)}delete(e,i){return this.apiService.delete(`visors/${e}/routes/${i}`)}setMinHops(e,i){return this.apiService.post(`visors/${e}/min-hops`,{min_hops:i})}}return t.\u0275fac=function(e){return new(e||t)(we(il))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function nee(t,n){1&t&&(D(0,"span",14),I(1),R(2,"translate"),D(3,"mat-icon",15),R(4,"translate"),I(5,"help"),C()()),2&t&&(c(1),ce(" ",H(2,3,"routes.title")," "),c(2),w("inline",!0)("matTooltip",H(4,5,"routes.info")))}function iee(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.translatableValue))}}function ree(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e.value)}}function oee(t,n){if(1&t&&(D(0,"div",19)(1,"span"),I(2),R(3,"translate"),C(),V(4,iee,3,3,"ng-container",20),V(5,ree,2,1,"ng-container",20),C()),2&t){const e=n.$implicit;c(2),ce("",H(3,3,e.filterName),": "),c(2),w("ngIf",e.translatableValue),c(1),w("ngIf",e.value)}}function see(t,n){if(1&t){const e=et();D(0,"div",16),ye("click",function(){return Pe(e),Oe(z().dataFilterer.removeFilters())}),V(1,oee,6,5,"div",17),D(2,"div",18),I(3),R(4,"translate"),C()()}if(2&t){const e=z();c(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),c(2),se(H(4,2,"filters.press-to-remove"))}}function aee(t,n){if(1&t){const e=et();D(0,"mat-icon",21),ye("click",function(){return Pe(e),Oe(z().dataFilterer.changeFilters())}),R(1,"translate"),I(2,"filter_list"),C()}2&t&&w("inline",!0)("matTooltip",H(1,2,"filters.filter-action"))}function lee(t,n){1&t&&(D(0,"mat-icon",22),I(1,"more_horiz"),C()),2&t&&(z(),w("matMenuTriggerFor",ci(9)))}const z1=function(t){return["/nodes",t,"routes"]};function cee(t,n){if(1&t&&xe(0,"app-paginator",23),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",He(4,z1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function dee(t,n){if(1&t&&(D(0,"mat-icon",36),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function uee(t,n){if(1&t&&(D(0,"mat-icon",36),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function hee(t,n){if(1&t&&(D(0,"mat-icon",36),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function fee(t,n){if(1&t&&(D(0,"mat-icon",36),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function pee(t,n){if(1&t){const e=et();Ue(0),D(1,"td")(2,"app-labeled-element-text",41),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),D(3,"td")(4,"app-labeled-element-text",41),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),We()}if(2&t){const e=z().$implicit,i=z(2);c(2),Ln("id",e.src),w("short",!0)("elementType",i.labeledElementTypes.Node),c(2),Ln("id",e.dst),w("short",!0)("elementType",i.labeledElementTypes.Node)}}function mee(t,n){if(1&t){const e=et();Ue(0),D(1,"td"),I(2,"---"),C(),D(3,"td")(4,"app-labeled-element-text",42),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),We()}if(2&t){const e=z().$implicit,i=z(2);c(4),Ln("id",e.dst),w("short",!0)("elementType",i.labeledElementTypes.Transport)}}function gee(t,n){1&t&&(Ue(0),D(1,"td"),I(2,"---"),C(),D(3,"td"),I(4,"---"),C(),We())}function _ee(t,n){if(1&t){const e=et();D(0,"tr")(1,"td",38)(2,"mat-checkbox",39),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(3,"td"),I(4),C(),D(5,"td"),I(6),C(),V(7,pee,5,6,"ng-container",20),V(8,mee,5,3,"ng-container",20),V(9,gee,5,0,"ng-container",20),D(10,"td",29)(11,"button",40),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).details(s))}),R(12,"translate"),D(13,"mat-icon",36),I(14,"visibility"),C()(),D(15,"button",40),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).delete(s.key))}),R(16,"translate"),D(17,"mat-icon",36),I(18,"close"),C()()()()}if(2&t){const e=n.$implicit,i=z(2);c(2),w("checked",i.selections.get(e.key)),c(2),ce(" ",e.key," "),c(2),ce(" ",i.getTypeName(e.type)," "),c(1),w("ngIf",e.appFields||e.forwardFields),c(1),w("ngIf",!e.appFields&&!e.forwardFields&&e.intermediaryForwardFields),c(1),w("ngIf",!e.appFields&&!e.forwardFields&&!e.intermediaryForwardFields),c(2),w("matTooltip",H(12,10,"routes.details.title")),c(2),w("inline",!0),c(2),w("matTooltip",H(16,12,"routes.delete")),c(2),w("inline",!0)}}function bee(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.label")))}function vee(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.inverted-order")))}function yee(t,n){if(1&t){const e=et();Ue(0),D(1,"div",44)(2,"span",1),I(3),R(4,"translate"),C(),I(5,": "),D(6,"app-labeled-element-text",47),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),D(7,"div",44)(8,"span",1),I(9),R(10,"translate"),C(),I(11,": "),D(12,"app-labeled-element-text",47),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),We()}if(2&t){const e=z().$implicit,i=z(2);c(3),se(H(4,6,"routes.source")),c(3),Ln("id",e.src),w("elementType",i.labeledElementTypes.Node),c(3),se(H(10,8,"routes.destination")),c(3),Ln("id",e.dst),w("elementType",i.labeledElementTypes.Node)}}function Mee(t,n){if(1&t){const e=et();Ue(0),D(1,"div",44)(2,"span",1),I(3),R(4,"translate"),C(),I(5,": --- "),C(),D(6,"div",44)(7,"span",1),I(8),R(9,"translate"),C(),I(10,": "),D(11,"app-labeled-element-text",47),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),We()}if(2&t){const e=z().$implicit,i=z(2);c(3),se(H(4,4,"routes.source")),c(5),se(H(9,6,"routes.destination")),c(3),Ln("id",e.dst),w("elementType",i.labeledElementTypes.Transport)}}function wee(t,n){1&t&&(Ue(0),D(1,"div",44)(2,"span",1),I(3),R(4,"translate"),C(),I(5,": --- "),C(),D(6,"div",44)(7,"span",1),I(8),R(9,"translate"),C(),I(10,": --- "),C(),We()),2&t&&(c(3),se(H(4,2,"routes.source")),c(5),se(H(9,4,"routes.destination")))}function Cee(t,n){if(1&t){const e=et();D(0,"tr")(1,"td")(2,"div",33)(3,"div",43)(4,"mat-checkbox",39),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(5,"div",34)(6,"div",44)(7,"span",1),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",44)(12,"span",1),I(13),R(14,"translate"),C(),I(15),C(),V(16,yee,13,10,"ng-container",20),V(17,Mee,12,8,"ng-container",20),V(18,wee,11,6,"ng-container",20),C(),xe(19,"div",45),D(20,"div",35)(21,"button",46),ye("click",function(o){const a=Pe(e).$implicit,l=z(2);return o.stopPropagation(),Oe(l.showOptionsDialog(a))}),R(22,"translate"),D(23,"mat-icon"),I(24),C()()()()()()}if(2&t){const e=n.$implicit,i=z(2);c(4),w("checked",i.selections.get(e.key)),c(4),se(H(9,10,"routes.key")),c(2),ce(": ",e.key," "),c(3),se(H(14,12,"routes.type")),c(2),ce(": ",i.getTypeName(e.type)," "),c(1),w("ngIf",e.appFields||e.forwardFields),c(1),w("ngIf",!e.appFields&&!e.forwardFields&&e.intermediaryForwardFields),c(1),w("ngIf",!e.appFields&&!e.forwardFields&&!e.intermediaryForwardFields),c(3),w("matTooltip",H(22,14,"common.options")),c(3),se("add")}}function xee(t,n){if(1&t&&xe(0,"app-view-all-link",48),2&t){const e=z(2);w("numberOfElements",e.filteredRoutes.length)("linkParts",He(3,z1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const kee=function(t,n){return{"small-node-list-margins":t,"full-node-list-margins":n}},See=function(t){return{"d-lg-none d-xl-table":t}},Dee=function(t){return{"d-lg-table d-xl-none":t}};function Tee(t,n){if(1&t){const e=et();D(0,"div",24)(1,"div",25)(2,"table",26)(3,"tr"),xe(4,"th"),D(5,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.keySortData))}),I(6),R(7,"translate"),V(8,dee,2,2,"mat-icon",28),C(),D(9,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.typeSortData))}),I(10),R(11,"translate"),V(12,uee,2,2,"mat-icon",28),C(),D(13,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.sourceSortData))}),I(14),R(15,"translate"),V(16,hee,2,2,"mat-icon",28),C(),D(17,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.destinationSortData))}),I(18),R(19,"translate"),V(20,fee,2,2,"mat-icon",28),C(),xe(21,"th",29),C(),V(22,_ee,19,14,"tr",30),C(),D(23,"table",31)(24,"tr",32),ye("click",function(){return Pe(e),Oe(z().dataSorter.openSortingOrderModal())}),D(25,"td")(26,"div",33)(27,"div",34)(28,"div",1),I(29),R(30,"translate"),C(),D(31,"div"),I(32),R(33,"translate"),V(34,bee,3,3,"ng-container",20),V(35,vee,3,3,"ng-container",20),C()(),D(36,"div",35)(37,"mat-icon",36),I(38,"keyboard_arrow_down"),C()()()()(),V(39,Cee,25,16,"tr",30),C(),V(40,xee,1,5,"app-view-all-link",37),C()()}if(2&t){const e=z();c(1),w("ngClass",mn(31,kee,e.showShortList_,!e.showShortList_)),c(1),w("ngClass",He(34,See,e.showShortList_)),c(4),ce(" ",H(7,19,"routes.key")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.keySortData),c(2),ce(" ",H(11,21,"routes.type")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.typeSortData),c(2),ce(" ",H(15,23,"routes.source")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.sourceSortData),c(2),ce(" ",H(19,25,"routes.destination")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.destinationSortData),c(2),w("ngForOf",e.dataSource),c(1),w("ngClass",He(36,Dee,e.showShortList_)),c(6),se(H(30,27,"tables.sorting-title")),c(3),ce("",H(33,29,e.dataSorter.currentSortingColumn.label)," "),c(2),w("ngIf",e.dataSorter.currentlySortingByLabel),c(1),w("ngIf",e.dataSorter.sortingInReverseOrder),c(2),w("inline",!0),c(2),w("ngForOf",e.dataSource),c(1),w("ngIf",e.showShortList_&&e.numberOfPages>1)}}function Lee(t,n){1&t&&(D(0,"span",52),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"routes.empty")))}function Eee(t,n){1&t&&(D(0,"span",52),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"routes.empty-with-filter")))}function Iee(t,n){if(1&t&&(D(0,"div",24)(1,"div",49)(2,"mat-icon",50),I(3,"warning"),C(),V(4,Lee,3,3,"span",51),V(5,Eee,3,3,"span",51),C()()),2&t){const e=z();c(2),w("inline",!0),c(2),w("ngIf",0===e.allRoutes.length),c(1),w("ngIf",0!==e.allRoutes.length)}}function Pee(t,n){if(1&t&&xe(0,"app-paginator",23),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",He(4,z1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const Oee=function(t){return{"paginator-icons-fixer":t}};let pP=(()=>{class t{set showShortList(e){this.showShortList_=e,this.dataSorter.setData(this.filteredRoutes)}set routes(e){this.allRoutes=e,this.allRoutes.forEach(i=>{if(i.type=i.ruleSummary.ruleType||0===i.ruleSummary.ruleType?i.ruleSummary.ruleType:"",i.appFields||i.forwardFields){const o=i.appFields?i.appFields.routeDescriptor:i.forwardFields.routeDescriptor;i.src=o.srcPk,i.src_label=ha.getCompleteLabel(this.storageService,this.translateService,i.src),i.dst=o.dstPk,i.dst_label=ha.getCompleteLabel(this.storageService,this.translateService,i.dst)}else i.intermediaryForwardFields?(i.src="",i.src_label="",i.dst=i.intermediaryForwardFields.nextTid,i.dst_label=ha.getCompleteLabel(this.storageService,this.translateService,i.dst)):(i.src="",i.src_label="",i.dst="",i.dst_label="")}),this.dataFilterer.setData(this.allRoutes)}constructor(e,i,o,s,a,l,d){this.routeService=e,this.dialog=i,this.route=o,this.router=s,this.snackbarService=a,this.translateService=l,this.storageService=d,this.listId="rl",this.keySortData=new Vn(["key"],"routes.key",Zt.Number),this.typeSortData=new Vn(["type"],"routes.type",Zt.Number),this.sourceSortData=new Vn(["src"],"routes.source",Zt.Text,["src_label"]),this.destinationSortData=new Vn(["dst"],"routes.destination",Zt.Text,["dst_label"]),this.labeledElementTypes=Xi,this.selections=new Map,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"routes.filter-dialog.key",keyNameInElementsArray:"key",type:$n.TextInput,maxlength:8},{filterName:"routes.filter-dialog.source",keyNameInElementsArray:"src",secondaryKeyNameInElementsArray:"src_label",type:$n.TextInput,maxlength:66},{filterName:"routes.filter-dialog.destination",keyNameInElementsArray:"dst",secondaryKeyNameInElementsArray:"dst_label",type:$n.TextInput,maxlength:66}],this.ruleTypes=new Map([[0,"App"],[1,"Forward"],[2,"Int. forward"]]),this.operationSubscriptionsGroup=[],this.dataSorter=new Rd(this.dialog,this.translateService,this.storageService,[this.keySortData,this.typeSortData,this.sourceSortData,this.destinationSortData],0,this.listId),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()});const E={filterName:"routes.filter-dialog.type",keyNameInElementsArray:"type",type:$n.Select,printableLabelsForValues:[{value:"",label:"routes.filter-dialog.any-type-option"}]};this.ruleTypes.forEach((F,G)=>{E.printableLabelsForValues.push({value:G+"",label:F})}),this.filterProperties=[E].concat(this.filterProperties),this.dataFilterer=new Nd(this.dialog,this.route,this.router,this.filterProperties,this.listId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(F=>{this.filteredRoutes=F,this.dataSorter.setData(this.filteredRoutes)}),this.navigationsSubscription=this.route.paramMap.subscribe(F=>{if(F.has("page")){let G=Number.parseInt(F.get("page"),10);(isNaN(G)||G<1)&&(G=1),this.currentPageInUrl=G,this.recalculateElementsToShow()}})}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.operationSubscriptionsGroup.forEach(e=>e.unsubscribe()),this.dataSortedSubscription.unsubscribe(),this.dataFiltererSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFilterer.dispose()}refreshData(){Ct.refreshCurrentDisplayedData()}getTypeName(e){return this.ruleTypes.has(e)?this.ruleTypes.get(e):"Unknown"}changeSelection(e){this.selections.get(e.key)?this.selections.set(e.key,!1):this.selections.set(e.key,!0)}hasSelectedElements(){if(!this.selections)return!1;let e=!1;return this.selections.forEach(i=>{i&&(e=!0)}),e}changeAllSelections(e){this.selections.forEach((i,o)=>{this.selections.set(o,e)})}deleteSelected(){const e=Jt.createConfirmationDialog(this.dialog,"routes.delete-selected-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.showProcessing();const i=[];this.selections.forEach((o,s)=>{o&&i.push(s)}),this.deleteRecursively(i,e)})}showOptionsDialog(e){qr.openDialog(this.dialog,[{icon:"visibility",label:"routes.details.title"},{icon:"close",label:"routes.delete"}],"common.options").afterClosed().subscribe(o=>{1===o?this.details(e):2===o&&this.delete(e.key)})}details(e){tee.openDialog(this.dialog,e)}delete(e){const i=Jt.createConfirmationDialog(this.dialog,"routes.delete-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.showProcessing(),this.operationSubscriptionsGroup.push(this.startDeleting(e).subscribe(()=>{i.close(),Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("routes.deleted")},o=>{o=en(o),i.componentInstance.showDone("confirmation.error-header-text",o.translatableErrorMsg)}))})}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredRoutes){const e=this.showShortList_?Vt.maxShortListElements:Vt.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredRoutes.length/e),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const i=e*(this.currentPage-1);this.routesToShow=this.filteredRoutes.slice(i,i+e);const s=new Map;this.routesToShow.forEach(l=>{s.set(l.key,!0),this.selections.has(l.key)||this.selections.set(l.key,!1)});const a=[];this.selections.forEach((l,d)=>{s.has(d)||a.push(d)}),a.forEach(l=>{this.selections.delete(l)})}else this.routesToShow=null,this.selections=new Map;this.dataSource=this.routesToShow}startDeleting(e){return this.routeService.delete(Ct.getCurrentNodeKey(),e.toString())}deleteRecursively(e,i){this.operationSubscriptionsGroup.push(this.startDeleting(e[e.length-1]).subscribe(()=>{e.pop(),0===e.length?(i.close(),Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("routes.deleted")):this.deleteRecursively(e,i)},o=>{Ct.refreshCurrentDisplayedData(),o=en(o),i.componentInstance.showDone("confirmation.error-header-text",o.translatableErrorMsg)}))}}return t.\u0275fac=function(e){return new(e||t)(Y(fP),Y(In),Y(Mr),Y(hn),Y(Dn),Y(To),Y(Ji))},t.\u0275cmp=Ze({type:t,selectors:[["app-route-list"]],inputs:{nodePK:"nodePK",showShortList:"showShortList",routes:"routes"},decls:23,vars:22,consts:[[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","uppercase",4,"ngIf"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],["class","small-icon",3,"inline","matTooltip","click",4,"ngIf"],[3,"matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"uppercase"],[1,"help","d-none","d-md-inline",3,"inline","matTooltip"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","matTooltip","click"],[3,"matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow",3,"ngClass"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table",3,"ngClass"],[1,"sortable-column",3,"click"],[3,"inline",4,"ngIf"],[1,"actions"],[4,"ngFor","ngForOf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none",3,"ngClass"],[1,"selectable",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],[3,"inline"],[3,"numberOfElements","linkParts","queryParams",4,"ngIf"],[1,"selection-col"],[3,"checked","change"],["mat-button","",1,"action-button","transparent-button",3,"matTooltip","click"],["shortTextLength","7",3,"short","id","elementType","labelEdited"],["shortTextLength","5",3,"short","id","elementType","labelEdited"],[1,"check-part"],[1,"list-row","long-content"],[1,"margin-part"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],[3,"id","elementType","labelEdited"],[3,"numberOfElements","linkParts","queryParams"],[1,"box-internal-container"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1),V(2,nee,6,7,"span",2),V(3,see,5,4,"div",3),C(),D(4,"div",4)(5,"div",5),V(6,aee,3,4,"mat-icon",6),V(7,lee,2,1,"mat-icon",7),D(8,"mat-menu",8,9)(10,"div",10),ye("click",function(){return i.changeAllSelections(!0)}),I(11),R(12,"translate"),C(),D(13,"div",10),ye("click",function(){return i.changeAllSelections(!1)}),I(14),R(15,"translate"),C(),D(16,"div",11),ye("click",function(){return i.deleteSelected()}),I(17),R(18,"translate"),C()()(),V(19,cee,1,6,"app-paginator",12),C()(),V(20,Tee,41,38,"div",13),V(21,Iee,6,3,"div",13),V(22,Pee,1,6,"app-paginator",12)),2&e&&(w("ngClass",He(20,Oee,!i.showShortList_&&i.numberOfPages>1&&i.dataSource)),c(2),w("ngIf",i.showShortList_),c(1),w("ngIf",i.dataFilterer.currentFiltersTexts&&i.dataFilterer.currentFiltersTexts.length>0),c(3),w("ngIf",i.allRoutes&&i.allRoutes.length>0),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("overlapTrigger",!1),c(3),ce(" ",H(12,14,"selection.select-all")," "),c(3),ce(" ",H(15,16,"selection.unselect-all")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(18,18,"selection.delete-all")," "),c(2),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("ngIf",!i.dataSource||0===i.dataSource.length),c(1),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource))},dependencies:[Nn,gi,Ft,Wr,el,Cn,vi,Yd,pa,Hd,fa,Og,Bd,ha,wt],styles:[".actions[_ngcontent-%COMP%]{text-align:right;width:90px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}"]}),t})(),Aee=(()=>{class t extends er{ngOnInit(){return this.dataSubscription=Ct.currentNode.subscribe(e=>{this.nodePK=e.localPk,this.node=e,this.routes=e.routes}),super.ngOnInit()}ngOnDestroy(){this.dataSubscription.unsubscribe()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["app-routing"]],features:[nt],decls:2,vars:5,consts:[[3,"node","showShortList"],[3,"routes","showShortList","nodePK"]],template:function(e,i){1&e&&xe(0,"app-transport-list",0)(1,"app-route-list",1),2&e&&(w("node",i.node)("showShortList",!0),c(1),w("routes",i.routes)("showShortList",!0)("nodePK",i.nodePK))},dependencies:[hP,pP]}),t})();function Fee(t,n){if(1&t&&(D(0,"mat-option",6),I(1),R(2,"translate"),C()),2&t){const e=n.$implicit;w("value",e.days),c(1),se(H(2,2,e.text))}}let Ree=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o){this.data=e,this.dialogRef=i,this.formBuilder=o}ngOnInit(){this.filters=[{text:"apps.log.filter.7-days",days:7},{text:"apps.log.filter.1-month",days:30},{text:"apps.log.filter.3-months",days:90},{text:"apps.log.filter.6-months",days:180},{text:"apps.log.filter.1-year",days:365},{text:"apps.log.filter.all",days:-1}],this.form=this.formBuilder.group({filter:[this.data.days]}),this.formSubscription=this.form.get("filter").valueChanges.subscribe(e=>{this.dialogRef.close(this.filters.find(i=>i.days===e))})}ngOnDestroy(){this.formSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn),Y(xr))},t.\u0275cmp=Ze({type:t,selectors:[["app-log-filter"]],decls:10,vars:9,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","filter"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),D(8,"mat-select",4),V(9,Fee,3,4,"mat-option",5),C()()()()()),2&e&&(w("headline",H(1,5,"apps.log.filter.title"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(4),se(H(7,7,"apps.log.filter.filter")),c(3),w("ngForOf",i.filters))},dependencies:[gi,zi,Vi,ji,ii,Ei,ar,tf,Pd,ei,wt],styles:["mat-form-field[_ngcontent-%COMP%]{margin-bottom:-24px}"]}),t})();const Nee=["content"],Yee=function(t){return{totalLogs:t}};function Hee(t,n){if(1&t&&(D(0,"app-button",10)(1,"div",11),I(2),R(3,"translate"),C()()),2&t){const e=z();c(2),ce(" ",kt(3,1,"apps.log.view-all",He(4,Yee,e.totalLogs))," ")}}function Bee(t,n){if(1&t&&(D(0,"div",12)(1,"span",3),I(2),C(),I(3),C()),2&t){const e=n.$implicit;c(2),ce(" ",e.time," "),c(1),ce(" ",e.msg," ")}}function Vee(t,n){1&t&&(D(0,"div",13),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"apps.log.empty")," "))}function jee(t,n){1&t&&xe(0,"app-loading-indicator",14),2&t&&w("showWhite",!1)}let zee=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.largeModalWidth,e.open(t,o)}constructor(e,i,o,s,a,l){this.data=e,this.dialogRef=i,this.appsService=o,this.dialog=s,this.snackbarService=a,this.apiService=l,this.logMessages=[],this.hasMoreLogMessages=!1,this.totalLogs=0,this.loading=!1,this.currentFilter={text:"apps.log.filter.7-days",days:7},this.shouldShowError=!0}ngOnInit(){this.loadData(0)}ngOnDestroy(){this.removeSubscription()}filter(){Ree.openDialog(this.dialog,this.currentFilter).afterClosed().subscribe(e=>{e&&(this.currentFilter=e,this.logMessages=[],this.loadData(0))})}getLogsUrl(){return"/"+this.apiService.apiPrefix+this.appsService.getLogMessagesUrl(Ct.getCurrentNodeKey(),this.data.name)}loadData(e){this.removeSubscription(),this.loading=!0,this.subscription=$e(1).pipe(Ti(e),Ye(()=>this.appsService.getLogMessages(Ct.getCurrentNodeKey(),this.data.name,this.currentFilter.days))).subscribe(i=>this.onLogsReceived(i),i=>this.onLogsError(i))}removeSubscription(){this.subscription&&this.subscription.unsubscribe()}onLogsReceived(e=[]){this.loading=!1,this.shouldShowError=!0,this.snackbarService.closeCurrentIfTemporaryError();let i=0;this.hasMoreLogMessages=!1,this.totalLogs=e.length,e.forEach(o=>{if(i<5e3){const s=o.startsWith("[")?0:-1,a=-1!==s?o.indexOf("]"):-1;this.logMessages.push(-1!==s&&-1!==a?{time:o.substr(s,a+1),msg:o.substr(a+1)}:{time:"",msg:o})}else this.hasMoreLogMessages=!0;i+=1}),setTimeout(()=>{this.content.nativeElement.scrollTop=this.content.nativeElement.scrollHeight})}onLogsError(e){e=en(e),this.shouldShowError&&(this.snackbarService.showError("common.loading-error",null,!0,e),this.shouldShowError=!1),this.loadData(Vt.connectionRetryDelay)}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn),Y(ll),Y(In),Y(Dn),Y(il))},t.\u0275cmp=Ze({type:t,selectors:[["app-log"]],viewQuery:function(e,i){if(1&e&&_t(Nee,5),2&e){let o;rt(o=ot())&&(i.content=o.first)}},decls:18,vars:17,consts:[[3,"headline","includeVerticalMargins","includeScrollableArea","dialog"],[1,"filter-link-container"],[1,"filter-link","subtle-transparent-button",3,"click"],[1,"transparent"],["content",""],["target","_blank",3,"href"],["class","full-logs-button","color","primary",4,"ngIf"],["class","app-log-message",4,"ngFor","ngForOf"],["class","app-log-empty mt-3",4,"ngIf"],[3,"showWhite",4,"ngIf"],["color","primary",1,"full-logs-button"],[1,"text-container"],[1,"app-log-message"],[1,"app-log-empty","mt-3"],[3,"showWhite"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1)(3,"div",2),ye("click",function(){return i.filter()}),D(4,"span",3),I(5),R(6,"translate"),C(),I(7,"\xa0 "),D(8,"span"),I(9),R(10,"translate"),C()()(),D(11,"mat-dialog-content",null,4)(13,"a",5),V(14,Hee,4,6,"app-button",6),C(),V(15,Bee,4,2,"div",7),V(16,Vee,3,3,"div",8),V(17,jee,1,1,"app-loading-indicator",9),C()()),2&e&&(w("headline",H(1,11,"apps.log.title"))("includeVerticalMargins",!1)("includeScrollableArea",!1)("dialog",i.dialogRef),c(5),se(H(6,13,"apps.log.filter-button")),c(4),se(H(10,15,i.currentFilter.text)),c(4),w("href",i.getLogsUrl(),Vo),c(1),w("ngIf",i.hasMoreLogMessages),c(1),w("ngForOf",i.logMessages),c(1),w("ngIf",!(i.loading||i.logMessages&&0!==i.logMessages.length)),c(1),w("ngIf",i.loading))},dependencies:[gi,Ft,r1,Ui,ei,as,wt],styles:[".mat-mdc-dialog-content[_ngcontent-%COMP%]{font-size:.875rem}.app-log-message[_ngcontent-%COMP%]{margin-top:15px;word-break:break-word}.app-log-message[_ngcontent-%COMP%] .transparent[_ngcontent-%COMP%]{color:#999}.app-log-message[_ngcontent-%COMP%]:first-of-type{margin-top:0}.app-log-message[_ngcontent-%COMP%]:last-of-type{margin-bottom:24px}.filter-link-container[_ngcontent-%COMP%]{text-align:center;margin:15px 0}.filter-link-container[_ngcontent-%COMP%] .filter-link[_ngcontent-%COMP%]{display:inline-block;background:#F8F9F9;padding:5px 10px;border-radius:1000px;font-size:.875rem;text-align:center;color:#215f9e;cursor:pointer}.filter-link-container[_ngcontent-%COMP%] .filter-link[_ngcontent-%COMP%] .transparent[_ngcontent-%COMP%]{color:#215f9e80}.full-logs-button[_ngcontent-%COMP%] button{width:100%!important;display:block;text-align:center;margin-bottom:15px}.full-logs-button[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]{width:100%}"]}),t})();const Uee=["button"],Wee=["firstInput"],Fg=function(t){return{"element-disabled":t}};function $ee(t,n){if(1&t&&(D(0,"mat-form-field",2)(1,"div",3)(2,"label",4),I(3),R(4,"translate"),C(),xe(5,"input",12),C()()),2&t){const e=z();w("ngClass",He(4,Fg,e.disableDismiss)),c(3),se(H(4,2,"apps.vpn-socks-server-settings.netifc"))}}function Gee(t,n){if(1&t){const e=et();D(0,"div",13)(1,"mat-checkbox",14),ye("change",function(o){return Pe(e),Oe(z().setSecureMode(o))}),I(2),R(3,"translate"),D(4,"mat-icon",15),R(5,"translate"),I(6,"help"),C()()()}if(2&t){const e=z();c(1),w("checked",e.secureMode)("ngClass",He(9,Fg,e.disableDismiss)),c(1),ce(" ",H(3,5,"apps.vpn-socks-server-settings.secure-mode-check")," "),c(2),w("inline",!0)("matTooltip",H(5,7,"apps.vpn-socks-server-settings.secure-mode-info"))}}let qee=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.mediumModalWidth,e.open(t,o)}constructor(e,i,o,s,a,l){this.data=e,this.appsService=i,this.formBuilder=o,this.dialogRef=s,this.snackbarService=a,this.dialog=l,this.configuringVpn=!1,this.secureMode=!1,-1!==e.name.toLocaleLowerCase().indexOf("vpn")&&(this.configuringVpn=!0)}ngOnInit(){if(this.form=this.formBuilder.group({password:[""],passwordConfirmation:["",this.validatePasswords.bind(this)],netifc:[""]}),this.formSubscription=this.form.get("password").valueChanges.subscribe(()=>{this.form.get("passwordConfirmation").updateValueAndValidity()}),this.data.args&&this.data.args.length>0)for(let e=0;ethis.firstInput.nativeElement.focus())}ngOnDestroy(){this.formSubscription.unsubscribe(),this.operationSubscription&&this.operationSubscription.unsubscribe()}get disableDismiss(){return!!this.button&&this.button.isLoading}setSecureMode(e){this.button.disabled||(this.secureMode=!!e.checked)}saveChanges(){if(!this.form.valid||this.button.disabled)return;const e=this.form.get("password").value?"apps.vpn-socks-server-settings.change-passowrd-confirmation":"apps.vpn-socks-server-settings.remove-passowrd-confirmation",i=Jt.createConfirmationDialog(this.dialog,e);i.componentInstance.operationAccepted.subscribe(()=>{i.close(),this.continueSavingChanges()})}continueSavingChanges(){this.button.showLoading();const e={passcode:this.form.get("password").value};this.configuringVpn&&(e.secure=this.secureMode,e.netifc=this.form.get("netifc").value),this.operationSubscription=this.appsService.changeAppSettings(Ct.getCurrentNodeKey(),this.data.name,e).subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)})}onSuccess(){Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("apps.vpn-socks-server-settings.changes-made"),this.dialogRef.close()}onError(e){this.button.showError(),e=en(e),this.snackbarService.showError(e)}validatePasswords(){return this.form&&this.form.get("password").value!==this.form.get("passwordConfirmation").value?{invalid:!0}:null}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(ll),Y(xr),Y(Bn),Y(Dn),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-skysocks-settings"]],viewQuery:function(e,i){if(1&e&&(_t(Uee,5),_t(Wee,5)),2&e){let o;rt(o=ot())&&(i.button=o.first),rt(o=ot())&&(i.firstInput=o.first)}},decls:27,vars:27,consts:[[3,"headline","dialog","disableDismiss"],[3,"formGroup"],[3,"ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["id","password","type","password","formControlName","password","maxlength","100","matInput",""],["firstInput",""],["id","passwordConfirmation","type","password","formControlName","passwordConfirmation","maxlength","100","matInput",""],[3,"ngClass",4,"ngIf"],["class","main-theme settings-option",4,"ngIf"],["color","primary",1,"float-right",3,"disabled","action"],["button",""],["id","netifc","type","text","formControlName","netifc","matInput",""],[1,"main-theme","settings-option"],["color","primary",3,"checked","ngClass","change"],[1,"help-icon",3,"inline","matTooltip"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field",2)(4,"div",3)(5,"label",4),I(6),R(7,"translate"),C(),xe(8,"input",5,6),C()(),D(10,"mat-form-field",2)(11,"div",3)(12,"label",4),I(13),R(14,"translate"),C(),xe(15,"input",7,6),C(),D(17,"mat-error")(18,"span"),I(19),R(20,"translate"),C()()(),V(21,$ee,6,6,"mat-form-field",8),V(22,Gee,7,11,"div",9),C(),D(23,"app-button",10,11),ye("action",function(){return i.saveChanges()}),I(25),R(26,"translate"),C()()),2&e&&(w("headline",H(1,13,"apps.vpn-socks-server-settings."+(i.configuringVpn?"vpn-title":"socks-title")))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(2),w("formGroup",i.form),c(1),w("ngClass",He(23,Fg,i.disableDismiss)),c(3),se(H(7,15,"apps.vpn-socks-server-settings.new-password")),c(4),w("ngClass",He(25,Fg,i.disableDismiss)),c(3),se(H(14,17,"apps.vpn-socks-server-settings.repeat-password")),c(6),se(H(20,19,"apps.vpn-socks-server-settings.passwords-not-match")),c(2),w("ngIf",i.configuringVpn),c(1),w("ngIf",i.configuringVpn),c(1),w("disabled",!i.form.valid),c(2),ce(" ",H(26,21,"apps.vpn-socks-server-settings.save")," "))},dependencies:[Nn,Ft,zi,Bi,Vi,ji,Cr,ii,Ei,ar,sl,kr,Cn,vi,fa,Ui,ei,wt],styles:["mat-checkbox[_ngcontent-%COMP%]{margin-bottom:15px}"]}),t})();const Kee=["firstInput"];let Zee=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i||"",o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o){this.dialogRef=e,this.data=i,this.formBuilder=o}ngOnInit(){this.form=this.formBuilder.group({note:[this.data]}),setTimeout(()=>this.firstInput.nativeElement.focus())}finish(){const e=this.form.get("note").value.trim();this.dialogRef.close("-"+e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(xr))},t.\u0275cmp=Ze({type:t,selectors:[["app-edit-skysocks-client-note"]],viewQuery:function(e,i){if(1&e&&_t(Kee,5),2&e){let o;rt(o=ot())&&(i.firstInput=o.first)}},decls:13,vars:11,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","note","maxlength","100","matInput",""],["firstInput",""],["color","primary","type","mat-raised-button",1,"float-right",3,"action"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6),ye("action",function(){return i.finish()}),I(11),R(12,"translate"),C()()),2&e&&(w("headline",H(1,5,"apps.vpn-socks-client-settings.change-note-dialog.title"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(4),se(H(7,7,"apps.vpn-socks-client-settings.change-note-dialog.note")),c(5),se(H(12,9,"common.save")))},dependencies:[zi,Bi,Vi,ji,Cr,ii,Ei,ar,kr,Ui,ei,wt]}),t})();const ma={AF:"Afghanistan",AX:"Aland Islands",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo",CD:"Congo, Democratic Republic",CK:"Cook Islands",CR:"Costa Rica",CI:"Cote D'Ivoire",HR:"Croatia",CU:"Cuba",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands (Malvinas)",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GG:"Guernsey",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and Mcdonald Islands",VA:"Holy See (Vatican City State)",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran",IQ:"Iraq",IE:"Ireland",IM:"Isle of Man",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JE:"Jersey",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"Korea (North)",KR:"Korea (South)",XK:"Kosovo",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Laos",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libyan Arab Jamahiriya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MK:"Macedonia",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia",MD:"Moldova",MC:"Monaco",MN:"Mongolia",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",AN:"Netherlands Antilles",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestinian Territory, Occupied",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"Reunion",RO:"Romania",RU:"Russian Federation",RW:"Rwanda",SH:"Saint Helena",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",RS:"Serbia",ME:"Montenegro",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Swaziland",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan, Province of China",TJ:"Tajikistan",TZ:"Tanzania",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"Turkey",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela",VN:"Viet Nam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe",ZZ:"Unknown"};function Xee(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit,i=z(2);c(1),se(i.completeCountriesList[e.toUpperCase()])}}function Jee(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e.toUpperCase())}}function Qee(t,n){if(1&t&&(D(0,"mat-option",10)(1,"div",12),xe(2,"div"),C(),V(3,Xee,2,1,"ng-container",2),V(4,Jee,2,1,"ng-container",2),C()),2&t){const e=n.$implicit,i=z(2);w("value",e.toUpperCase()),c(2),di("background-image: url('assets/img/flags/"+e.toLocaleLowerCase()+".png');"),c(1),w("ngIf",i.completeCountriesList[e.toUpperCase()]),c(1),w("ngIf",!i.completeCountriesList[e.toUpperCase()])}}function ete(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),ce(" ",H(2,1,"apps.vpn-socks-client-settings.filter-dialog.any-country")," "))}function tte(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z(3);c(1),se(e.completeCountriesList[e.form.get("country").value])}}function nte(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z(3);c(1),se(e.form.get("country").value)}}function ite(t,n){if(1&t&&(Ue(0),D(1,"div",12),xe(2,"div"),C(),V(3,tte,2,1,"ng-container",2),V(4,nte,2,1,"ng-container",2),We()),2&t){const e=z(2);c(2),di("background-image: url('assets/img/flags/"+e.form.get("country").value.toLocaleLowerCase()+".png');"),c(1),w("ngIf",e.completeCountriesList[e.form.get("country").value]),c(1),w("ngIf",!e.completeCountriesList[e.form.get("country").value])}}function rte(t,n){if(1&t&&(D(0,"mat-form-field")(1,"div",3)(2,"label",4),I(3),R(4,"translate"),C(),D(5,"mat-select",9)(6,"mat-option",10),I(7),R(8,"translate"),C(),V(9,Qee,5,5,"mat-option",11),D(10,"mat-select-trigger"),V(11,ete,3,3,"ng-container",2),V(12,ite,5,4,"ng-container",2),C()()()()),2&t){const e=z();c(3),se(H(4,6,"apps.vpn-socks-client-settings.filter-dialog.country")),c(3),w("value","-"),c(1),se(H(8,8,"apps.vpn-socks-client-settings.filter-dialog.any-country")),c(2),w("ngForOf",e.data.availableCountries),c(2),w("ngIf","-"===e.form.get("country").value),c(1),w("ngIf","-"!==e.form.get("country").value)}}class mP{constructor(){this.country="",this.location="",this.key=""}}let ote=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o){this.data=e,this.dialogRef=i,this.formBuilder=o,this.completeCountriesList=ma}ngOnInit(){this.form=this.formBuilder.group({country:[this.data.currentFilters.country?this.data.currentFilters.country:"-"],"location-text":[this.data.currentFilters.location],"key-text":[this.data.currentFilters.key]})}apply(){const e=new mP;let i=this.form.get("country").value.trim();"-"===i&&(i=""),e.country=i,e.location=this.form.get("location-text").value.trim(),e.key=this.form.get("key-text").value.trim(),this.dialogRef.close(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn),Y(xr))},t.\u0275cmp=Ze({type:t,selectors:[["app-skysocks-client-filter"]],decls:20,vars:15,consts:[[3,"headline","dialog"],[3,"formGroup"],[4,"ngIf"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","location-text","maxlength","100","matInput",""],["formControlName","key-text","maxlength","66","matInput",""],["type","mat-raised-button","color","primary",1,"float-right",3,"action"],["button",""],["formControlName","country","id","country"],[3,"value"],[3,"value",4,"ngFor","ngForOf"],[1,"flag-container"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1),V(3,rte,13,10,"mat-form-field",2),D(4,"mat-form-field")(5,"div",3)(6,"label",4),I(7),R(8,"translate"),C(),xe(9,"input",5),C()(),D(10,"mat-form-field")(11,"div",3)(12,"label",4),I(13),R(14,"translate"),C(),xe(15,"input",6),C()()(),D(16,"app-button",7,8),ye("action",function(){return i.apply()}),I(18),R(19,"translate"),C()()),2&e&&(w("headline",H(1,7,"apps.vpn-socks-client-settings.filter-dialog.title"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(1),w("ngIf",i.data.availableCountries.length>0),c(4),se(H(8,9,"apps.vpn-socks-client-settings.filter-dialog.location")),c(6),se(H(14,11,"apps.vpn-socks-client-settings.filter-dialog.pub-key")),c(5),ce(" ",H(19,13,"apps.vpn-socks-client-settings.filter-dialog.apply")," "))},dependencies:[gi,Ft,zi,Bi,Vi,ji,Cr,ii,Ei,ar,kr,tf,Bq,Pd,Ui,ei,wt]}),t})();const ste=["firstInput"];let ate=(()=>{class t{static openDialog(e){const i=new En;return i.autoFocus=!1,i.width=Vt.smallModalWidth,e.open(t,i)}constructor(e,i){this.dialogRef=e,this.formBuilder=i}ngOnInit(){this.form=this.formBuilder.group({password:[""]}),setTimeout(()=>this.firstInput.nativeElement.focus())}finish(){const e=this.form.get("password").value;this.dialogRef.close("-"+e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(xr))},t.\u0275cmp=Ze({type:t,selectors:[["app-skysocks-client-password"]],viewQuery:function(e,i){if(1&e&&_t(ste,5),2&e){let o;rt(o=ot())&&(i.firstInput=o.first)}},decls:16,vars:14,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"info"],[1,"field-container"],["for","remoteKey",1,"field-label"],["type","password","id","password","formControlName","password","maxlength","100","matInput",""],["firstInput",""],["color","primary","type","mat-raised-button",1,"float-right",3,"action"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"div",2),I(4),R(5,"translate"),C(),D(6,"mat-form-field")(7,"div",3)(8,"label",4),I(9),R(10,"translate"),C(),xe(11,"input",5,6),C()()(),D(13,"app-button",7),ye("action",function(){return i.finish()}),I(14),R(15,"translate"),C()()),2&e&&(w("headline",H(1,6,"apps.vpn-socks-client-settings.password-dialog.title"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(2),se(H(5,8,"apps.vpn-socks-client-settings.password-dialog.info")),c(5),se(H(10,10,"apps.vpn-socks-client-settings.password-dialog.password")),c(5),ce(" ",H(15,12,"apps.vpn-socks-client-settings.password-dialog.continue-button")," "))},dependencies:[zi,Bi,Vi,ji,Cr,ii,Ei,ar,kr,Ui,ei,wt],styles:[".info[_ngcontent-%COMP%]{font-size:.7rem;margin-bottom:15px}"]}),t})(),lte=(()=>{class t{constructor(e){this.http=e,this.discoveryServiceUrl="https://sd.skycoin.com/api/services?type="}getServices(e){const i=[];return this.http.get(this.discoveryServiceUrl+(e?"proxy":"vpn")).pipe(rf(o=>o.pipe(Ti(4e3))),ke(o=>(o||(o=[]),o.forEach(s=>{const a=new KG,l=s.address.split(":");2===l.length&&(a.address=s.address,a.pk=l[0],a.port=l[1],a.location="",s.geo&&(s.geo.country&&(a.country=s.geo.country,a.location+=ma[s.geo.country.toUpperCase()]?ma[s.geo.country.toUpperCase()]:s.geo.country),s.geo.region&&s.geo.country&&(a.location+=", "),s.geo.region&&(a.region=s.geo.region,a.location+=a.region)),i.push(a))}),i)))}}return t.\u0275fac=function(e){return new(e||t)(we(Vl))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function cte(t,n){}const dte=function(t){return{animationDuration:t}},ute=function(t,n){return{value:t,params:n}};function hte(t,n){1&t&&Sn(0)}const gP=["*"],fte=["tabListContainer"],pte=["tabList"],mte=["tabListInner"],gte=["nextPaginator"],_te=["previousPaginator"],bte=["tabBodyWrapper"],vte=["tabHeader"];function yte(t,n){}function Mte(t,n){1&t&&V(0,yte,0,0,"ng-template",14),2&t&&w("cdkPortalOutlet",z().$implicit.templateLabel)}function wte(t,n){1&t&&I(0),2&t&&se(z().$implicit.textLabel)}function Cte(t,n){if(1&t){const e=et();D(0,"div",6,7),ye("click",function(){const o=Pe(e),s=o.$implicit,a=o.index,l=z(),d=ci(1);return Oe(l._handleClick(s,d,a))})("cdkFocusChange",function(o){const a=Pe(e).index;return Oe(z()._tabFocusChanged(o,a))}),xe(2,"span",8)(3,"div",9),D(4,"span",10)(5,"span",11),V(6,Mte,1,1,"ng-template",12),V(7,wte,1,1,"ng-template",null,13,Es),C()()()}if(2&t){const e=n.$implicit,i=n.index,o=ci(1),s=ci(8),a=z();nn("mdc-tab--active",a.selectedIndex===i),w("id",a._getTabLabelId(i))("ngClass",e.labelClass)("disabled",e.disabled)("fitInkBarToContent",a.fitInkBarToContent),Xt("tabIndex",a._getTabIndex(i))("aria-posinset",i+1)("aria-setsize",a._tabs.length)("aria-controls",a._getTabContentId(i))("aria-selected",a.selectedIndex===i)("aria-label",e.ariaLabel||null)("aria-labelledby",!e.ariaLabel&&e.ariaLabelledby?e.ariaLabelledby:null),c(3),w("matRippleTrigger",o)("matRippleDisabled",e.disabled||a.disableRipple),c(3),w("ngIf",e.templateLabel)("ngIfElse",s)}}function xte(t,n){if(1&t){const e=et();D(0,"mat-tab-body",15),ye("_onCentered",function(){return Pe(e),Oe(z()._removeTabBodyWrapperHeight())})("_onCentering",function(o){return Pe(e),Oe(z()._setTabBodyWrapperHeight(o))}),C()}if(2&t){const e=n.$implicit,i=n.index,o=z();nn("mat-mdc-tab-body-active",o.selectedIndex===i),w("id",o._getTabContentId(i))("ngClass",e.bodyClass)("content",e.content)("position",e.position)("origin",e.origin)("animationDuration",o.animationDuration)("preserveContent",o.preserveContent),Xt("tabindex",null!=o.contentTabIndex&&o.selectedIndex===i?o.contentTabIndex:null)("aria-labelledby",o._getTabLabelId(i))}}const kte={translateTab:ia("translateTab",[yo("center, void, left-origin-center, right-origin-center",Qn({transform:"none"})),yo("left",Qn({transform:"translate3d(-100%, 0, 0)",minHeight:"1px",visibility:"hidden"})),yo("right",Qn({transform:"translate3d(100%, 0, 0)",minHeight:"1px",visibility:"hidden"})),Pr("* => left, * => right, left => center, right => center",Ur("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")),Pr("void => left-origin-center",[Qn({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"}),Ur("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")]),Pr("void => right-origin-center",[Qn({transform:"translate3d(100%, 0, 0)",visibility:"hidden"}),Ur("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")])])};let Ste=(()=>{class t extends Ja{constructor(e,i,o,s){super(e,i,s),this._host=o,this._centeringSub=T.EMPTY,this._leavingSub=T.EMPTY}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe(Go(this._host._isCenterPosition(this._host._position))).subscribe(e=>{e&&!this.hasAttached()&&this.attach(this._host._content)}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this._host.preserveContent||this.detach()})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(Tl),Y(rr),Y(pn(()=>_P)),Y(It))},t.\u0275dir=Ke({type:t,selectors:[["","matTabBodyHost",""]],features:[nt]}),t})(),Dte=(()=>{class t{set position(e){this._positionIndex=e,this._computePositionAnimationState()}constructor(e,i,o){this._elementRef=e,this._dir=i,this._dirChangeSubscription=T.EMPTY,this._translateTabComplete=new J,this._onCentering=new ht,this._beforeCentering=new ht,this._afterLeavingCenter=new ht,this._onCentered=new ht(!0),this.animationDuration="500ms",this.preserveContent=!1,i&&(this._dirChangeSubscription=i.change.subscribe(s=>{this._computePositionAnimationState(s),o.markForCheck()})),this._translateTabComplete.pipe(V0((s,a)=>s.fromState===a.fromState&&s.toState===a.toState)).subscribe(s=>{this._isCenterPosition(s.toState)&&this._isCenterPosition(this._position)&&this._onCentered.emit(),this._isCenterPosition(s.fromState)&&!this._isCenterPosition(this._position)&&this._afterLeavingCenter.emit()})}ngOnInit(){"center"==this._position&&null!=this.origin&&(this._position=this._computePositionFromOrigin(this.origin))}ngOnDestroy(){this._dirChangeSubscription.unsubscribe(),this._translateTabComplete.complete()}_onTranslateTabStarted(e){const i=this._isCenterPosition(e.toState);this._beforeCentering.emit(i),i&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_isCenterPosition(e){return"center"==e||"left-origin-center"==e||"right-origin-center"==e}_computePositionAnimationState(e=this._getLayoutDirection()){this._position=this._positionIndex<0?"ltr"==e?"left":"right":this._positionIndex>0?"ltr"==e?"right":"left":"center"}_computePositionFromOrigin(e){const i=this._getLayoutDirection();return"ltr"==i&&e<=0||"rtl"==i&&e>0?"left-origin-center":"right-origin-center"}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(Do,8),Y(pi))},t.\u0275dir=Ke({type:t,inputs:{_content:["content","_content"],origin:"origin",animationDuration:"animationDuration",preserveContent:"preserveContent",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_afterLeavingCenter:"_afterLeavingCenter",_onCentered:"_onCentered"}}),t})(),_P=(()=>{class t extends Dte{constructor(e,i,o){super(e,i,o)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(Do,8),Y(pi))},t.\u0275cmp=Ze({type:t,selectors:[["mat-tab-body"]],viewQuery:function(e,i){if(1&e&&_t(Ja,5),2&e){let o;rt(o=ot())&&(i._portalHost=o.first)}},hostAttrs:[1,"mat-mdc-tab-body"],features:[nt],decls:3,vars:6,consts:[["cdkScrollable","",1,"mat-mdc-tab-body-content"],["content",""],["matTabBodyHost",""]],template:function(e,i){1&e&&(D(0,"div",0,1),ye("@translateTab.start",function(s){return i._onTranslateTabStarted(s)})("@translateTab.done",function(s){return i._translateTabComplete.next(s)}),V(2,cte,0,0,"ng-template",2),C()),2&e&&w("@translateTab",mn(3,ute,i._position,He(1,dte,i.animationDuration)))},dependencies:[Ste],styles:['.mat-mdc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-mdc-tab-body.mat-mdc-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-mdc-tab-group.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body.mat-mdc-tab-body-active{overflow-y:hidden}.mat-mdc-tab-body-content{height:100%;overflow:auto}.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body-content{overflow:hidden}.mat-mdc-tab-body-content[style*="visibility: hidden"]{display:none}'],encapsulation:2,data:{animation:[kte.translateTab]}}),t})();const Tte=new Re("MatTabContent");let Lte=(()=>{class t{constructor(e){this.template=e}}return t.\u0275fac=function(e){return new(e||t)(Y(mr))},t.\u0275dir=Ke({type:t,selectors:[["","matTabContent",""]],features:[un([{provide:Tte,useExisting:t}])]}),t})();const Ete=new Re("MatTabLabel"),bP=new Re("MAT_TAB");let Ite=(()=>{class t extends T9{constructor(e,i,o){super(e,i),this._closestTab=o}}return t.\u0275fac=function(e){return new(e||t)(Y(mr),Y(rr),Y(bP,8))},t.\u0275dir=Ke({type:t,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[un([{provide:Ete,useExisting:t}]),nt]}),t})();const U1="mdc-tab-indicator--active",vP="mdc-tab-indicator--no-transition";class Pte{constructor(n){this._items=n}hide(){this._items.forEach(n=>n.deactivateInkBar())}alignToElement(n){const e=this._items.find(o=>o.elementRef.nativeElement===n),i=this._currentItem;if(e!==i&&(i?.deactivateInkBar(),e)){const o=i?.elementRef.nativeElement.getBoundingClientRect?.();e.activateInkBar(o),this._currentItem=e}}}function Ote(t){return class extends t{constructor(...n){super(...n),this._fitToContent=!1}get fitInkBarToContent(){return this._fitToContent}set fitInkBarToContent(n){const e=_n(n);this._fitToContent!==e&&(this._fitToContent=e,this._inkBarElement&&this._appendInkBarElement())}activateInkBar(n){const e=this.elementRef.nativeElement;if(!n||!e.getBoundingClientRect||!this._inkBarContentElement)return void e.classList.add(U1);const i=e.getBoundingClientRect(),o=n.width/i.width,s=n.left-i.left;e.classList.add(vP),this._inkBarContentElement.style.setProperty("transform",`translateX(${s}px) scaleX(${o})`),e.getBoundingClientRect(),e.classList.remove(vP),e.classList.add(U1),this._inkBarContentElement.style.setProperty("transform","")}deactivateInkBar(){this.elementRef.nativeElement.classList.remove(U1)}ngOnInit(){this._createInkBarElement()}ngOnDestroy(){this._inkBarElement?.remove(),this._inkBarElement=this._inkBarContentElement=null}_createInkBarElement(){const n=this.elementRef.nativeElement.ownerDocument||document;this._inkBarElement=n.createElement("span"),this._inkBarContentElement=n.createElement("span"),this._inkBarElement.className="mdc-tab-indicator",this._inkBarContentElement.className="mdc-tab-indicator__content mdc-tab-indicator__content--underline",this._inkBarElement.appendChild(this._inkBarContentElement),this._appendInkBarElement()}_appendInkBarElement(){(this._fitToContent?this.elementRef.nativeElement.querySelector(".mdc-tab__content"):this.elementRef.nativeElement).appendChild(this._inkBarElement)}}}const Fte=Ed(class{}),Rte=Ote((()=>{class t extends Fte{constructor(e){super(),this.elementRef=e}focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}}return t.\u0275fac=function(e){return new(e||t)(Y(vt))},t.\u0275dir=Ke({type:t,features:[nt]}),t})());let yP=(()=>{class t extends Rte{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275dir=Ke({type:t,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(e,i){2&e&&(Xt("aria-disabled",!!i.disabled),nn("mat-mdc-tab-disabled",i.disabled))},inputs:{disabled:"disabled",fitInkBarToContent:"fitInkBarToContent"},features:[nt]}),t})();const Nte=Ed(class{}),MP=new Re("MAT_TAB_GROUP");let Yte=(()=>{class t extends Nte{get content(){return this._contentPortal}constructor(e,i){super(),this._viewContainerRef=e,this._closestTabGroup=i,this.textLabel="",this._contentPortal=null,this._stateChanges=new J,this.position=null,this.origin=null,this.isActive=!1}ngOnChanges(e){(e.hasOwnProperty("textLabel")||e.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new Gl(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(e){e&&e._closestTab===this&&(this._templateLabel=e)}}return t.\u0275fac=function(e){return new(e||t)(Y(rr),Y(MP,8))},t.\u0275dir=Ke({type:t,viewQuery:function(e,i){if(1&e&&_t(mr,7),2&e){let o;rt(o=ot())&&(i._implicitContent=o.first)}},inputs:{textLabel:["label","textLabel"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],labelClass:"labelClass",bodyClass:"bodyClass"},features:[nt,Gi]}),t})(),wP=(()=>{class t extends Yte{constructor(){super(...arguments),this._explicitContent=void 0}get templateLabel(){return this._templateLabel}set templateLabel(e){this._setTemplateLabelInput(e)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["mat-tab"]],contentQueries:function(e,i,o){if(1&e&&(or(o,Lte,7,mr),or(o,Ite,5)),2&e){let s;rt(s=ot())&&(i._explicitContent=s.first),rt(s=ot())&&(i.templateLabel=s.first)}},inputs:{disabled:"disabled"},exportAs:["matTab"],features:[un([{provide:bP,useExisting:t}]),nt],ngContentSelectors:gP,decls:1,vars:0,template:function(e,i){1&e&&(Ir(),V(0,hte,1,0,"ng-template"))},encapsulation:2}),t})();const CP=Za({passive:!0});let Vte=(()=>{class t{get disablePagination(){return this._disablePagination}set disablePagination(e){this._disablePagination=_n(e)}get selectedIndex(){return this._selectedIndex}set selectedIndex(e){e=So(e),this._selectedIndex!=e&&(this._selectedIndexChanged=!0,this._selectedIndex=e,this._keyManager&&this._keyManager.updateActiveItem(e))}constructor(e,i,o,s,a,l,d){this._elementRef=e,this._changeDetectorRef=i,this._viewportRuler=o,this._dir=s,this._ngZone=a,this._platform=l,this._animationMode=d,this._scrollDistance=0,this._selectedIndexChanged=!1,this._destroyed=new J,this._showPaginationControls=!1,this._disableScrollAfter=!0,this._disableScrollBefore=!0,this._stopScrolling=new J,this._disablePagination=!1,this._selectedIndex=0,this.selectFocusedIndex=new ht,this.indexFocused=new ht,a.runOutsideAngular(()=>{kh(e.nativeElement,"mouseleave").pipe(Hn(this._destroyed)).subscribe(()=>{this._stopInterval()})})}ngAfterViewInit(){kh(this._previousPaginator.nativeElement,"touchstart",CP).pipe(Hn(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("before")}),kh(this._nextPaginator.nativeElement,"touchstart",CP).pipe(Hn(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("after")})}ngAfterContentInit(){const e=this._dir?this._dir.change:$e("ltr"),i=this._viewportRuler.change(150),o=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new _L(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap().skipPredicate(()=>!1),this._keyManager.updateActiveItem(this._selectedIndex),this._ngZone.onStable.pipe(Kn(1)).subscribe(o),bt(e,i,this._items.changes,this._itemsResized()).pipe(Hn(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>{Promise.resolve().then(()=>{this._scrollDistance=Math.max(0,Math.min(this._getMaxScrollDistance(),this._scrollDistance)),o()})}),this._keyManager.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.subscribe(s=>{this.indexFocused.emit(s),this._setTabFocus(s)})}_itemsResized(){return"function"!=typeof ResizeObserver?oa:this._items.changes.pipe(Go(this._items),gr(e=>new he(i=>this._ngZone.runOutsideAngular(()=>{const o=new ResizeObserver(s=>i.next(s));return e.forEach(s=>o.observe(s.elementRef.nativeElement)),()=>{o.disconnect()}}))),B0(1),_i(e=>e.some(i=>i.contentRect.width>0&&i.contentRect.height>0)))}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._keyManager?.destroy(),this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(e){if(!Fs(e))switch(e.keyCode){case 13:case 32:if(this.focusIndex!==this.selectedIndex){const i=this._items.get(this.focusIndex);i&&!i.disabled&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(e))}break;default:this._keyManager.onKeydown(e)}}_onContentChanges(){const e=this._elementRef.nativeElement.textContent;e!==this._currentTextContent&&(this._currentTextContent=e||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(e){!this._isValidIndex(e)||this.focusIndex===e||!this._keyManager||this._keyManager.setActiveItem(e)}_isValidIndex(e){return!this._items||!!this._items.toArray()[e]}_setTabFocus(e){if(this._showPaginationControls&&this._scrollToLabel(e),this._items&&this._items.length){this._items.toArray()[e].focus();const i=this._tabListContainer.nativeElement;i.scrollLeft="ltr"==this._getLayoutDirection()?0:i.scrollWidth-i.offsetWidth}}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;const e=this.scrollDistance,i="ltr"===this._getLayoutDirection()?-e:e;this._tabList.nativeElement.style.transform=`translateX(${Math.round(i)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(e){this._scrollTo(e)}_scrollHeader(e){return this._scrollTo(this._scrollDistance+("before"==e?-1:1)*this._tabListContainer.nativeElement.offsetWidth/3)}_handlePaginatorClick(e){this._stopInterval(),this._scrollHeader(e)}_scrollToLabel(e){if(this.disablePagination)return;const i=this._items?this._items.toArray()[e]:null;if(!i)return;const o=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft:s,offsetWidth:a}=i.elementRef.nativeElement;let l,d;"ltr"==this._getLayoutDirection()?(l=s,d=l+a):(d=this._tabListInner.nativeElement.offsetWidth-s,l=d-a);const _=this.scrollDistance,E=this.scrollDistance+o;l<_?this.scrollDistance-=_-l:d>E&&(this.scrollDistance+=Math.min(d-E,l-_))}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{const e=this._tabListInner.nativeElement.scrollWidth>this._elementRef.nativeElement.offsetWidth;e||(this.scrollDistance=0),e!==this._showPaginationControls&&this._changeDetectorRef.markForCheck(),this._showPaginationControls=e}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=0==this.scrollDistance,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){return this._tabListInner.nativeElement.scrollWidth-this._tabListContainer.nativeElement.offsetWidth||0}_alignInkBarToSelectedTab(){const e=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,i=e?e.elementRef.nativeElement:null;i?this._inkBar.alignToElement(i):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(e,i){i&&null!=i.button&&0!==i.button||(this._stopInterval(),Sh(650,100).pipe(Hn(bt(this._stopScrolling,this._destroyed))).subscribe(()=>{const{maxScrollDistance:o,distance:s}=this._scrollHeader(e);(0===s||s>=o)&&this._stopInterval()}))}_scrollTo(e){if(this.disablePagination)return{maxScrollDistance:0,distance:0};const i=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(i,e)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:i,distance:this._scrollDistance}}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(kd),Y(Do,8),Y(ft),Y(ui),Y(Ri,8))},t.\u0275dir=Ke({type:t,inputs:{disablePagination:"disablePagination"}}),t})(),jte=(()=>{class t extends Vte{get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=_n(e)}constructor(e,i,o,s,a,l,d){super(e,i,o,s,a,l,d),this._disableRipple=!1}_itemSelected(e){e.preventDefault()}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(kd),Y(Do,8),Y(ft),Y(ui),Y(Ri,8))},t.\u0275dir=Ke({type:t,inputs:{disableRipple:"disableRipple"},features:[nt]}),t})(),zte=(()=>{class t extends jte{constructor(e,i,o,s,a,l,d){super(e,i,o,s,a,l,d)}ngAfterContentInit(){this._inkBar=new Pte(this._items),super.ngAfterContentInit()}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(kd),Y(Do,8),Y(ft),Y(ui),Y(Ri,8))},t.\u0275cmp=Ze({type:t,selectors:[["mat-tab-header"]],contentQueries:function(e,i,o){if(1&e&&or(o,yP,4),2&e){let s;rt(s=ot())&&(i._items=s)}},viewQuery:function(e,i){if(1&e&&(_t(fte,7),_t(pte,7),_t(mte,7),_t(gte,5),_t(_te,5)),2&e){let o;rt(o=ot())&&(i._tabListContainer=o.first),rt(o=ot())&&(i._tabList=o.first),rt(o=ot())&&(i._tabListInner=o.first),rt(o=ot())&&(i._nextPaginator=o.first),rt(o=ot())&&(i._previousPaginator=o.first)}},hostAttrs:[1,"mat-mdc-tab-header"],hostVars:4,hostBindings:function(e,i){2&e&&nn("mat-mdc-tab-header-pagination-controls-enabled",i._showPaginationControls)("mat-mdc-tab-header-rtl","rtl"==i._getLayoutDirection())},inputs:{selectedIndex:"selectedIndex"},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"},features:[nt],ngContentSelectors:gP,decls:13,vars:10,consts:[["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-before",3,"matRippleDisabled","disabled","click","mousedown","touchend"],["previousPaginator",""],[1,"mat-mdc-tab-header-pagination-chevron"],[1,"mat-mdc-tab-label-container",3,"keydown"],["tabListContainer",""],["role","tablist",1,"mat-mdc-tab-list",3,"cdkObserveContent"],["tabList",""],[1,"mat-mdc-tab-labels"],["tabListInner",""],["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-after",3,"matRippleDisabled","disabled","mousedown","click","touchend"],["nextPaginator",""]],template:function(e,i){1&e&&(Ir(),D(0,"button",0,1),ye("click",function(){return i._handlePaginatorClick("before")})("mousedown",function(s){return i._handlePaginatorPress("before",s)})("touchend",function(){return i._stopInterval()}),xe(2,"div",2),C(),D(3,"div",3,4),ye("keydown",function(s){return i._handleKeydown(s)}),D(5,"div",5,6),ye("cdkObserveContent",function(){return i._onContentChanges()}),D(7,"div",7,8),Sn(9),C()()(),D(10,"button",9,10),ye("mousedown",function(s){return i._handlePaginatorPress("after",s)})("click",function(){return i._handlePaginatorClick("after")})("touchend",function(){return i._stopInterval()}),xe(12,"div",2),C()),2&e&&(nn("mat-mdc-tab-header-pagination-disabled",i._disableScrollBefore),w("matRippleDisabled",i._disableScrollBefore||i.disableRipple)("disabled",i._disableScrollBefore||null),c(3),nn("_mat-animation-noopable","NoopAnimations"===i._animationMode),c(7),nn("mat-mdc-tab-header-pagination-disabled",i._disableScrollAfter),w("matRippleDisabled",i._disableScrollAfter||i.disableRipple)("disabled",i._disableScrollAfter||null))},dependencies:[Zl,dL],styles:[".mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0;--mdc-tab-indicator-active-indicator-height:2px;--mdc-tab-indicator-active-indicator-shape:0;--mdc-secondary-navigation-tab-container-height:48px}.mat-mdc-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:var(--mat-tab-header-pagination-icon-color)}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}._mat-animation-noopable span.mdc-tab-indicator__content,._mat-animation-noopable span.mdc-tab__text-label{transition:none}.mat-mdc-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-mdc-tab-labels{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:flex-end}.mat-mdc-tab::before{margin:5px}.cdk-high-contrast-active .mat-mdc-tab[aria-disabled=true]{color:GrayText}"],encapsulation:2}),t})();const xP=new Re("MAT_TABS_CONFIG");let Ute=0;const Wte=Fh(Rh(class{constructor(t){this._elementRef=t}}),"primary");let $te=(()=>{class t extends Wte{get dynamicHeight(){return this._dynamicHeight}set dynamicHeight(e){this._dynamicHeight=_n(e)}get selectedIndex(){return this._selectedIndex}set selectedIndex(e){this._indexToSelect=So(e,null)}get animationDuration(){return this._animationDuration}set animationDuration(e){this._animationDuration=/^\d+$/.test(e+"")?e+"ms":e}get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(e){this._contentTabIndex=So(e,null)}get disablePagination(){return this._disablePagination}set disablePagination(e){this._disablePagination=_n(e)}get preserveContent(){return this._preserveContent}set preserveContent(e){this._preserveContent=_n(e)}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){const i=this._elementRef.nativeElement.classList;i.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),e&&i.add("mat-tabs-with-background",`mat-background-${e}`),this._backgroundColor=e}constructor(e,i,o,s){super(e),this._changeDetectorRef=i,this._animationMode=s,this._tabs=new Al,this._indexToSelect=0,this._lastFocusedTabIndex=null,this._tabBodyWrapperHeight=0,this._tabsSubscription=T.EMPTY,this._tabLabelSubscription=T.EMPTY,this._dynamicHeight=!1,this._selectedIndex=null,this.headerPosition="above",this._disablePagination=!1,this._preserveContent=!1,this.selectedIndexChange=new ht,this.focusChange=new ht,this.animationDone=new ht,this.selectedTabChange=new ht(!0),this._groupId=Ute++,this.animationDuration=o&&o.animationDuration?o.animationDuration:"500ms",this.disablePagination=!(!o||null==o.disablePagination)&&o.disablePagination,this.dynamicHeight=!(!o||null==o.dynamicHeight)&&o.dynamicHeight,this.contentTabIndex=o?.contentTabIndex??null,this.preserveContent=!!o?.preserveContent}ngAfterContentChecked(){const e=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=e){const i=null==this._selectedIndex;if(!i){this.selectedTabChange.emit(this._createChangeEvent(e));const o=this._tabBodyWrapper.nativeElement;o.style.minHeight=o.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((o,s)=>o.isActive=s===e),i||(this.selectedIndexChange.emit(e),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((i,o)=>{i.position=o-e,null!=this._selectedIndex&&0==i.position&&!i.origin&&(i.origin=e-this._selectedIndex)}),this._selectedIndex!==e&&(this._selectedIndex=e,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{const e=this._clampTabIndex(this._indexToSelect);if(e===this._selectedIndex){const i=this._tabs.toArray();let o;for(let s=0;s{i[e].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(e))})}this._changeDetectorRef.markForCheck()})}_subscribeToAllTabChanges(){this._allTabs.changes.pipe(Go(this._allTabs)).subscribe(e=>{this._tabs.reset(e.filter(i=>i._closestTabGroup===this||!i._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(e){const i=this._tabHeader;i&&(i.focusIndex=e)}_focusChanged(e){this._lastFocusedTabIndex=e,this.focusChange.emit(this._createChangeEvent(e))}_createChangeEvent(e){const i=new qte;return i.index=e,this._tabs&&this._tabs.length&&(i.tab=this._tabs.toArray()[e]),i}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=bt(...this._tabs.map(e=>e._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(e){return Math.min(this._tabs.length-1,Math.max(e||0,0))}_getTabLabelId(e){return`mat-tab-label-${this._groupId}-${e}`}_getTabContentId(e){return`mat-tab-content-${this._groupId}-${e}`}_setTabBodyWrapperHeight(e){if(!this._dynamicHeight||!this._tabBodyWrapperHeight)return;const i=this._tabBodyWrapper.nativeElement;i.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(i.style.height=e+"px")}_removeTabBodyWrapperHeight(){const e=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=e.clientHeight,e.style.height="",this.animationDone.emit()}_handleClick(e,i,o){i.focusIndex=o,e.disabled||(this.selectedIndex=o)}_getTabIndex(e){return e===(this._lastFocusedTabIndex??this.selectedIndex)?0:-1}_tabFocusChanged(e,i){e&&"mouse"!==e&&"touch"!==e&&(this._tabHeader.focusIndex=i)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(xP,8),Y(Ri,8))},t.\u0275dir=Ke({type:t,inputs:{dynamicHeight:"dynamicHeight",selectedIndex:"selectedIndex",headerPosition:"headerPosition",animationDuration:"animationDuration",contentTabIndex:"contentTabIndex",disablePagination:"disablePagination",preserveContent:"preserveContent",backgroundColor:"backgroundColor"},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},features:[nt]}),t})(),Gte=(()=>{class t extends $te{get fitInkBarToContent(){return this._fitInkBarToContent}set fitInkBarToContent(e){this._fitInkBarToContent=_n(e),this._changeDetectorRef.markForCheck()}get stretchTabs(){return this._stretchTabs}set stretchTabs(e){this._stretchTabs=_n(e)}constructor(e,i,o,s){super(e,i,o,s),this._fitInkBarToContent=!1,this._stretchTabs=!0,this.fitInkBarToContent=!(!o||null==o.fitInkBarToContent)&&o.fitInkBarToContent,this.stretchTabs=!o||null==o.stretchTabs||o.stretchTabs}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(xP,8),Y(Ri,8))},t.\u0275cmp=Ze({type:t,selectors:[["mat-tab-group"]],contentQueries:function(e,i,o){if(1&e&&or(o,wP,5),2&e){let s;rt(s=ot())&&(i._allTabs=s)}},viewQuery:function(e,i){if(1&e&&(_t(bte,5),_t(vte,5)),2&e){let o;rt(o=ot())&&(i._tabBodyWrapper=o.first),rt(o=ot())&&(i._tabHeader=o.first)}},hostAttrs:["ngSkipHydration","true",1,"mat-mdc-tab-group"],hostVars:6,hostBindings:function(e,i){2&e&&nn("mat-mdc-tab-group-dynamic-height",i.dynamicHeight)("mat-mdc-tab-group-inverted-header","below"===i.headerPosition)("mat-mdc-tab-group-stretch-tabs",i.stretchTabs)},inputs:{color:"color",disableRipple:"disableRipple",fitInkBarToContent:"fitInkBarToContent",stretchTabs:["mat-stretch-tabs","stretchTabs"]},exportAs:["matTabGroup"],features:[un([{provide:MP,useExisting:t}]),nt],decls:6,vars:7,consts:[[3,"selectedIndex","disableRipple","disablePagination","indexFocused","selectFocusedIndex"],["tabHeader",""],["class","mdc-tab mat-mdc-tab mat-mdc-focus-indicator","role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",3,"id","mdc-tab--active","ngClass","disabled","fitInkBarToContent","click","cdkFocusChange",4,"ngFor","ngForOf"],[1,"mat-mdc-tab-body-wrapper"],["tabBodyWrapper",""],["role","tabpanel",3,"id","mat-mdc-tab-body-active","ngClass","content","position","origin","animationDuration","preserveContent","_onCentered","_onCentering",4,"ngFor","ngForOf"],["role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",1,"mdc-tab","mat-mdc-tab","mat-mdc-focus-indicator",3,"id","ngClass","disabled","fitInkBarToContent","click","cdkFocusChange"],["tabNode",""],[1,"mdc-tab__ripple"],["mat-ripple","",1,"mat-mdc-tab-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mdc-tab__content"],[1,"mdc-tab__text-label"],[3,"ngIf","ngIfElse"],["tabTextLabel",""],[3,"cdkPortalOutlet"],["role","tabpanel",3,"id","ngClass","content","position","origin","animationDuration","preserveContent","_onCentered","_onCentering"]],template:function(e,i){1&e&&(D(0,"mat-tab-header",0,1),ye("indexFocused",function(s){return i._focusChanged(s)})("selectFocusedIndex",function(s){return i.selectedIndex=s}),V(2,Cte,9,17,"div",2),C(),D(3,"div",3,4),V(5,xte,1,11,"mat-tab-body",5),C()),2&e&&(w("selectedIndex",i.selectedIndex||0)("disableRipple",i.disableRipple)("disablePagination",i.disablePagination),c(2),w("ngForOf",i._tabs),c(1),nn("_mat-animation-noopable","NoopAnimations"===i._animationMode),c(2),w("ngForOf",i._tabs))},dependencies:[Nn,gi,Ft,Ja,Zl,Yz,_P,yP,zte],styles:['.mdc-tab{min-width:90px;padding-right:24px;padding-left:24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1}.mdc-tab::-moz-focus-inner{padding:0;border:0}.mdc-tab[hidden]{display:none}.mdc-tab--min-width{flex:0 1 auto}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab__icon{transition:150ms color linear;z-index:2}.mdc-tab--stacked .mdc-tab__content{flex-direction:column;align-items:center;justify-content:center}.mdc-tab--stacked .mdc-tab__text-label{padding-top:6px;padding-bottom:4px}.mdc-tab--active .mdc-tab__text-label,.mdc-tab--active .mdc-tab__icon{transition-delay:100ms}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:8px;padding-right:0}[dir=rtl] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label,.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label[dir=rtl]{padding-left:0;padding-right:8px}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator .mdc-tab-indicator__content{transition:250ms transform cubic-bezier(0.4, 0, 0.2, 1)}.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition-delay:100ms}.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;font-family:var(--mat-tab-header-label-text-font);font-size:var(--mat-tab-header-label-text-size);letter-spacing:var(--mat-tab-header-label-text-letter-spacing);line-height:var(--mat-tab-header-label-text-line-height);font-weight:var(--mat-tab-header-label-text-weight)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-color:var(--mdc-tab-indicator-active-indicator-color)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-top-width:var(--mdc-tab-indicator-active-indicator-height)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-radius:var(--mdc-tab-indicator-active-indicator-shape)}.mat-mdc-tab:not(.mdc-tab--stacked){height:var(--mdc-secondary-navigation-tab-container-height)}.mat-mdc-tab:not(:disabled).mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):hover.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):focus.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):active.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:disabled.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):hover:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):focus:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):active:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:disabled:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab.mdc-tab{flex-grow:0}.mat-mdc-tab:hover .mdc-tab__text-label{color:var(--mat-tab-header-inactive-hover-label-text-color)}.mat-mdc-tab:focus .mdc-tab__text-label{color:var(--mat-tab-header-inactive-focus-label-text-color)}.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-header-active-label-text-color)}.mat-mdc-tab.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-header-active-ripple-color)}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-header-active-hover-label-text-color)}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-hover-indicator-color)}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:var(--mat-tab-header-active-focus-label-text-color)}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-focus-indicator-color)}.mat-mdc-tab.mat-mdc-tab-disabled{opacity:.4;pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__ripple::before,.mat-mdc-tab.mat-mdc-tab-disabled .mat-ripple-element{background-color:var(--mat-tab-header-disabled-ripple-color)}.mat-mdc-tab .mdc-tab__ripple::before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-header-inactive-label-text-color);display:inline-flex;align-items:center}.mat-mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mat-mdc-tab:hover .mdc-tab__ripple::before{opacity:.04}.mat-mdc-tab.cdk-program-focused .mdc-tab__ripple::before,.mat-mdc-tab.cdk-keyboard-focused .mdc-tab__ripple::before{opacity:.12}.mat-mdc-tab .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-group.mat-mdc-tab-group-stretch-tabs>.mat-mdc-tab-header .mat-mdc-tab{flex-grow:1}.mat-mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-tab-header-with-background-background-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-focus-indicator::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-focus-indicator::before{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mdc-tab__ripple::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header{flex-direction:column-reverse}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mat-mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important}'],encapsulation:2}),t})();class qte{}let Kte=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[ta,Wn,Dd,Yh,j0,X0,Wn]}),t})();const Zte=["button"],Xte=["settingsButton"],Jte=["firstInput"];function Qte(t,n){1&t&&(Ue(0),D(1,"span"),I(2),R(3,"translate"),C(),We()),2&t&&(c(2),se(H(3,1,"apps.vpn-socks-client-settings.remote-key-length-error")))}function ene(t,n){1&t&&(D(0,"span"),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"apps.vpn-socks-client-settings.remote-key-chars-error")))}const ac=function(t){return{"element-disabled":t}};function tne(t,n){if(1&t&&(D(0,"mat-form-field",3)(1,"div",4)(2,"label",5),I(3),R(4,"translate"),C(),xe(5,"input",20),C()()),2&t){const e=z();w("ngClass",He(4,ac,e.disableDismiss)),c(3),se(H(4,2,"apps.vpn-socks-client-settings.password"))}}function nne(t,n){1&t&&(D(0,"div",21)(1,"mat-icon",22),I(2,"warning"),C(),I(3),R(4,"translate"),C()),2&t&&(c(1),w("inline",!0),c(2),ce(" ",H(4,2,"apps.vpn-socks-client-settings.password-history-warning")," "))}function ine(t,n){1&t&&xe(0,"app-loading-indicator",23),2&t&&w("showWhite",!1)}function rne(t,n){1&t&&(D(0,"div",24)(1,"mat-icon",22),I(2,"error"),C(),I(3),R(4,"translate"),C()),2&t&&(c(1),w("inline",!0),c(2),ce(" ",H(4,2,"apps.vpn-socks-client-settings.no-elements")," "))}function one(t,n){1&t&&(D(0,"div",31),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"apps.vpn-socks-client-settings.no-filter")," "))}function sne(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e[1]))}}function ane(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e[2])}}function lne(t,n){if(1&t&&(D(0,"div",31)(1,"span"),I(2),R(3,"translate"),C(),V(4,sne,3,3,"ng-container",16),V(5,ane,2,1,"ng-container",16),C()),2&t){const e=n.$implicit;c(2),ce("",H(3,3,e[0])," "),c(2),w("ngIf",e[1]),c(1),w("ngIf",e[2])}}function cne(t,n){1&t&&(D(0,"div",24)(1,"mat-icon",22),I(2,"error"),C(),I(3),R(4,"translate"),C()),2&t&&(c(1),w("inline",!0),c(2),ce(" ",H(4,2,"apps.vpn-socks-client-settings.no-elements-for-filters")," "))}const kP=function(t){return{highlighted:t}};function dne(t,n){if(1&t&&(Ue(0),D(1,"span",3),I(2),C(),We()),2&t){const e=n.$implicit,i=n.index;c(1),w("ngClass",He(2,kP,i%2!=0)),c(1),se(e)}}function une(t,n){if(1&t&&(Ue(0),D(1,"div",38),xe(2,"div"),C(),We()),2&t){const e=z(2).$implicit;c(2),di("background-image: url('assets/img/flags/"+e.country.toLocaleLowerCase()+".png');")}}function hne(t,n){if(1&t&&(Ue(0),D(1,"span",3),I(2),C(),We()),2&t){const e=n.$implicit,i=n.index;c(1),w("ngClass",He(2,kP,i%2!=0)),c(1),se(e)}}function fne(t,n){if(1&t&&(D(0,"div",31)(1,"span"),I(2),R(3,"translate"),C(),D(4,"span"),I(5,"\xa0 "),V(6,une,3,2,"ng-container",16),V(7,hne,3,4,"ng-container",35),C()()),2&t){const e=z().$implicit,i=z(2);c(2),se(H(3,3,"apps.vpn-socks-client-settings.location")),c(4),w("ngIf",e.country),c(1),w("ngForOf",i.getHighlightedTextParts(e.location,i.currentFilters.location))}}function pne(t,n){if(1&t){const e=et();D(0,"div",32)(1,"button",33),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).saveChanges(s.pk,null,!1,s.location))}),D(2,"div",34)(3,"div",31)(4,"span"),I(5),R(6,"translate"),C(),D(7,"span"),I(8,"\xa0"),V(9,dne,3,4,"ng-container",35),C()(),V(10,fne,8,5,"div",28),C()(),D(11,"button",36),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).copyPk(s.pk))}),R(12,"translate"),D(13,"mat-icon",37),I(14,"filter_none"),C()()()}if(2&t){const e=n.$implicit,i=z(2);c(1),w("ngClass",He(10,ac,i.disableDismiss)),c(4),se(H(6,6,"apps.vpn-socks-client-settings.key")),c(4),w("ngForOf",i.getHighlightedTextParts(e.pk,i.currentFilters.key)),c(1),w("ngIf",e.location),c(1),w("matTooltip",H(12,8,"apps.vpn-socks-client-settings.copy-pk-info")),c(2),w("inline",!0)}}function mne(t,n){if(1&t){const e=et();Ue(0),D(1,"button",25),ye("click",function(){return Pe(e),Oe(z().changeFilters())}),D(2,"div",26)(3,"div",27)(4,"mat-icon",22),I(5,"filter_list"),C()(),D(6,"div"),V(7,one,3,3,"div",28),V(8,lne,6,5,"div",29),D(9,"div",30),I(10),R(11,"translate"),C()()()(),V(12,cne,5,4,"div",15),V(13,pne,15,12,"div",18),We()}if(2&t){const e=z();c(4),w("inline",!0),c(3),w("ngIf",0===e.currentFiltersTexts.length),c(1),w("ngForOf",e.currentFiltersTexts),c(2),se(H(11,6,"apps.vpn-socks-client-settings.click-to-change")),c(2),w("ngIf",0===e.filteredProxiesFromDiscovery.length),c(1),w("ngForOf",e.proxiesFromDiscoveryToShow)}}const gne=function(t,n){return{currentElementsRange:t,totalElements:n}};function _ne(t,n){if(1&t){const e=et();D(0,"div",39)(1,"span"),I(2),R(3,"translate"),C(),D(4,"button",40),ye("click",function(){return Pe(e),Oe(z().goToPreviousPage())}),D(5,"mat-icon"),I(6,"chevron_left"),C()(),D(7,"button",40),ye("click",function(){return Pe(e),Oe(z().goToNextPage())}),D(8,"mat-icon"),I(9,"chevron_right"),C()()()}if(2&t){const e=z();c(2),se(kt(3,1,"apps.vpn-socks-client-settings.pagination-info",mn(4,gne,e.currentRange,e.filteredProxiesFromDiscovery.length)))}}const bne=function(t){return{number:t}};function vne(t,n){if(1&t&&(D(0,"div")(1,"div",24)(2,"mat-icon",22),I(3,"error"),C(),I(4),R(5,"translate"),C()()),2&t){const e=z();c(2),w("inline",!0),c(2),ce(" ",kt(5,2,"apps.vpn-socks-client-settings.no-history",He(5,bne,e.maxHistoryElements))," ")}}function yne(t,n){1&t&&Jo(0)}function Mne(t,n){1&t&&Jo(0)}function wne(t,n){if(1&t&&(Ue(0),D(1,"span"),I(2),C(),We()),2&t){const e=z(2).$implicit;c(2),ce(" ",e.note,"")}}function Cne(t,n){1&t&&(Ue(0),D(1,"span"),I(2),R(3,"translate"),C(),We()),2&t&&(c(2),ce(" ",H(3,1,"apps.vpn-socks-client-settings.note-entered-manually"),""))}function xne(t,n){if(1&t&&(Ue(0),D(1,"span"),I(2),C(),We()),2&t){const e=z(4).$implicit;c(2),ce(" (",e.location,")")}}function kne(t,n){if(1&t&&(Ue(0),D(1,"span"),I(2),R(3,"translate"),C(),V(4,xne,3,1,"ng-container",16),We()),2&t){const e=z(3).$implicit;c(2),ce(" ",H(3,2,"apps.vpn-socks-client-settings.note-obtained"),""),c(2),w("ngIf",e.location)}}function Sne(t,n){if(1&t&&(Ue(0),V(1,Cne,4,3,"ng-container",16),V(2,kne,5,4,"ng-container",16),We()),2&t){const e=z(2).$implicit;c(1),w("ngIf",e.enteredManually),c(1),w("ngIf",!e.enteredManually)}}function Dne(t,n){if(1&t&&(D(0,"div",46)(1,"div",47)(2,"div",31)(3,"span"),I(4),R(5,"translate"),C(),D(6,"span"),I(7),C()(),D(8,"div",31)(9,"span"),I(10),R(11,"translate"),C(),V(12,wne,3,1,"ng-container",16),V(13,Sne,3,2,"ng-container",16),C()(),D(14,"div",48)(15,"div",49)(16,"mat-icon",22),I(17,"add"),C()()()()),2&t){const e=z().$implicit;c(4),se(H(5,6,"apps.vpn-socks-client-settings.key")),c(3),ce(" ",e.key,""),c(3),se(H(11,8,"apps.vpn-socks-client-settings.note")),c(2),w("ngIf",e.note),c(1),w("ngIf",!e.note),c(3),w("inline",!0)}}function Tne(t,n){if(1&t){const e=et();D(0,"div",32)(1,"button",41),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().useFromHistory(s))}),V(2,yne,1,0,"ng-container",42),C(),D(3,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().changeNote(s))}),R(4,"translate"),D(5,"mat-icon",37),I(6,"edit"),C()(),D(7,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().removeFromHistory(s.key))}),R(8,"translate"),D(9,"mat-icon",37),I(10,"close"),C()(),D(11,"button",44),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().openHistoryOptions(s))}),V(12,Mne,1,0,"ng-container",42),C(),V(13,Dne,18,10,"ng-template",null,45,Es),C()}if(2&t){const e=ci(14),i=z();c(1),w("ngClass",He(12,ac,i.disableDismiss)),c(1),w("ngTemplateOutlet",e),c(1),w("matTooltip",H(4,8,"apps.vpn-socks-client-settings.change-note")),c(2),w("inline",!0),c(2),w("matTooltip",H(8,10,"apps.vpn-socks-client-settings.remove-entry")),c(2),w("inline",!0),c(2),w("ngClass",He(14,ac,i.disableDismiss)),c(1),w("ngTemplateOutlet",e)}}function Lne(t,n){1&t&&(Ue(0),D(1,"span"),I(2),R(3,"translate"),C(),We()),2&t&&(c(2),se(H(3,1,"apps.vpn-socks-client-settings.dns-error")))}function Ene(t,n){1&t&&(D(0,"div",56)(1,"mat-icon",22),I(2,"warning"),C(),I(3),R(4,"translate"),C()),2&t&&(c(1),w("inline",!0),c(2),ce(" ",H(4,2,"apps.vpn-socks-client-settings.settings-changed-alert")," "))}function Ine(t,n){if(1&t){const e=et();D(0,"mat-tab",1),R(1,"translate"),D(2,"form",2)(3,"mat-form-field",3)(4,"div",4)(5,"label",5),I(6),R(7,"translate"),C(),xe(8,"input",50),C(),D(9,"mat-error"),V(10,Lne,4,3,"ng-container",16),C()(),D(11,"div",51)(12,"mat-checkbox",52),I(13),R(14,"translate"),D(15,"mat-icon",53),R(16,"translate"),I(17,"help"),C()()(),V(18,Ene,5,4,"div",54),D(19,"app-button",12,55),ye("action",function(){return Pe(e),Oe(z().saveSettings())}),I(21),R(22,"translate"),C()()()}if(2&t){const e=z();w("label",H(1,12,"apps.vpn-socks-client-settings.settings-tab")),c(2),w("formGroup",e.settingsForm),c(1),w("ngClass",He(22,ac,e.disableDismiss)),c(3),se(H(7,14,"apps.vpn-socks-client-settings.dns")),c(4),w("ngIf",!e.settingsForm.get("dns").valid),c(2),w("ngClass",He(24,ac,e.disableDismiss)),c(1),ce(" ",H(14,16,"apps.vpn-socks-client-settings.killswitch-check")," "),c(2),w("inline",!0)("matTooltip",H(16,18,"apps.vpn-socks-client-settings.killswitch-info")),c(3),w("ngIf",e.settingsChanged),c(1),w("disabled",!e.settingsForm.valid||!e.settingsChanged||e.working),c(2),ce(" ",H(22,20,"apps.vpn-socks-client-settings.save-settings")," ")}}let Pne=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.largeModalWidth,e.open(t,o)}constructor(e,i,o,s,a,l,d,_,E){this.data=e,this.dialogRef=i,this.appsService=o,this.formBuilder=s,this.snackbarService=a,this.dialog=l,this.proxyDiscoveryService=d,this.clipboardService=_,this.storageService=E,this.socksHistoryStorageKey="SkysocksClientHistory_",this.vpnHistoryStorageKey="VpnClientHistory_",this.maxHistoryElements=10,this.maxElementsPerPage=10,this.countriesFromDiscovery=new Set,this.loadingFromDiscovery=!0,this.numberOfPages=1,this.currentPage=1,this.currentRange="1 - 1",this.currentFilters=new mP,this.currentFiltersTexts=[],this.configuringVpn=!1,this.initialKillswitchSetting=!1,this.initialDnsSetting="",this.working=!1,-1!==e.name.toLocaleLowerCase().indexOf("vpn")&&(this.configuringVpn=!0)}ngOnInit(){this.migrateDataToHvStorage(),this.discoverySubscription=this.proxyDiscoveryService.getServices(!this.configuringVpn).subscribe(o=>{this.proxiesFromDiscovery=o,this.proxiesFromDiscovery.forEach(s=>{s.country&&this.countriesFromDiscovery.add(s.country.toUpperCase())}),this.filterProxies(),this.loadingFromDiscovery=!1});const e=this.storageService.getDataForHv(this.configuringVpn?this.vpnHistoryStorageKey:this.socksHistoryStorageKey);this.history=e?JSON.parse(e):[];let i="";if(this.data.args&&this.data.args.length>0)for(let o=0;othis.firstInput.nativeElement.focus())}ngOnDestroy(){this.discoverySubscription.unsubscribe(),this.operationSubscription&&this.operationSubscription.unsubscribe()}migrateDataToHvStorage(){const e=localStorage.getItem(this.socksHistoryStorageKey);e&&(this.storageService.setDataForHv(this.socksHistoryStorageKey,e),localStorage.removeItem(this.socksHistoryStorageKey));const i=localStorage.getItem(this.vpnHistoryStorageKey);i&&(this.storageService.setDataForHv(this.vpnHistoryStorageKey,i),localStorage.removeItem(this.vpnHistoryStorageKey))}get disableDismiss(){return this.button&&this.button.isLoading||this.settingsButton&&this.settingsButton.isLoading}validateIp(){if(this.settingsForm){const e=this.settingsForm.get("dns").value;return Jt.checkIfIpValidOrEmpty(e)?null:{invalid:!0}}return null}get settingsChanged(){return this.initialKillswitchSetting!==this.settingsForm.get("killswitch").value||this.initialDnsSetting!==this.settingsForm.get("dns").value}changeFilters(){const e=[];this.countriesFromDiscovery.forEach(o=>e.push(o)),ote.openDialog(this.dialog,{currentFilters:this.currentFilters,availableCountries:e}).afterClosed().subscribe(o=>{o&&(this.currentFilters=o,this.filterProxies())})}getHighlightedTextParts(e,i){if(!i)return[e];const o=e.toLowerCase(),s=i.toLowerCase();let a=!0,l=0;const d=[];for(;a;){const _=o.indexOf(s,l);-1===_?a=!1:(d.push(e.substring(l,_)),d.push(e.substring(_,_+i.length)),l=_+i.length)}return d.push(e.substring(l)),d}filterProxies(){this.filteredProxiesFromDiscovery=this.currentFilters.country||this.currentFilters.location||this.currentFilters.key?this.proxiesFromDiscovery.filter(e=>!(this.currentFilters.country&&(!e.country||!e.country.toUpperCase().includes(this.currentFilters.country.toUpperCase()))||this.currentFilters.location&&!e.location.toLowerCase().includes(this.currentFilters.location.toLowerCase())||this.currentFilters.key&&!e.address.toLowerCase().includes(this.currentFilters.key.toLowerCase()))):this.proxiesFromDiscovery,this.updateCurrentFilters(),this.updatePagination()}updateCurrentFilters(){if(this.currentFiltersTexts=[],this.currentFilters.country){const e=ma[this.currentFilters.country.toUpperCase()]?ma[this.currentFilters.country.toUpperCase()]:this.currentFilters.country.toUpperCase();this.currentFiltersTexts.push(["apps.vpn-socks-client-settings.filter-dialog.country","",e])}this.currentFilters.location&&this.currentFiltersTexts.push(["apps.vpn-socks-client-settings.filter-dialog.location","",this.currentFilters.location]),this.currentFilters.key&&this.currentFiltersTexts.push(["apps.vpn-socks-client-settings.filter-dialog.pub-key","",this.currentFilters.key])}updatePagination(){this.currentPage=1,this.numberOfPages=Math.ceil(this.filteredProxiesFromDiscovery.length/this.maxElementsPerPage),this.showCurrentPage()}goToNextPage(){this.currentPage>=this.numberOfPages||(this.currentPage+=1,this.showCurrentPage())}goToPreviousPage(){this.currentPage<=1||(this.currentPage-=1,this.showCurrentPage())}showCurrentPage(){this.proxiesFromDiscoveryToShow=this.filteredProxiesFromDiscovery.slice((this.currentPage-1)*this.maxElementsPerPage,this.currentPage*this.maxElementsPerPage),this.currentRange=(this.currentPage-1)*this.maxElementsPerPage+1+" - ",this.currentRange+=this.currentPage{1===o?this.useFromHistory(e):2===o?this.changeNote(e):3===o&&this.removeFromHistory(e.key)})}removeFromHistory(e){const o=Jt.createConfirmationDialog(this.dialog,"apps.vpn-socks-client-settings.remove-from-history-confirmation");o.componentInstance.operationAccepted.subscribe(()=>{this.history=this.history.filter(a=>a.key!==e);const s=JSON.stringify(this.history);this.storageService.setDataForHv(this.configuringVpn?this.vpnHistoryStorageKey:this.socksHistoryStorageKey,s),o.close()})}changeNote(e){Zee.openDialog(this.dialog,e.note).afterClosed().subscribe(i=>{if(i){i=i.substr(1,i.length-1),this.history.forEach(s=>{s.key===e.key&&(s.note=i)});const o=JSON.stringify(this.history);this.storageService.setDataForHv(this.configuringVpn?this.vpnHistoryStorageKey:this.socksHistoryStorageKey,o),i?this.snackbarService.showDone("apps.vpn-socks-client-settings.changes-made"):this.snackbarService.showWarning("apps.vpn-socks-client-settings.default-note-warning")}})}useFromHistory(e){e.hasPassword?ate.openDialog(this.dialog).afterClosed().subscribe(i=>{i&&(i=i.substr(1,i.length-1),this.saveChanges(e.key,i,e.enteredManually,e.location,e.note))}):this.saveChanges(e.key,null,e.enteredManually,e.location,e.note)}saveChanges(e=null,i=null,o=null,s=null,a=null){if(!this.form.valid&&!e||this.working)return;o=!e||o,i=e?i:this.form.get("password").value,e=e||this.form.get("pk").value;const d=Jt.createConfirmationDialog(this.dialog,"apps.vpn-socks-client-settings.change-key-confirmation");d.componentInstance.operationAccepted.subscribe(()=>{d.close(),this.continueSavingChanges(e,i,o,s,a)})}saveSettings(){if(this.working)return;const e={killswitch:this.settingsForm.get("killswitch").value,dns:this.settingsForm.get("dns").value};this.settingsButton.showLoading(!1),this.button.showLoading(!1),this.working=!0,this.operationSubscription=this.appsService.changeAppSettings(Ct.getCurrentNodeKey(),this.data.name,e).subscribe(()=>{this.initialKillswitchSetting=e.killswitch,this.initialDnsSetting=e.dns,this.snackbarService.showDone("apps.vpn-socks-client-settings.changes-made"),this.working=!1,this.settingsButton.reset(!1),this.button.reset(!1),Ct.refreshCurrentDisplayedData()},i=>{this.working=!1,this.settingsButton.showError(!1),this.button.reset(!1),i=en(i),this.snackbarService.showError(i)})}copyPk(e){this.clipboardService.copy(e)?this.snackbarService.showDone("apps.vpn-socks-client-settings.copied-pk-info"):this.snackbarService.showError("apps.vpn-socks-client-settings.copy-pk-error")}continueSavingChanges(e,i,o,s,a){if(this.working)return;this.button.showLoading(!1),this.settingsButton&&this.settingsButton.showLoading(!1),this.working=!0;const l={pk:e};this.configuringVpn&&(l.passcode=i||""),this.operationSubscription=this.appsService.changeAppSettings(Ct.getCurrentNodeKey(),this.data.name,l).subscribe(()=>this.onServerDataChangeSuccess(e,!!i,o,s,a),d=>this.onServerDataChangeError(d))}onServerDataChangeSuccess(e,i,o,s,a){this.history=this.history.filter(_=>_.key!==e);const l={key:e,enteredManually:o};if(i&&(l.hasPassword=i),s&&(l.location=s),a&&(l.note=a),this.history=[l].concat(this.history),this.history.length>this.maxHistoryElements){const _=this.history.length-this.maxHistoryElements;this.history.splice(this.history.length-_,_)}this.form.get("pk").setValue(e);const d=JSON.stringify(this.history);this.storageService.setDataForHv(this.configuringVpn?this.vpnHistoryStorageKey:this.socksHistoryStorageKey,d),Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("apps.vpn-socks-client-settings.changes-made"),this.working=!1,this.button.reset(!1),this.settingsButton&&this.settingsButton.reset(!1)}onServerDataChangeError(e){this.working=!1,this.button.showError(!1),this.settingsButton&&this.settingsButton.reset(!1),e=en(e),this.snackbarService.showError(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn),Y(ll),Y(xr),Y(Dn),Y(In),Y(lte),Y(ef),Y(Ji))},t.\u0275cmp=Ze({type:t,selectors:[["app-skysocks-client-settings"]],viewQuery:function(e,i){if(1&e&&(_t(Zte,5),_t(Xte,5),_t(Jte,5)),2&e){let o;rt(o=ot())&&(i.button=o.first),rt(o=ot())&&(i.settingsButton=o.first),rt(o=ot())&&(i.firstInput=o.first)}},decls:34,vars:36,consts:[[3,"headline","dialog","disableDismiss"],[3,"label"],[3,"formGroup"],[3,"ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["id","pk","formControlName","pk","maxlength","66","matInput",""],["firstInput",""],[4,"ngIf","ngIfElse"],["hexError",""],[3,"ngClass",4,"ngIf"],["class","password-history-warning",4,"ngIf"],["color","primary",1,"float-right",3,"disabled","action"],["button",""],["class","loading-indicator",3,"showWhite",4,"ngIf"],["class","info-text",4,"ngIf"],[4,"ngIf"],["class","paginator",4,"ngIf"],["class","d-flex",4,"ngFor","ngForOf"],[3,"label",4,"ngIf"],["id","password","type","password","formControlName","password","maxlength","100","matInput",""],[1,"password-history-warning"],[3,"inline"],[1,"loading-indicator",3,"showWhite"],[1,"info-text"],["mat-button","",1,"list-button","grey-button-background","w-100",3,"click"],[1,"filter-button-content"],[1,"icon-area"],["class","item",4,"ngIf"],["class","item",4,"ngFor","ngForOf"],[1,"blue-part"],[1,"item"],[1,"d-flex"],["mat-button","",1,"list-button","grey-button-background","w-100",3,"ngClass","click"],[1,"button-content"],[4,"ngFor","ngForOf"],["mat-button","",1,"list-button","grey-button-background",3,"matTooltip","click"],[1,"option-button-icon",3,"inline"],[1,"flag-container"],[1,"paginator"],["mat-icon-button","",1,"hard-grey-button-background",3,"click"],["mat-button","",1,"list-button","grey-button-background","w-100","d-none","d-md-inline",3,"ngClass","click"],[4,"ngTemplateOutlet"],["mat-button","",1,"list-button","grey-button-background","d-none","d-md-inline",3,"matTooltip","click"],["mat-button","",1,"list-button","grey-button-background","w-100","d-md-none",3,"ngClass","click"],["content",""],[1,"button-content","d-flex"],[1,"full-size-area"],[1,"options-container"],[1,"small-button","d-md-none"],["formControlName","dns","maxlength","15","matInput",""],[1,"main-theme","settings-option"],["color","primary","formControlName","killswitch",3,"ngClass"],[1,"help-icon",3,"inline","matTooltip"],["class","settings-changed-warning",4,"ngIf"],["settingsButton",""],[1,"settings-changed-warning"]],template:function(e,i){if(1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"mat-tab-group")(3,"mat-tab",1),R(4,"translate"),D(5,"form",2)(6,"mat-form-field",3)(7,"div",4)(8,"label",5),I(9),R(10,"translate"),C(),xe(11,"input",6,7),C(),D(13,"mat-error"),V(14,Qte,4,3,"ng-container",8),C(),V(15,ene,3,3,"ng-template",null,9,Es),C(),V(17,tne,6,6,"mat-form-field",10),V(18,nne,5,4,"div",11),D(19,"app-button",12,13),ye("action",function(){return i.saveChanges()}),I(21),R(22,"translate"),C()()(),D(23,"mat-tab",1),R(24,"translate"),V(25,ine,1,1,"app-loading-indicator",14),V(26,rne,5,4,"div",15),V(27,mne,14,8,"ng-container",16),V(28,_ne,10,7,"div",17),C(),D(29,"mat-tab",1),R(30,"translate"),V(31,vne,6,7,"div",16),V(32,Tne,15,16,"div",18),C(),V(33,Ine,23,26,"mat-tab",19),C()()),2&e){const o=ci(16);w("headline",H(1,22,"apps.vpn-socks-client-settings."+(i.configuringVpn?"vpn-title":"socks-title")))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(3),w("label",H(4,24,"apps.vpn-socks-client-settings.remote-visor-tab")),c(2),w("formGroup",i.form),c(1),w("ngClass",He(34,ac,i.disableDismiss)),c(3),se(H(10,26,"apps.vpn-socks-client-settings.public-key")),c(5),w("ngIf",!i.form.get("pk").hasError("pattern"))("ngIfElse",o),c(3),w("ngIf",i.configuringVpn),c(1),w("ngIf",i.form&&i.form.get("password").value),c(1),w("disabled",!i.form.valid||i.working),c(2),ce(" ",H(22,28,"apps.vpn-socks-client-settings.save")," "),c(2),w("label",H(24,30,"apps.vpn-socks-client-settings.discovery-tab")),c(2),w("ngIf",i.loadingFromDiscovery),c(1),w("ngIf",!i.loadingFromDiscovery&&0===i.proxiesFromDiscovery.length),c(1),w("ngIf",!i.loadingFromDiscovery&&i.proxiesFromDiscovery.length>0),c(1),w("ngIf",i.numberOfPages>1),c(1),w("label",H(30,32,"apps.vpn-socks-client-settings.history-tab")),c(2),w("ngIf",0===i.history.length),c(1),w("ngForOf",i.history),c(1),w("ngIf",i.configuringVpn)}},dependencies:[Nn,gi,Ft,hd,zi,Bi,Vi,ji,Cr,ii,Ei,ar,sl,kr,wP,Gte,Wr,el,Cn,vi,fa,Ui,ei,as,wt],styles:["mat-tab-header{border-bottom:solid 1px rgba(0,0,0,.12)}form[_ngcontent-%COMP%]{margin-top:15px}.info-text[_ngcontent-%COMP%]{margin-top:20px;margin-bottom:2px;text-align:center;color:#202226}.info-text[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:2px}.loading-indicator[_ngcontent-%COMP%]{height:100px}.password-history-warning[_ngcontent-%COMP%]{font-size:.7rem;opacity:.7;position:relative;top:-5px}.list-button[_ngcontent-%COMP%]{border-bottom:solid 1px rgba(0,0,0,.12);height:auto;justify-content:left}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%]{padding:15px 0;white-space:normal;line-height:1.3;color:#202226;text-align:left;display:flex;font-size:.8rem;word-break:break-word}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%] .icon-area[_ngcontent-%COMP%]{font-size:20px;margin-right:15px;color:#999;opacity:.4;align-self:center}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{margin:4px 0}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-of-type{color:#999}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%] .blue-part[_ngcontent-%COMP%]{color:#215f9e}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%]{text-align:left;padding:15px 0;white-space:normal}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .full-size-area[_ngcontent-%COMP%]{flex-grow:1}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{line-height:1.3;margin:4px 0;font-size:.8rem;color:#202226;word-break:break-all}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:first-of-type{color:#999}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .highlighted[_ngcontent-%COMP%]{background-color:#ff0}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .options-container[_ngcontent-%COMP%]{flex-shrink:0;margin-left:5px;text-align:right;line-height:1}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .options-container[_ngcontent-%COMP%] .small-button[_ngcontent-%COMP%]{width:24px;height:24px;line-height:14px;font-size:14px;margin-left:5px}.list-button[_ngcontent-%COMP%] .option-button-icon[_ngcontent-%COMP%]{font-size:14px;margin:0!important;overflow:visible!important}.paginator[_ngcontent-%COMP%]{float:right;margin-top:15px;display:flex;align-items:center}@media (max-width: 767px){.paginator[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{font-size:.7rem}}.paginator[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-left:5px;display:flex}.settings-option[_ngcontent-%COMP%]{margin-top:20px}.settings-option[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{margin-bottom:15px}.settings-changed-warning[_ngcontent-%COMP%]{font-size:.7rem;opacity:.7;position:relative}"]}),t})();const One=["button"],SP=function(t){return{"element-disabled":t}},DP=function(t){return{number:t}};function Ane(t,n){if(1&t){const e=et();Ue(0,7),D(1,"div",8)(2,"mat-form-field",9)(3,"div",10)(4,"label",11),I(5),R(6,"translate"),C(),xe(7,"input",12),C()(),D(8,"mat-form-field",9)(9,"div",10)(10,"label",13),I(11),R(12,"translate"),C(),xe(13,"input",14),C()(),D(14,"button",15),ye("click",function(){const s=Pe(e).index;return Oe(z().removeSetting(s))}),R(15,"translate"),D(16,"mat-icon",16),I(17,"close"),C()()(),We()}if(2&t){const e=n.index,i=z();c(1),w("formGroupName",e),c(1),w("ngClass",He(15,SP,i.disableDismiss)),c(3),se(kt(6,7,"apps.user-app-settings.name",He(17,DP,e+1))),c(3),w("ngClass",He(19,SP,i.disableDismiss)),c(3),se(kt(12,10,"apps.user-app-settings.value",He(21,DP,e+1))),c(3),w("matTooltip",H(15,13,"apps.user-app-settings.remove")),c(2),w("inline",!0)}}const Fne=function(t){return{name:t}};let Rne=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.mediumModalWidth,e.open(t,o)}constructor(e,i,o,s,a,l){this.data=e,this.appsService=i,this.formBuilder=o,this.dialogRef=s,this.snackbarService=a,this.dialog=l,this.appName="",this.appName=e.name}ngOnInit(){if(this.form=this.formBuilder.group({settings:this.formBuilder.array([])}),this.data.args&&this.data.args.length>0)for(let e=0;e{let a=s.get("name").value,l=s.get("value").value;a=a&&a.trim(),l=l&&l.trim(),a?(o[a]=l,i+=1):e=!0}),e||0===i){const a=Jt.createConfirmationDialog(this.dialog,"apps.user-app-settings."+(0===i?"empty-confirmation":"invalid-confirmation"));a.componentInstance.operationAccepted.subscribe(()=>{a.close(),this.continueSavingChanges(o)})}else this.continueSavingChanges(o)}continueSavingChanges(e){this.button.showLoading();const i={custom_setting:e};this.operationSubscription=this.appsService.changeAppSettings(Ct.getCurrentNodeKey(),this.data.name,i).subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)})}onSuccess(){Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("apps.user-app-settings.changes-made"),this.dialogRef.close()}onError(e){this.button.showError(),e=en(e),this.snackbarService.showError(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(ll),Y(xr),Y(Bn),Y(Dn),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-user-app-settings"]],viewQuery:function(e,i){if(1&e&&_t(One,5),2&e){let o;rt(o=ot())&&(i.button=o.first)}},decls:15,vars:20,consts:[[3,"headline","dialog","disableDismiss"],[1,"info-container"],[3,"formGroup"],["formArrayName","settings",4,"ngFor","ngForOf"],[1,"add-setting",3,"click"],["color","primary",1,"float-right",3,"disabled","action"],["button",""],["formArrayName","settings"],[1,"settings-row",3,"formGroupName"],[3,"ngClass"],[1,"field-container"],["for","name",1,"field-label"],["id","name","formControlName","name","matInput",""],["for","value",1,"field-label"],["id","value","formControlName","value","matInput",""],["mat-button","",1,"transparent-button",3,"matTooltip","click"],[3,"inline"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1),I(3),R(4,"translate"),C(),D(5,"form",2),V(6,Ane,18,23,"ng-container",3),C(),D(7,"div")(8,"a",4),ye("click",function(){return i.addSetting()}),I(9),R(10,"translate"),C()(),D(11,"app-button",5,6),ye("action",function(){return i.saveChanges()}),I(13),R(14,"translate"),C()()),2&e&&(w("headline",kt(1,9,"apps.user-app-settings.title",He(18,Fne,i.appName)))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(3),se(H(4,12,"apps.user-app-settings.info")),c(2),w("formGroup",i.form),c(1),w("ngForOf",i.settingsControls),c(3),ce("+ ",H(10,14,"apps.user-app-settings.add"),""),c(2),w("disabled",!i.form.valid),c(2),ce(" ",H(14,16,"apps.user-app-settings.save")," "))},dependencies:[Nn,gi,zi,Bi,Vi,ji,ii,Ei,Jh,Qh,ar,kr,Wr,Cn,vi,Ui,ei,wt],styles:[".info-container[_ngcontent-%COMP%]{margin-bottom:10px}.settings-row[_ngcontent-%COMP%]{display:flex}mat-form-field[_ngcontent-%COMP%]{flex-grow:1;margin-right:10px}button[_ngcontent-%COMP%]{flex-shrink:0;width:50px;padding:0!important;align-self:center;border-radius:10px}button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin:0!important}.add-setting[_ngcontent-%COMP%]{color:#215f9e!important;cursor:pointer}"]}),t})();function Nne(t,n){1&t&&(D(0,"span",14),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"apps.apps-list.title-official")))}function Yne(t,n){1&t&&(D(0,"span",14),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"apps.apps-list.title-user")))}function Hne(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.translatableValue))}}function Bne(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e.value)}}function Vne(t,n){if(1&t&&(D(0,"div",18)(1,"span"),I(2),R(3,"translate"),C(),V(4,Hne,3,3,"ng-container",19),V(5,Bne,2,1,"ng-container",19),C()),2&t){const e=n.$implicit;c(2),ce("",H(3,3,e.filterName),": "),c(2),w("ngIf",e.translatableValue),c(1),w("ngIf",e.value)}}function jne(t,n){if(1&t){const e=et();D(0,"div",15),ye("click",function(){return Pe(e),Oe(z().dataFilterer.removeFilters())}),V(1,Vne,6,5,"div",16),D(2,"div",17),I(3),R(4,"translate"),C()()}if(2&t){const e=z();c(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),c(2),se(H(4,2,"filters.press-to-remove"))}}function zne(t,n){if(1&t){const e=et();D(0,"mat-icon",20),ye("click",function(){return Pe(e),Oe(z().dataFilterer.changeFilters())}),R(1,"translate"),I(2,"filter_list"),C()}2&t&&w("inline",!0)("matTooltip",H(1,2,"filters.filter-action"))}function Une(t,n){1&t&&(D(0,"mat-icon",21),I(1,"more_horiz"),C()),2&t&&(z(),w("matMenuTriggerFor",ci(10)))}const TP=function(t,n){return["/nodes",t,"apps-list",n]};function Wne(t,n){if(1&t&&xe(0,"app-paginator",22),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",mn(4,TP,e.nodePK,e.showOfficialApps))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function $ne(t,n){if(1&t&&(D(0,"mat-icon",37),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Gne(t,n){if(1&t&&(D(0,"mat-icon",37),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function qne(t,n){if(1&t&&(D(0,"mat-icon",37),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Kne(t,n){if(1&t&&(D(0,"mat-icon",37),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Zne(t,n){if(1&t&&(xe(0,"i",46),R(1,"translate")),2&t){const e=z().$implicit,i=z(2);eo(i.getStateClass(e)),w("matTooltip",H(1,3,i.getStateTooltip(e)))}}const LP=function(t){return{error:t}};function Xne(t,n){if(1&t&&(D(0,"mat-icon",47),R(1,"translate"),I(2,"warning"),C()),2&t){const e=z().$implicit;w("inline",!0)("matTooltip",kt(1,2,"apps.status-failed-tooltip",He(5,LP,e.detailedStatus?e.detailedStatus:"")))}}function Jne(t,n){if(1&t&&(D(0,"a",48)(1,"button",49),R(2,"translate"),D(3,"mat-icon",37),I(4,"open_in_browser"),C()()()),2&t){const e=z().$implicit;w("href",z(2).getLink(e),Vo),c(1),w("matTooltip",H(2,3,"apps.open")),c(2),w("inline",!0)}}function Qne(t,n){if(1&t){const e=et();D(0,"button",43),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).config(o))}),R(1,"translate"),D(2,"mat-icon",37),I(3,"settings"),C()()}2&t&&(w("matTooltip",H(1,2,"apps.settings")),c(2),w("inline",!0))}function eie(t,n){if(1&t){const e=et();D(0,"tr")(1,"td",39)(2,"mat-checkbox",40),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(3,"td"),V(4,Zne,2,5,"i",41),V(5,Xne,3,7,"mat-icon",42),C(),D(6,"td"),I(7),C(),D(8,"td"),I(9),C(),D(10,"td")(11,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).changeAppAutostart(s))}),R(12,"translate"),D(13,"mat-icon",37),I(14),C()()(),D(15,"td",30),V(16,Jne,5,5,"a",44),V(17,Qne,4,4,"button",45),D(18,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).viewLogs(s))}),R(19,"translate"),D(20,"mat-icon",37),I(21,"list"),C()(),D(22,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).changeAppState(s))}),R(23,"translate"),D(24,"mat-icon",37),I(25),C()()()()}if(2&t){const e=n.$implicit,i=z(2);c(2),w("checked",i.selections.get(e.name)),c(2),w("ngIf",2!==e.status),c(1),w("ngIf",2===e.status),c(2),ce(" ",e.name," "),c(2),ce(" ",e.port," "),c(2),w("matTooltip",H(12,15,e.autostart?"apps.apps-list.disable-autostart":"apps.apps-list.enable-autostart")),c(2),w("inline",!0),c(1),se(e.autostart?"done":"close"),c(2),w("ngIf",i.getLink(e)),c(1),w("ngIf",!i.appsWithoutConfig.has(e.name)),c(1),w("matTooltip",H(19,17,"apps.view-logs")),c(2),w("inline",!0),c(2),w("matTooltip",H(23,19,"apps."+(0===e.status||2===e.status?"start-app":"stop-app"))),c(2),w("inline",!0),c(1),se(0===e.status||2===e.status?"play_arrow":"stop")}}function tie(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.label")))}function nie(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.inverted-order")))}function iie(t,n){if(1&t&&(D(0,"a",55),ye("click",function(i){return i.stopPropagation()}),D(1,"button",56),R(2,"translate"),D(3,"mat-icon"),I(4,"open_in_browser"),C()()()),2&t){const e=z().$implicit;w("href",z(2).getLink(e),Vo),c(1),w("matTooltip",H(2,2,"apps.open"))}}function rie(t,n){if(1&t){const e=et();D(0,"tr")(1,"td")(2,"div",34)(3,"div",50)(4,"mat-checkbox",40),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(5,"div",35)(6,"div",51)(7,"span",1),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",51)(12,"span",1),I(13),R(14,"translate"),C(),I(15),C(),D(16,"div",51)(17,"span",1),I(18),R(19,"translate"),C(),I(20,": "),D(21,"span"),I(22),R(23,"translate"),C()(),D(24,"div",51)(25,"span",1),I(26),R(27,"translate"),C(),I(28,": "),D(29,"span"),I(30),R(31,"translate"),C()()(),xe(32,"div",52),D(33,"div",36),V(34,iie,5,4,"a",53),D(35,"button",54),ye("click",function(o){const a=Pe(e).$implicit,l=z(2);return o.stopPropagation(),Oe(l.showOptionsDialog(a))}),R(36,"translate"),D(37,"mat-icon"),I(38),C()()()()()()}if(2&t){const e=n.$implicit,i=z(2);c(4),w("checked",i.selections.get(e.name)),c(4),se(H(9,16,"apps.apps-list.app-name")),c(2),ce(": ",e.name," "),c(3),se(H(14,18,"apps.apps-list.port")),c(2),ce(": ",e.port," "),c(3),se(H(19,20,"apps.apps-list.state")),c(3),eo(i.getSmallScreenStateClass(e)+" title"),c(1),ce(" ",kt(23,22,i.getSmallScreenStateTextVar(e),He(31,LP,e.detailedStatus?e.detailedStatus:""))," "),c(4),se(H(27,25,"apps.apps-list.auto-start")),c(3),eo((e.autostart?"green-clear-text":"red-clear-text")+" title"),c(1),ce(" ",H(31,27,e.autostart?"apps.apps-list.autostart-enabled":"apps.apps-list.autostart-disabled")," "),c(4),w("ngIf",i.getLink(e)),c(1),w("matTooltip",H(36,29,"common.options")),c(3),se("add")}}const oie=function(t,n){return["/nodes",t,"apps-list",n,"1"]};function sie(t,n){if(1&t&&xe(0,"app-view-all-link",57),2&t){const e=z(2);w("numberOfElements",e.filteredApps.length)("linkParts",mn(3,oie,e.nodePK,e.showOfficialApps))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const aie=function(t,n){return{"small-node-list-margins":t,"full-node-list-margins":n}},lie=function(t){return{"d-lg-none d-xl-table":t}},cie=function(t){return{"d-lg-table d-xl-none":t}};function die(t,n){if(1&t){const e=et();D(0,"div",23)(1,"div",24)(2,"table",25)(3,"tr"),xe(4,"th"),D(5,"th",26),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.stateSortData))}),R(6,"translate"),xe(7,"span",27),V(8,$ne,2,2,"mat-icon",28),C(),D(9,"th",29),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.nameSortData))}),I(10),R(11,"translate"),V(12,Gne,2,2,"mat-icon",28),C(),D(13,"th",29),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.portSortData))}),I(14),R(15,"translate"),V(16,qne,2,2,"mat-icon",28),C(),D(17,"th",29),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.autoStartSortData))}),I(18),R(19,"translate"),V(20,Kne,2,2,"mat-icon",28),C(),xe(21,"th",30),C(),V(22,eie,26,21,"tr",31),C(),D(23,"table",32)(24,"tr",33),ye("click",function(){return Pe(e),Oe(z().dataSorter.openSortingOrderModal())}),D(25,"td")(26,"div",34)(27,"div",35)(28,"div",1),I(29),R(30,"translate"),C(),D(31,"div"),I(32),R(33,"translate"),V(34,tie,3,3,"ng-container",19),V(35,nie,3,3,"ng-container",19),C()(),D(36,"div",36)(37,"mat-icon",37),I(38,"keyboard_arrow_down"),C()()()()(),V(39,rie,39,33,"tr",31),C(),V(40,sie,1,6,"app-view-all-link",38),C()()}if(2&t){const e=z();c(1),w("ngClass",mn(31,aie,e.showShortList_,!e.showShortList_)),c(1),w("ngClass",He(34,lie,e.showShortList_)),c(3),w("matTooltip",H(6,19,"apps.apps-list.state-tooltip")),c(3),w("ngIf",e.dataSorter.currentSortingColumn===e.stateSortData),c(2),ce(" ",H(11,21,"apps.apps-list.app-name")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.nameSortData),c(2),ce(" ",H(15,23,"apps.apps-list.port")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.portSortData),c(2),ce(" ",H(19,25,"apps.apps-list.auto-start")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.autoStartSortData),c(2),w("ngForOf",e.dataSource),c(1),w("ngClass",He(36,cie,e.showShortList_)),c(6),se(H(30,27,"tables.sorting-title")),c(3),ce("",H(33,29,e.dataSorter.currentSortingColumn.label)," "),c(2),w("ngIf",e.dataSorter.currentlySortingByLabel),c(1),w("ngIf",e.dataSorter.sortingInReverseOrder),c(2),w("inline",!0),c(2),w("ngForOf",e.dataSource),c(1),w("ngIf",e.showShortList_&&e.numberOfPages>1)}}function uie(t,n){1&t&&(D(0,"span",61),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"apps.apps-list.empty-official")))}function hie(t,n){1&t&&(D(0,"span",61),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"apps.apps-list.empty-user")))}function fie(t,n){1&t&&(D(0,"span",61),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"apps.apps-list.empty-with-filter")))}function pie(t,n){if(1&t&&(D(0,"div",23)(1,"div",58)(2,"mat-icon",59),I(3,"warning"),C(),V(4,uie,3,3,"span",60),V(5,hie,3,3,"span",60),V(6,fie,3,3,"span",60),C()()),2&t){const e=z();c(2),w("inline",!0),c(2),w("ngIf",0===e.allAppsForType.length&&e.showOfficialApps),c(1),w("ngIf",0===e.allAppsForType.length&&!e.showOfficialApps),c(1),w("ngIf",0!==e.allAppsForType.length)}}function mie(t,n){if(1&t&&xe(0,"app-paginator",22),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",mn(4,TP,e.nodePK,e.showOfficialApps))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const gie=function(t){return{"paginator-icons-fixer":t}};let EP=(()=>{class t{set showShortList(e){this.showShortList_=e,this.dataSorter&&this.dataSorter.setData(this.filteredApps)}set apps(e){this.allApps=e||[],this.allApps&&(this.allAppsForType=[],this.allApps.forEach(i=>{(this.showOfficialApps&&this.officialAppsList.has(i.name)||!this.showOfficialApps&&!this.officialAppsList.has(i.name))&&this.allAppsForType.push(i)}),this.dataFilterer&&this.dataFilterer.setData(this.allAppsForType))}constructor(e,i,o,s,a,l,d){this.appsService=e,this.dialog=i,this.route=o,this.router=s,this.snackbarService=a,this.translateService=l,this.storageService=d,this.listIdForOfficialApps="op",this.listIdForUserApps="up",this.officialAppsList=new Set(["skychat","skysocks","skysocks-client","vpn-client","vpn-server"]),this.showOfficialApps=!0,this.stateSortData=new Vn(["status"],"apps.apps-list.state",Zt.NumberReversed),this.nameSortData=new Vn(["name"],"apps.apps-list.app-name",Zt.Text),this.portSortData=new Vn(["port"],"apps.apps-list.port",Zt.Number),this.autoStartSortData=new Vn(["autostart"],"apps.apps-list.auto-start",Zt.Boolean),this.selections=new Map,this.appsWithoutConfig=new Set(["skychat"]),this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"apps.apps-list.filter-dialog.state",keyNameInElementsArray:"status",type:$n.Select,printableLabelsForValues:[{value:"",label:"apps.apps-list.filter-dialog.state-options.any"},{value:"1",label:"apps.apps-list.filter-dialog.state-options.running"},{value:"0",label:"apps.apps-list.filter-dialog.state-options.stopped"}]},{filterName:"apps.apps-list.filter-dialog.name",keyNameInElementsArray:"name",type:$n.TextInput,maxlength:50},{filterName:"apps.apps-list.filter-dialog.port",keyNameInElementsArray:"port",type:$n.TextInput,maxlength:8},{filterName:"apps.apps-list.filter-dialog.autostart",keyNameInElementsArray:"autostart",type:$n.Select,printableLabelsForValues:[{value:"",label:"apps.apps-list.filter-dialog.autostart-options.any"},{value:"true",label:"apps.apps-list.filter-dialog.autostart-options.enabled"},{value:"false",label:"apps.apps-list.filter-dialog.autostart-options.disabled"}]}],this.refreshAgain=!1,this.operationSubscriptionsGroup=[],this.navigationsSubscription=this.route.paramMap.subscribe(_=>{if(_.has("showOfficialApps")&&(this.showOfficialApps=_.get("showOfficialApps").toUpperCase()==="true".toUpperCase()),_.has("page")){let E=Number.parseInt(_.get("page"),10);(isNaN(E)||E<1)&&(E=1),this.currentPageInUrl=E,this.recalculateElementsToShow()}})}ngOnInit(){const e=this.showOfficialApps?this.listIdForOfficialApps:this.listIdForUserApps;this.dataSorter=new Rd(this.dialog,this.translateService,this.storageService,[this.stateSortData,this.nameSortData,this.portSortData,this.autoStartSortData],1,e),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataSorter&&this.dataSorter.setData(this.filteredApps),this.dataFilterer=new Nd(this.dialog,this.route,this.router,this.filterProperties,e),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(o=>{this.filteredApps=o,this.dataSorter.setData(this.filteredApps)}),this.allAppsForType&&this.dataFilterer.setData(this.allAppsForType)}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.operationSubscriptionsGroup.forEach(e=>e.unsubscribe()),this.dataSortedSubscription.unsubscribe(),this.dataFiltererSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFilterer.dispose()}getLink(e){if("skychat"===e.name.toLocaleLowerCase()&&this.nodeIp&&0!==e.status&&2!==e.status){let i="8001";if(e.args)for(let o=0;o{i&&(e=!0)}),e}changeAllSelections(e){this.selections.forEach((i,o)=>{this.selections.set(o,e)})}changeStateOfSelected(e){const i=[];if(this.selections.forEach((o,s)=>{o&&(e&&(0===this.appsMap.get(s).status||2===this.appsMap.get(s).status)||!e&&0!==this.appsMap.get(s).status&&2!==this.appsMap.get(s).status)&&i.push(s)}),e)this.changeAppsValRecursively(i,!1,e);else{const o=Jt.createConfirmationDialog(this.dialog,"apps.stop-selected-confirmation");o.componentInstance.operationAccepted.subscribe(()=>{o.componentInstance.showProcessing(),this.changeAppsValRecursively(i,!1,e,o)})}}changeAutostartOfSelected(e){const i=[];this.selections.forEach((s,a)=>{s&&(e&&!this.appsMap.get(a).autostart||!e&&this.appsMap.get(a).autostart)&&i.push(a)});const o=Jt.createConfirmationDialog(this.dialog,e?"apps.enable-autostart-selected-confirmation":"apps.disable-autostart-selected-confirmation");o.componentInstance.operationAccepted.subscribe(()=>{o.componentInstance.showProcessing(),this.changeAppsValRecursively(i,!0,e,o)})}showOptionsDialog(e){const i=[{icon:"list",label:"apps.view-logs"},{icon:0===e.status||2===e.status?"play_arrow":"stop",label:"apps."+(0===e.status||2===e.status?"start-app":"stop-app")},{icon:e.autostart?"close":"done",label:e.autostart?"apps.apps-list.disable-autostart":"apps.apps-list.enable-autostart"}];this.appsWithoutConfig.has(e.name)||i.push({icon:"settings",label:"apps.settings"}),qr.openDialog(this.dialog,i,"common.options").afterClosed().subscribe(o=>{1===o?this.viewLogs(e):2===o?this.changeAppState(e):3===o?this.changeAppAutostart(e):4===o&&this.config(e)})}changeAppState(e){if(0===e.status||2===e.status)this.changeSingleAppVal(this.startChangingAppState(e.name,!0));else{const i=Jt.createConfirmationDialog(this.dialog,"apps.stop-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.showProcessing(),this.changeSingleAppVal(this.startChangingAppState(e.name,!1),i)})}}changeAppAutostart(e){const i=Jt.createConfirmationDialog(this.dialog,e.autostart?"apps.disable-autostart-confirmation":"apps.enable-autostart-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.showProcessing(),this.changeSingleAppVal(this.startChangingAppAutostart(e.name,!e.autostart),i)})}changeSingleAppVal(e,i=null){this.operationSubscriptionsGroup.push(e.subscribe(()=>{i&&i.close(),setTimeout(()=>{this.refreshAgain=!0,Ct.refreshCurrentDisplayedData()},50),this.snackbarService.showDone("apps.operation-completed")},o=>{o=en(o),setTimeout(()=>{this.refreshAgain=!0,Ct.refreshCurrentDisplayedData()},50),i?i.componentInstance.showDone("confirmation.error-header-text",o.translatableErrorMsg):this.snackbarService.showError(o)}))}viewLogs(e){0!==e.status&&2!==e.status?zee.openDialog(this.dialog,e):this.snackbarService.showError("apps.apps-list.unavailable-logs-error")}config(e){"skysocks"===e.name||"vpn-server"===e.name?qee.openDialog(this.dialog,e):"skysocks-client"===e.name||"vpn-client"===e.name?Pne.openDialog(this.dialog,e):"skychat"===e.name?this.snackbarService.showError("apps.error"):Rne.openDialog(this.dialog,e)}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredApps){const e=this.showShortList_?Vt.maxShortListElements:Vt.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredApps.length/e),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const i=e*(this.currentPage-1);this.appsToShow=this.filteredApps.slice(i,i+e),this.appsMap=new Map,this.appsToShow.forEach(a=>{this.appsMap.set(a.name,a),this.selections.has(a.name)||this.selections.set(a.name,!1)});const s=[];this.selections.forEach((a,l)=>{this.appsMap.has(l)||s.push(l)}),s.forEach(a=>{this.selections.delete(a)})}else this.appsToShow=null,this.selections=new Map;this.dataSource=this.appsToShow,this.refreshAgain&&(this.refreshAgain=!1,setTimeout(()=>Ct.refreshCurrentDisplayedData(),2e3))}startChangingAppState(e,i){return this.appsService.changeAppState(Ct.getCurrentNodeKey(),e,i).pipe(ke(o=>(null!=o.status&&this.dataSource.forEach(s=>{s.name===e&&(s.status=o.status,s.detailedStatus=o.detailed_status)}),o)))}startChangingAppAutostart(e,i){return this.appsService.changeAppAutostart(Ct.getCurrentNodeKey(),e,i)}changeAppsValRecursively(e,i,o,s=null){if(!e||0===e.length)return setTimeout(()=>Ct.refreshCurrentDisplayedData(),50),this.snackbarService.showWarning("apps.operation-unnecessary"),void(s&&s.close());let a;a=i?this.startChangingAppAutostart(e[e.length-1],o):this.startChangingAppState(e[e.length-1],o),this.operationSubscriptionsGroup.push(a.subscribe(()=>{e.pop(),0===e.length?(s&&s.close(),setTimeout(()=>{this.refreshAgain=!0,Ct.refreshCurrentDisplayedData()},50),this.snackbarService.showDone("apps.operation-completed")):this.changeAppsValRecursively(e,i,o,s)},l=>{l=en(l),setTimeout(()=>{this.refreshAgain=!0,Ct.refreshCurrentDisplayedData()},50),s?s.componentInstance.showDone("confirmation.error-header-text",l.translatableErrorMsg):this.snackbarService.showError(l)}))}}return t.\u0275fac=function(e){return new(e||t)(Y(ll),Y(In),Y(Mr),Y(hn),Y(Dn),Y(To),Y(Ji))},t.\u0275cmp=Ze({type:t,selectors:[["app-node-app-list"]],inputs:{nodePK:"nodePK",nodeIp:"nodeIp",showOfficialApps:"showOfficialApps",showShortList:"showShortList",apps:"apps"},decls:33,vars:35,consts:[[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","uppercase",4,"ngIf"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],["class","small-icon",3,"inline","matTooltip","click",4,"ngIf"],[3,"matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"uppercase"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","matTooltip","click"],[3,"matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow",3,"ngClass"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table",3,"ngClass"],[1,"sortable-column",3,"matTooltip","click"],[1,"dot-outline-white"],[3,"inline",4,"ngIf"],[1,"sortable-column",3,"click"],[1,"actions"],[4,"ngFor","ngForOf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none",3,"ngClass"],[1,"selectable",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],[3,"inline"],[3,"numberOfElements","linkParts","queryParams",4,"ngIf"],[1,"selection-col"],[3,"checked","change"],[3,"class","matTooltip",4,"ngIf"],["class","red-text",3,"inline","matTooltip",4,"ngIf"],["mat-button","",1,"big-action-button","transparent-button",3,"matTooltip","click"],["target","_blank","rel","noreferrer nofollow noopener","class","skychat-link",3,"href",4,"ngIf"],["mat-button","","class","big-action-button transparent-button",3,"matTooltip","click",4,"ngIf"],[3,"matTooltip"],[1,"red-text",3,"inline","matTooltip"],["target","_blank","rel","noreferrer nofollow noopener",1,"skychat-link",3,"href"],["mat-button","",1,"big-action-button","transparent-button",3,"matTooltip"],[1,"check-part"],[1,"list-row"],[1,"margin-part"],["target","_blank","rel","noreferrer nofollow noopener","class","skychat-link",3,"href","click",4,"ngIf"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],["target","_blank","rel","noreferrer nofollow noopener",1,"skychat-link",3,"href","click"],["mat-icon-button","",1,"transparent-button",3,"matTooltip"],[3,"numberOfElements","linkParts","queryParams"],[1,"box-internal-container"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1),V(2,Nne,3,3,"span",2),V(3,Yne,3,3,"span",2),V(4,jne,5,4,"div",3),C(),D(5,"div",4)(6,"div",5),V(7,zne,3,4,"mat-icon",6),V(8,Une,2,1,"mat-icon",7),D(9,"mat-menu",8,9)(11,"div",10),ye("click",function(){return i.changeAllSelections(!0)}),I(12),R(13,"translate"),C(),D(14,"div",10),ye("click",function(){return i.changeAllSelections(!1)}),I(15),R(16,"translate"),C(),D(17,"div",11),ye("click",function(){return i.changeStateOfSelected(!0)}),I(18),R(19,"translate"),C(),D(20,"div",11),ye("click",function(){return i.changeStateOfSelected(!1)}),I(21),R(22,"translate"),C(),D(23,"div",11),ye("click",function(){return i.changeAutostartOfSelected(!0)}),I(24),R(25,"translate"),C(),D(26,"div",11),ye("click",function(){return i.changeAutostartOfSelected(!1)}),I(27),R(28,"translate"),C()()(),V(29,Wne,1,7,"app-paginator",12),C()(),V(30,die,41,38,"div",13),V(31,pie,7,4,"div",13),V(32,mie,1,7,"app-paginator",12)),2&e&&(w("ngClass",He(33,gie,!i.showShortList_&&i.numberOfPages>1&&i.dataSource)),c(2),w("ngIf",i.showShortList_&&i.showOfficialApps),c(1),w("ngIf",i.showShortList_&&!i.showOfficialApps),c(1),w("ngIf",i.dataFilterer.currentFiltersTexts&&i.dataFilterer.currentFiltersTexts.length>0),c(3),w("ngIf",i.allAppsForType&&i.allAppsForType.length>0),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("overlapTrigger",!1),c(3),ce(" ",H(13,21,"selection.select-all")," "),c(3),ce(" ",H(16,23,"selection.unselect-all")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(19,25,"selection.start-all")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(22,27,"selection.stop-all")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(25,29,"selection.enable-autostart-all")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(28,31,"selection.disable-autostart-all")," "),c(2),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("ngIf",!i.dataSource||0===i.dataSource.length),c(1),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource))},dependencies:[Nn,gi,Ft,Wr,el,Cn,vi,Yd,pa,Hd,fa,Og,Bd,wt],styles:[".actions[_ngcontent-%COMP%]{text-align:right;width:150px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}.skychat-link[_ngcontent-%COMP%]{color:#f8f9f9;text-decoration:none}.skychat-link[_ngcontent-%COMP%] .big-action-button[_ngcontent-%COMP%]{margin-right:5px}"]}),t})(),_ie=(()=>{class t extends er{ngOnInit(){return this.dataSubscription=Ct.currentNode.subscribe(e=>{this.nodePK=e.localPk,this.apps=e.apps,this.nodeIp=e.ip}),super.ngOnInit()}ngOnDestroy(){this.dataSubscription.unsubscribe()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["app-apps"]],features:[nt],decls:2,vars:10,consts:[[3,"showOfficialApps","apps","showShortList","nodePK","nodeIp"]],template:function(e,i){1&e&&xe(0,"app-node-app-list",0)(1,"app-node-app-list",0),2&e&&(w("showOfficialApps",!0)("apps",i.apps)("showShortList",!0)("nodePK",i.nodePK)("nodeIp",i.nodeIp),c(1),w("showOfficialApps",!1)("apps",i.apps)("showShortList",!0)("nodePK",i.nodePK)("nodeIp",i.nodeIp))},dependencies:[EP]}),t})();function bie(t,n){1&t&&xe(0,"app-transport-list",1),2&t&&w("node",z().node)("showShortList",!1)}let vie=(()=>{class t extends er{ngOnInit(){return this.dataSubscription=Ct.currentNode.subscribe(e=>this.node=e),super.ngOnInit()}ngOnDestroy(){this.dataSubscription.unsubscribe()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["app-all-transports"]],features:[nt],decls:1,vars:1,consts:[[3,"node","showShortList",4,"ngIf"],[3,"node","showShortList"]],template:function(e,i){1&e&&V(0,bie,1,2,"app-transport-list",0),2&e&&w("ngIf",i.node)},dependencies:[Ft,hP]}),t})();function yie(t,n){if(1&t&&xe(0,"app-route-list",1),2&t){const e=z();w("routes",e.routes)("showShortList",!1)("nodePK",e.nodePK)}}let Mie=(()=>{class t extends er{ngOnInit(){return this.dataSubscription=Ct.currentNode.subscribe(e=>{this.nodePK=e.localPk,this.routes=e.routes}),super.ngOnInit()}ngOnDestroy(){this.dataSubscription.unsubscribe()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["app-all-routes"]],features:[nt],decls:1,vars:1,consts:[[3,"routes","showShortList","nodePK",4,"ngIf"],[3,"routes","showShortList","nodePK"]],template:function(e,i){1&e&&V(0,yie,1,3,"app-route-list",0),2&e&&w("ngIf",i.routes)},dependencies:[Ft,pP]}),t})();function wie(t,n){if(1&t&&xe(0,"app-node-app-list",1),2&t){const e=z();w("apps",e.apps)("showShortList",!1)("nodePK",e.nodePK)}}let Cie=(()=>{class t extends er{ngOnInit(){return this.dataSubscription=Ct.currentNode.subscribe(e=>{this.nodePK=e.localPk,this.apps=e.apps}),super.ngOnInit()}ngOnDestroy(){this.dataSubscription.unsubscribe()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["app-all-apps"]],features:[nt],decls:1,vars:1,consts:[[3,"apps","showShortList","nodePK",4,"ngIf"],[3,"apps","showShortList","nodePK"]],template:function(e,i){1&e&&V(0,wie,1,3,"app-node-app-list",0),2&e&&w("ngIf",i.apps)},dependencies:[Ft,EP]}),t})();const xie=["button"],kie=["firstInput"],Sie=function(t){return{"element-disabled":t}};let IP=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o,s,a){this.dialogRef=e,this.data=i,this.formBuilder=o,this.snackbarService=s,this.routeService=a}ngOnInit(){this.form=this.formBuilder.group({min:[this.data.minHops,Gt.compose([Gt.required,Gt.maxLength(3),Gt.pattern("^[0-9]+$")])]}),setTimeout(()=>this.firstInput.nativeElement.focus())}ngOnDestroy(){this.operationSubscription&&this.operationSubscription.unsubscribe()}get disableDismiss(){return!!this.button&&this.button.isLoading}save(){!this.form.valid||this.operationSubscription||(this.button.showLoading(),this.operationSubscription=this.routeService.setMinHops(this.data.nodePk,Number.parseInt(this.form.get("min").value,10)).subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)}))}onSuccess(e){this.dialogRef.close(!0),this.snackbarService.showDone("router-config.done")}onError(e){this.button.showError(),this.operationSubscription=null,e=en(e),this.snackbarService.showError(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(xr),Y(Dn),Y(fP))},t.\u0275cmp=Ze({type:t,selectors:[["app-router-config"]],viewQuery:function(e,i){if(1&e&&(_t(xie,5),_t(kie,5)),2&e){let o;rt(o=ot())&&(i.button=o.first),rt(o=ot())&&(i.firstInput=o.first)}},decls:21,vars:22,consts:[[3,"headline","dialog","disableDismiss"],[1,"info-container"],[3,"formGroup","ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","min","maxlength","3","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"disabled","action"],["button",""]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1),I(3),R(4,"translate"),C(),D(5,"form",2)(6,"mat-form-field")(7,"div",3)(8,"label",4),I(9),R(10,"translate"),C(),xe(11,"input",5,6),C(),D(13,"mat-error")(14,"span"),I(15),R(16,"translate"),C()()()(),D(17,"app-button",7,8),ye("action",function(){return i.save()}),I(19),R(20,"translate"),C()()),2&e&&(w("headline",H(1,10,"router-config.title"))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(3),se(H(4,12,"router-config.info")),c(2),w("formGroup",i.form)("ngClass",He(20,Sie,i.disableDismiss)),c(4),se(H(10,14,"router-config.min-hops")),c(6),se(H(16,16,"router-config.min-hops-error")),c(2),w("disabled",!i.form.valid),c(2),ce(" ",H(20,18,"router-config.save-config-button")," "))},dependencies:[Nn,zi,Bi,Vi,ji,Cr,ii,Ei,ar,sl,kr,Ui,ei,wt],styles:[".info-container[_ngcontent-%COMP%]{margin-bottom:10px}"]}),t})();const Die=["button"],Tie=["firstInput"],Lie=function(t){return{"element-disabled":t}};let Eie=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o,s,a,l){this.dialogRef=e,this.data=i,this.formBuilder=o,this.snackbarService=s,this.nodeService=a,this.dialog=l}ngOnInit(){this.form=this.formBuilder.group({address:[this.data.currentAddress,Gt.compose([Gt.minLength(20),Gt.maxLength(40)])]}),setTimeout(()=>this.firstInput.nativeElement.focus())}ngOnDestroy(){this.operationSubscription&&this.operationSubscription.unsubscribe()}get disableDismiss(){return!!this.button&&this.button.isLoading}startSaving(){if(this.form.valid&&!this.operationSubscription)if(this.form.get("address").value)this.finishSaving();else{const i=Jt.createConfirmationDialog(this.dialog,"rewards-address-config.empty-warning");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.closeModal(),this.finishSaving()})}}finishSaving(){this.button.showLoading();const e=this.form.get("address").value;let i=this.nodeService.setRewardsAddress(this.data.nodePk,e);e||(i=this.nodeService.deleteRewardsAddress(this.data.nodePk)),this.operationSubscription=i.subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)})}onSuccess(e){this.dialogRef.close(!0),this.snackbarService.showDone("rewards-address-config.done")}onError(e){this.button.showError(),this.operationSubscription=null,e=en(e),this.snackbarService.showError(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(xr),Y(Dn),Y(ua),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-rewards-address-config"]],viewQuery:function(e,i){if(1&e&&(_t(Die,5),_t(Tie,5)),2&e){let o;rt(o=ot())&&(i.button=o.first),rt(o=ot())&&(i.firstInput=o.first)}},decls:25,vars:25,consts:[[3,"headline","dialog","disableDismiss"],[1,"info-container"],["href","https://github.com/skycoin/skywire/blob/master/mainnet_rules.md","target","_blank","rel","noreferrer nofollow noopener"],[3,"formGroup","ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","address","maxlength","40","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"disabled","action"],["button",""]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1)(3,"span"),I(4),R(5,"translate"),C(),D(6,"a",2),I(7),R(8,"translate"),C()(),D(9,"form",3)(10,"mat-form-field")(11,"div",4)(12,"label",5),I(13),R(14,"translate"),C(),xe(15,"input",6,7),C(),D(17,"mat-error")(18,"span"),I(19),R(20,"translate"),C()()()(),D(21,"app-button",8,9),ye("action",function(){return i.startSaving()}),I(23),R(24,"translate"),C()()),2&e&&(w("headline",H(1,11,"rewards-address-config.title"))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(4),ce("",H(5,13,"rewards-address-config.info")," "),c(3),ce(" ",H(8,15,"rewards-address-config.more-info-link")," "),c(2),w("formGroup",i.form)("ngClass",He(23,Lie,i.disableDismiss)),c(4),se(H(14,17,"rewards-address-config.address")),c(6),se(H(20,19,"rewards-address-config.address-error")),c(2),w("disabled",!i.form.valid),c(2),ce(" ",H(24,21,"rewards-address-config.save-config-button")," "))},dependencies:[Nn,zi,Bi,Vi,ji,Cr,ii,Ei,ar,sl,kr,Ui,ei,wt],styles:[".info-container[_ngcontent-%COMP%]{margin-bottom:10px}"]}),t})(),Iie=(()=>{class t{constructor(e){this.clipboardService=e,this.copyEvent=new ht,this.errorEvent=new ht,this.value=""}ngOnDestroy(){this.copyEvent.complete(),this.errorEvent.complete()}copyToClipboard(){this.clipboardService.copy(this.value)?this.copyEvent.emit(this.value):this.errorEvent.emit()}}return t.\u0275fac=function(e){return new(e||t)(Y(ef))},t.\u0275dir=Ke({type:t,selectors:[["","clipboard",""]],hostBindings:function(e,i){1&e&&ye("click",function(){return i.copyToClipboard()})},inputs:{value:["clipboard","value"]},outputs:{copyEvent:"copyEvent",errorEvent:"errorEvent"}}),t})();function Pie(t,n){if(1&t&&(Ue(0),xe(1,"app-truncated-text",3),D(2,"mat-icon",4),I(3,"filter_none"),C(),We()),2&t){const e=z();c(1),w("short",e.short)("showTooltip",!1)("shortTextLength",e.shortTextLength)("text",e.text),c(1),w("inline",!0)}}function Oie(t,n){if(1&t&&(D(0,"div",5)(1,"div",6),I(2),C(),D(3,"mat-icon",4),I(4,"filter_none"),C()()),2&t){const e=z();c(2),se(e.text),c(1),w("inline",!0)}}const Aie=function(t){return{text:t}},Fie=function(){return{"tooltip-word-break":!0}};let W1=(()=>{class t{constructor(e){this.snackbarService=e,this.short=!1,this.shortSimple=!1,this.shortTextLength=5}onCopyToClipboardClicked(){this.snackbarService.showDone("copy.copied")}}return t.\u0275fac=function(e){return new(e||t)(Y(Dn))},t.\u0275cmp=Ze({type:t,selectors:[["app-copy-to-clipboard-text"]],inputs:{text:"text",short:"short",shortSimple:"shortSimple",shortTextLength:"shortTextLength"},decls:4,vars:11,consts:[[1,"wrapper","highlight-internal-icon",3,"clipboard","matTooltip","matTooltipClass","copyEvent"],[4,"ngIf"],["class","d-flex",4,"ngIf"],[1,"text-margin",3,"short","showTooltip","shortTextLength","text"],[3,"inline"],[1,"d-flex"],[1,"single-line","text-margin"]],template:function(e,i){1&e&&(D(0,"div",0),ye("copyEvent",function(){return i.onCopyToClipboardClicked()}),R(1,"translate"),V(2,Pie,4,5,"ng-container",1),V(3,Oie,5,2,"div",2),C()),2&e&&(w("clipboard",i.text)("matTooltip",kt(1,5,i.short||i.shortSimple?"copy.tooltip-with-text":"copy.tooltip",He(8,Aie,i.text)))("matTooltipClass",qn(10,Fie)),c(2),w("ngIf",!i.shortSimple),c(1),w("ngIf",i.shortSimple))},dependencies:[Ft,Cn,vi,Iie,BI,wt],styles:['.cursor-pointer[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%], .wrapper[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}.wrapper[_ngcontent-%COMP%]{display:inline}.wrapper[_ngcontent-%COMP%] .text-margin[_ngcontent-%COMP%]{margin-right:5px}.wrapper[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:.6rem;-webkit-user-select:none;user-select:none;flex-shrink:0;display:inline!important}']}),t})();var Rie=N(6149);const Nie=["chart"];let $1=(()=>{class t{constructor(e){this.height=100,this.animated=!1,this.min=void 0,this.max=void 0,this.differ=e.find([]).create(null)}ngAfterViewInit(){this.chart=new Rie.Chart(this.chartElement.nativeElement,{type:"line",data:{labels:Array.from(Array(this.data.length).keys()),datasets:[{data:this.data,backgroundColor:["rgba(10, 15, 22, 0.4)"],borderColor:["rgba(10, 15, 22, 0.4)"],borderWidth:1}]},options:{maintainAspectRatio:!1,events:[],legend:{display:!1},tooltips:{enabled:!1},scales:{yAxes:[{display:!1,ticks:{suggestedMin:0}}],xAxes:[{display:!1}]},elements:{point:{radius:0}},layout:{padding:{left:0,right:0,top:t.topInternalMargin,bottom:0}}}}),void 0!==this.min&&void 0!==this.max&&(this.updateMinAndMax(),this.chart.update(0))}ngDoCheck(){this.differ.diff(this.data)&&this.chart&&(void 0!==this.min&&void 0!==this.max&&this.updateMinAndMax(),this.animated?this.chart.update():this.chart.update(0))}ngOnDestroy(){this.chart&&this.chart.destroy()}updateMinAndMax(){this.chart.options.scales={yAxes:[{display:!1,ticks:{min:this.min,max:this.max}}],xAxes:[{display:!1}]}}}return t.topInternalMargin=5,t.\u0275fac=function(e){return new(e||t)(Y(Ku))},t.\u0275cmp=Ze({type:t,selectors:[["app-line-chart"]],viewQuery:function(e,i){if(1&e&&_t(Nie,5),2&e){let o;rt(o=ot())&&(i.chartElement=o.first)}},inputs:{data:"data",height:"height",animated:"animated",min:"min",max:"max"},decls:3,vars:2,consts:[[1,"chart-container"],["chart",""]],template:function(e,i){1&e&&(D(0,"div",0),xe(1,"canvas",null,1),C()),2&e&&di("height: "+i.height+"px;")},styles:[".chart-container[_ngcontent-%COMP%]{position:relative;width:100%;overflow:hidden;border-radius:10px}"]}),t})();const PP=function(){return{showValue:!0}},OP=function(){return{showUnit:!0}};function Yie(t,n){if(1&t&&(D(0,"div",1),xe(1,"app-line-chart",2),D(2,"div",3)(3,"span",4),I(4),R(5,"translate"),C(),D(6,"span",5)(7,"span",6),I(8),R(9,"autoScale"),C(),D(10,"span",7),I(11),R(12,"autoScale"),C()()()()),2&t){const e=z();c(1),w("data",e.trafficData.sentHistory),c(3),se(H(5,4,"common.uploaded")),c(4),se(kt(9,6,e.trafficData.totalSent,qn(12,PP))),c(3),se(kt(12,9,e.trafficData.totalSent,qn(13,OP)))}}function Hie(t,n){if(1&t&&(D(0,"div",1),xe(1,"app-line-chart",2),D(2,"div",3)(3,"span",4),I(4),R(5,"translate"),C(),D(6,"span",5)(7,"span",6),I(8),R(9,"autoScale"),C(),D(10,"span",7),I(11),R(12,"autoScale"),C()()()()),2&t){const e=z();c(1),w("data",e.trafficData.receivedHistory),c(3),se(H(5,4,"common.downloaded")),c(4),se(kt(9,6,e.trafficData.totalReceived,qn(12,PP))),c(3),se(kt(12,9,e.trafficData.totalReceived,qn(13,OP)))}}let Bie=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["app-charts"]],inputs:{trafficData:"trafficData"},decls:2,vars:2,consts:[["class","small-rounded-elevated-box chart",4,"ngIf"],[1,"small-rounded-elevated-box","chart"],[3,"data"],[1,"info"],[1,"text"],[1,"rate"],[1,"value"],[1,"unit"]],template:function(e,i){1&e&&(V(0,Yie,13,14,"div",0),V(1,Hie,13,14,"div",0)),2&e&&(w("ngIf",i.trafficData),c(1),w("ngIf",i.trafficData))},dependencies:[Ft,$1,wt,sf],styles:[".chart[_ngcontent-%COMP%]{position:relative;margin-bottom:20px}.chart[_ngcontent-%COMP%]:last-child{margin-bottom:10px}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{position:absolute;bottom:0;left:0;display:flex;justify-content:space-between;align-items:flex-end;padding:10px;width:100%}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#f8f9f9}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] span.text[_ngcontent-%COMP%]{font-size:.8rem;text-transform:uppercase;font-weight:700}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] span.rate[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:700}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] span.rate[_ngcontent-%COMP%] .unit[_ngcontent-%COMP%]{font-size:.8rem;padding-left:5px}"]}),t})();function Vie(t,n){if(1&t&&(D(0,"span",4)(1,"span",5),I(2),R(3,"translate"),C(),xe(4,"app-copy-to-clipboard-text",9),C()),2&t){const e=z(2);c(2),ce("",H(3,2,"node.details.node-info.public-ip")," "),c(2),Ln("text",e.node.publicIp)}}function jie(t,n){if(1&t&&(D(0,"span",4)(1,"span",5),I(2),R(3,"translate"),C(),xe(4,"app-copy-to-clipboard-text",9),C()),2&t){const e=z(2);c(2),ce("",H(3,2,"node.details.node-info.ip")," "),c(2),Ln("text",e.node.ip)}}function zie(t,n){if(1&t&&(Ue(0),xe(1,"app-copy-to-clipboard-text",9),We()),2&t){const e=z(2);c(1),Ln("text",e.node.dmsgServerPk)}}function Uie(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),ce(" ",H(2,1,"node.details.node-info.no-dmsg-server")," "))}function Wie(t,n){if(1&t&&(D(0,"span",4)(1,"span",5),I(2),R(3,"translate"),C(),I(4),C()),2&t){const e=z(2);c(2),ce("",H(3,2,"node.details.node-info.skybian-version")," "),c(2),ce(" ",e.node.skybianBuildVersion," ")}}const G1=function(t){return{time:t}};function $ie(t,n){if(1&t&&(D(0,"mat-icon",16),R(1,"translate"),I(2," info "),C()),2&t){const e=z(2);w("inline",!0)("matTooltip",kt(1,2,"node.details.node-info.time.minutes",He(5,G1,e.timeOnline.totalMinutes)))}}function Gie(t,n){if(1&t&&(Ue(0),xe(1,"app-copy-to-clipboard-text",18),D(2,"a",19)(3,"mat-icon",20),R(4,"translate"),I(5," open_in_browser "),C()(),We()),2&t){const e=z(2);c(1),Ln("text",e.node.rewardsAddress),c(1),w("href","https://explorer.skycoin.com/app/address/"+e.node.rewardsAddress,Vo),c(1),w("inline",!0)("matTooltip",H(4,4,"node.details.rewards-info.open-in-explorer"))}}function qie(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),D(3,"mat-icon",16),R(4,"translate"),I(5,"info"),C(),We()),2&t&&(c(1),ce(" ",H(2,3,"node.details.rewards-info.not-registered")," "),c(2),w("inline",!0)("matTooltip",H(4,5,"node.details.rewards-info.not-registered-info")))}function Kie(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),ce(" ",H(2,1,"node.details.rewards-info.change-address-button")," "))}function Zie(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),ce(" ",H(2,1,"node.details.rewards-info.set-address-button")," "))}function Xie(t,n){if(1&t){const e=et();D(0,"div",1)(1,"div",2)(2,"span",3),I(3),R(4,"translate"),C(),D(5,"span",4)(6,"span",5),I(7),R(8,"translate"),C(),D(9,"span",6),ye("click",function(){return Pe(e),Oe(z().showEditLabelDialog())}),D(10,"span",7),I(11),C(),D(12,"mat-icon",8),I(13,"edit"),C()()(),D(14,"span",4)(15,"span",5),I(16),R(17,"translate"),C(),xe(18,"app-copy-to-clipboard-text",9),C(),D(19,"span",4)(20,"span",5),I(21),R(22,"translate"),C(),I(23),R(24,"translate"),C(),V(25,Vie,5,4,"span",10),V(26,jie,5,4,"span",10),D(27,"span",4)(28,"span",5),I(29),R(30,"translate"),C(),V(31,zie,2,1,"ng-container",11),V(32,Uie,3,3,"ng-container",11),C(),D(33,"span",4)(34,"span",5),I(35),R(36,"translate"),C(),I(37),R(38,"translate"),C(),D(39,"span",4)(40,"span",5),I(41),R(42,"translate"),C(),I(43),R(44,"translate"),C(),D(45,"span",4)(46,"span",5),I(47),R(48,"translate"),C(),I(49),R(50,"translate"),C(),V(51,Wie,5,4,"span",10),D(52,"span",4)(53,"span",5),I(54),R(55,"translate"),C(),I(56),R(57,"translate"),V(58,$ie,3,7,"mat-icon",12),C()(),xe(59,"div",13),D(60,"div",2)(61,"span",3),I(62),R(63,"translate"),C(),D(64,"span",4)(65,"span",5),I(66),R(67,"translate"),C(),V(68,Gie,6,6,"ng-container",11),V(69,qie,6,7,"ng-container",11),C(),D(70,"div",14)(71,"app-button",15),ye("action",function(){return Pe(e),Oe(z().changeRewardsAddressConfig())}),V(72,Kie,3,3,"ng-container",11),V(73,Zie,3,3,"ng-container",11),C()()(),xe(74,"div",13),D(75,"div",2)(76,"span",3),I(77),R(78,"translate"),C(),D(79,"span",4)(80,"span",5),I(81),R(82,"translate"),C(),I(83),R(84,"translate"),D(85,"mat-icon",16),R(86,"translate"),I(87,"info"),C()(),D(88,"div",14)(89,"app-button",15),ye("action",function(){return Pe(e),Oe(z().changeTransportsConfig())}),I(90),R(91,"translate"),C()()(),xe(92,"div",13),D(93,"div",2)(94,"span",3),I(95),R(96,"translate"),C(),D(97,"span",4)(98,"span",5),I(99),R(100,"translate"),C(),I(101),C(),D(102,"div",14)(103,"app-button",15),ye("action",function(){return Pe(e),Oe(z().changeRouterConfig())}),I(104),R(105,"translate"),C()()(),xe(106,"div",13),D(107,"div",2)(108,"span",3),I(109),R(110,"translate"),C(),D(111,"span",4)(112,"span",5),I(113),R(114,"translate"),C(),xe(115,"i"),I(116),R(117,"translate"),C()(),xe(118,"div",13),D(119,"div",2)(120,"span",3),I(121),R(122,"translate"),C(),xe(123,"app-charts",17),C()()}if(2&t){const e=z();c(3),se(H(4,49,"node.details.node-info.title")),c(4),ce("",H(8,51,"node.details.node-info.label")," "),c(4),se(e.node.label),c(1),w("inline",!0),c(4),ce("",H(17,53,"node.details.node-info.public-key")," "),c(2),Ln("text",e.node.localPk),c(3),ce("",H(22,55,"node.details.node-info.symmetic-nat")," "),c(2),ce(" ",H(24,57,e.node.isSymmeticNat?"common.yes":"common.no")," "),c(2),w("ngIf",!e.node.isSymmeticNat),c(1),w("ngIf",e.node.ip),c(3),ce("",H(30,59,"node.details.node-info.dmsg-server")," "),c(2),w("ngIf",e.hasDmsgServer()),c(1),w("ngIf",!e.hasDmsgServer()),c(3),ce("",H(36,61,"node.details.node-info.ping")," "),c(2),ce(" ",kt(38,63,"common.time-in-ms",He(107,G1,e.node.roundTripPing))," "),c(4),ce("",H(42,66,"node.details.node-info.node-version")," "),c(2),ce(" ",e.node.version?e.node.version:H(44,68,"common.unknown")," "),c(4),ce("",H(48,70,"node.details.node-info.build-type")," "),c(2),ce(" ",e.node.buildTag?e.node.buildTag:H(50,72,"node.details.node-info.unknown-build")," "),c(2),w("ngIf",e.node.skybianBuildVersion),c(3),ce("",H(55,74,"node.details.node-info.time.title")," "),c(2),ce(" ",kt(57,76,"node.details.node-info.time."+e.timeOnline.translationVarName,He(109,G1,e.timeOnline.elapsedTime))," "),c(2),w("ngIf",e.timeOnline.totalMinutes>60),c(4),se(H(63,79,"node.details.rewards-info.title")),c(4),ce("",H(67,81,"node.details.rewards-info.rewards-address")," "),c(2),w("ngIf",e.node.rewardsAddress),c(1),w("ngIf",!e.node.rewardsAddress),c(2),w("forDarkBackground",!0),c(1),w("ngIf",e.node.rewardsAddress),c(1),w("ngIf",!e.node.rewardsAddress),c(4),se(H(78,83,"node.details.transports-info.title")),c(4),ce("",H(82,85,"node.details.transports-info.autoconnect")," "),c(2),ce(" ",H(84,87,"node.details.transports-info."+(e.node.autoconnectTransports?"enabled":"disabled"))," "),c(2),w("inline",!0)("matTooltip",H(86,89,"node.details.transports-info.autoconnect-info")),c(4),w("forDarkBackground",!0),c(1),ce(" ",H(91,91,"node.details.transports-info."+(e.node.autoconnectTransports?"disable":"enable")+"-button")," "),c(5),se(H(96,93,"node.details.router-info.title")),c(4),ce("",H(100,95,"node.details.router-info.min-hops")," "),c(2),ce(" ",e.node.minHops," "),c(2),w("forDarkBackground",!0),c(1),ce(" ",H(105,97,"node.details.router-info.change-config-button")," "),c(5),ce("",H(110,99,"node.details.node-health.title")," "),c(4),se(H(114,101,"node.details.node-health.uptime-tracker")),c(2),eo(e.nodeHealthClass),c(1),ce(" ",H(117,103,e.nodeHealthText)," "),c(5),se(H(122,105,"node.details.node-traffic-data")),c(2),w("trafficData",e.trafficData)}}let AP=(()=>{class t{set nodeInfo(e){this.node=e,this.timeOnline=Pg.getElapsedTime(e.secondsOnline),e.health&&e.health.servicesHealth===ro.Healthy?(this.nodeHealthText="node.statuses.online",this.nodeHealthClass="dot-green"):e.health&&e.health.servicesHealth===ro.Unhealthy?(this.nodeHealthText="node.statuses.partially-online",this.nodeHealthClass="dot-yellow blinking"):e.health&&e.health.servicesHealth===ro.Connecting?(this.nodeHealthText="node.statuses.connecting",this.nodeHealthClass="dot-outline-gray"):(this.nodeHealthText="node.statuses.unknown",this.nodeHealthClass="dot-outline-gray")}constructor(e,i,o,s){this.dialog=e,this.storageService=i,this.transportService=o,this.snackbarService=s}ngOnDestroy(){this.autoconnectSubscription&&this.autoconnectSubscription.unsubscribe()}showEditLabelDialog(){let e=this.storageService.getLabelInfo(this.node.localPk);e||(e={id:this.node.localPk,label:"",identifiedElementType:Xi.Node}),N1.openDialog(this.dialog,e).afterClosed().subscribe(i=>{i&&Ct.refreshCurrentDisplayedData()})}changeRewardsAddressConfig(){Eie.openDialog(this.dialog,{nodePk:this.node.localPk,currentAddress:this.node.rewardsAddress}).afterClosed().subscribe(i=>{i&&Ct.refreshCurrentDisplayedData()})}changeRouterConfig(){IP.openDialog(this.dialog,{nodePk:this.node.localPk,minHops:this.node.minHops}).afterClosed().subscribe(i=>{i&&Ct.refreshCurrentDisplayedData()})}hasDmsgServer(){return!(!this.node||0===this.node.dmsgServerPk.replace(/0/g,"").length)}changeTransportsConfig(){const e=Jt.createConfirmationDialog(this.dialog,this.node.autoconnectTransports?"node.details.transports-info.disable-confirmation":"node.details.transports-info.enable-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.showProcessing();const i=this.transportService.changeAutoconnectSetting(this.node.localPk,!this.node.autoconnectTransports);this.autoconnectSubscription=i.subscribe(()=>{e.close(),this.snackbarService.showDone(this.node.autoconnectTransports?"node.details.transports-info.disable-done":"node.details.transports-info.enable-done"),Ct.refreshCurrentDisplayedData()},o=>{o=en(o),e.componentInstance.showDone("confirmation.error-header-text",o.translatableErrorMsg)})})}}return t.\u0275fac=function(e){return new(e||t)(Y(In),Y(Ji),Y(V1),Y(Dn))},t.\u0275cmp=Ze({type:t,selectors:[["app-node-info-content"]],inputs:{nodeInfo:"nodeInfo",trafficData:"trafficData"},decls:1,vars:1,consts:[["class","font-smaller d-flex flex-column mt-4.5",4,"ngIf"],[1,"font-smaller","d-flex","flex-column","mt-4.5"],[1,"d-flex","flex-column"],[1,"section-title"],[1,"info-line"],[1,"title"],[1,"highlight-internal-icon",3,"click"],[1,"text-with-small-right-margin"],[1,"edit-icon",3,"inline"],[3,"text"],["class","info-line",4,"ngIf"],[4,"ngIf"],[3,"inline","matTooltip",4,"ngIf"],[1,"separator"],[1,"config-button-container"],["color","primary",3,"forDarkBackground","action"],[3,"inline","matTooltip"],[1,"d-flex","flex-column","justify-content-end","mt-3",3,"trafficData"],[1,"text-with-right-margin",3,"text"],["target","_blank","rel","noreferrer nofollow noopener",3,"href"],[1,"link-icon","transparent-button",3,"inline","matTooltip"]],template:function(e,i){1&e&&V(0,Xie,124,111,"div",0),2&e&&w("ngIf",i.node)},dependencies:[Ft,Cn,vi,W1,Ui,Bie,wt],styles:[".section-title[_ngcontent-%COMP%]{font-size:1rem;font-weight:700;text-transform:uppercase}.info-line[_ngcontent-%COMP%]{word-break:break-word;margin-top:7px}.info-line[_ngcontent-%COMP%] .text-with-right-margin[_ngcontent-%COMP%]{margin-right:5px}.info-line[_ngcontent-%COMP%] .text-with-small-right-margin[_ngcontent-%COMP%]{margin-right:3px}.info-line[_ngcontent-%COMP%] .link-icon[_ngcontent-%COMP%]{font-size:20px;line-height:1;color:#fff!important;cursor:pointer}.info-line[_ngcontent-%COMP%] .edit-icon[_ngcontent-%COMP%]{display:inline!important}.info-line[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:3px;-webkit-user-select:none;user-select:none}.info-line[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-left:7px}.info-line[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{opacity:.75}.separator[_ngcontent-%COMP%]{width:100%;height:0px;margin:1rem 0;border-top:1px solid rgba(255,255,255,.15)}.config-button-container[_ngcontent-%COMP%]{margin-top:10px;margin-left:-4px}"]}),t})(),Jie=(()=>{class t extends er{ngOnInit(){return this.nodeSubscription=Ct.currentNode.subscribe(e=>{this.node=e}),this.trafficDataSubscription=Ct.currentTrafficData.subscribe(e=>{this.trafficData=e}),super.ngOnInit()}ngOnDestroy(){this.nodeSubscription.unsubscribe(),this.trafficDataSubscription.unsubscribe()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["app-node-info"]],features:[nt],decls:1,vars:2,consts:[[3,"nodeInfo","trafficData"]],template:function(e,i){1&e&&xe(0,"app-node-info-content",0),2&e&&w("nodeInfo",i.node)("trafficData",i.trafficData)},dependencies:[AP]}),t})();const Qie=function(){return["settings.title","labels.title"]};let ere=(()=>{class t{constructor(e){this.router=e,this.tabsData=[],this.returnButtonText="settings.title",this.tabsData=[{icon:"view_headline",label:"labels.list-title",linkParts:[]}]}performAction(e){null===e&&this.router.navigate(["settings"])}}return t.\u0275fac=function(e){return new(e||t)(Y(hn))},t.\u0275cmp=Ze({type:t,selectors:[["app-all-labels"]],decls:5,vars:6,consts:[[1,"row"],[1,"col-12"],[3,"titleParts","tabsData","showUpdateButton","returnText","optionSelected"],[1,"content","col-12"],[3,"showShortList"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1)(2,"app-top-bar",2),ye("optionSelected",function(s){return i.performAction(s)}),C()(),D(3,"div",3),xe(4,"app-label-list",4),C()()),2&e&&(c(2),w("titleParts",qn(5,Qie))("tabsData",i.tabsData)("showUpdateButton",!1)("returnText",i.returnButtonText),c(2),w("showShortList",!1))},dependencies:[sc,dP]}),t})();const tre=["firstInput"];function nre(t,n){1&t&&(Ue(0),D(1,"span"),I(2),R(3,"translate"),C(),We()),2&t&&(c(2),se(H(3,1,"vpn.server-list.add-server-dialog.pk-length-error")))}function ire(t,n){1&t&&(D(0,"span"),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"vpn.server-list.add-server-dialog.pk-chars-error")))}let rre=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.mediumModalWidth,e.open(t,o)}constructor(e,i,o,s,a,l,d,_){this.dialogRef=e,this.data=i,this.formBuilder=o,this.dialog=s,this.router=a,this.vpnClientService=l,this.vpnSavedDataService=d,this.snackbarService=_}ngOnInit(){this.form=this.formBuilder.group({pk:["",Gt.compose([Gt.required,Gt.minLength(66),Gt.maxLength(66),Gt.pattern("^[0-9a-fA-F]+$")])],password:[""],name:[""],note:[""]}),setTimeout(()=>this.firstInput.nativeElement.focus())}process(){if(!this.form.valid)return;const e={pk:this.form.get("pk").value,name:this.form.get("name").value,note:this.form.get("note").value};lr.processServerChange(this.router,this.vpnClientService,this.vpnSavedDataService,this.snackbarService,this.dialog,this.dialogRef,this.data,null,null,e,this.form.get("password").value)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(xr),Y(In),Y(hn),Y(oc),Y(rc),Y(Dn))},t.\u0275cmp=Ze({type:t,selectors:[["app-add-vpn-server"]],viewQuery:function(e,i){if(1&e&&_t(tre,5),2&e){let o;rt(o=ot())&&(i.firstInput=o.first)}},decls:35,vars:23,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","pk","maxlength","66","matInput",""],["firstInput",""],[4,"ngIf","ngIfElse"],["hexError",""],["formControlName","password","type","password","matInput",""],["formControlName","name","maxlength","100","matInput",""],["formControlName","note","maxlength","100","matInput",""],["color","primary",1,"float-right",3,"disabled","action"]],template:function(e,i){if(1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C(),D(10,"mat-error"),V(11,nre,4,3,"ng-container",6),C(),V(12,ire,3,3,"ng-template",null,7,Es),C(),D(14,"mat-form-field")(15,"div",2)(16,"label",3),I(17),R(18,"translate"),C(),xe(19,"input",8),C()(),D(20,"mat-form-field")(21,"div",2)(22,"label",3),I(23),R(24,"translate"),C(),xe(25,"input",9),C()(),D(26,"mat-form-field")(27,"div",2)(28,"label",3),I(29),R(30,"translate"),C(),xe(31,"input",10),C()()(),D(32,"app-button",11),ye("action",function(){return i.process()}),I(33),R(34,"translate"),C()()),2&e){const o=ci(13);w("headline",H(1,11,"vpn.server-list.add-server-dialog.title"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(4),se(H(7,13,"vpn.server-list.add-server-dialog.pk-label")),c(5),w("ngIf",!i.form.get("pk").hasError("pattern"))("ngIfElse",o),c(6),se(H(18,15,"vpn.server-list.add-server-dialog.password-label")),c(6),se(H(24,17,"vpn.server-list.add-server-dialog.name-label")),c(6),se(H(30,19,"vpn.server-list.add-server-dialog.note-label")),c(3),w("disabled",!i.form.valid),c(1),ce(" ",H(34,21,"vpn.server-list.add-server-dialog.use-server-button")," ")}},dependencies:[Ft,zi,Bi,Vi,ji,Cr,ii,Ei,ar,sl,kr,Ui,ei,wt]}),t})();class ore{constructor(){this.countryCode="ZZ"}}let sre=(()=>{class t{constructor(e){this.http=e,this.discoveryServiceUrl="https://sd.skycoin.com/api/services?type=vpn"}getServers(){return this.servers?$e(this.servers):this.http.get(this.discoveryServiceUrl).pipe(rf(e=>e.pipe(Ti(4e3))),ke(e=>{const i=[];return e&&e.forEach(o=>{const s=new ore,a=o.address.split(":");2===a.length&&(s.pk=a[0],s.location="",o.geo&&(o.geo.country&&(s.countryCode=o.geo.country),o.geo.region&&(s.location=o.geo.region)),s.name=a[0],s.note="",i.push(s))}),this.servers=i,i}))}}return t.\u0275fac=function(e){return new(e||t)(we(Vl))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function are(t,n){1&t&&Jo(0)}const FP=function(){return["vpn.title"]};function lre(t,n){if(1&t&&(D(0,"div",3)(1,"div",4),xe(2,"app-top-bar",5),D(3,"div",6)(4,"div",7)(5,"div",8),V(6,are,1,0,"ng-container",9),C()()()(),xe(7,"app-loading-indicator",10),C()),2&t){const e=z(),i=ci(2);c(2),w("titleParts",qn(6,FP))("tabsData",e.tabsData)("selectedTabIndex",1)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk),c(4),w("ngTemplateOutlet",i)}}function cre(t,n){1&t&&(D(0,"div",22)(1,"span"),I(2),R(3,"translate"),C()()),2&t&&(c(2),se(H(3,1,"vpn.server-list.tabs.public")))}const Rg=function(t,n){return["/vpn",t,"servers",n,1]};function dre(t,n){if(1&t&&(D(0,"a",23)(1,"span"),I(2),R(3,"translate"),C()()),2&t){const e=z(2);w("routerLink",mn(4,Rg,e.currentLocalPk,e.lists.Public)),c(2),se(H(3,2,"vpn.server-list.tabs.public"))}}function ure(t,n){1&t&&(D(0,"div",22)(1,"span"),I(2),R(3,"translate"),C()()),2&t&&(c(2),se(H(3,1,"vpn.server-list.tabs.history")))}function hre(t,n){if(1&t&&(D(0,"a",23)(1,"span"),I(2),R(3,"translate"),C()()),2&t){const e=z(2);w("routerLink",mn(4,Rg,e.currentLocalPk,e.lists.History)),c(2),se(H(3,2,"vpn.server-list.tabs.history"))}}function fre(t,n){1&t&&(D(0,"div",22)(1,"span"),I(2),R(3,"translate"),C()()),2&t&&(c(2),se(H(3,1,"vpn.server-list.tabs.favorites")))}function pre(t,n){if(1&t&&(D(0,"a",23)(1,"span"),I(2),R(3,"translate"),C()()),2&t){const e=z(2);w("routerLink",mn(4,Rg,e.currentLocalPk,e.lists.Favorites)),c(2),se(H(3,2,"vpn.server-list.tabs.favorites"))}}function mre(t,n){1&t&&(D(0,"div",22)(1,"span"),I(2),R(3,"translate"),C()()),2&t&&(c(2),se(H(3,1,"vpn.server-list.tabs.blocked")))}function gre(t,n){if(1&t&&(D(0,"a",23)(1,"span"),I(2),R(3,"translate"),C()()),2&t){const e=z(2);w("routerLink",mn(4,Rg,e.currentLocalPk,e.lists.Blocked)),c(2),se(H(3,2,"vpn.server-list.tabs.blocked"))}}function _re(t,n){1&t&&xe(0,"br")}function bre(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.translatableValue))}}function vre(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e.value)}}function yre(t,n){if(1&t&&(D(0,"div",28)(1,"span"),I(2),R(3,"translate"),C(),V(4,bre,3,3,"ng-container",21),V(5,vre,2,1,"ng-container",21),C()),2&t){const e=n.$implicit;c(2),ce("",H(3,3,e.filterName),": "),c(2),w("ngIf",e.translatableValue),c(1),w("ngIf",e.value)}}function Mre(t,n){if(1&t){const e=et();D(0,"div",25),ye("click",function(){return Pe(e),Oe(z(3).dataFilterer.removeFilters())}),D(1,"div",26)(2,"mat-icon",19),I(3,"search"),C(),I(4),R(5,"translate"),C(),V(6,yre,6,5,"div",27),C()}if(2&t){const e=z(3);c(2),w("inline",!0),c(2),ce(" ",H(5,3,"vpn.server-list.current-filters"),""),c(2),w("ngForOf",e.dataFilterer.currentFiltersTexts)}}function wre(t,n){if(1&t&&(Ue(0),V(1,_re,1,0,"br",21),V(2,Mre,7,5,"div",24),We()),2&t){const e=z(2);c(1),w("ngIf",e.dataFilterer.currentFiltersTexts&&e.dataFilterer.currentFiltersTexts.length>0),c(1),w("ngIf",e.dataFilterer.currentFiltersTexts&&e.dataFilterer.currentFiltersTexts.length>0)}}const Cre=function(t){return{deactivated:t}};function xre(t,n){if(1&t){const e=et();D(0,"div",11)(1,"div",12)(2,"div",13)(3,"div",14),V(4,cre,4,3,"div",15),V(5,dre,4,7,"a",16),V(6,ure,4,3,"div",15),V(7,hre,4,7,"a",16),V(8,fre,4,3,"div",15),V(9,pre,4,7,"a",16),V(10,mre,4,3,"div",15),V(11,gre,4,7,"a",16),C()()()(),D(12,"div",17)(13,"div",12)(14,"div",13)(15,"div",14)(16,"div",18),ye("click",function(){Pe(e);const o=z();return Oe(o.dataFilterer?o.dataFilterer.changeFilters():null)}),R(17,"translate"),D(18,"span")(19,"mat-icon",19),I(20,"search"),C()()()()()()(),D(21,"div",20)(22,"div",12)(23,"div",13)(24,"div",14)(25,"div",18),ye("click",function(){return Pe(e),Oe(z().enterManually())}),R(26,"translate"),D(27,"span")(28,"mat-icon",19),I(29,"add"),C()()()()()()(),V(30,wre,3,2,"ng-container",21)}if(2&t){const e=z();c(4),w("ngIf",e.currentList===e.lists.Public),c(1),w("ngIf",e.currentList!==e.lists.Public),c(1),w("ngIf",e.currentList===e.lists.History),c(1),w("ngIf",e.currentList!==e.lists.History),c(1),w("ngIf",e.currentList===e.lists.Favorites),c(1),w("ngIf",e.currentList!==e.lists.Favorites),c(1),w("ngIf",e.currentList===e.lists.Blocked),c(1),w("ngIf",e.currentList!==e.lists.Blocked),c(1),w("ngClass",He(18,Cre,e.loading)),c(4),w("matTooltip",H(17,14,"filters.filter-info")),c(3),w("inline",!0),c(6),w("matTooltip",H(26,16,"vpn.server-list.add-manually-info")),c(3),w("inline",!0),c(2),w("ngIf",e.dataFilterer)}}function kre(t,n){1&t&&Jo(0)}function Sre(t,n){if(1&t&&(D(0,"mat-icon",19),I(1),C()),2&t){const e=z(5);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Dre(t,n){if(1&t){const e=et();D(0,"th",50),ye("click",function(){Pe(e);const o=z(4);return Oe(o.dataSorter.changeSortingOrder(o.dateSortData))}),R(1,"translate"),D(2,"div",43)(3,"div",44),I(4),R(5,"translate"),C(),V(6,Sre,2,2,"mat-icon",41),C()()}if(2&t){const e=z(4);w("matTooltip",H(1,3,"vpn.server-list.date-info")),c(4),ce(" ",H(5,5,"vpn.server-list.date-small-table-label")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.dateSortData)}}function Tre(t,n){if(1&t&&(D(0,"mat-icon",19),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Lre(t,n){if(1&t&&(D(0,"mat-icon",19),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Ere(t,n){if(1&t&&(D(0,"mat-icon",19),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Ire(t,n){if(1&t&&(D(0,"mat-icon",19),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Pre(t,n){if(1&t&&(D(0,"mat-icon",19),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Ore(t,n){if(1&t&&(D(0,"td",64),I(1),R(2,"date"),C()),2&t){const e=z().$implicit;c(1),ce(" ",kt(2,1,e.lastUsed,"yyyy/MM/dd, H:mm a")," ")}}function Are(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),ce(" ",e.location," ")}}function Fre(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),ce(" ",H(2,1,"vpn.server-list.unknown")," "))}const Rre=function(t,n){return{custom:t,original:n}};function Nre(t,n){if(1&t&&(D(0,"mat-icon",65),ye("click",function(i){return i.stopPropagation()}),R(1,"translate"),I(2,"info_outline"),C()),2&t){const e=z().$implicit,i=z(4);w("inline",!0)("matTooltip",kt(1,2,i.getNoteVar(e),mn(5,Rre,e.personalNote,e.note)))}}const Yre=function(t){return{"selectable click-effect":t}};function Hre(t,n){if(1&t){const e=et();D(0,"tr",51),ye("click",function(){const s=Pe(e).$implicit,a=z(4);return Oe(a.currentList!==a.lists.Blocked?a.selectServer(s):null)}),V(1,Ore,3,4,"td",52),D(2,"td",53)(3,"div",54),xe(4,"div",55),C()(),D(5,"td",56),xe(6,"app-vpn-server-name",57),C(),D(7,"td",58),V(8,Are,2,1,"ng-container",21),V(9,Fre,3,3,"ng-container",21),C(),D(10,"td",59)(11,"app-copy-to-clipboard-text",60),ye("click",function(o){return o.stopPropagation()}),C()(),D(12,"td",61),V(13,Nre,3,8,"mat-icon",62),C(),D(14,"td",48)(15,"button",63),ye("click",function(o){const a=Pe(e).$implicit,l=z(4);return o.stopPropagation(),Oe(l.openOptions(a))}),R(16,"translate"),D(17,"mat-icon",19),I(18,"settings"),C()()()()}if(2&t){const e=n.$implicit,i=z(4);w("ngClass",He(23,Yre,i.currentList!==i.lists.Blocked)),c(1),w("ngIf",i.currentList===i.lists.History),c(3),di("background-image: url('assets/img/big-flags/"+e.countryCode.toLocaleLowerCase()+".png');"),w("matTooltip",i.getCountryName(e.countryCode)),c(2),w("isCurrentServer",i.currentServer&&e.pk===i.currentServer.pk)("isFavorite",e.flag===i.serverFlags.Favorite&&i.currentList!==i.lists.Favorites)("isBlocked",e.flag===i.serverFlags.Blocked&&i.currentList!==i.lists.Blocked)("isInHistory",e.inHistory&&i.currentList!==i.lists.History)("hasPassword",e.usedWithPassword)("name",e.name)("pk",e.pk)("customName",e.customName)("defaultName","vpn.server-list.none"),c(2),w("ngIf",e.location),c(1),w("ngIf",!e.location),c(2),w("shortSimple",!0)("text",e.pk),c(2),w("ngIf",e.note||e.personalNote),c(2),w("matTooltip",H(16,21,"vpn.server-options.tooltip")),c(2),w("inline",!0)}}const Bre=function(t,n){return{"public-pk-column":t,"history-pk-column":n}};function Vre(t,n){if(1&t){const e=et();D(0,"table",38)(1,"tr"),V(2,Dre,7,7,"th",39),D(3,"th",40),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.countrySortData))}),R(4,"translate"),D(5,"mat-icon",19),I(6,"flag"),C(),V(7,Tre,2,2,"mat-icon",41),C(),D(8,"th",42),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.nameSortData))}),D(9,"div",43)(10,"div",44),I(11),R(12,"translate"),C(),V(13,Lre,2,2,"mat-icon",41),C()(),D(14,"th",45),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.locationSortData))}),D(15,"div",43)(16,"div",44),I(17),R(18,"translate"),C(),V(19,Ere,2,2,"mat-icon",41),C()(),D(20,"th",46),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.pkSortData))}),R(21,"translate"),D(22,"div",43)(23,"div",44),I(24),R(25,"translate"),C(),V(26,Ire,2,2,"mat-icon",41),C()(),D(27,"th",47),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.noteSortData))}),R(28,"translate"),D(29,"div",43)(30,"mat-icon",19),I(31,"info_outline"),C(),V(32,Pre,2,2,"mat-icon",41),C()(),xe(33,"th",48),C(),V(34,Hre,19,25,"tr",49),C()}if(2&t){const e=z(3);c(2),w("ngIf",e.currentList===e.lists.History),c(1),w("matTooltip",H(4,16,"vpn.server-list.country-info")),c(2),w("inline",!0),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.countrySortData),c(4),ce(" ",H(12,18,"vpn.server-list.name-small-table-label")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.nameSortData),c(4),ce(" ",H(18,20,"vpn.server-list.location-small-table-label")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.locationSortData),c(1),w("ngClass",mn(28,Bre,e.currentList===e.lists.Public,e.currentList===e.lists.History))("matTooltip",H(21,22,"vpn.server-list.public-key-info")),c(4),ce(" ",H(25,24,"vpn.server-list.public-key-small-table-label")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.pkSortData),c(1),w("matTooltip",H(28,26,"vpn.server-list.note-info")),c(3),w("inline",!0),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.noteSortData),c(2),w("ngForOf",e.dataSource)}}function jre(t,n){if(1&t&&(D(0,"div",35)(1,"div",36),V(2,Vre,35,31,"table",37),C()()),2&t){const e=z(2);c(2),w("ngIf",e.dataSource.length>0)}}const zre=function(t,n){return["/vpn",t,"servers",n]};function Ure(t,n){if(1&t&&xe(0,"app-paginator",66),2&t){const e=z(2);w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",mn(4,zre,e.currentLocalPk,e.currentList))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function Wre(t,n){1&t&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"vpn.server-list.empty-discovery")))}function $re(t,n){1&t&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"vpn.server-list.empty-history")))}function Gre(t,n){1&t&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"vpn.server-list.empty-favorites")))}function qre(t,n){1&t&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"vpn.server-list.empty-blocked")))}function Kre(t,n){1&t&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"vpn.server-list.empty-with-filter")))}function Zre(t,n){if(1&t&&(D(0,"div",35)(1,"div",67)(2,"mat-icon",68),I(3,"warning"),C(),V(4,Wre,3,3,"span",69),V(5,$re,3,3,"span",69),V(6,Gre,3,3,"span",69),V(7,qre,3,3,"span",69),V(8,Kre,3,3,"span",69),C()()),2&t){const e=z(2);c(2),w("inline",!0),c(2),w("ngIf",0===e.allServers.length&&e.currentList===e.lists.Public),c(1),w("ngIf",0===e.allServers.length&&e.currentList===e.lists.History),c(1),w("ngIf",0===e.allServers.length&&e.currentList===e.lists.Favorites),c(1),w("ngIf",0===e.allServers.length&&e.currentList===e.lists.Blocked),c(1),w("ngIf",0!==e.allServers.length)}}const Xre=function(t){return{"mb-3":t}};function Jre(t,n){if(1&t&&(D(0,"div",29)(1,"div",30),xe(2,"app-top-bar",5),C(),D(3,"div",31)(4,"div",7)(5,"div",32),V(6,kre,1,0,"ng-container",9),C(),V(7,jre,3,1,"div",33),V(8,Ure,1,7,"app-paginator",34),V(9,Zre,9,6,"div",33),C()()()),2&t){const e=z(),i=ci(2);c(2),w("titleParts",qn(10,FP))("tabsData",e.tabsData)("selectedTabIndex",1)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk),c(3),w("ngClass",He(11,Xre,!e.dataFilterer.currentFiltersTexts||e.dataFilterer.currentFiltersTexts.length<1)),c(1),w("ngTemplateOutlet",i),c(1),w("ngIf",0!==e.dataSource.length),c(1),w("ngIf",e.numberOfPages>1),c(1),w("ngIf",0===e.dataSource.length)}}var ri=(()=>((ri=ri||{}).Public="public",ri.History="history",ri.Favorites="favorites",ri.Blocked="blocked",ri))();let RP=(()=>{class t extends er{constructor(e,i,o,s,a,l,d,_,E){super(),this.dialog=e,this.router=i,this.translateService=o,this.route=s,this.vpnClientDiscoveryService=a,this.vpnClientService=l,this.vpnSavedDataService=d,this.snackbarService=_,this.storageService=E,this.persistentServerDataResponseKey="serv-dat-response",this.maxFullListElements=50,this.dateSortData=new Vn(["lastUsed"],"vpn.server-list.date-small-table-label",Zt.NumberReversed),this.countrySortData=new Vn(["countryName"],"vpn.server-list.country-small-table-label",Zt.Text),this.nameSortData=new Vn(["name"],"vpn.server-list.name-small-table-label",Zt.Text),this.locationSortData=new Vn(["location"],"vpn.server-list.location-small-table-label",Zt.Text),this.pkSortData=new Vn(["pk"],"vpn.server-list.public-key-small-table-label",Zt.Text),this.noteSortData=new Vn(["note"],"vpn.server-list.note-small-table-label",Zt.Text),this.loading=!0,this.loadingBackendData=!0,this.tabsData=lr.vpnTabsData,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.currentList=ri.Public,this.vpnRunning=!1,this.serverFlags=Pn,this.lists=ri,this.initialLoadStarted=!1,this.navigationsSubscription=s.paramMap.subscribe(F=>{if(F.has("type")?F.get("type")===ri.Favorites?(this.currentList=ri.Favorites,this.listId="vfs"):F.get("type")===ri.Blocked?(this.currentList=ri.Blocked,this.listId="vbs"):F.get("type")===ri.History?(this.currentList=ri.History,this.listId="vhs"):(this.currentList=ri.Public,this.listId="vps"):(this.currentList=ri.Public,this.listId="vps"),lr.setDefaultTabForServerList(this.currentList),F.has("key")&&(this.currentLocalPk=F.get("key"),lr.changeCurrentPk(this.currentLocalPk),this.tabsData=lr.vpnTabsData),F.has("page")){let G=Number.parseInt(F.get("page"),10);(isNaN(G)||G<1)&&(G=1),this.currentPageInUrl=G,this.recalculateElementsToShow()}this.initialLoadStarted||(this.initialLoadStarted=!0,this.loadData(!0))}),this.currentServerSubscription=this.vpnSavedDataService.currentServerObservable.subscribe(F=>this.currentServer=F),this.backendDataSubscription=this.vpnClientService.backendState.subscribe(F=>{F&&(this.loadingBackendData=!1,this.vpnRunning=F.vpnClientAppData.running)})}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.currentServerSubscription.unsubscribe(),this.backendDataSubscription.unsubscribe(),this.dataSortedSubscription&&this.dataSortedSubscription.unsubscribe(),this.dataFiltererSubscription&&this.dataFiltererSubscription.unsubscribe(),this.dataSubscription&&this.dataSubscription.unsubscribe(),this.dataFilterer&&this.dataFilterer.dispose(),this.dataSorter&&this.dataSorter.dispose()}enterManually(){rre.openDialog(this.dialog,this.currentLocalPk)}getNoteVar(e){return e.note&&e.personalNote?"vpn.server-list.notes-info":!e.note&&e.personalNote?e.personalNote:e.note}selectServer(e){const i=this.vpnSavedDataService.getSavedVersion(e.pk,!0);if(this.snackbarService.closeCurrentIfTemporaryError(),i&&i.flag===Pn.Blocked)this.snackbarService.showError("vpn.starting-blocked-server-error",{},!0);else{if(this.currentServer&&this.currentServer.pk===e.pk){if(this.vpnRunning)this.snackbarService.showWarning("vpn.server-change.already-selected-warning");else{const o=Jt.createConfirmationDialog(this.dialog,"vpn.server-change.start-same-server-confirmation");o.componentInstance.operationAccepted.subscribe(()=>{o.componentInstance.closeModal(),this.vpnClientService.start(),lr.redirectAfterServerChange(this.router,null,this.currentLocalPk)})}return}if(i&&i.usedWithPassword)return void JI.openDialog(this.dialog,!0).afterClosed().subscribe(o=>{o&&this.makeServerChange(e,"-"===o?null:o.substr(1))});this.makeServerChange(e,null)}}makeServerChange(e,i){lr.processServerChange(this.router,this.vpnClientService,this.vpnSavedDataService,this.snackbarService,this.dialog,null,this.currentLocalPk,e.originalLocalData,e.originalDiscoveryData,null,i)}openOptions(e){let i=this.vpnSavedDataService.getSavedVersion(e.pk,!0);i||(i=this.vpnSavedDataService.processFromDiscovery(e.originalDiscoveryData)),i?lr.openServerOptions(i,this.router,this.vpnSavedDataService,this.vpnClientService,this.snackbarService,this.dialog).subscribe(o=>{o&&this.processAllServers()}):this.snackbarService.showError("vpn.unexpedted-error")}loadData(e){if(this.currentList===ri.Public){const i=e?this.getLocalValue(this.persistentServerDataResponseKey):null;let o=this.vpnClientDiscoveryService.getServers();i&&(o=$e(JSON.parse(i.value))),this.dataSubscription=o.subscribe(s=>{i||this.saveLocalValue(this.persistentServerDataResponseKey,JSON.stringify(s)),this.allServers=s.map(a=>({countryCode:a.countryCode,countryName:this.getCountryName(a.countryCode),name:a.name,customName:null,location:a.location,pk:a.pk,note:a.note,personalNote:null,originalDiscoveryData:a})),this.vpnSavedDataService.updateFromDiscovery(s),this.loading=!1,this.processAllServers(),i&&this.loadData(!1)})}else{let i;i=this.currentList===ri.History?this.vpnSavedDataService.history:this.currentList===ri.Favorites?this.vpnSavedDataService.favorites:this.vpnSavedDataService.blocked,this.dataSubscription=i.subscribe(o=>{const s=[];o.forEach(a=>{s.push({countryCode:a.countryCode,countryName:this.getCountryName(a.countryCode),name:a.name,customName:null,location:a.location,pk:a.pk,note:a.note,personalNote:null,lastUsed:a.lastUsed,inHistory:a.inHistory,flag:a.flag,originalLocalData:a})}),this.allServers=s,this.loading=!1,this.processAllServers()})}}processAllServers(){this.fillFilterPropertiesArray();const e=new Set;this.allServers.forEach((_,E)=>{e.add(_.countryCode);const F=this.vpnSavedDataService.getSavedVersion(_.pk,0===E);_.customName=F?F.customName:null,_.personalNote=F?F.personalNote:null,_.inHistory=!!F&&F.inHistory,_.flag=F?F.flag:Pn.None,_.enteredManually=!!F&&F.enteredManually,_.usedWithPassword=!!F&&F.usedWithPassword});let i=[];e.forEach(_=>{i.push({label:this.getCountryName(_),value:_,image:"/assets/img/big-flags/"+_.toLowerCase()+".png"})}),i.sort((_,E)=>_.label.localeCompare(E.label)),i=[{label:"vpn.server-list.filter-dialog.country-options.any",value:""}].concat(i),this.filterProperties=[{filterName:"vpn.server-list.filter-dialog.country",keyNameInElementsArray:"countryCode",type:$n.Select,printableLabelsForValues:i,printableLabelGeneralSettings:{defaultImage:"/assets/img/big-flags/unknown.png",imageWidth:20,imageHeight:15}}].concat(this.filterProperties);const s=[];let a,l,d;this.currentList===ri.Public?(s.push(this.countrySortData),s.push(this.nameSortData),s.push(this.locationSortData),s.push(this.pkSortData),s.push(this.noteSortData),a=0,l=1):(this.currentList===ri.History&&s.push(this.dateSortData),s.push(this.countrySortData),s.push(this.nameSortData),s.push(this.locationSortData),s.push(this.pkSortData),s.push(this.noteSortData),a=this.currentList===ri.History?0:1,l=this.currentList===ri.History?2:3),this.dataSorter=new Rd(this.dialog,this.translateService,this.storageService,s,a,this.listId),this.dataSorter.setTieBreakerColumnIndex(l),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataFilterer=new Nd(this.dialog,this.route,this.router,this.filterProperties,this.listId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(_=>{this.filteredServers=_,this.dataSorter.setData(this.filteredServers)}),d=this.currentList===ri.Public?this.allServers.filter(_=>_.flag!==Pn.Blocked):this.allServers,this.dataFilterer.setData(d)}fillFilterPropertiesArray(){this.filterProperties=[{filterName:"vpn.server-list.filter-dialog.name",keyNameInElementsArray:"name",secondaryKeyNameInElementsArray:"customName",type:$n.TextInput,maxlength:100},{filterName:"vpn.server-list.filter-dialog.location",keyNameInElementsArray:"location",type:$n.TextInput,maxlength:100},{filterName:"vpn.server-list.filter-dialog.public-key",keyNameInElementsArray:"pk",type:$n.TextInput,maxlength:100}]}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredServers){const e=this.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredServers.length/e),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const i=e*(this.currentPage-1);this.serversToShow=this.filteredServers.slice(i,i+e)}else this.serversToShow=null;this.dataSource=this.serversToShow}getCountryName(e){return ma[e.toUpperCase()]?ma[e.toUpperCase()]:e}}return t.\u0275fac=function(e){return new(e||t)(Y(In),Y(hn),Y(To),Y(Mr),Y(sre),Y(oc),Y(rc),Y(Dn),Y(Ji))},t.\u0275cmp=Ze({type:t,selectors:[["app-vpn-server-list"]],features:[nt],decls:4,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["topPart",""],["class","row",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[1,"loading-top-container"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","localVpnKey"],[1,"main-container"],[1,"width-limiter"],[1,"center-container","mt-4.5"],[4,"ngTemplateOutlet"],[1,"h-100","loading-indicator"],[1,"option-bar-container"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","allow-overflow"],[1,"option-bar"],["class","text-option selected",4,"ngIf"],["class","text-option",3,"routerLink",4,"ngIf"],[1,"option-bar-container","option-bar-margin",3,"ngClass"],[1,"icon-option",3,"matTooltip","click"],[3,"inline"],[1,"option-bar-container","option-bar-margin"],[4,"ngIf"],[1,"text-option","selected"],[1,"text-option",3,"routerLink"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],[1,"transparent-50"],["class","item",4,"ngFor","ngForOf"],[1,"item"],[1,"row"],[1,"col-12"],[1,"col-12","vpn-table-container"],[1,"center-container","mt-4.5",3,"ngClass"],["class","rounded-elevated-box",4,"ngIf"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],[1,"rounded-elevated-box"],[1,"box-internal-container"],["class","responsive-table-translucid d-none d-md-table","cellspacing","0","cellpadding","0",4,"ngIf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table"],["class","sortable-column date-column click-effect",3,"matTooltip","click",4,"ngIf"],[1,"sortable-column","flag-column","center","click-effect",3,"matTooltip","click"],[3,"inline",4,"ngIf"],[1,"sortable-column","name-column","click-effect",3,"click"],[1,"header-container"],[1,"header-text"],[1,"sortable-column","location-column","click-effect",3,"click"],[1,"sortable-column","pk-column","click-effect",3,"ngClass","matTooltip","click"],[1,"sortable-column","note-column","center","click-effect",3,"matTooltip","click"],[1,"actions"],[3,"ngClass","click",4,"ngFor","ngForOf"],[1,"sortable-column","date-column","click-effect",3,"matTooltip","click"],[3,"ngClass","click"],["class","date-column",4,"ngIf"],[1,"flag-column","icon-fixer"],[1,"flag"],[3,"matTooltip"],[1,"name-column"],[3,"isCurrentServer","isFavorite","isBlocked","isInHistory","hasPassword","name","pk","customName","defaultName"],[1,"location-column"],[1,"pk-column","history-pk-column"],[1,"d-inline-block","w-100",3,"shortSimple","text","click"],[1,"center","note-column"],["class","note-icon",3,"inline","matTooltip","click",4,"ngIf"],["mat-button","",1,"big-action-button","transparent-button","vpn-small-button",3,"matTooltip","click"],[1,"date-column"],[1,"note-icon",3,"inline","matTooltip","click"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"box-internal-container","font-sm"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(e,i){1&e&&(V(0,lre,8,7,"div",0),V(1,xre,31,20,"ng-template",null,1,Es),V(3,Jre,10,13,"div",2)),2&e&&(w("ngIf",i.loading||i.loadingBackendData),c(3),w("ngIf",!i.loading&&!i.loadingBackendData))},styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .header-container[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%], .note-column[_ngcontent-%COMP%], .pk-column[_ngcontent-%COMP%], .location-column[_ngcontent-%COMP%], .name-column[_ngcontent-%COMP%], .date-column[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}.center-container[_ngcontent-%COMP%]{text-align:center}.center-container[_ngcontent-%COMP%] app-paginator[_ngcontent-%COMP%]{display:inline-block}.loading-top-container[_ngcontent-%COMP%]{z-index:1}.loading-indicator[_ngcontent-%COMP%]{padding-top:30px;padding-bottom:20px}.deactivated[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}.option-bar-container[_ngcontent-%COMP%]{display:inline-block}.option-bar-container[_ngcontent-%COMP%] .allow-overflow[_ngcontent-%COMP%]{overflow:visible}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%]{display:flex;margin:-17px}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] > div[_ngcontent-%COMP%], .option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{height:55px;line-height:55px;cursor:pointer;color:#fff;text-decoration:none;-webkit-user-select:none;user-select:none}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:hover, .option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background:rgba(0,0,0,.2)}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] > .icon-option[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:inline-block}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] > .icon-option[_ngcontent-%COMP%]:active span[_ngcontent-%COMP%], .option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:active span[_ngcontent-%COMP%]{transform:scale(.95)}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] .text-option[_ngcontent-%COMP%]{padding:0 40px;font-size:1rem}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] .icon-option[_ngcontent-%COMP%]{width:55px;font-size:24px}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]{background:rgba(0,0,0,.36);cursor:unset!important}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]:hover{background:rgba(0,0,0,.6)}.option-bar-margin[_ngcontent-%COMP%]{margin-left:10px}.filter-label[_ngcontent-%COMP%]{font-size:.7rem;display:inline-block;padding:5px 10px;margin-bottom:7px}.filter-label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{vertical-align:middle}table[_ngcontent-%COMP%]{width:100%}tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:2px 5px!important;font-size:12px!important;font-weight:400!important}tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding-left:5px!important;padding-right:5px!important}.date-column[_ngcontent-%COMP%]{width:150px}.name-column[_ngcontent-%COMP%]{max-width:0;width:20%}.location-column[_ngcontent-%COMP%]{max-width:0;min-width:72px}.pk-column[_ngcontent-%COMP%]{max-width:0;width:25%}.history-pk-column[_ngcontent-%COMP%]{width:20%!important}.icon-fixer[_ngcontent-%COMP%]{line-height:0px}.note-column[_ngcontent-%COMP%]{max-width:0;width:3%;min-width:60px}.note-column[_ngcontent-%COMP%] .note-icon[_ngcontent-%COMP%]{opacity:.55;font-size:16px!important;display:inline}.flag-column[_ngcontent-%COMP%]{width:1px;line-height:0px}.actions[_ngcontent-%COMP%]{width:1px}.header-container[_ngcontent-%COMP%]{max-width:100%;display:inline-flex}.header-container[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%]{flex-grow:1}.flag[_ngcontent-%COMP%]{width:20px;height:15px;display:inline-block;margin-right:5px;background-image:url(/assets/img/big-flags/unknown.png);background-size:contain}.flag[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{width:20px;height:15px;background-size:contain}.center[_ngcontent-%COMP%]{text-align:center}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}"]}),t})();function eoe(t){const{subscriber:n,counter:e,period:i}=t;n.next(e),this.schedule({subscriber:n,counter:e+1,period:i},i)}const af=function(t,n){return{"small-text-icon":t,"big-text-icon":n}};function toe(t,n){if(1&t&&(D(0,"mat-icon",4),R(1,"translate"),I(2,"done"),C()),2&t){const e=z();w("ngClass",mn(5,af,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",H(1,3,"vpn.server-conditions.selected-info"))}}function noe(t,n){if(1&t&&(D(0,"mat-icon",5),R(1,"translate"),I(2,"clear"),C()),2&t){const e=z();w("ngClass",mn(5,af,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",H(1,3,"vpn.server-conditions.blocked-info"))}}function ioe(t,n){if(1&t&&(D(0,"mat-icon",6),R(1,"translate"),I(2,"star"),C()),2&t){const e=z();w("ngClass",mn(5,af,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",H(1,3,"vpn.server-conditions.favorite-info"))}}function roe(t,n){if(1&t&&(D(0,"mat-icon",4),R(1,"translate"),I(2,"history"),C()),2&t){const e=z();w("ngClass",mn(5,af,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",H(1,3,"vpn.server-conditions.history-info"))}}function ooe(t,n){if(1&t&&(D(0,"mat-icon",4),R(1,"translate"),I(2,"lock_outlined"),C()),2&t){const e=z();w("ngClass",mn(5,af,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",H(1,3,"vpn.server-conditions.has-password-info"))}}function soe(t,n){if(1&t&&(Ue(0),I(1),D(2,"mat-icon",7),I(3,"fiber_manual_record"),C(),I(4),We()),2&t){const e=z();c(1),ce(" ",e.customName," "),c(1),w("inline",!0),c(2),ce(" ",e.name,"\n")}}function aoe(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z();c(1),se(e.customName)}}function loe(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z();c(1),se(e.name)}}function coe(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z();c(1),se(H(2,1,e.defaultName))}}let NP=(()=>{class t{constructor(){this.isCurrentServer=!1,this.isFavorite=!1,this.isBlocked=!1,this.isInHistory=!1,this.hasPassword=!1,this.name="",this.customName="",this.pk="",this.defaultName="",this.adjustIconsForBigText=!1}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["app-vpn-server-name"]],inputs:{isCurrentServer:"isCurrentServer",isFavorite:"isFavorite",isBlocked:"isBlocked",isInHistory:"isInHistory",hasPassword:"hasPassword",name:"name",customName:"customName",pk:"pk",defaultName:"defaultName",adjustIconsForBigText:"adjustIconsForBigText"},decls:9,vars:9,consts:[["class","server-condition-icon",3,"ngClass","inline","matTooltip",4,"ngIf"],["class","server-condition-icon red-clear-text",3,"ngClass","inline","matTooltip",4,"ngIf"],["class","server-condition-icon yellow-clear-text",3,"ngClass","inline","matTooltip",4,"ngIf"],[4,"ngIf"],[1,"server-condition-icon",3,"ngClass","inline","matTooltip"],[1,"server-condition-icon","red-clear-text",3,"ngClass","inline","matTooltip"],[1,"server-condition-icon","yellow-clear-text",3,"ngClass","inline","matTooltip"],[1,"name-separator",3,"inline"]],template:function(e,i){1&e&&(V(0,toe,3,8,"mat-icon",0),V(1,noe,3,8,"mat-icon",1),V(2,ioe,3,8,"mat-icon",2),V(3,roe,3,8,"mat-icon",0),V(4,ooe,3,8,"mat-icon",0),V(5,soe,5,3,"ng-container",3),V(6,aoe,2,1,"ng-container",3),V(7,loe,2,1,"ng-container",3),V(8,coe,3,3,"ng-container",3)),2&e&&(w("ngIf",i.isCurrentServer),c(1),w("ngIf",i.isBlocked),c(1),w("ngIf",i.isFavorite),c(1),w("ngIf",i.isInHistory),c(1),w("ngIf",i.hasPassword),c(1),w("ngIf",i.customName&&i.name&&(!i.pk||i.name!==i.pk)),c(1),w("ngIf",(!i.name||i.pk&&i.name===i.pk)&&i.customName),c(1),w("ngIf",i.name&&(!i.pk||i.name!==i.pk)&&!i.customName),c(1),w("ngIf",(!i.name||i.pk&&i.name===i.pk)&&!i.customName))},dependencies:[Nn,Ft,Cn,vi,wt],styles:[".server-condition-icon[_ngcontent-%COMP%]{font-size:14px!important;line-height:14px!important;margin-right:3px;position:relative;width:14px!important;-webkit-user-select:none;user-select:none;cursor:default}.small-text-icon[_ngcontent-%COMP%]{top:2px}.big-text-icon[_ngcontent-%COMP%]{top:0}.name-separator[_ngcontent-%COMP%]{display:inline!important;font-size:8px!important;opacity:.5!important}"]}),t})();const YP=function(){return["vpn.title"]};function doe(t,n){if(1&t&&(D(0,"div",2)(1,"div"),xe(2,"app-top-bar",3),C(),xe(3,"app-loading-indicator"),C()),2&t){const e=z();c(2),w("titleParts",qn(5,YP))("tabsData",e.tabsData)("selectedTabIndex",0)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk)}}function uoe(t,n){1&t&&xe(0,"mat-spinner",32),2&t&&w("diameter",40)}function hoe(t,n){1&t&&(D(0,"mat-icon",33),I(1,"power_settings_new"),C()),2&t&&w("inline",!0)}function foe(t,n){if(1&t){const e=et();Ue(0),D(1,"div",34),xe(2,"div",35),C(),D(3,"div",36)(4,"div",37),xe(5,"app-vpn-server-name",38),C(),D(6,"div",39),xe(7,"app-copy-to-clipboard-text",40),C()(),D(8,"div",41),xe(9,"div"),C(),D(10,"div",42)(11,"mat-icon",43),ye("click",function(){return Pe(e),Oe(z(3).openServerOptions())}),R(12,"translate"),I(13,"settings"),C()(),We()}if(2&t){const e=z(3);c(2),di("background-image: url('assets/img/big-flags/"+e.currentRemoteServer.countryCode.toLocaleLowerCase()+".png');"),w("matTooltip",e.getCountryName(e.currentRemoteServer.countryCode)),c(3),w("isFavorite",e.currentRemoteServer.flag===e.serverFlags.Favorite)("isBlocked",e.currentRemoteServer.flag===e.serverFlags.Blocked)("hasPassword",e.currentRemoteServer.usedWithPassword)("name",e.currentRemoteServer.name)("pk",e.currentRemoteServer.pk)("customName",e.currentRemoteServer.customName),c(2),w("shortSimple",!0)("text",e.currentRemoteServer.pk),c(4),w("inline",!0)("matTooltip",H(12,13,"vpn.server-options.tooltip"))}}function poe(t,n){1&t&&(Ue(0),D(1,"div",44),I(2),R(3,"translate"),C(),We()),2&t&&(c(2),se(H(3,1,"vpn.status-page.no-server")))}const moe=function(t,n){return{custom:t,original:n}};function goe(t,n){if(1&t&&(D(0,"div",45)(1,"mat-icon",33),I(2,"info_outline"),C(),I(3),R(4,"translate"),C()),2&t){const e=z(3);c(1),w("inline",!0),c(2),ce(" ",kt(4,2,e.getNoteVar(),mn(5,moe,e.currentRemoteServer.personalNote,e.currentRemoteServer.note))," ")}}function _oe(t,n){if(1&t&&(D(0,"div",46)(1,"mat-icon",33),I(2,"cancel"),C(),I(3),R(4,"translate"),C()),2&t){const e=z(3);c(1),w("inline",!0),c(2),vo(" ",H(4,3,"vpn.status-page.last-error")," ",e.backendState.vpnClientAppData.lastErrorMsg," ")}}const HP=function(t){return{"disabled-button":t}};function boe(t,n){if(1&t){const e=et();D(0,"div",22)(1,"div",11)(2,"div",13),I(3),R(4,"translate"),C(),D(5,"div")(6,"div",23),ye("click",function(){return Pe(e),Oe(z(2).start())}),D(7,"div",24),xe(8,"div",25),C(),D(9,"div",24),xe(10,"div",26),C(),V(11,uoe,1,1,"mat-spinner",27),V(12,hoe,2,1,"mat-icon",28),C()(),D(13,"div",29),V(14,foe,14,15,"ng-container",18),V(15,poe,4,3,"ng-container",18),C(),D(16,"div"),V(17,goe,5,8,"div",30),C(),D(18,"div"),V(19,_oe,5,5,"div",31),C()()()}if(2&t){const e=z(2);c(3),se(H(4,8,"vpn.status-page.start-title")),c(3),w("ngClass",He(10,HP,e.showBusy)),c(5),w("ngIf",e.showBusy),c(1),w("ngIf",!e.showBusy),c(2),w("ngIf",e.currentRemoteServer),c(1),w("ngIf",!e.currentRemoteServer),c(2),w("ngIf",e.currentRemoteServer&&(e.currentRemoteServer.note||e.currentRemoteServer.personalNote)),c(2),w("ngIf",e.backendState&&e.backendState.vpnClientAppData&&e.backendState.vpnClientAppData.lastErrorMsg)}}function voe(t,n){if(1&t&&(D(0,"div",77)(1,"mat-icon",33),I(2,"cancel"),C(),I(3),R(4,"translate"),C()),2&t){const e=z(3);c(1),w("inline",!0),c(2),vo(" ",H(4,3,"vpn.status-page.last-error")," ",e.backendState.vpnClientAppData.connectionData.error," ")}}function yoe(t,n){1&t&&(D(0,"div"),xe(1,"mat-spinner",32),C()),2&t&&(c(1),w("diameter",24))}function Moe(t,n){1&t&&(D(0,"mat-icon",33),I(1,"power_settings_new"),C()),2&t&&w("inline",!0)}const Vd=function(t){return{showValue:!0,showUnit:!0,showPerSecond:!0,limitDecimals:!0,useBits:t}},BP=function(t){return{showValue:!0,showUnit:!0,showPerSecond:!0,useBits:t}},VP=function(t){return{showValue:!0,showUnit:!0,useBits:t}},Ng=function(t){return{time:t}};function woe(t,n){if(1&t){const e=et();D(0,"div",47)(1,"div",11)(2,"div",48)(3,"div",49)(4,"mat-icon",33),I(5,"timer"),C(),D(6,"span"),I(7),C()()(),D(8,"div",50),I(9),R(10,"translate"),C(),D(11,"div",51)(12,"div",52),I(13),R(14,"translate"),C(),xe(15,"div"),C(),D(16,"div",53),I(17),R(18,"translate"),C(),V(19,voe,5,5,"div",54),D(20,"div",55)(21,"div",56),R(22,"translate"),D(23,"div",57),xe(24,"app-line-chart",58),C(),D(25,"div",59)(26,"div",60)(27,"div",61),I(28),R(29,"autoScale"),C(),xe(30,"div",62),C()(),D(31,"div",59)(32,"div",63)(33,"div",61),I(34),R(35,"autoScale"),C(),xe(36,"div",62),C()(),D(37,"div",59)(38,"div",64)(39,"div",61),I(40),R(41,"autoScale"),C()()(),D(42,"div",65)(43,"mat-icon",66),I(44,"keyboard_backspace"),C(),D(45,"div",67),I(46),R(47,"autoScale"),C(),D(48,"div",68),I(49),R(50,"autoScale"),R(51,"translate"),C()()(),D(52,"div",56),R(53,"translate"),D(54,"div",57),xe(55,"app-line-chart",58),C(),D(56,"div",69)(57,"div",60)(58,"div",61),I(59),R(60,"autoScale"),C(),xe(61,"div",62),C()(),D(62,"div",59)(63,"div",63)(64,"div",61),I(65),R(66,"autoScale"),C(),xe(67,"div",62),C()(),D(68,"div",59)(69,"div",64)(70,"div",61),I(71),R(72,"autoScale"),C()()(),D(73,"div",65)(74,"mat-icon",70),I(75,"keyboard_backspace"),C(),D(76,"div",67),I(77),R(78,"autoScale"),C(),D(79,"div",68),I(80),R(81,"autoScale"),R(82,"translate"),C()()()(),D(83,"div",71)(84,"div",72),R(85,"translate"),D(86,"div",57),xe(87,"app-line-chart",73),C(),D(88,"div",69)(89,"div",60)(90,"div",61),I(91),R(92,"translate"),C(),xe(93,"div",62),C()(),D(94,"div",59)(95,"div",63)(96,"div",61),I(97),R(98,"translate"),C(),xe(99,"div",62),C()(),D(100,"div",59)(101,"div",64)(102,"div",61),I(103),R(104,"translate"),C()()(),D(105,"div",65)(106,"mat-icon",33),I(107,"swap_horiz"),C(),D(108,"div"),I(109),R(110,"translate"),C()()()(),D(111,"div",74),ye("click",function(){return Pe(e),Oe(z(2).stop())}),D(112,"div",75)(113,"div",76),V(114,yoe,2,1,"div",18),V(115,Moe,2,1,"mat-icon",28),D(116,"span"),I(117),R(118,"translate"),C()()()()()()}if(2&t){const e=z(2);c(4),w("inline",!0),c(3),se(e.connectionTimeString),c(2),se(H(10,58,"vpn.connection-info.state-title")),c(4),se(H(14,60,e.currentStateText)),c(2),eo("state-line "+e.currentStateLineClass),c(2),se(H(18,62,e.currentStateText+"-info")),c(2),w("ngIf",e.backendState&&e.backendState.vpnClientAppData&&e.backendState.vpnClientAppData.connectionData&&e.backendState.vpnClientAppData.connectionData.error),c(2),w("matTooltip",H(22,64,"vpn.status-page.upload-info")),c(3),w("animated",!1)("data",e.sentHistory)("min",e.minUploadInGraph)("max",e.maxUploadInGraph),c(4),ce(" ",kt(29,66,e.maxUploadInGraph,He(118,Vd,e.showSpeedsInBits))," "),c(2),di("margin-top: "+e.graphsTopInternalMargin+"px;"),c(4),ce(" ",kt(35,69,e.midUploadInGraph,He(120,Vd,e.showSpeedsInBits))," "),c(2),di("margin-top: "+e.graphsTopInternalMargin/2+"px;"),c(4),ce(" ",kt(41,72,e.minUploadInGraph,He(122,Vd,e.showSpeedsInBits))," "),c(3),w("inline",!0),c(3),se(kt(47,75,e.uploadSpeed,He(124,BP,e.showSpeedsInBits))),c(3),vo(" ",kt(50,78,e.totalUploaded,He(126,VP,e.showTotalsInBits))," ",H(51,81,"vpn.status-page.total-data-label")," "),c(3),w("matTooltip",H(53,83,"vpn.status-page.download-info")),c(3),w("animated",!1)("data",e.receivedHistory)("min",e.minDownloadInGraph)("max",e.maxDownloadInGraph),c(4),ce(" ",kt(60,85,e.maxDownloadInGraph,He(128,Vd,e.showSpeedsInBits))," "),c(2),di("margin-top: "+e.graphsTopInternalMargin+"px;"),c(4),ce(" ",kt(66,88,e.midDownloadInGraph,He(130,Vd,e.showSpeedsInBits))," "),c(2),di("margin-top: "+e.graphsTopInternalMargin/2+"px;"),c(4),ce(" ",kt(72,91,e.minDownloadInGraph,He(132,Vd,e.showSpeedsInBits))," "),c(3),w("inline",!0),c(3),se(kt(78,94,e.downloadSpeed,He(134,BP,e.showSpeedsInBits))),c(3),vo(" ",kt(81,97,e.totalDownloaded,He(136,VP,e.showTotalsInBits))," ",H(82,100,"vpn.status-page.total-data-label")," "),c(4),w("matTooltip",H(85,102,"vpn.status-page.latency-info")),c(3),w("animated",!1)("data",e.latencyHistory)("min",e.minLatencyInGraph)("max",e.maxLatencyInGraph),c(4),ce(" ",kt(92,104,"common."+e.getLatencyValueString(e.maxLatencyInGraph),He(138,Ng,e.getPrintableLatency(e.maxLatencyInGraph)))," "),c(2),di("margin-top: "+e.graphsTopInternalMargin+"px;"),c(4),ce(" ",kt(98,107,"common."+e.getLatencyValueString(e.midLatencyInGraph),He(140,Ng,e.getPrintableLatency(e.midLatencyInGraph)))," "),c(2),di("margin-top: "+e.graphsTopInternalMargin/2+"px;"),c(4),ce(" ",kt(104,110,"common."+e.getLatencyValueString(e.minLatencyInGraph),He(142,Ng,e.getPrintableLatency(e.minLatencyInGraph)))," "),c(3),w("inline",!0),c(3),se(kt(110,113,"common."+e.getLatencyValueString(e.latency),He(144,Ng,e.getPrintableLatency(e.latency)))),c(2),w("ngClass",He(146,HP,e.showBusy)),c(3),w("ngIf",e.showBusy),c(1),w("ngIf",!e.showBusy),c(2),se(H(118,116,"vpn.status-page.disconnect"))}}function Coe(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z(3);c(1),se(e.currentIp)}}function xoe(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"common.unknown")))}function koe(t,n){1&t&&xe(0,"mat-spinner",32),2&t&&w("diameter",20)}function Soe(t,n){1&t&&(D(0,"mat-icon",81),R(1,"translate"),I(2,"warning"),C()),2&t&&w("inline",!0)("matTooltip",H(1,2,"vpn.status-page.data.ip-problem-info"))}function Doe(t,n){if(1&t){const e=et();D(0,"mat-icon",82),ye("click",function(){return Pe(e),Oe(z(3).getIp())}),R(1,"translate"),I(2,"refresh"),C()}2&t&&w("inline",!0)("matTooltip",H(1,2,"vpn.status-page.data.ip-refresh-info"))}function Toe(t,n){if(1&t&&(D(0,"div",78),V(1,Coe,2,1,"ng-container",18),V(2,xoe,3,3,"ng-container",18),V(3,koe,1,1,"mat-spinner",27),V(4,Soe,3,4,"mat-icon",79),V(5,Doe,3,4,"mat-icon",80),C()),2&t){const e=z(2);c(1),w("ngIf",e.currentIp),c(1),w("ngIf",!e.currentIp&&!e.loadingCurrentIp),c(1),w("ngIf",e.loadingCurrentIp),c(1),w("ngIf",e.problemGettingIp),c(1),w("ngIf",!e.loadingCurrentIp)}}function Loe(t,n){1&t&&(D(0,"div",78),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"vpn.status-page.data.unavailable")," "))}function Eoe(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z(3);c(1),se(e.ipCountry)}}function Ioe(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"common.unknown")))}function Poe(t,n){1&t&&xe(0,"mat-spinner",32),2&t&&w("diameter",20)}function Ooe(t,n){1&t&&(D(0,"mat-icon",81),R(1,"translate"),I(2,"warning"),C()),2&t&&w("inline",!0)("matTooltip",H(1,2,"vpn.status-page.data.ip-country-problem-info"))}function Aoe(t,n){if(1&t&&(D(0,"div",78),V(1,Eoe,2,1,"ng-container",18),V(2,Ioe,3,3,"ng-container",18),V(3,Poe,1,1,"mat-spinner",27),V(4,Ooe,3,4,"mat-icon",79),C()),2&t){const e=z(2);c(1),w("ngIf",e.ipCountry),c(1),w("ngIf",!e.ipCountry&&!e.loadingCurrentIp),c(1),w("ngIf",e.loadingCurrentIp),c(1),w("ngIf",e.problemGettingIp)}}function Foe(t,n){1&t&&(D(0,"div",78),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"vpn.status-page.data.unavailable")," "))}function Roe(t,n){if(1&t){const e=et();D(0,"div")(1,"div",13),I(2),R(3,"translate"),C(),D(4,"div",78),xe(5,"app-vpn-server-name",83),D(6,"mat-icon",82),ye("click",function(){return Pe(e),Oe(z(2).openServerOptions())}),R(7,"translate"),I(8,"settings"),C()()()}if(2&t){const e=z(2);c(2),se(H(3,10,"vpn.status-page.data.server")),c(3),w("isFavorite",e.currentRemoteServer.flag===e.serverFlags.Favorite)("isBlocked",e.currentRemoteServer.flag===e.serverFlags.Blocked)("hasPassword",e.currentRemoteServer.usedWithPassword)("adjustIconsForBigText",!0)("name",e.currentRemoteServer.name)("pk",e.currentRemoteServer.pk)("customName",e.currentRemoteServer.customName),c(1),w("inline",!0)("matTooltip",H(7,12,"vpn.server-options.tooltip"))}}function Noe(t,n){1&t&&xe(0,"div",15)}function Yoe(t,n){if(1&t&&(D(0,"div")(1,"div",13),I(2),R(3,"translate"),C(),D(4,"div",20),I(5),C()()),2&t){const e=z(2);c(2),se(H(3,2,"vpn.status-page.data.server-note")),c(3),ce(" ",e.currentRemoteServer.personalNote," ")}}function Hoe(t,n){1&t&&xe(0,"div",15)}function Boe(t,n){if(1&t&&(D(0,"div")(1,"div",13),I(2),R(3,"translate"),C(),D(4,"div",20),I(5),C()()),2&t){const e=z(2);c(2),se(H(3,2,"vpn.status-page.data."+(e.currentRemoteServer.personalNote?"original-":"")+"server-note")),c(3),ce(" ",e.currentRemoteServer.note," ")}}function Voe(t,n){1&t&&xe(0,"div",15)}function joe(t,n){if(1&t&&(D(0,"div")(1,"div",13),I(2),R(3,"translate"),C(),D(4,"div",20),xe(5,"app-copy-to-clipboard-text",21),C()()),2&t){const e=z(2);c(2),se(H(3,2,"vpn.status-page.data.remote-pk")),c(3),w("text",e.currentRemoteServer.pk)}}function zoe(t,n){1&t&&xe(0,"div",15)}function Uoe(t,n){if(1&t&&(D(0,"div",4)(1,"div",5)(2,"div",6),xe(3,"app-top-bar",3),C()(),D(4,"div",7),V(5,boe,20,12,"div",8),V(6,woe,119,148,"div",9),D(7,"div",10)(8,"div",11)(9,"div",12)(10,"div")(11,"div",13),I(12),R(13,"translate"),C(),V(14,Toe,6,5,"div",14),V(15,Loe,3,3,"div",14),C(),xe(16,"div",15),D(17,"div")(18,"div",13),I(19),R(20,"translate"),C(),V(21,Aoe,5,4,"div",14),V(22,Foe,3,3,"div",14),C(),xe(23,"div",16)(24,"div",17)(25,"div",16),V(26,Roe,9,14,"div",18),V(27,Noe,1,0,"div",19),V(28,Yoe,6,4,"div",18),V(29,Hoe,1,0,"div",19),V(30,Boe,6,4,"div",18),V(31,Voe,1,0,"div",19),V(32,joe,6,4,"div",18),V(33,zoe,1,0,"div",19),D(34,"div")(35,"div",13),I(36),R(37,"translate"),C(),D(38,"div",20),xe(39,"app-copy-to-clipboard-text",21),C()()()()()()()),2&t){const e=z();c(3),w("titleParts",qn(29,YP))("tabsData",e.tabsData)("selectedTabIndex",0)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk),c(2),w("ngIf",!e.showStarted),c(1),w("ngIf",e.showStarted),c(6),se(H(13,23,"vpn.status-page.data.ip")),c(2),w("ngIf",e.ipInfoAllowed),c(1),w("ngIf",!e.ipInfoAllowed),c(4),se(H(20,25,"vpn.status-page.data.country")),c(2),w("ngIf",e.ipInfoAllowed),c(1),w("ngIf",!e.ipInfoAllowed),c(4),w("ngIf",e.showStarted&&e.currentRemoteServer),c(1),w("ngIf",e.showStarted&&e.currentRemoteServer),c(1),w("ngIf",e.showStarted&&e.currentRemoteServer&&e.currentRemoteServer.personalNote),c(1),w("ngIf",e.showStarted&&e.currentRemoteServer&&e.currentRemoteServer.personalNote),c(1),w("ngIf",e.showStarted&&e.currentRemoteServer&&e.currentRemoteServer.note),c(1),w("ngIf",e.showStarted&&e.currentRemoteServer&&e.currentRemoteServer.note),c(1),w("ngIf",e.showStarted&&e.currentRemoteServer),c(1),w("ngIf",e.showStarted&&e.currentRemoteServer),c(3),se(H(37,27,"vpn.status-page.data.local-pk")),c(3),w("text",e.currentLocalPk)}}let Woe=(()=>{class t extends er{constructor(e,i,o,s,a,l,d){super(),this.vpnClientService=e,this.vpnSavedDataService=i,this.snackbarService=o,this.translateService=s,this.route=a,this.dialog=l,this.router=d,this.persistentServerDataResponseKey="serv-dat-response",this.persistentIpResponseKey="serv-ip-response",this.tabsData=lr.vpnTabsData,this.sentHistory=[0,0,0,0,0,0,0,0,0,0],this.receivedHistory=[0,0,0,0,0,0,0,0,0,0],this.latencyHistory=[0,0,0,0,0,0,0,0,0,0],this.minUploadInGraph=0,this.midUploadInGraph=0,this.maxUploadInGraph=0,this.minDownloadInGraph=0,this.midDownloadInGraph=0,this.maxDownloadInGraph=0,this.minLatencyInGraph=0,this.midLatencyInGraph=0,this.maxLatencyInGraph=0,this.graphsTopInternalMargin=$1.topInternalMargin,this.connectionTimeString="00:00:00",this.calculatedSegs=-1,this.uploadSpeed=0,this.downloadSpeed=0,this.totalUploaded=0,this.totalDownloaded=0,this.latency=0,this.showSpeedsInBits=!0,this.showTotalsInBits=!1,this.loading=!0,this.showStartedLastValue=!1,this.showStarted=!1,this.lastAppState=null,this.showBusy=!1,this.stopRequested=!1,this.loadingCurrentIp=!0,this.problemGettingIp=!1,this.lastIpRefresDate=0,this.serverFlags=Pn,this.ipInfoAllowed=this.vpnSavedDataService.getCheckIpSetting();const _=this.vpnSavedDataService.getDataUnitsSetting();_===Sr.OnlyBits?(this.showSpeedsInBits=!0,this.showTotalsInBits=!0):_===Sr.OnlyBytes?(this.showSpeedsInBits=!1,this.showTotalsInBits=!1):(this.showSpeedsInBits=!0,this.showTotalsInBits=!1)}ngOnInit(){return this.navigationsSubscription=this.route.paramMap.subscribe(e=>{e.has("key")&&(this.currentLocalPk=e.get("key"),lr.changeCurrentPk(this.currentLocalPk),this.tabsData=lr.vpnTabsData),setTimeout(()=>this.navigationsSubscription.unsubscribe()),this.startGettingData(!0),this.currentRemoteServerSubscription=this.vpnSavedDataService.currentServerObservable.subscribe(i=>{this.currentRemoteServer=i})}),super.ngOnInit()}startGettingData(e){const i=e?this.getLocalValue(this.persistentServerDataResponseKey):null;let o=this.vpnClientService.backendState;i&&(o=$e(JSON.parse(i.value))),this.dataSubscription=o.subscribe(s=>{if(i||this.saveLocalValue(this.persistentServerDataResponseKey,JSON.stringify(s)),s&&s.serviceState!==jn.PerformingInitialCheck){const a=!this.backendState;if(this.backendState=s,a?(this.getIp(!0,e),console.info(2),console.info(e)):(this.lastAppState===on.Running&&s.vpnClientAppData.appState!==on.Running||this.lastAppState!==on.Running&&s.vpnClientAppData.appState===on.Running)&&(this.getIp(!0,e),console.info(1)),this.showStarted=s.vpnClientAppData.running||s.vpnClientAppData.appState!==on.Stopped,this.showStartedLastValue!==this.showStarted){for(let l=0;l<10;l++)this.receivedHistory[l]=0,this.sentHistory[l]=0,this.latencyHistory[l]=0;this.updateGraphLimits(),this.uploadSpeed=0,this.downloadSpeed=0,this.totalUploaded=0,this.totalDownloaded=0,this.latency=0}if(this.lastAppState=s.vpnClientAppData.appState,this.showStartedLastValue=this.showStarted,this.stopRequested?this.showStarted||(this.stopRequested=!1,this.showBusy=s.busy):this.showBusy=s.busy,s.vpnClientAppData.connectionData){for(let l=0;l<10;l++)this.receivedHistory[l]=s.vpnClientAppData.connectionData.downloadSpeedHistory[l],this.sentHistory[l]=s.vpnClientAppData.connectionData.uploadSpeedHistory[l],this.latencyHistory[l]=s.vpnClientAppData.connectionData.latencyHistory[l];this.updateGraphLimits(),this.uploadSpeed=s.vpnClientAppData.connectionData.uploadSpeed,this.downloadSpeed=s.vpnClientAppData.connectionData.downloadSpeed,this.totalUploaded=s.vpnClientAppData.connectionData.totalUploaded,this.totalDownloaded=s.vpnClientAppData.connectionData.totalDownloaded,this.latency=s.vpnClientAppData.connectionData.latency}s.vpnClientAppData.running&&s.vpnClientAppData.appState===on.Running&&s.vpnClientAppData.connectionData&&s.vpnClientAppData.connectionData.connectionDuration?(-1===this.calculatedSegs||s.vpnClientAppData.connectionData.connectionDuration>this.calculatedSegs+2||s.vpnClientAppData.connectionData.connectionDuration(e.add(n.schedule(eoe,t,{subscriber:e,counter:0,period:t})),e))}(1e3).subscribe(()=>{this.calculatedSegs+=1,this.refreshConnectionTimeString()})):this.timeUpdateSubscription&&(this.timeUpdateSubscription.unsubscribe(),this.timeUpdateSubscription=null,this.calculatedSegs=-1,this.connectionTimeString="00:00:00"),this.loading=!1}i&&this.startGettingData(!1)})}refreshConnectionTimeString(){const e=this.calculatedSegs%60,i=Math.floor(this.calculatedSegs/60),o=i%60,s=Math.floor(i/60);this.connectionTimeString=String(s).padStart(2,"0")+":"+String(o).padStart(2,"0")+":"+String(e).padStart(2,"0")}ngOnDestroy(){this.dataSubscription.unsubscribe(),this.navigationsSubscription.unsubscribe(),this.currentRemoteServerSubscription.unsubscribe(),this.closeOperationSubscription(),this.ipSubscription&&this.ipSubscription.unsubscribe(),this.timeUpdateSubscription&&this.timeUpdateSubscription.unsubscribe()}start(){if(!this.currentRemoteServer)return this.router.navigate(["vpn",this.currentLocalPk,"servers"]),void setTimeout(()=>this.snackbarService.showWarning("vpn.status-page.select-server-warning"),100);this.currentRemoteServer.flag!==Pn.Blocked?(this.showBusy=!0,this.vpnClientService.start()):this.snackbarService.showError("vpn.starting-blocked-server-error")}stop(){if(!this.backendState.vpnClientAppData.killswitch)return void this.finishStoppingVpn();const e=Jt.createConfirmationDialog(this.dialog,"vpn.status-page.disconnect-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.closeModal(),this.finishStoppingVpn()})}finishStoppingVpn(){this.stopRequested=!0,this.showBusy=!0,this.vpnClientService.stop()}openServerOptions(){lr.openServerOptions(this.currentRemoteServer,this.router,this.vpnSavedDataService,this.vpnClientService,this.snackbarService,this.dialog).subscribe()}getCountryName(e){return ma[e.toUpperCase()]?ma[e.toUpperCase()]:e}getNoteVar(){return this.currentRemoteServer.note&&this.currentRemoteServer.personalNote?"vpn.server-list.notes-info":!this.currentRemoteServer.note&&this.currentRemoteServer.personalNote?this.currentRemoteServer.personalNote:this.currentRemoteServer.note}getLatencyValueString(e){return lr.getLatencyValueString(e)}getPrintableLatency(e){return lr.getPrintableLatency(e)}get currentStateText(){return this.backendState.vpnClientAppData.appState===on.Stopped?"vpn.connection-info.state-disconnected":this.backendState.vpnClientAppData.appState===on.Connecting?"vpn.connection-info.state-connecting":this.backendState.vpnClientAppData.appState===on.Running?"vpn.connection-info.state-connected":this.backendState.vpnClientAppData.appState===on.ShuttingDown?"vpn.connection-info.state-disconnecting":this.backendState.vpnClientAppData.appState===on.Reconnecting?"vpn.connection-info.state-reconnecting":void 0}get currentStateLineClass(){return this.backendState.vpnClientAppData.appState===on.Stopped?"red-line":this.backendState.vpnClientAppData.appState===on.Connecting?"yellow-line":this.backendState.vpnClientAppData.appState===on.Running?"green-line":"yellow-line"}closeOperationSubscription(){this.operationSubscription&&this.operationSubscription.unsubscribe()}updateGraphLimits(){const e=this.calculateGraphLimits(this.sentHistory);this.minUploadInGraph=e[0],this.midUploadInGraph=e[1],this.maxUploadInGraph=e[2];const i=this.calculateGraphLimits(this.receivedHistory);this.minDownloadInGraph=i[0],this.midDownloadInGraph=i[1],this.maxDownloadInGraph=i[2];const o=this.calculateGraphLimits(this.latencyHistory);this.minLatencyInGraph=o[0],this.midLatencyInGraph=o[1],this.maxLatencyInGraph=o[2]}calculateGraphLimits(e){let o=0,s=0;return e.forEach(a=>{a>o&&(o=a)}),0===o&&(o+=1),s=new(Eg())(o).minus(0).dividedBy(2).plus(0).decimalPlaces(1).toNumber(),[0,s,o]}getIp(e=!1,i=!1){if(!this.ipInfoAllowed)return;if(!e){if(this.loadingCurrentIp)return void this.snackbarService.showWarning("vpn.status-page.data.ip-refresh-loading-warning");const a=1e4;if(Date.now()-this.lastIpRefresDate{o||this.saveLocalValue(this.persistentIpResponseKey,JSON.stringify(a)),this.loadingCurrentIp=!1,this.lastIpRefresDate=Date.now(),a?(this.problemGettingIp=!1,this.currentIp=a[0],this.ipCountry=a[1]):this.problemGettingIp=!0,o&&this.getIp(e,!1)},()=>{this.lastIpRefresDate=Date.now(),this.loadingCurrentIp=!1,this.problemGettingIp=!1})}}return t.\u0275fac=function(e){return new(e||t)(Y(oc),Y(rc),Y(Dn),Y(To),Y(Mr),Y(In),Y(hn))},t.\u0275cmp=Ze({type:t,selectors:[["app-vpn-status"]],features:[nt],decls:2,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["class","general-container",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","localVpnKey"],[1,"general-container"],[1,"row"],[1,"col-12"],[1,"row","flex-1"],["class","col-7 column left-area",4,"ngIf"],["class","col-7 column left-area-connected",4,"ngIf"],[1,"col-5","column","right-area"],[1,"column-container"],[1,"content-area"],[1,"title"],["class","big-text",4,"ngIf"],[1,"margin"],[1,"big-margin"],[1,"separator"],[4,"ngIf"],["class","margin",4,"ngIf"],[1,"small-text"],[3,"text"],[1,"col-7","column","left-area"],[1,"start-button",3,"ngClass","click"],[1,"start-button-img-container"],[1,"start-button-img"],[1,"start-button-img","animated-button"],[3,"diameter",4,"ngIf"],[3,"inline",4,"ngIf"],[1,"current-server"],["class","lower-text current-server-note",4,"ngIf"],["class","lower-text last-error",4,"ngIf"],[3,"diameter"],[3,"inline"],[1,"flag"],[3,"matTooltip"],[1,"text-container"],[1,"top-line"],["defaultName","vpn.unnamed",3,"isFavorite","isBlocked","hasPassword","name","pk","customName"],[1,"bottom-line"],[3,"shortSimple","text"],[1,"icon-button-separator"],[1,"icon-button"],[1,"transparent-button","vpn-small-button",3,"inline","matTooltip","click"],[1,"none"],[1,"lower-text","current-server-note"],[1,"lower-text","last-error"],[1,"col-7","column","left-area-connected"],[1,"time-container"],[1,"time-content"],[1,"state-title"],[1,"d-inline-block"],[1,"state-text"],[1,"state-explanation"],["class","last-connected-error",4,"ngIf"],[1,"data-container"],[1,"rounded-elevated-box","data-box","big-box",3,"matTooltip"],[1,"chart-container"],["height","140","color","#00000080",3,"animated","data","min","max"],[1,"chart-label"],[1,"label-container","label-top"],[1,"label"],[1,"line"],[1,"label-container","label-mid"],[1,"label-container","label-bottom"],[1,"content"],[1,"upload",3,"inline"],[1,"speed"],[1,"total"],[1,"chart-label","top-chart-label"],[1,"download",3,"inline"],[1,"latency-container"],[1,"rounded-elevated-box","data-box","small-box",3,"matTooltip"],["height","50","color","#00000080",3,"animated","data","min","max"],[1,"disconnect-button",3,"ngClass","click"],[1,"disconnect-button-container"],[1,"d-inline-flex"],[1,"last-connected-error"],[1,"big-text"],["class","small-icon blinking",3,"inline","matTooltip",4,"ngIf"],["class","big-icon transparent-button vpn-small-button",3,"inline","matTooltip","click",4,"ngIf"],[1,"small-icon","blinking",3,"inline","matTooltip"],[1,"big-icon","transparent-button","vpn-small-button",3,"inline","matTooltip","click"],["defaultName","vpn.unnamed",3,"isFavorite","isBlocked","hasPassword","adjustIconsForBigText","name","pk","customName"]],template:function(e,i){1&e&&(V(0,doe,4,6,"div",0),V(1,Uoe,40,30,"div",1)),2&e&&(w("ngIf",i.loading),c(1),w("ngIf",!i.loading))},dependencies:[Nn,Ft,Cn,vi,ec,W1,$1,as,sc,NP,wt,sf],styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .bottom-line[_ngcontent-%COMP%], .left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .top-line[_ngcontent-%COMP%], .left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .none[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}.general-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.column[_ngcontent-%COMP%]{height:100%;display:flex;align-items:center;padding-top:40px;padding-bottom:20px}.column[_ngcontent-%COMP%] .column-container[_ngcontent-%COMP%]{width:100%;text-align:center}.left-area-connected[_ngcontent-%COMP%] .time-container[_ngcontent-%COMP%]{background:rgba(0,0,0,.7);border-radius:100px;font-size:.8rem;padding:8px 15px;display:inline-block}.left-area-connected[_ngcontent-%COMP%] .time-container[_ngcontent-%COMP%] .time-content[_ngcontent-%COMP%]{color:#bbb}.left-area-connected[_ngcontent-%COMP%] .time-container[_ngcontent-%COMP%] .time-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:10px}.left-area-connected[_ngcontent-%COMP%] .time-container[_ngcontent-%COMP%] .time-content[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{vertical-align:top}.left-area-connected[_ngcontent-%COMP%] .state-title[_ngcontent-%COMP%]{font-size:1rem;color:#bbb}.left-area-connected[_ngcontent-%COMP%] .state-text[_ngcontent-%COMP%]{font-size:2rem;text-transform:uppercase}.left-area-connected[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%]{height:1px;width:100%;margin-bottom:5px}.left-area-connected[_ngcontent-%COMP%] .green-line[_ngcontent-%COMP%]{background-color:#2ecc54}.left-area-connected[_ngcontent-%COMP%] .yellow-line[_ngcontent-%COMP%]{background-color:#d48b05}.left-area-connected[_ngcontent-%COMP%] .red-line[_ngcontent-%COMP%]{background-color:#da3439}.left-area-connected[_ngcontent-%COMP%] .state-explanation[_ngcontent-%COMP%]{font-size:.7rem}.left-area-connected[_ngcontent-%COMP%] .last-connected-error[_ngcontent-%COMP%]{margin-top:15px;font-size:.8rem;color:#ff393f}.left-area-connected[_ngcontent-%COMP%] .last-connected-error[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:2px;display:inline;-webkit-user-select:none;user-select:none}.left-area-connected[_ngcontent-%COMP%] .data-container[_ngcontent-%COMP%]{margin-top:20px}.left-area-connected[_ngcontent-%COMP%] .latency-container[_ngcontent-%COMP%]{margin-bottom:20px}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%]{cursor:default;display:inline-block}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%]{height:0px;position:relative;top:-3px;left:-3px}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%]{height:0px;text-align:left}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%]{position:relative;top:-3px;left:-3px;display:flex;margin-right:-6px}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.6rem;margin-left:5px;opacity:.2}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%] .line[_ngcontent-%COMP%]{height:1px;width:10px;background-color:#fff;flex-grow:1;opacity:.1;margin-left:10px;margin-right:5px}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-top[_ngcontent-%COMP%]{align-items:flex-start}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-mid[_ngcontent-%COMP%]{align-items:center}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-bottom[_ngcontent-%COMP%]{align-items:flex-end;position:relative;top:-6px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%]{width:170px;height:140px;margin:5px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%]{width:170px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{width:170px;height:140px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:20px;position:relative;top:-3px;left:-3px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:25px;transform:rotate(-90deg);width:40px;height:40px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{transform:rotate(-90deg)}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .upload[_ngcontent-%COMP%]{transform:rotate(90deg)}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .speed[_ngcontent-%COMP%]{font-size:.875rem}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .total[_ngcontent-%COMP%]{font-size:.8rem;color:#bbb}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%]{height:140px}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%]{width:352px;height:50px}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%]{width:352px}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{display:inline-flex;align-items:center;height:100%;font-size:.875rem;position:relative}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;height:25px;margin-right:5px}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%]{height:50px}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%]{background:linear-gradient(#940000,#7b0000) no-repeat!important;box-shadow:5px 5px 7px #00000080;width:352px;font-size:24px;display:inline-block;border-radius:10px;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%]:hover{background:linear-gradient(#a10000,#900000) no-repeat!important}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%]:active{transform:scale(.98);box-shadow:0 0 7px #00000080}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%]{background-image:url(/assets/img/background-pattern.png);padding:12px}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:10px;align-self:center}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%]{display:inline-block;position:relative;top:4px;margin-right:10px;align-self:center}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{position:relative;top:-2px;line-height:1.7}.left-area[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:700;text-align:center;text-transform:uppercase}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%]{text-align:center;margin:10px 0;cursor:pointer;display:inline-block;width:140px;height:140px}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%]:active mat-icon[_ngcontent-%COMP%]{transform:scale(.9)}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%]:hover .start-button-img-container[_ngcontent-%COMP%]{opacity:1}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{text-shadow:0px 0px 5px white}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .start-button-img-container[_ngcontent-%COMP%]{width:0px;height:0px;opacity:.7}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .start-button-img-container[_ngcontent-%COMP%] .start-button-img[_ngcontent-%COMP%]{display:inline-block;background-image:url(/assets/img/start-button.png);background-size:contain;width:140px;height:140px}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .start-button-img-container[_ngcontent-%COMP%] .animated-button[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_button-animation 4s linear infinite;pointer-events:none}@keyframes _ngcontent-%COMP%_button-animation{0%{transform:scale(1.5);opacity:0}25%{transform:scale(1);opacity:.8}50%{transform:scale(1.5);opacity:0}to{transform:scale(1.5);opacity:0}}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{line-height:140px;font-size:50px;-webkit-user-select:none;user-select:none;text-shadow:0px 0px 2px white}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%]{display:inline-block;margin-top:50px;opacity:.5}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%]{display:inline-flex;background:rgba(0,0,0,.7);border-radius:10px;padding:10px 15px;max-width:280px;text-align:left}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .none[_ngcontent-%COMP%]{font-size:.875rem}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .flag[_ngcontent-%COMP%]{background-image:url(/assets/img/big-flags/unknown.png);width:20px;height:15px;background-size:contain;align-self:center;flex-shrink:0;margin-right:12px}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .flag[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{width:20px;height:15px;background-size:contain}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]{overflow:hidden}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .top-line[_ngcontent-%COMP%]{font-size:.875rem}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .bottom-line[_ngcontent-%COMP%]{font-size:.7rem;color:#bbb}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .icon-button-separator[_ngcontent-%COMP%]{display:flex;align-items:center}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .icon-button-separator[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{width:1px;height:30px;background:rgba(255,255,255,.15);margin-left:12px}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .icon-button[_ngcontent-%COMP%]{font-size:22px;line-height:1;display:flex;align-items:center;padding-left:12px}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .icon-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{cursor:pointer}.left-area[_ngcontent-%COMP%] .lower-text[_ngcontent-%COMP%]{display:inline-block;max-width:280px;margin-top:10px}.left-area[_ngcontent-%COMP%] .lower-text[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:2px;display:inline;-webkit-user-select:none;user-select:none}.left-area[_ngcontent-%COMP%] .current-server-note[_ngcontent-%COMP%]{font-size:.8rem;color:#bbb}.left-area[_ngcontent-%COMP%] .last-error[_ngcontent-%COMP%]{font-size:.8rem;color:#ff393f}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%]{background:rgba(61,103,162,.1490196078);padding:30px;text-align:left;max-width:420px;opacity:.95}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.8rem;color:#bbb}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%]{font-size:1.25rem;overflow-wrap:break-word}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{display:inline-block;opacity:.5;margin-left:5px;position:relative;top:2px}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%] .small-icon[_ngcontent-%COMP%]{color:#d48b05;opacity:.7;font-size:.875rem;cursor:default;margin-left:5px}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%] .big-icon[_ngcontent-%COMP%]{font-size:1.125rem;margin-left:5px;position:relative;top:2px;line-height:1}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .small-text[_ngcontent-%COMP%]{font-size:.7rem;margin-top:1px;overflow-wrap:break-word}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .margin[_ngcontent-%COMP%]{height:12px}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-margin[_ngcontent-%COMP%]{height:15px}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .separator[_ngcontent-%COMP%]{height:1px;width:100%;background:rgba(255,255,255,.15)}.disabled-button[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}"]}),t})(),q1=(()=>{class t{set lastError(e){this.lastErrorInternal=e}constructor(e){this.router=e}canActivate(e,i){return this.checkIfCanActivate()}canActivateChild(e,i){return this.checkIfCanActivate()}checkIfCanActivate(){return this.lastErrorInternal?(this.router.navigate(["vpn","unavailable"],{queryParams:{problem:this.lastErrorInternal}}),$e(!1)):$e(!0)}}return t.\u0275fac=function(e){return new(e||t)(we(hn))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var so=(()=>((so=so||{}).UnableToConnectWithTheVpnClientApp="unavailable",so.NoLocalVisorPkProvided="pk",so.InvalidStorageState="storage",so.LocalVisorPkChangedDuringUsage="pkChange",so))();let $oe=(()=>{class t extends er{constructor(e,i,o){super(),this.route=e,this.vpnAuthGuardService=i,this.vpnClientService=o,this.problem=null,this.navigationsSubscription=this.route.queryParamMap.subscribe(s=>{this.problem=s.get("problem"),this.problem||(this.problem=so.UnableToConnectWithTheVpnClientApp),this.vpnAuthGuardService.lastError=this.problem,this.vpnClientService.stopContinuallyUpdatingData(),setTimeout(()=>this.navigationsSubscription.unsubscribe())})}getTitle(){return this.problem===so.NoLocalVisorPkProvided?"vpn.error-page.text-pk":this.problem===so.InvalidStorageState?"vpn.error-page.text-storage":this.problem===so.LocalVisorPkChangedDuringUsage?"vpn.error-page.text-pk-change":"vpn.error-page.text"}getInfo(){return this.problem===so.NoLocalVisorPkProvided?"vpn.error-page.more-info-pk":this.problem===so.InvalidStorageState?"vpn.error-page.more-info-storage":this.problem===so.LocalVisorPkChangedDuringUsage?"vpn.error-page.more-info-pk-change":"vpn.error-page.more-info"}}return t.\u0275fac=function(e){return new(e||t)(Y(Mr),Y(q1),Y(oc))},t.\u0275cmp=Ze({type:t,selectors:[["app-vpn-error"]],features:[nt],decls:12,vars:7,consts:[[1,"main-container"],[1,"text-container"],[1,"inner-container"],[1,"error-icon"],[3,"inline"],[1,"more-info"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"mat-icon",4),I(5,"error_outline"),C()(),D(6,"div"),I(7),R(8,"translate"),C(),D(9,"div",5),I(10),R(11,"translate"),C()()()()),2&e&&(c(4),w("inline",!0),c(3),se(H(8,3,i.getTitle())),c(3),se(H(11,5,i.getInfo())))},dependencies:[Cn,wt],styles:[".main-container[_ngcontent-%COMP%]{height:100%;display:flex}.main-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]{width:100%;align-self:center;text-align:center}.main-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .inner-container[_ngcontent-%COMP%]{max-width:550px;display:inline-block;font-size:1.25rem}.main-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .inner-container[_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{font-size:80px}.main-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .inner-container[_ngcontent-%COMP%] .more-info[_ngcontent-%COMP%]{font-size:.8rem;opacity:.75;margin-top:10px}"]}),t})();const Goe=["button"],qoe=["firstInput"];let Koe=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o,s,a,l){this.dialogRef=e,this.data=i,this.formBuilder=o,this.snackbarService=s,this.appsService=a,this.vpnClientService=l}ngOnInit(){this.form=this.formBuilder.group({ip:[this.data.ip,Gt.compose([Gt.maxLength(15),this.validateIp.bind(this)])]}),setTimeout(()=>this.firstInput.nativeElement.focus())}ngOnDestroy(){this.operationSubscription&&this.operationSubscription.unsubscribe()}validateIp(){if(this.form){const e=this.form.get("ip").value;return Jt.checkIfIpValidOrEmpty(e)?null:{invalid:!0}}return null}save(){!this.form.valid||this.operationSubscription||(this.button.showLoading(),this.operationSubscription=this.appsService.changeAppSettings(this.data.nodePk,this.vpnClientService.vpnClientAppName,{dns:this.form.get("ip").value}).subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)}))}onSuccess(e){this.dialogRef.close(!0),this.snackbarService.showDone("vpn.dns-config.done")}onError(e){this.button.showError(),this.operationSubscription=null,e=en(e),this.snackbarService.showError(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(vI),Y(Dn),Y(ll),Y(oc))},t.\u0275cmp=Ze({type:t,selectors:[["app-vpn-dns-config"]],viewQuery:function(e,i){if(1&e&&(_t(Goe,5),_t(qoe,5)),2&e){let o;rt(o=ot())&&(i.button=o.first),rt(o=ot())&&(i.firstInput=o.first)}},decls:14,vars:11,consts:[[3,"headline"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","ip","maxlength","15","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"disabled","action"],["button",""]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6,7),ye("action",function(){return i.save()}),I(12),R(13,"translate"),C()()),2&e&&(w("headline",H(1,5,"vpn.dns-config.title")),c(2),w("formGroup",i.form),c(4),se(H(7,7,"vpn.dns-config.ip")),c(4),w("disabled",!i.form.valid),c(2),ce(" ",H(13,9,"vpn.dns-config.save-config-button")," "))},dependencies:[zi,Bi,Vi,ji,Cr,ii,Ei,ar,kr,Ui,ei,wt]}),t})();const Zoe=["topBarLoading"],Xoe=["topBarLoaded"],jP=function(){return["vpn.title"]};function Joe(t,n){if(1&t&&(D(0,"div",2)(1,"div"),xe(2,"app-top-bar",3,4),C(),xe(4,"app-loading-indicator",5),C()),2&t){const e=z();c(2),w("titleParts",qn(5,jP))("tabsData",e.tabsData)("selectedTabIndex",2)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk)}}function Qoe(t,n){1&t&&xe(0,"mat-spinner",20),2&t&&w("diameter",12)}function ese(t,n){if(1&t){const e=et();D(0,"div",6)(1,"div",7),xe(2,"app-top-bar",3,8),C(),D(4,"div",9)(5,"div",10)(6,"div",11)(7,"div",12)(8,"table",13)(9,"tr")(10,"th",14)(11,"div",15)(12,"div",16),I(13),R(14,"translate"),C()()(),D(15,"th",14),I(16),R(17,"translate"),C()(),D(18,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeKillswitchOption())}),D(19,"td",14)(20,"div"),I(21),R(22,"translate"),D(23,"mat-icon",18),R(24,"translate"),I(25,"help"),C()()(),D(26,"td",14),xe(27,"span"),I(28),R(29,"translate"),V(30,Qoe,1,1,"mat-spinner",19),C()(),D(31,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeGetIpOption())}),D(32,"td",14)(33,"div"),I(34),R(35,"translate"),D(36,"mat-icon",18),R(37,"translate"),I(38,"help"),C()()(),D(39,"td",14),xe(40,"span"),I(41),R(42,"translate"),C()(),D(43,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeDataUnits())}),D(44,"td",14)(45,"div"),I(46),R(47,"translate"),D(48,"mat-icon",18),R(49,"translate"),I(50,"help"),C()()(),D(51,"td",14),I(52),R(53,"translate"),C()(),D(54,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeHops())}),D(55,"td",14)(56,"div"),I(57),R(58,"translate"),D(59,"mat-icon",18),R(60,"translate"),I(61,"help"),C()()(),D(62,"td",14),I(63),C()(),D(64,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeDns())}),D(65,"td",14)(66,"div"),I(67),R(68,"translate"),D(69,"mat-icon",18),R(70,"translate"),I(71,"help"),C()()(),D(72,"td",14),I(73),R(74,"translate"),C()()()()()()()()}if(2&t){const e=z();c(2),w("titleParts",qn(64,jP))("tabsData",e.tabsData)("selectedTabIndex",2)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk),c(11),ce(" ",H(14,32,"vpn.settings-page.setting-small-table-label")," "),c(3),ce(" ",H(17,34,"vpn.settings-page.value-small-table-label")," "),c(5),ce(" ",H(22,36,"vpn.settings-page.killswitch")," "),c(2),w("inline",!0)("matTooltip",H(24,38,"vpn.settings-page.killswitch-info")),c(4),eo(e.getStatusClass(e.backendData.vpnClientAppData.killswitch)),c(1),ce(" ",H(29,40,e.getStatusText(e.backendData.vpnClientAppData.killswitch))," "),c(2),w("ngIf",e.working===e.workingOptions.Killswitch),c(4),ce(" ",H(35,42,"vpn.settings-page.get-ip")," "),c(2),w("inline",!0)("matTooltip",H(37,44,"vpn.settings-page.get-ip-info")),c(4),eo(e.getStatusClass(e.getIpOption)),c(1),ce(" ",H(42,46,e.getStatusText(e.getIpOption))," "),c(5),ce(" ",H(47,48,"vpn.settings-page.data-units")," "),c(2),w("inline",!0)("matTooltip",H(49,50,"vpn.settings-page.data-units-info")),c(4),ce(" ",H(53,52,e.getUnitsOptionText(e.dataUnitsOption))," "),c(5),ce(" ",H(58,54,"vpn.settings-page.minimum-hops")," "),c(2),w("inline",!0)("matTooltip",H(60,56,"vpn.settings-page.minimum-hops-info")),c(4),ce(" ",e.backendData.vpnClientAppData.minHops," "),c(4),ce(" ",H(68,58,"vpn.settings-page.dns")," "),c(2),w("inline",!0)("matTooltip",H(70,60,"vpn.settings-page.dns-info")),c(4),ce(" ",e.backendData.vpnClientAppData.dns?e.backendData.vpnClientAppData.dns:H(74,62,"vpn.settings-page.setting-none")," ")}}var Lo=(()=>((Lo=Lo||{})[Lo.None=0]="None",Lo[Lo.Killswitch=1]="Killswitch",Lo))();const tse=[{path:"",component:OW},{path:"login",component:HI},{path:"nodes",canActivate:[Uh],canActivateChild:[Uh],children:[{path:"",redirectTo:"list/1",pathMatch:"full"},{path:"list",redirectTo:"list/1",pathMatch:"full"},{path:"list/:page",component:lP},{path:"dmsg",redirectTo:"dmsg/1",pathMatch:"full"},{path:"dmsg/:page",component:lP},{path:":key",component:Ct,children:[{path:"",redirectTo:"routing",pathMatch:"full"},{path:"info",component:Jie},{path:"routing",component:Aee},{path:"apps",component:_ie},{path:"transports",redirectTo:"transports/1",pathMatch:"full"},{path:"transports/:page",component:vie},{path:"routes",redirectTo:"routes/1",pathMatch:"full"},{path:"routes/:page",component:Mie},{path:"apps-list/:showOfficialApps/:page",component:Cie}]}]},{path:"settings",canActivate:[Uh],canActivateChild:[Uh],children:[{path:"",component:zJ},{path:"labels",redirectTo:"labels/1",pathMatch:"full"},{path:"labels/:page",component:ere}]},{path:"vpnlogin/:key",component:HI},{path:"vpn",canActivate:[q1],canActivateChild:[q1],children:[{path:"unavailable",component:$oe},{path:":key",children:[{path:"status",component:Woe},{path:"servers",redirectTo:"servers/public/1",pathMatch:"full"},{path:"servers/:type/:page",component:RP},{path:"settings",component:(()=>{class t extends er{constructor(e,i,o,s,a,l){super(),this.vpnClientService=e,this.snackbarService=i,this.appsService=o,this.vpnSavedDataService=s,this.dialog=a,this.loading=!0,this.tabsData=lr.vpnTabsData,this.working=Lo.None,this.workingOptions=Lo,this.navigationsSubscription=l.paramMap.subscribe(d=>{d.has("key")&&(this.currentLocalPk=d.get("key"),lr.changeCurrentPk(this.currentLocalPk),this.tabsData=lr.vpnTabsData)}),this.dataSubscription=this.vpnClientService.backendState.subscribe(d=>{d&&d.serviceState!==jn.PerformingInitialCheck&&(this.backendData=d,this.loading=!1)}),this.getIpOption=this.vpnSavedDataService.getCheckIpSetting(),this.dataUnitsOption=this.vpnSavedDataService.getDataUnitsSetting()}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.dataSubscription.unsubscribe(),this.operationSubscription&&this.operationSubscription.unsubscribe()}getStatusClass(e){return!0===e?"dot-green":"dot-red"}getStatusText(e){return!0===e?"vpn.settings-page.setting-on":"vpn.settings-page.setting-off"}getUnitsOptionText(e){switch(e){case Sr.OnlyBits:return"vpn.settings-page.data-units-modal.only-bits";case Sr.OnlyBytes:return"vpn.settings-page.data-units-modal.only-bytes";default:return"vpn.settings-page.data-units-modal.bits-speed-and-bytes-volume"}}changeKillswitchOption(){if(this.working===Lo.None)if(this.backendData.vpnClientAppData.running){const e=Jt.createConfirmationDialog(this.dialog,"vpn.settings-page.change-while-connected-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.closeModal(),this.finishChangingKillswitchOption()})}else this.finishChangingKillswitchOption();else this.snackbarService.showWarning("vpn.settings-page.working-warning")}finishChangingKillswitchOption(){this.working=Lo.Killswitch,this.operationSubscription=this.appsService.changeAppSettings(this.currentLocalPk,this.vpnClientService.vpnClientAppName,{killswitch:!this.backendData.vpnClientAppData.killswitch}).subscribe(()=>{this.working=Lo.None,this.vpnClientService.updateData()},e=>{this.working=Lo.None,e=en(e),this.snackbarService.showError(e)})}changeGetIpOption(){this.getIpOption=!this.getIpOption,this.vpnSavedDataService.setCheckIpSetting(this.getIpOption)}changeDataUnits(){const e=[],i=[];Object.keys(Sr).forEach(o=>{const s={label:this.getUnitsOptionText(Sr[o])};this.dataUnitsOption===Sr[o]&&(s.icon="done"),e.push(s),i.push(Sr[o])}),qr.openDialog(this.dialog,e,"vpn.settings-page.data-units-modal.title").afterClosed().subscribe(o=>{o&&(this.dataUnitsOption=i[o-1],this.vpnSavedDataService.setDataUnitsSetting(this.dataUnitsOption),this.topBarLoading&&this.topBarLoading.updateVpnDataStatsUnit(),this.topBarLoaded&&this.topBarLoaded.updateVpnDataStatsUnit())})}changeHops(){IP.openDialog(this.dialog,{nodePk:this.currentLocalPk,minHops:this.backendData.vpnClientAppData.minHops}).afterClosed().subscribe()}changeDns(){Koe.openDialog(this.dialog,{nodePk:this.currentLocalPk,ip:this.backendData.vpnClientAppData.dns}).afterClosed().subscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(oc),Y(Dn),Y(ll),Y(rc),Y(In),Y(Mr))},t.\u0275cmp=Ze({type:t,selectors:[["app-vpn-settings-list"]],viewQuery:function(e,i){if(1&e&&(_t(Zoe,5),_t(Xoe,5)),2&e){let o;rt(o=ot())&&(i.topBarLoading=o.first),rt(o=ot())&&(i.topBarLoaded=o.first)}},features:[nt],decls:2,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["class","row",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","localVpnKey"],["topBarLoading",""],[1,"h-100"],[1,"row"],[1,"col-12"],["topBarLoaded",""],[1,"col-12","mt-4.5","vpn-table-container"],[1,"width-limiter"],[1,"rounded-elevated-box"],[1,"box-internal-container"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table"],[1,"data-column"],[1,"header-container"],[1,"header-text"],[1,"selectable",3,"click"],[1,"help-icon",3,"inline","matTooltip"],[3,"diameter",4,"ngIf"],[3,"diameter"]],template:function(e,i){1&e&&(V(0,Joe,5,6,"div",0),V(1,ese,75,65,"div",1)),2&e&&(w("ngIf",i.loading),c(1),w("ngIf",!i.loading))},dependencies:[Ft,Cn,vi,ec,as,sc,wt],styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .header-container[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%], .data-column[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}table[_ngcontent-%COMP%]{width:100%}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding-top:7px!important;padding-bottom:7px!important;font-size:12px!important;font-weight:400!important}.data-column[_ngcontent-%COMP%]{max-width:0;width:50%}.header-container[_ngcontent-%COMP%]{max-width:100%;display:inline-flex}.header-container[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%]{flex-grow:1}mat-spinner[_ngcontent-%COMP%]{display:inline-block;opacity:.5;margin-left:2px;position:relative;top:2px}mat-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}"]}),t})()},{path:"**",redirectTo:"status"}]},{path:"**",redirectTo:"/vpn/unavailable?problem=pk"}]},{path:"**",redirectTo:""}];let nse=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[H2.forRoot(tse,{useHash:!0}),H2]}),t})(),rse=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn]}),t})();class ose{getTranslation(n){return ue(N(6297)(`./${n}.json`))}}let sse=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[pE.forRoot({loader:{provide:jh,useClass:ose}}),pE]}),t})(),ase=(()=>{class t{shouldDetach(e){return!1}store(e,i){}shouldAttach(e){return!1}retrieve(e){return null}shouldReuseRoute(e,i){return!1}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const lse={disabled:!0};let cse=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t,bootstrap:[g1]}),t.\u0275inj=Nt({providers:[ef,{provide:a1,useValue:{duration:3e3,verticalPosition:"top"}},{provide:UL,useValue:{width:"600px",hasBackdrop:!0}},{provide:e1,useClass:tU},{provide:E2,useClass:ase},{provide:t1,useValue:lse}],imports:[ID,f8,D$,j8,nse,sse,tE,kU,Lg,fG,Kte,eE,cW,TG,VK,S$,rse,Vq,SW,uK]}),t})();Mc(Ct,[Nn,Ft,Am,Cn,as,sc,AP],[wt]),Mc(RP,[Nn,gi,Ft,hd,qa,Wr,Cn,vi,W1,as,Bd,sc,NP],[cD,wt]),dB().bootstrapModule(cse).catch(t=>console.log(t))},9774:function(de,ge,N){var O;!function(v){"use strict";var u,f=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,h=Math.ceil,M=Math.floor,p="[BigNumber Error] ",y=p+"Number primitive has more than 15 significant digits: ",x=1e14,T=14,S=9007199254740991,k=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],L=1e7,A=1e9;function B(Q){var ee=0|Q;return Q>0||Q===ee?ee:ee-1}function K(Q){for(var ee,ae,le=1,J=Q.length,Te=Q[0]+"";lett^ae?1:-1;for(ke=(Be=J.length)<(tt=Te.length)?Be:tt,Se=0;SeTe[Se]^ae?1:-1;return Be==tt?0:Be>tt^ae?1:-1}function ve(Q,ee,ae,le){if(Qae||Q!==(Q<0?h(Q):M(Q)))throw Error(p+(le||"Argument")+("number"==typeof Q?Qae?" out of range: ":" not an integer: ":" not a primitive number: ")+Q)}function Z(Q){return"[object Array]"==Object.prototype.toString.call(Q)}function X(Q){var ee=Q.c.length-1;return B(Q.e/T)==ee&&Q.c[ee]%2!=0}function he(Q,ee){return(Q.length>1?Q.charAt(0)+"."+Q.slice(1):Q)+(ee<0?"e":"e+")+ee}function q(Q,ee,ae){var le,J;if(ee<0){for(J=ae+".";++ee;J+=ae);Q=J+Q}else if(++ee>(le=Q.length)){for(J=ae,ee-=le;--ee;J+=ae);Q+=J}else ee=10;be/=10,ue++);return Ie.e=ue,void(Ie.c=[W])}De=W+""}else{if(!f.test(De=W+""))return le(Ie,De,me);Ie.s=45==De.charCodeAt(0)?(De=De.slice(1),-1):1}(ue=De.indexOf("."))>-1&&(De=De.replace(".","")),(be=De.search(/e/i))>0?(ue<0&&(ue=be),ue+=+De.slice(be+1),De=De.substring(0,be)):ue<0&&(ue=De.length)}else{if(ve(oe,2,zn.length,"Base"),De=W+"",10==oe)return Xe(Ie=new Ge(W instanceof Ge?W:De),Se+Ie.e+1,ke);if(me="number"==typeof W){if(0*W!=0)return le(Ie,De,me,oe);if(Ie.s=1/W<0?(De=De.slice(1),-1):1,Ge.DEBUG&&De.replace(/^0\.0*|\./,"").length>15)throw Error(y+W);me=!1}else Ie.s=45===De.charCodeAt(0)?(De=De.slice(1),-1):1;for(te=zn.slice(0,oe),ue=be=0,Me=De.length;beue){ue=Me;continue}}else if(!fe&&(De==De.toUpperCase()&&(De=De.toLowerCase())||De==De.toLowerCase()&&(De=De.toUpperCase()))){fe=!0,be=-1,ue=0;continue}return le(Ie,W+"",me,oe)}(ue=(De=ae(De,oe,10,Ie.s)).indexOf("."))>-1?De=De.replace(".",""):ue=De.length}for(be=0;48===De.charCodeAt(be);be++);for(Me=De.length;48===De.charCodeAt(--Me););if(De=De.slice(be,++Me)){if(Me-=be,me&&Ge.DEBUG&&Me>15&&(W>S||W!==M(W)))throw Error(y+Ie.s*W);if((ue=ue-be-1)>at)Ie.c=Ie.e=null;else if(ueme){if(--oe>0)for(Me+=".";oe--;Me+="0");}else if((oe+=ue-me)>0)for(ue+1==me&&(Me+=".");oe--;Me+="0");return W.s<0&&fe?"-"+Me:Me}function Oi(W,oe){var te,pe,fe=0;for(Z(W[0])&&(W=W[0]),te=new Ge(W[0]);++fe=10;fe/=10,pe++);return(te=pe+te*T-1)>at?W.c=W.e=null:te=10;me/=10,fe++);if((ue=oe-fe)<0)ue+=T,Ie=(Me=Ye[De=0])/ut[fe-(be=oe)-1]%10|0;else if((De=h((ue+1)/T))>=Ye.length){if(!pe)break e;for(;Ye.length<=De;Ye.push(0));Me=Ie=0,fe=1,be=(ue%=T)-T+1}else{for(Me=me=Ye[De],fe=1;me>=10;me/=10,fe++);Ie=(be=(ue%=T)-T+fe)<0?0:Me/ut[fe-be-1]%10|0}if(pe=pe||oe<0||null!=Ye[De+1]||(be<0?Me:Me%ut[fe-be-1]),pe=te<4?(Ie||pe)&&(0==te||te==(W.s<0?3:2)):Ie>5||5==Ie&&(4==te||pe||6==te&&(ue>0?be>0?Me/ut[fe-be]:0:Ye[De-1])%10&1||te==(W.s<0?8:7)),oe<1||!Ye[0])return Ye.length=0,pe?(Ye[0]=ut[(T-(oe-=W.e+1)%T)%T],W.e=-oe||0):Ye[0]=W.e=0,W;if(0==ue?(Ye.length=De,me=1,De--):(Ye.length=De+1,me=ut[T-ue],Ye[De]=be>0?M(Me/ut[fe-be]%ut[be])*me:0),pe)for(;;){if(0==De){for(ue=1,be=Ye[0];be>=10;be/=10,ue++);for(be=Ye[0]+=me,me=1;be>=10;be/=10,me++);ue!=me&&(W.e++,Ye[0]==x&&(Ye[0]=1));break}if(Ye[De]+=me,Ye[De]!=x)break;Ye[De--]=0,me=1}for(ue=Ye.length;0===Ye[--ue];Ye.pop());}W.e>at?W.c=W.e=null:W.e>>11))>=9e15?(fe=crypto.getRandomValues(new Uint32Array(2)),pe[Me]=fe[0],pe[Me+1]=fe[1]):(De.push(me%1e14),Me+=2);Me=be/2}else{if(!crypto.randomBytes)throw jt=!1,Error(p+"crypto unavailable");for(pe=crypto.randomBytes(be*=7);Me=9e15?crypto.randomBytes(7).copy(pe,Me):(De.push(me%1e14),Me+=7);Me=be/7}if(!jt)for(;Me=10;me/=10,Me++);Mefe-1&&(null==me[be+1]&&(me[be+1]=0),me[be+1]+=me[be]/fe|0,me[be]%=fe)}return me.reverse()}return function(te,pe,fe,ue,be){var me,Me,De,Ie,Ye,ut,mt,it,fn=te.indexOf("."),An=Se,bt=ke;for(fn>=0&&(Ie=Zn,Zn=0,te=te.replace(".",""),ut=(it=new Ge(pe)).pow(te.length-fn),Zn=Ie,it.c=oe(q(K(ut.c),ut.e,"0"),10,fe,W),it.e=it.c.length),De=Ie=(mt=oe(te,pe,fe,be?(me=zn,W):(me=W,zn))).length;0==mt[--Ie];mt.pop());if(!mt[0])return me.charAt(0);if(fn<0?--De:(ut.c=mt,ut.e=De,ut.s=ue,mt=(ut=ee(ut,it,An,bt,fe)).c,Ye=ut.r,De=ut.e),fn=mt[Me=De+An+1],Ie=fe/2,Ye=Ye||Me<0||null!=mt[Me+1],Ye=bt<4?(null!=fn||Ye)&&(0==bt||bt==(ut.s<0?3:2)):fn>Ie||fn==Ie&&(4==bt||Ye||6==bt&&1&mt[Me-1]||bt==(ut.s<0?8:7)),Me<1||!mt[0])te=Ye?q(me.charAt(1),-An,me.charAt(0)):me.charAt(0);else{if(mt.length=Me,Ye)for(--fe;++mt[--Me]>fe;)mt[Me]=0,Me||(++De,mt=[1].concat(mt));for(Ie=mt.length;!mt[--Ie];);for(fn=0,te="";fn<=Ie;te+=me.charAt(mt[fn++]));te=q(te,De,me.charAt(0))}return te}}(),ee=function(){function W(pe,fe,ue){var be,me,Me,De,Ie=0,Ye=pe.length,ut=fe%L,mt=fe/L|0;for(pe=pe.slice();Ye--;)Ie=((me=ut*(Me=pe[Ye]%L)+(be=mt*Me+(De=pe[Ye]/L|0)*ut)%L*L+Ie)/ue|0)+(be/L|0)+mt*De,pe[Ye]=me%ue;return Ie&&(pe=[Ie].concat(pe)),pe}function oe(pe,fe,ue,be){var me,Me;if(ue!=be)Me=ue>be?1:-1;else for(me=Me=0;mefe[me]?1:-1;break}return Me}function te(pe,fe,ue,be){for(var me=0;ue--;)pe[ue]-=me,pe[ue]=(me=pe[ue]1;pe.splice(0,1));}return function(pe,fe,ue,be,me){var Me,De,Ie,Ye,ut,mt,it,fn,An,bt,qt,Gn,oi,Kr,Io,Ai,ln,wi=pe.s==fe.s?1:-1,si=pe.c,Fn=fe.c;if(!(si&&si[0]&&Fn&&Fn[0]))return new Ge(pe.s&&fe.s&&(si?!Fn||si[0]!=Fn[0]:Fn)?si&&0==si[0]||!Fn?0*wi:wi/0:NaN);for(An=(fn=new Ge(wi)).c=[],wi=ue+(De=pe.e-fe.e)+1,me||(me=x,De=B(pe.e/T)-B(fe.e/T),wi=wi/T|0),Ie=0;Fn[Ie]==(si[Ie]||0);Ie++);if(Fn[Ie]>(si[Ie]||0)&&De--,wi<0)An.push(1),Ye=!0;else{for(Kr=si.length,Ai=Fn.length,Ie=0,wi+=2,(ut=M(me/(Fn[0]+1)))>1&&(Fn=W(Fn,ut,me),si=W(si,ut,me),Ai=Fn.length,Kr=si.length),oi=Ai,qt=(bt=si.slice(0,Ai)).length;qt=me/2&&Io++;do{if(ut=0,(Me=oe(Fn,bt,Ai,qt))<0){if(Gn=bt[0],Ai!=qt&&(Gn=Gn*me+(bt[1]||0)),(ut=M(Gn/Io))>1)for(ut>=me&&(ut=me-1),it=(mt=W(Fn,ut,me)).length,qt=bt.length;1==oe(mt,bt,it,qt);)ut--,te(mt,Ai=10;wi/=10,Ie++);Xe(fn,ue+(fn.e=Ie+De*T-1)+1,be,Ye)}else fn.e=De,fn.r=+Ye;return fn}}(),le=function(){var W=/^(-?)0([xbo])(?=\w[\w.]*$)/i,oe=/^([^.]+)\.$/,te=/^\.([^.]+)$/,pe=/^-?(Infinity|NaN)$/,fe=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(ue,be,me,Me){var De,Ie=me?be:be.replace(fe,"");if(pe.test(Ie))ue.s=isNaN(Ie)?null:Ie<0?-1:1,ue.c=ue.e=null;else{if(!me&&(Ie=Ie.replace(W,function(Ye,ut,mt){return De="x"==(mt=mt.toLowerCase())?16:"b"==mt?2:8,Me&&Me!=De?Ye:ut}),Me&&(De=Me,Ie=Ie.replace(oe,"$1").replace(te,"0.$1")),be!=Ie))return new Ge(Ie,De);if(Ge.DEBUG)throw Error(p+"Not a"+(Me?" base "+Me:"")+" number: "+be);ue.c=ue.e=ue.s=null}}}(),J.absoluteValue=J.abs=function(){var W=new Ge(this);return W.s<0&&(W.s=1),W},J.comparedTo=function(W,oe){return re(this,new Ge(W,oe))},J.decimalPlaces=J.dp=function(W,oe){var te,pe,fe;if(null!=W)return ve(W,0,A),null==oe?oe=ke:ve(oe,0,8),Xe(new Ge(this),W+this.e+1,oe);if(!(te=this.c))return null;if(pe=((fe=te.length-1)-B(this.e/T))*T,fe=te[fe])for(;fe%10==0;fe/=10,pe--);return pe<0&&(pe=0),pe},J.dividedBy=J.div=function(W,oe){return ee(this,new Ge(W,oe),Se,ke)},J.dividedToIntegerBy=J.idiv=function(W,oe){return ee(this,new Ge(W,oe),0,1)},J.exponentiatedBy=J.pow=function(W,oe){var te,pe,fe,be,me,Me,De,Ie=this;if((W=new Ge(W)).c&&!W.isInteger())throw Error(p+"Exponent not an integer: "+W);if(null!=oe&&(oe=new Ge(oe)),be=W.e>14,!Ie.c||!Ie.c[0]||1==Ie.c[0]&&!Ie.e&&1==Ie.c.length||!W.c||!W.c[0])return De=new Ge(Math.pow(+Ie.valueOf(),be?2-X(W):+W)),oe?De.mod(oe):De;if(me=W.s<0,oe){if(oe.c?!oe.c[0]:!oe.s)return new Ge(NaN);(pe=!me&&Ie.isInteger()&&oe.isInteger())&&(Ie=Ie.mod(oe))}else{if(W.e>9&&(Ie.e>0||Ie.e<-1||(0==Ie.e?Ie.c[0]>1||be&&Ie.c[1]>=24e7:Ie.c[0]<8e13||be&&Ie.c[0]<=9999975e7)))return fe=Ie.s<0&&X(W)?-0:0,Ie.e>-1&&(fe=1/fe),new Ge(me?1/fe:fe);Zn&&(fe=h(Zn/T+2))}for(be?(te=new Ge(.5),Me=X(W)):Me=W%2,me&&(W.s=1),De=new Ge(Te);;){if(Me){if(!(De=De.times(Ie)).c)break;fe?De.c.length>fe&&(De.c.length=fe):pe&&(De=De.mod(oe))}if(be){if(Xe(W=W.times(te),W.e+1,1),!W.c[0])break;be=W.e>14,Me=X(W)}else{if(!(W=M(W/2)))break;Me=W%2}Ie=Ie.times(Ie),fe?Ie.c&&Ie.c.length>fe&&(Ie.c.length=fe):pe&&(Ie=Ie.mod(oe))}return pe?De:(me&&(De=Te.div(De)),oe?De.mod(oe):fe?Xe(De,Zn,ke,void 0):De)},J.integerValue=function(W){var oe=new Ge(this);return null==W?W=ke:ve(W,0,8),Xe(oe,oe.e+1,W)},J.isEqualTo=J.eq=function(W,oe){return 0===re(this,new Ge(W,oe))},J.isFinite=function(){return!!this.c},J.isGreaterThan=J.gt=function(W,oe){return re(this,new Ge(W,oe))>0},J.isGreaterThanOrEqualTo=J.gte=function(W,oe){return 1===(oe=re(this,new Ge(W,oe)))||0===oe},J.isInteger=function(){return!!this.c&&B(this.e/T)>this.c.length-2},J.isLessThan=J.lt=function(W,oe){return re(this,new Ge(W,oe))<0},J.isLessThanOrEqualTo=J.lte=function(W,oe){return-1===(oe=re(this,new Ge(W,oe)))||0===oe},J.isNaN=function(){return!this.s},J.isNegative=function(){return this.s<0},J.isPositive=function(){return this.s>0},J.isZero=function(){return!!this.c&&0==this.c[0]},J.minus=function(W,oe){var te,pe,fe,ue,be=this,me=be.s;if(oe=(W=new Ge(W,oe)).s,!me||!oe)return new Ge(NaN);if(me!=oe)return W.s=-oe,be.plus(W);var Me=be.e/T,De=W.e/T,Ie=be.c,Ye=W.c;if(!Me||!De){if(!Ie||!Ye)return Ie?(W.s=-oe,W):new Ge(Ye?be:NaN);if(!Ie[0]||!Ye[0])return Ye[0]?(W.s=-oe,W):new Ge(Ie[0]?be:3==ke?-0:0)}if(Me=B(Me),De=B(De),Ie=Ie.slice(),me=Me-De){for((ue=me<0)?(me=-me,fe=Ie):(De=Me,fe=Ye),fe.reverse(),oe=me;oe--;fe.push(0));fe.reverse()}else for(pe=(ue=(me=Ie.length)<(oe=Ye.length))?me:oe,me=oe=0;oe0)for(;oe--;Ie[te++]=0);for(oe=x-1;pe>me;){if(Ie[--pe]=0;){for(te=0,ut=Gn[fe]%An,mt=Gn[fe]/An|0,ue=fe+(be=Me);ue>fe;)te=((De=ut*(De=qt[--be]%An)+(me=mt*De+(Ie=qt[be]/An|0)*ut)%An*An+it[ue]+te)/fn|0)+(me/An|0)+mt*Ie,it[ue--]=De%fn;it[ue]=te}return te?++pe:it.splice(0,1),dr(W,it,pe)},J.negated=function(){var W=new Ge(this);return W.s=-W.s||null,W},J.plus=function(W,oe){var te,pe=this,fe=pe.s;if(oe=(W=new Ge(W,oe)).s,!fe||!oe)return new Ge(NaN);if(fe!=oe)return W.s=-oe,pe.minus(W);var ue=pe.e/T,be=W.e/T,me=pe.c,Me=W.c;if(!ue||!be){if(!me||!Me)return new Ge(fe/0);if(!me[0]||!Me[0])return Me[0]?W:new Ge(me[0]?pe:0*fe)}if(ue=B(ue),be=B(be),me=me.slice(),fe=ue-be){for(fe>0?(be=ue,te=Me):(fe=-fe,te=me),te.reverse();fe--;te.push(0));te.reverse()}for((fe=me.length)-(oe=Me.length)<0&&(te=Me,Me=me,me=te,oe=fe),fe=0;oe;)fe=(me[--oe]=me[oe]+Me[oe]+fe)/x|0,me[oe]=x===me[oe]?0:me[oe]%x;return fe&&(me=[fe].concat(me),++be),dr(W,me,be)},J.precision=J.sd=function(W,oe){var te,pe,fe;if(null!=W&&W!==!!W)return ve(W,1,A),null==oe?oe=ke:ve(oe,0,8),Xe(new Ge(this),W,oe);if(!(te=this.c))return null;if(pe=(fe=te.length-1)*T+1,fe=te[fe]){for(;fe%10==0;fe/=10,pe--);for(fe=te[0];fe>=10;fe/=10,pe++);}return W&&this.e+1>pe&&(pe=this.e+1),pe},J.shiftedBy=function(W){return ve(W,-S,S),this.times("1e"+W)},J.squareRoot=J.sqrt=function(){var W,oe,te,pe,fe,ue=this,be=ue.c,me=ue.s,Me=ue.e,De=Se+4,Ie=new Ge("0.5");if(1!==me||!be||!be[0])return new Ge(!me||me<0&&(!be||be[0])?NaN:be?ue:1/0);if(0==(me=Math.sqrt(+ue))||me==1/0?(((oe=K(be)).length+Me)%2==0&&(oe+="0"),me=Math.sqrt(oe),Me=B((Me+1)/2)-(Me<0||Me%2),te=new Ge(oe=me==1/0?"1e"+Me:(oe=me.toExponential()).slice(0,oe.indexOf("e")+1)+Me)):te=new Ge(me+""),te.c[0])for((me=(Me=te.e)+De)<3&&(me=0);;)if(te=Ie.times((fe=te).plus(ee(ue,fe,De,1))),K(fe.c).slice(0,me)===(oe=K(te.c)).slice(0,me)){if(te.e0&&ut>0){for(Me=Ye.substr(0,pe=ut%ue||ue);pe0&&(Me+=me+Ye.slice(pe)),Ie&&(Me="-"+Me)}te=De?Me+On.decimalSeparator+((be=+On.fractionGroupSize)?De.replace(new RegExp("\\d{"+be+"}\\B","g"),"$&"+On.fractionGroupSeparator):De):Me}return te},J.toFraction=function(W){var oe,te,pe,fe,ue,be,me,Me,De,Ie,Ye,ut,mt=this,it=mt.c;if(null!=W&&(!(Me=new Ge(W)).isInteger()&&(Me.c||1!==Me.s)||Me.lt(Te)))throw Error(p+"Argument "+(Me.isInteger()?"out of range: ":"not an integer: ")+W);if(!it)return mt.toString();for(te=new Ge(Te),Ie=pe=new Ge(Te),fe=De=new Ge(Te),ut=K(it),be=te.e=ut.length-mt.e-1,te.c[0]=k[(me=be%T)<0?T+me:me],W=!W||Me.comparedTo(te)>0?be>0?te:Ie:Me,me=at,at=1/0,Me=new Ge(ut),De.c[0]=0;Ye=ee(Me,te,0,1),1!=(ue=pe.plus(Ye.times(fe))).comparedTo(W);)pe=fe,fe=ue,Ie=De.plus(Ye.times(ue=Ie)),De=ue,te=Me.minus(Ye.times(ue=te)),Me=ue;return ue=ee(W.minus(pe),fe,0,1),De=De.plus(ue.times(Ie)),pe=pe.plus(ue.times(fe)),De.s=Ie.s=mt.s,oe=ee(Ie,fe,be*=2,ke).minus(mt).abs().comparedTo(ee(De,pe,be,ke).minus(mt).abs())<1?[Ie.toString(),fe.toString()]:[De.toString(),pe.toString()],at=me,oe},J.toNumber=function(){return+this},J.toPrecision=function(W,oe){return null!=W&&ve(W,1,A),Pi(this,W,oe,2)},J.toString=function(W){var oe,pe=this.s,fe=this.e;return null===fe?pe?(oe="Infinity",pe<0&&(oe="-"+oe)):oe="NaN":(oe=K(this.c),null==W?oe=fe<=Be||fe>=tt?he(oe,fe):q(oe,fe,"0"):(ve(W,2,zn.length,"Base"),oe=ae(q(oe,fe,"0"),10,W,pe,!0)),pe<0&&this.c[0]&&(oe="-"+oe)),oe},J.valueOf=J.toJSON=function(){var W,te=this.e;return null===te?this.toString():(W=K(this.c),W=te<=Be||te>=tt?he(W,te):q(W,te,"0"),this.s<0?"-"+W:W)},J._isBigNumber=!0,null!=Q&&Ge.set(Q),Ge}(),u.default=u.BigNumber=u,void 0!==(O=function(){return u}.call(ge,N,ge,de))&&(de.exports=O)}()},6149:(de,ge,N)=>{var O=N(5979)();O.helpers=N(3305),N(3533)(O),O.defaults=N(9800),O.Element=N(8839),O.elements=N(9931),O.Interaction=N(2814),O.layouts=N(2294),O.platform=N(8244),O.plugins=N(2445),O.Ticks=N(8347),N(8103)(O),N(1047)(O),N(7897)(O),N(5464)(O),N(6308)(O),N(480)(O),N(8351)(O),N(4977)(O),N(1704)(O),N(1486)(O),N(8726)(O),N(4215)(O),N(2690)(O),N(4033)(O),N(787)(O),N(6769)(O),N(6580)(O),N(4657)(O),N(1895)(O),N(6038)(O),N(2898)(O),N(3414)(O),N(6667)(O),N(402)(O),N(846)(O),N(9377)(O);var v=N(6747);for(var u in v)v.hasOwnProperty(u)&&O.plugins.register(v[u]);O.platform.initialize(),de.exports=O,typeof window<"u"&&(window.Chart=O),O.Legend=v.legend._element,O.Title=v.title._element,O.pluginService=O.plugins,O.PluginBase=O.Element.extend({}),O.canvasHelpers=O.helpers.canvas,O.layoutService=O.layouts},6038:de=>{"use strict";de.exports=function(ge){ge.Bar=function(N,O){return O.type="bar",new ge(N,O)}}},2898:de=>{"use strict";de.exports=function(ge){ge.Bubble=function(N,O){return O.type="bubble",new ge(N,O)}}},3414:de=>{"use strict";de.exports=function(ge){ge.Doughnut=function(N,O){return O.type="doughnut",new ge(N,O)}}},6667:de=>{"use strict";de.exports=function(ge){ge.Line=function(N,O){return O.type="line",new ge(N,O)}}},402:de=>{"use strict";de.exports=function(ge){ge.PolarArea=function(N,O){return O.type="polarArea",new ge(N,O)}}},846:de=>{"use strict";de.exports=function(ge){ge.Radar=function(N,O){return O.type="radar",new ge(N,O)}}},9377:de=>{"use strict";de.exports=function(ge){ge.Scatter=function(N,O){return O.type="scatter",new ge(N,O)}}},2690:(de,ge,N)=>{"use strict";var O=N(9800),v=N(9931),u=N(3305);O._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}}),O._set("horizontalBar",{hover:{mode:"index",axis:"y"},scales:{xAxes:[{type:"linear",position:"bottom"}],yAxes:[{position:"left",type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:"left"}},tooltips:{callbacks:{title:function(p,y){var x="";return p.length>0&&(p[0].yLabel?x=p[0].yLabel:y.labels.length>0&&p[0].index0?Math.min(x,k-S):x,S=k;return x}(x,U):-1,{min:re,pixels:U,start:L,end:A,stackCount:T,scale:x}},calculateBarValuePixels:function(y,x){var ve,Z,X,he,q,Q,T=this,S=T.chart,k=T.getMeta(),L=T.getValueScale(),A=S.data.datasets,U=L.getRightValue(A[y].data[x]),B=L.options.stacked,K=k.stack,re=0;if(B||void 0===B&&void 0!==K)for(ve=0;ve=0&&X>0)&&(re+=X));return he=L.getPixelForValue(re),{size:Q=((q=L.getPixelForValue(re+U))-he)/2,base:he,head:q,center:q+Q/2}},calculateBarIndexPixels:function(y,x,T){var k=T.scale.options,L="flex"===k.barThickness?function M(p,y,x){var T=y.pixels,S=T[p],k=p>0?T[p-1]:null,L=p{"use strict";var O=N(9800),v=N(9931),u=N(3305);O._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(f,h){return(h.datasets[f.datasetIndex].label||"")+": ("+f.xLabel+", "+f.yLabel+", "+h.datasets[f.datasetIndex].data[f.index].r+")"}}}}),de.exports=function(f){f.controllers.bubble=f.DatasetController.extend({dataElementType:v.Point,update:function(h){var M=this,p=M.getMeta();u.each(p.data,function(x,T){M.updateElement(x,T,h)})},updateElement:function(h,M,p){var y=this,x=y.getMeta(),T=h.custom||{},S=y.getScaleForId(x.xAxisID),k=y.getScaleForId(x.yAxisID),L=y._resolveElementOptions(h,M),A=y.getDataset().data[M],U=y.index,B=p?S.getPixelForDecimal(.5):S.getPixelForValue("object"==typeof A?A:NaN,M,U),K=p?k.getBasePixel():k.getPixelForValue(A,M,U);h._xScale=S,h._yScale=k,h._options=L,h._datasetIndex=U,h._index=M,h._model={backgroundColor:L.backgroundColor,borderColor:L.borderColor,borderWidth:L.borderWidth,hitRadius:L.hitRadius,pointStyle:L.pointStyle,radius:p?0:L.radius,skip:T.skip||isNaN(B)||isNaN(K),x:B,y:K},h.pivot()},setHoverStyle:function(h){var M=h._model,p=h._options;M.backgroundColor=u.valueOrDefault(p.hoverBackgroundColor,u.getHoverColor(p.backgroundColor)),M.borderColor=u.valueOrDefault(p.hoverBorderColor,u.getHoverColor(p.borderColor)),M.borderWidth=u.valueOrDefault(p.hoverBorderWidth,p.borderWidth),M.radius=p.radius+p.hoverRadius},removeHoverStyle:function(h){var M=h._model,p=h._options;M.backgroundColor=p.backgroundColor,M.borderColor=p.borderColor,M.borderWidth=p.borderWidth,M.radius=p.radius},_resolveElementOptions:function(h,M){var B,K,re,p=this,y=p.chart,T=y.data.datasets[p.index],S=h.custom||{},k=y.options.elements.point,L=u.options.resolve,A=T.data[M],U={},ve={chart:y,dataIndex:M,dataset:T,datasetIndex:p.index},Z=["backgroundColor","borderColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","hoverRadius","hitRadius","pointStyle"];for(B=0,K=Z.length;B{"use strict";var O=N(9800),v=N(9931),u=N(3305);O._set("doughnut",{animation:{animateRotate:!0,animateScale:!1},hover:{mode:"single"},legendCallback:function(f){var h=[];h.push('
    ');var M=f.data,p=M.datasets,y=M.labels;if(p.length)for(var x=0;x'),y[x]&&h.push(y[x]),h.push("");return h.push("
"),h.join("")},legend:{labels:{generateLabels:function(f){var h=f.data;return h.labels.length&&h.datasets.length?h.labels.map(function(M,p){var y=f.getDatasetMeta(0),x=h.datasets[0],T=y.data[p],S=T&&T.custom||{},k=u.valueAtIndexOrDefault,L=f.options.elements.arc;return{text:M,fillStyle:S.backgroundColor?S.backgroundColor:k(x.backgroundColor,p,L.backgroundColor),strokeStyle:S.borderColor?S.borderColor:k(x.borderColor,p,L.borderColor),lineWidth:S.borderWidth?S.borderWidth:k(x.borderWidth,p,L.borderWidth),hidden:isNaN(x.data[p])||y.data[p].hidden,index:p}}):[]}},onClick:function(f,h){var y,x,T,M=h.index,p=this.chart;for(y=0,x=(p.data.datasets||[]).length;y=Math.PI?-1:re<-Math.PI?1:0))+K,Z={x:Math.cos(re),y:Math.sin(re)},X={x:Math.cos(ve),y:Math.sin(ve)},he=re<=0&&ve>=0||re<=2*Math.PI&&2*Math.PI<=ve,q=re<=.5*Math.PI&&.5*Math.PI<=ve||re<=2.5*Math.PI&&2.5*Math.PI<=ve,Q=re<=-Math.PI&&-Math.PI<=ve||re<=Math.PI&&Math.PI<=ve,ee=re<=.5*-Math.PI&&.5*-Math.PI<=ve||re<=1.5*Math.PI&&1.5*Math.PI<=ve,ae=B/100,le={x:Q?-1:Math.min(Z.x*(Z.x<0?1:ae),X.x*(X.x<0?1:ae)),y:ee?-1:Math.min(Z.y*(Z.y<0?1:ae),X.y*(X.y<0?1:ae))},J={x:he?1:Math.max(Z.x*(Z.x>0?1:ae),X.x*(X.x>0?1:ae)),y:q?1:Math.max(Z.y*(Z.y>0?1:ae),X.y*(X.y>0?1:ae))},Te={width:.5*(J.x-le.x),height:.5*(J.y-le.y)};L=Math.min(S/Te.width,k/Te.height),A={x:-.5*(J.x+le.x),y:-.5*(J.y+le.y)}}p.borderWidth=M.getMaxBorderWidth(U.data),p.outerRadius=Math.max((L-p.borderWidth)/2,0),p.innerRadius=Math.max(B?p.outerRadius/100*B:0,0),p.radiusLength=(p.outerRadius-p.innerRadius)/p.getVisibleDatasetCount(),p.offsetX=A.x*p.outerRadius,p.offsetY=A.y*p.outerRadius,U.total=M.calculateTotal(),M.outerRadius=p.outerRadius-p.radiusLength*M.getRingIndex(M.index),M.innerRadius=Math.max(M.outerRadius-p.radiusLength,0),u.each(U.data,function(Se,ke){M.updateElement(Se,ke,h)})},updateElement:function(h,M,p){var y=this,x=y.chart,T=x.chartArea,S=x.options,k=S.animation,L=(T.left+T.right)/2,A=(T.top+T.bottom)/2,U=S.rotation,B=S.rotation,K=y.getDataset(),re=p&&k.animateRotate||h.hidden?0:y.calculateCircumference(K.data[M])*(S.circumference/(2*Math.PI));u.extend(h,{_datasetIndex:y.index,_index:M,_model:{x:L+x.offsetX,y:A+x.offsetY,startAngle:U,endAngle:B,circumference:re,outerRadius:p&&k.animateScale?0:y.outerRadius,innerRadius:p&&k.animateScale?0:y.innerRadius,label:(0,u.valueAtIndexOrDefault)(K.label,M,x.data.labels[M])}});var he=h._model;this.removeHoverStyle(h),(!p||!k.animateRotate)&&(he.startAngle=0===M?S.rotation:y.getMeta().data[M-1]._model.endAngle,he.endAngle=he.startAngle+he.circumference),h.pivot()},removeHoverStyle:function(h){f.DatasetController.prototype.removeHoverStyle.call(this,h,this.chart.options.elements.arc)},calculateTotal:function(){var y,h=this.getDataset(),M=this.getMeta(),p=0;return u.each(M.data,function(x,T){y=h.data[T],!isNaN(y)&&!x.hidden&&(p+=Math.abs(y))}),p},calculateCircumference:function(h){var M=this.getMeta().total;return M>0&&!isNaN(h)?2*Math.PI*(Math.abs(h)/M):0},getMaxBorderWidth:function(h){for(var x,T,M=0,p=this.index,y=h.length,S=0;S(M=(x=h[S]._model?h[S]._model.borderWidth:0)>M?x:M)?T:M;return M}})}},6769:(de,ge,N)=>{"use strict";var O=N(9800),v=N(9931),u=N(3305);O._set("line",{showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}}),de.exports=function(f){function h(M,p){return u.valueOrDefault(M.showLine,p.showLines)}f.controllers.line=f.DatasetController.extend({datasetElementType:v.Line,dataElementType:v.Point,update:function(M){var A,U,B,p=this,y=p.getMeta(),x=y.dataset,T=y.data||[],S=p.chart.options,k=S.elements.line,L=p.getScaleForId(y.yAxisID),K=p.getDataset(),re=h(K,S);for(re&&(B=x.custom||{},void 0!==K.tension&&void 0===K.lineTension&&(K.lineTension=K.tension),x._scale=L,x._datasetIndex=p.index,x._children=T,x._model={spanGaps:K.spanGaps?K.spanGaps:S.spanGaps,tension:B.tension?B.tension:u.valueOrDefault(K.lineTension,k.tension),backgroundColor:B.backgroundColor?B.backgroundColor:K.backgroundColor||k.backgroundColor,borderWidth:B.borderWidth?B.borderWidth:K.borderWidth||k.borderWidth,borderColor:B.borderColor?B.borderColor:K.borderColor||k.borderColor,borderCapStyle:B.borderCapStyle?B.borderCapStyle:K.borderCapStyle||k.borderCapStyle,borderDash:B.borderDash?B.borderDash:K.borderDash||k.borderDash,borderDashOffset:B.borderDashOffset?B.borderDashOffset:K.borderDashOffset||k.borderDashOffset,borderJoinStyle:B.borderJoinStyle?B.borderJoinStyle:K.borderJoinStyle||k.borderJoinStyle,fill:B.fill?B.fill:void 0!==K.fill?K.fill:k.fill,steppedLine:B.steppedLine?B.steppedLine:u.valueOrDefault(K.steppedLine,k.stepped),cubicInterpolationMode:B.cubicInterpolationMode?B.cubicInterpolationMode:u.valueOrDefault(K.cubicInterpolationMode,k.cubicInterpolationMode)},x.pivot()),A=0,U=T.length;A{"use strict";var O=N(9800),v=N(9931),u=N(3305);O._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(f){var h=[];h.push('
    ');var M=f.data,p=M.datasets,y=M.labels;if(p.length)for(var x=0;x'),y[x]&&h.push(y[x]),h.push("");return h.push("
"),h.join("")},legend:{labels:{generateLabels:function(f){var h=f.data;return h.labels.length&&h.datasets.length?h.labels.map(function(M,p){var y=f.getDatasetMeta(0),x=h.datasets[0],S=y.data[p].custom||{},k=u.valueAtIndexOrDefault,L=f.options.elements.arc;return{text:M,fillStyle:S.backgroundColor?S.backgroundColor:k(x.backgroundColor,p,L.backgroundColor),strokeStyle:S.borderColor?S.borderColor:k(x.borderColor,p,L.borderColor),lineWidth:S.borderWidth?S.borderWidth:k(x.borderWidth,p,L.borderWidth),hidden:isNaN(x.data[p])||y.data[p].hidden,index:p}}):[]}},onClick:function(f,h){var y,x,T,M=h.index,p=this.chart;for(y=0,x=(p.data.datasets||[]).length;y0&&!isNaN(h)?2*Math.PI/M:0}})}},4657:(de,ge,N)=>{"use strict";var O=N(9800),v=N(9931),u=N(3305);O._set("radar",{scale:{type:"radialLinear"},elements:{line:{tension:0}}}),de.exports=function(f){f.controllers.radar=f.DatasetController.extend({datasetElementType:v.Line,dataElementType:v.Point,linkScales:u.noop,update:function(h){var M=this,p=M.getMeta(),x=p.data,T=p.dataset.custom||{},S=M.getDataset(),k=M.chart.options.elements.line,L=M.chart.scale;void 0!==S.tension&&void 0===S.lineTension&&(S.lineTension=S.tension),u.extend(p.dataset,{_datasetIndex:M.index,_scale:L,_children:x,_loop:!0,_model:{tension:T.tension?T.tension:u.valueOrDefault(S.lineTension,k.tension),backgroundColor:T.backgroundColor?T.backgroundColor:S.backgroundColor||k.backgroundColor,borderWidth:T.borderWidth?T.borderWidth:S.borderWidth||k.borderWidth,borderColor:T.borderColor?T.borderColor:S.borderColor||k.borderColor,fill:T.fill?T.fill:void 0!==S.fill?S.fill:k.fill,borderCapStyle:T.borderCapStyle?T.borderCapStyle:S.borderCapStyle||k.borderCapStyle,borderDash:T.borderDash?T.borderDash:S.borderDash||k.borderDash,borderDashOffset:T.borderDashOffset?T.borderDashOffset:S.borderDashOffset||k.borderDashOffset,borderJoinStyle:T.borderJoinStyle?T.borderJoinStyle:S.borderJoinStyle||k.borderJoinStyle}}),p.dataset.pivot(),u.each(x,function(A,U){M.updateElement(A,U,h)},M),M.updateBezierControlPoints()},updateElement:function(h,M,p){var y=this,x=h.custom||{},T=y.getDataset(),S=y.chart.scale,k=y.chart.options.elements.point,L=S.getPointPositionForValue(M,T.data[M]);void 0!==T.radius&&void 0===T.pointRadius&&(T.pointRadius=T.radius),void 0!==T.hitRadius&&void 0===T.pointHitRadius&&(T.pointHitRadius=T.hitRadius),u.extend(h,{_datasetIndex:y.index,_index:M,_scale:S,_model:{x:p?S.xCenter:L.x,y:p?S.yCenter:L.y,tension:x.tension?x.tension:u.valueOrDefault(T.lineTension,y.chart.options.elements.line.tension),radius:x.radius?x.radius:u.valueAtIndexOrDefault(T.pointRadius,M,k.radius),backgroundColor:x.backgroundColor?x.backgroundColor:u.valueAtIndexOrDefault(T.pointBackgroundColor,M,k.backgroundColor),borderColor:x.borderColor?x.borderColor:u.valueAtIndexOrDefault(T.pointBorderColor,M,k.borderColor),borderWidth:x.borderWidth?x.borderWidth:u.valueAtIndexOrDefault(T.pointBorderWidth,M,k.borderWidth),pointStyle:x.pointStyle?x.pointStyle:u.valueAtIndexOrDefault(T.pointStyle,M,k.pointStyle),hitRadius:x.hitRadius?x.hitRadius:u.valueAtIndexOrDefault(T.pointHitRadius,M,k.hitRadius)}}),h._model.skip=x.skip?x.skip:isNaN(h._model.x)||isNaN(h._model.y)},updateBezierControlPoints:function(){var h=this.chart.chartArea,M=this.getMeta();u.each(M.data,function(p,y){var x=p._model,T=u.splineCurve(u.previousItem(M.data,y,!0)._model,x,u.nextItem(M.data,y,!0)._model,x.tension);x.controlPointPreviousX=Math.max(Math.min(T.previous.x,h.right),h.left),x.controlPointPreviousY=Math.max(Math.min(T.previous.y,h.bottom),h.top),x.controlPointNextX=Math.max(Math.min(T.next.x,h.right),h.left),x.controlPointNextY=Math.max(Math.min(T.next.y,h.bottom),h.top),p.pivot()})},setHoverStyle:function(h){var M=this.chart.data.datasets[h._datasetIndex],p=h.custom||{},y=h._index,x=h._model;x.radius=p.hoverRadius?p.hoverRadius:u.valueAtIndexOrDefault(M.pointHoverRadius,y,this.chart.options.elements.point.hoverRadius),x.backgroundColor=p.hoverBackgroundColor?p.hoverBackgroundColor:u.valueAtIndexOrDefault(M.pointHoverBackgroundColor,y,u.getHoverColor(x.backgroundColor)),x.borderColor=p.hoverBorderColor?p.hoverBorderColor:u.valueAtIndexOrDefault(M.pointHoverBorderColor,y,u.getHoverColor(x.borderColor)),x.borderWidth=p.hoverBorderWidth?p.hoverBorderWidth:u.valueAtIndexOrDefault(M.pointHoverBorderWidth,y,x.borderWidth)},removeHoverStyle:function(h){var M=this.chart.data.datasets[h._datasetIndex],p=h.custom||{},y=h._index,x=h._model,T=this.chart.options.elements.point;x.radius=p.radius?p.radius:u.valueAtIndexOrDefault(M.pointRadius,y,T.radius),x.backgroundColor=p.backgroundColor?p.backgroundColor:u.valueAtIndexOrDefault(M.pointBackgroundColor,y,T.backgroundColor),x.borderColor=p.borderColor?p.borderColor:u.valueAtIndexOrDefault(M.pointBorderColor,y,T.borderColor),x.borderWidth=p.borderWidth?p.borderWidth:u.valueAtIndexOrDefault(M.pointBorderWidth,y,T.borderWidth)}})}},1895:(de,ge,N)=>{"use strict";N(9800)._set("scatter",{hover:{mode:"single"},scales:{xAxes:[{id:"x-axis-1",type:"linear",position:"bottom"}],yAxes:[{id:"y-axis-1",type:"linear",position:"left"}]},showLines:!1,tooltips:{callbacks:{title:function(){return""},label:function(v){return"("+v.xLabel+", "+v.yLabel+")"}}}}),de.exports=function(v){v.controllers.scatter=v.controllers.line}},8103:(de,ge,N)=>{"use strict";var O=N(9800),v=N(8839),u=N(3305);O._set("global",{animation:{duration:1e3,easing:"easeOutQuart",onProgress:u.noop,onComplete:u.noop}}),de.exports=function(f){f.Animation=v.extend({chart:null,currentStep:0,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),f.animationService={frameDuration:17,animations:[],dropFrames:0,request:null,addAnimation:function(h,M,p,y){var T,S,x=this.animations;for(M.chart=h,y||(h.animating=!0),T=0,S=x.length;T1&&(p=Math.floor(h.dropFrames),h.dropFrames=h.dropFrames%1),h.advance(1+p);var y=Date.now();h.dropFrames+=(y-M)/h.frameDuration,h.animations.length>0&&h.requestAnimationFrame()},advance:function(h){for(var p,y,M=this.animations,x=0;x=p.numSteps?(u.callback(p.onAnimationComplete,[p],y),y.animating=!1,M.splice(x,1)):++x}},Object.defineProperty(f.Animation.prototype,"animationObject",{get:function(){return this}}),Object.defineProperty(f.Animation.prototype,"chartInstance",{get:function(){return this.chart},set:function(h){this.chart=h}})}},1047:(de,ge,N)=>{"use strict";var O=N(9800),v=N(3305),u=N(2814),f=N(2294),h=N(8244),M=N(2445);de.exports=function(p){function T(S){return"top"===S||"bottom"===S}p.types={},p.instances={},p.controllers={},v.extend(p.prototype,{construct:function(S,k){var L=this;k=function y(S){var k=(S=S||{}).data=S.data||{};return k.datasets=k.datasets||[],k.labels=k.labels||[],S.options=v.configMerge(O.global,O[S.type],S.options||{}),S}(k);var A=h.acquireContext(S,k),U=A&&A.canvas,B=U&&U.height,K=U&&U.width;L.id=v.uid(),L.ctx=A,L.canvas=U,L.config=k,L.width=K,L.height=B,L.aspectRatio=B?K/B:null,L.options=k.options,L._bufferedRender=!1,L.chart=L,L.controller=L,p.instances[L.id]=L,Object.defineProperty(L,"data",{get:function(){return L.config.data},set:function(re){L.config.data=re}}),A&&U?(L.initialize(),L.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var S=this;return M.notify(S,"beforeInit"),v.retinaScale(S,S.options.devicePixelRatio),S.bindEvents(),S.options.responsive&&S.resize(!0),S.ensureScalesHaveIDs(),S.buildOrUpdateScales(),S.initToolTip(),M.notify(S,"afterInit"),S},clear:function(){return v.canvas.clear(this),this},stop:function(){return p.animationService.cancelAnimation(this),this},resize:function(S){var k=this,L=k.options,A=k.canvas,U=L.maintainAspectRatio&&k.aspectRatio||null,B=Math.max(0,Math.floor(v.getMaximumWidth(A))),K=Math.max(0,Math.floor(U?B/U:v.getMaximumHeight(A)));if((k.width!==B||k.height!==K)&&(A.width=k.width=B,A.height=k.height=K,A.style.width=B+"px",A.style.height=K+"px",v.retinaScale(k,L.devicePixelRatio),!S)){var re={width:B,height:K};M.notify(k,"resize",[re]),k.options.onResize&&k.options.onResize(k,re),k.stop(),k.update(k.options.responsiveAnimationDuration)}},ensureScalesHaveIDs:function(){var S=this.options,k=S.scales||{},L=S.scale;v.each(k.xAxes,function(A,U){A.id=A.id||"x-axis-"+U}),v.each(k.yAxes,function(A,U){A.id=A.id||"y-axis-"+U}),L&&(L.id=L.id||"scale")},buildOrUpdateScales:function(){var S=this,k=S.options,L=S.scales||{},A=[],U=Object.keys(L).reduce(function(B,K){return B[K]=!1,B},{});k.scales&&(A=A.concat((k.scales.xAxes||[]).map(function(B){return{options:B,dtype:"category",dposition:"bottom"}}),(k.scales.yAxes||[]).map(function(B){return{options:B,dtype:"linear",dposition:"left"}}))),k.scale&&A.push({options:k.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),v.each(A,function(B){var K=B.options,re=K.id,ve=v.valueOrDefault(K.type,B.dtype);T(K.position)!==T(B.dposition)&&(K.position=B.dposition),U[re]=!0;var Z=null;if(re in L&&L[re].type===ve)(Z=L[re]).options=K,Z.ctx=S.ctx,Z.chart=S;else{var X=p.scaleService.getScaleConstructor(ve);if(!X)return;Z=new X({id:re,type:ve,options:K,ctx:S.ctx,chart:S}),L[Z.id]=Z}Z.mergeTicksOptions(),B.isDefault&&(S.scale=Z)}),v.each(U,function(B,K){B||delete L[K]}),S.scales=L,p.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var S=this,k=[],L=[];return v.each(S.data.datasets,function(A,U){var B=S.getDatasetMeta(U),K=A.type||S.config.type;if(B.type&&B.type!==K&&(S.destroyDatasetMeta(U),B=S.getDatasetMeta(U)),B.type=K,k.push(B.type),B.controller)B.controller.updateIndex(U),B.controller.linkScales();else{var re=p.controllers[B.type];if(void 0===re)throw new Error('"'+B.type+'" is not a chart type.');B.controller=new re(S,U),L.push(B.controller)}},S),L},resetElements:function(){var S=this;v.each(S.data.datasets,function(k,L){S.getDatasetMeta(L).controller.reset()},S)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(S){var k=this;if((!S||"object"!=typeof S)&&(S={duration:S,lazy:arguments[1]}),function x(S){var k=S.options;v.each(S.scales,function(L){f.removeBox(S,L)}),k=v.configMerge(p.defaults.global,p.defaults[S.config.type],k),S.options=S.config.options=k,S.ensureScalesHaveIDs(),S.buildOrUpdateScales(),S.tooltip._options=k.tooltips,S.tooltip.initialize()}(k),M._invalidate(k),!1!==M.notify(k,"beforeUpdate")){k.tooltip._data=k.data;var L=k.buildOrUpdateControllers();v.each(k.data.datasets,function(A,U){k.getDatasetMeta(U).controller.buildOrUpdateElements()},k),k.updateLayout(),k.options.animation&&k.options.animation.duration&&v.each(L,function(A){A.reset()}),k.updateDatasets(),k.tooltip.initialize(),k.lastActive=[],M.notify(k,"afterUpdate"),k._bufferedRender?k._bufferedRequest={duration:S.duration,easing:S.easing,lazy:S.lazy}:k.render(S)}},updateLayout:function(){var S=this;!1!==M.notify(S,"beforeLayout")&&(f.update(this,this.width,this.height),M.notify(S,"afterScaleUpdate"),M.notify(S,"afterLayout"))},updateDatasets:function(){var S=this;if(!1!==M.notify(S,"beforeDatasetsUpdate")){for(var k=0,L=S.data.datasets.length;k"u"&&0!==U.duration)){var K=new p.Animation({numSteps:(L||U.duration)/16.66,easing:S.easing||U.easing,render:function(re,ve){var X=ve.currentStep,he=X/ve.numSteps;re.draw((0,v.easing.effects[ve.easing])(he),he,X)},onAnimationProgress:U.onProgress,onAnimationComplete:B});p.animationService.addAnimation(k,K,L,A)}else k.draw(),B(new p.Animation({numSteps:0,chart:k}));return k}},draw:function(S){var k=this;k.clear(),v.isNullOrUndef(S)&&(S=1),k.transition(S),!1!==M.notify(k,"beforeDraw",[S])&&(v.each(k.boxes,function(L){L.draw(k.chartArea)},k),k.scale&&k.scale.draw(),k.drawDatasets(S),k._drawTooltip(S),M.notify(k,"afterDraw",[S]))},transition:function(S){for(var k=this,L=0,A=(k.data.datasets||[]).length;L=0;--L)k.isDatasetVisible(L)&&k.drawDataset(L,S);M.notify(k,"afterDatasetsDraw",[S])}},drawDataset:function(S,k){var L=this,A=L.getDatasetMeta(S),U={meta:A,index:S,easingValue:k};!1!==M.notify(L,"beforeDatasetDraw",[U])&&(A.controller.draw(k),M.notify(L,"afterDatasetDraw",[U]))},_drawTooltip:function(S){var k=this,L=k.tooltip,A={tooltip:L,easingValue:S};!1!==M.notify(k,"beforeTooltipDraw",[A])&&(L.draw(),M.notify(k,"afterTooltipDraw",[A]))},getElementAtEvent:function(S){return u.modes.single(this,S)},getElementsAtEvent:function(S){return u.modes.label(this,S,{intersect:!0})},getElementsAtXAxis:function(S){return u.modes["x-axis"](this,S,{intersect:!0})},getElementsAtEventForMode:function(S,k,L){var A=u.modes[k];return"function"==typeof A?A(this,S,L):[]},getDatasetAtEvent:function(S){return u.modes.dataset(this,S,{intersect:!0})},getDatasetMeta:function(S){var k=this,L=k.data.datasets[S];L._meta||(L._meta={});var A=L._meta[k.id];return A||(A=L._meta[k.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),A},getVisibleDatasetCount:function(){for(var S=0,k=0,L=this.data.datasets.length;k{"use strict";var O=N(3305);de.exports=function(v){var u=["push","pop","shift","splice","unshift"];function h(M,p){var y=M._chartjs;if(y){var x=y.listeners,T=x.indexOf(p);-1!==T&&x.splice(T,1),!(x.length>0)&&(u.forEach(function(S){delete M[S]}),delete M._chartjs)}}v.DatasetController=function(M,p){this.initialize(M,p)},O.extend(v.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(M,p){var y=this;y.chart=M,y.index=p,y.linkScales(),y.addElements()},updateIndex:function(M){this.index=M},linkScales:function(){var M=this,p=M.getMeta(),y=M.getDataset();(null===p.xAxisID||!(p.xAxisID in M.chart.scales))&&(p.xAxisID=y.xAxisID||M.chart.options.scales.xAxes[0].id),(null===p.yAxisID||!(p.yAxisID in M.chart.scales))&&(p.yAxisID=y.yAxisID||M.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(M){return this.chart.scales[M]},reset:function(){this.update(!0)},destroy:function(){this._data&&h(this._data,this)},createMetaDataset:function(){var M=this,p=M.datasetElementType;return p&&new p({_chart:M.chart,_datasetIndex:M.index})},createMetaData:function(M){var p=this,y=p.dataElementType;return y&&new y({_chart:p.chart,_datasetIndex:p.index,_index:M})},addElements:function(){var T,S,M=this,p=M.getMeta(),y=M.getDataset().data||[],x=p.data;for(T=0,S=y.length;Tx&&M.insertElements(x,T-x)},insertElements:function(M,p){for(var y=0;y{"use strict";var O=N(3305);de.exports={_set:function(v,u){return O.merge(this[v]||(this[v]={}),u)}}},8839:(de,ge,N)=>{"use strict";var O=N(7726),v=N(3305),f=function(h){v.extend(this,h),this.initialize.apply(this,arguments)};v.extend(f.prototype,{initialize:function(){this.hidden=!1},pivot:function(){var h=this;return h._view||(h._view=v.clone(h._model)),h._start={},h},transition:function(h){var M=this,p=M._model,y=M._start,x=M._view;return p&&1!==h?(x||(x=M._view={}),y||(y=M._start={}),function u(h,M,p,y){var T,S,k,L,A,U,B,K,re,x=Object.keys(p);for(T=0,S=x.length;T{"use strict";var O=N(7726),v=N(9800),u=N(3305);de.exports=function(f){function h(y,x,T){var S;return"string"==typeof y?(S=parseInt(y,10),-1!==y.indexOf("%")&&(S=S/100*x.parentNode[T])):S=y,S}function M(y){return null!=y&&"none"!==y}function p(y,x,T){var S=document.defaultView,k=y.parentNode,L=S.getComputedStyle(y)[x],A=S.getComputedStyle(k)[x],U=M(L),B=M(A),K=Number.POSITIVE_INFINITY;return U||B?Math.min(U?h(L,y,T):K,B?h(A,k,T):K):"none"}u.configMerge=function(){return u.merge(u.clone(arguments[0]),[].slice.call(arguments,1),{merger:function(y,x,T,S){var k=x[y]||{},L=T[y];"scales"===y?x[y]=u.scaleMerge(k,L):"scale"===y?x[y]=u.merge(k,[f.scaleService.getScaleDefaults(L.type),L]):u._merger(y,x,T,S)}})},u.scaleMerge=function(){return u.merge(u.clone(arguments[0]),[].slice.call(arguments,1),{merger:function(y,x,T,S){if("xAxes"===y||"yAxes"===y){var L,A,U,k=T[y].length;for(x[y]||(x[y]=[]),L=0;L=x[y].length&&x[y].push({}),u.merge(x[y][L],!x[y][L].type||U.type&&U.type!==x[y][L].type?[f.scaleService.getScaleDefaults(A),U]:U)}else u._merger(y,x,T,S)}})},u.where=function(y,x){if(u.isArray(y)&&Array.prototype.filter)return y.filter(x);var T=[];return u.each(y,function(S){x(S)&&T.push(S)}),T},u.findIndex=Array.prototype.findIndex?function(y,x,T){return y.findIndex(x,T)}:function(y,x,T){T=void 0===T?y:T;for(var S=0,k=y.length;S=0;S--){var k=y[S];if(x(k))return k}},u.isNumber=function(y){return!isNaN(parseFloat(y))&&isFinite(y)},u.almostEquals=function(y,x,T){return Math.abs(y-x)y},u.max=function(y){return y.reduce(function(x,T){return isNaN(T)?x:Math.max(x,T)},Number.NEGATIVE_INFINITY)},u.min=function(y){return y.reduce(function(x,T){return isNaN(T)?x:Math.min(x,T)},Number.POSITIVE_INFINITY)},u.sign=Math.sign?function(y){return Math.sign(y)}:function(y){return 0==(y=+y)||isNaN(y)?y:y>0?1:-1},u.log10=Math.log10?function(y){return Math.log10(y)}:function(y){var x=Math.log(y)*Math.LOG10E,T=Math.round(x);return y===Math.pow(10,T)?T:x},u.toRadians=function(y){return y*(Math.PI/180)},u.toDegrees=function(y){return y*(180/Math.PI)},u.getAngleFromPoint=function(y,x){var T=x.x-y.x,S=x.y-y.y,k=Math.sqrt(T*T+S*S),L=Math.atan2(S,T);return L<-.5*Math.PI&&(L+=2*Math.PI),{angle:L,distance:k}},u.distanceBetweenPoints=function(y,x){return Math.sqrt(Math.pow(x.x-y.x,2)+Math.pow(x.y-y.y,2))},u.aliasPixel=function(y){return y%2==0?0:.5},u.splineCurve=function(y,x,T,S){var k=y.skip?x:y,L=x,A=T.skip?x:T,U=Math.sqrt(Math.pow(L.x-k.x,2)+Math.pow(L.y-k.y,2)),B=Math.sqrt(Math.pow(A.x-L.x,2)+Math.pow(A.y-L.y,2)),K=U/(U+B),re=B/(U+B),ve=S*(K=isNaN(K)?0:K),Z=S*(re=isNaN(re)?0:re);return{previous:{x:L.x-ve*(A.x-k.x),y:L.y-ve*(A.y-k.y)},next:{x:L.x+Z*(A.x-k.x),y:L.y+Z*(A.y-k.y)}}},u.EPSILON=Number.EPSILON||1e-14,u.splineCurveMonotone=function(y){var S,k,L,A,B,K,re,ve,Z,x=(y||[]).map(function(X){return{model:X._model,deltaK:0,mK:0}}),T=x.length;for(S=0;S0?x[S-1]:null,(A=S0?x[S-1]:null)&&!k.model.skip&&(L.model.controlPointPreviousX=L.model.x-(Z=(L.model.x-k.model.x)/3),L.model.controlPointPreviousY=L.model.y-Z*L.mK),A&&!A.model.skip&&(L.model.controlPointNextX=L.model.x+(Z=(A.model.x-L.model.x)/3),L.model.controlPointNextY=L.model.y+Z*L.mK))},u.nextItem=function(y,x,T){return T?x>=y.length-1?y[0]:y[x+1]:x>=y.length-1?y[y.length-1]:y[x+1]},u.previousItem=function(y,x,T){return T?x<=0?y[y.length-1]:y[x-1]:x<=0?y[0]:y[x-1]},u.niceNum=function(y,x){var T=Math.floor(u.log10(y)),S=y/Math.pow(10,T);return(x?S<1.5?1:S<3?2:S<7?5:10:S<=1?1:S<=2?2:S<=5?5:10)*Math.pow(10,T)},u.requestAnimFrame=typeof window>"u"?function(y){y()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(y){return window.setTimeout(y,1e3/60)},u.getRelativePosition=function(y,x){var T,S,k=y.originalEvent||y,L=y.currentTarget||y.srcElement,A=L.getBoundingClientRect(),U=k.touches;U&&U.length>0?(T=U[0].clientX,S=U[0].clientY):(T=k.clientX,S=k.clientY);var B=parseFloat(u.getStyle(L,"padding-left")),K=parseFloat(u.getStyle(L,"padding-top")),re=parseFloat(u.getStyle(L,"padding-right")),ve=parseFloat(u.getStyle(L,"padding-bottom")),X=A.bottom-A.top-K-ve;return{x:T=Math.round((T-A.left-B)/(A.right-A.left-B-re)*L.width/x.currentDevicePixelRatio),y:S=Math.round((S-A.top-K)/X*L.height/x.currentDevicePixelRatio)}},u.getConstraintWidth=function(y){return p(y,"max-width","clientWidth")},u.getConstraintHeight=function(y){return p(y,"max-height","clientHeight")},u.getMaximumWidth=function(y){var x=y.parentNode;if(!x)return y.clientWidth;var T=parseInt(u.getStyle(x,"padding-left"),10),S=parseInt(u.getStyle(x,"padding-right"),10),k=x.clientWidth-T-S,L=u.getConstraintWidth(y);return isNaN(L)?k:Math.min(k,L)},u.getMaximumHeight=function(y){var x=y.parentNode;if(!x)return y.clientHeight;var T=parseInt(u.getStyle(x,"padding-top"),10),S=parseInt(u.getStyle(x,"padding-bottom"),10),k=x.clientHeight-T-S,L=u.getConstraintHeight(y);return isNaN(L)?k:Math.min(k,L)},u.getStyle=function(y,x){return y.currentStyle?y.currentStyle[x]:document.defaultView.getComputedStyle(y,null).getPropertyValue(x)},u.retinaScale=function(y,x){var T=y.currentDevicePixelRatio=x||window.devicePixelRatio||1;if(1!==T){var S=y.canvas,k=y.height,L=y.width;S.height=k*T,S.width=L*T,y.ctx.scale(T,T),!S.style.height&&!S.style.width&&(S.style.height=k+"px",S.style.width=L+"px")}},u.fontString=function(y,x,T){return x+" "+y+"px "+T},u.longestText=function(y,x,T,S){var k=(S=S||{}).data=S.data||{},L=S.garbageCollect=S.garbageCollect||[];S.font!==x&&(k=S.data={},L=S.garbageCollect=[],S.font=x),y.font=x;var A=0;u.each(T,function(K){null!=K&&!0!==u.isArray(K)?A=u.measureText(y,k,L,A,K):u.isArray(K)&&u.each(K,function(re){null!=re&&!u.isArray(re)&&(A=u.measureText(y,k,L,A,re))})});var U=L.length/2;if(U>T.length){for(var B=0;BS&&(S=L),S},u.numberOfLabelLines=function(y){var x=1;return u.each(y,function(T){u.isArray(T)&&T.length>x&&(x=T.length)}),x},u.color=O?function(y){return y instanceof CanvasGradient&&(y=v.global.defaultColor),O(y)}:function(y){return console.error("Color.js not found!"),y},u.getHoverColor=function(y){return y instanceof CanvasPattern?y:u.color(y).saturate(.5).darken(.1).rgbString()}}},2814:(de,ge,N)=>{"use strict";var O=N(3305);function v(y,x){return y.native?{x:y.x,y:y.y}:O.getRelativePosition(y,x)}function u(y,x){var S,k,L,A,U;for(k=0,A=y.data.datasets.length;k0&&(L=y.getDatasetMeta(L[0]._datasetIndex).data),L},"x-axis":function(y,x){return p(y,x,{intersect:!1})},point:function(y,x){return f(y,v(x,y))},nearest:function(y,x,T){var S=v(x,y);T.axis=T.axis||"xy";var k=M(T.axis),L=h(y,S,T.intersect,k);return L.length>1&&L.sort(function(A,U){var re=A.getArea()-U.getArea();return 0===re&&(re=A._datasetIndex-U._datasetIndex),re}),L.slice(0,1)},x:function(y,x,T){var S=v(x,y),k=[],L=!1;return u(y,function(A){A.inXRange(S.x)&&k.push(A),A.inRange(S.x,S.y)&&(L=!0)}),T.intersect&&!L&&(k=[]),k},y:function(y,x,T){var S=v(x,y),k=[],L=!1;return u(y,function(A){A.inYRange(S.y)&&k.push(A),A.inRange(S.x,S.y)&&(L=!0)}),T.intersect&&!L&&(k=[]),k}}}},5979:(de,ge,N)=>{"use strict";N(9800)._set("global",{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{},layout:{padding:{top:0,right:0,bottom:0,left:0}}}),de.exports=function(){var v=function(u,f){return this.construct(u,f),this};return v.Chart=v,v}},2294:(de,ge,N)=>{"use strict";var O=N(3305);function v(f,h){return O.where(f,function(M){return M.position===h})}function u(f,h){f.forEach(function(M,p){return M._tmpIndex_=p,M}),f.sort(function(M,p){var y=h?p:M,x=h?M:p;return y.weight===x.weight?y._tmpIndex_-x._tmpIndex_:y.weight-x.weight}),f.forEach(function(M){delete M._tmpIndex_})}de.exports={defaults:{},addBox:function(f,h){f.boxes||(f.boxes=[]),h.fullWidth=h.fullWidth||!1,h.position=h.position||"top",h.weight=h.weight||0,f.boxes.push(h)},removeBox:function(f,h){var M=f.boxes?f.boxes.indexOf(h):-1;-1!==M&&f.boxes.splice(M,1)},configure:function(f,h,M){for(var T,p=["fullWidth","position","weight"],y=p.length,x=0;x{"use strict";var O=N(9800),v=N(3305);O._set("global",{plugins:{}}),de.exports={_plugins:[],_cacheId:0,register:function(u){var f=this._plugins;[].concat(u).forEach(function(h){-1===f.indexOf(h)&&f.push(h)}),this._cacheId++},unregister:function(u){var f=this._plugins;[].concat(u).forEach(function(h){var M=f.indexOf(h);-1!==M&&f.splice(M,1)}),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(u,f,h){var y,x,T,S,k,M=this.descriptors(u),p=M.length;for(y=0;y{"use strict";var O=N(9800),v=N(8839),u=N(3305),f=N(8347);function h(p){var x,T,y=[];for(x=0,T=p.length;x"u"&&(S.minor[k]=S[k]),typeof S.major[k]>"u"&&(S.major[k]=S[k]))},beforeUpdate:function(){u.callback(this.options.beforeUpdate,[this])},update:function(S,k,L){var U,B,K,re,ve,Z,A=this;for(A.beforeUpdate(),A.maxWidth=S,A.maxHeight=k,A.margins=u.extend({left:0,right:0,top:0,bottom:0},L),A.longestTextCache=A.longestTextCache||{},A.beforeSetDimensions(),A.setDimensions(),A.afterSetDimensions(),A.beforeDataLimits(),A.determineDataLimits(),A.afterDataLimits(),A.beforeBuildTicks(),ve=A.buildTicks()||[],A.afterBuildTicks(),A.beforeTickToLabelConversion(),K=A.convertTicksToLabels(ve)||A.ticks,A.afterTickToLabelConversion(),A.ticks=K,U=0,B=K.length;UX&&BS.maxHeight){B--;break}B++,re=ve*K}S.labelRotation=B},afterCalculateTickRotation:function(){u.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){u.callback(this.options.beforeFit,[this])},fit:function(){var S=this,k=S.minSize={width:0,height:0},L=h(S._ticks),A=S.options,U=A.ticks,B=A.scaleLabel,K=A.gridLines,re=A.display,ve=S.isHorizontal(),Z=x(U),X=A.gridLines.tickMarkLength;if(k.width=ve?S.isFullWidth()?S.maxWidth-S.margins.left-S.margins.right:S.maxWidth:re&&K.drawTicks?X:0,k.height=ve?re&&K.drawTicks?X:0:S.maxHeight,B.display&&re){var Q=T(B)+u.options.toPadding(B.padding).height;ve?k.height+=Q:k.width+=Q}if(U.display&&re){var ee=u.longestText(S.ctx,Z.font,L,S.longestTextCache),ae=u.numberOfLabelLines(L),le=.5*Z.size,J=S.options.ticks.padding;if(ve){S.longestLabelWidth=ee;var Te=u.toRadians(S.labelRotation),Se=Math.cos(Te),ke=Math.sin(Te);k.height=Math.min(S.maxHeight,k.height+(ke*ee+Z.size*ae+le*(ae-1)+le)+J),S.ctx.font=Z.font;var tt=y(S.ctx,L[0],Z.font),st=y(S.ctx,L[L.length-1],Z.font);0!==S.labelRotation?(S.paddingLeft="bottom"===A.position?Se*tt+3:Se*le+3,S.paddingRight="bottom"===A.position?Se*le+3:Se*st+3):(S.paddingLeft=tt/2+3,S.paddingRight=st/2+3)}else U.mirror?ee=0:ee+=J+le,k.width=Math.min(S.maxWidth,k.width+ee),S.paddingTop=Z.size/2,S.paddingBottom=Z.size/2}S.handleMargins(),S.width=k.width,S.height=k.height},handleMargins:function(){var S=this;S.margins&&(S.paddingLeft=Math.max(S.paddingLeft-S.margins.left,0),S.paddingTop=Math.max(S.paddingTop-S.margins.top,0),S.paddingRight=Math.max(S.paddingRight-S.margins.right,0),S.paddingBottom=Math.max(S.paddingBottom-S.margins.bottom,0))},afterFit:function(){u.callback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(S){if(u.isNullOrUndef(S))return NaN;if("number"==typeof S&&!isFinite(S))return NaN;if(S)if(this.isHorizontal()){if(void 0!==S.x)return this.getRightValue(S.x)}else if(void 0!==S.y)return this.getRightValue(S.y);return S},getLabelForIndex:u.noop,getPixelForValue:u.noop,getValueForPixel:u.noop,getPixelForTick:function(S){var k=this,L=k.options.offset;if(k.isHorizontal()){var U=(k.width-(k.paddingLeft+k.paddingRight))/Math.max(k._ticks.length-(L?0:1),1),B=U*S+k.paddingLeft;return L&&(B+=U/2),k.left+Math.round(B)+(k.isFullWidth()?k.margins.left:0)}return k.top+S*((k.height-(k.paddingTop+k.paddingBottom))/(k._ticks.length-1))},getPixelForDecimal:function(S){var k=this;return k.isHorizontal()?k.left+Math.round((k.width-(k.paddingLeft+k.paddingRight))*S+k.paddingLeft)+(k.isFullWidth()?k.margins.left:0):k.top+S*k.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var S=this,k=S.min,L=S.max;return S.beginAtZero?0:k<0&&L<0?L:k>0&&L>0?k:0},_autoSkip:function(S){var k,X,he,Q,L=this,A=L.isHorizontal(),U=L.options.ticks.minor,B=S.length,K=u.toRadians(L.labelRotation),re=Math.cos(K),ve=L.longestLabelWidth*re,Z=[];for(U.maxTicksLimit&&(Q=U.maxTicksLimit),A&&(k=!1,(ve+U.autoSkipPadding)*B>L.width-(L.paddingLeft+L.paddingRight)&&(k=1+Math.floor((ve+U.autoSkipPadding)*B/(L.width-(L.paddingLeft+L.paddingRight)))),Q&&B>Q&&(k=Math.max(k,Math.floor(B/Q)))),X=0;X1&&X%k>0||X%k==0&&X+k>=B)&&X!==B-1&&delete he.label,Z.push(he);return Z},draw:function(S){var k=this,L=k.options;if(L.display){var A=k.ctx,U=O.global,B=L.ticks.minor,K=L.ticks.major||B,re=L.gridLines,ve=L.scaleLabel,Z=0!==k.labelRotation,X=k.isHorizontal(),he=B.autoSkip?k._autoSkip(k.getTicks()):k.getTicks(),q=u.valueOrDefault(B.fontColor,U.defaultFontColor),Q=x(B),ee=u.valueOrDefault(K.fontColor,U.defaultFontColor),ae=x(K),le=re.drawTicks?re.tickMarkLength:0,J=u.valueOrDefault(ve.fontColor,U.defaultFontColor),Te=x(ve),Se=u.options.toPadding(ve.padding),ke=u.toRadians(k.labelRotation),Be=[],tt=k.options.gridLines.lineWidth,st="right"===L.position?k.right:k.right-tt-le,at="right"===L.position?k.right+le:k.right,jt="bottom"===L.position?k.top+tt:k.bottom-le-tt,an="bottom"===L.position?k.top+tt+le:k.bottom+tt;if(u.each(he,function(te,pe){if(!u.isNullOrUndef(te.label)){var ue,be,me,Me,fe=te.label;pe===k.zeroLineIndex&&L.offset===re.offsetGridLines?(ue=re.zeroLineWidth,be=re.zeroLineColor,me=re.zeroLineBorderDash,Me=re.zeroLineBorderDashOffset):(ue=u.valueAtIndexOrDefault(re.lineWidth,pe),be=u.valueAtIndexOrDefault(re.color,pe),me=u.valueOrDefault(re.borderDash,U.borderDash),Me=u.valueOrDefault(re.borderDashOffset,U.borderDashOffset));var De,Ie,Ye,ut,mt,it,fn,An,bt,qt,Gn="middle",oi="middle",Kr=B.padding;if(X){var Io=le+Kr;"bottom"===L.position?(oi=Z?"middle":"top",Gn=Z?"right":"center",qt=k.top+Io):(oi=Z?"middle":"bottom",Gn=Z?"left":"center",qt=k.bottom-Io);var Ai=M(k,pe,re.offsetGridLines&&he.length>1);Ai1);si{"use strict";var O=N(9800),v=N(3305),u=N(2294);de.exports=function(f){f.scaleService={constructors:{},defaults:{},registerScaleType:function(h,M,p){this.constructors[h]=M,this.defaults[h]=v.clone(p)},getScaleConstructor:function(h){return this.constructors.hasOwnProperty(h)?this.constructors[h]:void 0},getScaleDefaults:function(h){return this.defaults.hasOwnProperty(h)?v.merge({},[O.scale,this.defaults[h]]):{}},updateScaleDefaults:function(h,M){var p=this;p.defaults.hasOwnProperty(h)&&(p.defaults[h]=v.extend(p.defaults[h],M))},addScalesToLayout:function(h){v.each(h.scales,function(M){M.fullWidth=M.options.fullWidth,M.position=M.options.position,M.weight=M.options.weight,u.addBox(h,M)})}}}},8347:(de,ge,N)=>{"use strict";var O=N(3305);de.exports={formatters:{values:function(v){return O.isArray(v)?v:""+v},linear:function(v,u,f){var h=f.length>3?f[2]-f[1]:f[1]-f[0];Math.abs(h)>1&&v!==Math.floor(v)&&(h=v-Math.floor(v));var M=O.log10(Math.abs(h)),p="";if(0!==v){var y=-1*Math.floor(M);y=Math.max(Math.min(y,20),0),p=v.toFixed(y)}else p="0";return p},logarithmic:function(v,u,f){var h=v/Math.pow(10,Math.floor(O.log10(v)));return 0===v?"0":1===h||2===h||5===h||0===u||u===f.length-1?v.toExponential():""}}}},480:(de,ge,N)=>{"use strict";var O=N(9800),v=N(8839),u=N(3305);O._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:u.noop,title:function(f,h){var M="",p=h.labels,y=p?p.length:0;if(f.length>0){var x=f[0];x.xLabel?M=x.xLabel:y>0&&x.indexU.height-L.height&&(re="bottom");var ve,Z,X,he,q,Q=(B.left+B.right)/2,ee=(B.top+B.bottom)/2;"center"===re?(ve=function(le){return le<=Q},Z=function(le){return le>Q}):(ve=function(le){return le<=L.width/2},Z=function(le){return le>=U.width-L.width/2}),X=function(le){return le+L.width+A.caretSize+A.caretPadding>U.width},he=function(le){return le-L.width-A.caretSize-A.caretPadding<0},q=function(le){return le<=ee?"top":"bottom"},ve(A.x)?(K="left",X(A.x)&&(K="center",re=q(A.y))):Z(A.x)&&(K="right",he(A.x)&&(K="center",re=q(A.y)));var ae=k._options;return{xAlign:ae.xAlign?ae.xAlign:K,yAlign:ae.yAlign?ae.yAlign:re}}(this,X),Z=function S(k,L,A,U){var B=k.x,K=k.y,ve=k.caretPadding,X=A.xAlign,he=A.yAlign,q=k.caretSize+ve,Q=k.cornerRadius+ve;return"right"===X?B-=L.width:"center"===X&&((B-=L.width/2)+L.width>U.width&&(B=U.width-L.width),B<0&&(B=0)),"top"===he?K+=q:K-="bottom"===he?L.height+q:L.height/2,"center"===he?"left"===X?B+=q:"right"===X&&(B-=q):"left"===X?B-=Q:"right"===X&&(B+=Q),{x:B,y:K}}(B,X,ve,L._chart)}else B.opacity=0;return B.xAlign=ve.xAlign,B.yAlign=ve.yAlign,B.x=Z.x,B.y=Z.y,B.width=X.width,B.height=X.height,B.caretX=he.x,B.caretY=he.y,L._model=B,k&&A.custom&&A.custom.call(L,B),L},drawCaret:function(k,L){var A=this._chart.ctx,B=this.getCaretPosition(k,L,this._view);A.lineTo(B.x1,B.y1),A.lineTo(B.x2,B.y2),A.lineTo(B.x3,B.y3)},getCaretPosition:function(k,L,A){var U,B,K,re,ve,Z,X=A.caretSize,he=A.cornerRadius,q=A.xAlign,Q=A.yAlign,ee=k.x,ae=k.y,le=L.width,J=L.height;if("center"===Q)ve=ae+J/2,"left"===q?(B=(U=ee)-X,K=U,re=ve+X,Z=ve-X):(B=(U=ee+le)+X,K=U,re=ve-X,Z=ve+X);else if("left"===q?(U=(B=ee+he+X)-X,K=B+X):"right"===q?(U=(B=ee+le-he-X)-X,K=B+X):(U=(B=A.caretX)-X,K=B+X),"top"===Q)ve=(re=ae)-X,Z=re;else{ve=(re=ae+J)+X,Z=re;var Te=K;K=U,U=Te}return{x1:U,x2:B,x3:K,y1:re,y2:ve,y3:Z}},drawTitle:function(k,L,A,U){var B=L.title;if(B.length){A.textAlign=L._titleAlign,A.textBaseline="top";var ve,Z,K=L.titleFontSize,re=L.titleSpacing;for(A.fillStyle=h(L.titleFontColor,U),A.font=u.fontString(K,L._titleFontStyle,L._titleFontFamily),ve=0,Z=B.length;ve0&&A.stroke()},draw:function(){var k=this._chart.ctx,L=this._view;if(0!==L.opacity){var A={width:L.width,height:L.height},U={x:L.x,y:L.y},B=Math.abs(L.opacity<.001)?0:L.opacity;this._options.enabled&&(L.title.length||L.beforeBody.length||L.body.length||L.afterBody.length||L.footer.length)&&(this.drawBackground(U,L,k,A,B),U.x+=L.xPadding,U.y+=L.yPadding,this.drawTitle(U,L,k,B),this.drawBody(U,L,k,B),this.drawFooter(U,L,k,B))}},handleEvent:function(k){var U,L=this,A=L._options;return L._lastActive=L._lastActive||[],L._active="mouseout"===k.type?[]:L._chart.getElementsAtEventForMode(k,A.mode,A),(U=!u.arrayEquals(L._active,L._lastActive))&&(L._lastActive=L._active,(A.enabled||A.custom)&&(L._eventPosition={x:k.x,y:k.y},L.update(!0),L.pivot())),U}}),f.Tooltip.positioners={average:function(k){if(!k.length)return!1;var L,A,U=0,B=0,K=0;for(L=0,A=k.length;L{"use strict";var O=N(9800),v=N(8839),u=N(3305);O._set("global",{elements:{arc:{backgroundColor:O.global.defaultColor,borderColor:"#fff",borderWidth:2}}}),de.exports=v.extend({inLabelRange:function(f){var h=this._view;return!!h&&Math.pow(f-h.x,2)S;)y-=2*Math.PI;for(;y=T&&y<=S&&x>=M.innerRadius&&x<=M.outerRadius}return!1},getCenterPoint:function(){var f=this._view,h=(f.startAngle+f.endAngle)/2,M=(f.innerRadius+f.outerRadius)/2;return{x:f.x+Math.cos(h)*M,y:f.y+Math.sin(h)*M}},getArea:function(){var f=this._view;return Math.PI*((f.endAngle-f.startAngle)/(2*Math.PI))*(Math.pow(f.outerRadius,2)-Math.pow(f.innerRadius,2))},tooltipPosition:function(){var f=this._view,h=f.startAngle+(f.endAngle-f.startAngle)/2,M=(f.outerRadius-f.innerRadius)/2+f.innerRadius;return{x:f.x+Math.cos(h)*M,y:f.y+Math.sin(h)*M}},draw:function(){var f=this._chart.ctx,h=this._view,M=h.startAngle,p=h.endAngle;f.beginPath(),f.arc(h.x,h.y,h.outerRadius,M,p),f.arc(h.x,h.y,h.innerRadius,p,M,!0),f.closePath(),f.strokeStyle=h.borderColor,f.lineWidth=h.borderWidth,f.fillStyle=h.backgroundColor,f.fill(),f.lineJoin="bevel",h.borderWidth&&f.stroke()}})},3819:(de,ge,N)=>{"use strict";var O=N(9800),v=N(8839),u=N(3305),f=O.global;O._set("global",{elements:{line:{tension:.4,backgroundColor:f.defaultColor,borderWidth:3,borderColor:f.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0}}}),de.exports=v.extend({draw:function(){var k,L,A,U,h=this,M=h._view,p=h._chart.ctx,y=M.spanGaps,x=h._children.slice(),T=f.elements.line,S=-1;for(h._loop&&x.length&&x.push(x[0]),p.save(),p.lineCap=M.borderCapStyle||T.borderCapStyle,p.setLineDash&&p.setLineDash(M.borderDash||T.borderDash),p.lineDashOffset=M.borderDashOffset||T.borderDashOffset,p.lineJoin=M.borderJoinStyle||T.borderJoinStyle,p.lineWidth=M.borderWidth||T.borderWidth,p.strokeStyle=M.borderColor||f.defaultColor,p.beginPath(),S=-1,k=0;k{"use strict";var O=N(9800),v=N(8839),u=N(3305),f=O.global.defaultColor;function h(p){var y=this._view;return!!y&&Math.abs(p-y.x){"use strict";var O=N(9800),v=N(8839);function u(h){return void 0!==h._view.width}function f(h){var p,y,x,T,M=h._view;if(u(h)){var S=M.width/2;p=M.x-S,y=M.x+S,x=Math.min(M.y,M.base),T=Math.max(M.y,M.base)}else{var k=M.height/2;p=Math.min(M.x,M.base),y=Math.max(M.x,M.base),x=M.y-k,T=M.y+k}return{left:p,top:x,right:y,bottom:T}}O._set("global",{elements:{rectangle:{backgroundColor:O.global.defaultColor,borderColor:O.global.defaultColor,borderSkipped:"bottom",borderWidth:0}}}),de.exports=v.extend({draw:function(){var p,y,x,T,S,k,L,h=this._chart.ctx,M=this._view,A=M.borderWidth;if(M.horizontal?(x=M.y-M.height/2,T=M.y+M.height/2,S=(y=M.x)>(p=M.base)?1:-1,k=1,L=M.borderSkipped||"left"):(p=M.x-M.width/2,y=M.x+M.width/2,S=1,k=(T=M.base)>(x=M.y)?1:-1,L=M.borderSkipped||"bottom"),A){var U=Math.min(Math.abs(p-y),Math.abs(x-T)),B=(A=A>U?U:A)/2,K=p+("left"!==L?B*S:0),re=y+("right"!==L?-B*S:0),ve=x+("top"!==L?B*k:0),Z=T+("bottom"!==L?-B*k:0);K!==re&&(x=ve,T=Z),ve!==Z&&(p=K,y=re)}h.beginPath(),h.fillStyle=M.backgroundColor,h.strokeStyle=M.borderColor,h.lineWidth=A;var X=[[p,T],[p,x],[y,x],[y,T]],q=["bottom","left","top","right"].indexOf(L,0);function Q(le){return X[(q+le)%4]}-1===q&&(q=0);var ee=Q(0);h.moveTo(ee[0],ee[1]);for(var ae=1;ae<4;ae++)ee=Q(ae),h.lineTo(ee[0],ee[1]);h.fill(),A&&h.stroke()},height:function(){var h=this._view;return h.base-h.y},inRange:function(h,M){var p=!1;if(this._view){var y=f(this);p=h>=y.left&&h<=y.right&&M>=y.top&&M<=y.bottom}return p},inLabelRange:function(h,M){var p=this;if(!p._view)return!1;var x=f(p);return u(p)?h>=x.left&&h<=x.right:M>=x.top&&M<=x.bottom},inXRange:function(h){var M=f(this);return h>=M.left&&h<=M.right},inYRange:function(h){var M=f(this);return h>=M.top&&h<=M.bottom},getCenterPoint:function(){var M,p,h=this._view;return u(this)?(M=h.x,p=(h.y+h.base)/2):(M=(h.x+h.base)/2,p=h.y),{x:M,y:p}},getArea:function(){var h=this._view;return h.width*Math.abs(h.y-h.base)},tooltipPosition:function(){var h=this._view;return{x:h.x,y:h.y}}})},9931:(de,ge,N)=>{"use strict";de.exports={},de.exports.Arc=N(280),de.exports.Line=N(3819),de.exports.Point=N(4674),de.exports.Rectangle=N(8667)},2397:(de,ge,N)=>{"use strict";var O=N(4396),v=de.exports={clear:function(u){u.ctx.clearRect(0,0,u.width,u.height)},roundedRect:function(u,f,h,M,p,y){if(y){var x=Math.min(y,M/2),T=Math.min(y,p/2);u.moveTo(f+x,h),u.lineTo(f+M-x,h),u.quadraticCurveTo(f+M,h,f+M,h+T),u.lineTo(f+M,h+p-T),u.quadraticCurveTo(f+M,h+p,f+M-x,h+p),u.lineTo(f+x,h+p),u.quadraticCurveTo(f,h+p,f,h+p-T),u.lineTo(f,h+T),u.quadraticCurveTo(f,h,f+x,h)}else u.rect(f,h,M,p)},drawPoint:function(u,f,h,M,p){var y,x,T,S,k,L;if(!f||"object"!=typeof f||"[object HTMLImageElement]"!==(y=f.toString())&&"[object HTMLCanvasElement]"!==y){if(!(isNaN(h)||h<=0)){switch(f){default:u.beginPath(),u.arc(M,p,h,0,2*Math.PI),u.closePath(),u.fill();break;case"triangle":u.beginPath(),k=(x=3*h/Math.sqrt(3))*Math.sqrt(3)/2,u.moveTo(M-x/2,p+k/3),u.lineTo(M+x/2,p+k/3),u.lineTo(M,p-2*k/3),u.closePath(),u.fill();break;case"rect":L=1/Math.SQRT2*h,u.beginPath(),u.fillRect(M-L,p-L,2*L,2*L),u.strokeRect(M-L,p-L,2*L,2*L);break;case"rectRounded":var A=h/Math.SQRT2,U=M-A,B=p-A,K=Math.SQRT2*h;u.beginPath(),this.roundedRect(u,U,B,K,K,h/2),u.closePath(),u.fill();break;case"rectRot":L=1/Math.SQRT2*h,u.beginPath(),u.moveTo(M-L,p),u.lineTo(M,p+L),u.lineTo(M+L,p),u.lineTo(M,p-L),u.closePath(),u.fill();break;case"cross":u.beginPath(),u.moveTo(M,p+h),u.lineTo(M,p-h),u.moveTo(M-h,p),u.lineTo(M+h,p),u.closePath();break;case"crossRot":u.beginPath(),T=Math.cos(Math.PI/4)*h,S=Math.sin(Math.PI/4)*h,u.moveTo(M-T,p-S),u.lineTo(M+T,p+S),u.moveTo(M-T,p+S),u.lineTo(M+T,p-S),u.closePath();break;case"star":u.beginPath(),u.moveTo(M,p+h),u.lineTo(M,p-h),u.moveTo(M-h,p),u.lineTo(M+h,p),T=Math.cos(Math.PI/4)*h,S=Math.sin(Math.PI/4)*h,u.moveTo(M-T,p-S),u.lineTo(M+T,p+S),u.moveTo(M-T,p+S),u.lineTo(M+T,p-S),u.closePath();break;case"line":u.beginPath(),u.moveTo(M-h,p),u.lineTo(M+h,p),u.closePath();break;case"dash":u.beginPath(),u.moveTo(M,p),u.lineTo(M+h,p),u.closePath()}u.stroke()}}else u.drawImage(f,M-f.width/2,p-f.height/2,f.width,f.height)},clipArea:function(u,f){u.save(),u.beginPath(),u.rect(f.left,f.top,f.right-f.left,f.bottom-f.top),u.clip()},unclipArea:function(u){u.restore()},lineTo:function(u,f,h,M){if(h.steppedLine)return"after"===h.steppedLine&&!M||"after"!==h.steppedLine&&M?u.lineTo(f.x,h.y):u.lineTo(h.x,f.y),void u.lineTo(h.x,h.y);h.tension?u.bezierCurveTo(M?f.controlPointPreviousX:f.controlPointNextX,M?f.controlPointPreviousY:f.controlPointNextY,M?h.controlPointNextX:h.controlPointPreviousX,M?h.controlPointNextY:h.controlPointPreviousY,h.x,h.y):u.lineTo(h.x,h.y)}};O.clear=v.clear,O.drawRoundedRectangle=function(u){u.beginPath(),v.roundedRect.apply(v,arguments),u.closePath()}},4396:de=>{"use strict";var N,ge={noop:function(){},uid:(N=0,function(){return N++}),isNullOrUndef:function(N){return null===N||typeof N>"u"},isArray:Array.isArray?Array.isArray:function(N){return"[object Array]"===Object.prototype.toString.call(N)},isObject:function(N){return null!==N&&"[object Object]"===Object.prototype.toString.call(N)},valueOrDefault:function(N,O){return typeof N>"u"?O:N},valueAtIndexOrDefault:function(N,O,v){return ge.valueOrDefault(ge.isArray(N)?N[O]:N,v)},callback:function(N,O,v){if(N&&"function"==typeof N.call)return N.apply(v,O)},each:function(N,O,v,u){var f,h,M;if(ge.isArray(N))if(h=N.length,u)for(f=h-1;f>=0;f--)O.call(v,N[f],f);else for(f=0;f{"use strict";var O=N(4396),v={linear:function(u){return u},easeInQuad:function(u){return u*u},easeOutQuad:function(u){return-u*(u-2)},easeInOutQuad:function(u){return(u/=.5)<1?.5*u*u:-.5*(--u*(u-2)-1)},easeInCubic:function(u){return u*u*u},easeOutCubic:function(u){return(u-=1)*u*u+1},easeInOutCubic:function(u){return(u/=.5)<1?.5*u*u*u:.5*((u-=2)*u*u+2)},easeInQuart:function(u){return u*u*u*u},easeOutQuart:function(u){return-((u-=1)*u*u*u-1)},easeInOutQuart:function(u){return(u/=.5)<1?.5*u*u*u*u:-.5*((u-=2)*u*u*u-2)},easeInQuint:function(u){return u*u*u*u*u},easeOutQuint:function(u){return(u-=1)*u*u*u*u+1},easeInOutQuint:function(u){return(u/=.5)<1?.5*u*u*u*u*u:.5*((u-=2)*u*u*u*u+2)},easeInSine:function(u){return 1-Math.cos(u*(Math.PI/2))},easeOutSine:function(u){return Math.sin(u*(Math.PI/2))},easeInOutSine:function(u){return-.5*(Math.cos(Math.PI*u)-1)},easeInExpo:function(u){return 0===u?0:Math.pow(2,10*(u-1))},easeOutExpo:function(u){return 1===u?1:1-Math.pow(2,-10*u)},easeInOutExpo:function(u){return 0===u?0:1===u?1:(u/=.5)<1?.5*Math.pow(2,10*(u-1)):.5*(2-Math.pow(2,-10*--u))},easeInCirc:function(u){return u>=1?u:-(Math.sqrt(1-u*u)-1)},easeOutCirc:function(u){return Math.sqrt(1-(u-=1)*u)},easeInOutCirc:function(u){return(u/=.5)<1?-.5*(Math.sqrt(1-u*u)-1):.5*(Math.sqrt(1-(u-=2)*u)+1)},easeInElastic:function(u){var f=1.70158,h=0,M=1;return 0===u?0:1===u?1:(h||(h=.3),M<1?(M=1,f=h/4):f=h/(2*Math.PI)*Math.asin(1/M),-M*Math.pow(2,10*(u-=1))*Math.sin((u-f)*(2*Math.PI)/h))},easeOutElastic:function(u){var f=1.70158,h=0,M=1;return 0===u?0:1===u?1:(h||(h=.3),M<1?(M=1,f=h/4):f=h/(2*Math.PI)*Math.asin(1/M),M*Math.pow(2,-10*u)*Math.sin((u-f)*(2*Math.PI)/h)+1)},easeInOutElastic:function(u){var f=1.70158,h=0,M=1;return 0===u?0:2==(u/=.5)?1:(h||(h=.45),M<1?(M=1,f=h/4):f=h/(2*Math.PI)*Math.asin(1/M),u<1?M*Math.pow(2,10*(u-=1))*Math.sin((u-f)*(2*Math.PI)/h)*-.5:M*Math.pow(2,-10*(u-=1))*Math.sin((u-f)*(2*Math.PI)/h)*.5+1)},easeInBack:function(u){var f=1.70158;return u*u*((f+1)*u-f)},easeOutBack:function(u){var f=1.70158;return(u-=1)*u*((f+1)*u+f)+1},easeInOutBack:function(u){var f=1.70158;return(u/=.5)<1?u*u*((1+(f*=1.525))*u-f)*.5:.5*((u-=2)*u*((1+(f*=1.525))*u+f)+2)},easeInBounce:function(u){return 1-v.easeOutBounce(1-u)},easeOutBounce:function(u){return u<1/2.75?7.5625*u*u:u<2/2.75?7.5625*(u-=1.5/2.75)*u+.75:u<2.5/2.75?7.5625*(u-=2.25/2.75)*u+.9375:7.5625*(u-=2.625/2.75)*u+.984375},easeInOutBounce:function(u){return u<.5?.5*v.easeInBounce(2*u):.5*v.easeOutBounce(2*u-1)+.5}};de.exports={effects:v},O.easingEffects=v},5347:(de,ge,N)=>{"use strict";var O=N(4396);de.exports={toLineHeight:function(v,u){var f=(""+v).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!f||"normal"===f[1])return 1.2*u;switch(v=+f[2],f[3]){case"px":return v;case"%":v/=100}return u*v},toPadding:function(v){var u,f,h,M;return O.isObject(v)?(u=+v.top||0,f=+v.right||0,h=+v.bottom||0,M=+v.left||0):u=f=h=M=+v||0,{top:u,right:f,bottom:h,left:M,height:u+h,width:M+f}},resolve:function(v,u,f){var h,M,p;for(h=0,M=v.length;h{"use strict";de.exports=N(4396),de.exports.easing=N(4317),de.exports.canvas=N(2397),de.exports.options=N(5347)},1607:de=>{de.exports={acquireContext:function(ge){return ge&&ge.canvas&&(ge=ge.canvas),ge&&ge.getContext("2d")||null}}},8005:(de,ge,N)=>{"use strict";var O=N(3305),v="$chartjs",u="chartjs-",f=u+"render-monitor",h=u+"render-animation",M=["animationstart","webkitAnimationStart"],p={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function y(q,Q){var ee=O.getStyle(q,Q),ae=ee&&ee.match(/^(\d+)(\.\d+)?px$/);return ae?Number(ae[1]):void 0}var S=!!function(){var q=!1;try{var Q=Object.defineProperty({},"passive",{get:function(){q=!0}});window.addEventListener("e",null,Q)}catch{}return q}()&&{passive:!0};function k(q,Q,ee){q.addEventListener(Q,ee,S)}function L(q,Q,ee){q.removeEventListener(Q,ee,S)}function A(q,Q,ee,ae,le){return{type:q,chart:Q,native:le||null,x:void 0!==ee?ee:null,y:void 0!==ae?ae:null}}de.exports={_enabled:typeof window<"u"&&typeof document<"u",initialize:function(){var q="from{opacity:0.99}to{opacity:1}";!function he(q,Q){var ee=q._style||document.createElement("style");q._style||(q._style=ee,Q="/* Chart.js */\n"+Q,ee.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(ee)),ee.appendChild(document.createTextNode(Q))}(this,"@-webkit-keyframes "+h+"{"+q+"}@keyframes "+h+"{"+q+"}."+f+"{-webkit-animation:"+h+" 0.001s;animation:"+h+" 0.001s;}")},acquireContext:function(q,Q){"string"==typeof q?q=document.getElementById(q):q.length&&(q=q[0]),q&&q.canvas&&(q=q.canvas);var ee=q&&q.getContext&&q.getContext("2d");return ee&&ee.canvas===q?(function x(q,Q){var ee=q.style,ae=q.getAttribute("height"),le=q.getAttribute("width");if(q[v]={initial:{height:ae,width:le,style:{display:ee.display,height:ee.height,width:ee.width}}},ee.display=ee.display||"block",null===le||""===le){var J=y(q,"width");void 0!==J&&(q.width=J)}if(null===ae||""===ae)if(""===q.style.height)q.height=q.width/(Q.options.aspectRatio||2);else{var Te=y(q,"height");void 0!==J&&(q.height=Te)}}(q,Q),ee):null},releaseContext:function(q){var Q=q.canvas;if(Q[v]){var ee=Q[v].initial;["height","width"].forEach(function(ae){var le=ee[ae];O.isNullOrUndef(le)?Q.removeAttribute(ae):Q.setAttribute(ae,le)}),O.each(ee.style||{},function(ae,le){Q.style[le]=ae}),Q.width=Q.width,delete Q[v]}},addEventListener:function(q,Q,ee){var ae=q.canvas;if("resize"!==Q){var le=ee[v]||(ee[v]={}),Te=(le.proxies||(le.proxies={}))[q.id+"_"+Q]=function(Se){ee(function U(q,Q){var ee=p[q.type]||q.type,ae=O.getRelativePosition(q,Q);return A(ee,Q,ae.x,ae.y,q)}(Se,q))};k(ae,Q,Te)}else!function Z(q,Q,ee){var ae=q[v]||(q[v]={}),le=ae.resizer=function K(q){var Q=document.createElement("div"),ee=u+"size-monitor",ae=1e6,le="position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1;";Q.style.cssText=le,Q.className=ee,Q.innerHTML='
';var J=Q.childNodes[0],Te=Q.childNodes[1];Q._reset=function(){J.scrollLeft=ae,J.scrollTop=ae,Te.scrollLeft=ae,Te.scrollTop=ae};var Se=function(){Q._reset(),q()};return k(J,"scroll",Se.bind(J,"expand")),k(Te,"scroll",Se.bind(Te,"shrink")),Q}(function B(q,Q){var ee=!1,ae=[];return function(){ae=Array.prototype.slice.call(arguments),Q=Q||this,ee||(ee=!0,O.requestAnimFrame.call(window,function(){ee=!1,q.apply(Q,ae)}))}}(function(){if(ae.resizer)return Q(A("resize",ee))}));!function re(q,Q){var ee=q[v]||(q[v]={}),ae=ee.renderProxy=function(le){le.animationName===h&&Q()};O.each(M,function(le){k(q,le,ae)}),ee.reflow=!!q.offsetParent,q.classList.add(f)}(q,function(){if(ae.resizer){var J=q.parentNode;J&&J!==le.parentNode&&J.insertBefore(le,J.firstChild),le._reset()}})}(ae,ee,q)},removeEventListener:function(q,Q,ee){var ae=q.canvas;if("resize"!==Q){var Te=((ee[v]||{}).proxies||{})[q.id+"_"+Q];Te&&L(ae,Q,Te)}else!function X(q){var Q=q[v]||{},ee=Q.resizer;delete Q.resizer,function ve(q){var Q=q[v]||{},ee=Q.renderProxy;ee&&(O.each(M,function(ae){L(q,ae,ee)}),delete Q.renderProxy),q.classList.remove(f)}(q),ee&&ee.parentNode&&ee.parentNode.removeChild(ee)}(ae)}},O.addEvent=k,O.removeEvent=L},8244:(de,ge,N)=>{"use strict";var O=N(3305),v=N(1607),u=N(8005);de.exports=O.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},u._enabled?u:v)},6747:(de,ge,N)=>{"use strict";de.exports={},de.exports.filler=N(6579),de.exports.legend=N(2230),de.exports.title=N(7412)},6579:(de,ge,N)=>{"use strict";var O=N(9800),v=N(9931),u=N(3305);O._set("global",{plugins:{filler:{propagate:!0}}});var f={dataset:function(k){var L=k.fill,A=k.chart,U=A.getDatasetMeta(L),K=U&&A.isDatasetVisible(L)&&U.dataset._children||[],re=K.length||0;return re?function(ve,Z){return Z=A)&&K;switch(B){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return B;default:return!1}}function M(k){var K,L=k.el._model||{},A=k.el._scale||{},U=k.fill,B=null;if(isFinite(U))return null;if("start"===U?B=void 0===L.scaleBottom?A.bottom:L.scaleBottom:"end"===U?B=void 0===L.scaleTop?A.top:L.scaleTop:void 0!==L.scaleZero?B=L.scaleZero:A.getBasePosition?B=A.getBasePosition():A.getBasePixel&&(B=A.getBasePixel()),null!=B){if(void 0!==B.x&&void 0!==B.y)return B;if("number"==typeof B&&isFinite(B))return{x:(K=A.isHorizontal())?B:null,y:K?null:B}}return null}function p(k,L,A){var re,B=k[L].fill,K=[L];if(!A)return B;for(;!1!==B&&-1===K.indexOf(B);){if(!isFinite(B))return B;if(!(re=k[B]))return!1;if(re.visible)return B;K.push(B),B=re.fill}return!1}function y(k){var L=k.fill,A="dataset";return!1===L?null:(isFinite(L)||(A="boundary"),f[A](k))}function x(k){return k&&!k.skip}function T(k,L,A,U,B){var K;if(U&&B){for(k.moveTo(L[0].x,L[0].y),K=1;K0;--K)u.canvas.lineTo(k,A[K],A[K-1],!0)}}de.exports={id:"filler",afterDatasetsUpdate:function(k,L){var K,re,ve,Z,A=(k.data.datasets||[]).length,U=L.propagate,B=[];for(re=0;re{"use strict";var O=N(9800),v=N(8839),u=N(3305),f=N(2294),h=u.noop;function M(x,T){return x.usePointStyle?T*Math.SQRT2:x.boxWidth}O._set("global",{legend:{display:!0,position:"top",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(x,T){var S=T.datasetIndex,k=this.chart,L=k.getDatasetMeta(S);L.hidden=null===L.hidden?!k.data.datasets[S].hidden:null,k.update()},onHover:null,labels:{boxWidth:40,padding:10,generateLabels:function(x){var T=x.data;return u.isArray(T.datasets)?T.datasets.map(function(S,k){return{text:S.label,fillStyle:u.isArray(S.backgroundColor)?S.backgroundColor[0]:S.backgroundColor,hidden:!x.isDatasetVisible(k),lineCap:S.borderCapStyle,lineDash:S.borderDash,lineDashOffset:S.borderDashOffset,lineJoin:S.borderJoinStyle,lineWidth:S.borderWidth,strokeStyle:S.borderColor,pointStyle:S.pointStyle,datasetIndex:k}},this):[]}}},legendCallback:function(x){var T=[];T.push('
    ');for(var S=0;S'),x.data.datasets[S].label&&T.push(x.data.datasets[S].label),T.push("");return T.push("
"),T.join("")}});var p=v.extend({initialize:function(x){u.extend(this,x),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:h,update:function(x,T,S){var k=this;return k.beforeUpdate(),k.maxWidth=x,k.maxHeight=T,k.margins=S,k.beforeSetDimensions(),k.setDimensions(),k.afterSetDimensions(),k.beforeBuildLabels(),k.buildLabels(),k.afterBuildLabels(),k.beforeFit(),k.fit(),k.afterFit(),k.afterUpdate(),k.minSize},afterUpdate:h,beforeSetDimensions:h,setDimensions:function(){var x=this;x.isHorizontal()?(x.width=x.maxWidth,x.left=0,x.right=x.width):(x.height=x.maxHeight,x.top=0,x.bottom=x.height),x.paddingLeft=0,x.paddingTop=0,x.paddingRight=0,x.paddingBottom=0,x.minSize={width:0,height:0}},afterSetDimensions:h,beforeBuildLabels:h,buildLabels:function(){var x=this,T=x.options.labels||{},S=u.callback(T.generateLabels,[x.chart],x)||[];T.filter&&(S=S.filter(function(k){return T.filter(k,x.chart.data)})),x.options.reverse&&S.reverse(),x.legendItems=S},afterBuildLabels:h,beforeFit:h,fit:function(){var x=this,T=x.options,S=T.labels,k=T.display,L=x.ctx,A=O.global,U=u.valueOrDefault,B=U(S.fontSize,A.defaultFontSize),K=U(S.fontStyle,A.defaultFontStyle),re=U(S.fontFamily,A.defaultFontFamily),ve=u.fontString(B,K,re),Z=x.legendHitBoxes=[],X=x.minSize,he=x.isHorizontal();if(he?(X.width=x.maxWidth,X.height=k?10:0):(X.width=k?10:0,X.height=x.maxHeight),k)if(L.font=ve,he){var q=x.lineWidths=[0],Q=x.legendItems.length?B+S.padding:0;L.textAlign="left",L.textBaseline="top",u.each(x.legendItems,function(ke,Be){var st=M(S,B)+B/2+L.measureText(ke.text).width;q[q.length-1]+st+S.padding>=x.width&&(Q+=B+S.padding,q[q.length]=x.left),Z[Be]={left:0,top:0,width:st,height:B},q[q.length-1]+=st+S.padding}),X.height+=Q}else{var ee=S.padding,ae=x.columnWidths=[],le=S.padding,J=0,Te=0,Se=B+ee;u.each(x.legendItems,function(ke,Be){var st=M(S,B)+B/2+L.measureText(ke.text).width;Te+Se>X.height&&(le+=J+S.padding,ae.push(J),J=0,Te=0),J=Math.max(J,st),Te+=Se,Z[Be]={left:0,top:0,width:st,height:B}}),le+=J,ae.push(J),X.width+=le}x.width=X.width,x.height=X.height},afterFit:h,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var x=this,T=x.options,S=T.labels,k=O.global,L=k.elements.line,A=x.width,U=x.lineWidths;if(T.display){var q,B=x.ctx,K=u.valueOrDefault,re=K(S.fontColor,k.defaultFontColor),ve=K(S.fontSize,k.defaultFontSize),Z=K(S.fontStyle,k.defaultFontStyle),X=K(S.fontFamily,k.defaultFontFamily),he=u.fontString(ve,Z,X);B.textAlign="left",B.textBaseline="middle",B.lineWidth=.5,B.strokeStyle=re,B.fillStyle=re,B.font=he;var Q=M(S,ve),ee=x.legendHitBoxes,J=x.isHorizontal();q=J?{x:x.left+(A-U[0])/2,y:x.top+S.padding,line:0}:{x:x.left+S.padding,y:x.top+S.padding,line:0};var Te=ve+S.padding;u.each(x.legendItems,function(Se,ke){var Be=B.measureText(Se.text).width,tt=Q+ve/2+Be,st=q.x,at=q.y;J?st+tt>=A&&(at=q.y+=Te,q.line++,st=q.x=x.left+(A-U[q.line])/2):at+Te>x.bottom&&(st=q.x=st+x.columnWidths[q.line]+S.padding,at=q.y=x.top+S.padding,q.line++),function(Se,ke,Be){if(!(isNaN(Q)||Q<=0)){B.save(),B.fillStyle=K(Be.fillStyle,k.defaultColor),B.lineCap=K(Be.lineCap,L.borderCapStyle),B.lineDashOffset=K(Be.lineDashOffset,L.borderDashOffset),B.lineJoin=K(Be.lineJoin,L.borderJoinStyle),B.lineWidth=K(Be.lineWidth,L.borderWidth),B.strokeStyle=K(Be.strokeStyle,k.defaultColor);var tt=0===K(Be.lineWidth,L.borderWidth);if(B.setLineDash&&B.setLineDash(K(Be.lineDash,L.borderDash)),T.labels&&T.labels.usePointStyle){var st=ve*Math.SQRT2/2,at=st/Math.SQRT2;u.canvas.drawPoint(B,Be.pointStyle,st,Se+at,ke+at)}else tt||B.strokeRect(Se,ke,Q,ve),B.fillRect(Se,ke,Q,ve);B.restore()}}(st,at,Se),ee[ke].left=st,ee[ke].top=at,function(Se,ke,Be,tt){var st=ve/2,at=Q+st+Se,jt=ke+st;B.fillText(Be.text,at,jt),Be.hidden&&(B.beginPath(),B.lineWidth=2,B.moveTo(at,jt),B.lineTo(at+tt,jt),B.stroke())}(st,at,Se,Be),J?q.x+=tt+S.padding:q.y+=Te})}},handleEvent:function(x){var T=this,S=T.options,k="mouseup"===x.type?"click":x.type,L=!1;if("mousemove"===k){if(!S.onHover)return}else{if("click"!==k)return;if(!S.onClick)return}var A=x.x,U=x.y;if(A>=T.left&&A<=T.right&&U>=T.top&&U<=T.bottom)for(var B=T.legendHitBoxes,K=0;K=re.left&&A<=re.left+re.width&&U>=re.top&&U<=re.top+re.height){if("click"===k){S.onClick.call(T,x.native,T.legendItems[K]),L=!0;break}if("mousemove"===k){S.onHover.call(T,x.native,T.legendItems[K]),L=!0;break}}}return L}});function y(x,T){var S=new p({ctx:x.ctx,options:T,chart:x});f.configure(x,S,T),f.addBox(x,S),x.legend=S}de.exports={id:"legend",_element:p,beforeInit:function(x){var T=x.options.legend;T&&y(x,T)},beforeUpdate:function(x){var T=x.options.legend,S=x.legend;T?(u.mergeIf(T,O.global.legend),S?(f.configure(x,S,T),S.options=T):y(x,T)):S&&(f.removeBox(x,S),delete x.legend)},afterEvent:function(x,T){var S=x.legend;S&&S.handleEvent(T)}}},7412:(de,ge,N)=>{"use strict";var O=N(9800),v=N(8839),u=N(3305),f=N(2294),h=u.noop;O._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,lineHeight:1.2,padding:10,position:"top",text:"",weight:2e3}});var M=v.extend({initialize:function(y){u.extend(this,y),this.legendHitBoxes=[]},beforeUpdate:h,update:function(y,x,T){var S=this;return S.beforeUpdate(),S.maxWidth=y,S.maxHeight=x,S.margins=T,S.beforeSetDimensions(),S.setDimensions(),S.afterSetDimensions(),S.beforeBuildLabels(),S.buildLabels(),S.afterBuildLabels(),S.beforeFit(),S.fit(),S.afterFit(),S.afterUpdate(),S.minSize},afterUpdate:h,beforeSetDimensions:h,setDimensions:function(){var y=this;y.isHorizontal()?(y.width=y.maxWidth,y.left=0,y.right=y.width):(y.height=y.maxHeight,y.top=0,y.bottom=y.height),y.paddingLeft=0,y.paddingTop=0,y.paddingRight=0,y.paddingBottom=0,y.minSize={width:0,height:0}},afterSetDimensions:h,beforeBuildLabels:h,buildLabels:h,afterBuildLabels:h,beforeFit:h,fit:function(){var y=this,T=y.options,S=T.display,k=(0,u.valueOrDefault)(T.fontSize,O.global.defaultFontSize),L=y.minSize,A=u.isArray(T.text)?T.text.length:1,U=u.options.toLineHeight(T.lineHeight,k),B=S?A*U+2*T.padding:0;y.isHorizontal()?(L.width=y.maxWidth,L.height=B):(L.width=B,L.height=y.maxHeight),y.width=L.width,y.height=L.height},afterFit:h,isHorizontal:function(){var y=this.options.position;return"top"===y||"bottom"===y},draw:function(){var y=this,x=y.ctx,T=u.valueOrDefault,S=y.options,k=O.global;if(S.display){var Q,ee,ae,L=T(S.fontSize,k.defaultFontSize),A=T(S.fontStyle,k.defaultFontStyle),U=T(S.fontFamily,k.defaultFontFamily),B=u.fontString(L,A,U),K=u.options.toLineHeight(S.lineHeight,L),re=K/2+S.padding,ve=0,Z=y.top,X=y.left,he=y.bottom,q=y.right;x.fillStyle=T(S.fontColor,k.defaultFontColor),x.font=B,y.isHorizontal()?(ee=X+(q-X)/2,ae=Z+re,Q=q-X):(ee="left"===S.position?X+re:q-re,ae=Z+(he-Z)/2,Q=he-Z,ve=Math.PI*("left"===S.position?-.5:.5)),x.save(),x.translate(ee,ae),x.rotate(ve),x.textAlign="center",x.textBaseline="middle";var le=S.text;if(u.isArray(le))for(var J=0,Te=0;Te{"use strict";de.exports=function(ge){var O=ge.Scale.extend({getLabels:function(){var v=this.chart.data;return this.options.labels||(this.isHorizontal()?v.xLabels:v.yLabels)||v.labels},determineDataLimits:function(){var f,v=this,u=v.getLabels();v.minIndex=0,v.maxIndex=u.length-1,void 0!==v.options.ticks.min&&(f=u.indexOf(v.options.ticks.min),v.minIndex=-1!==f?f:v.minIndex),void 0!==v.options.ticks.max&&(f=u.indexOf(v.options.ticks.max),v.maxIndex=-1!==f?f:v.maxIndex),v.min=u[v.minIndex],v.max=u[v.maxIndex]},buildTicks:function(){var v=this,u=v.getLabels();v.ticks=0===v.minIndex&&v.maxIndex===u.length-1?u:u.slice(v.minIndex,v.maxIndex+1)},getLabelForIndex:function(v,u){var f=this,h=f.chart.data,M=f.isHorizontal();return h.yLabels&&!M?f.getRightValue(h.datasets[u].data[v]):f.ticks[v-f.minIndex]},getPixelForValue:function(v,u){var p,f=this,h=f.options.offset,M=Math.max(f.maxIndex+1-f.minIndex-(h?0:1),1);if(null!=v&&(p=f.isHorizontal()?v.x:v.y),void 0!==p||void 0!==v&&isNaN(u)){var x=f.getLabels().indexOf(v=p||v);u=-1!==x?x:u}if(f.isHorizontal()){var T=f.width/M,S=T*(u-f.minIndex);return h&&(S+=T/2),f.left+Math.round(S)}var k=f.height/M,L=k*(u-f.minIndex);return h&&(L+=k/2),f.top+Math.round(L)},getPixelForTick:function(v){return this.getPixelForValue(this.ticks[v],v+this.minIndex,null)},getValueForPixel:function(v){var u=this,f=u.options.offset,M=Math.max(u._ticks.length-(f?0:1),1),p=u.isHorizontal(),y=(p?u.width:u.height)/M;return v-=p?u.left:u.top,f&&(v-=y/2),(v<=0?0:Math.round(v/y))+u.minIndex},getBasePixel:function(){return this.bottom}});ge.scaleService.registerScaleType("category",O,{position:"bottom"})}},1704:(de,ge,N)=>{"use strict";var O=N(9800),v=N(3305),u=N(8347);de.exports=function(f){var h={position:"left",ticks:{callback:u.formatters.linear}},M=f.LinearScaleBase.extend({determineDataLimits:function(){var p=this,y=p.options,x=p.chart,S=x.data.datasets,k=p.isHorizontal();function U(re){return k?re.xAxisID===p.id:re.yAxisID===p.id}p.min=null,p.max=null;var B=y.stacked;if(void 0===B&&v.each(S,function(re,ve){if(!B){var Z=x.getDatasetMeta(ve);x.isDatasetVisible(ve)&&U(Z)&&void 0!==Z.stack&&(B=!0)}}),y.stacked||B){var K={};v.each(S,function(re,ve){var Z=x.getDatasetMeta(ve),X=[Z.type,void 0===y.stacked&&void 0===Z.stack?ve:"",Z.stack].join(".");void 0===K[X]&&(K[X]={positiveValues:[],negativeValues:[]});var he=K[X].positiveValues,q=K[X].negativeValues;x.isDatasetVisible(ve)&&U(Z)&&v.each(re.data,function(Q,ee){var ae=+p.getRightValue(Q);isNaN(ae)||Z.data[ee].hidden||(he[ee]=he[ee]||0,q[ee]=q[ee]||0,y.relativePoints?he[ee]=100:ae<0?q[ee]+=ae:he[ee]+=ae)})}),v.each(K,function(re){var ve=re.positiveValues.concat(re.negativeValues),Z=v.min(ve),X=v.max(ve);p.min=null===p.min?Z:Math.min(p.min,Z),p.max=null===p.max?X:Math.max(p.max,X)})}else v.each(S,function(re,ve){var Z=x.getDatasetMeta(ve);x.isDatasetVisible(ve)&&U(Z)&&v.each(re.data,function(X,he){var q=+p.getRightValue(X);isNaN(q)||Z.data[he].hidden||((null===p.min||qp.max)&&(p.max=q))})});p.min=isFinite(p.min)&&!isNaN(p.min)?p.min:0,p.max=isFinite(p.max)&&!isNaN(p.max)?p.max:1,this.handleTickRangeOptions()},getTickLimit:function(){var p,y=this,x=y.options.ticks;if(y.isHorizontal())p=Math.min(x.maxTicksLimit?x.maxTicksLimit:11,Math.ceil(y.width/50));else{var T=v.valueOrDefault(x.fontSize,O.global.defaultFontSize);p=Math.min(x.maxTicksLimit?x.maxTicksLimit:11,Math.ceil(y.height/(2*T)))}return p},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(p,y){return+this.getRightValue(this.chart.data.datasets[y].data[p])},getPixelForValue:function(p){var y=this,x=y.start,T=+y.getRightValue(p),k=y.end-x;return y.isHorizontal()?y.left+y.width/k*(T-x):y.bottom-y.height/k*(T-x)},getValueForPixel:function(p){var y=this,x=y.isHorizontal();return y.start+(x?p-y.left:y.bottom-p)/(x?y.width:y.height)*(y.end-y.start)},getPixelForTick:function(p){return this.getPixelForValue(this.ticksAsNumbers[p])}});f.scaleService.registerScaleType("linear",M,h)}},8351:(de,ge,N)=>{"use strict";var O=N(3305);de.exports=function(u){var f=O.noop;u.LinearScaleBase=u.Scale.extend({getRightValue:function(h){return"string"==typeof h?+h:u.Scale.prototype.getRightValue.call(this,h)},handleTickRangeOptions:function(){var h=this,p=h.options.ticks;if(p.beginAtZero){var y=O.sign(h.min),x=O.sign(h.max);y<0&&x<0?h.max=0:y>0&&x>0&&(h.min=0)}var T=void 0!==p.min||void 0!==p.suggestedMin,S=void 0!==p.max||void 0!==p.suggestedMax;void 0!==p.min?h.min=p.min:void 0!==p.suggestedMin&&(h.min=null===h.min?p.suggestedMin:Math.min(h.min,p.suggestedMin)),void 0!==p.max?h.max=p.max:void 0!==p.suggestedMax&&(h.max=null===h.max?p.suggestedMax:Math.max(h.max,p.suggestedMax)),T!==S&&h.min>=h.max&&(T?h.max=h.min+1:h.min=h.max-1),h.min===h.max&&(h.max++,p.beginAtZero||h.min--)},getTickLimit:f,handleDirectionalChanges:f,buildTicks:function(){var h=this,p=h.options.ticks,y=h.getTickLimit(),x={maxTicks:y=Math.max(2,y),min:p.min,max:p.max,stepSize:O.valueOrDefault(p.fixedStepSize,p.stepSize)},T=h.ticks=function v(u,f){var M,h=[];if(u.stepSize&&u.stepSize>0)M=u.stepSize;else{var p=O.niceNum(f.max-f.min,!1);M=O.niceNum(p/(u.maxTicks-1),!0)}var y=Math.floor(f.min/M)*M,x=Math.ceil(f.max/M)*M;u.min&&u.max&&u.stepSize&&O.almostWhole((u.max-u.min)/u.stepSize,M/1e3)&&(y=u.min,x=u.max);var T=(x-y)/M;T=O.almostEquals(T,Math.round(T),M/1e3)?Math.round(T):Math.ceil(T);var S=1;M<1&&(S=Math.pow(10,M.toString().length-2),y=Math.round(y*S)/S,x=Math.round(x*S)/S),h.push(void 0!==u.min?u.min:y);for(var k=1;k{"use strict";var O=N(3305),v=N(8347);de.exports=function(f){var h={position:"left",ticks:{callback:v.formatters.logarithmic}},M=f.Scale.extend({determineDataLimits:function(){var p=this,y=p.options,x=p.chart,S=x.data.datasets,k=p.isHorizontal();function L(B){return k?B.xAxisID===p.id:B.yAxisID===p.id}p.min=null,p.max=null,p.minNotZero=null;var A=y.stacked;if(void 0===A&&O.each(S,function(B,K){if(!A){var re=x.getDatasetMeta(K);x.isDatasetVisible(K)&&L(re)&&void 0!==re.stack&&(A=!0)}}),y.stacked||A){var U={};O.each(S,function(B,K){var re=x.getDatasetMeta(K),ve=[re.type,void 0===y.stacked&&void 0===re.stack?K:"",re.stack].join(".");x.isDatasetVisible(K)&&L(re)&&(void 0===U[ve]&&(U[ve]=[]),O.each(B.data,function(Z,X){var he=U[ve],q=+p.getRightValue(Z);isNaN(q)||re.data[X].hidden||q<0||(he[X]=he[X]||0,he[X]+=q)}))}),O.each(U,function(B){if(B.length>0){var K=O.min(B),re=O.max(B);p.min=null===p.min?K:Math.min(p.min,K),p.max=null===p.max?re:Math.max(p.max,re)}})}else O.each(S,function(B,K){var re=x.getDatasetMeta(K);x.isDatasetVisible(K)&&L(re)&&O.each(B.data,function(ve,Z){var X=+p.getRightValue(ve);isNaN(X)||re.data[Z].hidden||X<0||((null===p.min||Xp.max)&&(p.max=X),0!==X&&(null===p.minNotZero||X0?p.min:p.max<1?Math.pow(10,Math.floor(O.log10(p.max))):1)},buildTicks:function(){var p=this,x=p.options.ticks,T=!p.isHorizontal(),k=p.ticks=function u(f,h){var S,k,M=[],p=O.valueOrDefault,y=p(f.min,Math.pow(10,Math.floor(O.log10(h.min)))),x=Math.floor(O.log10(h.max)),T=Math.ceil(h.max/Math.pow(10,x));0===y?(S=Math.floor(O.log10(h.minNotZero)),k=Math.floor(h.minNotZero/Math.pow(10,S)),M.push(y),y=k*Math.pow(10,S)):(S=Math.floor(O.log10(y)),k=Math.floor(y/Math.pow(10,S)));var L=S<0?Math.pow(10,Math.abs(S)):1;do{M.push(y),10==++k&&(k=1,L=++S>=0?1:L),y=Math.round(k*Math.pow(10,S)*L)/L}while(S{"use strict";var O=N(9800),v=N(3305),u=N(8347);de.exports=function(f){var h=O.global,M={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:u.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(Z){return Z}}};function p(Z){var X=Z.options;return X.angleLines.display||X.pointLabels.display?Z.chart.data.labels.length:0}function y(Z){var X=Z.options.pointLabels,he=v.valueOrDefault(X.fontSize,h.defaultFontSize),q=v.valueOrDefault(X.fontStyle,h.defaultFontStyle),Q=v.valueOrDefault(X.fontFamily,h.defaultFontFamily);return{size:he,style:q,family:Q,font:v.fontString(he,q,Q)}}function x(Z,X,he){return v.isArray(he)?{w:v.longestText(Z,Z.font,he),h:he.length*X+1.5*(he.length-1)*X}:{w:Z.measureText(he).width,h:X}}function T(Z,X,he,q,Q){return Z===q||Z===Q?{start:X-he/2,end:X+he/2}:ZQ?{start:X-he-5,end:X}:{start:X,end:X+he+5}}function L(Z){return 0===Z||180===Z?"center":Z<180?"left":"right"}function A(Z,X,he,q){if(v.isArray(X))for(var Q=he.y,ee=1.5*q,ae=0;ae270||Z<90)&&(he.y-=X.h)}function re(Z){return v.isNumber(Z)?Z:0}var ve=f.LinearScaleBase.extend({setDimensions:function(){var Z=this,X=Z.options,he=X.ticks;Z.width=Z.maxWidth,Z.height=Z.maxHeight,Z.xCenter=Math.round(Z.width/2),Z.yCenter=Math.round(Z.height/2);var q=v.min([Z.height,Z.width]),Q=v.valueOrDefault(he.fontSize,h.defaultFontSize);Z.drawingArea=X.display?q/2-(Q/2+he.backdropPaddingY):q/2},determineDataLimits:function(){var Z=this,X=Z.chart,he=Number.POSITIVE_INFINITY,q=Number.NEGATIVE_INFINITY;v.each(X.data.datasets,function(Q,ee){if(X.isDatasetVisible(ee)){var ae=X.getDatasetMeta(ee);v.each(Q.data,function(le,J){var Te=+Z.getRightValue(le);isNaN(Te)||ae.data[J].hidden||(he=Math.min(Te,he),q=Math.max(Te,q))})}}),Z.min=he===Number.POSITIVE_INFINITY?0:he,Z.max=q===Number.NEGATIVE_INFINITY?0:q,Z.handleTickRangeOptions()},getTickLimit:function(){var Z=this.options.ticks,X=v.valueOrDefault(Z.fontSize,h.defaultFontSize);return Math.min(Z.maxTicksLimit?Z.maxTicksLimit:11,Math.ceil(this.drawingArea/(1.5*X)))},convertTicksToLabels:function(){var Z=this;f.LinearScaleBase.prototype.convertTicksToLabels.call(Z),Z.pointLabels=Z.chart.data.labels.map(Z.options.pointLabels.callback,Z)},getLabelForIndex:function(Z,X){return+this.getRightValue(this.chart.data.datasets[X].data[Z])},fit:function(){this.options.pointLabels.display?function S(Z){var ee,ae,le,X=y(Z),he=Math.min(Z.height/2,Z.width/2),q={r:Z.width,l:0,t:Z.height,b:0},Q={};Z.ctx.font=X.font,Z._pointLabelSizes=[];var J=p(Z);for(ee=0;eeq.r&&(q.r=ke.end,Q.r=Te),Be.startq.b&&(q.b=Be.end,Q.b=Te)}Z.setReductions(he,q,Q)}(this):function k(Z){var X=Math.min(Z.height/2,Z.width/2);Z.drawingArea=Math.round(X),Z.setCenterPoint(0,0,0,0)}(this)},setReductions:function(Z,X,he){var q=this,Q=X.l/Math.sin(he.l),ee=Math.max(X.r-q.width,0)/Math.sin(he.r),ae=-X.t/Math.cos(he.t),le=-Math.max(X.b-q.height,0)/Math.cos(he.b);Q=re(Q),ee=re(ee),ae=re(ae),le=re(le),q.drawingArea=Math.min(Math.round(Z-(Q+ee)/2),Math.round(Z-(ae+le)/2)),q.setCenterPoint(Q,ee,ae,le)},setCenterPoint:function(Z,X,he,q){var Q=this,le=he+Q.drawingArea,J=Q.height-q-Q.drawingArea;Q.xCenter=Math.round((Z+Q.drawingArea+(Q.width-X-Q.drawingArea))/2+Q.left),Q.yCenter=Math.round((le+J)/2+Q.top)},getIndexAngle:function(Z){return Z*(2*Math.PI/p(this))+(this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0)*Math.PI*2/360},getDistanceFromCenterForValue:function(Z){var X=this;if(null===Z)return 0;var he=X.drawingArea/(X.max-X.min);return X.options.ticks.reverse?(X.max-Z)*he:(Z-X.min)*he},getPointPosition:function(Z,X){var q=this.getIndexAngle(Z)-Math.PI/2;return{x:Math.round(Math.cos(q)*X)+this.xCenter,y:Math.round(Math.sin(q)*X)+this.yCenter}},getPointPositionForValue:function(Z,X){return this.getPointPosition(Z,this.getDistanceFromCenterForValue(X))},getBasePosition:function(){var Z=this,X=Z.min,he=Z.max;return Z.getPointPositionForValue(0,Z.beginAtZero?0:X<0&&he<0?he:X>0&&he>0?X:0)},draw:function(){var Z=this,X=Z.options,he=X.gridLines,q=X.ticks,Q=v.valueOrDefault;if(X.display){var ee=Z.ctx,ae=this.getIndexAngle(0),le=Q(q.fontSize,h.defaultFontSize),J=Q(q.fontStyle,h.defaultFontStyle),Te=Q(q.fontFamily,h.defaultFontFamily),Se=v.fontString(le,J,Te);v.each(Z.ticks,function(ke,Be){if(Be>0||q.reverse){var tt=Z.getDistanceFromCenterForValue(Z.ticksAsNumbers[Be]);if(he.display&&0!==Be&&function K(Z,X,he,q){var Q=Z.ctx;if(Q.strokeStyle=v.valueAtIndexOrDefault(X.color,q-1),Q.lineWidth=v.valueAtIndexOrDefault(X.lineWidth,q-1),Z.options.gridLines.circular)Q.beginPath(),Q.arc(Z.xCenter,Z.yCenter,he,0,2*Math.PI),Q.closePath(),Q.stroke();else{var ee=p(Z);if(0===ee)return;Q.beginPath();var ae=Z.getPointPosition(0,he);Q.moveTo(ae.x,ae.y);for(var le=1;le=0;le--){if(q.display){var J=Z.getPointPosition(le,ee);X.beginPath(),X.moveTo(Z.xCenter,Z.yCenter),X.lineTo(J.x,J.y),X.stroke(),X.closePath()}if(Q.display){var Te=Z.getPointPosition(le,ee+5),Se=v.valueAtIndexOrDefault(Q.fontColor,le,h.defaultFontColor);X.font=ae.font,X.fillStyle=Se;var ke=Z.getIndexAngle(le),Be=v.toDegrees(ke);X.textAlign=L(Be),U(Be,Z._pointLabelSizes[le],Te),A(X,Z.pointLabels[le]||"",Te,ae.size)}}}(Z)}}});f.scaleService.registerScaleType("radialLinear",ve,M)}},4215:(de,ge,N)=>{"use strict";var O=N(5439);O="function"==typeof O?O:window.moment;var v=N(9800),u=N(3305),f=Number.MIN_SAFE_INTEGER||-9007199254740991,h=Number.MAX_SAFE_INTEGER||9007199254740991,M={millisecond:{common:!0,size:1,steps:[1,2,5,10,20,50,100,250,500]},second:{common:!0,size:1e3,steps:[1,2,5,10,30]},minute:{common:!0,size:6e4,steps:[1,2,5,10,30]},hour:{common:!0,size:36e5,steps:[1,2,3,6,12]},day:{common:!0,size:864e5,steps:[1,2,5]},week:{common:!1,size:6048e5,steps:[1,2,3,4]},month:{common:!0,size:2628e6,steps:[1,2,3]},quarter:{common:!1,size:7884e6,steps:[1,2,3,4]},year:{common:!0,size:3154e7}},p=Object.keys(M);function y(q,Q){return q-Q}function x(q){var ae,le,J,Q={},ee=[];for(ae=0,le=q.length;ae=0&&ae<=le;){if(Se=q[J=ae+le>>1],!(Te=q[J-1]||null))return{lo:null,hi:Se};if(Se[Q]ee))return{lo:Te,hi:Se};le=J-1}}return{lo:Se,hi:null}}(q,Q,ee),J=le.lo?le.hi?le.lo:q[q.length-2]:q[0],Te=le.lo?le.hi?le.hi:q[q.length-1]:q[1],Se=Te[Q]-J[Q];return J[ae]+(Te[ae]-J[ae])*(Se?(ee-J[Q])/Se:0)}function L(q,Q){var ee=Q.parser,ae=Q.parser||Q.format;return"function"==typeof ee?ee(q):"string"==typeof q&&"string"==typeof ae?O(q,ae):(q instanceof O||(q=O(q)),q.isValid()?q:"function"==typeof ae?ae(q):q)}function A(q,Q){if(u.isNullOrUndef(q))return null;var ee=Q.options.time,ae=L(Q.getRightValue(q),ee);return ae.isValid()?(ee.round&&ae.startOf(ee.round),ae.valueOf()):null}function re(q){for(var Q=p.indexOf(q)+1,ee=p.length;Q=le&&at<=J&&Be.push(at);return ae.min=le,ae.max=J,ae._unit=Se.unit||function K(q,Q,ee,ae){var Te,Se,le=O.duration(O(ae).diff(O(ee)));for(Te=p.length-1;Te>=p.indexOf(Q);Te--)if(M[Se=p[Te]].common&&le.as(Se)>=q.length)return Se;return p[Q?p.indexOf(Q):0]}(Be,Se.minUnit,ae.min,ae.max),ae._majorUnit=re(ae._unit),ae._table=function T(q,Q,ee,ae){if("linear"===ae||!q.length)return[{time:Q,pos:0},{time:ee,pos:1}];var Te,Se,ke,Be,tt,le=[],J=[Q];for(Te=0,Se=q.length;TeQ&&Be1?Q[1]:ae,"pos")-k(q,"time",ke,"pos"))/2),le.time.max||(ke=Q.length>1?Q[Q.length-2]:ee,Te=(k(q,"time",Q[Q.length-1],"pos")-k(q,"time",ke,"pos"))/2)),{left:J,right:Te}}(ae._table,Be,le,J,Te),ae._labelFormat=function he(q,Q){var ee,ae,le,J=q.length;for(ee=0;ee=0&&ae0?Be:1}});q.scaleService.registerScaleType("time",ee,{position:"bottom",distribution:"linear",bounds:"data",time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{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"}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}})}},3207:(de,ge,N)=>{var O=N(9914);function v(X){if(X){var le=[0,0,0],J=1,Te=X.match(/^#([a-fA-F0-9]{3})$/i);if(Te){Te=Te[1];for(var Se=0;Se{var O=N(7227),v=N(3207),u=function(f){return f instanceof u?f:this instanceof u?(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 f?(h=v.getRgba(f))?this.setValues("rgb",h):(h=v.getHsla(f))?this.setValues("hsl",h):(h=v.getHwb(f))&&this.setValues("hwb",h):"object"==typeof f&&(void 0!==(h=f).r||void 0!==h.red?this.setValues("rgb",h):void 0!==h.l||void 0!==h.lightness?this.setValues("hsl",h):void 0!==h.v||void 0!==h.value?this.setValues("hsv",h):void 0!==h.w||void 0!==h.whiteness?this.setValues("hwb",h):(void 0!==h.c||void 0!==h.cyan)&&this.setValues("cmyk",h)))):new u(f);var h};u.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 f=this.values;return 1!==f.alpha?f.hwb.concat([f.alpha]):f.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var f=this.values;return f.rgb.concat([f.alpha])},hslaArray:function(){var f=this.values;return f.hsl.concat([f.alpha])},alpha:function(f){return void 0===f?this.values.alpha:(this.setValues("alpha",f),this)},red:function(f){return this.setChannel("rgb",0,f)},green:function(f){return this.setChannel("rgb",1,f)},blue:function(f){return this.setChannel("rgb",2,f)},hue:function(f){return f&&(f=(f%=360)<0?360+f:f),this.setChannel("hsl",0,f)},saturation:function(f){return this.setChannel("hsl",1,f)},lightness:function(f){return this.setChannel("hsl",2,f)},saturationv:function(f){return this.setChannel("hsv",1,f)},whiteness:function(f){return this.setChannel("hwb",1,f)},blackness:function(f){return this.setChannel("hwb",2,f)},value:function(f){return this.setChannel("hsv",2,f)},cyan:function(f){return this.setChannel("cmyk",0,f)},magenta:function(f){return this.setChannel("cmyk",1,f)},yellow:function(f){return this.setChannel("cmyk",2,f)},black:function(f){return this.setChannel("cmyk",3,f)},hexString:function(){return v.hexString(this.values.rgb)},rgbString:function(){return v.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return v.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return v.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return v.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return v.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return v.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return v.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var f=this.values.rgb;return f[0]<<16|f[1]<<8|f[2]},luminosity:function(){for(var f=this.values.rgb,h=[],M=0;MM?(h+.05)/(M+.05):(M+.05)/(h+.05)},level:function(f){var h=this.contrast(f);return h>=7.1?"AAA":h>=4.5?"AA":""},dark:function(){var f=this.values.rgb;return(299*f[0]+587*f[1]+114*f[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var f=[],h=0;h<3;h++)f[h]=255-this.values.rgb[h];return this.setValues("rgb",f),this},lighten:function(f){var h=this.values.hsl;return h[2]+=h[2]*f,this.setValues("hsl",h),this},darken:function(f){var h=this.values.hsl;return h[2]-=h[2]*f,this.setValues("hsl",h),this},saturate:function(f){var h=this.values.hsl;return h[1]+=h[1]*f,this.setValues("hsl",h),this},desaturate:function(f){var h=this.values.hsl;return h[1]-=h[1]*f,this.setValues("hsl",h),this},whiten:function(f){var h=this.values.hwb;return h[1]+=h[1]*f,this.setValues("hwb",h),this},blacken:function(f){var h=this.values.hwb;return h[2]+=h[2]*f,this.setValues("hwb",h),this},greyscale:function(){var f=this.values.rgb,h=.3*f[0]+.59*f[1]+.11*f[2];return this.setValues("rgb",[h,h,h]),this},clearer:function(f){var h=this.values.alpha;return this.setValues("alpha",h-h*f),this},opaquer:function(f){var h=this.values.alpha;return this.setValues("alpha",h+h*f),this},rotate:function(f){var h=this.values.hsl,M=(h[0]+f)%360;return h[0]=M<0?360+M:M,this.setValues("hsl",h),this},mix:function(f,h){var M=this,p=f,y=void 0===h?.5:h,x=2*y-1,T=M.alpha()-p.alpha(),S=((x*T==-1?x:(x+T)/(1+x*T))+1)/2,k=1-S;return this.rgb(S*M.red()+k*p.red(),S*M.green()+k*p.green(),S*M.blue()+k*p.blue()).alpha(M.alpha()*y+p.alpha()*(1-y))},toJSON:function(){return this.rgb()},clone:function(){var p,y,f=new u,h=this.values,M=f.values;for(var x in h)h.hasOwnProperty(x)&&("[object Array]"===(y={}.toString.call(p=h[x]))?M[x]=p.slice(0):"[object Number]"===y?M[x]=p:console.error("unexpected color value:",p));return f}},u.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},u.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},u.prototype.getValues=function(f){for(var h=this.values,M={},p=0;p{function ge(W){var me,De,oe=W[0]/255,te=W[1]/255,pe=W[2]/255,fe=Math.min(oe,te,pe),ue=Math.max(oe,te,pe),be=ue-fe;return ue==fe?me=0:oe==ue?me=(te-pe)/be:te==ue?me=2+(pe-oe)/be:pe==ue&&(me=4+(oe-te)/be),(me=Math.min(60*me,360))<0&&(me+=360),De=(fe+ue)/2,[me,100*(ue==fe?0:De<=.5?be/(ue+fe):be/(2-ue-fe)),100*De]}function N(W){var me,Me,oe=W[0],te=W[1],pe=W[2],fe=Math.min(oe,te,pe),ue=Math.max(oe,te,pe),be=ue-fe;return Me=0==ue?0:be/ue*1e3/10,ue==fe?me=0:oe==ue?me=(te-pe)/be:te==ue?me=2+(pe-oe)/be:pe==ue&&(me=4+(oe-te)/be),(me=Math.min(60*me,360))<0&&(me+=360),[me,Me,ue/255*1e3/10]}function O(W){var oe=W[0],te=W[1],ue=W[2];return[ge(W)[0],1/255*Math.min(oe,Math.min(te,ue))*100,100*(ue=1-1/255*Math.max(oe,Math.max(te,ue)))]}function v(W){var me,oe=W[0]/255,te=W[1]/255,pe=W[2]/255;return[100*((1-oe-(me=Math.min(1-oe,1-te,1-pe)))/(1-me)||0),100*((1-te-me)/(1-me)||0),100*((1-pe-me)/(1-me)||0),100*me]}function u(W){return dr[JSON.stringify(W)]}function f(W){var oe=W[0]/255,te=W[1]/255,pe=W[2]/255;return[100*(.4124*(oe=oe>.04045?Math.pow((oe+.055)/1.055,2.4):oe/12.92)+.3576*(te=te>.04045?Math.pow((te+.055)/1.055,2.4):te/12.92)+.1805*(pe=pe>.04045?Math.pow((pe+.055)/1.055,2.4):pe/12.92)),100*(.2126*oe+.7152*te+.0722*pe),100*(.0193*oe+.1192*te+.9505*pe)]}function h(W){var oe=f(W),te=oe[0],pe=oe[1],fe=oe[2];return pe/=100,fe/=108.883,te=(te/=95.047)>.008856?Math.pow(te,1/3):7.787*te+16/116,[116*(pe=pe>.008856?Math.pow(pe,1/3):7.787*pe+16/116)-16,500*(te-pe),200*(pe-(fe=fe>.008856?Math.pow(fe,1/3):7.787*fe+16/116))]}function p(W){var fe,ue,be,me,Me,oe=W[0]/360,te=W[1]/100,pe=W[2]/100;if(0==te)return[Me=255*pe,Me,Me];fe=2*pe-(ue=pe<.5?pe*(1+te):pe+te-pe*te),me=[0,0,0];for(var De=0;De<3;De++)(be=oe+1/3*-(De-1))<0&&be++,be>1&&be--,me[De]=255*(Me=6*be<1?fe+6*(ue-fe)*be:2*be<1?ue:3*be<2?fe+(ue-fe)*(2/3-be)*6:fe);return me}function k(W){var oe=W[0]/60,te=W[1]/100,Me=W[2]/100,pe=Math.floor(oe)%6,fe=oe-Math.floor(oe),ue=255*Me*(1-te),be=255*Me*(1-te*fe),me=255*Me*(1-te*(1-fe));switch(Me*=255,pe){case 0:return[Me,me,ue];case 1:return[be,Me,ue];case 2:return[ue,Me,me];case 3:return[ue,be,Me];case 4:return[me,ue,Me];case 5:return[Me,ue,be]}}function K(W){var ue,be,me,Me,oe=W[0]/360,te=W[1]/100,pe=W[2]/100,fe=te+pe;switch(fe>1&&(te/=fe,pe/=fe),me=6*oe-(ue=Math.floor(6*oe)),1&ue&&(me=1-me),Me=te+me*((be=1-pe)-te),ue){default:case 6:case 0:r=be,g=Me,b=te;break;case 1:r=Me,g=be,b=te;break;case 2:r=te,g=be,b=Me;break;case 3:r=te,g=Me,b=be;break;case 4:r=Me,g=te,b=be;break;case 5:r=be,g=te,b=Me}return[255*r,255*g,255*b]}function he(W){var te=W[1]/100,pe=W[2]/100,fe=W[3]/100;return[255*(1-Math.min(1,W[0]/100*(1-fe)+fe)),255*(1-Math.min(1,te*(1-fe)+fe)),255*(1-Math.min(1,pe*(1-fe)+fe))]}function le(W){var fe,ue,be,oe=W[0]/100,te=W[1]/100,pe=W[2]/100;return ue=-.9689*oe+1.8758*te+.0415*pe,be=.0557*oe+-.204*te+1.057*pe,fe=(fe=3.2406*oe+-1.5372*te+-.4986*pe)>.0031308?1.055*Math.pow(fe,1/2.4)-.055:fe*=12.92,ue=ue>.0031308?1.055*Math.pow(ue,1/2.4)-.055:ue*=12.92,be=be>.0031308?1.055*Math.pow(be,1/2.4)-.055:be*=12.92,[255*(fe=Math.min(Math.max(0,fe),1)),255*(ue=Math.min(Math.max(0,ue),1)),255*(be=Math.min(Math.max(0,be),1))]}function J(W){var oe=W[0],te=W[1],pe=W[2];return te/=100,pe/=108.883,oe=(oe/=95.047)>.008856?Math.pow(oe,1/3):7.787*oe+16/116,[116*(te=te>.008856?Math.pow(te,1/3):7.787*te+16/116)-16,500*(oe-te),200*(te-(pe=pe>.008856?Math.pow(pe,1/3):7.787*pe+16/116))]}function Se(W){var fe,ue,be,me,oe=W[0],te=W[1],pe=W[2];return oe<=8?me=(ue=100*oe/903.3)/100*7.787+16/116:(ue=100*Math.pow((oe+16)/116,3),me=Math.pow(ue/100,1/3)),[fe=fe/95.047<=.008856?fe=95.047*(te/500+me-16/116)/7.787:95.047*Math.pow(te/500+me,3),ue,be=be/108.883<=.008859?be=108.883*(me-pe/200-16/116)/7.787:108.883*Math.pow(me-pe/200,3)]}function ke(W){var ue,oe=W[0],te=W[1],pe=W[2];return(ue=360*Math.atan2(pe,te)/2/Math.PI)<0&&(ue+=360),[oe,Math.sqrt(te*te+pe*pe),ue]}function Be(W){return le(Se(W))}function tt(W){var be,te=W[1];return be=W[2]/360*2*Math.PI,[W[0],te*Math.cos(be),te*Math.sin(be)]}function jt(W){return Oi[W]}de.exports={rgb2hsl:ge,rgb2hsv:N,rgb2hwb:O,rgb2cmyk:v,rgb2keyword:u,rgb2xyz:f,rgb2lab:h,rgb2lch:function M(W){return ke(h(W))},hsl2rgb:p,hsl2hsv:function y(W){var te=W[1]/100,pe=W[2]/100;return 0===pe?[0,0,0]:[W[0],2*(te*=(pe*=2)<=1?pe:2-pe)/(pe+te)*100,(pe+te)/2*100]},hsl2hwb:function x(W){return O(p(W))},hsl2cmyk:function T(W){return v(p(W))},hsl2keyword:function S(W){return u(p(W))},hsv2rgb:k,hsv2hsl:function L(W){var fe,ue,te=W[1]/100,pe=W[2]/100;return fe=te*pe,[W[0],100*(fe=(fe/=(ue=(2-te)*pe)<=1?ue:2-ue)||0),100*(ue/=2)]},hsv2hwb:function A(W){return O(k(W))},hsv2cmyk:function U(W){return v(k(W))},hsv2keyword:function B(W){return u(k(W))},hwb2rgb:K,hwb2hsl:function re(W){return ge(K(W))},hwb2hsv:function ve(W){return N(K(W))},hwb2cmyk:function Z(W){return v(K(W))},hwb2keyword:function X(W){return u(K(W))},cmyk2rgb:he,cmyk2hsl:function q(W){return ge(he(W))},cmyk2hsv:function Q(W){return N(he(W))},cmyk2hwb:function ee(W){return O(he(W))},cmyk2keyword:function ae(W){return u(he(W))},keyword2rgb:jt,keyword2hsl:function an(W){return ge(jt(W))},keyword2hsv:function Zn(W){return N(jt(W))},keyword2hwb:function On(W){return O(jt(W))},keyword2cmyk:function zn(W){return v(jt(W))},keyword2lab:function Ge(W){return h(jt(W))},keyword2xyz:function Pi(W){return f(jt(W))},xyz2rgb:le,xyz2lab:J,xyz2lch:function Te(W){return ke(J(W))},lab2xyz:Se,lab2rgb:Be,lab2lch:ke,lch2lab:tt,lch2xyz:function st(W){return Se(tt(W))},lch2rgb:function at(W){return Be(tt(W))}};var Oi={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]},dr={};for(var Xe in Oi)dr[JSON.stringify(Oi[Xe])]=Xe},7227:(de,ge,N)=>{var O=N(4126),v=function(){return new p};for(var u in O){v[u+"Raw"]=function(y){return function(x){return"number"==typeof x&&(x=Array.prototype.slice.call(arguments)),O[y](x)}}(u);var f=/(\w+)2(\w+)/.exec(u),h=f[1],M=f[2];(v[h]=v[h]||{})[M]=v[u]=function(y){return function(x){"number"==typeof x&&(x=Array.prototype.slice.call(arguments));var T=O[y](x);if("string"==typeof T||void 0===T)return T;for(var S=0;S{"use strict";de.exports={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]}},7088:function(de,ge,N){!function(O){"use strict";O.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(u){return/^nm$/i.test(u)},meridiem:function(u,f,h){return u<12?h?"vm":"VM":h?"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(u){return u+(1===u||8===u||u>=20?"ste":"de")},week:{dow:1,doy:4}})}(N(5439))},2502:function(de,ge,N){!function(O){"use strict";O.defineLocale("ar-dz",{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:"\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:"\u0623\u062d_\u0625\u062b_\u062b\u0644\u0627_\u0623\u0631_\u062e\u0645_\u062c\u0645_\u0633\u0628".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:4}})}(N(5439))},128:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},4519:function(de,ge,N){!function(O){"use strict";var v={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},u=function(y){return 0===y?0:1===y?1:2===y?2:y%100>=3&&y%100<=10?3:y%100>=11?4:5},f={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"]},h=function(y){return function(x,T,S,k){var L=u(x),A=f[y][u(x)];return 2===L&&(A=A[T?0:1]),A.replace(/%d/i,x)}},M=["\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"];O.defineLocale("ar-ly",{months:M,monthsShort:M,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(y){return"\u0645"===y},meridiem:function(y,x,T){return y<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:h("s"),ss:h("s"),m:h("m"),mm:h("m"),h:h("h"),hh:h("h"),d:h("d"),dd:h("d"),M:h("M"),MM:h("M"),y:h("y"),yy:h("y")},preparse:function(y){return y.replace(/\u060c/g,",")},postformat:function(y){return y.replace(/\d/g,function(x){return v[x]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(N(5439))},5443:function(de,ge,N){!function(O){"use strict";O.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\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:6,doy:12}})}(N(5439))},7642:function(de,ge,N){!function(O){"use strict";var v={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},u={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"};O.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(h){return"\u0645"===h},meridiem:function(h,M,p){return h<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(h){return h.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(M){return u[M]}).replace(/\u060c/g,",")},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}})}(N(5439))},8592:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},7038:function(de,ge,N){!function(O){"use strict";var v={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},u={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},f=function(x){return 0===x?0:1===x?1:2===x?2:x%100>=3&&x%100<=10?3:x%100>=11?4:5},h={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"]},M=function(x){return function(T,S,k,L){var A=f(T),U=h[x][f(T)];return 2===A&&(U=U[S?0:1]),U.replace(/%d/i,T)}},p=["\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"];O.defineLocale("ar",{months:p,monthsShort:p,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(x){return"\u0645"===x},meridiem:function(x,T,S){return x<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:M("s"),ss:M("s"),m:M("m"),mm:M("m"),h:M("h"),hh:M("h"),d:M("d"),dd:M("d"),M:M("M"),MM:M("M"),y:M("y"),yy:M("y")},preparse:function(x){return x.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(T){return u[T]}).replace(/\u060c/g,",")},postformat:function(x){return x.replace(/\d/g,function(T){return v[T]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(N(5439))},1213:function(de,ge,N){!function(O){"use strict";var v={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"};O.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:"birne\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(f){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(f)},meridiem:function(f,h,M){return f<4?"gec\u0259":f<12?"s\u0259h\u0259r":f<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(f){if(0===f)return f+"-\u0131nc\u0131";var h=f%10;return f+(v[h]||v[f%100-h]||v[f>=100?100:null])},week:{dow:1,doy:7}})}(N(5439))},9191:function(de,ge,N){!function(O){"use strict";function u(h,M,p){return"m"===p?M?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===p?M?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":h+" "+function v(h,M){var p=h.split("_");return M%10==1&&M%100!=11?p[0]:M%10>=2&&M%10<=4&&(M%100<10||M%100>=20)?p[1]:p[2]}({ss:M?"\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:M?"\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:M?"\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"}[p],+h)}O.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:u,mm:u,h:u,hh:u,d:"\u0434\u0437\u0435\u043d\u044c",dd:u,M:"\u043c\u0435\u0441\u044f\u0446",MM:u,y:"\u0433\u043e\u0434",yy:u},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(h){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(h)},meridiem:function(h,M,p){return h<4?"\u043d\u043e\u0447\u044b":h<12?"\u0440\u0430\u043d\u0456\u0446\u044b":h<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(h,M){switch(M){case"M":case"d":case"DDD":case"w":case"W":return h%10!=2&&h%10!=3||h%100==12||h%100==13?h+"-\u044b":h+"-\u0456";case"D":return h+"-\u0433\u0430";default:return h}},week:{dow:1,doy:7}})}(N(5439))},322:function(de,ge,N){!function(O){"use strict";O.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\u0440_\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"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u0412 \u0438\u0437\u043c\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\u043d\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(u){var f=u%10,h=u%100;return 0===u?u+"-\u0435\u0432":0===h?u+"-\u0435\u043d":h>10&&h<20?u+"-\u0442\u0438":1===f?u+"-\u0432\u0438":2===f?u+"-\u0440\u0438":7===f||8===f?u+"-\u043c\u0438":u+"-\u0442\u0438"},week:{dow:1,doy:7}})}(N(5439))},8042:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},9620:function(de,ge,N){!function(O){"use strict";var v={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},u={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};O.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09c0_\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_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2_\u0986\u0997_\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_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u0983_\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(h){return h.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(h,M){return 12===h&&(h=0),"\u09b0\u09be\u09a4"===M&&h>=4||"\u09a6\u09c1\u09aa\u09c1\u09b0"===M&&h<5||"\u09ac\u09bf\u0995\u09be\u09b2"===M?h+12:h},meridiem:function(h,M,p){return h<4?"\u09b0\u09be\u09a4":h<10?"\u09b8\u0995\u09be\u09b2":h<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":h<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}})}(N(5439))},9645:function(de,ge,N){!function(O){"use strict";var v={1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"},u={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};O.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\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("_"),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\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("_"),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(h){return h.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},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(h,M){return 12===h&&(h=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===M&&h>=4||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===M&&h<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===M?h+12:h},meridiem:function(h,M,p){return h<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":h<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":h<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":h<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}})}(N(5439))},5020:function(de,ge,N){!function(O){"use strict";function v(y,x,T){return y+" "+function h(y,x){return 2===x?function M(y){var x={m:"v",b:"v",d:"z"};return void 0===x[y.charAt(0)]?y:x[y.charAt(0)]+y.substring(1)}(y):y}({mm:"munutenn",MM:"miz",dd:"devezh"}[T],y)}function f(y){return y>9?f(y%10):y}O.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:v,h:"un eur",hh:"%d eur",d:"un devezh",dd:v,M:"ur miz",MM:v,y:"ur bloaz",yy:function u(y){switch(f(y)){case 1:case 3:case 4:case 5:case 9:return y+" bloaz";default:return y+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(y){return y+(1===y?"a\xf1":"vet")},week:{dow:1,doy:4}})}(N(5439))},4792:function(de,ge,N){!function(O){"use strict";function v(f,h,M){var p=f+" ";switch(M){case"ss":return p+(1===f?"sekunda":2===f||3===f||4===f?"sekunde":"sekundi");case"m":return h?"jedna minuta":"jedne minute";case"mm":return p+(1===f?"minuta":2===f||3===f||4===f?"minute":"minuta");case"h":return h?"jedan sat":"jednog sata";case"hh":return p+(1===f?"sat":2===f||3===f||4===f?"sata":"sati");case"dd":return p+(1===f?"dan":"dana");case"MM":return p+(1===f?"mjesec":2===f||3===f||4===f?"mjeseca":"mjeseci");case"yy":return p+(1===f?"godina":2===f||3===f||4===f?"godine":"godina")}}O.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:v,m:v,mm:v,h:v,hh:v,d:"dan",dd:v,M:"mjesec",MM:v,y:"godinu",yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},7980:function(de,ge,N){!function(O){"use strict";O.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(u,f){var h=1===u?"r":2===u?"n":3===u?"r":4===u?"t":"\xe8";return("w"===f||"W"===f)&&(h="a"),u+h},week:{dow:1,doy:4}})}(N(5439))},7322:function(de,ge,N){!function(O){"use strict";var v="leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),u="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_");function f(p){return p>1&&p<5&&1!=~~(p/10)}function h(p,y,x,T){var S=p+" ";switch(x){case"s":return y||T?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return y||T?S+(f(p)?"sekundy":"sekund"):S+"sekundami";case"m":return y?"minuta":T?"minutu":"minutou";case"mm":return y||T?S+(f(p)?"minuty":"minut"):S+"minutami";case"h":return y?"hodina":T?"hodinu":"hodinou";case"hh":return y||T?S+(f(p)?"hodiny":"hodin"):S+"hodinami";case"d":return y||T?"den":"dnem";case"dd":return y||T?S+(f(p)?"dny":"dn\xed"):S+"dny";case"M":return y||T?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return y||T?S+(f(p)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):S+"m\u011bs\xedci";case"y":return y||T?"rok":"rokem";case"yy":return y||T?S+(f(p)?"roky":"let"):S+"lety"}}O.defineLocale("cs",{months:v,monthsShort:u,monthsParse:function(p,y){var x,T=[];for(x=0;x<12;x++)T[x]=new RegExp("^"+p[x]+"$|^"+y[x]+"$","i");return T}(v,u),shortMonthsParse:function(p){var y,x=[];for(y=0;y<12;y++)x[y]=new RegExp("^"+p[y]+"$","i");return x}(u),longMonthsParse:function(p){var y,x=[];for(y=0;y<12;y++)x[y]=new RegExp("^"+p[y]+"$","i");return x}(v),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}})}(N(5439))},365:function(de,ge,N){!function(O){"use strict";O.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(u){return u+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(u)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(u)?"\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}})}(N(5439))},2092:function(de,ge,N){!function(O){"use strict";O.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(u){var h="";return u>20?h=40===u||50===u||60===u||80===u||100===u?"fed":"ain":u>0&&(h=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][u]),u+h},week:{dow:1,doy:4}})}(N(5439))},7387:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},9459:function(de,ge,N){!function(O){"use strict";function v(f,h,M,p){var y={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[f+" Tage",f+" Tagen"],M:["ein Monat","einem Monat"],MM:[f+" Monate",f+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[f+" Jahre",f+" Jahren"]};return h?y[M][0]:y[M][1]}O.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:v,mm:"%d Minuten",h:v,hh:"%d Stunden",d:v,dd:v,M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},3694:function(de,ge,N){!function(O){"use strict";function v(f,h,M,p){var y={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[f+" Tage",f+" Tagen"],M:["ein Monat","einem Monat"],MM:[f+" Monate",f+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[f+" Jahre",f+" Jahren"]};return h?y[M][0]:y[M][1]}O.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:v,mm:"%d Minuten",h:v,hh:"%d Stunden",d:v,dd:v,M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},4307:function(de,ge,N){!function(O){"use strict";function v(f,h,M,p){var y={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[f+" Tage",f+" Tagen"],M:["ein Monat","einem Monat"],MM:[f+" Monate",f+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[f+" Jahre",f+" Jahren"]};return h?y[M][0]:y[M][1]}O.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:v,mm:"%d Minuten",h:v,hh:"%d Stunden",d:v,dd:v,M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},9659:function(de,ge,N){!function(O){"use strict";var v=["\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"],u=["\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"];O.defineLocale("dv",{months:v,monthsShort:v,weekdays:u,weekdaysShort:u,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(h){return"\u0789\u078a"===h},meridiem:function(h,M,p){return h<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(h){return h.replace(/\u060c/g,",")},postformat:function(h){return h.replace(/,/g,"\u060c")},week:{dow:7,doy:12}})}(N(5439))},3460:function(de,ge,N){!function(O){"use strict";O.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(f,h){return f?"string"==typeof h&&/D/.test(h.substring(0,h.indexOf("MMMM")))?this._monthsGenitiveEl[f.month()]:this._monthsNominativeEl[f.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(f,h,M){return f>11?M?"\u03bc\u03bc":"\u039c\u039c":M?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(f){return"\u03bc"===(f+"").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(){return 6===this.day()?"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT":"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"},sameElse:"L"},calendar:function(f,h){var M=this._calendarEl[f],p=h&&h.hours();return function v(f){return f instanceof Function||"[object Function]"===Object.prototype.toString.call(f)}(M)&&(M=M.apply(h)),M.replace("{}",p%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}})}(N(5439))},4369:function(de,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},530:function(de,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")}})}(N(5439))},9998:function(de,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},3391:function(de,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},5414:function(de,ge,N){!function(O){"use strict";O.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",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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")}})}(N(5439))},1248:function(de,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},4530:function(de,ge,N){!function(O){"use strict";O.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_a\u016dg_sep_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:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(u){return"p"===u.charAt(0).toLowerCase()},meridiem:function(u,f,h){return u>11?h?"p.t.m.":"P.T.M.":h?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(N(5439))},8944:function(de,ge,N){!function(O){"use strict";var v="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),u="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),f=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],h=/^(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;O.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(p,y){return p?/-MMM-/.test(y)?u[p.month()]:v[p.month()]:v},monthsRegex:h,monthsShortRegex:h,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:f,longMonthsParse:f,shortMonthsParse:f,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",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}})}(N(5439))},3609:function(de,ge,N){!function(O){"use strict";var v="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),u="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");O.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(h,M){return h?/-MMM-/.test(M)?u[h.month()]:v[h.month()]:v},monthsParseExact:!0,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:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY h:mm A",LLLL:"dddd, MMMM [de] D [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",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}})}(N(5439))},6866:function(de,ge,N){!function(O){"use strict";var v="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),u="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),f=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],h=/^(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;O.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(p,y){return p?/-MMM-/.test(y)?u[p.month()]:v[p.month()]:v},monthsRegex:h,monthsShortRegex:h,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:f,longMonthsParse:f,shortMonthsParse:f,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",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}})}(N(5439))},6725:function(de,ge,N){!function(O){"use strict";function v(f,h,M,p){var y={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[f+"sekundi",f+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[f+" minuti",f+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[f+" tunni",f+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[f+" kuu",f+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[f+" aasta",f+" aastat"]};return h?y[M][2]?y[M][2]:y[M][1]:p?y[M][0]:y[M][1]}O.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:v,ss:v,m:v,mm:v,h:v,hh:v,d:v,dd:"%d p\xe4eva",M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},7931:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},6417:function(de,ge,N){!function(O){"use strict";var v={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},u={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};O.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(h){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(h)},meridiem:function(h,M,p){return h<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:"\u062b\u0627\u0646\u06cc\u0647 d%",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(h){return h.replace(/[\u06f0-\u06f9]/g,function(M){return u[M]}).replace(/\u060c/g,",")},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}})}(N(5439))},944:function(de,ge,N){!function(O){"use strict";var v="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),u=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",v[7],v[8],v[9]];function f(p,y,x,T){var S="";switch(x){case"s":return T?"muutaman sekunnin":"muutama sekunti";case"ss":return T?"sekunnin":"sekuntia";case"m":return T?"minuutin":"minuutti";case"mm":S=T?"minuutin":"minuuttia";break;case"h":return T?"tunnin":"tunti";case"hh":S=T?"tunnin":"tuntia";break;case"d":return T?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":S=T?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return T?"kuukauden":"kuukausi";case"MM":S=T?"kuukauden":"kuukautta";break;case"y":return T?"vuoden":"vuosi";case"yy":S=T?"vuoden":"vuotta"}return function h(p,y){return p<10?y?u[p]:v[p]:p}(p,T)+" "+S}O.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:f,ss:f,m:f,mm:f,h:f,hh:f,d:f,dd:f,M:f,MM:f,y:f,yy:f},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},5867:function(de,ge,N){!function(O){"use strict";O.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 minutt",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0i",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},6848:function(de,ge,N){!function(O){"use strict";O.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(u,f){switch(f){default:case"M":case"Q":case"D":case"DDD":case"d":return u+(1===u?"er":"e");case"w":case"W":return u+(1===u?"re":"e")}}})}(N(5439))},7773:function(de,ge,N){!function(O){"use strict";O.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(u,f){switch(f){default:case"M":case"Q":case"D":case"DDD":case"d":return u+(1===u?"er":"e");case"w":case"W":return u+(1===u?"re":"e")}},week:{dow:1,doy:4}})}(N(5439))},1636:function(de,ge,N){!function(O){"use strict";O.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("_"),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|)/,ordinal:function(u,f){switch(f){case"D":return u+(1===u?"er":"");default:case"M":case"Q":case"DDD":case"d":return u+(1===u?"er":"e");case"w":case"W":return u+(1===u?"re":"e")}},week:{dow:1,doy:4}})}(N(5439))},4940:function(de,ge,N){!function(O){"use strict";var v="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),u="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");O.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(h,M){return h?/-MMM-/.test(M)?u[h.month()]:v[h.month()]:v},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(h){return h+(1===h||8===h||h>=20?"ste":"de")},week:{dow:1,doy:4}})}(N(5439))},6924:function(de,ge,N){!function(O){"use strict";O.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(y){return y+(1===y?"d":y%10==2?"na":"mh")},week:{dow:1,doy:4}})}(N(5439))},6398:function(de,ge,N){!function(O){"use strict";O.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(u){return 0===u.indexOf("un")?"n"+u:"en "+u},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}})}(N(5439))},2545:function(de,ge,N){!function(O){"use strict";function v(f,h,M,p){var y={s:["thodde secondanim","thodde second"],ss:[f+" secondanim",f+" second"],m:["eka mintan","ek minute"],mm:[f+" mintanim",f+" mintam"],h:["eka horan","ek hor"],hh:[f+" horanim",f+" horam"],d:["eka disan","ek dis"],dd:[f+" disanim",f+" dis"],M:["eka mhoinean","ek mhoino"],MM:[f+" mhoineanim",f+" mhoine"],y:["eka vorsan","ek voros"],yy:[f+" vorsanim",f+" vorsam"]};return h?y[M][0]:y[M][1]}O.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_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[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:v,ss:v,m:v,mm:v,h:v,hh:v,d:v,dd:v,M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(f,h){return"D"===h?f+"er":f},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(f,h){return 12===f&&(f=0),"rati"===h?f<4?f:f+12:"sokalli"===h?f:"donparam"===h?f>12?f:f+12:"sanje"===h?f+12:void 0},meridiem:function(f,h,M){return f<4?"rati":f<12?"sokalli":f<16?"donparam":f<20?"sanje":"rati"}})}(N(5439))},2641:function(de,ge,N){!function(O){"use strict";var v={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},u={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"};O.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\u0ac7\u0ab9\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(h){return h.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(h,M){return 12===h&&(h=0),"\u0ab0\u0abe\u0aa4"===M?h<4?h:h+12:"\u0ab8\u0ab5\u0abe\u0ab0"===M?h:"\u0aac\u0aaa\u0acb\u0ab0"===M?h>=10?h:h+12:"\u0ab8\u0abe\u0a82\u0a9c"===M?h+12:void 0},meridiem:function(h,M,p){return h<4?"\u0ab0\u0abe\u0aa4":h<10?"\u0ab8\u0ab5\u0abe\u0ab0":h<17?"\u0aac\u0aaa\u0acb\u0ab0":h<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}})}(N(5439))},7536:function(de,ge,N){!function(O){"use strict";O.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(u){return 2===u?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":u+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(u){return 2===u?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":u+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(u){return 2===u?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":u+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(u){return 2===u?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":u%10==0&&10!==u?u+" \u05e9\u05e0\u05d4":u+" \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(u){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(u)},meridiem:function(u,f,h){return u<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":u<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":u<12?h?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":u<18?h?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}})}(N(5439))},6335:function(de,ge,N){!function(O){"use strict";var v={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},u={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};O.defineLocale("hi",{months:"\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("_"),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("_"),monthsParseExact:!0,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"},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(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(h,M){return 12===h&&(h=0),"\u0930\u093e\u0924"===M?h<4?h:h+12:"\u0938\u0941\u092c\u0939"===M?h:"\u0926\u094b\u092a\u0939\u0930"===M?h>=10?h:h+12:"\u0936\u093e\u092e"===M?h+12:void 0},meridiem:function(h,M,p){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}})}(N(5439))},7458:function(de,ge,N){!function(O){"use strict";function v(f,h,M){var p=f+" ";switch(M){case"ss":return p+(1===f?"sekunda":2===f||3===f||4===f?"sekunde":"sekundi");case"m":return h?"jedna minuta":"jedne minute";case"mm":return p+(1===f?"minuta":2===f||3===f||4===f?"minute":"minuta");case"h":return h?"jedan sat":"jednog sata";case"hh":return p+(1===f?"sat":2===f||3===f||4===f?"sata":"sati");case"dd":return p+(1===f?"dan":"dana");case"MM":return p+(1===f?"mjesec":2===f||3===f||4===f?"mjeseca":"mjeseci");case"yy":return p+(1===f?"godina":2===f||3===f||4===f?"godine":"godina")}}O.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:"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:v,m:v,mm:v,h:v,hh:v,d:"dan",dd:v,M:"mjesec",MM:v,y:"godinu",yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},6540:function(de,ge,N){!function(O){"use strict";var v="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function u(M,p,y,x){var T=M;switch(y){case"s":return x||p?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return T+(x||p)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(x||p?" perc":" perce");case"mm":return T+(x||p?" perc":" perce");case"h":return"egy"+(x||p?" \xf3ra":" \xf3r\xe1ja");case"hh":return T+(x||p?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(x||p?" nap":" napja");case"dd":return T+(x||p?" nap":" napja");case"M":return"egy"+(x||p?" h\xf3nap":" h\xf3napja");case"MM":return T+(x||p?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(x||p?" \xe9v":" \xe9ve");case"yy":return T+(x||p?" \xe9v":" \xe9ve")}return""}function f(M){return(M?"":"[m\xfalt] ")+"["+v[this.day()]+"] LT[-kor]"}O.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("_"),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(M){return"u"===M.charAt(1).toLowerCase()},meridiem:function(M,p,y){return M<12?!0===y?"de":"DE":!0===y?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return f.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return f.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:u,ss:u,m:u,mm:u,h:u,hh:u,d:u,dd:u,M:u,MM:u,y:u,yy:u},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},5283:function(de,ge,N){!function(O){"use strict";O.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(u){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(u)},meridiem:function(u){return u<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":u<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":u<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(u,f){switch(f){case"DDD":case"w":case"W":case"DDDo":return 1===u?u+"-\u056b\u0576":u+"-\u0580\u0564";default:return u}},week:{dow:1,doy:7}})}(N(5439))},8780:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"pagi"===f?u:"siang"===f?u>=11?u:u+12:"sore"===f||"malam"===f?u+12:void 0},meridiem:function(u,f,h){return u<11?"pagi":u<15?"siang":u<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:1,doy:7}})}(N(5439))},4205:function(de,ge,N){!function(O){"use strict";function v(h){return h%100==11||h%10!=1}function u(h,M,p,y){var x=h+" ";switch(p){case"s":return M||y?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return v(h)?x+(M||y?"sek\xfandur":"sek\xfandum"):x+"sek\xfanda";case"m":return M?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return v(h)?x+(M||y?"m\xedn\xfatur":"m\xedn\xfatum"):M?x+"m\xedn\xfata":x+"m\xedn\xfatu";case"hh":return v(h)?x+(M||y?"klukkustundir":"klukkustundum"):x+"klukkustund";case"d":return M?"dagur":y?"dag":"degi";case"dd":return v(h)?M?x+"dagar":x+(y?"daga":"d\xf6gum"):M?x+"dagur":x+(y?"dag":"degi");case"M":return M?"m\xe1nu\xf0ur":y?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return v(h)?M?x+"m\xe1nu\xf0ir":x+(y?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):M?x+"m\xe1nu\xf0ur":x+(y?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return M||y?"\xe1r":"\xe1ri";case"yy":return v(h)?x+(M||y?"\xe1r":"\xe1rum"):x+(M||y?"\xe1r":"\xe1ri")}}O.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:u,ss:u,m:u,mm:u,h:"klukkustund",hh:u,d:u,dd:u,M:u,MM:u,y:u,yy:u},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},4211:function(de,ge,N){!function(O){"use strict";O.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:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){return 0===this.day()?"[la scorsa] dddd [alle] LT":"[lo scorso] dddd [alle] LT"},sameElse:"L"},relativeTime:{future:function(u){return(/^[0-9].+$/.test(u)?"tra":"in")+" "+u},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}})}(N(5439))},1003:function(de,ge,N){!function(O){"use strict";O.defineLocale("ja",{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(u){return"\u5348\u5f8c"===u},meridiem:function(u,f,h){return u<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(u){return u.week()=11?u:u+12:"sonten"===f||"ndalu"===f?u+12:void 0},meridiem:function(u,f,h){return u<11?"enjing":u<15?"siyang":u<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}})}(N(5439))},851:function(de,ge,N){!function(O){"use strict";O.defineLocale("ka",{months:{standalone:"\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("_"),format:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10e1_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10e1_\u10db\u10d0\u10e0\u10e2\u10e1_\u10d0\u10de\u10e0\u10d8\u10da\u10d8\u10e1_\u10db\u10d0\u10d8\u10e1\u10e1_\u10d8\u10d5\u10dc\u10d8\u10e1\u10e1_\u10d8\u10d5\u10da\u10d8\u10e1\u10e1_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10e1_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10e1_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10e1".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:"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:"[\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(u){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10ec\u10d4\u10da\u10d8)/.test(u)?u.replace(/\u10d8$/,"\u10e8\u10d8"):u+"\u10e8\u10d8"},past:function(u){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(u)?u.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(u)?u.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):void 0},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(u){return 0===u?u:1===u?u+"-\u10da\u10d8":u<20||u<=100&&u%20==0||u%100==0?"\u10db\u10d4-"+u:u+"-\u10d4"},week:{dow:1,doy:7}})}(N(5439))},6074:function(de,ge,N){!function(O){"use strict";var v={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"};O.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(f){return f+(v[f]||v[f%10]||v[f>=100?100:null])},week:{dow:1,doy:7}})}(N(5439))},3343:function(de,ge,N){!function(O){"use strict";var v={1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"},u={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"};O.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(h){return"\u179b\u17d2\u1784\u17b6\u1785"===h},meridiem:function(h,M,p){return h<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(h){return h.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},week:{dow:1,doy:4}})}(N(5439))},4799:function(de,ge,N){!function(O){"use strict";var v={1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"},u={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};O.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(h){return h.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},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(h,M){return 12===h&&(h=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===M?h<4?h:h+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===M?h:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===M?h>=10?h:h+12:"\u0cb8\u0c82\u0c9c\u0cc6"===M?h+12:void 0},meridiem:function(h,M,p){return h<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":h<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":h<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":h<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(h){return h+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}})}(N(5439))},3549:function(de,ge,N){!function(O){"use strict";O.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(u,f){switch(f){case"d":case"D":case"DDD":return u+"\uc77c";case"M":return u+"\uc6d4";case"w":case"W":return u+"\uc8fc";default:return u}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(u){return"\uc624\ud6c4"===u},meridiem:function(u,f,h){return u<12?"\uc624\uc804":"\uc624\ud6c4"}})}(N(5439))},3125:function(de,ge,N){!function(O){"use strict";var v={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"};O.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\u0435 \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\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(f){return f+(v[f]||v[f%10]||v[f>=100?100:null])},week:{dow:1,doy:7}})}(N(5439))},9586:function(de,ge,N){!function(O){"use strict";function v(p,y,x,T){var S={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 y?S[x][0]:S[x][1]}function h(p){if(p=parseInt(p,10),isNaN(p))return!1;if(p<0)return!0;if(p<10)return 4<=p&&p<=7;if(p<100){var y=p%10;return h(0===y?p/10:y)}if(p<1e4){for(;p>=10;)p/=10;return h(p)}return h(p/=1e3)}O.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 u(p){return h(p.substr(0,p.indexOf(" ")))?"a "+p:"an "+p},past:function f(p){return h(p.substr(0,p.indexOf(" ")))?"viru "+p:"virun "+p},s:"e puer Sekonnen",ss:"%d Sekonnen",m:v,mm:"%d Minutten",h:v,hh:"%d Stonnen",d:v,dd:"%d Deeg",M:v,MM:"%d M\xe9int",y:v,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},2349:function(de,ge,N){!function(O){"use strict";O.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(u){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===u},meridiem:function(u,f,h){return u<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(u){return"\u0e97\u0eb5\u0ec8"+u}})}(N(5439))},2400:function(de,ge,N){!function(O){"use strict";var v={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 f(x,T,S,k){return T?M(S)[0]:k?M(S)[1]:M(S)[2]}function h(x){return x%10==0||x>10&&x<20}function M(x){return v[x].split("_")}function p(x,T,S,k){var L=x+" ";return 1===x?L+f(0,T,S[0],k):T?L+(h(x)?M(S)[1]:M(S)[0]):k?L+M(S)[1]:L+(h(x)?M(S)[1]:M(S)[2])}O.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 u(x,T,S,k){return T?"kelios sekund\u0117s":k?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:p,m:f,mm:p,h:f,hh:p,d:f,dd:p,M:f,MM:p,y:f,yy:p},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(x){return x+"-oji"},week:{dow:1,doy:4}})}(N(5439))},9991:function(de,ge,N){!function(O){"use strict";var v={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 u(y,x,T){return T?x%10==1&&x%100!=11?y[2]:y[3]:x%10==1&&x%100!=11?y[0]:y[1]}function f(y,x,T){return y+" "+u(v[T],y,x)}function h(y,x,T){return u(v[T],y,x)}O.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(y,x){return x?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:f,m:h,mm:f,h,hh:f,d:h,dd:f,M:h,MM:f,y:h,yy:f},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},8477:function(de,ge,N){!function(O){"use strict";var v={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(f,h){return 1===f?h[0]:f>=2&&f<=4?h[1]:h[2]},translate:function(f,h,M){var p=v.words[M];return 1===M.length?h?p[0]:p[1]:f+" "+v.correctGrammaticalCase(f,p)}};O.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:v.translate,m:v.translate,mm:v.translate,h:v.translate,hh:v.translate,d:"dan",dd:v.translate,M:"mjesec",MM:v.translate,y:"godinu",yy:v.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},5118:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},5943:function(de,ge,N){!function(O){"use strict";O.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:"\u043f\u043e\u0441\u043b\u0435 %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:"\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",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",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(u){var f=u%10,h=u%100;return 0===u?u+"-\u0435\u0432":0===h?u+"-\u0435\u043d":h>10&&h<20?u+"-\u0442\u0438":1===f?u+"-\u0432\u0438":2===f?u+"-\u0440\u0438":7===f||8===f?u+"-\u043c\u0438":u+"-\u0442\u0438"},week:{dow:1,doy:7}})}(N(5439))},3849:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===f&&u>=4||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===f||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===f?u+12:u},meridiem:function(u,f,h){return u<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":u<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":u<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":u<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}})}(N(5439))},1977:function(de,ge,N){!function(O){"use strict";function v(f,h,M,p){switch(M){case"s":return h?"\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 f+(h?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return f+(h?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return f+(h?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return f+(h?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return f+(h?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return f+(h?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return f}}O.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(f){return"\u04ae\u0425"===f},meridiem:function(f,h,M){return f<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:v,ss:v,m:v,mm:v,h:v,hh:v,d:v,dd:v,M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(f,h){switch(h){case"d":case"D":case"DDD":return f+" \u04e9\u0434\u04e9\u0440";default:return f}}})}(N(5439))},6184:function(de,ge,N){!function(O){"use strict";var v={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},u={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function f(M,p,y,x){var T="";if(p)switch(y){case"s":T="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":T="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":T="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":T="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":T="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":T="%d \u0924\u093e\u0938";break;case"d":T="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":T="%d \u0926\u093f\u0935\u0938";break;case"M":T="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":T="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":T="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":T="%d \u0935\u0930\u094d\u0937\u0947"}else switch(y){case"s":T="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":T="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":T="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":T="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":T="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":T="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":T="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":T="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":T="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":T="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":T="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":T="%d \u0935\u0930\u094d\u0937\u093e\u0902"}return T.replace(/%d/i,M)}O.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:f,ss:f,m:f,mm:f,h:f,hh:f,d:f,dd:f,M:f,MM:f,y:f,yy:f},preparse:function(M){return M.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(p){return u[p]})},postformat:function(M){return M.replace(/\d/g,function(p){return v[p]})},meridiemParse:/\u0930\u093e\u0924\u094d\u0930\u0940|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940/,meridiemHour:function(M,p){return 12===M&&(M=0),"\u0930\u093e\u0924\u094d\u0930\u0940"===p?M<4?M:M+12:"\u0938\u0915\u093e\u0933\u0940"===p?M:"\u0926\u0941\u092a\u093e\u0930\u0940"===p?M>=10?M:M+12:"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===p?M+12:void 0},meridiem:function(M,p,y){return M<4?"\u0930\u093e\u0924\u094d\u0930\u0940":M<10?"\u0938\u0915\u093e\u0933\u0940":M<17?"\u0926\u0941\u092a\u093e\u0930\u0940":M<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}})}(N(5439))},4524:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"pagi"===f?u:"tengahari"===f?u>=11?u:u+12:"petang"===f||"malam"===f?u+12:void 0},meridiem:function(u,f,h){return u<11?"pagi":u<15?"tengahari":u<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}})}(N(5439))},485:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"pagi"===f?u:"tengahari"===f?u>=11?u:u+12:"petang"===f||"malam"===f?u+12:void 0},meridiem:function(u,f,h){return u<11?"pagi":u<15?"tengahari":u<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}})}(N(5439))},6681:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},2024:function(de,ge,N){!function(O){"use strict";var v={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},u={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"};O.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(h){return h.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},week:{dow:1,doy:4}})}(N(5439))},2688:function(de,ge,N){!function(O){"use strict";O.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_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",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}})}(N(5439))},8914:function(de,ge,N){!function(O){"use strict";var v={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},u={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};O.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(h){return h.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(h,M){return 12===h&&(h=0),"\u0930\u093e\u0924\u093f"===M?h<4?h:h+12:"\u092c\u093f\u0939\u093e\u0928"===M?h:"\u0926\u093f\u0909\u0901\u0938\u094b"===M?h>=10?h:h+12:"\u0938\u093e\u0901\u091d"===M?h+12:void 0},meridiem:function(h,M,p){return h<3?"\u0930\u093e\u0924\u093f":h<12?"\u092c\u093f\u0939\u093e\u0928":h<16?"\u0926\u093f\u0909\u0901\u0938\u094b":h<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}})}(N(5439))},2272:function(de,ge,N){!function(O){"use strict";var v="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),u="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),f=[/^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],h=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;O.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(p,y){return p?/-MMM-/.test(y)?u[p.month()]:v[p.month()]:v},monthsRegex:h,monthsShortRegex:h,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:f,longMonthsParse:f,shortMonthsParse:f,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(p){return p+(1===p||8===p||p>=20?"ste":"de")},week:{dow:1,doy:4}})}(N(5439))},1758:function(de,ge,N){!function(O){"use strict";var v="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),u="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),f=[/^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],h=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;O.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(p,y){return p?/-MMM-/.test(y)?u[p.month()]:v[p.month()]:v},monthsRegex:h,monthsShortRegex:h,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:f,longMonthsParse:f,shortMonthsParse:f,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(p){return p+(1===p||8===p||p>=20?"ste":"de")},week:{dow:1,doy:4}})}(N(5439))},1510:function(de,ge,N){!function(O){"use strict";O.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_m\xe5n_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_m\xe5_ty_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 [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",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}})}(N(5439))},7944:function(de,ge,N){!function(O){"use strict";var v={1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"},u={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"};O.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(h){return h.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(h,M){return 12===h&&(h=0),"\u0a30\u0a3e\u0a24"===M?h<4?h:h+12:"\u0a38\u0a35\u0a47\u0a30"===M?h:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===M?h>=10?h:h+12:"\u0a38\u0a3c\u0a3e\u0a2e"===M?h+12:void 0},meridiem:function(h,M,p){return h<4?"\u0a30\u0a3e\u0a24":h<10?"\u0a38\u0a35\u0a47\u0a30":h<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":h<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}})}(N(5439))},1605:function(de,ge,N){!function(O){"use strict";var v="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),u="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_");function f(p){return p%10<5&&p%10>1&&~~(p/10)%10!=1}function h(p,y,x){var T=p+" ";switch(x){case"ss":return T+(f(p)?"sekundy":"sekund");case"m":return y?"minuta":"minut\u0119";case"mm":return T+(f(p)?"minuty":"minut");case"h":return y?"godzina":"godzin\u0119";case"hh":return T+(f(p)?"godziny":"godzin");case"MM":return T+(f(p)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return T+(f(p)?"lata":"lat")}}O.defineLocale("pl",{months:function(p,y){return p?""===y?"("+u[p.month()]+"|"+v[p.month()]+")":/D MMMM/.test(y)?u[p.month()]:v[p.month()]:v},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),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:h,m:h,mm:h,h,hh:h,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:h,y:"rok",yy:h},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},3840:function(de,ge,N){!function(O){"use strict";O.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"})}(N(5439))},4225:function(de,ge,N){!function(O){"use strict";O.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",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}})}(N(5439))},5128:function(de,ge,N){!function(O){"use strict";function v(f,h,M){var y=" ";return(f%100>=20||f>=100&&f%100==0)&&(y=" de "),f+y+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[M]}O.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._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:v,m:"un minut",mm:v,h:"o or\u0103",hh:v,d:"o zi",dd:v,M:"o lun\u0103",MM:v,y:"un an",yy:v},week:{dow:1,doy:7}})}(N(5439))},5127:function(de,ge,N){!function(O){"use strict";function u(M,p,y){return"m"===y?p?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":M+" "+function v(M,p){var y=M.split("_");return p%10==1&&p%100!=11?y[0]:p%10>=2&&p%10<=4&&(p%100<10||p%100>=20)?y[1]:y[2]}({ss:p?"\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:p?"\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",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"}[y],+M)}var f=[/^\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];O.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:f,longMonthsParse:f,shortMonthsParse:f,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(M){if(M.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(M){if(M.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:u,m:u,mm:u,h:"\u0447\u0430\u0441",hh:u,d:"\u0434\u0435\u043d\u044c",dd:u,M:"\u043c\u0435\u0441\u044f\u0446",MM:u,y:"\u0433\u043e\u0434",yy:u},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(M){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(M)},meridiem:function(M,p,y){return M<4?"\u043d\u043e\u0447\u0438":M<12?"\u0443\u0442\u0440\u0430":M<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(M,p){switch(p){case"M":case"d":case"DDD":return M+"-\u0439";case"D":return M+"-\u0433\u043e";case"w":case"W":return M+"-\u044f";default:return M}},week:{dow:1,doy:4}})}(N(5439))},2525:function(de,ge,N){!function(O){"use strict";var v=["\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"],u=["\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"];O.defineLocale("sd",{months:v,monthsShort:v,weekdays:u,weekdaysShort:u,weekdaysMin:u,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(h){return"\u0634\u0627\u0645"===h},meridiem:function(h,M,p){return h<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(h){return h.replace(/\u060c/g,",")},postformat:function(h){return h.replace(/,/g,"\u060c")},week:{dow:1,doy:4}})}(N(5439))},9893:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},3123:function(de,ge,N){!function(O){"use strict";O.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(u){return u+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(u){return"\u0db4.\u0dc0."===u||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===u},meridiem:function(u,f,h){return u>11?h?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":h?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}})}(N(5439))},9635:function(de,ge,N){!function(O){"use strict";var v="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),u="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function f(p){return p>1&&p<5}function h(p,y,x,T){var S=p+" ";switch(x){case"s":return y||T?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return y||T?S+(f(p)?"sekundy":"sek\xfand"):S+"sekundami";case"m":return y?"min\xfata":T?"min\xfatu":"min\xfatou";case"mm":return y||T?S+(f(p)?"min\xfaty":"min\xfat"):S+"min\xfatami";case"h":return y?"hodina":T?"hodinu":"hodinou";case"hh":return y||T?S+(f(p)?"hodiny":"hod\xedn"):S+"hodinami";case"d":return y||T?"de\u0148":"d\u0148om";case"dd":return y||T?S+(f(p)?"dni":"dn\xed"):S+"d\u0148ami";case"M":return y||T?"mesiac":"mesiacom";case"MM":return y||T?S+(f(p)?"mesiace":"mesiacov"):S+"mesiacmi";case"y":return y||T?"rok":"rokom";case"yy":return y||T?S+(f(p)?"roky":"rokov"):S+"rokmi"}}O.defineLocale("sk",{months:v,monthsShort:u,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:case 4:case 5:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %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}})}(N(5439))},8106:function(de,ge,N){!function(O){"use strict";function v(f,h,M,p){var y=f+" ";switch(M){case"s":return h||p?"nekaj sekund":"nekaj sekundami";case"ss":return y+(1===f?h?"sekundo":"sekundi":2===f?h||p?"sekundi":"sekundah":f<5?h||p?"sekunde":"sekundah":"sekund");case"m":return h?"ena minuta":"eno minuto";case"mm":return y+(1===f?h?"minuta":"minuto":2===f?h||p?"minuti":"minutama":f<5?h||p?"minute":"minutami":h||p?"minut":"minutami");case"h":return h?"ena ura":"eno uro";case"hh":return y+(1===f?h?"ura":"uro":2===f?h||p?"uri":"urama":f<5?h||p?"ure":"urami":h||p?"ur":"urami");case"d":return h||p?"en dan":"enim dnem";case"dd":return y+(1===f?h||p?"dan":"dnem":2===f?h||p?"dni":"dnevoma":h||p?"dni":"dnevi");case"M":return h||p?"en mesec":"enim mesecem";case"MM":return y+(1===f?h||p?"mesec":"mesecem":2===f?h||p?"meseca":"mesecema":f<5?h||p?"mesece":"meseci":h||p?"mesecev":"meseci");case"y":return h||p?"eno leto":"enim letom";case"yy":return y+(1===f?h||p?"leto":"letom":2===f?h||p?"leti":"letoma":f<5?h||p?"leta":"leti":h||p?"let":"leti")}}O.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:v,ss:v,m:v,mm:v,h:v,hh:v,d:v,dd:v,M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},8799:function(de,ge,N){!function(O){"use strict";O.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(u){return"M"===u.charAt(0)},meridiem:function(u,f,h){return u<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}})}(N(5439))},2872:function(de,ge,N){!function(O){"use strict";var v={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(f,h){return 1===f?h[0]:f>=2&&f<=4?h[1]:h[2]},translate:function(f,h,M){var p=v.words[M];return 1===M.length?h?p[0]:p[1]:f+" "+v.correctGrammaticalCase(f,p)}};O.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:"DD.MM.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:v.translate,m:v.translate,mm:v.translate,h:v.translate,hh:v.translate,d:"\u0434\u0430\u043d",dd:v.translate,M:"\u043c\u0435\u0441\u0435\u0446",MM:v.translate,y:"\u0433\u043e\u0434\u0438\u043d\u0443",yy:v.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},7949:function(de,ge,N){!function(O){"use strict";var v={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(f,h){return 1===f?h[0]:f>=2&&f<=4?h[1]:h[2]},translate:function(f,h,M){var p=v.words[M];return 1===M.length?h?p[0]:p[1]:f+" "+v.correctGrammaticalCase(f,p)}};O.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:"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] [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:v.translate,m:v.translate,mm:v.translate,h:v.translate,hh:v.translate,d:"dan",dd:v.translate,M:"mesec",MM:v.translate,y:"godinu",yy:v.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},6167:function(de,ge,N){!function(O){"use strict";O.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(u,f,h){return u<11?"ekuseni":u<15?"emini":u<19?"entsambama":"ebusuku"},meridiemHour:function(u,f){return 12===u&&(u=0),"ekuseni"===f?u:"emini"===f?u>=11?u:u+12:"entsambama"===f||"ebusuku"===f?0===u?0:u+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(N(5439))},9713:function(de,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"e":1===f||2===f?"a":"e")},week:{dow:1,doy:4}})}(N(5439))},1982:function(de,ge,N){!function(O){"use strict";O.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",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:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(N(5439))},2732:function(de,ge,N){!function(O){"use strict";var v={1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"},u={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"};O.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(h){return h+"\u0bb5\u0ba4\u0bc1"},preparse:function(h){return h.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},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(h,M,p){return h<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":h<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":h<10?" \u0b95\u0bbe\u0bb2\u0bc8":h<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":h<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":h<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(h,M){return 12===h&&(h=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===M?h<2?h:h+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===M||"\u0b95\u0bbe\u0bb2\u0bc8"===M||"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===M&&h>=10?h:h+12},week:{dow:0,doy:6}})}(N(5439))},3636:function(de,ge,N){!function(O){"use strict";O.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\u0c42\u0c32\u0c46\u0c56_\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\u0c42\u0c32\u0c46\u0c56_\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(u,f){return 12===u&&(u=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===f?u<4?u:u+12:"\u0c09\u0c26\u0c2f\u0c02"===f?u:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===f?u>=10?u:u+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===f?u+12:void 0},meridiem:function(u,f,h){return u<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":u<10?"\u0c09\u0c26\u0c2f\u0c02":u<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":u<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}})}(N(5439))},2115:function(de,ge,N){!function(O){"use strict";O.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:"minutu balun",ss:"minutu %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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},9801:function(de,ge,N){!function(O){"use strict";var v={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"};O.defineLocale("tg",{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:"\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:"[\u041f\u0430\u0433\u043e\u04b3 \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(f,h){return 12===f&&(f=0),"\u0448\u0430\u0431"===h?f<4?f:f+12:"\u0441\u0443\u0431\u04b3"===h?f:"\u0440\u04ef\u0437"===h?f>=11?f:f+12:"\u0431\u0435\u0433\u043e\u04b3"===h?f+12:void 0},meridiem:function(f,h,M){return f<4?"\u0448\u0430\u0431":f<11?"\u0441\u0443\u0431\u04b3":f<16?"\u0440\u04ef\u0437":f<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(f){return f+(v[f]||v[f%10]||v[f>=100?100:null])},week:{dow:1,doy:7}})}(N(5439))},2868:function(de,ge,N){!function(O){"use strict";O.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(u){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===u},meridiem:function(u,f,h){return u<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",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}})}(N(5439))},2360:function(de,ge,N){!function(O){"use strict";O.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(u){return u},week:{dow:1,doy:4}})}(N(5439))},6645:function(de,ge,N){!function(O){"use strict";var v="pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function h(y,x,T,S){var k=function M(y){var x=Math.floor(y%1e3/100),T=Math.floor(y%100/10),S=y%10,k="";return x>0&&(k+=v[x]+"vatlh"),T>0&&(k+=(""!==k?" ":"")+v[T]+"maH"),S>0&&(k+=(""!==k?" ":"")+v[S]),""===k?"pagh":k}(y);switch(T){case"ss":return k+" lup";case"mm":return k+" tup";case"hh":return k+" rep";case"dd":return k+" jaj";case"MM":return k+" jar";case"yy":return k+" DIS"}}O.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 u(y){var x=y;return-1!==y.indexOf("jaj")?x.slice(0,-3)+"leS":-1!==y.indexOf("jar")?x.slice(0,-3)+"waQ":-1!==y.indexOf("DIS")?x.slice(0,-3)+"nem":x+" pIq"},past:function f(y){var x=y;return-1!==y.indexOf("jaj")?x.slice(0,-3)+"Hu\u2019":-1!==y.indexOf("jar")?x.slice(0,-3)+"wen":-1!==y.indexOf("DIS")?x.slice(0,-3)+"ben":x+" ret"},s:"puS lup",ss:h,m:"wa\u2019 tup",mm:h,h:"wa\u2019 rep",hh:h,d:"wa\u2019 jaj",dd:h,M:"wa\u2019 jar",MM:h,y:"wa\u2019 DIS",yy:h},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},8374:function(de,ge,N){!function(O){"use strict";var v={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"};O.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("_"),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",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(f,h){switch(h){case"d":case"D":case"Do":case"DD":return f;default:if(0===f)return f+"'\u0131nc\u0131";var M=f%10;return f+(v[M]||v[f%100-M]||v[f>=100?100:null])}},week:{dow:1,doy:7}})}(N(5439))},256:function(de,ge,N){!function(O){"use strict";function u(f,h,M,p){var y={s:["viensas secunds","'iensas secunds"],ss:[f+" secunds",f+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[f+" m\xeduts",f+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[f+" \xfeoras",f+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[f+" ziuas",f+" ziuas"],M:["'n mes","'iens mes"],MM:[f+" mesen",f+" mesen"],y:["'n ar","'iens ar"],yy:[f+" ars",f+" ars"]};return p||h?y[M][0]:y[M][1]}O.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(f){return"d'o"===f.toLowerCase()},meridiem:function(f,h,M){return f>11?M?"d'o":"D'O":M?"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:u,ss:u,m:u,mm:u,h:u,hh:u,d:u,dd:u,M:u,MM:u,y:u,yy:u},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},1631:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},1595:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},6050:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===f||"\u0633\u06d5\u06be\u06d5\u0631"===f||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===f?u:"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"===f||"\u0643\u06d5\u0686"===f?u+12:u>=11?u:u+12},meridiem:function(u,f,h){var M=100*u+f;return M<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":M<900?"\u0633\u06d5\u06be\u06d5\u0631":M<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":M<1230?"\u0686\u06c8\u0634":M<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(u,f){switch(f){case"d":case"D":case"DDD":return u+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return u+"-\u06be\u06d5\u067e\u062a\u06d5";default:return u}},preparse:function(u){return u.replace(/\u060c/g,",")},postformat:function(u){return u.replace(/,/g,"\u060c")},week:{dow:1,doy:7}})}(N(5439))},5610:function(de,ge,N){!function(O){"use strict";function u(p,y,x){return"m"===x?y?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===x?y?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":p+" "+function v(p,y){var x=p.split("_");return y%10==1&&y%100!=11?x[0]:y%10>=2&&y%10<=4&&(y%100<10||y%100>=20)?x[1]:x[2]}({ss:y?"\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:y?"\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:y?"\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"}[x],+p)}function h(p){return function(){return p+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}O.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 f(p,y){var x={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 p?x[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(y)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(y)?"genitive":"nominative"][p.day()]:x.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:h("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:h("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:h("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:h("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return h("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return h("[\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:u,m:u,mm:u,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:u,d:"\u0434\u0435\u043d\u044c",dd:u,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:u,y:"\u0440\u0456\u043a",yy:u},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(p){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(p)},meridiem:function(p,y,x){return p<4?"\u043d\u043e\u0447\u0456":p<12?"\u0440\u0430\u043d\u043a\u0443":p<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(p,y){switch(y){case"M":case"d":case"DDD":case"w":case"W":return p+"-\u0439";case"D":return p+"-\u0433\u043e";default:return p}},week:{dow:1,doy:7}})}(N(5439))},6077:function(de,ge,N){!function(O){"use strict";var v=["\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"],u=["\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"];O.defineLocale("ur",{months:v,monthsShort:v,weekdays:u,weekdaysShort:u,weekdaysMin:u,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(h){return"\u0634\u0627\u0645"===h},meridiem:function(h,M,p){return h<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(h){return h.replace(/\u060c/g,",")},postformat:function(h){return h.replace(/,/g,"\u060c")},week:{dow:1,doy:4}})}(N(5439))},2207:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},2862:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},8093:function(de,ge,N){!function(O){"use strict";O.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:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".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(u){return/^ch$/i.test(u)},meridiem:function(u,f,h){return u<12?h?"sa":"SA":h?"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 r\u1ed3i 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",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(u){return u},week:{dow:1,doy:4}})}(N(5439))},5590:function(de,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},9058:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},7908:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u51cc\u6668"===f||"\u65e9\u4e0a"===f||"\u4e0a\u5348"===f?u:"\u4e0b\u5348"===f||"\u665a\u4e0a"===f?u+12:u>=11?u:u+12},meridiem:function(u,f,h){var M=100*u+f;return M<600?"\u51cc\u6668":M<900?"\u65e9\u4e0a":M<1130?"\u4e0a\u5348":M<1230?"\u4e2d\u5348":M<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|\u5468)/,ordinal:function(u,f){switch(f){case"d":case"D":case"DDD":return u+"\u65e5";case"M":return u+"\u6708";case"w":case"W":return u+"\u5468";default:return u}},relativeTime:{future:"%s\u5185",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",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}})}(N(5439))},8867:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u51cc\u6668"===f||"\u65e9\u4e0a"===f||"\u4e0a\u5348"===f?u:"\u4e2d\u5348"===f?u>=11?u:u+12:"\u4e0b\u5348"===f||"\u665a\u4e0a"===f?u+12:void 0},meridiem:function(u,f,h){var M=100*u+f;return M<600?"\u51cc\u6668":M<900?"\u65e9\u4e0a":M<1130?"\u4e0a\u5348":M<1230?"\u4e2d\u5348":M<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(u,f){switch(f){case"d":case"D":case"DDD":return u+"\u65e5";case"M":return u+"\u6708";case"w":case"W":return u+"\u9031";default:return u}},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"}})}(N(5439))},3291:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u51cc\u6668"===f||"\u65e9\u4e0a"===f||"\u4e0a\u5348"===f?u:"\u4e2d\u5348"===f?u>=11?u:u+12:"\u4e0b\u5348"===f||"\u665a\u4e0a"===f?u+12:void 0},meridiem:function(u,f,h){var M=100*u+f;return M<600?"\u51cc\u6668":M<900?"\u65e9\u4e0a":M<1130?"\u4e0a\u5348":M<1230?"\u4e2d\u5348":M<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(u,f){switch(f){case"d":case"D":case"DDD":return u+"\u65e5";case"M":return u+"\u6708";case"w":case"W":return u+"\u9031";default:return u}},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"}})}(N(5439))},5439:function(de,ge,N){(de=N.nmd(de)).exports=function(){"use strict";var O,B;function v(){return O.apply(null,arguments)}function f(m){return m instanceof Array||"[object Array]"===Object.prototype.toString.call(m)}function h(m){return null!=m&&"[object Object]"===Object.prototype.toString.call(m)}function p(m){return void 0===m}function y(m){return"number"==typeof m||"[object Number]"===Object.prototype.toString.call(m)}function x(m){return m instanceof Date||"[object Date]"===Object.prototype.toString.call(m)}function T(m,P){var $,j=[];for($=0;$>>0,$=0;$0)for(j=0;j=0?j?"+":"":"-")+Math.pow(10,Math.max(0,P-$.length)).toString().substr(1)+$}var Ie=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Ye=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ut={},mt={};function it(m,P,j,$){var ne=$;"string"==typeof $&&(ne=function(){return this[$]()}),m&&(mt[m]=ne),P&&(mt[P[0]]=function(){return De(ne.apply(this,arguments),P[1],P[2])}),j&&(mt[j]=function(){return this.localeData().ordinal(ne.apply(this,arguments),m)})}function fn(m){return m.match(/\[[\s\S]/)?m.replace(/^\[|\]$/g,""):m.replace(/\\/g,"")}function bt(m,P){return m.isValid()?(P=qt(P,m.localeData()),ut[P]=ut[P]||function An(m){var j,$,P=m.match(Ie);for(j=0,$=P.length;j<$;j++)P[j]=mt[P[j]]?mt[P[j]]:fn(P[j]);return function(ne){var je,Le="";for(je=0;je<$;je++)Le+=ke(P[je])?P[je].call(ne,m):P[je];return Le}}(P),ut[P](m)):m.localeData().invalidDate()}function qt(m,P){var j=5;function $(ne){return P.longDateFormat(ne)||ne}for(Ye.lastIndex=0;j>=0&&Ye.test(m);)m=m.replace(Ye,$),Ye.lastIndex=0,j-=1;return m}var Gn=/\d/,oi=/\d\d/,Kr=/\d{3}/,Io=/\d{4}/,Ai=/[+-]?\d{6}/,ln=/\d\d?/,wi=/\d\d\d\d?/,si=/\d\d\d\d\d\d?/,Fn=/\d{1,3}/,jd=/\d{1,4}/,dl=/[+-]?\d{1,6}/,xn=/\d+/,_a=/[+-]?\d+/,Fi=/Z|[+-]\d\d:?\d\d/gi,ba=/Z|[+-]\d\d(?::?\d\d)?/gi,pn=/[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,Dt={};function gt(m,P,j){Dt[m]=ke(P)?P:function($,ne){return $&&j?j:P}}function zd(m,P){return S(Dt,m)?Dt[m](P._strict,P._locale):new RegExp(function Z1(m){return hs(m.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(P,j,$,ne,Le){return j||$||ne||Le}))}(m))}function hs(m){return m.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var Fe={};function Tn(m,P){var j,$=P;for("string"==typeof m&&(m=[m]),y(P)&&($=function(ne,Le){Le[P]=ee(ne)}),j=0;j68?1900:2e3)};var Ci,Bg=va("FullYear",!0);function va(m,P){return function(j){return null!=j?(cf(this,m,j),v.updateOffset(this,P),this):Wd(this,m)}}function Wd(m,P){return m.isValid()?m._d["get"+(m._isUTC?"UTC":"")+P]():NaN}function cf(m,P,j){m.isValid()&&!isNaN(j)&&("FullYear"===P&&Ud(m.year())&&1===m.month()&&29===m.date()?m._d["set"+(m._isUTC?"UTC":"")+P](j,m.month(),$d(j,m.month())):m._d["set"+(m._isUTC?"UTC":"")+P](j))}function $d(m,P){if(isNaN(m)||isNaN(P))return NaN;var j=function Mn(m,P){return(m%P+P)%P}(P,12);return m+=(P-j)/12,1===j?Ud(m)?29:28:31-j%7%2}Ci=Array.prototype.indexOf?Array.prototype.indexOf:function(m){var P;for(P=0;P=0&&isFinite(At.getFullYear())&&At.setFullYear(m),At}function Wi(m){var P=new Date(Date.UTC.apply(null,arguments));return m<100&&m>=0&&isFinite(P.getUTCFullYear())&&P.setUTCFullYear(m),P}function ul(m,P,j){var $=7+P-j;return-(7+Wi(m,0,$).getUTCDay()-P)%7+$-1}function Ug(m,P,j,$,ne){var Ut,ki,At=1+7*(P-1)+(7+j-$)%7+ul(m,$,ne);return At<=0?ki=dc(Ut=m-1)+At:At>dc(m)?(Ut=m+1,ki=At-dc(m)):(Ut=m,ki=At),{year:Ut,dayOfYear:ki}}function wn(m,P,j){var Le,je,$=ul(m.year(),P,j),ne=Math.floor((m.dayOfYear()-$-1)/7)+1;return ne<1?Le=ne+ya(je=m.year()-1,P,j):ne>ya(m.year(),P,j)?(Le=ne-ya(m.year(),P,j),je=m.year()+1):(je=m.year(),Le=ne),{week:Le,year:je}}function ya(m,P,j){var $=ul(m,P,j),ne=ul(m+1,P,j);return(dc(m)-$+ne)/7}it("w",["ww",2],"wo","week"),it("W",["WW",2],"Wo","isoWeek"),pe("week","w"),pe("isoWeek","W"),me("week",5),me("isoWeek",5),gt("w",ln),gt("ww",ln,oi),gt("W",ln),gt("WW",ln,oi),xt(["w","ww","W","WW"],function(m,P,j,$){P[$.substr(0,1)]=ee(m)});it("d",0,"do","day"),it("dd",0,0,function(m){return this.localeData().weekdaysMin(this,m)}),it("ddd",0,0,function(m){return this.localeData().weekdaysShort(this,m)}),it("dddd",0,0,function(m){return this.localeData().weekdays(this,m)}),it("e",0,0,"weekday"),it("E",0,0,"isoWeekday"),pe("day","d"),pe("weekday","e"),pe("isoWeekday","E"),me("day",11),me("weekday",11),me("isoWeekday",11),gt("d",ln),gt("e",ln),gt("E",ln),gt("dd",function(m,P){return P.weekdaysMinRegex(m)}),gt("ddd",function(m,P){return P.weekdaysShortRegex(m)}),gt("dddd",function(m,P){return P.weekdaysRegex(m)}),xt(["dd","ddd","dddd"],function(m,P,j,$){var ne=j._locale.weekdaysParse(m,$,j._strict);null!=ne?P.d=ne:U(j).invalidWeekday=m}),xt(["d","e","E"],function(m,P,j,$){P[$]=ee(m)});var pf="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var mf="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var qg="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function gf(m,P,j){var $,ne,Le,je=m.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],$=0;$<7;++$)Le=L([2e3,1]).day($),this._minWeekdaysParse[$]=this.weekdaysMin(Le,"").toLocaleLowerCase(),this._shortWeekdaysParse[$]=this.weekdaysShort(Le,"").toLocaleLowerCase(),this._weekdaysParse[$]=this.weekdays(Le,"").toLocaleLowerCase();return j?"dddd"===P?-1!==(ne=Ci.call(this._weekdaysParse,je))?ne:null:"ddd"===P?-1!==(ne=Ci.call(this._shortWeekdaysParse,je))?ne:null:-1!==(ne=Ci.call(this._minWeekdaysParse,je))?ne:null:"dddd"===P?-1!==(ne=Ci.call(this._weekdaysParse,je))||-1!==(ne=Ci.call(this._shortWeekdaysParse,je))||-1!==(ne=Ci.call(this._minWeekdaysParse,je))?ne:null:"ddd"===P?-1!==(ne=Ci.call(this._shortWeekdaysParse,je))||-1!==(ne=Ci.call(this._weekdaysParse,je))||-1!==(ne=Ci.call(this._minWeekdaysParse,je))?ne:null:-1!==(ne=Ci.call(this._minWeekdaysParse,je))||-1!==(ne=Ci.call(this._weekdaysParse,je))||-1!==(ne=Ci.call(this._shortWeekdaysParse,je))?ne:null}var Kg=pn;var Xg=pn;var Oo=pn;function lo(){function m(Br,bl){return bl.length-Br.length}var Le,je,At,Ut,ki,P=[],j=[],$=[],ne=[];for(Le=0;Le<7;Le++)je=L([2e3,1]).day(Le),At=this.weekdaysMin(je,""),Ut=this.weekdaysShort(je,""),ki=this.weekdays(je,""),P.push(At),j.push(Ut),$.push(ki),ne.push(At),ne.push(Ut),ne.push(ki);for(P.sort(m),j.sort(m),$.sort(m),ne.sort(m),Le=0;Le<7;Le++)j[Le]=hs(j[Le]),$[Le]=hs($[Le]),ne[Le]=hs(ne[Le]);this._weekdaysRegex=new RegExp("^("+ne.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+$.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+P.join("|")+")","i")}function cn(){return this.hours()%12||12}function _c(m,P){it(m,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),P)})}function bc(m,P){return P._meridiemParse}it("H",["HH",2],0,"hour"),it("h",["hh",2],0,cn),it("k",["kk",2],0,function gc(){return this.hours()||24}),it("hmm",0,0,function(){return""+cn.apply(this)+De(this.minutes(),2)}),it("hmmss",0,0,function(){return""+cn.apply(this)+De(this.minutes(),2)+De(this.seconds(),2)}),it("Hmm",0,0,function(){return""+this.hours()+De(this.minutes(),2)}),it("Hmmss",0,0,function(){return""+this.hours()+De(this.minutes(),2)+De(this.seconds(),2)}),_c("a",!0),_c("A",!1),pe("hour","h"),me("hour",13),gt("a",bc),gt("A",bc),gt("H",ln),gt("h",ln),gt("k",ln),gt("HH",ln,oi),gt("hh",ln,oi),gt("kk",ln,oi),gt("hmm",wi),gt("hmmss",si),gt("Hmm",wi),gt("Hmmss",si),Tn(["H","HH"],ai),Tn(["k","kk"],function(m,P,j){var $=ee(m);P[ai]=24===$?0:$}),Tn(["a","A"],function(m,P,j){j._isPm=j._locale.isPM(m),j._meridiem=m}),Tn(["h","hh"],function(m,P,j){P[ai]=ee(m),U(j).bigHour=!0}),Tn("hmm",function(m,P,j){var $=m.length-2;P[ai]=ee(m.substr(0,$)),P[ti]=ee(m.substr($)),U(j).bigHour=!0}),Tn("hmmss",function(m,P,j){var $=m.length-4,ne=m.length-2;P[ai]=ee(m.substr(0,$)),P[ti]=ee(m.substr($,2)),P[ps]=ee(m.substr(ne)),U(j).bigHour=!0}),Tn("Hmm",function(m,P,j){var $=m.length-2;P[ai]=ee(m.substr(0,$)),P[ti]=ee(m.substr($))}),Tn("Hmmss",function(m,P,j){var $=m.length-4,ne=m.length-2;P[ai]=ee(m.substr(0,$)),P[ti]=ee(m.substr($,2)),P[ps]=ee(m.substr(ne))});var Ca,bf=va("Hours",!0),Xd={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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ne,monthsShort:Nt,week:{dow:0,doy:6},weekdays:pf,weekdaysMin:qg,weekdaysShort:mf,meridiemParse:/[ap]\.?m?\.?/i},hi={},wa={};function xa(m){return m&&m.toLowerCase().replace("_","-")}function ml(m){var P=null;if(!hi[m]&&de&&de.exports)try{P=Ca._abbr,N(6700)("./"+m),ka(P)}catch{}return hi[m]}function ka(m,P){var j;return m&&((j=p(P)?_s(m):vc(m,P))?Ca=j:typeof console<"u"&&console.warn&&console.warn("Locale "+m+" not found. Did you forget to load it?")),Ca._abbr}function vc(m,P){if(null!==P){var j,$=Xd;if(P.abbr=m,null!=hi[m])Se("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."),$=hi[m]._config;else if(null!=P.parentLocale)if(null!=hi[P.parentLocale])$=hi[P.parentLocale]._config;else{if(null==(j=ml(P.parentLocale)))return wa[P.parentLocale]||(wa[P.parentLocale]=[]),wa[P.parentLocale].push({name:m,config:P}),null;$=j._config}return hi[m]=new st(tt($,P)),wa[m]&&wa[m].forEach(function(ne){vc(ne.name,ne.config)}),ka(m),hi[m]}return delete hi[m],null}function _s(m){var P;if(m&&m._locale&&m._locale._abbr&&(m=m._locale._abbr),!m)return Ca;if(!f(m)){if(P=ml(m))return P;m=[m]}return function vf(m){for(var j,$,ne,Le,P=0;P0;){if(ne=ml(Le.slice(0,j).join("-")))return ne;if($&&$.length>=j&&ae(Le,$,!0)>=j-1)break;j--}P++}return Ca}(m)}function Jd(m){var P,j=m._a;return j&&-2===U(m).overflow&&(P=j[fs]<0||j[fs]>11?fs:j[Po]<1||j[Po]>$d(j[ao],j[fs])?Po:j[ai]<0||j[ai]>24||24===j[ai]&&(0!==j[ti]||0!==j[ps]||0!==j[Ys])?ai:j[ti]<0||j[ti]>59?ti:j[ps]<0||j[ps]>59?ps:j[Ys]<0||j[Ys]>999?Ys:-1,U(m)._overflowDayOfYear&&(PPo)&&(P=Po),U(m)._overflowWeeks&&-1===P&&(P=X1),U(m)._overflowWeekday&&-1===P&&(P=ms),U(m).overflow=P),m}function Hs(m,P,j){return m??P??j}function Qd(m){var P,j,ne,Le,je,$=[];if(!m._d){for(ne=function Qg(m){var P=new Date(v.now());return m._useUTC?[P.getUTCFullYear(),P.getUTCMonth(),P.getUTCDate()]:[P.getFullYear(),P.getMonth(),P.getDate()]}(m),m._w&&null==m._a[Po]&&null==m._a[fs]&&function e_(m){var P,j,$,ne,Le,je,At,Ut;if(null!=(P=m._w).GG||null!=P.W||null!=P.E)Le=1,je=4,j=Hs(P.GG,m._a[ao],wn(zt(),1,4).year),$=Hs(P.W,1),((ne=Hs(P.E,1))<1||ne>7)&&(Ut=!0);else{Le=m._locale._week.dow,je=m._locale._week.doy;var ki=wn(zt(),Le,je);j=Hs(P.gg,m._a[ao],ki.year),$=Hs(P.w,ki.week),null!=P.d?((ne=P.d)<0||ne>6)&&(Ut=!0):null!=P.e?(ne=P.e+Le,(P.e<0||P.e>6)&&(Ut=!0)):ne=Le}$<1||$>ya(j,Le,je)?U(m)._overflowWeeks=!0:null!=Ut?U(m)._overflowWeekday=!0:(At=Ug(j,$,ne,Le,je),m._a[ao]=At.year,m._dayOfYear=At.dayOfYear)}(m),null!=m._dayOfYear&&(je=Hs(m._a[ao],ne[ao]),(m._dayOfYear>dc(je)||0===m._dayOfYear)&&(U(m)._overflowDayOfYear=!0),j=Wi(je,0,m._dayOfYear),m._a[fs]=j.getUTCMonth(),m._a[Po]=j.getUTCDate()),P=0;P<3&&null==m._a[P];++P)m._a[P]=$[P]=ne[P];for(;P<7;P++)m._a[P]=$[P]=null==m._a[P]?2===P?1:0:m._a[P];24===m._a[ai]&&0===m._a[ti]&&0===m._a[ps]&&0===m._a[Ys]&&(m._nextDay=!0,m._a[ai]=0),m._d=(m._useUTC?Wi:ff).apply(null,$),Le=m._useUTC?m._d.getUTCDay():m._d.getDay(),null!=m._tzm&&m._d.setUTCMinutes(m._d.getUTCMinutes()-m._tzm),m._nextDay&&(m._a[ai]=24),m._w&&typeof m._w.d<"u"&&m._w.d!==Le&&(U(m).weekdayMismatch=!0)}}var t_=/^\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)?)?$/,yf=/^\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)?)?$/,n_=/Z|[+-]\d\d(?::?\d\d)?/,yc=[["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}/]],eu=[["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/]],Ze=/^\/?Date\((\-?\d+)/i;function Mc(m){var P,j,Le,je,At,Ut,$=m._i,ne=t_.exec($)||yf.exec($);if(ne){for(U(m).iso=!0,P=0,j=yc.length;P0&&U(m).unusedInput.push(je),P=P.slice(P.indexOf($)+$.length),Ut+=$.length),mt[Le]?($?U(m).empty=!1:U(m).unusedTokens.push(Le),yn(Le,$,m)):m._strict&&!$&&U(m).unusedTokens.push(Le);U(m).charsLeftOver=At-Ut,P.length>0&&U(m).unusedInput.push(P),m._a[ai]<=12&&!0===U(m).bigHour&&m._a[ai]>0&&(U(m).bigHour=void 0),U(m).parsedDateParts=m._a.slice(0),U(m).meridiem=m._meridiem,m._a[ai]=function Sa(m,P,j){var $;return null==j?P:null!=m.meridiemHour?m.meridiemHour(P,j):(null!=m.isPM&&(($=m.isPM(j))&&P<12&&(P+=12),!$&&12===P&&(P=0)),P)}(m._locale,m._a[ai],m._meridiem),Qd(m),Jd(m)}else gn(m);else Mc(m)}function gl(m){var P=m._i,j=m._f;return m._locale=m._locale||_s(m._l),null===P||void 0===j&&""===P?re({nullInput:!0}):("string"==typeof P&&(m._i=P=m._locale.preparse(P)),q(P)?new he(Jd(P)):(x(P)?m._d=P:f(j)?function Nr(m){var P,j,$,ne,Le;if(0===m._f.length)return U(m).invalidFormat=!0,void(m._d=new Date(NaN));for(ne=0;nethis?this:m:re()});function Xn(m,P){var j,$;if(1===P.length&&f(P[0])&&(P=P[0]),!P.length)return zt();for(j=P[0],$=1;$(Le=ya(m,$,ne))&&(P=Le),Lc.call(this,m,P,j,$,ne))}function Lc(m,P,j,$,ne){var Le=Ug(m,P,j,$,ne),je=Wi(Le.year,0,Le.dayOfYear);return this.year(je.getUTCFullYear()),this.month(je.getUTCMonth()),this.date(je.getUTCDate()),this}it(0,["gg",2],0,function(){return this.weekYear()%100}),it(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Gs("gggg","weekYear"),Gs("ggggg","weekYear"),Gs("GGGG","isoWeekYear"),Gs("GGGGG","isoWeekYear"),pe("weekYear","gg"),pe("isoWeekYear","GG"),me("weekYear",1),me("isoWeekYear",1),gt("G",_a),gt("g",_a),gt("GG",ln,oi),gt("gg",ln,oi),gt("GGGG",jd,Io),gt("gggg",jd,Io),gt("GGGGG",dl,Ai),gt("ggggg",dl,Ai),xt(["gggg","ggggg","GGGG","GGGGG"],function(m,P,j,$){P[$.substr(0,2)]=ee(m)}),xt(["gg","GG"],function(m,P,j,$){P[$]=v.parseTwoDigitYear(m)}),it("Q",0,"Qo","quarter"),pe("quarter","Q"),me("quarter",7),gt("Q",Gn),Tn("Q",function(m,P){P[fs]=3*(ee(m)-1)}),it("D",["DD",2],"Do","date"),pe("date","D"),me("date",9),gt("D",ln),gt("DD",ln,oi),gt("Do",function(m,P){return m?P._dayOfMonthOrdinalParse||P._ordinalParse:P._dayOfMonthOrdinalParseLenient}),Tn(["D","DD"],Po),Tn("Do",function(m,P){P[Po]=ee(m.match(ln)[0])});var b_=va("Date",!0);it("DDD",["DDDD",3],"DDDo","dayOfYear"),pe("dayOfYear","DDD"),me("dayOfYear",4),gt("DDD",Fn),gt("DDDD",Kr),Tn(["DDD","DDDD"],function(m,P,j){j._dayOfYear=ee(m)}),it("m",["mm",2],0,"minute"),pe("minute","m"),me("minute",14),gt("m",ln),gt("mm",ln,oi),Tn(["m","mm"],ti);var su=va("Minutes",!1);it("s",["ss",2],0,"second"),pe("second","s"),me("second",15),gt("s",ln),gt("ss",ln,oi),Tn(["s","ss"],ps);var po,v_=va("Seconds",!1);for(it("S",0,0,function(){return~~(this.millisecond()/100)}),it(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),it(0,["SSS",3],0,"millisecond"),it(0,["SSSS",4],0,function(){return 10*this.millisecond()}),it(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),it(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),it(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),it(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),it(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),pe("millisecond","ms"),me("millisecond",16),gt("S",Fn,Gn),gt("SS",Fn,oi),gt("SSS",Fn,Kr),po="SSSS";po.length<=9;po+="S")gt(po,xn);function y_(m,P){P[Ys]=ee(1e3*("0."+m))}for(po="S";po.length<=9;po+="S")Tn(po,y_);var yM=va("Milliseconds",!1);it("z",0,0,"zoneAbbr"),it("zz",0,0,"zoneName");var Je=he.prototype;function Gi(m){return m}Je.add=Ws,Je.calendar=function nu(m,P){var j=m||zt(),$=bs(j,this).startOf("day"),ne=v.calendarFormat(this,$)||"sameElse",Le=P&&(ke(P[ne])?P[ne].call(this,j):P[ne]);return this.format(Le||this.localeData().calendar(ne,this,zt(j)))},Je.clone=function l_(){return new he(this)},Je.diff=function lM(m,P,j){var $,ne,Le;if(!this.isValid())return NaN;if(!($=bs(m,this)).isValid())return NaN;switch(ne=6e4*($.utcOffset()-this.utcOffset()),P=fe(P)){case"year":Le=Df(this,$)/12;break;case"month":Le=Df(this,$);break;case"quarter":Le=Df(this,$)/3;break;case"second":Le=(this-$)/1e3;break;case"minute":Le=(this-$)/6e4;break;case"hour":Le=(this-$)/36e5;break;case"day":Le=(this-$-ne)/864e5;break;case"week":Le=(this-$-ne)/6048e5;break;default:Le=this-$}return j?Le:Q(Le)},Je.endOf=function $s(m){return void 0===(m=fe(m))||"millisecond"===m?this:("date"===m&&(m="day"),this.startOf(m).add(1,"isoWeek"===m?"week":m).subtract(1,"ms"))},Je.format=function hM(m){m||(m=this.isUtc()?v.defaultFormatUtc:v.defaultFormat);var P=bt(this,m);return this.localeData().postformat(P)},Je.from=function fM(m,P){return this.isValid()&&(q(m)&&m.isValid()||zt(m).isValid())?br({to:this,from:m}).locale(this.locale()).humanize(!P):this.localeData().invalidDate()},Je.fromNow=function pM(m){return this.from(zt(),m)},Je.to=function mM(m,P){return this.isValid()&&(q(m)&&m.isValid()||zt(m).isValid())?br({from:this,to:m}).locale(this.locale()).humanize(!P):this.localeData().invalidDate()},Je.toNow=function Tf(m){return this.to(zt(),m)},Je.get=function Q1(m){return ke(this[m=fe(m)])?this[m]():this},Je.invalidAt=function g_(){return U(this).overflow},Je.isAfter=function rM(m,P){var j=q(m)?m:zt(m);return!(!this.isValid()||!j.isValid())&&("millisecond"===(P=fe(p(P)?"millisecond":P))?this.valueOf()>j.valueOf():j.valueOf()9999?bt(j,P?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):ke(Date.prototype.toISOString)?P?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",bt(j,"Z")):bt(j,P?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},Je.inspect=function uM(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var m="moment",P="";this.isLocal()||(m=0===this.utcOffset()?"moment.utc":"moment.parseZone",P="Z");var j="["+m+'("]',$=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY";return this.format(j+$+"-MM-DD[T]HH:mm:ss.SSS"+P+'[")]')},Je.toJSON=function p_(){return this.isValid()?this.toISOString():null},Je.toString=function cM(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},Je.unix=function _M(){return Math.floor(this.valueOf()/1e3)},Je.valueOf=function Lf(){return this._d.valueOf()-6e4*(this._offset||0)},Je.creationData=function Fo(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},Je.year=Bg,Je.isLeapYear=function J1(){return Ud(this.year())},Je.weekYear=function $i(m){return Tc.call(this,m,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},Je.isoWeekYear=function If(m){return Tc.call(this,m,this.isoWeek(),this.isoWeekday(),1,4)},Je.quarter=Je.quarters=function __(m){return null==m?Math.ceil((this.month()+1)/3):this.month(3*(m-1)+this.month()%3)},Je.month=Gd,Je.daysInMonth=function hc(){return $d(this.year(),this.month())},Je.week=Je.weeks=function pc(m){var P=this.localeData().week(this);return null==m?P:this.add(7*(m-P),"d")},Je.isoWeek=Je.isoWeeks=function Wg(m){var P=wn(this,1,4).week;return null==m?P:this.add(7*(m-P),"d")},Je.weeksInYear=function ou(){var m=this.localeData()._week;return ya(this.year(),m.dow,m.doy)},Je.isoWeeksInYear=function vM(){return ya(this.year(),1,4)},Je.date=b_,Je.day=Je.days=function mc(m){if(!this.isValid())return null!=m?this:NaN;var P=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=m?(m=function $g(m,P){return"string"!=typeof m?m:isNaN(m)?"number"==typeof(m=P.weekdaysParse(m))?m:null:parseInt(m,10)}(m,this.localeData()),this.add(m-P,"d")):P},Je.weekday=function Zd(m){if(!this.isValid())return null!=m?this:NaN;var P=(this.day()+7-this.localeData()._week.dow)%7;return null==m?P:this.add(m-P,"d")},Je.isoWeekday=function fl(m){if(!this.isValid())return null!=m?this:NaN;if(null!=m){var P=function Gg(m,P){return"string"==typeof m?P.weekdaysParse(m)%7||7:isNaN(m)?null:m}(m,this.localeData());return this.day(this.day()%7?P:P-7)}return this.day()||7},Je.dayOfYear=function Pf(m){var P=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==m?P:this.add(m-P,"d")},Je.hour=Je.hours=bf,Je.minute=Je.minutes=su,Je.second=Je.seconds=v_,Je.millisecond=Je.milliseconds=yM,Je.utcOffset=function _l(m,P,j){var ne,$=this._offset||0;if(!this.isValid())return null!=m?this:NaN;if(null!=m){if("string"==typeof m){if(null===(m=Us(ba,m)))return this}else Math.abs(m)<16&&!j&&(m*=60);return!this._isUTC&&P&&(ne=Xr(this)),this._offset=m,this._isUTC=!0,null!=ne&&this.add(ne,"m"),$!==m&&(!P||this._changeInProgress?Sc(this,br(m-$,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,v.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?$:Xr(this)},Je.utc=function vs(m){return this.utcOffset(0,m)},Je.local=function Xo(m){return this._isUTC&&(this.utcOffset(0,m),this._isUTC=!1,m&&this.subtract(Xr(this),"m")),this},Je.parseZone=function Cc(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var m=Us(Fi,this._i);null!=m?this.utcOffset(m):this.utcOffset(0,!0)}return this},Je.hasAlignedHourOffset=function xc(m){return!!this.isValid()&&(m=m?zt(m).utcOffset():0,(this.utcOffset()-m)%60==0)},Je.isDST=function Qt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},Je.isLocal=function tu(){return!!this.isValid()&&!this._isUTC},Je.isUtcOffset=function Sf(){return!!this.isValid()&&this._isUTC},Je.isUtc=ho,Je.isUTC=ho,Je.zoneAbbr=function MM(){return this._isUTC?"UTC":""},Je.zoneName=function wM(){return this._isUTC?"Coordinated Universal Time":""},Je.dates=J("dates accessor is deprecated. Use date instead.",b_),Je.months=J("months accessor is deprecated. Use month instead",Gd),Je.years=J("years accessor is deprecated. Use year instead",Bg),Je.zone=J("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function kf(m,P){return null!=m?("string"!=typeof m&&(m=-m),this.utcOffset(m,P),this):-this.utcOffset()}),Je.isDSTShifted=J("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function iM(){if(!p(this._isDSTShifted))return this._isDSTShifted;var m={};if(Z(m,this),(m=gl(m))._a){var P=m._isUTC?L(m._a):zt(m._a);this._isDSTShifted=this.isValid()&&ae(m._a,P.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var Rn=st.prototype;function Ec(m,P,j,$){var ne=_s(),Le=L().set($,P);return ne[j](Le,m)}function Of(m,P,j){if(y(m)&&(P=m,m=void 0),m=m||"",null!=P)return Ec(m,P,j,"month");var $,ne=[];for($=0;$<12;$++)ne[$]=Ec(m,$,j,"month");return ne}function Ic(m,P,j,$){"boolean"==typeof m?(y(P)&&(j=P,P=void 0),P=P||""):(j=P=m,m=!1,y(P)&&(j=P,P=void 0),P=P||"");var ne=_s(),Le=m?ne._week.dow:0;if(null!=j)return Ec(P,(j+Le)%7,$,"day");var je,At=[];for(je=0;je<7;je++)At[je]=Ec(P,(je+Le)%7,$,"day");return At}Rn.calendar=function an(m,P,j){var $=this._calendar[m]||this._calendar.sameElse;return ke($)?$.call(P,j):$},Rn.longDateFormat=function On(m){var P=this._longDateFormat[m],j=this._longDateFormat[m.toUpperCase()];return P||!j?P:(this._longDateFormat[m]=j.replace(/MMMM|MM|DD|dddd/g,function($){return $.slice(1)}),this._longDateFormat[m])},Rn.invalidDate=function Ge(){return this._invalidDate},Rn.ordinal=function dr(m){return this._ordinal.replace("%d",m)},Rn.preparse=Gi,Rn.postformat=Gi,Rn.relativeTime=function W(m,P,j,$){var ne=this._relativeTime[j];return ke(ne)?ne(m,P,j,$):ne.replace(/%d/i,m)},Rn.pastFuture=function oe(m,P){var j=this._relativeTime[m>0?"future":"past"];return ke(j)?j(P):j.replace(/%s/i,P)},Rn.set=function Be(m){var P,j;for(j in m)ke(P=m[j])?this[j]=P:this["_"+j]=P;this._config=m,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},Rn.months=function eM(m,P){return m?f(this._months)?this._months[m.month()]:this._months[(this._months.isFormat||Vg).test(P)?"format":"standalone"][m.month()]:f(this._months)?this._months:this._months.standalone},Rn.monthsShort=function uc(m,P){return m?f(this._monthsShort)?this._monthsShort[m.month()]:this._monthsShort[Vg.test(P)?"format":"standalone"][m.month()]:f(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},Rn.monthsParse=function df(m,P,j){var $,ne,Le;if(this._monthsParseExact)return jg.call(this,m,P,j);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),$=0;$<12;$++){if(ne=L([2e3,$]),j&&!this._longMonthsParse[$]&&(this._longMonthsParse[$]=new RegExp("^"+this.months(ne,"").replace(".","")+"$","i"),this._shortMonthsParse[$]=new RegExp("^"+this.monthsShort(ne,"").replace(".","")+"$","i")),!j&&!this._monthsParse[$]&&(Le="^"+this.months(ne,"")+"|^"+this.monthsShort(ne,""),this._monthsParse[$]=new RegExp(Le.replace(".",""),"i")),j&&"MMMM"===P&&this._longMonthsParse[$].test(m))return $;if(j&&"MMM"===P&&this._shortMonthsParse[$].test(m))return $;if(!j&&this._monthsParse[$].test(m))return $}},Rn.monthsRegex=function Mt(m){return this._monthsParseExact?(S(this,"_monthsRegex")||fc.call(this),m?this._monthsStrictRegex:this._monthsRegex):(S(this,"_monthsRegex")||(this._monthsRegex=zg),this._monthsStrictRegex&&m?this._monthsStrictRegex:this._monthsRegex)},Rn.monthsShortRegex=function hf(m){return this._monthsParseExact?(S(this,"_monthsRegex")||fc.call(this),m?this._monthsShortStrictRegex:this._monthsShortRegex):(S(this,"_monthsShortRegex")||(this._monthsShortRegex=qd),this._monthsShortStrictRegex&&m?this._monthsShortStrictRegex:this._monthsShortRegex)},Rn.week=function tM(m){return wn(m,this._week.dow,this._week.doy).week},Rn.firstDayOfYear=function Kd(){return this._week.doy},Rn.firstDayOfWeek=function hl(){return this._week.dow},Rn.weekdays=function Ma(m,P){return m?f(this._weekdays)?this._weekdays[m.day()]:this._weekdays[this._weekdays.isFormat.test(P)?"format":"standalone"][m.day()]:f(this._weekdays)?this._weekdays:this._weekdays.standalone},Rn.weekdaysMin=function we(m){return m?this._weekdaysMin[m.day()]:this._weekdaysMin},Rn.weekdaysShort=function gs(m){return m?this._weekdaysShort[m.day()]:this._weekdaysShort},Rn.weekdaysParse=function Qe(m,P,j){var $,ne,Le;if(this._weekdaysParseExact)return gf.call(this,m,P,j);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),$=0;$<7;$++){if(ne=L([2e3,1]).day($),j&&!this._fullWeekdaysParse[$]&&(this._fullWeekdaysParse[$]=new RegExp("^"+this.weekdays(ne,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[$]=new RegExp("^"+this.weekdaysShort(ne,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[$]=new RegExp("^"+this.weekdaysMin(ne,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[$]||(Le="^"+this.weekdays(ne,"")+"|^"+this.weekdaysShort(ne,"")+"|^"+this.weekdaysMin(ne,""),this._weekdaysParse[$]=new RegExp(Le.replace(".",""),"i")),j&&"dddd"===P&&this._fullWeekdaysParse[$].test(m))return $;if(j&&"ddd"===P&&this._shortWeekdaysParse[$].test(m))return $;if(j&&"dd"===P&&this._minWeekdaysParse[$].test(m))return $;if(!j&&this._weekdaysParse[$].test(m))return $}},Rn.weekdaysRegex=function Zg(m){return this._weekdaysParseExact?(S(this,"_weekdaysRegex")||lo.call(this),m?this._weekdaysStrictRegex:this._weekdaysRegex):(S(this,"_weekdaysRegex")||(this._weekdaysRegex=Kg),this._weekdaysStrictRegex&&m?this._weekdaysStrictRegex:this._weekdaysRegex)},Rn.weekdaysShortRegex=function Ko(m){return this._weekdaysParseExact?(S(this,"_weekdaysRegex")||lo.call(this),m?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(S(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Xg),this._weekdaysShortStrictRegex&&m?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},Rn.weekdaysMinRegex=function Dr(m){return this._weekdaysParseExact?(S(this,"_weekdaysRegex")||lo.call(this),m?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(S(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Oo),this._weekdaysMinStrictRegex&&m?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},Rn.isPM=function _f(m){return"p"===(m+"").toLowerCase().charAt(0)},Rn.meridiem=function pl(m,P,j){return m>11?j?"pm":"PM":j?"am":"AM"},ka("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(m){var P=m%10;return m+(1===ee(m%100/10)?"th":1===P?"st":2===P?"nd":3===P?"rd":"th")}}),v.lang=J("moment.lang is deprecated. Use moment.locale instead.",ka),v.langData=J("moment.langData is deprecated. Use moment.localeData instead.",_s);var No=Math.abs;function Un(m,P,j,$){var ne=br(P,j);return m._milliseconds+=$*ne._milliseconds,m._days+=$*ne._days,m._months+=$*ne._months,m._bubble()}function yr(m){return m<0?Math.floor(m):Math.ceil(m)}function lu(m){return 4800*m/146097}function ys(m){return 146097*m/4800}function mo(m){return function(){return this.as(m)}}var T_=mo("ms"),Ms=mo("s"),Rf=mo("m"),L_=mo("h"),Nf=mo("d"),Yf=mo("w"),Hf=mo("M"),E_=mo("y");function La(m){return function(){return this.isValid()?this._data[m]:NaN}}var I_=La("milliseconds"),P_=La("seconds"),O_=La("minutes"),Vf=La("hours"),Ea=La("days"),A_=La("months"),F_=La("years");var ws=Math.round,Yo={ss:44,s:45,m:45,h:22,d:26,M:11};function Ve(m,P,j,$,ne){return ne.relativeTime(P||1,!!j,m,$)}var Oc=Math.abs;function Ho(m){return(m>0)-(m<0)||+m}function Hr(){if(!this.isValid())return this.localeData().invalidDate();var $,ne,m=Oc(this._milliseconds)/1e3,P=Oc(this._days),j=Oc(this._months);$=Q(m/60),ne=Q($/60),m%=60,$%=60;var je=Q(j/12),At=j%=12,Ut=P,ki=ne,Br=$,bl=m?m.toFixed(3).replace(/\.?0+$/,""):"",vl=this.asSeconds();if(!vl)return"P0D";var cu=vl<0?"-":"",Ac=Ho(this._months)!==Ho(vl)?"-":"",jf=Ho(this._days)!==Ho(vl)?"-":"",yl=Ho(this._milliseconds)!==Ho(vl)?"-":"";return cu+"P"+(je?Ac+je+"Y":"")+(At?Ac+At+"M":"")+(Ut?jf+Ut+"D":"")+(ki||Br||bl?"T":"")+(ki?yl+ki+"H":"")+(Br?yl+Br+"M":"")+(bl?yl+bl+"S":"")}var tn=Et.prototype;return tn.isValid=function Da(){return this._isValid},tn.abs=function Ff(){var m=this._data;return this._milliseconds=No(this._milliseconds),this._days=No(this._days),this._months=No(this._months),m.milliseconds=No(m.milliseconds),m.seconds=No(m.seconds),m.minutes=No(m.minutes),m.hours=No(m.hours),m.months=No(m.months),m.years=No(m.years),this},tn.add=function k_(m,P){return Un(this,m,P,1)},tn.subtract=function Pc(m,P){return Un(this,m,P,-1)},tn.as=function Tr(m){if(!this.isValid())return NaN;var P,j,$=this._milliseconds;if("month"===(m=fe(m))||"year"===m)return j=this._months+lu(P=this._days+$/864e5),"month"===m?j:j/12;switch(P=this._days+Math.round(ys(this._months)),m){case"week":return P/7+$/6048e5;case"day":return P+$/864e5;case"hour":return 24*P+$/36e5;case"minute":return 1440*P+$/6e4;case"second":return 86400*P+$/1e3;case"millisecond":return Math.floor(864e5*P)+$;default:throw new Error("Unknown unit "+m)}},tn.asMilliseconds=T_,tn.asSeconds=Ms,tn.asMinutes=Rf,tn.asHours=L_,tn.asDays=Nf,tn.asWeeks=Yf,tn.asMonths=Hf,tn.asYears=E_,tn.valueOf=function D_(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*ee(this._months/12):NaN},tn._bubble=function S_(){var ne,Le,je,At,Ut,m=this._milliseconds,P=this._days,j=this._months,$=this._data;return m>=0&&P>=0&&j>=0||m<=0&&P<=0&&j<=0||(m+=864e5*yr(ys(j)+P),P=0,j=0),$.milliseconds=m%1e3,ne=Q(m/1e3),$.seconds=ne%60,Le=Q(ne/60),$.minutes=Le%60,je=Q(Le/60),$.hours=je%24,P+=Q(je/24),j+=Ut=Q(lu(P)),P-=yr(ys(Ut)),At=Q(j/12),j%=12,$.days=P,$.months=j,$.years=At,this},tn.clone=function Tt(){return br(this)},tn.get=function Bf(m){return m=fe(m),this.isValid()?this[m+"s"]():NaN},tn.milliseconds=I_,tn.seconds=P_,tn.minutes=O_,tn.hours=Vf,tn.days=Ea,tn.weeks=function R_(){return Q(this.days()/7)},tn.months=A_,tn.years=F_,tn.humanize=function tr(m){if(!this.isValid())return this.localeData().invalidDate();var P=this.localeData(),j=function dn(m,P,j){var $=br(m).abs(),ne=ws($.as("s")),Le=ws($.as("m")),je=ws($.as("h")),At=ws($.as("d")),Ut=ws($.as("M")),ki=ws($.as("y")),Br=ne<=Yo.ss&&["s",ne]||ne0,Br[4]=j,Ve.apply(null,Br)}(this,!m,P);return m&&(j=P.pastFuture(+this,j)),P.postformat(j)},tn.toISOString=Hr,tn.toString=Hr,tn.toJSON=Hr,tn.locale=iu,tn.localeData=h_,tn.toIsoString=J("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Hr),tn.lang=u_,it("X",0,0,"unix"),it("x",0,0,"valueOf"),gt("x",_a),gt("X",/[+-]?\d+(\.\d{1,3})?/),Tn("X",function(m,P,j){j._d=new Date(1e3*parseFloat(m,10))}),Tn("x",function(m,P,j){j._d=new Date(ee(m))}),v.version="2.22.2",function u(m){O=m}(zt),v.fn=Je,v.min=function uo(){return Xn("isBefore",[].slice.call(arguments,0))},v.max=function Bs(){return Xn("isAfter",[].slice.call(arguments,0))},v.now=function(){return Date.now?Date.now():+new Date},v.utc=L,v.unix=function M_(m){return zt(1e3*m)},v.months=function Af(m,P){return Of(m,P,"months")},v.isDate=x,v.locale=ka,v.invalid=re,v.duration=br,v.isMoment=q,v.weekdays=function au(m,P,j){return Ic(m,P,j,"weekdays")},v.parseZone=function w_(){return zt.apply(null,arguments).parseZone()},v.localeData=_s,v.isDuration=js,v.monthsShort=function C_(m,P){return Of(m,P,"monthsShort")},v.weekdaysMin=function Ro(m,P,j){return Ic(m,P,j,"weekdaysMin")},v.defineLocale=vc,v.updateLocale=function Jg(m,P){if(null!=P){var j,$,ne=Xd;null!=($=ml(m))&&(ne=$._config),(j=new st(P=tt(ne,P))).parentLocale=hi[m],hi[m]=j,ka(m)}else null!=hi[m]&&(null!=hi[m].parentLocale?hi[m]=hi[m].parentLocale:null!=hi[m]&&delete hi[m]);return hi[m]},v.locales=function co(){return at(hi)},v.weekdaysShort=function x_(m,P,j){return Ic(m,P,j,"weekdaysShort")},v.normalizeUnits=fe,v.relativeTimeRounding=function Pe(m){return void 0===m?ws:"function"==typeof m&&(ws=m,!0)},v.relativeTimeThreshold=function Oe(m,P){return void 0!==Yo[m]&&(void 0===P?Yo[m]:(Yo[m]=P,"s"===m&&(Yo.ss=P-1),!0))},v.calendarFormat=function fo(m,P){var j=m.diff(P,"days",!0);return j<-6?"sameElse":j<-1?"lastWeek":j<0?"lastDay":j<1?"sameDay":j<2?"nextDay":j<7?"nextWeek":"sameElse"},v.prototype=Je,v.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:"YYYY-[W]WW",MONTH:"YYYY-MM"},v}()},6700:(de,ge,N)=>{var O={"./af":7088,"./af.js":7088,"./ar":7038,"./ar-dz":2502,"./ar-dz.js":2502,"./ar-kw":128,"./ar-kw.js":128,"./ar-ly":4519,"./ar-ly.js":4519,"./ar-ma":5443,"./ar-ma.js":5443,"./ar-sa":7642,"./ar-sa.js":7642,"./ar-tn":8592,"./ar-tn.js":8592,"./ar.js":7038,"./az":1213,"./az.js":1213,"./be":9191,"./be.js":9191,"./bg":322,"./bg.js":322,"./bm":8042,"./bm.js":8042,"./bn":9620,"./bn.js":9620,"./bo":9645,"./bo.js":9645,"./br":5020,"./br.js":5020,"./bs":4792,"./bs.js":4792,"./ca":7980,"./ca.js":7980,"./cs":7322,"./cs.js":7322,"./cv":365,"./cv.js":365,"./cy":2092,"./cy.js":2092,"./da":7387,"./da.js":7387,"./de":4307,"./de-at":9459,"./de-at.js":9459,"./de-ch":3694,"./de-ch.js":3694,"./de.js":4307,"./dv":9659,"./dv.js":9659,"./el":3460,"./el.js":3460,"./en-au":4369,"./en-au.js":4369,"./en-ca":530,"./en-ca.js":530,"./en-gb":9998,"./en-gb.js":9998,"./en-ie":3391,"./en-ie.js":3391,"./en-il":5414,"./en-il.js":5414,"./en-nz":1248,"./en-nz.js":1248,"./eo":4530,"./eo.js":4530,"./es":6866,"./es-do":8944,"./es-do.js":8944,"./es-us":3609,"./es-us.js":3609,"./es.js":6866,"./et":6725,"./et.js":6725,"./eu":7931,"./eu.js":7931,"./fa":6417,"./fa.js":6417,"./fi":944,"./fi.js":944,"./fo":5867,"./fo.js":5867,"./fr":1636,"./fr-ca":6848,"./fr-ca.js":6848,"./fr-ch":7773,"./fr-ch.js":7773,"./fr.js":1636,"./fy":4940,"./fy.js":4940,"./gd":6924,"./gd.js":6924,"./gl":6398,"./gl.js":6398,"./gom-latn":2545,"./gom-latn.js":2545,"./gu":2641,"./gu.js":2641,"./he":7536,"./he.js":7536,"./hi":6335,"./hi.js":6335,"./hr":7458,"./hr.js":7458,"./hu":6540,"./hu.js":6540,"./hy-am":5283,"./hy-am.js":5283,"./id":8780,"./id.js":8780,"./is":4205,"./is.js":4205,"./it":4211,"./it.js":4211,"./ja":1003,"./ja.js":1003,"./jv":420,"./jv.js":420,"./ka":851,"./ka.js":851,"./kk":6074,"./kk.js":6074,"./km":3343,"./km.js":3343,"./kn":4799,"./kn.js":4799,"./ko":3549,"./ko.js":3549,"./ky":3125,"./ky.js":3125,"./lb":9586,"./lb.js":9586,"./lo":2349,"./lo.js":2349,"./lt":2400,"./lt.js":2400,"./lv":9991,"./lv.js":9991,"./me":8477,"./me.js":8477,"./mi":5118,"./mi.js":5118,"./mk":5943,"./mk.js":5943,"./ml":3849,"./ml.js":3849,"./mn":1977,"./mn.js":1977,"./mr":6184,"./mr.js":6184,"./ms":485,"./ms-my":4524,"./ms-my.js":4524,"./ms.js":485,"./mt":6681,"./mt.js":6681,"./my":2024,"./my.js":2024,"./nb":2688,"./nb.js":2688,"./ne":8914,"./ne.js":8914,"./nl":1758,"./nl-be":2272,"./nl-be.js":2272,"./nl.js":1758,"./nn":1510,"./nn.js":1510,"./pa-in":7944,"./pa-in.js":7944,"./pl":1605,"./pl.js":1605,"./pt":4225,"./pt-br":3840,"./pt-br.js":3840,"./pt.js":4225,"./ro":5128,"./ro.js":5128,"./ru":5127,"./ru.js":5127,"./sd":2525,"./sd.js":2525,"./se":9893,"./se.js":9893,"./si":3123,"./si.js":3123,"./sk":9635,"./sk.js":9635,"./sl":8106,"./sl.js":8106,"./sq":8799,"./sq.js":8799,"./sr":7949,"./sr-cyrl":2872,"./sr-cyrl.js":2872,"./sr.js":7949,"./ss":6167,"./ss.js":6167,"./sv":9713,"./sv.js":9713,"./sw":1982,"./sw.js":1982,"./ta":2732,"./ta.js":2732,"./te":3636,"./te.js":3636,"./tet":2115,"./tet.js":2115,"./tg":9801,"./tg.js":9801,"./th":2868,"./th.js":2868,"./tl-ph":2360,"./tl-ph.js":2360,"./tlh":6645,"./tlh.js":6645,"./tr":8374,"./tr.js":8374,"./tzl":256,"./tzl.js":256,"./tzm":1595,"./tzm-latn":1631,"./tzm-latn.js":1631,"./tzm.js":1595,"./ug-cn":6050,"./ug-cn.js":6050,"./uk":5610,"./uk.js":5610,"./ur":6077,"./ur.js":6077,"./uz":2862,"./uz-latn":2207,"./uz-latn.js":2207,"./uz.js":2862,"./vi":8093,"./vi.js":8093,"./x-pseudo":5590,"./x-pseudo.js":5590,"./yo":9058,"./yo.js":9058,"./zh-cn":7908,"./zh-cn.js":7908,"./zh-hk":8867,"./zh-hk.js":8867,"./zh-tw":3291,"./zh-tw.js":3291};function v(f){var h=u(f);return N(h)}function u(f){if(!N.o(O,f)){var h=new Error("Cannot find module '"+f+"'");throw h.code="MODULE_NOT_FOUND",h}return O[f]}v.keys=function(){return Object.keys(O)},v.resolve=u,de.exports=v,v.id=6700},6297:(de,ge,N)=>{var O={"./de.json":[3634,634],"./de_base.json":[3431,431],"./en.json":[502,502],"./es.json":[4268,268],"./es_base.json":[3974,974],"./pt.json":[5733,733],"./pt_base.json":[7048,48]};function v(u){if(!N.o(O,u))return Promise.resolve().then(()=>{var M=new Error("Cannot find module '"+u+"'");throw M.code="MODULE_NOT_FOUND",M});var f=O[u],h=f[0];return N.e(f[1]).then(()=>N.t(h,19))}v.keys=()=>Object.keys(O),v.id=6297,de.exports=v}},de=>{de(de.s=4752)}]); \ No newline at end of file diff --git a/pkg/visor/static/polyfills.30bbe27e0ff95dbc.js b/pkg/visor/static/polyfills.30bbe27e0ff95dbc.js deleted file mode 100644 index 22c0e3e7a0..0000000000 --- a/pkg/visor/static/polyfills.30bbe27e0ff95dbc.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunkskywire_manager=self.webpackChunkskywire_manager||[]).push([[429],{7435:(a,g,e)=>{"use strict";e(7795),e(8583)},8583:()=>{"use strict";!function(t){const i=t.performance;function v(se){i&&i.mark&&i.mark(se)}function c(se,H){i&&i.measure&&i.measure(se,H)}v("Zone");const E=t.__Zone_symbol_prefix||"__zone_symbol__";function P(se){return E+se}const I=!0===t[P("forceDuplicateZoneCheck")];if(t.Zone){if(I||"function"!=typeof t.Zone.__symbol__)throw new Error("Zone already loaded.");return t.Zone}let A=(()=>{class se{constructor(n,f){this._parent=n,this._name=f?f.name||"unnamed":"",this._properties=f&&f.properties||{},this._zoneDelegate=new z(this,this._parent&&this._parent._zoneDelegate,f)}static assertZonePatched(){if(t.Promise!==Ie.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let n=se.current;for(;n.parent;)n=n.parent;return n}static get current(){return he.zone}static get currentTask(){return je}static __load_patch(n,f,V=!1){if(Ie.hasOwnProperty(n)){if(!V&&I)throw Error("Already loaded patch: "+n)}else if(!t["__Zone_disable_"+n]){const J="Zone:"+n;v(J),Ie[n]=f(t,se,He),c(J,J)}}get parent(){return this._parent}get name(){return this._name}get(n){const f=this.getZoneWith(n);if(f)return f._properties[n]}getZoneWith(n){let f=this;for(;f;){if(f._properties.hasOwnProperty(n))return f;f=f._parent}return null}fork(n){if(!n)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,n)}wrap(n,f){if("function"!=typeof n)throw new Error("Expecting function got: "+n);const V=this._zoneDelegate.intercept(this,n,f),J=this;return function(){return J.runGuarded(V,this,arguments,f)}}run(n,f,V,J){he={parent:he,zone:this};try{return this._zoneDelegate.invoke(this,n,f,V,J)}finally{he=he.parent}}runGuarded(n,f=null,V,J){he={parent:he,zone:this};try{try{return this._zoneDelegate.invoke(this,n,f,V,J)}catch(we){if(this._zoneDelegate.handleError(this,we))throw we}}finally{he=he.parent}}runTask(n,f,V){if(n.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(n.zone||ve).name+"; Execution: "+this.name+")");if(n.state===ue&&(n.type===Q||n.type===ie))return;const J=n.state!=Pe;J&&n._transitionTo(Pe,re),n.runCount++;const we=je;je=n,he={parent:he,zone:this};try{n.type==ie&&n.data&&!n.data.isPeriodic&&(n.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,n,f,V)}catch(b){if(this._zoneDelegate.handleError(this,b))throw b}}finally{n.state!==ue&&n.state!==Re&&(n.type==Q||n.data&&n.data.isPeriodic?J&&n._transitionTo(re,Pe):(n.runCount=0,this._updateTaskCount(n,-1),J&&n._transitionTo(ue,Pe,ue))),he=he.parent,je=we}}scheduleTask(n){if(n.zone&&n.zone!==this){let V=this;for(;V;){if(V===n.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${n.zone.name}`);V=V.parent}}n._transitionTo(ke,ue);const f=[];n._zoneDelegates=f,n._zone=this;try{n=this._zoneDelegate.scheduleTask(this,n)}catch(V){throw n._transitionTo(Re,ke,ue),this._zoneDelegate.handleError(this,V),V}return n._zoneDelegates===f&&this._updateTaskCount(n,1),n.state==ke&&n._transitionTo(re,ke),n}scheduleMicroTask(n,f,V,J){return this.scheduleTask(new F(K,n,f,V,J,void 0))}scheduleMacroTask(n,f,V,J,we){return this.scheduleTask(new F(ie,n,f,V,J,we))}scheduleEventTask(n,f,V,J,we){return this.scheduleTask(new F(Q,n,f,V,J,we))}cancelTask(n){if(n.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(n.zone||ve).name+"; Execution: "+this.name+")");n._transitionTo(ce,re,Pe);try{this._zoneDelegate.cancelTask(this,n)}catch(f){throw n._transitionTo(Re,ce),this._zoneDelegate.handleError(this,f),f}return this._updateTaskCount(n,-1),n._transitionTo(ue,ce),n.runCount=0,n}_updateTaskCount(n,f){const V=n._zoneDelegates;-1==f&&(n._zoneDelegates=null);for(let J=0;Jse.hasTask(n,f),onScheduleTask:(se,H,n,f)=>se.scheduleTask(n,f),onInvokeTask:(se,H,n,f,V,J)=>se.invokeTask(n,f,V,J),onCancelTask:(se,H,n,f)=>se.cancelTask(n,f)};class z{constructor(H,n,f){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=H,this._parentDelegate=n,this._forkZS=f&&(f&&f.onFork?f:n._forkZS),this._forkDlgt=f&&(f.onFork?n:n._forkDlgt),this._forkCurrZone=f&&(f.onFork?this.zone:n._forkCurrZone),this._interceptZS=f&&(f.onIntercept?f:n._interceptZS),this._interceptDlgt=f&&(f.onIntercept?n:n._interceptDlgt),this._interceptCurrZone=f&&(f.onIntercept?this.zone:n._interceptCurrZone),this._invokeZS=f&&(f.onInvoke?f:n._invokeZS),this._invokeDlgt=f&&(f.onInvoke?n:n._invokeDlgt),this._invokeCurrZone=f&&(f.onInvoke?this.zone:n._invokeCurrZone),this._handleErrorZS=f&&(f.onHandleError?f:n._handleErrorZS),this._handleErrorDlgt=f&&(f.onHandleError?n:n._handleErrorDlgt),this._handleErrorCurrZone=f&&(f.onHandleError?this.zone:n._handleErrorCurrZone),this._scheduleTaskZS=f&&(f.onScheduleTask?f:n._scheduleTaskZS),this._scheduleTaskDlgt=f&&(f.onScheduleTask?n:n._scheduleTaskDlgt),this._scheduleTaskCurrZone=f&&(f.onScheduleTask?this.zone:n._scheduleTaskCurrZone),this._invokeTaskZS=f&&(f.onInvokeTask?f:n._invokeTaskZS),this._invokeTaskDlgt=f&&(f.onInvokeTask?n:n._invokeTaskDlgt),this._invokeTaskCurrZone=f&&(f.onInvokeTask?this.zone:n._invokeTaskCurrZone),this._cancelTaskZS=f&&(f.onCancelTask?f:n._cancelTaskZS),this._cancelTaskDlgt=f&&(f.onCancelTask?n:n._cancelTaskDlgt),this._cancelTaskCurrZone=f&&(f.onCancelTask?this.zone:n._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const V=f&&f.onHasTask;(V||n&&n._hasTaskZS)&&(this._hasTaskZS=V?f:W,this._hasTaskDlgt=n,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=H,f.onScheduleTask||(this._scheduleTaskZS=W,this._scheduleTaskDlgt=n,this._scheduleTaskCurrZone=this.zone),f.onInvokeTask||(this._invokeTaskZS=W,this._invokeTaskDlgt=n,this._invokeTaskCurrZone=this.zone),f.onCancelTask||(this._cancelTaskZS=W,this._cancelTaskDlgt=n,this._cancelTaskCurrZone=this.zone))}fork(H,n){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,H,n):new A(H,n)}intercept(H,n,f){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,H,n,f):n}invoke(H,n,f,V,J){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,H,n,f,V,J):n.apply(f,V)}handleError(H,n){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,H,n)}scheduleTask(H,n){let f=n;if(this._scheduleTaskZS)this._hasTaskZS&&f._zoneDelegates.push(this._hasTaskDlgtOwner),f=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,H,n),f||(f=n);else if(n.scheduleFn)n.scheduleFn(n);else{if(n.type!=K)throw new Error("Task is missing scheduleFn.");Z(n)}return f}invokeTask(H,n,f,V){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,H,n,f,V):n.callback.apply(f,V)}cancelTask(H,n){let f;if(this._cancelTaskZS)f=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,H,n);else{if(!n.cancelFn)throw Error("Task is not cancelable");f=n.cancelFn(n)}return f}hasTask(H,n){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,H,n)}catch(f){this.handleError(H,f)}}_updateTaskCount(H,n){const f=this._taskCounts,V=f[H],J=f[H]=V+n;if(J<0)throw new Error("More tasks executed then were scheduled.");0!=V&&0!=J||this.hasTask(this.zone,{microTask:f.microTask>0,macroTask:f.macroTask>0,eventTask:f.eventTask>0,change:H})}}class F{constructor(H,n,f,V,J,we){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=H,this.source=n,this.data=V,this.scheduleFn=J,this.cancelFn=we,!f)throw new Error("callback is not defined");this.callback=f;const b=this;this.invoke=H===Q&&V&&V.useG?F.invokeTask:function(){return F.invokeTask.call(t,b,this,arguments)}}static invokeTask(H,n,f){H||(H=this),Le++;try{return H.runCount++,H.zone.runTask(H,n,f)}finally{1==Le&&ae(),Le--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(ue,ke)}_transitionTo(H,n,f){if(this._state!==n&&this._state!==f)throw new Error(`${this.type} '${this.source}': can not transition to '${H}', expecting state '${n}'${f?" or '"+f+"'":""}, was '${this._state}'.`);this._state=H,H==ue&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const ne=P("setTimeout"),te=P("Promise"),oe=P("then");let G,me=[],de=!1;function Z(se){if(0===Le&&0===me.length)if(G||t[te]&&(G=t[te].resolve(0)),G){let H=G[oe];H||(H=G.then),H.call(G,ae)}else t[ne](ae,0);se&&me.push(se)}function ae(){if(!de){for(de=!0;me.length;){const se=me;me=[];for(let H=0;Hhe,onUnhandledError:ye,microtaskDrainDone:ye,scheduleMicroTask:Z,showUncaughtError:()=>!A[P("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:ye,patchMethod:()=>ye,bindArguments:()=>[],patchThen:()=>ye,patchMacroTask:()=>ye,patchEventPrototype:()=>ye,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>ye,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>ye,wrapWithCurrentZone:()=>ye,filterProperties:()=>[],attachOriginToPatched:()=>ye,_redefineProperty:()=>ye,patchCallbacks:()=>ye};let he={parent:null,zone:new A(null,null)},je=null,Le=0;function ye(){}c("Zone","Zone"),t.Zone=A}(typeof window<"u"&&window||typeof self<"u"&&self||global);const g=Object.getOwnPropertyDescriptor,e=Object.defineProperty,r=Object.getPrototypeOf,o=Object.create,l=Array.prototype.slice,u="addEventListener",s="removeEventListener",d=Zone.__symbol__(u),y=Zone.__symbol__(s),p="true",m="false",T=Zone.__symbol__("");function C(t,i){return Zone.current.wrap(t,i)}function M(t,i,v,c,E){return Zone.current.scheduleMacroTask(t,i,v,c,E)}const O=Zone.__symbol__,U=typeof window<"u",D=U?window:void 0,k=U&&D||"object"==typeof self&&self||global,w=[null];function j(t,i){for(let v=t.length-1;v>=0;v--)"function"==typeof t[v]&&(t[v]=C(t[v],i+"_"+v));return t}function S(t){return!t||!1!==t.writable&&!("function"==typeof t.get&&typeof t.set>"u")}const B=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,_=!("nw"in k)&&typeof k.process<"u"&&"[object process]"==={}.toString.call(k.process),Te=!_&&!B&&!(!U||!D.HTMLElement),De=typeof k.process<"u"&&"[object process]"==={}.toString.call(k.process)&&!B&&!(!U||!D.HTMLElement),Se={},Ne=function(t){if(!(t=t||k.event))return;let i=Se[t.type];i||(i=Se[t.type]=O("ON_PROPERTY"+t.type));const v=this||t.target||k,c=v[i];let E;if(Te&&v===D&&"error"===t.type){const P=t;E=c&&c.call(this,P.message,P.filename,P.lineno,P.colno,P.error),!0===E&&t.preventDefault()}else E=c&&c.apply(this,arguments),null!=E&&!E&&t.preventDefault();return E};function Ze(t,i,v){let c=g(t,i);if(!c&&v&&g(v,i)&&(c={enumerable:!0,configurable:!0}),!c||!c.configurable)return;const E=O("on"+i+"patched");if(t.hasOwnProperty(E)&&t[E])return;delete c.writable,delete c.value;const P=c.get,I=c.set,A=i.substr(2);let W=Se[A];W||(W=Se[A]=O("ON_PROPERTY"+A)),c.set=function(z){let F=this;!F&&t===k&&(F=k),F&&(F[W]&&F.removeEventListener(A,Ne),I&&I.apply(F,w),"function"==typeof z?(F[W]=z,F.addEventListener(A,Ne,!1)):F[W]=null)},c.get=function(){let z=this;if(!z&&t===k&&(z=k),!z)return null;const F=z[W];if(F)return F;if(P){let ne=P&&P.call(this);if(ne)return c.set.call(this,ne),"function"==typeof z.removeAttribute&&z.removeAttribute(i),ne}return null},e(t,i,c),t[E]=!0}function Ge(t,i,v){if(i)for(let c=0;cfunction(I,A){const W=v(I,A);return W.cbIdx>=0&&"function"==typeof A[W.cbIdx]?M(W.name,A[W.cbIdx],W,E):P.apply(I,A)})}function be(t,i){t[O("OriginalDelegate")]=i}let Ke=!1,Je=!1;function gt(){if(Ke)return Je;Ke=!0;try{const t=D.navigator.userAgent;(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/")||-1!==t.indexOf("Edge/"))&&(Je=!0)}catch{}return Je}Zone.__load_patch("ZoneAwarePromise",(t,i,v)=>{const c=Object.getOwnPropertyDescriptor,E=Object.defineProperty,I=v.symbol,A=[],W=!0===t[I("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],z=I("Promise"),F=I("then");v.onUnhandledError=b=>{if(v.showUncaughtError()){const h=b&&b.rejection;h?console.error("Unhandled Promise rejection:",h instanceof Error?h.message:h,"; Zone:",b.zone.name,"; Task:",b.task&&b.task.source,"; Value:",h,h instanceof Error?h.stack:void 0):console.error(b)}},v.microtaskDrainDone=()=>{for(;A.length;){const b=A.shift();try{b.zone.runGuarded(()=>{throw b.throwOriginal?b.rejection:b})}catch(h){oe(h)}}};const te=I("unhandledPromiseRejectionHandler");function oe(b){v.onUnhandledError(b);try{const h=i[te];"function"==typeof h&&h.call(this,b)}catch{}}function me(b){return b&&b.then}function de(b){return b}function G(b){return n.reject(b)}const Z=I("state"),ae=I("value"),ve=I("finally"),ue=I("parentPromiseValue"),ke=I("parentPromiseState"),Pe=null,Re=!1;function ie(b,h){return x=>{try{he(b,h,x)}catch(N){he(b,!1,N)}}}const He=I("currentTaskTrace");function he(b,h,x){const N=function(){let b=!1;return function(x){return function(){b||(b=!0,x.apply(null,arguments))}}}();if(b===x)throw new TypeError("Promise resolved with itself");if(b[Z]===Pe){let Y=null;try{("object"==typeof x||"function"==typeof x)&&(Y=x&&x.then)}catch(q){return N(()=>{he(b,!1,q)})(),b}if(h!==Re&&x instanceof n&&x.hasOwnProperty(Z)&&x.hasOwnProperty(ae)&&x[Z]!==Pe)Le(x),he(b,x[Z],x[ae]);else if(h!==Re&&"function"==typeof Y)try{Y.call(x,N(ie(b,h)),N(ie(b,!1)))}catch(q){N(()=>{he(b,!1,q)})()}else{b[Z]=h;const q=b[ae];if(b[ae]=x,b[ve]===ve&&!0===h&&(b[Z]=b[ke],b[ae]=b[ue]),h===Re&&x instanceof Error){const $=i.currentTask&&i.currentTask.data&&i.currentTask.data.__creationTrace__;$&&E(x,He,{configurable:!0,enumerable:!1,writable:!0,value:$})}for(let $=0;${try{const X=b[ae],ee=!!x&&ve===x[ve];ee&&(x[ue]=X,x[ke]=q);const le=h.run($,void 0,ee&&$!==G&&$!==de?[]:[X]);he(x,!0,le)}catch(X){he(x,!1,X)}},x)}const H=function(){};class n{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(h){return he(new this(null),!0,h)}static reject(h){return he(new this(null),Re,h)}static race(h){let x,N,Y=new this((X,ee)=>{x=X,N=ee});function q(X){x(X)}function $(X){N(X)}for(let X of h)me(X)||(X=this.resolve(X)),X.then(q,$);return Y}static all(h){return n.allWithCallback(h)}static allSettled(h){return(this&&this.prototype instanceof n?this:n).allWithCallback(h,{thenCallback:N=>({status:"fulfilled",value:N}),errorCallback:N=>({status:"rejected",reason:N})})}static allWithCallback(h,x){let N,Y,q=new this((le,Ee)=>{N=le,Y=Ee}),$=2,X=0;const ee=[];for(let le of h){me(le)||(le=this.resolve(le));const Ee=X;try{le.then(Me=>{ee[Ee]=x?x.thenCallback(Me):Me,$--,0===$&&N(ee)},Me=>{x?(ee[Ee]=x.errorCallback(Me),$--,0===$&&N(ee)):Y(Me)})}catch(Me){Y(Me)}$++,X++}return $-=2,0===$&&N(ee),q}constructor(h){const x=this;if(!(x instanceof n))throw new Error("Must be an instanceof Promise.");x[Z]=Pe,x[ae]=[];try{h&&h(ie(x,!0),ie(x,Re))}catch(N){he(x,!1,N)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return n}then(h,x){let N=this.constructor[Symbol.species];(!N||"function"!=typeof N)&&(N=this.constructor||n);const Y=new N(H),q=i.current;return this[Z]==Pe?this[ae].push(q,Y,h,x):ye(this,q,Y,h,x),Y}catch(h){return this.then(null,h)}finally(h){let x=this.constructor[Symbol.species];(!x||"function"!=typeof x)&&(x=n);const N=new x(H);N[ve]=ve;const Y=i.current;return this[Z]==Pe?this[ae].push(Y,N,h,h):ye(this,Y,N,h,h),N}}n.resolve=n.resolve,n.reject=n.reject,n.race=n.race,n.all=n.all;const f=t[z]=t.Promise;t.Promise=n;const V=I("thenPatched");function J(b){const h=b.prototype,x=c(h,"then");if(x&&(!1===x.writable||!x.configurable))return;const N=h.then;h[F]=N,b.prototype.then=function(Y,q){return new n((X,ee)=>{N.call(this,X,ee)}).then(Y,q)},b[V]=!0}return v.patchThen=J,f&&(J(f),pe(t,"fetch",b=>function we(b){return function(h,x){let N=b.apply(h,x);if(N instanceof n)return N;let Y=N.constructor;return Y[V]||J(Y),N}}(b))),Promise[i.__symbol__("uncaughtPromiseErrors")]=A,n}),Zone.__load_patch("toString",t=>{const i=Function.prototype.toString,v=O("OriginalDelegate"),c=O("Promise"),E=O("Error"),P=function(){if("function"==typeof this){const z=this[v];if(z)return"function"==typeof z?i.call(z):Object.prototype.toString.call(z);if(this===Promise){const F=t[c];if(F)return i.call(F)}if(this===Error){const F=t[E];if(F)return i.call(F)}}return i.call(this)};P[v]=i,Function.prototype.toString=P;const I=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":I.call(this)}});let ze=!1;if(typeof window<"u")try{const t=Object.defineProperty({},"passive",{get:function(){ze=!0}});window.addEventListener("test",t,t),window.removeEventListener("test",t,t)}catch{ze=!1}const mt={useG:!0},Ce={},nt={},rt=new RegExp("^"+T+"(\\w+)(true|false)$"),Qe=O("propagationStopped");function ot(t,i){const v=(i?i(t):t)+m,c=(i?i(t):t)+p,E=T+v,P=T+c;Ce[t]={},Ce[t][m]=E,Ce[t][p]=P}function yt(t,i,v){const c=v&&v.add||u,E=v&&v.rm||s,P=v&&v.listeners||"eventListeners",I=v&&v.rmAll||"removeAllListeners",A=O(c),W="."+c+":",ne=function(G,Z,ae){if(G.isRemoved)return;const ve=G.callback;"object"==typeof ve&&ve.handleEvent&&(G.callback=ke=>ve.handleEvent(ke),G.originalDelegate=ve),G.invoke(G,Z,[ae]);const ue=G.options;ue&&"object"==typeof ue&&ue.once&&Z[E].call(Z,ae.type,G.originalDelegate?G.originalDelegate:G.callback,ue)},te=function(G){if(!(G=G||t.event))return;const Z=this||G.target||t,ae=Z[Ce[G.type][m]];if(ae)if(1===ae.length)ne(ae[0],Z,G);else{const ve=ae.slice();for(let ue=0;uefunction(E,P){E[Qe]=!0,c&&c.apply(E,P)})}function Tt(t,i,v,c,E){const P=Zone.__symbol__(c);if(i[P])return;const I=i[P]=i[c];i[c]=function(A,W,z){return W&&W.prototype&&E.forEach(function(F){const ne=`${v}.${c}::`+F,te=W.prototype;if(te.hasOwnProperty(F)){const oe=t.ObjectGetOwnPropertyDescriptor(te,F);oe&&oe.value?(oe.value=t.wrapWithCurrentZone(oe.value,ne),t._redefineProperty(W.prototype,F,oe)):te[F]&&(te[F]=t.wrapWithCurrentZone(te[F],ne))}else te[F]&&(te[F]=t.wrapWithCurrentZone(te[F],ne))}),I.call(i,A,W,z)},t.attachOriginToPatched(i[c],I)}const qe=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],bt=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],at=["load"],it=["blur","error","focus","load","resize","scroll","messageerror"],It=["bounce","finish","start"],ct=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],Ve=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],Mt=["close","error","open","message"],Dt=["error","message"],Ue=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],qe,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ut(t,i,v){if(!v||0===v.length)return i;const c=v.filter(P=>P.target===t);if(!c||0===c.length)return i;const E=c[0].ignoreProperties;return i.filter(P=>-1===E.indexOf(P))}function xe(t,i,v,c){t&&Ge(t,ut(t,i,v),c)}Zone.__load_patch("util",(t,i,v)=>{v.patchOnProperties=Ge,v.patchMethod=pe,v.bindArguments=j,v.patchMacroTask=Oe;const c=i.__symbol__("BLACK_LISTED_EVENTS"),E=i.__symbol__("UNPATCHED_EVENTS");t[E]&&(t[c]=t[E]),t[c]&&(i[c]=i[E]=t[c]),v.patchEventPrototype=Et,v.patchEventTarget=yt,v.isIEOrEdge=gt,v.ObjectDefineProperty=e,v.ObjectGetOwnPropertyDescriptor=g,v.ObjectCreate=o,v.ArraySlice=l,v.patchClass=ge,v.wrapWithCurrentZone=C,v.filterProperties=ut,v.attachOriginToPatched=be,v._redefineProperty=Object.defineProperty,v.patchCallbacks=Tt,v.getGlobalObjects=()=>({globalSources:nt,zoneSymbolEventNames:Ce,eventNames:Ue,isBrowser:Te,isMix:De,isNode:_,TRUE_STR:p,FALSE_STR:m,ZONE_SYMBOL_PREFIX:T,ADD_EVENT_LISTENER_STR:u,REMOVE_EVENT_LISTENER_STR:s})});const _e=O("zoneTask");function We(t,i,v,c){let E=null,P=null;v+=c;const I={};function A(z){const F=z.data;return F.args[0]=function(){return z.invoke.apply(this,arguments)},F.handleId=E.apply(t,F.args),z}function W(z){return P.call(t,z.data.handleId)}E=pe(t,i+=c,z=>function(F,ne){if("function"==typeof ne[0]){const te={isPeriodic:"Interval"===c,delay:"Timeout"===c||"Interval"===c?ne[1]||0:void 0,args:ne},oe=ne[0];ne[0]=function(){try{return oe.apply(this,arguments)}finally{te.isPeriodic||("number"==typeof te.handleId?delete I[te.handleId]:te.handleId&&(te.handleId[_e]=null))}};const me=M(i,ne[0],te,A,W);if(!me)return me;const de=me.data.handleId;return"number"==typeof de?I[de]=me:de&&(de[_e]=me),de&&de.ref&&de.unref&&"function"==typeof de.ref&&"function"==typeof de.unref&&(me.ref=de.ref.bind(de),me.unref=de.unref.bind(de)),"number"==typeof de||de?de:me}return z.apply(t,ne)}),P=pe(t,v,z=>function(F,ne){const te=ne[0];let oe;"number"==typeof te?oe=I[te]:(oe=te&&te[_e],oe||(oe=te)),oe&&"string"==typeof oe.type?"notScheduled"!==oe.state&&(oe.cancelFn&&oe.data.isPeriodic||0===oe.runCount)&&("number"==typeof te?delete I[te]:te&&(te[_e]=null),oe.zone.cancelTask(oe)):z.apply(t,ne)})}Zone.__load_patch("legacy",t=>{const i=t[Zone.__symbol__("legacyPatch")];i&&i()}),Zone.__load_patch("queueMicrotask",(t,i,v)=>{v.patchMethod(t,"queueMicrotask",c=>function(E,P){i.current.scheduleMicroTask("queueMicrotask",P[0])})}),Zone.__load_patch("timers",t=>{const i="set",v="clear";We(t,i,v,"Timeout"),We(t,i,v,"Interval"),We(t,i,v,"Immediate")}),Zone.__load_patch("requestAnimationFrame",t=>{We(t,"request","cancel","AnimationFrame"),We(t,"mozRequest","mozCancel","AnimationFrame"),We(t,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(t,i)=>{const v=["alert","prompt","confirm"];for(let c=0;cfunction(W,z){return i.current.run(P,t,z,A)})}),Zone.__load_patch("EventTarget",(t,i,v)=>{(function Zt(t,i){i.patchEventPrototype(t,i)})(t,v),function Nt(t,i){if(Zone[i.symbol("patchEventTarget")])return;const{eventNames:v,zoneSymbolEventNames:c,TRUE_STR:E,FALSE_STR:P,ZONE_SYMBOL_PREFIX:I}=i.getGlobalObjects();for(let W=0;W{ge("MutationObserver"),ge("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(t,i,v)=>{ge("IntersectionObserver")}),Zone.__load_patch("FileReader",(t,i,v)=>{ge("FileReader")}),Zone.__load_patch("on_property",(t,i,v)=>{!function Ct(t,i){if(_&&!De||Zone[t.symbol("patchEvents")])return;const v=typeof WebSocket<"u",c=i.__Zone_ignore_on_properties;if(Te){const I=window,A=function pt(){try{const t=D.navigator.userAgent;if(-1!==t.indexOf("MSIE ")||-1!==t.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:I,ignoreProperties:["error"]}]:[];xe(I,Ue.concat(["messageerror"]),c&&c.concat(A),r(I)),xe(Document.prototype,Ue,c),typeof I.SVGElement<"u"&&xe(I.SVGElement.prototype,Ue,c),xe(Element.prototype,Ue,c),xe(HTMLElement.prototype,Ue,c),xe(HTMLMediaElement.prototype,bt,c),xe(HTMLFrameSetElement.prototype,qe.concat(it),c),xe(HTMLBodyElement.prototype,qe.concat(it),c),xe(HTMLFrameElement.prototype,at,c),xe(HTMLIFrameElement.prototype,at,c);const W=I.HTMLMarqueeElement;W&&xe(W.prototype,It,c);const z=I.Worker;z&&xe(z.prototype,Dt,c)}const E=i.XMLHttpRequest;E&&xe(E.prototype,ct,c);const P=i.XMLHttpRequestEventTarget;P&&xe(P&&P.prototype,ct,c),typeof IDBIndex<"u"&&(xe(IDBIndex.prototype,Ve,c),xe(IDBRequest.prototype,Ve,c),xe(IDBOpenDBRequest.prototype,Ve,c),xe(IDBDatabase.prototype,Ve,c),xe(IDBTransaction.prototype,Ve,c),xe(IDBCursor.prototype,Ve,c)),v&&xe(WebSocket.prototype,Mt,c)}(v,t)}),Zone.__load_patch("customElements",(t,i,v)=>{!function jt(t,i){const{isBrowser:v,isMix:c}=i.getGlobalObjects();(v||c)&&t.customElements&&"customElements"in t&&i.patchCallbacks(i,t.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(t,v)}),Zone.__load_patch("XHR",(t,i)=>{!function W(z){const F=z.XMLHttpRequest;if(!F)return;const ne=F.prototype;let oe=ne[d],me=ne[y];if(!oe){const K=z.XMLHttpRequestEventTarget;if(K){const ie=K.prototype;oe=ie[d],me=ie[y]}}const de="readystatechange",G="scheduled";function Z(K){const ie=K.data,Q=ie.target;Q[P]=!1,Q[A]=!1;const Ie=Q[E];oe||(oe=Q[d],me=Q[y]),Ie&&me.call(Q,de,Ie);const He=Q[E]=()=>{if(Q.readyState===Q.DONE)if(!ie.aborted&&Q[P]&&K.state===G){const je=Q[i.__symbol__("loadfalse")];if(0!==Q.status&&je&&je.length>0){const Le=K.invoke;K.invoke=function(){const ye=Q[i.__symbol__("loadfalse")];for(let se=0;sefunction(K,ie){return K[c]=0==ie[2],K[I]=ie[1],ue.apply(K,ie)}),re=O("fetchTaskAborting"),Pe=O("fetchTaskScheduling"),ce=pe(ne,"send",()=>function(K,ie){if(!0===i.current[Pe]||K[c])return ce.apply(K,ie);{const Q={target:K,url:K[I],isPeriodic:!1,args:ie,aborted:!1},Ie=M("XMLHttpRequest.send",ae,Q,Z,ve);K&&!0===K[A]&&!Q.aborted&&Ie.state===G&&Ie.invoke()}}),Re=pe(ne,"abort",()=>function(K,ie){const Q=function te(K){return K[v]}(K);if(Q&&"string"==typeof Q.type){if(null==Q.cancelFn||Q.data&&Q.data.aborted)return;Q.zone.cancelTask(Q)}else if(!0===i.current[re])return Re.apply(K,ie)})}(t);const v=O("xhrTask"),c=O("xhrSync"),E=O("xhrListener"),P=O("xhrScheduled"),I=O("xhrURL"),A=O("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",t=>{t.navigator&&t.navigator.geolocation&&function R(t,i){const v=t.constructor.name;for(let c=0;c{const W=function(){return A.apply(this,j(arguments,v+"."+E))};return be(W,A),W})(P)}}}(t.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(t,i)=>{function v(c){return function(E){st(t,c).forEach(I=>{const A=t.PromiseRejectionEvent;if(A){const W=new A(c,{promise:E.promise,reason:E.rejection});I.invoke(W)}})}}t.PromiseRejectionEvent&&(i[O("unhandledPromiseRejectionHandler")]=v("unhandledrejection"),i[O("rejectionHandledHandler")]=v("rejectionhandled"))})},7795:(a,g,e)=>{e(3364),e(1432),e(6562),e(4416),e(8681),e(2213),e(3471),e(4329),e(5159),e(5645)},4963:a=>{a.exports=function(g){if("function"!=typeof g)throw TypeError(g+" is not a function!");return g}},3328:a=>{a.exports=function(g,e,r,o){if(!(g instanceof e)||void 0!==o&&o in g)throw TypeError(r+": incorrect invocation!");return g}},7007:(a,g,e)=>{var r=e(5286);a.exports=function(o){if(!r(o))throw TypeError(o+" is not an object!");return o}},9490:(a,g,e)=>{var r=e(3531);a.exports=function(o,l){var u=[];return r(o,!1,u.push,u,l),u}},9315:(a,g,e)=>{var r=e(2110),o=e(875),l=e(2337);a.exports=function(u){return function(s,d,y){var C,p=r(s),m=o(p.length),T=l(y,m);if(u&&d!=d){for(;m>T;)if((C=p[T++])!=C)return!0}else for(;m>T;T++)if((u||T in p)&&p[T]===d)return u||T||0;return!u&&-1}}},50:(a,g,e)=>{var r=e(741),o=e(9797),l=e(508),u=e(875),s=e(6886);a.exports=function(d,y){var p=1==d,m=2==d,T=3==d,C=4==d,M=6==d,O=5==d||M,U=y||s;return function(D,k,L){for(var Te,De,w=l(D),j=o(w),R=r(k,L,3),S=u(j.length),B=0,_=p?U(D,S):m?U(D,0):void 0;S>B;B++)if((O||B in j)&&(De=R(Te=j[B],B,w),d))if(p)_[B]=De;else if(De)switch(d){case 3:return!0;case 5:return Te;case 6:return B;case 2:_.push(Te)}else if(C)return!1;return M?-1:T||C?C:_}}},2736:(a,g,e)=>{var r=e(5286),o=e(4302),l=e(6314)("species");a.exports=function(u){var s;return o(u)&&("function"==typeof(s=u.constructor)&&(s===Array||o(s.prototype))&&(s=void 0),r(s)&&null===(s=s[l])&&(s=void 0)),void 0===s?Array:s}},6886:(a,g,e)=>{var r=e(2736);a.exports=function(o,l){return new(r(o))(l)}},1488:(a,g,e)=>{var r=e(2032),o=e(6314)("toStringTag"),l="Arguments"==r(function(){return arguments}());a.exports=function(s){var d,y,p;return void 0===s?"Undefined":null===s?"Null":"string"==typeof(y=function(s,d){try{return s[d]}catch{}}(d=Object(s),o))?y:l?r(d):"Object"==(p=r(d))&&"function"==typeof d.callee?"Arguments":p}},2032:a=>{var g={}.toString;a.exports=function(e){return g.call(e).slice(8,-1)}},9824:(a,g,e)=>{"use strict";var r=e(9275).f,o=e(2503),l=e(4408),u=e(741),s=e(3328),d=e(3531),y=e(2923),p=e(5436),m=e(2974),T=e(7057),C=e(4728).fastKey,M=e(1616),O=T?"_s":"size",U=function(D,k){var w,L=C(k);if("F"!==L)return D._i[L];for(w=D._f;w;w=w.n)if(w.k==k)return w};a.exports={getConstructor:function(D,k,L,w){var j=D(function(R,S){s(R,j,k,"_i"),R._t=k,R._i=o(null),R._f=void 0,R._l=void 0,R[O]=0,null!=S&&d(S,L,R[w],R)});return l(j.prototype,{clear:function(){for(var S=M(this,k),B=S._i,_=S._f;_;_=_.n)_.r=!0,_.p&&(_.p=_.p.n=void 0),delete B[_.i];S._f=S._l=void 0,S[O]=0},delete:function(R){var S=M(this,k),B=U(S,R);if(B){var _=B.n,Te=B.p;delete S._i[B.i],B.r=!0,Te&&(Te.n=_),_&&(_.p=Te),S._f==B&&(S._f=_),S._l==B&&(S._l=Te),S[O]--}return!!B},forEach:function(S){M(this,k);for(var _,B=u(S,arguments.length>1?arguments[1]:void 0,3);_=_?_.n:this._f;)for(B(_.v,_.k,this);_&&_.r;)_=_.p},has:function(S){return!!U(M(this,k),S)}}),T&&r(j.prototype,"size",{get:function(){return M(this,k)[O]}}),j},def:function(D,k,L){var j,R,w=U(D,k);return w?w.v=L:(D._l=w={i:R=C(k,!0),k,v:L,p:j=D._l,n:void 0,r:!1},D._f||(D._f=w),j&&(j.n=w),D[O]++,"F"!==R&&(D._i[R]=w)),D},getEntry:U,setStrong:function(D,k,L){y(D,k,function(w,j){this._t=M(w,k),this._k=j,this._l=void 0},function(){for(var w=this,j=w._k,R=w._l;R&&R.r;)R=R.p;return w._t&&(w._l=R=R?R.n:w._t._f)?p(0,"keys"==j?R.k:"values"==j?R.v:[R.k,R.v]):(w._t=void 0,p(1))},L?"entries":"values",!L,!0),m(k)}}},3657:(a,g,e)=>{"use strict";var r=e(4408),o=e(4728).getWeak,l=e(7007),u=e(5286),s=e(3328),d=e(3531),y=e(50),p=e(9181),m=e(1616),T=y(5),C=y(6),M=0,O=function(k){return k._l||(k._l=new U)},U=function(){this.a=[]},D=function(k,L){return T(k.a,function(w){return w[0]===L})};U.prototype={get:function(k){var L=D(this,k);if(L)return L[1]},has:function(k){return!!D(this,k)},set:function(k,L){var w=D(this,k);w?w[1]=L:this.a.push([k,L])},delete:function(k){var L=C(this.a,function(w){return w[0]===k});return~L&&this.a.splice(L,1),!!~L}},a.exports={getConstructor:function(k,L,w,j){var R=k(function(S,B){s(S,R,L,"_i"),S._t=L,S._i=M++,S._l=void 0,null!=B&&d(B,w,S[j],S)});return r(R.prototype,{delete:function(S){if(!u(S))return!1;var B=o(S);return!0===B?O(m(this,L)).delete(S):B&&p(B,this._i)&&delete B[this._i]},has:function(B){if(!u(B))return!1;var _=o(B);return!0===_?O(m(this,L)).has(B):_&&p(_,this._i)}}),R},def:function(k,L,w){var j=o(l(L),!0);return!0===j?O(k).set(L,w):j[k._i]=w,k},ufstore:O}},5795:(a,g,e)=>{"use strict";var r=e(3816),o=e(2985),l=e(7234),u=e(4408),s=e(4728),d=e(3531),y=e(3328),p=e(5286),m=e(4253),T=e(7462),C=e(2943),M=e(266);a.exports=function(O,U,D,k,L,w){var j=r[O],R=j,S=L?"set":"add",B=R&&R.prototype,_={},Te=function(fe){var ge=B[fe];l(B,fe,"delete"==fe?function(pe){return!(w&&!p(pe))&&ge.call(this,0===pe?0:pe)}:"has"==fe?function(Oe){return!(w&&!p(Oe))&&ge.call(this,0===Oe?0:Oe)}:"get"==fe?function(Oe){return w&&!p(Oe)?void 0:ge.call(this,0===Oe?0:Oe)}:"add"==fe?function(Oe){return ge.call(this,0===Oe?0:Oe),this}:function(Oe,be){return ge.call(this,0===Oe?0:Oe,be),this})};if("function"==typeof R&&(w||B.forEach&&!m(function(){(new R).entries().next()}))){var De=new R,Se=De[S](w?{}:-0,1)!=De,Ne=m(function(){De.has(1)}),Ze=T(function(fe){new R(fe)}),Ge=!w&&m(function(){for(var fe=new R,ge=5;ge--;)fe[S](ge,ge);return!fe.has(-0)});Ze||((R=U(function(fe,ge){y(fe,R,O);var pe=M(new j,fe,R);return null!=ge&&d(ge,L,pe[S],pe),pe})).prototype=B,B.constructor=R),(Ne||Ge)&&(Te("delete"),Te("has"),L&&Te("get")),(Ge||Se)&&Te(S),w&&B.clear&&delete B.clear}else R=k.getConstructor(U,O,L,S),u(R.prototype,D),s.NEED=!0;return C(R,O),_[O]=R,o(o.G+o.W+o.F*(R!=j),_),w||k.setStrong(R,O,L),R}},5645:a=>{var g=a.exports={version:"2.5.7"};"number"==typeof __e&&(__e=g)},741:(a,g,e)=>{var r=e(4963);a.exports=function(o,l,u){if(r(o),void 0===l)return o;switch(u){case 1:return function(s){return o.call(l,s)};case 2:return function(s,d){return o.call(l,s,d)};case 3:return function(s,d,y){return o.call(l,s,d,y)}}return function(){return o.apply(l,arguments)}}},1355:a=>{a.exports=function(g){if(null==g)throw TypeError("Can't call method on "+g);return g}},7057:(a,g,e)=>{a.exports=!e(4253)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},2457:(a,g,e)=>{var r=e(5286),o=e(3816).document,l=r(o)&&r(o.createElement);a.exports=function(u){return l?o.createElement(u):{}}},4430:a=>{a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},2985:(a,g,e)=>{var r=e(3816),o=e(5645),l=e(7728),u=e(7234),s=e(741),d="prototype",y=function(p,m,T){var j,R,S,B,C=p&y.F,M=p&y.G,U=p&y.P,D=p&y.B,k=M?r:p&y.S?r[m]||(r[m]={}):(r[m]||{})[d],L=M?o:o[m]||(o[m]={}),w=L[d]||(L[d]={});for(j in M&&(T=m),T)S=((R=!C&&k&&void 0!==k[j])?k:T)[j],B=D&&R?s(S,r):U&&"function"==typeof S?s(Function.call,S):S,k&&u(k,j,S,p&y.U),L[j]!=S&&l(L,j,B),U&&w[j]!=S&&(w[j]=S)};r.core=o,y.F=1,y.G=2,y.S=4,y.P=8,y.B=16,y.W=32,y.U=64,y.R=128,a.exports=y},4253:a=>{a.exports=function(g){try{return!!g()}catch{return!0}}},3531:(a,g,e)=>{var r=e(741),o=e(8851),l=e(6555),u=e(7007),s=e(875),d=e(9002),y={},p={},m=a.exports=function(T,C,M,O,U){var w,j,R,S,D=U?function(){return T}:d(T),k=r(M,O,C?2:1),L=0;if("function"!=typeof D)throw TypeError(T+" is not iterable!");if(l(D)){for(w=s(T.length);w>L;L++)if((S=C?k(u(j=T[L])[0],j[1]):k(T[L]))===y||S===p)return S}else for(R=D.call(T);!(j=R.next()).done;)if((S=o(R,k,j.value,C))===y||S===p)return S};m.BREAK=y,m.RETURN=p},3816:a=>{var g=a.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=g)},9181:a=>{var g={}.hasOwnProperty;a.exports=function(e,r){return g.call(e,r)}},7728:(a,g,e)=>{var r=e(9275),o=e(681);a.exports=e(7057)?function(l,u,s){return r.f(l,u,o(1,s))}:function(l,u,s){return l[u]=s,l}},639:(a,g,e)=>{var r=e(3816).document;a.exports=r&&r.documentElement},1734:(a,g,e)=>{a.exports=!e(7057)&&!e(4253)(function(){return 7!=Object.defineProperty(e(2457)("div"),"a",{get:function(){return 7}}).a})},266:(a,g,e)=>{var r=e(5286),o=e(7375).set;a.exports=function(l,u,s){var y,d=u.constructor;return d!==s&&"function"==typeof d&&(y=d.prototype)!==s.prototype&&r(y)&&o&&o(l,y),l}},9797:(a,g,e)=>{var r=e(2032);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(o){return"String"==r(o)?o.split(""):Object(o)}},6555:(a,g,e)=>{var r=e(2803),o=e(6314)("iterator"),l=Array.prototype;a.exports=function(u){return void 0!==u&&(r.Array===u||l[o]===u)}},4302:(a,g,e)=>{var r=e(2032);a.exports=Array.isArray||function(l){return"Array"==r(l)}},5286:a=>{a.exports=function(g){return"object"==typeof g?null!==g:"function"==typeof g}},8851:(a,g,e)=>{var r=e(7007);a.exports=function(o,l,u,s){try{return s?l(r(u)[0],u[1]):l(u)}catch(y){var d=o.return;throw void 0!==d&&r(d.call(o)),y}}},9988:(a,g,e)=>{"use strict";var r=e(2503),o=e(681),l=e(2943),u={};e(7728)(u,e(6314)("iterator"),function(){return this}),a.exports=function(s,d,y){s.prototype=r(u,{next:o(1,y)}),l(s,d+" Iterator")}},2923:(a,g,e)=>{"use strict";var r=e(4461),o=e(2985),l=e(7234),u=e(7728),s=e(2803),d=e(9988),y=e(2943),p=e(468),m=e(6314)("iterator"),T=!([].keys&&"next"in[].keys()),M="keys",O="values",U=function(){return this};a.exports=function(D,k,L,w,j,R,S){d(L,k,w);var ge,pe,Oe,B=function(be){if(!T&&be in Se)return Se[be];switch(be){case M:case O:return function(){return new L(this,be)}}return function(){return new L(this,be)}},_=k+" Iterator",Te=j==O,De=!1,Se=D.prototype,Ne=Se[m]||Se["@@iterator"]||j&&Se[j],Ze=Ne||B(j),Ge=j?Te?B("entries"):Ze:void 0,fe="Array"==k&&Se.entries||Ne;if(fe&&(Oe=p(fe.call(new D)))!==Object.prototype&&Oe.next&&(y(Oe,_,!0),!r&&"function"!=typeof Oe[m]&&u(Oe,m,U)),Te&&Ne&&Ne.name!==O&&(De=!0,Ze=function(){return Ne.call(this)}),(!r||S)&&(T||De||!Se[m])&&u(Se,m,Ze),s[k]=Ze,s[_]=U,j)if(ge={values:Te?Ze:B(O),keys:R?Ze:B(M),entries:Ge},S)for(pe in ge)pe in Se||l(Se,pe,ge[pe]);else o(o.P+o.F*(T||De),k,ge);return ge}},7462:(a,g,e)=>{var r=e(6314)("iterator"),o=!1;try{var l=[7][r]();l.return=function(){o=!0},Array.from(l,function(){throw 2})}catch{}a.exports=function(u,s){if(!s&&!o)return!1;var d=!1;try{var y=[7],p=y[r]();p.next=function(){return{done:d=!0}},y[r]=function(){return p},u(y)}catch{}return d}},5436:a=>{a.exports=function(g,e){return{value:e,done:!!g}}},2803:a=>{a.exports={}},4461:a=>{a.exports=!1},4728:(a,g,e)=>{var r=e(3953)("meta"),o=e(5286),l=e(9181),u=e(9275).f,s=0,d=Object.isExtensible||function(){return!0},y=!e(4253)(function(){return d(Object.preventExtensions({}))}),p=function(O){u(O,r,{value:{i:"O"+ ++s,w:{}}})},M=a.exports={KEY:r,NEED:!1,fastKey:function(O,U){if(!o(O))return"symbol"==typeof O?O:("string"==typeof O?"S":"P")+O;if(!l(O,r)){if(!d(O))return"F";if(!U)return"E";p(O)}return O[r].i},getWeak:function(O,U){if(!l(O,r)){if(!d(O))return!0;if(!U)return!1;p(O)}return O[r].w},onFreeze:function(O){return y&&M.NEED&&d(O)&&!l(O,r)&&p(O),O}}},133:(a,g,e)=>{var r=e(8416),o=e(2985),l=e(3825)("metadata"),u=l.store||(l.store=new(e(147))),s=function(M,O,U){var D=u.get(M);if(!D){if(!U)return;u.set(M,D=new r)}var k=D.get(O);if(!k){if(!U)return;D.set(O,k=new r)}return k};a.exports={store:u,map:s,has:function(M,O,U){var D=s(O,U,!1);return void 0!==D&&D.has(M)},get:function(M,O,U){var D=s(O,U,!1);return void 0===D?void 0:D.get(M)},set:function(M,O,U,D){s(U,D,!0).set(M,O)},keys:function(M,O){var U=s(M,O,!1),D=[];return U&&U.forEach(function(k,L){D.push(L)}),D},key:function(M){return void 0===M||"symbol"==typeof M?M:String(M)},exp:function(M){o(o.S,"Reflect",M)}}},5345:(a,g,e)=>{"use strict";var r=e(7184),o=e(4548),l=e(4682),u=e(508),s=e(9797),d=Object.assign;a.exports=!d||e(4253)(function(){var y={},p={},m=Symbol(),T="abcdefghijklmnopqrst";return y[m]=7,T.split("").forEach(function(C){p[C]=C}),7!=d({},y)[m]||Object.keys(d({},p)).join("")!=T})?function(p,m){for(var T=u(p),C=arguments.length,M=1,O=o.f,U=l.f;C>M;)for(var j,D=s(arguments[M++]),k=O?r(D).concat(O(D)):r(D),L=k.length,w=0;L>w;)U.call(D,j=k[w++])&&(T[j]=D[j]);return T}:d},2503:(a,g,e)=>{var r=e(7007),o=e(5588),l=e(4430),u=e(9335)("IE_PROTO"),s=function(){},d="prototype",y=function(){var M,p=e(2457)("iframe"),m=l.length;for(p.style.display="none",e(639).appendChild(p),p.src="javascript:",(M=p.contentWindow.document).open(),M.write(" + \ No newline at end of file diff --git a/static/skywire-manager-src/dist/main.ab081323107f8567.js b/static/skywire-manager-src/dist/main.ab081323107f8567.js new file mode 100644 index 0000000000..d04ebfe8d8 --- /dev/null +++ b/static/skywire-manager-src/dist/main.ab081323107f8567.js @@ -0,0 +1 @@ +(self.webpackChunkskywire_manager=self.webpackChunkskywire_manager||[]).push([[179],{4752:(de,ge,N)=>{"use strict";function O(t){return"function"==typeof t}let v=!1;const u={Promise:void 0,set useDeprecatedSynchronousErrorHandling(t){if(t){const n=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+n.stack)}else v&&console.log("RxJS: Back to a better error behavior. Thank you. <3");v=t},get useDeprecatedSynchronousErrorHandling(){return v}};function f(t){setTimeout(()=>{throw t},0)}const h={closed:!0,next(t){},error(t){if(u.useDeprecatedSynchronousErrorHandling)throw t;f(t)},complete(){}},M=Array.isArray||(t=>t&&"number"==typeof t.length);function p(t){return null!==t&&"object"==typeof t}const x=(()=>{function t(n){return Error.call(this),this.message=n?`${n.length} errors occurred during unsubscription:\n${n.map((e,i)=>`${i+1}) ${e.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=n,this}return t.prototype=Object.create(Error.prototype),t})();class T{constructor(n){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,n&&(this._ctorUnsubscribe=!0,this._unsubscribe=n)}unsubscribe(){let n;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:i,_unsubscribe:o,_subscriptions:s}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof T)e.remove(this);else if(null!==e)for(let a=0;an.concat(e instanceof x?e.errors:e),[])}T.EMPTY=((t=new T).closed=!0,t);const k="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class A extends T{constructor(n,e,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=h;break;case 1:if(!n){this.destination=h;break}if("object"==typeof n){n instanceof A?(this.syncErrorThrowable=n.syncErrorThrowable,this.destination=n,n.add(this)):(this.syncErrorThrowable=!0,this.destination=new U(this,n));break}default:this.syncErrorThrowable=!0,this.destination=new U(this,n,e,i)}}[k](){return this}static create(n,e,i){const o=new A(n,e,i);return o.syncErrorThrowable=!1,o}next(n){this.isStopped||this._next(n)}error(n){this.isStopped||(this.isStopped=!0,this._error(n))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(n){this.destination.next(n)}_error(n){this.destination.error(n),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:n}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=n,this}}class U extends A{constructor(n,e,i,o){super(),this._parentSubscriber=n;let s,a=this;O(e)?s=e:e&&(s=e.next,i=e.error,o=e.complete,e!==h&&(a=Object.create(e),O(a.unsubscribe)&&this.add(a.unsubscribe.bind(a)),a.unsubscribe=this.unsubscribe.bind(this))),this._context=a,this._next=s,this._error=i,this._complete=o}next(n){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;u.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,n)&&this.unsubscribe():this.__tryOrUnsub(this._next,n)}}error(n){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:i}=u;if(this._error)i&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,n),this.unsubscribe()):(this.__tryOrUnsub(this._error,n),this.unsubscribe());else if(e.syncErrorThrowable)i?(e.syncErrorValue=n,e.syncErrorThrown=!0):f(n),this.unsubscribe();else{if(this.unsubscribe(),i)throw n;f(n)}}}complete(){if(!this.isStopped){const{_parentSubscriber:n}=this;if(this._complete){const e=()=>this._complete.call(this._context);u.useDeprecatedSynchronousErrorHandling&&n.syncErrorThrowable?(this.__tryOrSetError(n,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(n,e){try{n.call(this._context,e)}catch(i){if(this.unsubscribe(),u.useDeprecatedSynchronousErrorHandling)throw i;f(i)}}__tryOrSetError(n,e,i){if(!u.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,i)}catch(o){return u.useDeprecatedSynchronousErrorHandling?(n.syncErrorValue=o,n.syncErrorThrown=!0,!0):(f(o),!0)}return!1}_unsubscribe(){const{_parentSubscriber:n}=this;this._context=null,this._parentSubscriber=null,n.unsubscribe()}}const re="function"==typeof Symbol&&Symbol.observable||"@@observable";function ve(t){return t}function X(t){return 0===t.length?ve:1===t.length?t[0]:function(e){return t.reduce((i,o)=>o(i),e)}}let he=(()=>{class t{constructor(e){this._isScalar=!1,e&&(this._subscribe=e)}lift(e){const i=new t;return i.source=this,i.operator=e,i}subscribe(e,i,o){const{operator:s}=this,a=function K(t,n,e){if(t){if(t instanceof A)return t;if(t[k])return t[k]()}return t||n||e?new A(t,n,e):new A(h)}(e,i,o);if(a.add(s?s.call(a,this.source):this.source||u.useDeprecatedSynchronousErrorHandling&&!a.syncErrorThrowable?this._subscribe(a):this._trySubscribe(a)),u.useDeprecatedSynchronousErrorHandling&&a.syncErrorThrowable&&(a.syncErrorThrowable=!1,a.syncErrorThrown))throw a.syncErrorValue;return a}_trySubscribe(e){try{return this._subscribe(e)}catch(i){u.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=i),function B(t){for(;t;){const{closed:n,destination:e,isStopped:i}=t;if(n||i)return!1;t=e&&e instanceof A?e:null}return!0}(e)?e.error(i):console.warn(i)}}forEach(e,i){return new(i=q(i))((o,s)=>{let a;a=this.subscribe(l=>{try{e(l)}catch(d){s(d),a&&a.unsubscribe()}},s,o)})}_subscribe(e){const{source:i}=this;return i&&i.subscribe(e)}[re](){return this}pipe(...e){return 0===e.length?this:X(e)(this)}toPromise(e){return new(e=q(e))((i,o)=>{let s;this.subscribe(a=>s=a,a=>o(a),()=>i(s))})}}return t.create=n=>new t(n),t})();function q(t){if(t||(t=u.Promise||Promise),!t)throw new Error("no Promise impl found");return t}const ee=(()=>{function t(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return t.prototype=Object.create(Error.prototype),t})();class ae extends T{constructor(n,e){super(),this.subject=n,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const n=this.subject,e=n.observers;if(this.subject=null,!e||0===e.length||n.isStopped||n.closed)return;const i=e.indexOf(this.subscriber);-1!==i&&e.splice(i,1)}}class le extends A{constructor(n){super(n),this.destination=n}}let J=(()=>{class t extends he{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[k](){return new le(this)}lift(e){const i=new Te(this,this);return i.operator=e,i}next(e){if(this.closed)throw new ee;if(!this.isStopped){const{observers:i}=this,o=i.length,s=i.slice();for(let a=0;anew Te(n,e),t})();class Te extends J{constructor(n,e){super(),this.destination=n,this.source=e}next(n){const{destination:e}=this;e&&e.next&&e.next(n)}error(n){const{destination:e}=this;e&&e.error&&this.destination.error(n)}complete(){const{destination:n}=this;n&&n.complete&&this.destination.complete()}_subscribe(n){const{source:e}=this;return e?this.source.subscribe(n):T.EMPTY}}function Se(t){return t&&"function"==typeof t.schedule}function ke(t,n){return function(i){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new Be(t,n))}}class Be{constructor(n,e){this.project=n,this.thisArg=e}call(n,e){return e.subscribe(new tt(n,this.project,this.thisArg))}}class tt extends A{constructor(n,e,i){super(n),this.project=e,this.count=0,this.thisArg=i||this}_next(n){let e;try{e=this.project.call(this.thisArg,n,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(e)}}const st=t=>n=>{for(let e=0,i=t.length;et&&"number"==typeof t.length&&"function"!=typeof t;function Pi(t){return!!t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}const Oi=t=>{if(t&&"function"==typeof t[re])return(t=>n=>{const e=t[re]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(n)})(t);if(Ge(t))return st(t);if(Pi(t))return(t=>n=>(t.then(e=>{n.closed||(n.next(e),n.complete())},e=>n.error(e)).then(null,f),n))(t);if(t&&"function"==typeof t[an])return(t=>n=>{const e=t[an]();for(;;){let i;try{i=e.next()}catch(o){return n.error(o),n}if(i.done){n.complete();break}if(n.next(i.value),n.closed)break}return"function"==typeof e.return&&n.add(()=>{e.return&&e.return()}),n})(t);{const e=`You provided ${p(t)?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function W(t,n){return new he(e=>{const i=new T;let o=0;return i.add(n.schedule(function(){o!==t.length?(e.next(t[o++]),e.closed||i.add(this.schedule())):e.complete()})),i})}function ue(t,n){return n?function fe(t,n){if(null!=t){if(function te(t){return t&&"function"==typeof t[re]}(t))return function dr(t,n){return new he(e=>{const i=new T;return i.add(n.schedule(()=>{const o=t[re]();i.add(o.subscribe({next(s){i.add(n.schedule(()=>e.next(s)))},error(s){i.add(n.schedule(()=>e.error(s)))},complete(){i.add(n.schedule(()=>e.complete()))}}))})),i})}(t,n);if(Pi(t))return function Xe(t,n){return new he(e=>{const i=new T;return i.add(n.schedule(()=>t.then(o=>{i.add(n.schedule(()=>{e.next(o),i.add(n.schedule(()=>e.complete()))}))},o=>{i.add(n.schedule(()=>e.error(o)))}))),i})}(t,n);if(Ge(t))return W(t,n);if(function pe(t){return t&&"function"==typeof t[an]}(t)||"string"==typeof t)return function oe(t,n){if(!t)throw new Error("Iterable cannot be null");return new he(e=>{const i=new T;let o;return i.add(()=>{o&&"function"==typeof o.return&&o.return()}),i.add(n.schedule(()=>{o=t[an](),i.add(n.schedule(function(){if(e.closed)return;let s,a;try{const l=o.next();s=l.value,a=l.done}catch(l){return void e.error(l)}a?e.complete():(e.next(s),this.schedule())}))})),i})}(t,n)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")}(t,n):t instanceof he?t:new he(Oi(t))}class be extends A{constructor(n){super(),this.parent=n}_next(n){this.parent.notifyNext(n)}_error(n){this.parent.notifyError(n),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class Me extends A{notifyNext(n){this.destination.next(n)}notifyError(n){this.destination.error(n)}notifyComplete(){this.destination.complete()}}function Ie(t,n){if(n.closed)return;if(t instanceof he)return t.subscribe(n);let e;try{e=Oi(t)(n)}catch(i){n.error(i)}return e}function Ye(t,n,e=Number.POSITIVE_INFINITY){return"function"==typeof n?i=>i.pipe(Ye((o,s)=>ue(t(o,s)).pipe(ke((a,l)=>n(o,a,s,l))),e)):("number"==typeof n&&(e=n),i=>i.lift(new ut(t,e)))}class ut{constructor(n,e=Number.POSITIVE_INFINITY){this.project=n,this.concurrent=e}call(n,e){return e.subscribe(new mt(n,this.project,this.concurrent))}}class mt extends Me{constructor(n,e,i=Number.POSITIVE_INFINITY){super(n),this.project=e,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(n){this.active0?this._next(n.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function fn(t=Number.POSITIVE_INFINITY){return Ye(ve,t)}function An(t,n){return n?W(t,n):new he(st(t))}function bt(...t){let n=Number.POSITIVE_INFINITY,e=null,i=t[t.length-1];return Se(i)?(e=t.pop(),t.length>1&&"number"==typeof t[t.length-1]&&(n=t.pop())):"number"==typeof i&&(n=t.pop()),null===e&&1===t.length&&t[0]instanceof he?t[0]:fn(n)(An(t,e))}function qt(){return function(n){return n.lift(new Gn(n))}}class Gn{constructor(n){this.connectable=n}call(n,e){const{connectable:i}=this;i._refCount++;const o=new oi(n,i),s=e.subscribe(o);return o.closed||(o.connection=i.connect()),s}}class oi extends A{constructor(n,e){super(n),this.connectable=e}_unsubscribe(){const{connectable:n}=this;if(!n)return void(this.connection=null);this.connectable=null;const e=n._refCount;if(e<=0)return void(this.connection=null);if(n._refCount=e-1,e>1)return void(this.connection=null);const{connection:i}=this,o=n._connection;this.connection=null,o&&(!i||o===i)&&o.unsubscribe()}}class Kr extends he{constructor(n,e){super(),this.source=n,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){const n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let n=this._connection;return n||(this._isComplete=!1,n=this._connection=new T,n.add(this.source.subscribe(new Ai(this.getSubject(),this))),n.closed&&(this._connection=null,n=T.EMPTY)),n}refCount(){return qt()(this)}}const Io=(()=>{const t=Kr.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:t._subscribe},_isComplete:{value:t._isComplete,writable:!0},getSubject:{value:t.getSubject},connect:{value:t.connect},refCount:{value:t.refCount}}})();class Ai extends le{constructor(n,e){super(n),this.connectable=e}_error(n){this._unsubscribe(),super._error(n)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const n=this.connectable;if(n){this.connectable=null;const e=n._connection;n._refCount=0,n._subject=null,n._connection=null,e&&e.unsubscribe()}}}class Fn{constructor(n,e){this.subjectFactory=n,this.selector=e}call(n,e){const{selector:i}=this,o=this.subjectFactory(),s=i(o).subscribe(n);return s.add(e.subscribe(o)),s}}function jd(){return new J}function dl(){return t=>qt()(function si(t,n){return function(i){let o;if(o="function"==typeof t?t:function(){return t},"function"==typeof n)return i.lift(new Fn(o,n));const s=Object.create(i,Io);return s.source=i,s.subjectFactory=o,s}}(jd)(t))}function xn(t){for(let n in t)if(t[n]===xn)return n;throw Error("Could not find renamed property on target object.")}function _a(t,n){for(const e in n)n.hasOwnProperty(e)&&!t.hasOwnProperty(e)&&(t[e]=n[e])}function Fi(t){if("string"==typeof t)return t;if(Array.isArray(t))return"["+t.map(Fi).join(", ")+"]";if(null==t)return""+t;if(t.overriddenName)return`${t.overriddenName}`;if(t.name)return`${t.name}`;const n=t.toString();if(null==n)return""+n;const e=n.indexOf("\n");return-1===e?n:n.substring(0,e)}function ba(t,n){return null==t||""===t?null===n?"":n:null==n||""===n?t:t+" "+n}const Hg=xn({__forward_ref__:xn});function pn(t){return t.__forward_ref__=pn,t.toString=function(){return Fi(this())},t}function Dt(t){return gt(t)?t():t}function gt(t){return"function"==typeof t&&t.hasOwnProperty(Hg)&&t.__forward_ref__===pn}function zd(t){return t&&!!t.\u0275providers}const hs="https://g.co/ng/security#xss";class Fe extends Error{constructor(n,e){super(function Tn(t,n){return`NG0${Math.abs(t)}${n?": "+n:""}`}(n,e)),this.code=n}}function xt(t){return"string"==typeof t?t:null==t?"":String(t)}function ai(t,n){throw new Fe(-201,!1)}function Zr(t,n){null==t&&function Mn(t,n,e,i){throw new Error(`ASSERTION ERROR: ${t}`+(null==i?"":` [Expected=> ${e} ${i} ${n} <=Actual]`))}(n,t,null,"!=")}function Ne(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function Nt(t){return{providers:t.providers||[],imports:t.imports||[]}}function uc(t){return df(t,hc)||df(t,hf)}function df(t,n){return t.hasOwnProperty(n)?t[n]:null}function Gd(t){return t&&(t.hasOwnProperty(qd)||t.hasOwnProperty(zg))?t[qd]:null}const hc=xn({\u0275prov:xn}),qd=xn({\u0275inj:xn}),hf=xn({ngInjectableDef:xn}),zg=xn({ngInjectorDef:xn});var Mt=(()=>((Mt=Mt||{})[Mt.Default=0]="Default",Mt[Mt.Host=1]="Host",Mt[Mt.Self=2]="Self",Mt[Mt.SkipSelf=4]="SkipSelf",Mt[Mt.Optional=8]="Optional",Mt))();let fc;function Wi(t){const n=fc;return fc=t,n}function ul(t,n,e){const i=uc(t);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&Mt.Optional?null:void 0!==n?n:void ai(Fi(t))}const wn=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),hl={},Kd="__NG_DI_FLAG__",pc="ngTempTokenPath",$g=/\n/gm,pf="__source";let Ma;function gs(t){const n=Ma;return Ma=t,n}function qg(t,n=Mt.Default){if(void 0===Ma)throw new Fe(-203,!1);return null===Ma?ul(t,void 0,n):Ma.get(t,n&Mt.Optional?null:void 0,n)}function we(t,n=Mt.Default){return(function ff(){return fc}()||qg)(Dt(t),n)}function Qe(t,n=Mt.Default){return we(t,mc(n))}function mc(t){return typeof t>"u"||"number"==typeof t?t:0|(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function Zd(t){const n=[];for(let e=0;e((Oo=Oo||{})[Oo.OnPush=0]="OnPush",Oo[Oo.Default=1]="Default",Oo))(),Dr=(()=>(function(t){t[t.Emulated=0]="Emulated",t[t.None=2]="None",t[t.ShadowDom=3]="ShadowDom"}(Dr||(Dr={})),Dr))();const lo={},cn=[],gc=xn({\u0275cmp:xn}),_c=xn({\u0275dir:xn}),bc=xn({\u0275pipe:xn}),_f=xn({\u0275mod:xn}),Zo=xn({\u0275fac:xn}),pl=xn({__NG_ELEMENT_ID__:xn}),bf=xn({__NG_ENV_ID__:xn});function Xd(t,n,e){let i=t.length;for(;;){const o=t.indexOf(n,e);if(-1===o)return o;if(0===o||t.charCodeAt(o-1)<=32){const s=n.length;if(o+s===i||t.charCodeAt(o+s)<=32)return o}e=o+1}}function hi(t,n,e){let i=0;for(;in){a=s-1;break}}}for(;ss?"":o[F+1].toLowerCase();const ie=8&i?G:null;if(ie&&-1!==Xd(ie,_,0)||2&i&&_!==G){if(co(i))return!1;a=!0}}}}else{if(!a&&!co(i)&&!co(d))return!1;if(a&&co(d))continue;a=!1,i=d|1&i}}return co(i)||a}function co(t){return 0==(1&t)}function Jd(t,n,e,i){if(null===n)return-1;let o=0;if(i||!e){let s=!1;for(;o-1)for(e++;e0?'="'+l+'"':"")+"]"}else 8&i?o+="."+a:4&i&&(o+=" "+a);else""!==o&&!co(a)&&(n+=yf(s,o),o=""),i=a,s=s||!co(i);e++}return""!==o&&(n+=yf(s,o)),n}function Ze(t){return Ko(()=>{const n=wf(t),e={...n,decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===Oo.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&t.dependencies||null,getStandaloneInjector:null,data:t.data||{},encapsulation:t.encapsulation||Dr.Emulated,styles:t.styles||cn,_:null,schemas:t.schemas||null,tView:null,id:""};Cf(e);const i=t.dependencies;return e.directiveDefs=gl(i,!1),e.pipeDefs=gl(i,!0),e.id=function xf(t){let n=0;const e=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,t.consts,t.vars,t.decls,t.encapsulation,t.standalone,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery].join("|");for(const o of e)n=Math.imul(31,n)+o.charCodeAt(0)<<0;return n+=2147483648,"c"+n}(e),e})}function Mc(t,n,e){const i=t.\u0275cmp;i.directiveDefs=gl(n,!1),i.pipeDefs=gl(e,!0)}function i_(t){return gn(t)||hr(t)}function r_(t){return null!==t}function Ht(t){return Ko(()=>({type:t.type,bootstrap:t.bootstrap||cn,declarations:t.declarations||cn,imports:t.imports||cn,exports:t.exports||cn,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function Mf(t,n){if(null==t)return lo;const e={};for(const i in t)if(t.hasOwnProperty(i)){let o=t[i],s=o;Array.isArray(o)&&(s=o[1],o=o[0]),e[o]=i,n&&(n[o]=s)}return e}function Ke(t){return Ko(()=>{const n=wf(t);return Cf(n),n})}function ur(t){return{type:t.type,name:t.name,factory:null,pure:!1!==t.pure,standalone:!0===t.standalone,onDestroy:t.type.prototype.ngOnDestroy||null}}function gn(t){return t[gc]||null}function hr(t){return t[_c]||null}function fr(t){return t[bc]||null}function Nr(t,n){const e=t[_f]||null;if(!e&&!0===n)throw new Error(`Type ${Fi(t)} does not have '\u0275mod' property.`);return e}function wf(t){const n={};return{type:t.type,providersResolver:null,factory:null,hostBindings:t.hostBindings||null,hostVars:t.hostVars||0,hostAttrs:t.hostAttrs||null,contentQueries:t.contentQueries||null,declaredInputs:n,exportAs:t.exportAs||null,standalone:!0===t.standalone,selectors:t.selectors||cn,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Mf(t.inputs,n),outputs:Mf(t.outputs)}}function Cf(t){t.features?.forEach(n=>n(t))}function gl(t,n){if(!t)return null;const e=n?fr:i_;return()=>("function"==typeof t?t():t).map(i=>e(i)).filter(r_)}const zt=0,lt=1,Yt=2,Xn=3,uo=4,Bs=5,pr=6,Ao=7,li=8,Da=9,Vs=10,Et=11,js=12,wc=13,zs=14,xi=15,Us=16,bs=17,Xr=18,_l=19,kf=20,vs=21,Xo=22,Cc=23,xc=24,Qt=25,tu=1,Sf=2,ho=7,kc=8,Ta=9,ni=11;function Yr(t){return Array.isArray(t)&&"object"==typeof t[tu]}function vr(t){return Array.isArray(t)&&!0===t[tu]}function Sc(t){return 0!=(4&t.flags)}function Ws(t){return t.componentOffset>-1}function Dc(t){return 1==(1&t.flags)}function fo(t){return!!t.template}function nu(t){return 0!=(512&t[Yt])}function $s(t,n){return t.hasOwnProperty(Zo)?t[Zo]:null}let p_=wn.WeakRef??class f_{constructor(n){this.ref=n}deref(){return this.ref}},g_=0,Fo=null,Gs=!1;function $i(t){const n=Fo;return Fo=t,n}class If{constructor(){this.id=g_++,this.ref=function m_(t){return new p_(t)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[n,e]of this.producers){const i=e.producerNode.deref();if(void 0!==i&&e.atTrackingVersion===this.trackingVersion){if(i.producerPollStatus(e.seenValueVersion))return!0}else this.producers.delete(n),i?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const n=Gs;Gs=!0;try{for(const[e,i]of this.consumers){const o=i.consumerNode.deref();void 0!==o&&o.trackingVersion===i.atTrackingVersion?o.onConsumerDependencyMayHaveChanged():(this.consumers.delete(e),o?.producers.delete(this.id))}}finally{Gs=n}}producerAccessed(){if(Gs)throw new Error("");if(null===Fo)return;let n=Fo.producers.get(this.id);void 0===n?(n={consumerNode:Fo.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Fo.trackingVersion},Fo.producers.set(this.id,n),this.consumers.set(Fo.id,n)):(n.seenValueVersion=this.valueVersion,n.atTrackingVersion=Fo.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Fo?.consumerAllowSignalWrites}producerPollStatus(n){return this.valueVersion!==n||(this.onProducerUpdateValueVersion(),this.valueVersion!==n)}}let Pf=null;const Je=()=>{};class M_ extends If{constructor(n,e,i){super(),this.watch=n,this.schedule=e,this.dirty=!1,this.cleanupFn=Je,this.registerOnCleanup=o=>{this.cleanupFn=o},this.consumerAllowSignalWrites=i}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const n=$i(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=Je,this.watch(this.registerOnCleanup)}finally{$i(n)}}cleanup(){this.cleanupFn()}}class w_{constructor(n,e,i){this.previousValue=n,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function Gi(){return Rn}function Rn(t){return t.type.prototype.ngOnChanges&&(t.setInput=Of),Ec}function Ec(){const t=Af(this),n=t?.current;if(n){const e=t.previous;if(e===lo)t.previous=n;else for(let i in n)e[i]=n[i];t.current=null,this.ngOnChanges(n)}}function Of(t,n,e,i){const o=this.declaredInputs[e],s=Af(t)||function C_(t,n){return t[Ic]=n}(t,{previous:lo,current:null}),a=s.current||(s.current={}),l=s.previous,d=l[o];a[o]=new w_(d&&d.currentValue,n,l===lo),t[i]=n}Gi.ngInherit=!0;const Ic="__ngSimpleChanges__";function Af(t){return t[Ic]||null}const Ro=function(t,n,e){},No="svg";function Un(t){for(;Array.isArray(t);)t=t[zt];return t}function Pc(t,n){return Un(n[t])}function yr(t,n){return Un(n[t.index])}function lu(t,n){return t.data[n]}function ys(t,n){return t[n]}function Tr(t,n){const e=n[t];return Yr(e)?e:e[zt]}function mo(t){return 128==(128&t[Yt])}function Ms(t,n){return null==n?null:t[n]}function Rf(t){t[bs]=0}function L_(t){1024&t[Yt]||(t[Yt]|=1024,Yf(t,1))}function Nf(t){1024&t[Yt]&&(t[Yt]&=-1025,Yf(t,-1))}function Yf(t,n){let e=t[Xn];if(null===e)return;e[Bs]+=n;let i=e;for(e=e[Xn];null!==e&&(1===n&&1===i[Bs]||-1===n&&0===i[Bs]);)e[Bs]+=n,i=e,e=e[Xn]}const Tt={lFrame:kM(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function Vf(){return Tt.bindingsEnabled}function Ea(){return null!==Tt.skipHydrationRootTNode}function Ve(){return Tt.lFrame.lView}function dn(){return Tt.lFrame.tView}function Pe(t){return Tt.lFrame.contextLView=t,t[li]}function Oe(t){return Tt.lFrame.contextLView=null,t}function tr(){let t=Oc();for(;null!==t&&64===t.type;)t=t.parent;return t}function Oc(){return Tt.lFrame.currentTNode}function Hr(t,n){const e=Tt.lFrame;e.currentTNode=t,e.isParent=n}function tn(){return Tt.lFrame.isParent}function m(){Tt.lFrame.isParent=!1}function ne(){const t=Tt.lFrame;let n=t.bindingRootIndex;return-1===n&&(n=t.bindingRootIndex=t.tView.bindingStartIndex),n}function At(){return Tt.lFrame.bindingIndex++}function Ut(t){const n=Tt.lFrame,e=n.bindingIndex;return n.bindingIndex=n.bindingIndex+t,e}function bl(t,n){const e=Tt.lFrame;e.bindingIndex=e.bindingRootIndex=t,cu(n)}function cu(t){Tt.lFrame.currentDirectiveIndex=t}function Ac(t){const n=Tt.lFrame.currentDirectiveIndex;return-1===n?null:t[n]}function jf(){return Tt.lFrame.currentQueryIndex}function yl(t){Tt.lFrame.currentQueryIndex=t}function GP(t){const n=t[lt];return 2===n.type?n.declTNode:1===n.type?t[pr]:null}function CM(t,n,e){if(e&Mt.SkipSelf){let o=n,s=t;for(;!(o=o.parent,null!==o||e&Mt.Host||(o=GP(s),null===o||(s=s[zs],10&o.type))););if(null===o)return!1;n=o,t=s}const i=Tt.lFrame=xM();return i.currentTNode=n,i.lView=t,!0}function N_(t){const n=xM(),e=t[lt];Tt.lFrame=n,n.currentTNode=e.firstChild,n.lView=t,n.tView=e,n.contextLView=t,n.bindingIndex=e.bindingStartIndex,n.inI18n=!1}function xM(){const t=Tt.lFrame,n=null===t?null:t.child;return null===n?kM(t):n}function kM(t){const n={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:t,child:null,inI18n:!1};return null!==t&&(t.child=n),n}function SM(){const t=Tt.lFrame;return Tt.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}const DM=SM;function Y_(){const t=SM();t.isParent=!0,t.tView=null,t.selectedIndex=-1,t.contextLView=null,t.elementDepthCount=0,t.currentDirectiveIndex=-1,t.currentNamespace=null,t.bindingRootIndex=-1,t.bindingIndex=-1,t.currentQueryIndex=0}function Vr(){return Tt.lFrame.selectedIndex}function Ml(t){Tt.lFrame.selectedIndex=t}function fi(){const t=Tt.lFrame;return lu(t.tView,t.selectedIndex)}function wl(){Tt.lFrame.currentNamespace=No}function zf(){!function XP(){Tt.lFrame.currentNamespace=null}()}let LM=!0;function Uf(){return LM}function Ia(t){LM=t}function Wf(t,n){for(let e=n.directiveStart,i=n.directiveEnd;e=i)break}else n[d]<0&&(t[bs]+=65536),(l>12>16&&(3&t[Yt])===n&&(t[Yt]+=4096,IM(l,s)):IM(l,s)}const Fc=-1;class du{constructor(n,e,i){this.factory=n,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function PM(t){return t!==Fc}function qf(t){return 32767&t}function Kf(t,n){let e=function iO(t){return t>>16}(t),i=n;for(;e>0;)i=i[zs],e--;return i}let V_=!0;function Zf(t){const n=V_;return V_=t,n}const OM=255,AM=5;let rO=0;const Cs={};function Xf(t,n){const e=FM(t,n);if(-1!==e)return e;const i=n[lt];i.firstCreatePass&&(t.injectorIndex=n.length,j_(i.data,t),j_(n,null),j_(i.blueprint,null));const o=z_(t,n),s=t.injectorIndex;if(PM(o)){const a=qf(o),l=Kf(o,n),d=l[lt].data;for(let _=0;_<8;_++)n[s+_]=l[a+_]|d[a+_]}return n[s+8]=o,s}function j_(t,n){t.push(0,0,0,0,0,0,0,0,n)}function FM(t,n){return-1===t.injectorIndex||t.parent&&t.parent.injectorIndex===t.injectorIndex||null===n[t.injectorIndex+8]?-1:t.injectorIndex}function z_(t,n){if(t.parent&&-1!==t.parent.injectorIndex)return t.parent.injectorIndex;let e=0,i=null,o=n;for(;null!==o;){if(i=jM(o),null===i)return Fc;if(e++,o=o[zs],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return Fc}function U_(t,n,e){!function oO(t,n,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(pl)&&(i=e[pl]),null==i&&(i=e[pl]=rO++);const o=i&OM;n.data[t+(o>>AM)]|=1<=0?n&OM:cO:n}(e);if("function"==typeof s){if(!CM(n,t,i))return i&Mt.Host?RM(o,0,i):NM(n,e,i,o);try{const a=s(i);if(null!=a||i&Mt.Optional)return a;ai()}finally{DM()}}else if("number"==typeof s){let a=null,l=FM(t,n),d=Fc,_=i&Mt.Host?n[xi][pr]:null;for((-1===l||i&Mt.SkipSelf)&&(d=-1===l?z_(t,n):n[l+8],d!==Fc&&VM(i,!1)?(a=n[lt],l=qf(d),n=Kf(d,n)):l=-1);-1!==l;){const E=n[lt];if(BM(s,l,E.data)){const F=aO(l,n,e,a,i,_);if(F!==Cs)return F}d=n[l+8],d!==Fc&&VM(i,n[lt].data[l+8]===_)&&BM(s,l,n)?(a=E,l=qf(d),n=Kf(d,n)):l=-1}}return o}function aO(t,n,e,i,o,s){const a=n[lt],l=a.data[t+8],E=Jf(l,a,e,null==i?Ws(l)&&V_:i!=a&&0!=(3&l.type),o&Mt.Host&&s===l);return null!==E?Cl(n,a,E,l):Cs}function Jf(t,n,e,i,o){const s=t.providerIndexes,a=n.data,l=1048575&s,d=t.directiveStart,E=s>>20,G=o?l+E:t.directiveEnd;for(let ie=i?l:l+E;ie=d&&_e.type===e)return ie}if(o){const ie=a[d];if(ie&&fo(ie)&&ie.type===e)return d}return null}function Cl(t,n,e,i){let o=t[e];const s=n.data;if(function eO(t){return t instanceof du}(o)){const a=o;a.resolving&&function ao(t,n){const e=n?`. Dependency path: ${n.join(" > ")} > ${t}`:"";throw new Fe(-200,`Circular dependency in DI detected for ${t}${e}`)}(function yn(t){return"function"==typeof t?t.name||t.toString():"object"==typeof t&&null!=t&&"function"==typeof t.type?t.type.name||t.type.toString():xt(t)}(s[e]));const l=Zf(a.canSeeViewProviders);a.resolving=!0;const d=a.injectImpl?Wi(a.injectImpl):null;CM(t,i,Mt.Default);try{o=t[e]=a.factory(void 0,s,t,i),n.firstCreatePass&&e>=i.directiveStart&&function JP(t,n,e){const{ngOnChanges:i,ngOnInit:o,ngDoCheck:s}=n.type.prototype;if(i){const a=Rn(n);(e.preOrderHooks??=[]).push(t,a),(e.preOrderCheckHooks??=[]).push(t,a)}o&&(e.preOrderHooks??=[]).push(0-t,o),s&&((e.preOrderHooks??=[]).push(t,s),(e.preOrderCheckHooks??=[]).push(t,s))}(e,s[e],n)}finally{null!==d&&Wi(d),Zf(l),a.resolving=!1,DM()}}return o}function BM(t,n,e){return!!(e[n+(t>>AM)]&1<{const n=t.prototype.constructor,e=n[Zo]||W_(n),i=Object.prototype;let o=Object.getPrototypeOf(t.prototype).constructor;for(;o&&o!==i;){const s=o[Zo]||W_(o);if(s&&s!==e)return s;o=Object.getPrototypeOf(o)}return s=>new s})}function W_(t){return gt(t)?()=>{const n=W_(Dt(t));return n&&n()}:$s(t)}function jM(t){const n=t[lt],e=n.type;return 2===e?n.declTNode:1===e?t[pr]:null}function Pa(t){return function sO(t,n){if("class"===n)return t.classes;if("style"===n)return t.styles;const e=t.attrs;if(e){const i=e.length;let o=0;for(;o{const i=function $_(t){return function(...e){if(t){const i=t(...e);for(const o in i)this[o]=i[o]}}}(n);function o(...s){if(this instanceof o)return i.apply(this,s),this;const a=new o(...s);return l.annotation=a,l;function l(d,_,E){const F=d.hasOwnProperty(Yc)?d[Yc]:Object.defineProperty(d,Yc,{value:[]})[Yc];for(;F.length<=E;)F.push(null);return(F[E]=F[E]||[]).push(a),d}}return e&&(o.prototype=Object.create(e.prototype)),o.prototype.ngMetadataName=t,o.annotationCls=o,o})}function fu(t,n){t.forEach(e=>Array.isArray(e)?fu(e,n):n(e))}function UM(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function Qf(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function pu(t,n){const e=[];for(let i=0;i=0?t[1|i]=e:(i=~i,function mO(t,n,e,i){let o=t.length;if(o==n)t.push(e,i);else if(1===o)t.push(i,t[0]),t[0]=e;else{for(o--,t.push(t[o-1],t[o]);o>n;)t[o]=t[o-2],o--;t[n]=e,t[n+1]=i}}(t,i,n,e)),i}function G_(t,n){const e=Vc(t,n);if(e>=0)return t[1|e]}function Vc(t,n){return function WM(t,n,e){let i=0,o=t.length>>e;for(;o!==i;){const s=i+(o-i>>1),a=t[s<n?o=s:i=s+1}return~(o<((Jr=Jr||{})[Jr.Important=1]="Important",Jr[Jr.DashCase=2]="DashCase",Jr))();const RO=/^>|^->||--!>|)/,YO="\u200b$1\u200b";const Q_=new Map;let HO=0;const tb="__ngContext__";function Lr(t,n){Yr(n)?(t[tb]=n[_l],function VO(t){Q_.set(t[_l],t)}(n)):t[tb]=n}let nb;function ib(t,n){return nb(t,n)}function bu(t){const n=t[Xn];return vr(n)?n[Xn]:n}function rb(t){return dw(t[js])}function ob(t){return dw(t[uo])}function dw(t){for(;null!==t&&!vr(t);)t=t[uo];return t}function Uc(t,n,e,i,o){if(null!=i){let s,a=!1;vr(i)?s=i:Yr(i)&&(a=!0,i=i[zt]);const l=Un(i);0===t&&null!==e?null==o?mw(n,e,l):kl(n,e,l,o||null,!0):1===t&&null!==e?kl(n,e,l,o||null,!0):2===t?function dp(t,n,e){const i=lp(t,n);i&&function sA(t,n,e,i){t.removeChild(n,e,i)}(t,i,n,e)}(n,l,a):3===t&&n.destroyNode(l),null!=s&&function cA(t,n,e,i,o){const s=e[ho];s!==Un(e)&&Uc(n,t,i,s,o);for(let l=ni;ln.replace(NO,YO))}(n))}function ap(t,n,e){return t.createElement(n,e)}function hw(t,n){const e=t[Ta],i=e.indexOf(n);Nf(n),e.splice(i,1)}function ab(t,n){if(t.length<=ni)return;const e=ni+n,i=t[e];if(i){const o=i[Us];null!==o&&o!==t&&hw(o,i),n>0&&(t[e-1][uo]=i[uo]);const s=Qf(t,ni+n);!function JO(t,n){yu(t,n,n[Et],2,null,null),n[zt]=null,n[pr]=null}(i[lt],i);const a=s[Xr];null!==a&&a.detachView(s[lt]),i[Xn]=null,i[uo]=null,i[Yt]&=-129}return i}function fw(t,n){if(!(256&n[Yt])){const e=n[Et];n[Cc]?.destroy(),n[xc]?.destroy(),e.destroyNode&&yu(t,n,e,3,null,null),function tA(t){let n=t[js];if(!n)return lb(t[lt],t);for(;n;){let e=null;if(Yr(n))e=n[js];else{const i=n[ni];i&&(e=i)}if(!e){for(;n&&!n[uo]&&n!==t;)Yr(n)&&lb(n[lt],n),n=n[Xn];null===n&&(n=t),Yr(n)&&lb(n[lt],n),e=n&&n[uo]}n=e}}(n)}}function lb(t,n){if(!(256&n[Yt])){n[Yt]&=-129,n[Yt]|=256,function oA(t,n){let e;if(null!=t&&null!=(e=t.destroyHooks))for(let i=0;i=0?i[a]():i[-a].unsubscribe(),s+=2}else e[s].call(i[e[s+1]]);null!==i&&(n[Ao]=null);const o=n[vs];if(null!==o){n[vs]=null;for(let s=0;s-1){const{encapsulation:s}=t.data[i.directiveStart+o];if(s===Dr.None||s===Dr.Emulated)return null}return yr(i,e)}}(t,n.parent,e)}function kl(t,n,e,i,o){t.insertBefore(n,e,i,o)}function mw(t,n,e){t.appendChild(n,e)}function gw(t,n,e,i,o){null!==i?kl(t,n,e,i,o):mw(t,n,e)}function lp(t,n){return t.parentNode(n)}function _w(t,n,e){return vw(t,n,e)}let db,up,pb,hp,vw=function bw(t,n,e){return 40&t.type?yr(t,e):null};function cp(t,n,e,i){const o=cb(t,i,n),s=n[Et],l=_w(i.parent||n[pr],i,n);if(null!=o)if(Array.isArray(e))for(let d=0;dt,createScript:t=>t,createScriptURL:t=>t})}catch{}return up}()?.createHTML(t)||t}function Tw(t){return function mb(){if(void 0===hp&&(hp=null,wn.trustedTypes))try{hp=wn.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return hp}()?.createScriptURL(t)||t}class Sl{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${hs})`}}class gA extends Sl{getTypeName(){return"HTML"}}class _A extends Sl{getTypeName(){return"Style"}}class bA extends Sl{getTypeName(){return"Script"}}class vA extends Sl{getTypeName(){return"URL"}}class yA extends Sl{getTypeName(){return"ResourceURL"}}function _o(t){return t instanceof Sl?t.changingThisBreaksApplicationSecurity:t}function xs(t,n){const e=function MA(t){return t instanceof Sl&&t.getTypeName()||null}(t);if(null!=e&&e!==n){if("ResourceURL"===e&&"URL"===n)return!0;throw new Error(`Required a safe ${n}, got a ${e} (see ${hs})`)}return e===n}class DA{constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{const e=(new window.DOMParser).parseFromString(Wc(n),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(n):(e.removeChild(e.firstChild),e)}catch{return null}}}class TA{constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){const e=this.inertDocument.createElement("template");return e.innerHTML=Wc(n),e}}const EA=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function fp(t){return(t=String(t)).match(EA)?t:"unsafe:"+t}function qs(t){const n={};for(const e of t.split(","))n[e]=!0;return n}function wu(...t){const n={};for(const e of t)for(const i in e)e.hasOwnProperty(i)&&(n[i]=!0);return n}const Ew=qs("area,br,col,hr,img,wbr"),Iw=qs("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pw=qs("rp,rt"),gb=wu(Ew,wu(Iw,qs("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")),wu(Pw,qs("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")),wu(Pw,Iw)),_b=qs("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Ow=wu(_b,qs("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,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),qs("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")),IA=qs("script,style,template");class PA{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(n){let e=n.firstChild,i=!0;for(;e;)if(e.nodeType===Node.ELEMENT_NODE?i=this.startElement(e):e.nodeType===Node.TEXT_NODE?this.chars(e.nodeValue):this.sanitizedSomething=!0,i&&e.firstChild)e=e.firstChild;else for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let o=this.checkClobberedElement(e,e.nextSibling);if(o){e=o;break}e=this.checkClobberedElement(e,e.parentNode)}return this.buf.join("")}startElement(n){const e=n.nodeName.toLowerCase();if(!gb.hasOwnProperty(e))return this.sanitizedSomething=!0,!IA.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);const i=n.attributes;for(let o=0;o"),!0}endElement(n){const e=n.nodeName.toLowerCase();gb.hasOwnProperty(e)&&!Ew.hasOwnProperty(e)&&(this.buf.push(""))}chars(n){this.buf.push(Aw(n))}checkClobberedElement(n,e){if(e&&(n.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${n.outerHTML}`);return e}}const OA=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,AA=/([^\#-~ |!])/g;function Aw(t){return t.replace(/&/g,"&").replace(OA,function(n){return"&#"+(1024*(n.charCodeAt(0)-55296)+(n.charCodeAt(1)-56320)+65536)+";"}).replace(AA,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}let pp;function Fw(t,n){let e=null;try{pp=pp||function Lw(t){const n=new TA(t);return function LA(){try{return!!(new window.DOMParser).parseFromString(Wc(""),"text/html")}catch{return!1}}()?new DA(n):n}(t);let i=n?String(n):"";e=pp.getInertBodyElement(i);let o=5,s=i;do{if(0===o)throw new Error("Failed to sanitize html because the input is unstable");o--,i=s,s=e.innerHTML,e=pp.getInertBodyElement(i)}while(i!==s);return Wc((new PA).sanitizeChildren(bb(e)||e))}finally{if(e){const i=bb(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}function bb(t){return"content"in t&&function FA(t){return t.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===t.nodeName}(t)?t.content:null}var kn=(()=>((kn=kn||{})[kn.NONE=0]="NONE",kn[kn.HTML=1]="HTML",kn[kn.STYLE=2]="STYLE",kn[kn.SCRIPT=3]="SCRIPT",kn[kn.URL=4]="URL",kn[kn.RESOURCE_URL=5]="RESOURCE_URL",kn))();function Vo(t){const n=Cu();return n?n.sanitize(kn.URL,t)||"":xs(t,"URL")?_o(t):fp(xt(t))}function Rw(t){const n=Cu();if(n)return Tw(n.sanitize(kn.RESOURCE_URL,t)||"");if(xs(t,"ResourceURL"))return Tw(_o(t));throw new Fe(904,!1)}function Cu(){const t=Ve();return t&&t[Vs].sanitizer}class Re{constructor(n,e){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=Ne({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const xu=new Re("ENVIRONMENT_INITIALIZER"),Yw=new Re("INJECTOR",-1),Hw=new Re("INJECTOR_DEF_TYPES");class Bw{get(n,e=hl){if(e===hl){const i=new Error(`NullInjectorError: No provider for ${Fi(n)}!`);throw i.name="NullInjectorError",i}return e}}function jA(...t){return{\u0275providers:Vw(0,t),\u0275fromNgModule:!0}}function Vw(t,...n){const e=[],i=new Set;let o;return fu(n,s=>{const a=s;yb(a,e,[],i)&&(o||=[],o.push(a))}),void 0!==o&&jw(o,e),e}function jw(t,n){for(let e=0;e{n.push(s)})}}function yb(t,n,e,i){if(!(t=Dt(t)))return!1;let o=null,s=Gd(t);const a=!s&&gn(t);if(s||a){if(a&&!a.standalone)return!1;o=t}else{const d=t.ngModule;if(s=Gd(d),!s)return!1;o=d}const l=i.has(o);if(a){if(l)return!1;if(i.add(o),a.dependencies){const d="function"==typeof a.dependencies?a.dependencies():a.dependencies;for(const _ of d)yb(_,n,e,i)}}else{if(!s)return!1;{if(null!=s.imports&&!l){let _;i.add(o);try{fu(s.imports,E=>{yb(E,n,e,i)&&(_||=[],_.push(E))})}finally{}void 0!==_&&jw(_,n)}if(!l){const _=$s(o)||(()=>new o);n.push({provide:o,useFactory:_,deps:cn},{provide:Hw,useValue:o,multi:!0},{provide:xu,useValue:()=>we(o),multi:!0})}const d=s.providers;null==d||l||Mb(d,E=>{n.push(E)})}}return o!==t&&void 0!==t.providers}function Mb(t,n){for(let e of t)zd(e)&&(e=e.\u0275providers),Array.isArray(e)?Mb(e,n):n(e)}const zA=xn({provide:String,useValue:xn});function wb(t){return null!==t&&"object"==typeof t&&zA in t}function Dl(t){return"function"==typeof t}const Cb=new Re("Set Injector scope."),mp={},WA={};let xb;function gp(){return void 0===xb&&(xb=new Bw),xb}class ks{}class kb extends ks{get destroyed(){return this._destroyed}constructor(n,e,i,o){super(),this.parent=e,this.source=i,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Db(n,a=>this.processProvider(a)),this.records.set(Yw,$c(void 0,this)),o.has("environment")&&this.records.set(ks,$c(void 0,this));const s=this.records.get(Cb);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hw.multi,cn,Mt.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const e of this._ngOnDestroyHooks)e.ngOnDestroy();const n=this._onDestroyHooks;this._onDestroyHooks=[];for(const e of n)e()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();const e=gs(this),i=Wi(void 0);try{return n()}finally{gs(e),Wi(i)}}get(n,e=hl,i=Mt.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(bf))return n[bf](this);i=mc(i);const o=gs(this),s=Wi(void 0);try{if(!(i&Mt.SkipSelf)){let l=this.records.get(n);if(void 0===l){const d=function ZA(t){return"function"==typeof t||"object"==typeof t&&t instanceof Re}(n)&&uc(n);l=d&&this.injectableDefInScope(d)?$c(Sb(n),mp):null,this.records.set(n,l)}if(null!=l)return this.hydrate(n,l)}return(i&Mt.Self?gp():this.parent).get(n,e=i&Mt.Optional&&e===hl?null:e)}catch(a){if("NullInjectorError"===a.name){if((a[pc]=a[pc]||[]).unshift(Fi(n)),o)throw a;return function Zg(t,n,e,i){const o=t[pc];throw n[pf]&&o.unshift(n[pf]),t.message=function Xg(t,n,e,i=null){t=t&&"\n"===t.charAt(0)&&"\u0275"==t.charAt(1)?t.slice(2):t;let o=Fi(n);if(Array.isArray(n))o=n.map(Fi).join(" -> ");else if("object"==typeof n){let s=[];for(let a in n)if(n.hasOwnProperty(a)){let l=n[a];s.push(a+":"+("string"==typeof l?JSON.stringify(l):Fi(l)))}o=`{${s.join(", ")}}`}return`${e}${i?"("+i+")":""}[${o}]: ${t.replace($g,"\n ")}`}("\n"+t.message,o,e,i),t.ngTokenPath=o,t[pc]=null,t}(a,n,"R3InjectorError",this.source)}throw a}finally{Wi(s),gs(o)}}resolveInjectorInitializers(){const n=gs(this),e=Wi(void 0);try{const i=this.get(xu.multi,cn,Mt.Self);for(const o of i)o()}finally{gs(n),Wi(e)}}toString(){const n=[],e=this.records;for(const i of e.keys())n.push(Fi(i));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Fe(205,!1)}processProvider(n){let e=Dl(n=Dt(n))?n:Dt(n&&n.provide);const i=function GA(t){return wb(t)?$c(void 0,t.useValue):$c(Ww(t),mp)}(n);if(Dl(n)||!0!==n.multi)this.records.get(e);else{let o=this.records.get(e);o||(o=$c(void 0,mp,!0),o.factory=()=>Zd(o.multi),this.records.set(e,o)),e=n,o.multi.push(n)}this.records.set(e,i)}hydrate(n,e){return e.value===mp&&(e.value=WA,e.value=e.factory()),"object"==typeof e.value&&e.value&&function KA(t){return null!==t&&"object"==typeof t&&"function"==typeof t.ngOnDestroy}(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}injectableDefInScope(n){if(!n.providedIn)return!1;const e=Dt(n.providedIn);return"string"==typeof e?"any"===e||this.scopes.has(e):this.injectorDefTypes.has(e)}removeOnDestroy(n){const e=this._onDestroyHooks.indexOf(n);-1!==e&&this._onDestroyHooks.splice(e,1)}}function Sb(t){const n=uc(t),e=null!==n?n.factory:$s(t);if(null!==e)return e;if(t instanceof Re)throw new Fe(204,!1);if(t instanceof Function)return function $A(t){const n=t.length;if(n>0)throw pu(n,"?"),new Fe(204,!1);const e=function uf(t){return t&&(t[hc]||t[hf])||null}(t);return null!==e?()=>e.factory(t):()=>new t}(t);throw new Fe(204,!1)}function Ww(t,n,e){let i;if(Dl(t)){const o=Dt(t);return $s(o)||Sb(o)}if(wb(t))i=()=>Dt(t.useValue);else if(function Uw(t){return!(!t||!t.useFactory)}(t))i=()=>t.useFactory(...Zd(t.deps||[]));else if(function zw(t){return!(!t||!t.useExisting)}(t))i=()=>we(Dt(t.useExisting));else{const o=Dt(t&&(t.useClass||t.provide));if(!function qA(t){return!!t.deps}(t))return $s(o)||Sb(o);i=()=>new o(...Zd(t.deps))}return i}function $c(t,n,e=!1){return{factory:t,value:n,multi:e?[]:void 0}}function Db(t,n){for(const e of t)Array.isArray(e)?Db(e,n):e&&zd(e)?Db(e.\u0275providers,n):n(e)}const ku=new Re("AppId",{providedIn:"root",factory:()=>XA}),XA="ng",$w=new Re("Platform Initializer"),Oa=new Re("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Ri=new Re("AnimationModuleType"),Tb=new Re("CSP nonce",{providedIn:"root",factory:()=>function Mu(){if(void 0!==pb)return pb;if(typeof document<"u")return document;throw new Fe(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let qw=(t,n)=>null;function Kw(t,n){return qw(t,n)}class sF{}class Jw{}class lF{resolveComponentFactory(n){throw function aF(t){const n=Error(`No component factory found for ${Fi(t)}.`);return n.ngComponent=t,n}(n)}}let Tl=(()=>{class t{}return t.NULL=new lF,t})();function cF(){return Gc(tr(),Ve())}function Gc(t,n){return new vt(yr(t,n))}let vt=(()=>{class t{constructor(e){this.nativeElement=e}}return t.__NG_ELEMENT_ID__=cF,t})();function dF(t){return t instanceof vt?t.nativeElement:t}class Lu{}let Ks=(()=>{class t{}return t.__NG_ELEMENT_ID__=()=>function uF(){const t=Ve(),e=Tr(tr().index,t);return(Yr(e)?e:t)[Et]}(),t})(),hF=(()=>{class t{}return t.\u0275prov=Ne({token:t,providedIn:"root",factory:()=>null}),t})();class Ll{constructor(n){this.full=n,this.major=n.split(".")[0],this.minor=n.split(".")[1],this.patch=n.split(".").slice(2).join(".")}}const fF=new Ll("16.0.2"),Hb={};function Eu(t){for(;t;){t[Yt]|=64;const n=bu(t);if(nu(t)&&!n)return t;t=n}return null}function Bb(t){return t.ngOriginalError}class Ss{constructor(){this._console=console}handleError(n){const e=this._findOriginalError(n);this._console.error("ERROR",n),e&&this._console.error("ORIGINAL ERROR",e)}_findOriginalError(n){let e=n&&Bb(n);for(;e&&Bb(e);)e=Bb(e);return e||null}}const nC=new Re("",{providedIn:"root",factory:()=>!1});function Vb(t){return t.ownerDocument.defaultView}function Zs(t){return t instanceof Function?t():t}class oC extends If{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(n){this._lView=n}onConsumerDependencyMayHaveChanged(){Eu(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(n,e,i){const o=$i(this);this.trackingVersion++;try{n(e,i)}finally{$i(o)}}destroy(){this.trackingVersion++}}let wp=null;function sC(){return wp??=new oC,wp}function aC(t,n){return t[n]??sC()}function lC(t,n){const e=sC();e.hasReadASignal&&(t[n]=wp,e.lView=t,wp=new oC)}const Bt={};function c(t){cC(dn(),Ve(),Vr()+t,!1)}function cC(t,n,e,i){if(!i)if(3==(3&n[Yt])){const s=t.preOrderCheckHooks;null!==s&&$f(n,s,e)}else{const s=t.preOrderHooks;null!==s&&Gf(n,s,0,e)}Ml(e)}function fC(t,n=null,e=null,i){const o=pC(t,n,e,i);return o.resolveInjectorInitializers(),o}function pC(t,n=null,e=null,i,o=new Set){const s=[e||cn,jA(t)];return i=i||("object"==typeof t?void 0:Fi(t)),new kb(s,n||gp(),i||null,o)}let Si=(()=>{class t{static create(e,i){if(Array.isArray(e))return fC({name:""},i,e,"");{const o=e.name??"";return fC({name:o},e.parent,e.providers,o)}}}return t.THROW_IF_NOT_FOUND=hl,t.NULL=new Bw,t.\u0275prov=Ne({token:t,providedIn:"any",factory:()=>we(Yw)}),t.__NG_ELEMENT_ID__=-1,t})();function Y(t,n=Mt.Default){const e=Ve();return null===e?we(t,n):YM(tr(),e,Dt(t),n)}function Aa(){throw new Error("invalid")}function Cp(t,n,e,i,o,s,a,l,d,_,E){const F=n.blueprint.slice();return F[zt]=o,F[Yt]=140|i,(null!==_||t&&2048&t[Yt])&&(F[Yt]|=2048),Rf(F),F[Xn]=F[zs]=t,F[li]=e,F[Vs]=a||t&&t[Vs],F[Et]=l||t&&t[Et],F[Da]=d||t&&t[Da]||null,F[pr]=s,F[_l]=function BO(){return HO++}(),F[Xo]=E,F[kf]=_,F[xi]=2==n.type?t[xi]:F,F}function Kc(t,n,e,i,o){let s=t.data[n];if(null===s)s=function jb(t,n,e,i,o){const s=Oc(),a=tn(),d=t.data[n]=function OF(t,n,e,i,o,s){let a=n?n.injectorIndex:-1,l=0;return Ea()&&(l|=128),{type:e,index:i,insertBeforeIndex:null,injectorIndex:a,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:l,providerIndexes:0,value:o,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,a?s:s&&s.parent,e,n,i,o);return null===t.firstChild&&(t.firstChild=d),null!==s&&(a?null==s.child&&null!==d.parent&&(s.child=d):null===s.next&&(s.next=d,d.prev=s)),d}(t,n,e,i,o),function ki(){return Tt.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=e,s.value=i,s.attrs=o;const a=function Ho(){const t=Tt.lFrame,n=t.currentTNode;return t.isParent?n:n.parent}();s.injectorIndex=null===a?-1:a.injectorIndex}return Hr(s,!0),s}function Iu(t,n,e,i){if(0===e)return-1;const o=n.length;for(let s=0;sQt&&cC(t,n,Qt,!1),Ro(l?2:0,o),l)s.runInContext(e,i,o);else{const _=$i(null);try{e(i,o)}finally{$i(_)}}}finally{l&&null===n[Cc]&&lC(n,Cc),Ml(a),Ro(l?3:1,o)}}function zb(t,n,e){if(Sc(n)){const i=$i(null);try{const s=n.directiveEnd;for(let a=n.directiveStart;anull;function bC(t,n,e,i){for(let o in t)if(t.hasOwnProperty(o)){e=null===e?{}:e;const s=t[o];null===i?vC(e,n,o,s):i.hasOwnProperty(o)&&vC(e,n,i[o],s)}return e}function vC(t,n,e,i){t.hasOwnProperty(e)?t[e].push(n,i):t[e]=[n,i]}function bo(t,n,e,i,o,s,a,l){const d=yr(n,e);let E,_=n.inputs;!l&&null!=_&&(E=_[i])?(Xb(t,e,E,i,o),Ws(n)&&function RF(t,n){const e=Tr(n,t);16&e[Yt]||(e[Yt]|=64)}(e,n.index)):3&n.type&&(i=function FF(t){return"class"===t?"className":"for"===t?"htmlFor":"formaction"===t?"formAction":"innerHtml"===t?"innerHTML":"readonly"===t?"readOnly":"tabindex"===t?"tabIndex":t}(i),o=null!=a?a(o,n.value||"",i):o,s.setProperty(d,i,o))}function Gb(t,n,e,i){if(Vf()){const o=null===i?null:{"":-1},s=function jF(t,n){const e=t.directiveRegistry;let i=null,o=null;if(e)for(let s=0;s0;){const e=t[--n];if("number"==typeof e&&e<0)return e}return 0})(a)!=l&&a.push(l),a.push(e,i,s)}}(t,n,i,Iu(t,e,o.hostVars,Bt),o)}function Ds(t,n,e,i,o,s){const a=yr(t,n);!function Kb(t,n,e,i,o,s,a){if(null==s)t.removeAttribute(n,o,e);else{const l=null==a?xt(s):a(s,i||"",o);t.setAttribute(n,o,l,e)}}(n[Et],a,s,t.value,e,i,o)}function qF(t,n,e,i,o,s){const a=s[n];if(null!==a)for(let l=0;l{class t{constructor(){this.all=new Set,this.queue=new Map}create(e,i,o){const s=typeof Zone>"u"?null:Zone.current,a=new M_(e,_=>{this.all.has(_)&&this.queue.set(_,s)},o);let l;this.all.add(a),a.notify();const d=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=i?.onDestroy(d),{destroy:d}}flush(){if(0!==this.queue.size)for(const[e,i]of this.queue)this.queue.delete(e),i?i.run(()=>e.run()):e.run()}get isQueueEmpty(){return 0===this.queue.size}}return t.\u0275prov=Ne({token:t,providedIn:"root",factory:()=>new t}),t})();function kp(t,n,e){let i=e?t.styles:null,o=e?t.classes:null,s=0;if(null!==n)for(let a=0;a0&&Qb(e)}}function Qb(t){for(let i=rb(t);null!==i;i=ob(i))for(let o=ni;o0&&Qb(s)}const e=t[lt].components;if(null!==e)for(let i=0;i0&&Qb(o)}}class Ou{get rootNodes(){const n=this._lView,e=n[lt];return Pu(e,n,e.firstChild,[])}constructor(n,e){this._lView=n,this._cdRefInjectingView=e,this._appRef=null,this._attachedToViewContainer=!1}get context(){return this._lView[li]}set context(n){this._lView[li]=n}get destroyed(){return 256==(256&this._lView[Yt])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const n=this._lView[Xn];if(vr(n)){const e=n[kc],i=e?e.indexOf(this):-1;i>-1&&(ab(n,i),Qf(e,i))}this._attachedToViewContainer=!1}fw(this._lView[lt],this._lView)}onDestroy(n){!function Hf(t,n){if(256==(256&t[Yt]))throw new Fe(911,!1);null===t[vs]&&(t[vs]=[]),t[vs].push(n)}(this._lView,n)}markForCheck(){Eu(this._cdRefInjectingView||this._lView)}detach(){this._lView[Yt]&=-129}reattach(){this._lView[Yt]|=128}detectChanges(){Sp(this._lView[lt],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new Fe(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function eA(t,n){yu(t,n,n[Et],2,null,null)}(this._lView[lt],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new Fe(902,!1);this._appRef=n}}class aR extends Ou{constructor(n){super(n),this._view=n}detectChanges(){const n=this._view;Sp(n[lt],n,n[li],!1)}checkNoChanges(){}get context(){return null}}class EC extends Tl{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){const e=gn(n);return new Au(e,this.ngModule)}}function IC(t){const n=[];for(let e in t)t.hasOwnProperty(e)&&n.push({propName:t[e],templateName:e});return n}class cR{constructor(n,e){this.injector=n,this.parentInjector=e}get(n,e,i){i=mc(i);const o=this.injector.get(n,Hb,i);return o!==Hb||e===Hb?o:this.parentInjector.get(n,e,i)}}class Au extends Jw{get inputs(){return IC(this.componentDef.inputs)}get outputs(){return IC(this.componentDef.outputs)}constructor(n,e){super(),this.componentDef=n,this.ngModule=e,this.componentType=n.type,this.selector=function yc(t){return t.map(n_).join(",")}(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!e}create(n,e,i,o){let s=(o=o||this.ngModule)instanceof ks?o:o?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const a=s?new cR(n,s):n,l=a.get(Lu,null);if(null===l)throw new Fe(407,!1);const E={rendererFactory:l,sanitizer:a.get(hF,null),effectManager:a.get(LC,null)},F=l.createRenderer(null,this.componentDef),G=this.componentDef.selectors[0][0]||"div",ie=i?function TF(t,n,e,i){const s=i.get(nC,!1)||e===Dr.ShadowDom,a=t.selectRootElement(n,s);return function LF(t){_C(t)}(a),a}(F,i,this.componentDef.encapsulation,a):ap(F,G,function lR(t){const n=t.toLowerCase();return"svg"===n?No:"math"===n?"math":null}(G)),_e=this.componentDef.onPush?576:528,Ce=$b(0,null,null,1,0,null,null,null,null,null,null),Ae=Cp(null,Ce,null,_e,null,null,E,F,a,null,null);let ze,Ee;N_(Ae);try{const qe=this.componentDef;let dt,Rt=null;qe.findHostDirectiveDefs?(dt=[],Rt=new Map,qe.findHostDirectiveDefs(qe,dt,Rt),dt.push(qe)):dt=[qe];const sn=function uR(t,n){const e=t[lt],i=Qt;return t[i]=n,Kc(e,i,2,"#host",null)}(Ae,ie),Ii=function hR(t,n,e,i,o,s,a){const l=o[lt];!function fR(t,n,e,i){for(const o of t)n.mergedAttrs=xa(n.mergedAttrs,o.hostAttrs);null!==n.mergedAttrs&&(kp(n,n.mergedAttrs,!0),null!==e&&kw(i,e,n))}(i,t,n,a);let d=null;null!==n&&(d=Kw(n,o[Da]));const _=s.rendererFactory.createRenderer(n,e),E=Cp(o,gC(e),null,e.onPush?64:16,o[t.index],t,s,_,null,null,d);return l.firstCreatePass&&qb(l,t,i.length-1),xp(o,E),o[t.index]=E}(sn,ie,qe,dt,Ae,E,F);Ee=lu(Ce,Qt),ie&&function mR(t,n,e,i){if(i)hi(t,e,["ng-version",fF.full]);else{const{attrs:o,classes:s}=function eu(t){const n=[],e=[];let i=1,o=2;for(;i0&&xw(t,e,s.join(" "))}}(F,qe,ie,i),void 0!==e&&function gR(t,n,e){const i=t.projection=[];for(let o=0;o=0;i--){const o=t[i];o.hostVars=n+=o.hostVars,o.hostAttrs=xa(o.hostAttrs,e=xa(e,o.hostAttrs))}}(i)}function ev(t){return t===lo?{}:t===cn?[]:t}function vR(t,n){const e=t.viewQuery;t.viewQuery=e?(i,o)=>{n(i,o),e(i,o)}:n}function yR(t,n){const e=t.contentQueries;t.contentQueries=e?(i,o,s)=>{n(i,o,s),e(i,o,s)}:n}function MR(t,n){const e=t.hostBindings;t.hostBindings=e?(i,o)=>{n(i,o),e(i,o)}:n}function Tp(t){return!!tv(t)&&(Array.isArray(t)||!(t instanceof Map)&&Symbol.iterator in t)}function tv(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function Ts(t,n,e){return t[n]=e}function Er(t,n,e){return!Object.is(t[n],e)&&(t[n]=e,!0)}function El(t,n,e,i){const o=Er(t,n,e);return Er(t,n+1,i)||o}function Xt(t,n,e,i){const o=Ve();return Er(o,At(),n)&&(dn(),Ds(fi(),o,t,n,e,i)),Xt}function Xc(t,n,e,i){return Er(t,At(),e)?n+xt(e)+i:Bt}function Jc(t,n,e,i,o,s){const l=El(t,function Le(){return Tt.lFrame.bindingIndex}(),e,o);return Ut(2),l?n+xt(e)+i+xt(o)+s:Bt}function V(t,n,e,i,o,s,a,l){const d=Ve(),_=dn(),E=t+Qt,F=_.firstCreatePass?function $R(t,n,e,i,o,s,a,l,d){const _=n.consts,E=Kc(n,t,4,a||null,Ms(_,l));Gb(n,e,E,Ms(_,d)),Wf(n,E);const F=E.tView=$b(2,E,i,o,s,n.directiveRegistry,n.pipeRegistry,null,n.schemas,_,null);return null!==n.queries&&(n.queries.template(n,E),F.queries=n.queries.embeddedTView(E)),E}(E,_,d,n,e,i,o,s,a):_.data[E];Hr(F,!1);const G=qC(_,d,F,t);Uf()&&cp(_,d,G,F),Lr(G,d),xp(d,d[E]=CC(G,d,G,F)),Dc(F)&&Ub(_,d,F),null!=a&&Wb(d,F,l)}let qC=function KC(t,n,e,i){return Ia(!0),n[Et].createComment("")};function ci(t){return ys(function P(){return Tt.lFrame.contextLView}(),Qt+t)}function w(t,n,e){const i=Ve();return Er(i,At(),n)&&bo(dn(),fi(),i,t,n,i[Et],e,!1),w}function av(t,n,e,i,o){const a=o?"class":"style";Xb(t,e,n.inputs[a],a,i)}function D(t,n,e,i){const o=Ve(),s=dn(),a=Qt+t,l=o[Et],d=s.firstCreatePass?function ZR(t,n,e,i,o,s){const a=n.consts,d=Kc(n,t,2,i,Ms(a,o));return Gb(n,e,d,Ms(a,s)),null!==d.attrs&&kp(d,d.attrs,!1),null!==d.mergedAttrs&&kp(d,d.mergedAttrs,!0),null!==n.queries&&n.queries.elementStart(n,d),d}(a,s,o,n,e,i):s.data[a],_=ZC(s,o,d,l,n,t);o[a]=_;const E=Dc(d);return Hr(d,!0),kw(l,_,d),32!=(32&d.flags)&&Uf()&&cp(s,o,_,d),0===function I_(){return Tt.lFrame.elementDepthCount}()&&Lr(_,o),function P_(){Tt.lFrame.elementDepthCount++}(),E&&(Ub(s,o,d),zb(s,d,o)),null!==i&&Wb(o,d),D}function C(){let t=tr();tn()?m():(t=t.parent,Hr(t,!1));const n=t;(function A_(t){return Tt.skipHydrationRootTNode===t})(n)&&function Yo(){Tt.skipHydrationRootTNode=null}(),function O_(){Tt.lFrame.elementDepthCount--}();const e=dn();return e.firstCreatePass&&(Wf(e,t),Sc(t)&&e.queries.elementEnd(t)),null!=n.classesWithoutHost&&function tO(t){return 0!=(8&t.flags)}(n)&&av(e,n,Ve(),n.classesWithoutHost,!0),null!=n.stylesWithoutHost&&function nO(t){return 0!=(16&t.flags)}(n)&&av(e,n,Ve(),n.stylesWithoutHost,!1),C}function xe(t,n,e,i){return D(t,n,e,i),C(),xe}let ZC=(t,n,e,i,o,s)=>(Ia(!0),ap(i,o,function TM(){return Tt.lFrame.currentNamespace}()));function Ue(t,n,e){const i=Ve(),o=dn(),s=t+Qt,a=o.firstCreatePass?function QR(t,n,e,i,o){const s=n.consts,a=Ms(s,i),l=Kc(n,t,8,"ng-container",a);return null!==a&&kp(l,a,!0),Gb(n,e,l,Ms(s,o)),null!==n.queries&&n.queries.elementStart(n,l),l}(s,o,i,n,e):o.data[s];Hr(a,!0);const l=XC(o,i,a,t);return i[s]=l,Uf()&&cp(o,i,l,a),Lr(l,i),Dc(a)&&(Ub(o,i,a),zb(o,a,i)),null!=e&&Wb(i,a),Ue}function We(){let t=tr();const n=dn();return tn()?m():(t=t.parent,Hr(t,!1)),n.firstCreatePass&&(Wf(n,t),Sc(t)&&n.queries.elementEnd(t)),We}function Jo(t,n,e){return Ue(t,n,e),We(),Jo}let XC=(t,n,e,i)=>(Ia(!0),sb(n[Et],""));function et(){return Ve()}function Hu(t){return!!t&&"function"==typeof t.then}function JC(t){return!!t&&"function"==typeof t.subscribe}function ye(t,n,e,i){const o=Ve(),s=dn(),a=tr();return QC(s,o,o[Et],a,t,n,i),ye}function lv(t,n){const e=tr(),i=Ve(),o=dn();return QC(o,i,DC(Ac(o.data),e,i),e,t,n),lv}function QC(t,n,e,i,o,s,a){const l=Dc(i),_=t.firstCreatePass&&SC(t),E=n[li],F=kC(n);let G=!0;if(3&i.type||a){const Ce=yr(i,n),Ae=a?a(Ce):Ce,ze=F.length,Ee=a?dt=>a(Un(dt[i.index])):i.index;let qe=null;if(!a&&l&&(qe=function n3(t,n,e,i){const o=t.cleanup;if(null!=o)for(let s=0;sd?l[d]:null}"string"==typeof a&&(s+=2)}return null}(t,n,o,i.index)),null!==qe)(qe.__ngLastListenerFn__||qe).__ngNextListenerFn__=s,qe.__ngLastListenerFn__=s,G=!1;else{s=tx(i,n,E,s,!1);const dt=e.listen(Ae,o,s);F.push(s,dt),_&&_.push(o,Ee,ze,ze+1)}}else s=tx(i,n,E,s,!1);const ie=i.outputs;let _e;if(G&&null!==ie&&(_e=ie[o])){const Ce=_e.length;if(Ce)for(let Ae=0;Ae-1?Tr(t.index,n):n);let d=ex(n,e,i,a),_=s.__ngNextListenerFn__;for(;_;)d=ex(n,e,_,a)&&d,_=_.__ngNextListenerFn__;return o&&!1===d&&a.preventDefault(),d}}function z(t=1){return function qP(t){return(Tt.lFrame.contextLView=function KP(t,n){for(;t>0;)n=n[zs],t--;return n}(t,Tt.lFrame.contextLView))[li]}(t)}function r3(t,n){let e=null;const i=function Qg(t){const n=t.attrs;if(null!=n){const e=n.indexOf(5);if(!(1&e))return n[e+1]}return null}(t);for(let o=0;o>17&32767}function dv(t){return 2|t}function Il(t){return(131068&t)>>2}function uv(t,n){return-131069&t|n<<2}function hv(t){return 1|t}function dx(t,n,e,i,o){const s=t[e+1],a=null===n;let l=i?Fa(s):Il(s),d=!1;for(;0!==l&&(!1===d||a);){const E=t[l+1];d3(t[l],n)&&(d=!0,t[l+1]=i?hv(E):dv(E)),l=i?Fa(E):Il(E)}d&&(t[e+1]=i?dv(s):hv(s))}function d3(t,n){return null===t||null==n||(Array.isArray(t)?t[1]:t)===n||!(!Array.isArray(t)||"string"!=typeof n)&&Vc(t,n)>=0}const ir={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function ux(t){return t.substring(ir.key,ir.keyEnd)}function u3(t){return t.substring(ir.value,ir.valueEnd)}function hx(t,n){const e=ir.textEnd;return e===n?-1:(n=ir.keyEnd=function p3(t,n,e){for(;n32;)n++;return n}(t,ir.key=n,e),od(t,n,e))}function fx(t,n){const e=ir.textEnd;let i=ir.key=od(t,n,e);return e===i?-1:(i=ir.keyEnd=function m3(t,n,e){let i;for(;n=65&&(-33&i)<=90||i>=48&&i<=57);)n++;return n}(t,i,e),i=mx(t,i,e),i=ir.value=od(t,i,e),i=ir.valueEnd=function g3(t,n,e){let i=-1,o=-1,s=-1,a=n,l=a;for(;a32&&(l=a),s=o,o=i,i=-33&d}return l}(t,i,e),mx(t,i,e))}function px(t){ir.key=0,ir.keyEnd=0,ir.value=0,ir.valueEnd=0,ir.textEnd=t.length}function od(t,n,e){for(;n=0;e=fx(n,e))vx(t,ux(n),u3(n))}function eo(t){es(C3,Ls,t,!0)}function Ls(t,n){for(let e=function h3(t){return px(t),hx(t,od(t,0,ir.textEnd))}(n);e>=0;e=hx(n,e))go(t,ux(n),!0)}function Qo(t,n,e,i){const o=Ve(),s=dn(),a=Ut(2);s.firstUpdatePass&&bx(s,t,a,i),n!==Bt&&Er(o,a,n)&&yx(s,s.data[Vr()],o,o[Et],t,o[a+1]=function k3(t,n){return null==t||""===t||("string"==typeof n?t+=n:"object"==typeof t&&(t=Fi(_o(t)))),t}(n,e),i,a)}function es(t,n,e,i){const o=dn(),s=Ut(2);o.firstUpdatePass&&bx(o,null,s,i);const a=Ve();if(e!==Bt&&Er(a,s,e)){const l=o.data[Vr()];if(wx(l,i)&&!_x(o,s)){let d=i?l.classesWithoutHost:l.stylesWithoutHost;null!==d&&(e=ba(d,e||"")),av(o,l,a,e,i)}else!function x3(t,n,e,i,o,s,a,l){o===Bt&&(o=cn);let d=0,_=0,E=0=t.expandoStartIndex}function bx(t,n,e,i){const o=t.data;if(null===o[e+1]){const s=o[Vr()],a=_x(t,e);wx(s,i)&&null===n&&!a&&(n=!1),n=function b3(t,n,e,i){const o=Ac(t);let s=i?n.residualClasses:n.residualStyles;if(null===o)0===(i?n.classBindings:n.styleBindings)&&(e=Bu(e=fv(null,t,n,e,i),n.attrs,i),s=null);else{const a=n.directiveStylingLast;if(-1===a||t[a]!==o)if(e=fv(o,t,n,e,i),null===s){let d=function v3(t,n,e){const i=e?n.classBindings:n.styleBindings;if(0!==Il(i))return t[Fa(i)]}(t,n,i);void 0!==d&&Array.isArray(d)&&(d=fv(null,t,n,d[1],i),d=Bu(d,n.attrs,i),function y3(t,n,e,i){t[Fa(e?n.classBindings:n.styleBindings)]=i}(t,n,i,d))}else s=function M3(t,n,e){let i;const o=n.directiveEnd;for(let s=1+n.directiveStylingLast;s0)&&(_=!0)):E=e,o)if(0!==d){const G=Fa(t[l+1]);t[i+1]=Op(G,l),0!==G&&(t[G+1]=uv(t[G+1],i)),t[l+1]=function s3(t,n){return 131071&t|n<<17}(t[l+1],i)}else t[i+1]=Op(l,0),0!==l&&(t[l+1]=uv(t[l+1],i)),l=i;else t[i+1]=Op(d,0),0===l?l=i:t[d+1]=uv(t[d+1],i),d=i;_&&(t[i+1]=dv(t[i+1])),dx(t,E,i,!0),dx(t,E,i,!1),function c3(t,n,e,i,o){const s=o?t.residualClasses:t.residualStyles;null!=s&&"string"==typeof n&&Vc(s,n)>=0&&(e[i+1]=hv(e[i+1]))}(n,E,t,i,s),a=Op(l,d),s?n.classBindings=a:n.styleBindings=a}(o,s,n,e,a,i)}}function fv(t,n,e,i,o){let s=null;const a=e.directiveEnd;let l=e.directiveStylingLast;for(-1===l?l=e.directiveStart:l++;l0;){const d=t[o],_=Array.isArray(d),E=_?d[1]:d,F=null===E;let G=e[o+1];G===Bt&&(G=F?cn:void 0);let ie=F?G_(G,i):E===i?G:void 0;if(_&&!Ap(ie)&&(ie=G_(d,i)),Ap(ie)&&(l=ie,a))return l;const _e=t[o+1];o=a?Fa(_e):Il(_e)}if(null!==n){let d=s?n.residualClasses:n.residualStyles;null!=d&&(l=G_(d,i))}return l}function Ap(t){return void 0!==t}function wx(t,n){return 0!=(t.flags&(n?8:16))}function I(t,n=""){const e=Ve(),i=dn(),o=t+Qt,s=i.firstCreatePass?Kc(i,o,1,n,null):i.data[o],a=Cx(i,e,s,n,t);e[o]=a,Uf()&&cp(i,e,a,s),Hr(s,!1)}let Cx=(t,n,e,i,o)=>(Ia(!0),function sp(t,n){return t.createText(n)}(n[Et],i));function se(t){return ce("",t,""),se}function ce(t,n,e){const i=Ve(),o=Xc(i,t,n,e);return o!==Bt&&Xs(i,Vr(),o),ce}function vo(t,n,e,i,o){const s=Ve(),a=Jc(s,t,n,e,i,o);return a!==Bt&&Xs(s,Vr(),a),vo}function Js(t,n,e){const i=Ve();return Er(i,At(),n)&&bo(dn(),fi(),i,t,n,i[Et],e,!0),Js}function pv(t,n,e){const i=Ve();if(Er(i,At(),n)){const s=dn(),a=fi();bo(s,a,i,t,n,DC(Ac(s.data),a,i),e,!0)}return pv}const Ol=void 0;var $3=["en",[["a","p"],["AM","PM"],Ol],[["AM","PM"],Ol,Ol],[["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"]],Ol,[["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"]],Ol,[["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}",Ol,"{1} 'at' {0}",Ol],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function W3(t){const e=Math.floor(Math.abs(t)),i=t.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===i?1:5}];let sd={};function jr(t){const n=function G3(t){return t.toLowerCase().replace(/_/g,"-")}(t);let e=jx(n);if(e)return e;const i=n.split("-")[0];if(e=jx(i),e)return e;if("en"===i)return $3;throw new Fe(701,!1)}function jx(t){return t in sd||(sd[t]=wn.ng&&wn.ng.common&&wn.ng.common.locales&&wn.ng.common.locales[t]),sd[t]}var ct=(()=>((ct=ct||{})[ct.LocaleId=0]="LocaleId",ct[ct.DayPeriodsFormat=1]="DayPeriodsFormat",ct[ct.DayPeriodsStandalone=2]="DayPeriodsStandalone",ct[ct.DaysFormat=3]="DaysFormat",ct[ct.DaysStandalone=4]="DaysStandalone",ct[ct.MonthsFormat=5]="MonthsFormat",ct[ct.MonthsStandalone=6]="MonthsStandalone",ct[ct.Eras=7]="Eras",ct[ct.FirstDayOfWeek=8]="FirstDayOfWeek",ct[ct.WeekendRange=9]="WeekendRange",ct[ct.DateFormat=10]="DateFormat",ct[ct.TimeFormat=11]="TimeFormat",ct[ct.DateTimeFormat=12]="DateTimeFormat",ct[ct.NumberSymbols=13]="NumberSymbols",ct[ct.NumberFormats=14]="NumberFormats",ct[ct.CurrencyCode=15]="CurrencyCode",ct[ct.CurrencySymbol=16]="CurrencySymbol",ct[ct.CurrencyName=17]="CurrencyName",ct[ct.Currencies=18]="Currencies",ct[ct.Directionality=19]="Directionality",ct[ct.PluralCase=20]="PluralCase",ct[ct.ExtraData=21]="ExtraData",ct))();const ad="en-US";let zx=ad;function _v(t,n,e,i,o){if(t=Dt(t),Array.isArray(t))for(let s=0;s>20;if(Dl(t)||!t.multi){const ie=new du(d,o,Y),_e=vv(l,n,o?E:E+G,F);-1===_e?(U_(Xf(_,a),s,l),bv(s,t,n.length),n.push(l),_.directiveStart++,_.directiveEnd++,o&&(_.providerIndexes+=1048576),e.push(ie),a.push(ie)):(e[_e]=ie,a[_e]=ie)}else{const ie=vv(l,n,E+G,F),_e=vv(l,n,E,E+G),Ae=_e>=0&&e[_e];if(o&&!Ae||!o&&!(ie>=0&&e[ie])){U_(Xf(_,a),s,l);const ze=function UN(t,n,e,i,o){const s=new du(t,e,Y);return s.multi=[],s.index=n,s.componentProviders=0,pk(s,o,i&&!e),s}(o?zN:jN,e.length,o,i,d);!o&&Ae&&(e[_e].providerFactory=ze),bv(s,t,n.length,0),n.push(l),_.directiveStart++,_.directiveEnd++,o&&(_.providerIndexes+=1048576),e.push(ze),a.push(ze)}else bv(s,t,ie>-1?ie:_e,pk(e[o?_e:ie],d,!o&&i));!o&&i&&Ae&&e[_e].componentProviders++}}}function bv(t,n,e,i){const o=Dl(n),s=function UA(t){return!!t.useClass}(n);if(o||s){const d=(s?Dt(n.useClass):n).prototype.ngOnDestroy;if(d){const _=t.destroyHooks||(t.destroyHooks=[]);if(!o&&n.multi){const E=_.indexOf(e);-1===E?_.push(e,[i,d]):_[E+1].push(i,d)}else _.push(e,d)}}}function pk(t,n,e){return e&&t.componentProviders++,t.multi.push(n)-1}function vv(t,n,e,i){for(let o=e;o{e.providersResolver=(i,o)=>function VN(t,n,e){const i=dn();if(i.firstCreatePass){const o=fo(t);_v(e,i.data,i.blueprint,o,!0),_v(n,i.data,i.blueprint,o,!1)}}(i,o?o(t):t,n)}}class ld{}class mk{}class Mv extends ld{constructor(n,e,i){super(),this._parent=e,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new EC(this);const o=Nr(n);this._bootstrapComponents=Zs(o.bootstrap),this._r3Injector=pC(n,e,[{provide:ld,useValue:this},{provide:Tl,useValue:this.componentFactoryResolver},...i],Fi(n),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(n)}get injector(){return this._r3Injector}destroy(){const n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}}class wv extends mk{constructor(n){super(),this.moduleType=n}create(n){return new Mv(this.moduleType,n,[])}}class gk extends ld{constructor(n){super(),this.componentFactoryResolver=new EC(this),this.instance=null;const e=new kb([...n.providers,{provide:ld,useValue:this},{provide:Tl,useValue:this.componentFactoryResolver}],n.parent||gp(),n.debugName,new Set(["environment"]));this.injector=e,n.runEnvironmentInitializers&&e.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}}function Cv(t,n,e=null){return new gk({providers:t,parent:n,debugName:e,runEnvironmentInitializers:!0}).injector}let GN=(()=>{class t{constructor(e){this._injector=e,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e.id)){const i=Vw(0,e.type),o=i.length>0?Cv([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e.id,o)}return this.cachedInjectors.get(e.id)}ngOnDestroy(){try{for(const e of this.cachedInjectors.values())null!==e&&e.destroy()}finally{this.cachedInjectors.clear()}}}return t.\u0275prov=Ne({token:t,providedIn:"environment",factory:()=>new t(we(ks))}),t})();function _k(t){t.getStandaloneInjector=n=>n.get(GN).getOrCreateStandaloneInjector(t)}function qn(t,n,e){const i=ne()+t,o=Ve();return o[i]===Bt?Ts(o,i,e?n.call(e):n()):function Fu(t,n){return t[n]}(o,i)}function He(t,n,e,i){return xk(Ve(),ne(),t,n,e,i)}function mn(t,n,e,i,o){return kk(Ve(),ne(),t,n,e,i,o)}function $u(t,n){const e=t[n];return e===Bt?void 0:e}function xk(t,n,e,i,o,s){const a=n+e;return Er(t,a,o)?Ts(t,a+1,s?i.call(s,o):i(o)):$u(t,a+1)}function kk(t,n,e,i,o,s,a){const l=n+e;return El(t,l,o,s)?Ts(t,l+2,a?i.call(a,o,s):i(o,s)):$u(t,l+2)}function R(t,n){const e=dn();let i;const o=t+Qt;e.firstCreatePass?(i=function d4(t,n){if(n)for(let e=n.length-1;e>=0;e--){const i=n[e];if(t===i.name)return i}}(n,e.pipeRegistry),e.data[o]=i,i.onDestroy&&(e.destroyHooks??=[]).push(o,i.onDestroy)):i=e.data[o];const s=i.factory||(i.factory=$s(i.type)),a=Wi(Y);try{const l=Zf(!1),d=s();return Zf(l),function KR(t,n,e,i){e>=t.data.length&&(t.data[e]=null,t.blueprint[e]=null),n[e]=i}(e,Ve(),o,d),d}finally{Wi(a)}}function H(t,n,e){const i=t+Qt,o=Ve(),s=ys(o,i);return Gu(o,i)?xk(o,ne(),n,s.transform,e,s):s.transform(e)}function kt(t,n,e,i){const o=t+Qt,s=Ve(),a=ys(s,o);return Gu(s,o)?kk(s,ne(),n,a.transform,e,i,a):a.transform(e,i)}function Gu(t,n){return t[lt].data[n].pure}function kv(t){return n=>{setTimeout(t,void 0,n)}}const ht=class p4 extends J{constructor(n=!1){super(),this.__isAsync=n}emit(n){super.next(n)}subscribe(n,e,i){let o=n,s=e||(()=>null),a=i;if(n&&"object"==typeof n){const d=n;o=d.next?.bind(d),s=d.error?.bind(d),a=d.complete?.bind(d)}this.__isAsync&&(s=kv(s),o&&(o=kv(o)),a&&(a=kv(a)));const l=super.subscribe({next:o,error:s,complete:a});return n instanceof T&&n.add(l),l}};function m4(){return this._results[Symbol.iterator]()}class Al{get changes(){return this._changes||(this._changes=new ht)}constructor(n=!1){this._emitDistinctChangesOnly=n,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const e=Al.prototype;e[Symbol.iterator]||(e[Symbol.iterator]=m4)}get(n){return this._results[n]}map(n){return this._results.map(n)}filter(n){return this._results.filter(n)}find(n){return this._results.find(n)}reduce(n,e){return this._results.reduce(n,e)}forEach(n){this._results.forEach(n)}some(n){return this._results.some(n)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(n,e){const i=this;i.dirty=!1;const o=function Bo(t){return t.flat(Number.POSITIVE_INFINITY)}(n);(this._changesDetected=!function fO(t,n,e){if(t.length!==n.length)return!1;for(let i=0;i{class t{}return t.__NG_ELEMENT_ID__=b4,t})();const g4=mr,_4=class extends g4{constructor(n,e,i){super(),this._declarationLView=n,this._declarationTContainer=e,this.elementRef=i}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,e){return this.createEmbeddedViewImpl(n,e,null)}createEmbeddedViewImpl(n,e,i){const o=this._declarationTContainer.tView,s=Cp(this._declarationLView,o,n,16,null,o.declTNode,null,null,null,e||null,i||null);s[Us]=this._declarationLView[this._declarationTContainer.index];const l=this._declarationLView[Xr];return null!==l&&(s[Xr]=l.createEmbeddedView(o)),Jb(o,s,n),new Ou(s)}};function b4(){return Hp(tr(),Ve())}function Hp(t,n){return 4&t.type?new _4(n,t,Gc(t,n)):null}let rr=(()=>{class t{}return t.__NG_ELEMENT_ID__=k4,t})();function k4(){return Ak(tr(),Ve())}const S4=rr,Pk=class extends S4{constructor(n,e,i){super(),this._lContainer=n,this._hostTNode=e,this._hostLView=i}get element(){return Gc(this._hostTNode,this._hostLView)}get injector(){return new Rc(this._hostTNode,this._hostLView)}get parentInjector(){const n=z_(this._hostTNode,this._hostLView);if(PM(n)){const e=Kf(n,this._hostLView),i=qf(n);return new Rc(e[lt].data[i+8],e)}return new Rc(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){const e=Ok(this._lContainer);return null!==e&&e[n]||null}get length(){return this._lContainer.length-ni}createEmbeddedView(n,e,i){let o,s;"number"==typeof i?o=i:null!=i&&(o=i.index,s=i.injector);const l=n.createEmbeddedViewImpl(e||{},s,null);return this.insertImpl(l,o,false),l}createComponent(n,e,i,o,s){const a=n&&!function hu(t){return"function"==typeof t}(n);let l;if(a)l=e;else{const Ce=e||{};l=Ce.index,i=Ce.injector,o=Ce.projectableNodes,s=Ce.environmentInjector||Ce.ngModuleRef}const d=a?n:new Au(gn(n)),_=i||this.parentInjector;if(!s&&null==d.ngModule){const Ae=(a?_:this.parentInjector).get(ks,null);Ae&&(s=Ae)}gn(d.componentType??{});const ie=d.create(_,o,null,s);return this.insertImpl(ie.hostView,l,false),ie}insert(n,e){return this.insertImpl(n,e,!1)}insertImpl(n,e,i){const o=n._lView,s=o[lt];if(function T_(t){return vr(t[Xn])}(o)){const d=this.indexOf(n);if(-1!==d)this.detach(d);else{const _=o[Xn],E=new Pk(_,_[pr],_[Xn]);E.detach(E.indexOf(n))}}const a=this._adjustIndex(e),l=this._lContainer;if(function nA(t,n,e,i){const o=ni+i,s=e.length;i>0&&(e[o-1][uo]=n),i0)i.push(a[l/2]);else{const _=s[l+1],E=n[-d];for(let F=ni;F{class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((e,i)=>{this.resolve=e,this.reject=i}),this.appInits=Qe(Yv,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const e=[];for(const o of this.appInits){const s=o();if(Hu(s))e.push(s);else if(JC(s)){const a=new Promise((l,d)=>{s.subscribe({complete:l,error:d})});e.push(a)}}const i=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{i()}).catch(o=>{this.reject(o)}),0===e.length&&i(),this.initialized=!0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),rS=(()=>{class t{log(e){console.log(e)}warn(e){console.warn(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"platform"}),t})();const Is=new Re("LocaleId",{providedIn:"root",factory:()=>Qe(Is,Mt.Optional|Mt.SkipSelf)||function n5(){return typeof $localize<"u"&&$localize.locale||ad}()});class o5{constructor(n,e){this.ngModuleFactory=n,this.componentFactories=e}}let oS=(()=>{class t{compileModuleSync(e){return new wv(e)}compileModuleAsync(e){return Promise.resolve(this.compileModuleSync(e))}compileModuleAndAllComponentsSync(e){const i=this.compileModuleSync(e),s=Zs(Nr(e).declarations).reduce((a,l)=>{const d=gn(l);return d&&a.push(new Au(d)),a},[]);return new o5(i,s)}compileModuleAndAllComponentsAsync(e){return Promise.resolve(this.compileModuleAndAllComponentsSync(e))}clearCache(){}clearCacheFor(e){}getModuleId(e){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const l5=(()=>Promise.resolve(0))();function Bv(t){typeof Zone>"u"?l5.then(()=>{t&&t.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",t)}function lS(...t){}class ft{constructor({enableLongStackTrace:n=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ht(!1),this.onMicrotaskEmpty=new ht(!1),this.onStable=new ht(!1),this.onError=new ht(!1),typeof Zone>"u")throw new Fe(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!i&&e,o.shouldCoalesceRunChangeDetection=i,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function c5(){let t=wn.requestAnimationFrame,n=wn.cancelAnimationFrame;if(typeof Zone<"u"&&t&&n){const e=t[Zone.__symbol__("OriginalDelegate")];e&&(t=e);const i=n[Zone.__symbol__("OriginalDelegate")];i&&(n=i)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:n}}().nativeRequestAnimationFrame,function h5(t){const n=()=>{!function u5(t){t.isCheckStableRunning||-1!==t.lastRequestAnimationFrameId||(t.lastRequestAnimationFrameId=t.nativeRequestAnimationFrame.call(wn,()=>{t.fakeTopEventTask||(t.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{t.lastRequestAnimationFrameId=-1,jv(t),t.isCheckStableRunning=!0,Vv(t),t.isCheckStableRunning=!1},void 0,()=>{},()=>{})),t.fakeTopEventTask.invoke()}),jv(t))}(t)};t._inner=t._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,o,s,a,l)=>{try{return cS(t),e.invokeTask(o,s,a,l)}finally{(t.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||t.shouldCoalesceRunChangeDetection)&&n(),dS(t)}},onInvoke:(e,i,o,s,a,l,d)=>{try{return cS(t),e.invoke(o,s,a,l,d)}finally{t.shouldCoalesceRunChangeDetection&&n(),dS(t)}},onHasTask:(e,i,o,s)=>{e.hasTask(o,s),i===o&&("microTask"==s.change?(t._hasPendingMicrotasks=s.microTask,jv(t),Vv(t)):"macroTask"==s.change&&(t.hasPendingMacrotasks=s.macroTask))},onHandleError:(e,i,o,s)=>(e.handleError(o,s),t.runOutsideAngular(()=>t.onError.emit(s)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ft.isInAngularZone())throw new Fe(909,!1)}static assertNotInAngularZone(){if(ft.isInAngularZone())throw new Fe(909,!1)}run(n,e,i){return this._inner.run(n,e,i)}runTask(n,e,i,o){const s=this._inner,a=s.scheduleEventTask("NgZoneEvent: "+o,n,d5,lS,lS);try{return s.runTask(a,e,i)}finally{s.cancelTask(a)}}runGuarded(n,e,i){return this._inner.runGuarded(n,e,i)}runOutsideAngular(n){return this._outer.run(n)}}const d5={};function Vv(t){if(0==t._nesting&&!t.hasPendingMicrotasks&&!t.isStable)try{t._nesting++,t.onMicrotaskEmpty.emit(null)}finally{if(t._nesting--,!t.hasPendingMicrotasks)try{t.runOutsideAngular(()=>t.onStable.emit(null))}finally{t.isStable=!0}}}function jv(t){t.hasPendingMicrotasks=!!(t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&-1!==t.lastRequestAnimationFrameId)}function cS(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function dS(t){t._nesting--,Vv(t)}class f5{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ht,this.onMicrotaskEmpty=new ht,this.onStable=new ht,this.onError=new ht}run(n,e,i){return n.apply(e,i)}runGuarded(n,e,i){return n.apply(e,i)}runOutsideAngular(n){return n()}runTask(n,e,i,o){return n.apply(e,i)}}const uS=new Re("",{providedIn:"root",factory:hS});function hS(){const t=Qe(ft);let n=!0;return bt(new he(o=>{n=t.isStable&&!t.hasPendingMacrotasks&&!t.hasPendingMicrotasks,t.runOutsideAngular(()=>{o.next(n),o.complete()})}),new he(o=>{let s;t.runOutsideAngular(()=>{s=t.onStable.subscribe(()=>{ft.assertNotInAngularZone(),Bv(()=>{!n&&!t.hasPendingMacrotasks&&!t.hasPendingMicrotasks&&(n=!0,o.next(!0))})})});const a=t.onUnstable.subscribe(()=>{ft.assertInAngularZone(),n&&(n=!1,t.runOutsideAngular(()=>{o.next(!1)}))});return()=>{s.unsubscribe(),a.unsubscribe()}}).pipe(dl()))}const fS=new Re(""),Vp=new Re("");let Wv,zv=(()=>{class t{constructor(e,i,o){this._ngZone=e,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Wv||(function p5(t){Wv=t}(o),o.addToWindow(i)),this._watchAngularEvents(),e.run(()=>{this.taskTrackingZone=typeof Zone>"u"?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:()=>{ft.assertNotInAngularZone(),Bv(()=>{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())Bv(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb(this._didWork)}this._didWork=!1});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,o){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==s),e(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:e,timeoutId:s,updateCb:o})}whenStable(e,i,o){if(o&&!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(e,i,o),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(e){this.registry.registerApplication(e,this)}unregisterApplication(e){this.registry.unregisterApplication(e)}findProviders(e,i,o){return[]}}return t.\u0275fac=function(e){return new(e||t)(we(ft),we(Uv),we(Vp))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})(),Uv=(()=>{class t{constructor(){this._applications=new Map}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return Wv?.findTestabilityInTree(this,e,i)??null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"platform"}),t})(),Ra=null;const pS=new Re("AllowMultipleToken"),$v=new Re("PlatformDestroyListeners"),Gv=new Re("appBootstrapListener");class gS{constructor(n,e){this.name=n,this.token=e}}function bS(t,n,e=[]){const i=`Platform: ${n}`,o=new Re(i);return(s=[])=>{let a=qv();if(!a||a.injector.get(pS,!1)){const l=[...e,...s,{provide:o,useValue:!0}];t?t(l):function _5(t){if(Ra&&!Ra.get(pS,!1))throw new Fe(400,!1);(function mS(){!function v_(t){Pf=t}(()=>{throw new Fe(600,!1)})})(),Ra=t;const n=t.get(yS);(function _S(t){t.get($w,null)?.forEach(e=>e())})(t)}(function vS(t=[],n){return Si.create({name:n,providers:[{provide:Cb,useValue:"platform"},{provide:$v,useValue:new Set([()=>Ra=null])},...t]})}(l,i))}return function v5(t){const n=qv();if(!n)throw new Fe(401,!1);return n}()}}function qv(){return Ra?.get(yS)??null}let yS=(()=>{class t{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const o=function y5(t="zone.js",n){return"noop"===t?new f5:"zone.js"===t?new ft(n):t}(i?.ngZone,function MS(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}({eventCoalescing:i?.ngZoneEventCoalescing,runCoalescing:i?.ngZoneRunCoalescing}));return o.run(()=>{const s=function $N(t,n,e){return new Mv(t,n,e)}(e.moduleType,this.injector,function SS(t){return[{provide:ft,useFactory:t},{provide:xu,multi:!0,useFactory:()=>{const n=Qe(w5,{optional:!0});return()=>n.initialize()}},{provide:kS,useFactory:M5},{provide:uS,useFactory:hS}]}(()=>o)),a=s.injector.get(Ss,null);return o.runOutsideAngular(()=>{const l=o.onError.subscribe({next:d=>{a.handleError(d)}});s.onDestroy(()=>{jp(this._modules,s),l.unsubscribe()})}),function wS(t,n,e){try{const i=e();return Hu(i)?i.catch(o=>{throw n.runOutsideAngular(()=>t.handleError(o)),o}):i}catch(i){throw n.runOutsideAngular(()=>t.handleError(i)),i}}(a,o,()=>{const l=s.injector.get(Hv);return l.runInitializers(),l.donePromise.then(()=>(function Ux(t){Zr(t,"Expected localeId to be defined"),"string"==typeof t&&(zx=t.toLowerCase().replace(/_/g,"-"))}(s.injector.get(Is,ad)||ad),this._moduleDoBootstrap(s),s))})})}bootstrapModule(e,i=[]){const o=CS({},i);return function m5(t,n,e){const i=new wv(e);return Promise.resolve(i)}(0,0,e).then(s=>this.bootstrapModuleFactory(s,o))}_moduleDoBootstrap(e){const i=e.injector.get(Na);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(o=>i.bootstrap(o));else{if(!e.instance.ngDoBootstrap)throw new Fe(-403,!1);e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Fe(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const e=this._injector.get($v,null);e&&(e.forEach(i=>i()),e.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return t.\u0275fac=function(e){return new(e||t)(we(Si))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"platform"}),t})();function CS(t,n){return Array.isArray(n)?n.reduce(CS,t):{...t,...n}}let Na=(()=>{class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=Qe(kS),this.componentTypes=[],this.components=[],this.isStable=Qe(uS),this._injector=Qe(ks)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(e,i){const o=e instanceof Jw;if(!this._injector.get(Hv).done)throw!o&&function Sa(t){const n=gn(t)||hr(t)||fr(t);return null!==n&&n.standalone}(e),new Fe(405,!1);let a;a=o?e:this._injector.get(Tl).resolveComponentFactory(e),this.componentTypes.push(a.componentType);const l=function g5(t){return t.isBoundToModule}(a)?void 0:this._injector.get(ld),_=a.create(Si.NULL,[],i||a.selector,l),E=_.location.nativeElement,F=_.injector.get(fS,null);return F?.registerApplication(E),_.onDestroy(()=>{this.detachView(_.hostView),jp(this.components,_),F?.unregisterApplication(E)}),this._loadComponent(_),_}tick(){if(this._runningTick)throw new Fe(101,!1);try{this._runningTick=!0;for(let e of this._views)e.detectChanges()}catch(e){this.internalErrorHandler(e)}finally{this._runningTick=!1}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;jp(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e);const i=this._injector.get(Gv,[]);i.push(...this._bootstrapListeners),i.forEach(o=>o(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>jp(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new Fe(406,!1);const e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function jp(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}const kS=new Re("",{providedIn:"root",factory:()=>Qe(Ss).handleError.bind(void 0)});function M5(){const t=Qe(ft),n=Qe(Ss);return e=>t.runOutsideAngular(()=>n.handleError(e))}let w5=(()=>{class t{constructor(){this.zone=Qe(ft),this.applicationRef=Qe(Na)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();let pi=(()=>{class t{}return t.__NG_ELEMENT_ID__=x5,t})();function x5(t){return function k5(t,n,e){if(Ws(t)&&!e){const i=Tr(t.index,n);return new Ou(i,i)}return 47&t.type?new Ou(n[xi],n):null}(tr(),Ve(),16==(16&t))}class ES{constructor(){}supports(n){return Tp(n)}create(n){return new I5(n)}}const E5=(t,n)=>n;class I5{constructor(n){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=n||E5}forEachItem(n){let e;for(e=this._itHead;null!==e;e=e._next)n(e)}forEachOperation(n){let e=this._itHead,i=this._removalsHead,o=0,s=null;for(;e||i;){const a=!i||e&&e.currentIndex{a=this._trackByFn(o,l),null!==e&&Object.is(e.trackById,a)?(i&&(e=this._verifyReinsertion(e,l,a,o)),Object.is(e.item,l)||this._addIdentityChange(e,l)):(e=this._mismatch(e,l,a,o),i=!0),e=e._next,o++}),this.length=o;return this._truncate(e),this.collection=n,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;null!==n;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;null!==n;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,e,i,o){let s;return null===n?s=this._itTail:(s=n._prev,this._remove(n)),null!==(n=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._reinsertAfter(n,s,o)):null!==(n=null===this._linkedRecords?null:this._linkedRecords.get(i,o))?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._moveAfter(n,s,o)):n=this._addAfter(new P5(e,i),s,o),n}_verifyReinsertion(n,e,i,o){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?n=this._reinsertAfter(s,n._prev,o):n.currentIndex!=o&&(n.currentIndex=o,this._addToMoves(n,o)),n}_truncate(n){for(;null!==n;){const e=n._next;this._addToRemovals(this._unlink(n)),n=e}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(n,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(n);const o=n._prevRemoved,s=n._nextRemoved;return null===o?this._removalsHead=s:o._nextRemoved=s,null===s?this._removalsTail=o:s._prevRemoved=o,this._insertAfter(n,e,i),this._addToMoves(n,i),n}_moveAfter(n,e,i){return this._unlink(n),this._insertAfter(n,e,i),this._addToMoves(n,i),n}_addAfter(n,e,i){return this._insertAfter(n,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=n:this._additionsTail._nextAdded=n,n}_insertAfter(n,e,i){const o=null===e?this._itHead:e._next;return n._next=o,n._prev=e,null===o?this._itTail=n:o._prev=n,null===e?this._itHead=n:e._next=n,null===this._linkedRecords&&(this._linkedRecords=new IS),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){null!==this._linkedRecords&&this._linkedRecords.remove(n);const e=n._prev,i=n._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,n}_addToMoves(n,e){return n.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=n:this._movesTail._nextMoved=n),n}_addToRemovals(n){return null===this._unlinkedRecords&&(this._unlinkedRecords=new IS),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,e){return n.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=n:this._identityChangesTail._nextIdentityChange=n,n}}class P5{constructor(n,e){this.item=n,this.trackById=e,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 O5{constructor(){this._head=null,this._tail=null}add(n){null===this._head?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){const e=n._prevDup,i=n._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class IS{constructor(){this.map=new Map}put(n){const e=n.trackById;let i=this.map.get(e);i||(i=new O5,this.map.set(e,i)),i.add(n)}get(n,e){const o=this.map.get(n);return o?o.get(n,e):null}remove(n){const e=n.trackById;return this.map.get(e).remove(n)&&this.map.delete(e),n}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function PS(t,n,e){const i=t.previousIndex;if(null===i)return i;let o=0;return e&&i{if(e&&e.key===o)this._maybeAddToChanges(e,i),this._appendAfter=e,e=e._next;else{const s=this._getOrCreateRecordForKey(o,i);e=this._insertBeforeOrAppend(e,s)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let i=e;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(n,e){if(n){const i=n._prev;return e._next=n,e._prev=i,n._prev=e,i&&(i._next=e),n===this._mapHead&&(this._mapHead=e),this._appendAfter=n,n}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(n,e){if(this._records.has(n)){const o=this._records.get(n);this._maybeAddToChanges(o,e);const s=o._prev,a=o._next;return s&&(s._next=a),a&&(a._prev=s),o._next=null,o._prev=null,o}const i=new F5(n);return this._records.set(n,i),i.currentValue=e,this._addToAdditions(i),i}_reset(){if(this.isDirty){let n;for(this._previousMapHead=this._mapHead,n=this._previousMapHead;null!==n;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;null!==n;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;null!=n;n=n._nextAdded)n.previousValue=n.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(n,e){Object.is(e,n.currentValue)||(n.previousValue=n.currentValue,n.currentValue=e,this._addToChanges(n))}_addToAdditions(n){null===this._additionsHead?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){null===this._changesHead?this._changesHead=this._changesTail=n:(this._changesTail._nextChanged=n,this._changesTail=n)}_forEach(n,e){n instanceof Map?n.forEach(e):Object.keys(n).forEach(i=>e(n[i],i))}}class F5{constructor(n){this.key=n,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 AS(){return new Ku([new ES])}let Ku=(()=>{class t{constructor(e){this.factories=e}static create(e,i){if(null!=i){const o=i.factories.slice();e=e.concat(o)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||AS()),deps:[[t,new mu,new xl]]}}find(e){const i=this.factories.find(o=>o.supports(e));if(null!=i)return i;throw new Fe(901,!1)}}return t.\u0275prov=Ne({token:t,providedIn:"root",factory:AS}),t})();function FS(){return new Zu([new OS])}let Zu=(()=>{class t{constructor(e){this.factories=e}static create(e,i){if(i){const o=i.factories.slice();e=e.concat(o)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||FS()),deps:[[t,new mu,new xl]]}}find(e){const i=this.factories.find(o=>o.supports(e));if(i)return i;throw new Fe(901,!1)}}return t.\u0275prov=Ne({token:t,providedIn:"root",factory:FS}),t})();const Y5=bS(null,"core",[]);let H5=(()=>{class t{constructor(e){}}return t.\u0275fac=function(e){return new(e||t)(we(Na))},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})(),VS=(()=>{class t{get whenAllTasksComplete(){return 0===this.collection.size&&this.complete(),this.promise}constructor(){this.taskId=0,this.collection=new Set,this.ngZone=Qe(ft),this.completed=!1,this.ngZone.runOutsideAngular(()=>{this.promise=new Promise(e=>{this.resolve=e})})}add(){if(this.completed)return-1;const e=this.taskId++;return this.collection.add(e),e}remove(e){this.completed||(this.collection.delete(e),0===this.collection.size&&this.complete())}ngOnDestroy(){this.complete(),this.collection.clear()}complete(){this.completed=!0,this.resolve()}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function ud(t){return"boolean"==typeof t?t:null!=t&&"false"!==t}let ty=null;function Ya(){return ty}class X5{}const It=new Re("DocumentToken");let ny=(()=>{class t{historyGo(e){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(){return Qe(Q5)},providedIn:"platform"}),t})();const J5=new Re("Location Initialized");let Q5=(()=>{class t extends ny{constructor(){super(),this._doc=Qe(It),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Ya().getBaseHref(this._doc)}onPopState(e){const i=Ya().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",e,!1),()=>i.removeEventListener("popstate",e)}onHashChange(e){const i=Ya().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",e,!1),()=>i.removeEventListener("hashchange",e)}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(e){this._location.pathname=e}pushState(e,i,o){this._history.pushState(e,i,o)}replaceState(e,i,o){this._history.replaceState(e,i,o)}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(){return new t},providedIn:"platform"}),t})();function iy(t,n){if(0==t.length)return n;if(0==n.length)return t;let e=0;return t.endsWith("/")&&e++,n.startsWith("/")&&e++,2==e?t+n.substring(1):1==e?t+n:t+"/"+n}function zS(t){const n=t.match(/#|\?|$/),e=n&&n.index||t.length;return t.slice(0,e-("/"===t[e-1]?1:0))+t.slice(e)}function Qs(t){return t&&"?"!==t[0]?"?"+t:t}let Rl=(()=>{class t{historyGo(e){throw new Error("Not implemented")}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(){return Qe(WS)},providedIn:"root"}),t})();const US=new Re("appBaseHref");let WS=(()=>{class t extends Rl{constructor(e,i){super(),this._platformLocation=e,this._removeListenerFns=[],this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??Qe(It).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}prepareExternalUrl(e){return iy(this._baseHref,e)}path(e=!1){const i=this._platformLocation.pathname+Qs(this._platformLocation.search),o=this._platformLocation.hash;return o&&e?`${i}${o}`:i}pushState(e,i,o,s){const a=this.prepareExternalUrl(o+Qs(s));this._platformLocation.pushState(e,i,a)}replaceState(e,i,o,s){const a=this.prepareExternalUrl(o+Qs(s));this._platformLocation.replaceState(e,i,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}}return t.\u0275fac=function(e){return new(e||t)(we(ny),we(US,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),eY=(()=>{class t extends Rl{constructor(e,i){super(),this._platformLocation=e,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(e){this._removeListenerFns.push(this._platformLocation.onPopState(e),this._platformLocation.onHashChange(e))}getBaseHref(){return this._baseHref}path(e=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(e){const i=iy(this._baseHref,e);return i.length>0?"#"+i:i}pushState(e,i,o,s){let a=this.prepareExternalUrl(o+Qs(s));0==a.length&&(a=this._platformLocation.pathname),this._platformLocation.pushState(e,i,a)}replaceState(e,i,o,s){let a=this.prepareExternalUrl(o+Qs(s));0==a.length&&(a=this._platformLocation.pathname),this._platformLocation.replaceState(e,i,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}}return t.\u0275fac=function(e){return new(e||t)(we(ny),we(US,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})(),Xu=(()=>{class t{constructor(e){this._subject=new ht,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=e;const i=this._locationStrategy.getBaseHref();this._basePath=function iY(t){if(new RegExp("^(https?:)?//").test(t)){const[,e]=t.split(/\/\/[^\/]+/);return e}return t}(zS($S(i))),this._locationStrategy.onPopState(o=>{this._subject.emit({url:this.path(!0),pop:!0,state:o.state,type:o.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(e=!1){return this.normalize(this._locationStrategy.path(e))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(e,i=""){return this.path()==this.normalize(e+Qs(i))}normalize(e){return t.stripTrailingSlash(function nY(t,n){if(!t||!n.startsWith(t))return n;const e=n.substring(t.length);return""===e||["/",";","?","#"].includes(e[0])?e:n}(this._basePath,$S(e)))}prepareExternalUrl(e){return e&&"/"!==e[0]&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,i="",o=null){this._locationStrategy.pushState(o,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Qs(i)),o)}replaceState(e,i="",o=null){this._locationStrategy.replaceState(o,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+Qs(i)),o)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(e=0){this._locationStrategy.historyGo?.(e)}onUrlChange(e){return this._urlChangeListeners.push(e),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)})),()=>{const i=this._urlChangeListeners.indexOf(e);this._urlChangeListeners.splice(i,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(e="",i){this._urlChangeListeners.forEach(o=>o(e,i))}subscribe(e,i,o){return this._subject.subscribe({next:e,error:i,complete:o})}}return t.normalizeQueryParams=Qs,t.joinWithSlash=iy,t.stripTrailingSlash=zS,t.\u0275fac=function(e){return new(e||t)(we(Rl))},t.\u0275prov=Ne({token:t,factory:function(){return function tY(){return new Xu(we(Rl))}()},providedIn:"root"}),t})();function $S(t){return t.replace(/\/index.html$/,"")}var Ni=(()=>((Ni=Ni||{})[Ni.Format=0]="Format",Ni[Ni.Standalone=1]="Standalone",Ni))(),rn=(()=>((rn=rn||{})[rn.Narrow=0]="Narrow",rn[rn.Abbreviated=1]="Abbreviated",rn[rn.Wide=2]="Wide",rn[rn.Short=3]="Short",rn))(),mi=(()=>((mi=mi||{})[mi.Short=0]="Short",mi[mi.Medium=1]="Medium",mi[mi.Long=2]="Long",mi[mi.Full=3]="Full",mi))(),St=(()=>((St=St||{})[St.Decimal=0]="Decimal",St[St.Group=1]="Group",St[St.List=2]="List",St[St.PercentSign=3]="PercentSign",St[St.PlusSign=4]="PlusSign",St[St.MinusSign=5]="MinusSign",St[St.Exponential=6]="Exponential",St[St.SuperscriptingExponent=7]="SuperscriptingExponent",St[St.PerMille=8]="PerMille",St[St.Infinity=9]="Infinity",St[St.NaN=10]="NaN",St[St.TimeSeparator=11]="TimeSeparator",St[St.CurrencyDecimal=12]="CurrencyDecimal",St[St.CurrencyGroup=13]="CurrencyGroup",St))();function $p(t,n){return Uo(jr(t)[ct.DateFormat],n)}function Gp(t,n){return Uo(jr(t)[ct.TimeFormat],n)}function qp(t,n){return Uo(jr(t)[ct.DateTimeFormat],n)}function zo(t,n){const e=jr(t),i=e[ct.NumberSymbols][n];if(typeof i>"u"){if(n===St.CurrencyDecimal)return e[ct.NumberSymbols][St.Decimal];if(n===St.CurrencyGroup)return e[ct.NumberSymbols][St.Group]}return i}function qS(t){if(!t[ct.ExtraData])throw new Error(`Missing extra locale data for the locale "${t[ct.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function Uo(t,n){for(let e=n;e>-1;e--)if(typeof t[e]<"u")return t[e];throw new Error("Locale data API: locale data undefined")}function oy(t){const[n,e]=t.split(":");return{hours:+n,minutes:+e}}const gY=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Ju={},_Y=/((?:[^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 sr=(()=>((sr=sr||{})[sr.Short=0]="Short",sr[sr.ShortGMT=1]="ShortGMT",sr[sr.Long=2]="Long",sr[sr.Extended=3]="Extended",sr))(),Pt=(()=>((Pt=Pt||{})[Pt.FullYear=0]="FullYear",Pt[Pt.Month=1]="Month",Pt[Pt.Date=2]="Date",Pt[Pt.Hours=3]="Hours",Pt[Pt.Minutes=4]="Minutes",Pt[Pt.Seconds=5]="Seconds",Pt[Pt.FractionalSeconds=6]="FractionalSeconds",Pt[Pt.Day=7]="Day",Pt))(),Kt=(()=>((Kt=Kt||{})[Kt.DayPeriods=0]="DayPeriods",Kt[Kt.Days=1]="Days",Kt[Kt.Months=2]="Months",Kt[Kt.Eras=3]="Eras",Kt))();function KS(t,n,e,i){let o=function SY(t){if(JS(t))return t;if("number"==typeof t&&!isNaN(t))return new Date(t);if("string"==typeof t){if(t=t.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(t)){const[o,s=1,a=1]=t.split("-").map(l=>+l);return Kp(o,s-1,a)}const e=parseFloat(t);if(!isNaN(t-e))return new Date(e);let i;if(i=t.match(gY))return function DY(t){const n=new Date(0);let e=0,i=0;const o=t[8]?n.setUTCFullYear:n.setFullYear,s=t[8]?n.setUTCHours:n.setHours;t[9]&&(e=Number(t[9]+t[10]),i=Number(t[9]+t[11])),o.call(n,Number(t[1]),Number(t[2])-1,Number(t[3]));const a=Number(t[4]||0)-e,l=Number(t[5]||0)-i,d=Number(t[6]||0),_=Math.floor(1e3*parseFloat("0."+(t[7]||0)));return s.call(n,a,l,d,_),n}(i)}const n=new Date(t);if(!JS(n))throw new Error(`Unable to convert "${t}" into a date`);return n}(t);n=ea(e,n)||n;let l,a=[];for(;n;){if(l=_Y.exec(n),!l){a.push(n);break}{a=a.concat(l.slice(1));const E=a.pop();if(!E)break;n=E}}let d=o.getTimezoneOffset();i&&(d=XS(i,d),o=function kY(t,n,e){const i=e?-1:1,o=t.getTimezoneOffset();return function xY(t,n){return(t=new Date(t.getTime())).setMinutes(t.getMinutes()+n),t}(t,i*(XS(n,o)-o))}(o,i,!0));let _="";return a.forEach(E=>{const F=function CY(t){if(ay[t])return ay[t];let n;switch(t){case"G":case"GG":case"GGG":n=Jn(Kt.Eras,rn.Abbreviated);break;case"GGGG":n=Jn(Kt.Eras,rn.Wide);break;case"GGGGG":n=Jn(Kt.Eras,rn.Narrow);break;case"y":n=Ki(Pt.FullYear,1,0,!1,!0);break;case"yy":n=Ki(Pt.FullYear,2,0,!0,!0);break;case"yyy":n=Ki(Pt.FullYear,3,0,!1,!0);break;case"yyyy":n=Ki(Pt.FullYear,4,0,!1,!0);break;case"Y":n=Qp(1);break;case"YY":n=Qp(2,!0);break;case"YYY":n=Qp(3);break;case"YYYY":n=Qp(4);break;case"M":case"L":n=Ki(Pt.Month,1,1);break;case"MM":case"LL":n=Ki(Pt.Month,2,1);break;case"MMM":n=Jn(Kt.Months,rn.Abbreviated);break;case"MMMM":n=Jn(Kt.Months,rn.Wide);break;case"MMMMM":n=Jn(Kt.Months,rn.Narrow);break;case"LLL":n=Jn(Kt.Months,rn.Abbreviated,Ni.Standalone);break;case"LLLL":n=Jn(Kt.Months,rn.Wide,Ni.Standalone);break;case"LLLLL":n=Jn(Kt.Months,rn.Narrow,Ni.Standalone);break;case"w":n=sy(1);break;case"ww":n=sy(2);break;case"W":n=sy(1,!0);break;case"d":n=Ki(Pt.Date,1);break;case"dd":n=Ki(Pt.Date,2);break;case"c":case"cc":n=Ki(Pt.Day,1);break;case"ccc":n=Jn(Kt.Days,rn.Abbreviated,Ni.Standalone);break;case"cccc":n=Jn(Kt.Days,rn.Wide,Ni.Standalone);break;case"ccccc":n=Jn(Kt.Days,rn.Narrow,Ni.Standalone);break;case"cccccc":n=Jn(Kt.Days,rn.Short,Ni.Standalone);break;case"E":case"EE":case"EEE":n=Jn(Kt.Days,rn.Abbreviated);break;case"EEEE":n=Jn(Kt.Days,rn.Wide);break;case"EEEEE":n=Jn(Kt.Days,rn.Narrow);break;case"EEEEEE":n=Jn(Kt.Days,rn.Short);break;case"a":case"aa":case"aaa":n=Jn(Kt.DayPeriods,rn.Abbreviated);break;case"aaaa":n=Jn(Kt.DayPeriods,rn.Wide);break;case"aaaaa":n=Jn(Kt.DayPeriods,rn.Narrow);break;case"b":case"bb":case"bbb":n=Jn(Kt.DayPeriods,rn.Abbreviated,Ni.Standalone,!0);break;case"bbbb":n=Jn(Kt.DayPeriods,rn.Wide,Ni.Standalone,!0);break;case"bbbbb":n=Jn(Kt.DayPeriods,rn.Narrow,Ni.Standalone,!0);break;case"B":case"BB":case"BBB":n=Jn(Kt.DayPeriods,rn.Abbreviated,Ni.Format,!0);break;case"BBBB":n=Jn(Kt.DayPeriods,rn.Wide,Ni.Format,!0);break;case"BBBBB":n=Jn(Kt.DayPeriods,rn.Narrow,Ni.Format,!0);break;case"h":n=Ki(Pt.Hours,1,-12);break;case"hh":n=Ki(Pt.Hours,2,-12);break;case"H":n=Ki(Pt.Hours,1);break;case"HH":n=Ki(Pt.Hours,2);break;case"m":n=Ki(Pt.Minutes,1);break;case"mm":n=Ki(Pt.Minutes,2);break;case"s":n=Ki(Pt.Seconds,1);break;case"ss":n=Ki(Pt.Seconds,2);break;case"S":n=Ki(Pt.FractionalSeconds,1);break;case"SS":n=Ki(Pt.FractionalSeconds,2);break;case"SSS":n=Ki(Pt.FractionalSeconds,3);break;case"Z":case"ZZ":case"ZZZ":n=Xp(sr.Short);break;case"ZZZZZ":n=Xp(sr.Extended);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":n=Xp(sr.ShortGMT);break;case"OOOO":case"ZZZZ":case"zzzz":n=Xp(sr.Long);break;default:return null}return ay[t]=n,n}(E);_+=F?F(o,e,d):"''"===E?"'":E.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),_}function Kp(t,n,e){const i=new Date(0);return i.setFullYear(t,n,e),i.setHours(0,0,0),i}function ea(t,n){const e=function rY(t){return jr(t)[ct.LocaleId]}(t);if(Ju[e]=Ju[e]||{},Ju[e][n])return Ju[e][n];let i="";switch(n){case"shortDate":i=$p(t,mi.Short);break;case"mediumDate":i=$p(t,mi.Medium);break;case"longDate":i=$p(t,mi.Long);break;case"fullDate":i=$p(t,mi.Full);break;case"shortTime":i=Gp(t,mi.Short);break;case"mediumTime":i=Gp(t,mi.Medium);break;case"longTime":i=Gp(t,mi.Long);break;case"fullTime":i=Gp(t,mi.Full);break;case"short":const o=ea(t,"shortTime"),s=ea(t,"shortDate");i=Zp(qp(t,mi.Short),[o,s]);break;case"medium":const a=ea(t,"mediumTime"),l=ea(t,"mediumDate");i=Zp(qp(t,mi.Medium),[a,l]);break;case"long":const d=ea(t,"longTime"),_=ea(t,"longDate");i=Zp(qp(t,mi.Long),[d,_]);break;case"full":const E=ea(t,"fullTime"),F=ea(t,"fullDate");i=Zp(qp(t,mi.Full),[E,F])}return i&&(Ju[e][n]=i),i}function Zp(t,n){return n&&(t=t.replace(/\{([^}]+)}/g,function(e,i){return null!=n&&i in n?n[i]:e})),t}function ns(t,n,e="-",i,o){let s="";(t<0||o&&t<=0)&&(o?t=1-t:(t=-t,s=e));let a=String(t);for(;a.length0||l>-e)&&(l+=e),t===Pt.Hours)0===l&&-12===e&&(l=12);else if(t===Pt.FractionalSeconds)return function bY(t,n){return ns(t,3).substring(0,n)}(l,n);const d=zo(a,St.MinusSign);return ns(l,n,d,i,o)}}function Jn(t,n,e=Ni.Format,i=!1){return function(o,s){return function yY(t,n,e,i,o,s){switch(e){case Kt.Months:return function aY(t,n,e){const i=jr(t),s=Uo([i[ct.MonthsFormat],i[ct.MonthsStandalone]],n);return Uo(s,e)}(n,o,i)[t.getMonth()];case Kt.Days:return function sY(t,n,e){const i=jr(t),s=Uo([i[ct.DaysFormat],i[ct.DaysStandalone]],n);return Uo(s,e)}(n,o,i)[t.getDay()];case Kt.DayPeriods:const a=t.getHours(),l=t.getMinutes();if(s){const _=function uY(t){const n=jr(t);return qS(n),(n[ct.ExtraData][2]||[]).map(i=>"string"==typeof i?oy(i):[oy(i[0]),oy(i[1])])}(n),E=function hY(t,n,e){const i=jr(t);qS(i);const s=Uo([i[ct.ExtraData][0],i[ct.ExtraData][1]],n)||[];return Uo(s,e)||[]}(n,o,i),F=_.findIndex(G=>{if(Array.isArray(G)){const[ie,_e]=G,Ce=a>=ie.hours&&l>=ie.minutes,Ae=a<_e.hours||a===_e.hours&&l<_e.minutes;if(ie.hours<_e.hours){if(Ce&&Ae)return!0}else if(Ce||Ae)return!0}else if(G.hours===a&&G.minutes===l)return!0;return!1});if(-1!==F)return E[F]}return function oY(t,n,e){const i=jr(t),s=Uo([i[ct.DayPeriodsFormat],i[ct.DayPeriodsStandalone]],n);return Uo(s,e)}(n,o,i)[a<12?0:1];case Kt.Eras:return function lY(t,n){return Uo(jr(t)[ct.Eras],n)}(n,i)[t.getFullYear()<=0?0:1];default:throw new Error(`unexpected translation type ${e}`)}}(o,s,t,n,e,i)}}function Xp(t){return function(n,e,i){const o=-1*i,s=zo(e,St.MinusSign),a=o>0?Math.floor(o/60):Math.ceil(o/60);switch(t){case sr.Short:return(o>=0?"+":"")+ns(a,2,s)+ns(Math.abs(o%60),2,s);case sr.ShortGMT:return"GMT"+(o>=0?"+":"")+ns(a,1,s);case sr.Long:return"GMT"+(o>=0?"+":"")+ns(a,2,s)+":"+ns(Math.abs(o%60),2,s);case sr.Extended:return 0===i?"Z":(o>=0?"+":"")+ns(a,2,s)+":"+ns(Math.abs(o%60),2,s);default:throw new Error(`Unknown zone width "${t}"`)}}}const MY=0,Jp=4;function ZS(t){return Kp(t.getFullYear(),t.getMonth(),t.getDate()+(Jp-t.getDay()))}function sy(t,n=!1){return function(e,i){let o;if(n){const s=new Date(e.getFullYear(),e.getMonth(),1).getDay()-1,a=e.getDate();o=1+Math.floor((a+s)/7)}else{const s=ZS(e),a=function wY(t){const n=Kp(t,MY,1).getDay();return Kp(t,0,1+(n<=Jp?Jp:Jp+7)-n)}(s.getFullYear()),l=s.getTime()-a.getTime();o=1+Math.round(l/6048e5)}return ns(o,t,zo(i,St.MinusSign))}}function Qp(t,n=!1){return function(e,i){return ns(ZS(e).getFullYear(),t,zo(i,St.MinusSign),n)}}const ay={};function XS(t,n){t=t.replace(/:/g,"");const e=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(e)?n:e}function JS(t){return t instanceof Date&&!isNaN(t.valueOf())}function nD(t,n){n=encodeURIComponent(n);for(const e of t.split(";")){const i=e.indexOf("="),[o,s]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(o.trim()===n)return decodeURIComponent(s)}return null}const fy=/\s+/,iD=[];let Nn=(()=>{class t{constructor(e,i,o,s){this._iterableDiffers=e,this._keyValueDiffers=i,this._ngEl=o,this._renderer=s,this.initialClasses=iD,this.stateMap=new Map}set klass(e){this.initialClasses=null!=e?e.trim().split(fy):iD}set ngClass(e){this.rawClass="string"==typeof e?e.trim().split(fy):e}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(const i of e)this._updateState(i,!0);else if(null!=e)for(const i of Object.keys(e))this._updateState(i,!!e[i]);this._applyStateDiff()}_updateState(e,i){const o=this.stateMap.get(e);void 0!==o?(o.enabled!==i&&(o.changed=!0,o.enabled=i),o.touched=!0):this.stateMap.set(e,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const e of this.stateMap){const i=e[0],o=e[1];o.changed?(this._toggleClass(i,o.enabled),o.changed=!1):o.touched||(o.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),o.touched=!1}}_toggleClass(e,i){(e=e.trim()).length>0&&e.split(fy).forEach(o=>{i?this._renderer.addClass(this._ngEl.nativeElement,o):this._renderer.removeClass(this._ngEl.nativeElement,o)})}}return t.\u0275fac=function(e){return new(e||t)(Y(Ku),Y(Zu),Y(vt),Y(Ks))},t.\u0275dir=Ke({type:t,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),t})();class BY{constructor(n,e,i,o){this.$implicit=n,this.ngForOf=e,this.index=i,this.count=o}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 gi=(()=>{class t{set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}constructor(e,i,o){this._viewContainer=e,this._template=i,this._differs=o,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){const e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){const i=this._viewContainer;e.forEachOperation((o,s,a)=>{if(null==o.previousIndex)i.createEmbeddedView(this._template,new BY(o.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)i.remove(null===s?void 0:s);else if(null!==s){const l=i.get(s);i.move(l,a),oD(l,o)}});for(let o=0,s=i.length;o{oD(i.get(o.currentIndex),o)})}static ngTemplateContextGuard(e,i){return!0}}return t.\u0275fac=function(e){return new(e||t)(Y(rr),Y(mr),Y(Ku))},t.\u0275dir=Ke({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function oD(t,n){t.context.$implicit=n.item}let Ft=(()=>{class t{constructor(e,i){this._viewContainer=e,this._context=new VY,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){sD("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){sD("ngIfElse",e),this._elseTemplateRef=e,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(e,i){return!0}}return t.\u0275fac=function(e){return new(e||t)(Y(rr),Y(mr))},t.\u0275dir=Ke({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class VY{constructor(){this.$implicit=null,this.ngIf=null}}function sD(t,n){if(n&&!n.createEmbeddedView)throw new Error(`${t} must be a TemplateRef, but received '${Fi(n)}'.`)}class py{constructor(n,e){this._viewContainerRef=n,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(n){n&&!this._created?this.create():!n&&this._created&&this.destroy()}}let eh=(()=>{class t{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(e){this._ngSwitch=e,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(e){this._defaultViews.push(e)}_matchCase(e){const i=e==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(e){if(this._defaultViews.length>0&&e!==this._defaultUsed){this._defaultUsed=e;for(const i of this._defaultViews)i.enforceState(e)}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0}),t})(),my=(()=>{class t{constructor(e,i,o){this.ngSwitch=o,o._addCase(),this._view=new py(e,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return t.\u0275fac=function(e){return new(e||t)(Y(rr),Y(mr),Y(eh,9))},t.\u0275dir=Ke({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0}),t})(),aD=(()=>{class t{constructor(e,i,o){o._addDefault(new py(e,i))}}return t.\u0275fac=function(e){return new(e||t)(Y(rr),Y(mr),Y(eh,9))},t.\u0275dir=Ke({type:t,selectors:[["","ngSwitchDefault",""]],standalone:!0}),t})(),hd=(()=>{class t{constructor(e){this._viewContainerRef=e,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(e){if(e.ngTemplateOutlet||e.ngTemplateOutletInjector){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:o,ngTemplateOutletContext:s,ngTemplateOutletInjector:a}=this;this._viewRef=i.createEmbeddedView(o,s,a?{injector:a}:void 0)}else this._viewRef=null}else this._viewRef&&e.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return t.\u0275fac=function(e){return new(e||t)(Y(rr))},t.\u0275dir=Ke({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[Gi]}),t})();const eH=new Re("DATE_PIPE_DEFAULT_TIMEZONE"),tH=new Re("DATE_PIPE_DEFAULT_OPTIONS");let cD=(()=>{class t{constructor(e,i,o){this.locale=e,this.defaultTimezone=i,this.defaultOptions=o}transform(e,i,o,s){if(null==e||""===e||e!=e)return null;try{return KS(e,i??this.defaultOptions?.dateFormat??"mediumDate",s||this.locale,o??this.defaultOptions?.timezone??this.defaultTimezone??void 0)}catch(a){throw function is(t,n){return new Fe(2100,!1)}()}}}return t.\u0275fac=function(e){return new(e||t)(Y(Is,16),Y(eH,24),Y(tH,24))},t.\u0275pipe=ur({name:"date",type:t,pure:!0,standalone:!0}),t})(),ta=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})();const uD="browser";function hD(t){return"server"===t}let mH=(()=>{class t{}return t.\u0275prov=Ne({token:t,providedIn:"root",factory:()=>new gH(we(It),window)}),t})();class gH{constructor(n,e){this.document=n,this.window=e,this.offset=()=>[0,0]}setOffset(n){this.offset=Array.isArray(n)?()=>n:n}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(n){this.supportsScrolling()&&this.window.scrollTo(n[0],n[1])}scrollToAnchor(n){if(!this.supportsScrolling())return;const e=function _H(t,n){const e=t.getElementById(n)||t.getElementsByName(n)[0];if(e)return e;if("function"==typeof t.createTreeWalker&&t.body&&"function"==typeof t.body.attachShadow){const i=t.createTreeWalker(t.body,NodeFilter.SHOW_ELEMENT);let o=i.currentNode;for(;o;){const s=o.shadowRoot;if(s){const a=s.getElementById(n)||s.querySelector(`[name="${n}"]`);if(a)return a}o=i.nextNode()}}return null}(this.document,n);e&&(this.scrollToElement(e),e.focus())}setHistoryScrollRestoration(n){if(this.supportScrollRestoration()){const e=this.window.history;e&&e.scrollRestoration&&(e.scrollRestoration=n)}}scrollToElement(n){const e=n.getBoundingClientRect(),i=e.left+this.window.pageXOffset,o=e.top+this.window.pageYOffset,s=this.offset();this.window.scrollTo(i-s[0],o-s[1])}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const n=fD(this.window.history)||fD(Object.getPrototypeOf(this.window.history));return!(!n||!n.writable&&!n.set)}catch{return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}function fD(t){return Object.getOwnPropertyDescriptor(t,"scrollRestoration")}class pD{}class UH extends X5{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class yy extends UH{static makeCurrent(){!function Z5(t){ty||(ty=t)}(new yy)}onAndCancel(n,e,i){return n.addEventListener(e,i),()=>{n.removeEventListener(e,i)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.parentNode&&n.parentNode.removeChild(n)}createElement(n,e){return(e=e||this.getDefaultDocument()).createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,e){return"window"===e?window:"document"===e?n:"body"===e?n.body:null}getBaseHref(n){const e=function WH(){return nh=nh||document.querySelector("base"),nh?nh.getAttribute("href"):null}();return null==e?null:function $H(t){rm=rm||document.createElement("a"),rm.setAttribute("href",t);const n=rm.pathname;return"/"===n.charAt(0)?n:`/${n}`}(e)}resetBaseElement(){nh=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return nD(document.cookie,n)}}let rm,nh=null,qH=(()=>{class t{build(){return new XMLHttpRequest}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const My=new Re("EventManagerPlugins");let vD=(()=>{class t{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(o=>{o.manager=this}),this._plugins=e.slice().reverse()}addEventListener(e,i,o){return this._findPluginFor(i).addEventListener(e,i,o)}getZone(){return this._zone}_findPluginFor(e){let i=this._eventNameToPlugin.get(e);if(i)return i;if(i=this._plugins.find(s=>s.supports(e)),!i)throw new Fe(5101,!1);return this._eventNameToPlugin.set(e,i),i}}return t.\u0275fac=function(e){return new(e||t)(we(My),we(ft))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();class yD{constructor(n){this._doc=n}}const wy="ng-app-id";let MD=(()=>{class t{constructor(e,i,o,s={}){this.doc=e,this.appId=i,this.nonce=o,this.platformId=s,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=hD(s),this.resetHostNodes()}addStyles(e){for(const i of e)1===this.changeUsageCount(i,1)&&this.onStyleAdded(i)}removeStyles(e){for(const i of e)this.changeUsageCount(i,-1)<=0&&this.onStyleRemoved(i)}ngOnDestroy(){const e=this.styleNodesInDOM;e&&(e.forEach(i=>i.remove()),e.clear());for(const i of this.getAllStyles())this.onStyleRemoved(i);this.resetHostNodes()}addHost(e){this.hostNodes.add(e);for(const i of this.getAllStyles())this.addStyleToHost(e,i)}removeHost(e){this.hostNodes.delete(e)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(e){for(const i of this.hostNodes)this.addStyleToHost(i,e)}onStyleRemoved(e){const i=this.styleRef;i.get(e)?.elements?.forEach(o=>o.remove()),i.delete(e)}collectServerRenderedStyles(){const e=this.doc.head?.querySelectorAll(`style[${wy}="${this.appId}"]`);if(e?.length){const i=new Map;return e.forEach(o=>{null!=o.textContent&&i.set(o.textContent,o)}),i}return null}changeUsageCount(e,i){const o=this.styleRef;if(o.has(e)){const s=o.get(e);return s.usage+=i,s.usage}return o.set(e,{usage:i,elements:[]}),i}getStyleElement(e,i){const o=this.styleNodesInDOM,s=o?.get(i);if(s?.parentNode===e)return o.delete(i),s.removeAttribute(wy),s;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=i,this.platformIsServer&&a.setAttribute(wy,this.appId),a}}addStyleToHost(e,i){const o=this.getStyleElement(e,i);e.appendChild(o);const s=this.styleRef,a=s.get(i)?.elements;a?a.push(o):s.set(i,{elements:[o],usage:1})}resetHostNodes(){const e=this.hostNodes;e.clear(),e.add(this.doc.head)}}return t.\u0275fac=function(e){return new(e||t)(we(It),we(ku),we(Tb,8),we(Oa))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const Cy={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/",math:"http://www.w3.org/1998/MathML/"},xy=/%COMP%/g,JH=new Re("RemoveStylesOnCompDestory",{providedIn:"root",factory:()=>!1});function CD(t,n){return n.map(e=>e.replace(xy,t))}let ky=(()=>{class t{constructor(e,i,o,s,a,l,d,_=null){this.eventManager=e,this.sharedStylesHost=i,this.appId=o,this.removeStylesOnCompDestory=s,this.doc=a,this.platformId=l,this.ngZone=d,this.nonce=_,this.rendererByCompId=new Map,this.platformIsServer=hD(l),this.defaultRenderer=new Sy(e,a,d,this.platformIsServer)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===Dr.ShadowDom&&(i={...i,encapsulation:Dr.Emulated});const o=this.getOrCreateRenderer(e,i);return o instanceof kD?o.applyToHost(e):o instanceof Dy&&o.applyStyles(),o}getOrCreateRenderer(e,i){const o=this.rendererByCompId;let s=o.get(i.id);if(!s){const a=this.doc,l=this.ngZone,d=this.eventManager,_=this.sharedStylesHost,E=this.removeStylesOnCompDestory,F=this.platformIsServer;switch(i.encapsulation){case Dr.Emulated:s=new kD(d,_,i,this.appId,E,a,l,F);break;case Dr.ShadowDom:return new nB(d,_,e,i,a,l,this.nonce,F);default:s=new Dy(d,_,i,E,a,l,F)}s.onDestroy=()=>o.delete(i.id),o.set(i.id,s)}return s}ngOnDestroy(){this.rendererByCompId.clear()}}return t.\u0275fac=function(e){return new(e||t)(we(vD),we(MD),we(ku),we(JH),we(It),we(Oa),we(ft),we(Tb))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();class Sy{constructor(n,e,i,o){this.eventManager=n,this.doc=e,this.ngZone=i,this.platformIsServer=o,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(n,e){return e?this.doc.createElementNS(Cy[e]||e,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,e){(xD(n)?n.content:n).appendChild(e)}insertBefore(n,e,i){n&&(xD(n)?n.content:n).insertBefore(e,i)}removeChild(n,e){n&&n.removeChild(e)}selectRootElement(n,e){let i="string"==typeof n?this.doc.querySelector(n):n;if(!i)throw new Fe(5104,!1);return e||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,i,o){if(o){e=o+":"+e;const s=Cy[o];s?n.setAttributeNS(s,e,i):n.setAttribute(e,i)}else n.setAttribute(e,i)}removeAttribute(n,e,i){if(i){const o=Cy[i];o?n.removeAttributeNS(o,e):n.removeAttribute(`${i}:${e}`)}else n.removeAttribute(e)}addClass(n,e){n.classList.add(e)}removeClass(n,e){n.classList.remove(e)}setStyle(n,e,i,o){o&(Jr.DashCase|Jr.Important)?n.style.setProperty(e,i,o&Jr.Important?"important":""):n.style[e]=i}removeStyle(n,e,i){i&Jr.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,i){n[e]=i}setValue(n,e){n.nodeValue=e}listen(n,e,i){if("string"==typeof n&&!(n=Ya().getGlobalEventTarget(this.doc,n)))throw new Error(`Unsupported event target ${n} for event ${e}`);return this.eventManager.addEventListener(n,e,this.decoratePreventDefault(i))}decoratePreventDefault(n){return e=>{if("__ngUnwrap__"===e)return n;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>n(e)):n(e))&&e.preventDefault()}}}function xD(t){return"TEMPLATE"===t.tagName&&void 0!==t.content}class nB extends Sy{constructor(n,e,i,o,s,a,l,d){super(n,s,a,d),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const _=CD(o.id,o.styles);for(const E of _){const F=document.createElement("style");l&&F.setAttribute("nonce",l),F.textContent=E,this.shadowRoot.appendChild(F)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,e){return super.appendChild(this.nodeOrShadowRoot(n),e)}insertBefore(n,e,i){return super.insertBefore(this.nodeOrShadowRoot(n),e,i)}removeChild(n,e){return super.removeChild(this.nodeOrShadowRoot(n),e)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Dy extends Sy{constructor(n,e,i,o,s,a,l,d){super(n,s,a,l),this.sharedStylesHost=e,this.removeStylesOnCompDestory=o,this.rendererUsageCount=0,this.styles=d?CD(d,i.styles):i.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles),this.rendererUsageCount++}destroy(){this.removeStylesOnCompDestory&&(this.sharedStylesHost.removeStyles(this.styles),this.rendererUsageCount--,0===this.rendererUsageCount&&this.onDestroy?.())}}class kD extends Dy{constructor(n,e,i,o,s,a,l,d){const _=o+"-"+i.id;super(n,e,i,s,a,l,d,_),this.contentAttr=function QH(t){return"_ngcontent-%COMP%".replace(xy,t)}(_),this.hostAttr=function eB(t){return"_nghost-%COMP%".replace(xy,t)}(_)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,e){const i=super.createElement(n,e);return super.setAttribute(i,this.contentAttr,""),i}}let iB=(()=>{class t extends yD{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,o){return e.addEventListener(i,o,!1),()=>this.removeEventListener(e,i,o)}removeEventListener(e,i,o){return e.removeEventListener(i,o)}}return t.\u0275fac=function(e){return new(e||t)(we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const SD=["alt","control","meta","shift"],rB={"\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"},oB={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey};let sB=(()=>{class t extends yD{constructor(e){super(e)}supports(e){return null!=t.parseEventName(e)}addEventListener(e,i,o){const s=t.parseEventName(i),a=t.eventCallback(s.fullKey,o,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Ya().onAndCancel(e,s.domEventName,a))}static parseEventName(e){const i=e.toLowerCase().split("."),o=i.shift();if(0===i.length||"keydown"!==o&&"keyup"!==o)return null;const s=t._normalizeKey(i.pop());let a="",l=i.indexOf("code");if(l>-1&&(i.splice(l,1),a="code."),SD.forEach(_=>{const E=i.indexOf(_);E>-1&&(i.splice(E,1),a+=_+".")}),a+=s,0!=i.length||0===s.length)return null;const d={};return d.domEventName=o,d.fullKey=a,d}static matchEventFullKeyCode(e,i){let o=rB[e.key]||e.key,s="";return i.indexOf("code.")>-1&&(o=e.code,s="code."),!(null==o||!o)&&(o=o.toLowerCase()," "===o?o="space":"."===o&&(o="dot"),SD.forEach(a=>{a!==o&&(0,oB[a])(e)&&(s+=a+".")}),s+=o,s===i)}static eventCallback(e,i,o){return s=>{t.matchEventFullKeyCode(s,e)&&o.runGuarded(()=>i(s))}}static _normalizeKey(e){return"esc"===e?"escape":e}}return t.\u0275fac=function(e){return new(e||t)(we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const TD=[{provide:Oa,useValue:uD},{provide:$w,useValue:function aB(){yy.makeCurrent()},multi:!0},{provide:It,useFactory:function cB(){return function mA(t){pb=t}(document),document},deps:[]}],dB=bS(Y5,"browser",TD),uB=new Re(""),LD=[{provide:Vp,useClass:class GH{addToWindow(n){wn.getAngularTestability=(i,o=!0)=>{const s=n.findTestabilityInTree(i,o);if(null==s)throw new Fe(5103,!1);return s},wn.getAllAngularTestabilities=()=>n.getAllTestabilities(),wn.getAllAngularRootElements=()=>n.getAllRootElements(),wn.frameworkStabilizers||(wn.frameworkStabilizers=[]),wn.frameworkStabilizers.push(i=>{const o=wn.getAllAngularTestabilities();let s=o.length,a=!1;const l=function(d){a=a||d,s--,0==s&&i(a)};o.forEach(function(d){d.whenStable(l)})})}findTestabilityInTree(n,e,i){return null==e?null:n.getTestability(e)??(i?Ya().isShadowRoot(e)?this.findTestabilityInTree(n,e.host,!0):this.findTestabilityInTree(n,e.parentElement,!0):null)}},deps:[]},{provide:fS,useClass:zv,deps:[ft,Uv,Vp]},{provide:zv,useClass:zv,deps:[ft,Uv,Vp]}],ED=[{provide:Cb,useValue:"root"},{provide:Ss,useFactory:function lB(){return new Ss},deps:[]},{provide:My,useClass:iB,multi:!0,deps:[It,ft,Oa]},{provide:My,useClass:sB,multi:!0,deps:[It]},ky,MD,vD,{provide:Lu,useExisting:ky},{provide:pD,useClass:qH,deps:[]},[]];let ID=(()=>{class t{constructor(e){}static withServerTransition(e){return{ngModule:t,providers:[{provide:ku,useValue:e.appId}]}}}return t.\u0275fac=function(e){return new(e||t)(we(uB,12))},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[...ED,...LD],imports:[ta,H5]}),t})(),PD=(()=>{class t{constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}}return t.\u0275fac=function(e){return new(e||t)(we(It))},t.\u0275prov=Ne({token:t,factory:function(e){let i=null;return i=e?new e:function fB(){return new PD(we(It))}(),i},providedIn:"root"}),t})();typeof window<"u"&&window;let Ly=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(e){let i=null;return i=e?new(e||t):we(FD),i},providedIn:"root"}),t})(),FD=(()=>{class t extends Ly{constructor(e){super(),this._doc=e}sanitize(e,i){if(null==i)return null;switch(e){case kn.NONE:return i;case kn.HTML:return xs(i,"HTML")?_o(i):Fw(this._doc,String(i)).toString();case kn.STYLE:return xs(i,"Style")?_o(i):i;case kn.SCRIPT:if(xs(i,"Script"))return _o(i);throw new Fe(5200,!1);case kn.URL:return xs(i,"URL")?_o(i):fp(String(i));case kn.RESOURCE_URL:if(xs(i,"ResourceURL"))return _o(i);throw new Fe(5201,!1);default:throw new Fe(5202,!1)}}bypassSecurityTrustHtml(e){return function wA(t){return new gA(t)}(e)}bypassSecurityTrustStyle(e){return function CA(t){return new _A(t)}(e)}bypassSecurityTrustScript(e){return function xA(t){return new bA(t)}(e)}bypassSecurityTrustUrl(e){return function kA(t){return new vA(t)}(e)}bypassSecurityTrustResourceUrl(e){return function SA(t){return new yA(t)}(e)}}return t.\u0275fac=function(e){return new(e||t)(we(It))},t.\u0275prov=Ne({token:t,factory:function(e){let i=null;return i=e?new e:function _B(t){return new FD(t.get(It))}(we(Si)),i},providedIn:"root"}),t})();class ND{}class bB{}const na="*";function ia(t,n){return{type:7,name:t,definitions:n,options:{}}}function Ur(t,n=null){return{type:4,styles:n,timings:t}}function HD(t,n=null){return{type:2,steps:t,options:n}}function Qn(t){return{type:6,styles:t,offset:null}}function yo(t,n,e){return{type:0,name:t,styles:n,options:e}}function Pr(t,n,e=null){return{type:1,expr:t,animation:n,options:e}}function Ey(t=null){return{type:9,options:t}}function Iy(t,n,e=null){return{type:11,selector:t,animation:n,options:e}}function BD(t){Promise.resolve().then(t)}class ih{constructor(n=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=n+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}onStart(n){this._originalOnStartFns.push(n),this._onStartFns.push(n)}onDone(n){this._originalOnDoneFns.push(n),this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){BD(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(n=>n()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(n){this._position=this.totalTime?n*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class VD{constructor(n){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=n;let e=0,i=0,o=0;const s=this.players.length;0==s?BD(()=>this._onFinish()):this.players.forEach(a=>{a.onDone(()=>{++e==s&&this._onFinish()}),a.onDestroy(()=>{++i==s&&this._onDestroy()}),a.onStart(()=>{++o==s&&this._onStart()})}),this.totalTime=this.players.reduce((a,l)=>Math.max(a,l.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this.players.forEach(n=>n.init())}onStart(n){this._onStartFns.push(n)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(n=>n()),this._onStartFns=[])}onDone(n){this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(n=>n.play())}pause(){this.players.forEach(n=>n.pause())}restart(){this.players.forEach(n=>n.restart())}finish(){this._onFinish(),this.players.forEach(n=>n.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(n=>n.destroy()),this._onDestroyFns.forEach(n=>n()),this._onDestroyFns=[])}reset(){this.players.forEach(n=>n.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(n){const e=n*this.totalTime;this.players.forEach(i=>{const o=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(o)})}getPosition(){const n=this.players.reduce((e,i)=>null===e||i.totalTime>e.totalTime?i:e,null);return null!=n?n.getPosition():0}beforeDestroy(){this.players.forEach(n=>{n.beforeDestroy&&n.beforeDestroy()})}triggerCallback(n){const e="start"==n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}const Py="!";function jD(t){return new Fe(3e3,!1)}function Ba(t){switch(t.length){case 0:return new ih;case 1:return t[0];default:return new VD(t)}}function zD(t,n,e=new Map,i=new Map){const o=[],s=[];let a=-1,l=null;if(n.forEach(d=>{const _=d.get("offset"),E=_==a,F=E&&l||new Map;d.forEach((G,ie)=>{let _e=ie,Ce=G;if("offset"!==ie)switch(_e=t.normalizePropertyName(_e,o),Ce){case Py:Ce=e.get(ie);break;case na:Ce=i.get(ie);break;default:Ce=t.normalizeStyleValue(ie,_e,Ce,o)}F.set(_e,Ce)}),E||s.push(F),l=F,a=_}),o.length)throw function VB(t){return new Fe(3502,!1)}();return s}function Oy(t,n,e,i){switch(n){case"start":t.onStart(()=>i(e&&Ay(e,"start",t)));break;case"done":t.onDone(()=>i(e&&Ay(e,"done",t)));break;case"destroy":t.onDestroy(()=>i(e&&Ay(e,"destroy",t)))}}function Ay(t,n,e){const s=Fy(t.element,t.triggerName,t.fromState,t.toState,n||t.phaseName,e.totalTime??t.totalTime,!!e.disabled),a=t._data;return null!=a&&(s._data=a),s}function Fy(t,n,e,i,o="",s=0,a){return{element:t,triggerName:n,fromState:e,toState:i,phaseName:o,totalTime:s,disabled:!!a}}function Mo(t,n,e){let i=t.get(n);return i||t.set(n,i=e),i}function UD(t){const n=t.indexOf(":");return[t.substring(1,n),t.slice(n+1)]}const QB=(()=>typeof document>"u"?null:document.documentElement)();function Ry(t){const n=t.parentNode||t.host||null;return n===QB?null:n}let Nl=null,WD=!1;function $D(t,n){for(;n;){if(n===t)return!0;n=Ry(n)}return!1}function GD(t,n,e){if(e)return Array.from(t.querySelectorAll(n));const i=t.querySelector(n);return i?[i]:[]}let qD=(()=>{class t{validateStyleProperty(e){return function tV(t){Nl||(Nl=function nV(){return typeof document<"u"?document.body:null}()||{},WD=!!Nl.style&&"WebkitAppearance"in Nl.style);let n=!0;return Nl.style&&!function eV(t){return"ebkit"==t.substring(1,6)}(t)&&(n=t in Nl.style,!n&&WD&&(n="Webkit"+t.charAt(0).toUpperCase()+t.slice(1)in Nl.style)),n}(e)}matchesElement(e,i){return!1}containsElement(e,i){return $D(e,i)}getParentElement(e){return Ry(e)}query(e,i,o){return GD(e,i,o)}computeStyle(e,i,o){return o||""}animate(e,i,o,s,a,l=[],d){return new ih(o,s)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})(),Ny=(()=>{class t{}return t.NOOP=new qD,t})();const iV=1e3,Yy="ng-enter",om="ng-leave",sm="ng-trigger",am=".ng-trigger",ZD="ng-animating",Hy=".ng-animating";function ra(t){if("number"==typeof t)return t;const n=t.match(/^(-?[\.\d]+)(m?s)/);return!n||n.length<2?0:By(parseFloat(n[1]),n[2])}function By(t,n){return"s"===n?t*iV:t}function lm(t,n,e){return t.hasOwnProperty("duration")?t:function oV(t,n,e){let o,s=0,a="";if("string"==typeof t){const l=t.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===l)return n.push(jD()),{duration:0,delay:0,easing:""};o=By(parseFloat(l[1]),l[2]);const d=l[3];null!=d&&(s=By(parseFloat(d),l[4]));const _=l[5];_&&(a=_)}else o=t;if(!e){let l=!1,d=n.length;o<0&&(n.push(function vB(){return new Fe(3100,!1)}()),l=!0),s<0&&(n.push(function yB(){return new Fe(3101,!1)}()),l=!0),l&&n.splice(d,0,jD())}return{duration:o,delay:s,easing:a}}(t,n,e)}function rh(t,n={}){return Object.keys(t).forEach(e=>{n[e]=t[e]}),n}function XD(t){const n=new Map;return Object.keys(t).forEach(e=>{n.set(e,t[e])}),n}function Va(t,n=new Map,e){if(e)for(let[i,o]of e)n.set(i,o);for(let[i,o]of t)n.set(i,o);return n}function Ps(t,n,e){n.forEach((i,o)=>{const s=jy(o);e&&!e.has(o)&&e.set(o,t.style[s]),t.style[s]=i})}function Yl(t,n){n.forEach((e,i)=>{const o=jy(i);t.style[o]=""})}function oh(t){return Array.isArray(t)?1==t.length?t[0]:HD(t):t}const Vy=new RegExp("{{\\s*(.+?)\\s*}}","g");function QD(t){let n=[];if("string"==typeof t){let e;for(;e=Vy.exec(t);)n.push(e[1]);Vy.lastIndex=0}return n}function sh(t,n,e){const i=t.toString(),o=i.replace(Vy,(s,a)=>{let l=n[a];return null==l&&(e.push(function wB(t){return new Fe(3003,!1)}()),l=""),l.toString()});return o==i?t:o}function cm(t){const n=[];let e=t.next();for(;!e.done;)n.push(e.value),e=t.next();return n}const lV=/-+([a-z0-9])/g;function jy(t){return t.replace(lV,(...n)=>n[1].toUpperCase())}function wo(t,n,e){switch(n.type){case 7:return t.visitTrigger(n,e);case 0:return t.visitState(n,e);case 1:return t.visitTransition(n,e);case 2:return t.visitSequence(n,e);case 3:return t.visitGroup(n,e);case 4:return t.visitAnimate(n,e);case 5:return t.visitKeyframes(n,e);case 6:return t.visitStyle(n,e);case 8:return t.visitReference(n,e);case 9:return t.visitAnimateChild(n,e);case 10:return t.visitAnimateRef(n,e);case 11:return t.visitQuery(n,e);case 12:return t.visitStagger(n,e);default:throw function CB(t){return new Fe(3004,!1)}()}}function eT(t,n){return window.getComputedStyle(t)[n]}const dm="*";function uV(t,n){const e=[];return"string"==typeof t?t.split(/\s*,\s*/).forEach(i=>function hV(t,n,e){if(":"==t[0]){const d=function fV(t,n){switch(t){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,i)=>parseFloat(i)>parseFloat(e);case":decrement":return(e,i)=>parseFloat(i) *"}}(t,e);if("function"==typeof d)return void n.push(d);t=d}const i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return e.push(function RB(t){return new Fe(3015,!1)}()),n;const o=i[1],s=i[2],a=i[3];n.push(tT(o,a));"<"==s[0]&&!(o==dm&&a==dm)&&n.push(tT(a,o))}(i,e,n)):e.push(t),e}const um=new Set(["true","1"]),hm=new Set(["false","0"]);function tT(t,n){const e=um.has(t)||hm.has(t),i=um.has(n)||hm.has(n);return(o,s)=>{let a=t==dm||t==o,l=n==dm||n==s;return!a&&e&&"boolean"==typeof o&&(a=o?um.has(t):hm.has(t)),!l&&i&&"boolean"==typeof s&&(l=s?um.has(n):hm.has(n)),a&&l}}const pV=new RegExp("s*:selfs*,?","g");function zy(t,n,e,i){return new mV(t).build(n,e,i)}class mV{constructor(n){this._driver=n}build(n,e,i){const o=new bV(e);return this._resetContextStyleTimingState(o),wo(this,oh(n),o)}_resetContextStyleTimingState(n){n.currentQuerySelector="",n.collectedStyles=new Map,n.collectedStyles.set("",new Map),n.currentTime=0}visitTrigger(n,e){let i=e.queryCount=0,o=e.depCount=0;const s=[],a=[];return"@"==n.name.charAt(0)&&e.errors.push(function kB(){return new Fe(3006,!1)}()),n.definitions.forEach(l=>{if(this._resetContextStyleTimingState(e),0==l.type){const d=l,_=d.name;_.toString().split(/\s*,\s*/).forEach(E=>{d.name=E,s.push(this.visitState(d,e))}),d.name=_}else if(1==l.type){const d=this.visitTransition(l,e);i+=d.queryCount,o+=d.depCount,a.push(d)}else e.errors.push(function SB(){return new Fe(3007,!1)}())}),{type:7,name:n.name,states:s,transitions:a,queryCount:i,depCount:o,options:null}}visitState(n,e){const i=this.visitStyle(n.styles,e),o=n.options&&n.options.params||null;if(i.containsDynamicStyles){const s=new Set,a=o||{};i.styles.forEach(l=>{l instanceof Map&&l.forEach(d=>{QD(d).forEach(_=>{a.hasOwnProperty(_)||s.add(_)})})}),s.size&&(cm(s.values()),e.errors.push(function DB(t,n){return new Fe(3008,!1)}()))}return{type:0,name:n.name,style:i,options:o?{params:o}:null}}visitTransition(n,e){e.queryCount=0,e.depCount=0;const i=wo(this,oh(n.animation),e);return{type:1,matchers:uV(n.expr,e.errors),animation:i,queryCount:e.queryCount,depCount:e.depCount,options:Hl(n.options)}}visitSequence(n,e){return{type:2,steps:n.steps.map(i=>wo(this,i,e)),options:Hl(n.options)}}visitGroup(n,e){const i=e.currentTime;let o=0;const s=n.steps.map(a=>{e.currentTime=i;const l=wo(this,a,e);return o=Math.max(o,e.currentTime),l});return e.currentTime=o,{type:3,steps:s,options:Hl(n.options)}}visitAnimate(n,e){const i=function yV(t,n){if(t.hasOwnProperty("duration"))return t;if("number"==typeof t)return Uy(lm(t,n).duration,0,"");const e=t;if(e.split(/\s+/).some(s=>"{"==s.charAt(0)&&"{"==s.charAt(1))){const s=Uy(0,0,"");return s.dynamic=!0,s.strValue=e,s}const o=lm(e,n);return Uy(o.duration,o.delay,o.easing)}(n.timings,e.errors);e.currentAnimateTimings=i;let o,s=n.styles?n.styles:Qn({});if(5==s.type)o=this.visitKeyframes(s,e);else{let a=n.styles,l=!1;if(!a){l=!0;const _={};i.easing&&(_.easing=i.easing),a=Qn(_)}e.currentTime+=i.duration+i.delay;const d=this.visitStyle(a,e);d.isEmptyStep=l,o=d}return e.currentAnimateTimings=null,{type:4,timings:i,style:o,options:null}}visitStyle(n,e){const i=this._makeStyleAst(n,e);return this._validateStyleAst(i,e),i}_makeStyleAst(n,e){const i=[],o=Array.isArray(n.styles)?n.styles:[n.styles];for(let l of o)"string"==typeof l?l===na?i.push(l):e.errors.push(new Fe(3002,!1)):i.push(XD(l));let s=!1,a=null;return i.forEach(l=>{if(l instanceof Map&&(l.has("easing")&&(a=l.get("easing"),l.delete("easing")),!s))for(let d of l.values())if(d.toString().indexOf("{{")>=0){s=!0;break}}),{type:6,styles:i,easing:a,offset:n.offset,containsDynamicStyles:s,options:null}}_validateStyleAst(n,e){const i=e.currentAnimateTimings;let o=e.currentTime,s=e.currentTime;i&&s>0&&(s-=i.duration+i.delay),n.styles.forEach(a=>{"string"!=typeof a&&a.forEach((l,d)=>{const _=e.collectedStyles.get(e.currentQuerySelector),E=_.get(d);let F=!0;E&&(s!=o&&s>=E.startTime&&o<=E.endTime&&(e.errors.push(function LB(t,n,e,i,o){return new Fe(3010,!1)}()),F=!1),s=E.startTime),F&&_.set(d,{startTime:s,endTime:o}),e.options&&function aV(t,n,e){const i=n.params||{},o=QD(t);o.length&&o.forEach(s=>{i.hasOwnProperty(s)||e.push(function MB(t){return new Fe(3001,!1)}())})}(l,e.options,e.errors)})})}visitKeyframes(n,e){const i={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(function EB(){return new Fe(3011,!1)}()),i;let s=0;const a=[];let l=!1,d=!1,_=0;const E=n.steps.map(ze=>{const Ee=this._makeStyleAst(ze,e);let qe=null!=Ee.offset?Ee.offset:function vV(t){if("string"==typeof t)return null;let n=null;if(Array.isArray(t))t.forEach(e=>{if(e instanceof Map&&e.has("offset")){const i=e;n=parseFloat(i.get("offset")),i.delete("offset")}});else if(t instanceof Map&&t.has("offset")){const e=t;n=parseFloat(e.get("offset")),e.delete("offset")}return n}(Ee.styles),dt=0;return null!=qe&&(s++,dt=Ee.offset=qe),d=d||dt<0||dt>1,l=l||dt<_,_=dt,a.push(dt),Ee});d&&e.errors.push(function IB(){return new Fe(3012,!1)}()),l&&e.errors.push(function PB(){return new Fe(3200,!1)}());const F=n.steps.length;let G=0;s>0&&s{const qe=G>0?Ee==ie?1:G*Ee:a[Ee],dt=qe*Ae;e.currentTime=_e+Ce.delay+dt,Ce.duration=dt,this._validateStyleAst(ze,e),ze.offset=qe,i.styles.push(ze)}),i}visitReference(n,e){return{type:8,animation:wo(this,oh(n.animation),e),options:Hl(n.options)}}visitAnimateChild(n,e){return e.depCount++,{type:9,options:Hl(n.options)}}visitAnimateRef(n,e){return{type:10,animation:this.visitReference(n.animation,e),options:Hl(n.options)}}visitQuery(n,e){const i=e.currentQuerySelector,o=n.options||{};e.queryCount++,e.currentQuery=n;const[s,a]=function gV(t){const n=!!t.split(/\s*,\s*/).find(e=>":self"==e);return n&&(t=t.replace(pV,"")),t=t.replace(/@\*/g,am).replace(/@\w+/g,e=>am+"-"+e.slice(1)).replace(/:animating/g,Hy),[t,n]}(n.selector);e.currentQuerySelector=i.length?i+" "+s:s,Mo(e.collectedStyles,e.currentQuerySelector,new Map);const l=wo(this,oh(n.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:11,selector:s,limit:o.limit||0,optional:!!o.optional,includeSelf:a,animation:l,originalSelector:n.selector,options:Hl(n.options)}}visitStagger(n,e){e.currentQuery||e.errors.push(function AB(){return new Fe(3013,!1)}());const i="full"===n.timings?{duration:0,delay:0,easing:"full"}:lm(n.timings,e.errors,!0);return{type:12,animation:wo(this,oh(n.animation),e),timings:i,options:null}}}class bV{constructor(n){this.errors=n,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function Hl(t){return t?(t=rh(t)).params&&(t.params=function _V(t){return t?rh(t):null}(t.params)):t={},t}function Uy(t,n,e){return{duration:t,delay:n,easing:e}}function Wy(t,n,e,i,o,s,a=null,l=!1){return{type:1,element:t,keyframes:n,preStyleProps:e,postStyleProps:i,duration:o,delay:s,totalTime:o+s,easing:a,subTimeline:l}}class fm{constructor(){this._map=new Map}get(n){return this._map.get(n)||[]}append(n,e){let i=this._map.get(n);i||this._map.set(n,i=[]),i.push(...e)}has(n){return this._map.has(n)}clear(){this._map.clear()}}const CV=new RegExp(":enter","g"),kV=new RegExp(":leave","g");function $y(t,n,e,i,o,s=new Map,a=new Map,l,d,_=[]){return(new SV).buildKeyframes(t,n,e,i,o,s,a,l,d,_)}class SV{buildKeyframes(n,e,i,o,s,a,l,d,_,E=[]){_=_||new fm;const F=new Gy(n,e,_,o,s,E,[]);F.options=d;const G=d.delay?ra(d.delay):0;F.currentTimeline.delayNextStep(G),F.currentTimeline.setStyles([a],null,F.errors,d),wo(this,i,F);const ie=F.timelines.filter(_e=>_e.containsAnimation());if(ie.length&&l.size){let _e;for(let Ce=ie.length-1;Ce>=0;Ce--){const Ae=ie[Ce];if(Ae.element===e){_e=Ae;break}}_e&&!_e.allowOnlyTimelineStyles()&&_e.setStyles([l],null,F.errors,d)}return ie.length?ie.map(_e=>_e.buildKeyframes()):[Wy(e,[],[],[],0,G,"",!1)]}visitTrigger(n,e){}visitState(n,e){}visitTransition(n,e){}visitAnimateChild(n,e){const i=e.subInstructions.get(e.element);if(i){const o=e.createSubContext(n.options),s=e.currentTimeline.currentTime,a=this._visitSubInstructions(i,o,o.options);s!=a&&e.transformIntoNewTimeline(a)}e.previousNode=n}visitAnimateRef(n,e){const i=e.createSubContext(n.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([n.options,n.animation.options],e,i),this.visitReference(n.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=n}_applyAnimationRefDelays(n,e,i){for(const o of n){const s=o?.delay;if(s){const a="number"==typeof s?s:ra(sh(s,o?.params??{},e.errors));i.delayNextStep(a)}}}_visitSubInstructions(n,e,i){let s=e.currentTimeline.currentTime;const a=null!=i.duration?ra(i.duration):null,l=null!=i.delay?ra(i.delay):null;return 0!==a&&n.forEach(d=>{const _=e.appendInstructionToTimeline(d,a,l);s=Math.max(s,_.duration+_.delay)}),s}visitReference(n,e){e.updateOptions(n.options,!0),wo(this,n.animation,e),e.previousNode=n}visitSequence(n,e){const i=e.subContextCount;let o=e;const s=n.options;if(s&&(s.params||s.delay)&&(o=e.createSubContext(s),o.transformIntoNewTimeline(),null!=s.delay)){6==o.previousNode.type&&(o.currentTimeline.snapshotCurrentStyles(),o.previousNode=pm);const a=ra(s.delay);o.delayNextStep(a)}n.steps.length&&(n.steps.forEach(a=>wo(this,a,o)),o.currentTimeline.applyStylesToKeyframe(),o.subContextCount>i&&o.transformIntoNewTimeline()),e.previousNode=n}visitGroup(n,e){const i=[];let o=e.currentTimeline.currentTime;const s=n.options&&n.options.delay?ra(n.options.delay):0;n.steps.forEach(a=>{const l=e.createSubContext(n.options);s&&l.delayNextStep(s),wo(this,a,l),o=Math.max(o,l.currentTimeline.currentTime),i.push(l.currentTimeline)}),i.forEach(a=>e.currentTimeline.mergeTimelineCollectedStyles(a)),e.transformIntoNewTimeline(o),e.previousNode=n}_visitTiming(n,e){if(n.dynamic){const i=n.strValue;return lm(e.params?sh(i,e.params,e.errors):i,e.errors)}return{duration:n.duration,delay:n.delay,easing:n.easing}}visitAnimate(n,e){const i=e.currentAnimateTimings=this._visitTiming(n.timings,e),o=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),o.snapshotCurrentStyles());const s=n.style;5==s.type?this.visitKeyframes(s,e):(e.incrementTime(i.duration),this.visitStyle(s,e),o.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=n}visitStyle(n,e){const i=e.currentTimeline,o=e.currentAnimateTimings;!o&&i.hasCurrentStyleProperties()&&i.forwardFrame();const s=o&&o.easing||n.easing;n.isEmptyStep?i.applyEmptyStep(s):i.setStyles(n.styles,s,e.errors,e.options),e.previousNode=n}visitKeyframes(n,e){const i=e.currentAnimateTimings,o=e.currentTimeline.duration,s=i.duration,l=e.createSubContext().currentTimeline;l.easing=i.easing,n.styles.forEach(d=>{l.forwardTime((d.offset||0)*s),l.setStyles(d.styles,d.easing,e.errors,e.options),l.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(l),e.transformIntoNewTimeline(o+s),e.previousNode=n}visitQuery(n,e){const i=e.currentTimeline.currentTime,o=n.options||{},s=o.delay?ra(o.delay):0;s&&(6===e.previousNode.type||0==i&&e.currentTimeline.hasCurrentStyleProperties())&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=pm);let a=i;const l=e.invokeQuery(n.selector,n.originalSelector,n.limit,n.includeSelf,!!o.optional,e.errors);e.currentQueryTotal=l.length;let d=null;l.forEach((_,E)=>{e.currentQueryIndex=E;const F=e.createSubContext(n.options,_);s&&F.delayNextStep(s),_===e.element&&(d=F.currentTimeline),wo(this,n.animation,F),F.currentTimeline.applyStylesToKeyframe(),a=Math.max(a,F.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(a),d&&(e.currentTimeline.mergeTimelineCollectedStyles(d),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=n}visitStagger(n,e){const i=e.parentContext,o=e.currentTimeline,s=n.timings,a=Math.abs(s.duration),l=a*(e.currentQueryTotal-1);let d=a*e.currentQueryIndex;switch(s.duration<0?"reverse":s.easing){case"reverse":d=l-d;break;case"full":d=i.currentStaggerTime}const E=e.currentTimeline;d&&E.delayNextStep(d);const F=E.currentTime;wo(this,n.animation,e),e.previousNode=n,i.currentStaggerTime=o.currentTime-F+(o.startTime-i.currentTimeline.startTime)}}const pm={};class Gy{constructor(n,e,i,o,s,a,l,d){this._driver=n,this.element=e,this.subInstructions=i,this._enterClassName=o,this._leaveClassName=s,this.errors=a,this.timelines=l,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=pm,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=d||new mm(this._driver,e,0),l.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(n,e){if(!n)return;const i=n;let o=this.options;null!=i.duration&&(o.duration=ra(i.duration)),null!=i.delay&&(o.delay=ra(i.delay));const s=i.params;if(s){let a=o.params;a||(a=this.options.params={}),Object.keys(s).forEach(l=>{(!e||!a.hasOwnProperty(l))&&(a[l]=sh(s[l],a,this.errors))})}}_copyOptions(){const n={};if(this.options){const e=this.options.params;if(e){const i=n.params={};Object.keys(e).forEach(o=>{i[o]=e[o]})}}return n}createSubContext(n=null,e,i){const o=e||this.element,s=new Gy(this._driver,o,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(o,i||0));return s.previousNode=this.previousNode,s.currentAnimateTimings=this.currentAnimateTimings,s.options=this._copyOptions(),s.updateOptions(n),s.currentQueryIndex=this.currentQueryIndex,s.currentQueryTotal=this.currentQueryTotal,s.parentContext=this,this.subContextCount++,s}transformIntoNewTimeline(n){return this.previousNode=pm,this.currentTimeline=this.currentTimeline.fork(this.element,n),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(n,e,i){const o={duration:e??n.duration,delay:this.currentTimeline.currentTime+(i??0)+n.delay,easing:""},s=new DV(this._driver,n.element,n.keyframes,n.preStyleProps,n.postStyleProps,o,n.stretchStartingKeyframe);return this.timelines.push(s),o}incrementTime(n){this.currentTimeline.forwardTime(this.currentTimeline.duration+n)}delayNextStep(n){n>0&&this.currentTimeline.delayNextStep(n)}invokeQuery(n,e,i,o,s,a){let l=[];if(o&&l.push(this.element),n.length>0){n=(n=n.replace(CV,"."+this._enterClassName)).replace(kV,"."+this._leaveClassName);let _=this._driver.query(this.element,n,1!=i);0!==i&&(_=i<0?_.slice(_.length+i,_.length):_.slice(0,i)),l.push(..._)}return!s&&0==l.length&&a.push(function FB(t){return new Fe(3014,!1)}()),l}}class mm{constructor(n,e,i,o){this._driver=n,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=o,this.duration=0,this.easing=null,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(n){const e=1===this._keyframes.size&&this._pendingStyles.size;this.duration||e?(this.forwardTime(this.currentTime+n),e&&this.snapshotCurrentStyles()):this.startTime+=n}fork(n,e){return this.applyStylesToKeyframe(),new mm(this._driver,n,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(n){this.applyStylesToKeyframe(),this.duration=n,this._loadKeyframe()}_updateStyle(n,e){this._localTimelineStyles.set(n,e),this._globalTimelineStyles.set(n,e),this._styleSummary.set(n,{time:this.currentTime,value:e})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(n){n&&this._previousKeyframe.set("easing",n);for(let[e,i]of this._globalTimelineStyles)this._backFill.set(e,i||na),this._currentKeyframe.set(e,na);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(n,e,i,o){e&&this._previousKeyframe.set("easing",e);const s=o&&o.params||{},a=function TV(t,n){const e=new Map;let i;return t.forEach(o=>{if("*"===o){i=i||n.keys();for(let s of i)e.set(s,na)}else Va(o,e)}),e}(n,this._globalTimelineStyles);for(let[l,d]of a){const _=sh(d,s,i);this._pendingStyles.set(l,_),this._localTimelineStyles.has(l)||this._backFill.set(l,this._globalTimelineStyles.get(l)??na),this._updateStyle(l,_)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((n,e)=>{this._currentKeyframe.set(e,n)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((n,e)=>{this._currentKeyframe.has(e)||this._currentKeyframe.set(e,n)}))}snapshotCurrentStyles(){for(let[n,e]of this._localTimelineStyles)this._pendingStyles.set(n,e),this._updateStyle(n,e)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const n=[];for(let e in this._currentKeyframe)n.push(e);return n}mergeTimelineCollectedStyles(n){n._styleSummary.forEach((e,i)=>{const o=this._styleSummary.get(i);(!o||e.time>o.time)&&this._updateStyle(i,e.value)})}buildKeyframes(){this.applyStylesToKeyframe();const n=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let o=[];this._keyframes.forEach((l,d)=>{const _=Va(l,new Map,this._backFill);_.forEach((E,F)=>{E===Py?n.add(F):E===na&&e.add(F)}),i||_.set("offset",d/this.duration),o.push(_)});const s=n.size?cm(n.values()):[],a=e.size?cm(e.values()):[];if(i){const l=o[0],d=new Map(l);l.set("offset",0),d.set("offset",1),o=[l,d]}return Wy(this.element,o,s,a,this.duration,this.startTime,this.easing,!1)}}class DV extends mm{constructor(n,e,i,o,s,a,l=!1){super(n,e,a.delay),this.keyframes=i,this.preStyleProps=o,this.postStyleProps=s,this._stretchStartingKeyframe=l,this.timings={duration:a.duration,delay:a.delay,easing:a.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let n=this.keyframes,{delay:e,duration:i,easing:o}=this.timings;if(this._stretchStartingKeyframe&&e){const s=[],a=i+e,l=e/a,d=Va(n[0]);d.set("offset",0),s.push(d);const _=Va(n[0]);_.set("offset",rT(l)),s.push(_);const E=n.length-1;for(let F=1;F<=E;F++){let G=Va(n[F]);const ie=G.get("offset");G.set("offset",rT((e+ie*i)/a)),s.push(G)}i=a,e=0,o="",n=s}return Wy(this.element,n,this.preStyleProps,this.postStyleProps,i,e,o,!0)}}function rT(t,n=3){const e=Math.pow(10,n-1);return Math.round(t*e)/e}class qy{}const LV=new Set(["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"]);class EV extends qy{normalizePropertyName(n,e){return jy(n)}normalizeStyleValue(n,e,i,o){let s="";const a=i.toString().trim();if(LV.has(e)&&0!==i&&"0"!==i)if("number"==typeof i)s="px";else{const l=i.match(/^[+-]?[\d\.]+([a-z]*)$/);l&&0==l[1].length&&o.push(function xB(t,n){return new Fe(3005,!1)}())}return a+s}}function oT(t,n,e,i,o,s,a,l,d,_,E,F,G){return{type:0,element:t,triggerName:n,isRemovalTransition:o,fromState:e,fromStyles:s,toState:i,toStyles:a,timelines:l,queriedElements:d,preStyleProps:_,postStyleProps:E,totalTime:F,errors:G}}const Ky={};class sT{constructor(n,e,i){this._triggerName=n,this.ast=e,this._stateStyles=i}match(n,e,i,o){return function IV(t,n,e,i,o){return t.some(s=>s(n,e,i,o))}(this.ast.matchers,n,e,i,o)}buildStyles(n,e,i){let o=this._stateStyles.get("*");return void 0!==n&&(o=this._stateStyles.get(n?.toString())||o),o?o.buildStyles(e,i):new Map}build(n,e,i,o,s,a,l,d,_,E){const F=[],G=this.ast.options&&this.ast.options.params||Ky,_e=this.buildStyles(i,l&&l.params||Ky,F),Ce=d&&d.params||Ky,Ae=this.buildStyles(o,Ce,F),ze=new Set,Ee=new Map,qe=new Map,dt="void"===o,Rt={params:PV(Ce,G),delay:this.ast.options?.delay},sn=E?[]:$y(n,e,this.ast.animation,s,a,_e,Ae,Rt,_,F);let Ii=0;if(sn.forEach(us=>{Ii=Math.max(us.duration+us.delay,Ii)}),F.length)return oT(e,this._triggerName,i,o,dt,_e,Ae,[],[],Ee,qe,Ii,F);sn.forEach(us=>{const ga=us.element,zP=Mo(Ee,ga,new Set);us.preStyleProps.forEach(lc=>zP.add(lc));const lf=Mo(qe,ga,new Set);us.postStyleProps.forEach(lc=>lf.add(lc)),ga!==e&&ze.add(ga)});const ds=cm(ze.values());return oT(e,this._triggerName,i,o,dt,_e,Ae,sn,ds,Ee,qe,Ii)}}function PV(t,n){const e=rh(n);for(const i in t)t.hasOwnProperty(i)&&null!=t[i]&&(e[i]=t[i]);return e}class OV{constructor(n,e,i){this.styles=n,this.defaultParams=e,this.normalizer=i}buildStyles(n,e){const i=new Map,o=rh(this.defaultParams);return Object.keys(n).forEach(s=>{const a=n[s];null!==a&&(o[s]=a)}),this.styles.styles.forEach(s=>{"string"!=typeof s&&s.forEach((a,l)=>{a&&(a=sh(a,o,e));const d=this.normalizer.normalizePropertyName(l,e);a=this.normalizer.normalizeStyleValue(l,d,a,e),i.set(l,a)})}),i}}class FV{constructor(n,e,i){this.name=n,this.ast=e,this._normalizer=i,this.transitionFactories=[],this.states=new Map,e.states.forEach(o=>{this.states.set(o.name,new OV(o.style,o.options&&o.options.params||{},i))}),aT(this.states,"true","1"),aT(this.states,"false","0"),e.transitions.forEach(o=>{this.transitionFactories.push(new sT(n,o,this.states))}),this.fallbackTransition=function RV(t,n,e){return new sT(t,{type:1,animation:{type:2,steps:[],options:null},matchers:[(a,l)=>!0],options:null,queryCount:0,depCount:0},n)}(n,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(n,e,i,o){return this.transitionFactories.find(a=>a.match(n,e,i,o))||null}matchStyles(n,e,i){return this.fallbackTransition.buildStyles(n,e,i)}}function aT(t,n,e){t.has(n)?t.has(e)||t.set(e,t.get(n)):t.has(e)&&t.set(n,t.get(e))}const NV=new fm;class YV{constructor(n,e,i){this.bodyNode=n,this._driver=e,this._normalizer=i,this._animations=new Map,this._playersById=new Map,this.players=[]}register(n,e){const i=[],s=zy(this._driver,e,i,[]);if(i.length)throw function jB(t){return new Fe(3503,!1)}();this._animations.set(n,s)}_buildPlayer(n,e,i){const o=n.element,s=zD(this._normalizer,n.keyframes,e,i);return this._driver.animate(o,s,n.duration,n.delay,n.easing,[],!0)}create(n,e,i={}){const o=[],s=this._animations.get(n);let a;const l=new Map;if(s?(a=$y(this._driver,e,s,Yy,om,new Map,new Map,i,NV,o),a.forEach(E=>{const F=Mo(l,E.element,new Map);E.postStyleProps.forEach(G=>F.set(G,null))})):(o.push(function zB(){return new Fe(3300,!1)}()),a=[]),o.length)throw function UB(t){return new Fe(3504,!1)}();l.forEach((E,F)=>{E.forEach((G,ie)=>{E.set(ie,this._driver.computeStyle(F,ie,na))})});const _=Ba(a.map(E=>{const F=l.get(E.element);return this._buildPlayer(E,new Map,F)}));return this._playersById.set(n,_),_.onDestroy(()=>this.destroy(n)),this.players.push(_),_}destroy(n){const e=this._getPlayer(n);e.destroy(),this._playersById.delete(n);const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(n){const e=this._playersById.get(n);if(!e)throw function WB(t){return new Fe(3301,!1)}();return e}listen(n,e,i,o){const s=Fy(e,"","","");return Oy(this._getPlayer(n),i,s,o),()=>{}}command(n,e,i,o){if("register"==i)return void this.register(n,o[0]);if("create"==i)return void this.create(n,e,o[0]||{});const s=this._getPlayer(n);switch(i){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(o[0]));break;case"destroy":this.destroy(n)}}}const lT="ng-animate-queued",Zy="ng-animate-disabled",zV=[],cT={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},UV={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Wo="__ng_removed";class Xy{get params(){return this.options.params}constructor(n,e=""){this.namespaceId=e;const i=n&&n.hasOwnProperty("value");if(this.value=function qV(t){return t??null}(i?n.value:n),i){const s=rh(n);delete s.value,this.options=s}else this.options={};this.options.params||(this.options.params={})}absorbOptions(n){const e=n.params;if(e){const i=this.options.params;Object.keys(e).forEach(o=>{null==i[o]&&(i[o]=e[o])})}}}const ah="void",Jy=new Xy(ah);class WV{constructor(n,e,i){this.id=n,this.hostElement=e,this._engine=i,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+n,$o(e,this._hostClassName)}listen(n,e,i,o){if(!this._triggers.has(e))throw function $B(t,n){return new Fe(3302,!1)}();if(null==i||0==i.length)throw function GB(t){return new Fe(3303,!1)}();if(!function KV(t){return"start"==t||"done"==t}(i))throw function qB(t,n){return new Fe(3400,!1)}();const s=Mo(this._elementListeners,n,[]),a={name:e,phase:i,callback:o};s.push(a);const l=Mo(this._engine.statesByElement,n,new Map);return l.has(e)||($o(n,sm),$o(n,sm+"-"+e),l.set(e,Jy)),()=>{this._engine.afterFlush(()=>{const d=s.indexOf(a);d>=0&&s.splice(d,1),this._triggers.has(e)||l.delete(e)})}}register(n,e){return!this._triggers.has(n)&&(this._triggers.set(n,e),!0)}_getTrigger(n){const e=this._triggers.get(n);if(!e)throw function KB(t){return new Fe(3401,!1)}();return e}trigger(n,e,i,o=!0){const s=this._getTrigger(e),a=new Qy(this.id,e,n);let l=this._engine.statesByElement.get(n);l||($o(n,sm),$o(n,sm+"-"+e),this._engine.statesByElement.set(n,l=new Map));let d=l.get(e);const _=new Xy(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&d&&_.absorbOptions(d.options),l.set(e,_),d||(d=Jy),_.value!==ah&&d.value===_.value){if(!function JV(t,n){const e=Object.keys(t),i=Object.keys(n);if(e.length!=i.length)return!1;for(let o=0;o{Yl(n,Ae),Ps(n,ze)})}return}const G=Mo(this._engine.playersByElement,n,[]);G.forEach(Ce=>{Ce.namespaceId==this.id&&Ce.triggerName==e&&Ce.queued&&Ce.destroy()});let ie=s.matchTransition(d.value,_.value,n,_.params),_e=!1;if(!ie){if(!o)return;ie=s.fallbackTransition,_e=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:e,transition:ie,fromState:d,toState:_,player:a,isFallbackTransition:_e}),_e||($o(n,lT),a.onStart(()=>{fd(n,lT)})),a.onDone(()=>{let Ce=this.players.indexOf(a);Ce>=0&&this.players.splice(Ce,1);const Ae=this._engine.playersByElement.get(n);if(Ae){let ze=Ae.indexOf(a);ze>=0&&Ae.splice(ze,1)}}),this.players.push(a),G.push(a),a}deregister(n){this._triggers.delete(n),this._engine.statesByElement.forEach(e=>e.delete(n)),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(o=>o.name!=n))})}clearElementCache(n){this._engine.statesByElement.delete(n),this._elementListeners.delete(n);const e=this._engine.playersByElement.get(n);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(n))}_signalRemovalForInnerTriggers(n,e){const i=this._engine.driver.query(n,am,!0);i.forEach(o=>{if(o[Wo])return;const s=this._engine.fetchNamespacesByElement(o);s.size?s.forEach(a=>a.triggerLeaveAnimation(o,e,!1,!0)):this.clearElementCache(o)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(o=>this.clearElementCache(o)))}triggerLeaveAnimation(n,e,i,o){const s=this._engine.statesByElement.get(n),a=new Map;if(s){const l=[];if(s.forEach((d,_)=>{if(a.set(_,d.value),this._triggers.has(_)){const E=this.trigger(n,_,ah,o);E&&l.push(E)}}),l.length)return this._engine.markElementAsRemoved(this.id,n,!0,e,a),i&&Ba(l).onDone(()=>this._engine.processLeaveNode(n)),!0}return!1}prepareLeaveAnimationListeners(n){const e=this._elementListeners.get(n),i=this._engine.statesByElement.get(n);if(e&&i){const o=new Set;e.forEach(s=>{const a=s.name;if(o.has(a))return;o.add(a);const d=this._triggers.get(a).fallbackTransition,_=i.get(a)||Jy,E=new Xy(ah),F=new Qy(this.id,a,n);this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:a,transition:d,fromState:_,toState:E,player:F,isFallbackTransition:!0})})}}removeNode(n,e){const i=this._engine;if(n.childElementCount&&this._signalRemovalForInnerTriggers(n,e),this.triggerLeaveAnimation(n,e,!0))return;let o=!1;if(i.totalAnimations){const s=i.players.length?i.playersByQueriedElement.get(n):[];if(s&&s.length)o=!0;else{let a=n;for(;a=a.parentNode;)if(i.statesByElement.get(a)){o=!0;break}}}if(this.prepareLeaveAnimationListeners(n),o)i.markElementAsRemoved(this.id,n,!1,e);else{const s=n[Wo];(!s||s===cT)&&(i.afterFlush(()=>this.clearElementCache(n)),i.destroyInnerAnimations(n),i._onRemovalComplete(n,e))}}insertNode(n,e){$o(n,this._hostClassName)}drainQueuedTransitions(n){const e=[];return this._queue.forEach(i=>{const o=i.player;if(o.destroyed)return;const s=i.element,a=this._elementListeners.get(s);a&&a.forEach(l=>{if(l.name==i.triggerName){const d=Fy(s,i.triggerName,i.fromState.value,i.toState.value);d._data=n,Oy(i.player,l.phase,d,l.callback)}}),o.markedForDestroy?this._engine.afterFlush(()=>{o.destroy()}):e.push(i)}),this._queue=[],e.sort((i,o)=>{const s=i.transition.ast.depCount,a=o.transition.ast.depCount;return 0==s||0==a?s-a:this._engine.driver.containsElement(i.element,o.element)?1:-1})}destroy(n){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,n)}elementContainsData(n){let e=!1;return this._elementListeners.has(n)&&(e=!0),e=!!this._queue.find(i=>i.element===n)||e,e}}class $V{_onRemovalComplete(n,e){this.onRemovalComplete(n,e)}constructor(n,e,i){this.bodyNode=n,this.driver=e,this._normalizer=i,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=(o,s)=>{}}get queuedPlayers(){const n=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&n.push(i)})}),n}createNamespace(n,e){const i=new WV(n,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[n]=i}_balanceNamespaceList(n,e){const i=this._namespaceList,o=this.namespacesByHostElement;if(i.length-1>=0){let a=!1,l=this.driver.getParentElement(e);for(;l;){const d=o.get(l);if(d){const _=i.indexOf(d);i.splice(_+1,0,n),a=!0;break}l=this.driver.getParentElement(l)}a||i.unshift(n)}else i.push(n);return o.set(e,n),n}register(n,e){let i=this._namespaceLookup[n];return i||(i=this.createNamespace(n,e)),i}registerTrigger(n,e,i){let o=this._namespaceLookup[n];o&&o.register(e,i)&&this.totalAnimations++}destroy(n,e){if(!n)return;const i=this._fetchNamespace(n);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[n];const o=this._namespaceList.indexOf(i);o>=0&&this._namespaceList.splice(o,1)}),this.afterFlushAnimationsDone(()=>i.destroy(e))}_fetchNamespace(n){return this._namespaceLookup[n]}fetchNamespacesByElement(n){const e=new Set,i=this.statesByElement.get(n);if(i)for(let o of i.values())if(o.namespaceId){const s=this._fetchNamespace(o.namespaceId);s&&e.add(s)}return e}trigger(n,e,i,o){if(gm(e)){const s=this._fetchNamespace(n);if(s)return s.trigger(e,i,o),!0}return!1}insertNode(n,e,i,o){if(!gm(e))return;const s=e[Wo];if(s&&s.setForRemoval){s.setForRemoval=!1,s.setForMove=!0;const a=this.collectedLeaveElements.indexOf(e);a>=0&&this.collectedLeaveElements.splice(a,1)}if(n){const a=this._fetchNamespace(n);a&&a.insertNode(e,i)}o&&this.collectEnterElement(e)}collectEnterElement(n){this.collectedEnterElements.push(n)}markElementAsDisabled(n,e){e?this.disabledNodes.has(n)||(this.disabledNodes.add(n),$o(n,Zy)):this.disabledNodes.has(n)&&(this.disabledNodes.delete(n),fd(n,Zy))}removeNode(n,e,i,o){if(gm(e)){const s=n?this._fetchNamespace(n):null;if(s?s.removeNode(e,o):this.markElementAsRemoved(n,e,!1,o),i){const a=this.namespacesByHostElement.get(e);a&&a.id!==n&&a.removeNode(e,o)}}else this._onRemovalComplete(e,o)}markElementAsRemoved(n,e,i,o,s){this.collectedLeaveElements.push(e),e[Wo]={namespaceId:n,setForRemoval:o,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:s}}listen(n,e,i,o,s){return gm(e)?this._fetchNamespace(n).listen(e,i,o,s):()=>{}}_buildInstruction(n,e,i,o,s){return n.transition.build(this.driver,n.element,n.fromState.value,n.toState.value,i,o,n.fromState.options,n.toState.options,e,s)}destroyInnerAnimations(n){let e=this.driver.query(n,am,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(n,Hy,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(n){const e=this.playersByElement.get(n);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(n){const e=this.playersByQueriedElement.get(n);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(n=>{if(this.players.length)return Ba(this.players).onDone(()=>n());n()})}processLeaveNode(n){const e=n[Wo];if(e&&e.setForRemoval){if(n[Wo]=cT,e.namespaceId){this.destroyInnerAnimations(n);const i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(n)}this._onRemovalComplete(n,e.setForRemoval)}n.classList?.contains(Zy)&&this.markElementAsDisabled(n,!1),this.driver.query(n,".ng-animate-disabled",!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(n=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,o)=>this._balanceNamespaceList(i,o)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],e.length?Ba(e).onDone(()=>{i.forEach(o=>o())}):i.forEach(o=>o())}}reportError(n){throw function ZB(t){return new Fe(3402,!1)}()}_flushAnimations(n,e){const i=new fm,o=[],s=new Map,a=[],l=new Map,d=new Map,_=new Map,E=new Set;this.disabledNodes.forEach(pt=>{E.add(pt);const yt=this.driver.query(pt,".ng-animate-queued",!0);for(let Ot=0;Ot{const Ot=Yy+Ce++;_e.set(yt,Ot),pt.forEach(vn=>$o(vn,Ot))});const Ae=[],ze=new Set,Ee=new Set;for(let pt=0;ptze.add(vn)):Ee.add(yt))}const qe=new Map,dt=hT(G,Array.from(ze));dt.forEach((pt,yt)=>{const Ot=om+Ce++;qe.set(yt,Ot),pt.forEach(vn=>$o(vn,Ot))}),n.push(()=>{ie.forEach((pt,yt)=>{const Ot=_e.get(yt);pt.forEach(vn=>fd(vn,Ot))}),dt.forEach((pt,yt)=>{const Ot=qe.get(yt);pt.forEach(vn=>fd(vn,Ot))}),Ae.forEach(pt=>{this.processLeaveNode(pt)})});const Rt=[],sn=[];for(let pt=this._namespaceList.length-1;pt>=0;pt--)this._namespaceList[pt].drainQueuedTransitions(e).forEach(Ot=>{const vn=Ot.player,_r=Ot.element;if(Rt.push(vn),this.collectedEnterElements.length){const Rr=_r[Wo];if(Rr&&Rr.setForMove){if(Rr.previousTriggersValues&&Rr.previousTriggersValues.has(Ot.triggerName)){const cc=Rr.previousTriggersValues.get(Ot.triggerName),qo=this.statesByElement.get(Ot.element);if(qo&&qo.has(Ot.triggerName)){const Yg=qo.get(Ot.triggerName);Yg.value=cc,qo.set(Ot.triggerName,Yg)}}return void vn.destroy()}}const Ns=!F||!this.driver.containsElement(F,_r),Eo=qe.get(_r),cl=_e.get(_r),Mi=this._buildInstruction(Ot,i,cl,Eo,Ns);if(Mi.errors&&Mi.errors.length)return void sn.push(Mi);if(Ns)return vn.onStart(()=>Yl(_r,Mi.fromStyles)),vn.onDestroy(()=>Ps(_r,Mi.toStyles)),void o.push(vn);if(Ot.isFallbackTransition)return vn.onStart(()=>Yl(_r,Mi.fromStyles)),vn.onDestroy(()=>Ps(_r,Mi.toStyles)),void o.push(vn);const $P=[];Mi.timelines.forEach(Rr=>{Rr.stretchStartingKeyframe=!0,this.disabledNodes.has(Rr.element)||$P.push(Rr)}),Mi.timelines=$P,i.append(_r,Mi.timelines),a.push({instruction:Mi,player:vn,element:_r}),Mi.queriedElements.forEach(Rr=>Mo(l,Rr,[]).push(vn)),Mi.preStyleProps.forEach((Rr,cc)=>{if(Rr.size){let qo=d.get(cc);qo||d.set(cc,qo=new Set),Rr.forEach((Yg,K1)=>qo.add(K1))}}),Mi.postStyleProps.forEach((Rr,cc)=>{let qo=_.get(cc);qo||_.set(cc,qo=new Set),Rr.forEach((Yg,K1)=>qo.add(K1))})});if(sn.length){const pt=[];sn.forEach(yt=>{pt.push(function XB(t,n){return new Fe(3505,!1)}())}),Rt.forEach(yt=>yt.destroy()),this.reportError(pt)}const Ii=new Map,ds=new Map;a.forEach(pt=>{const yt=pt.element;i.has(yt)&&(ds.set(yt,yt),this._beforeAnimationBuild(pt.player.namespaceId,pt.instruction,Ii))}),o.forEach(pt=>{const yt=pt.element;this._getPreviousPlayers(yt,!1,pt.namespaceId,pt.triggerName,null).forEach(vn=>{Mo(Ii,yt,[]).push(vn),vn.destroy()})});const us=Ae.filter(pt=>pT(pt,d,_)),ga=new Map;uT(ga,this.driver,Ee,_,na).forEach(pt=>{pT(pt,d,_)&&us.push(pt)});const lf=new Map;ie.forEach((pt,yt)=>{uT(lf,this.driver,new Set(pt),d,Py)}),us.forEach(pt=>{const yt=ga.get(pt),Ot=lf.get(pt);ga.set(pt,new Map([...Array.from(yt?.entries()??[]),...Array.from(Ot?.entries()??[])]))});const lc=[],UP=[],WP={};a.forEach(pt=>{const{element:yt,player:Ot,instruction:vn}=pt;if(i.has(yt)){if(E.has(yt))return Ot.onDestroy(()=>Ps(yt,vn.toStyles)),Ot.disabled=!0,Ot.overrideTotalTime(vn.totalTime),void o.push(Ot);let _r=WP;if(ds.size>1){let Eo=yt;const cl=[];for(;Eo=Eo.parentNode;){const Mi=ds.get(Eo);if(Mi){_r=Mi;break}cl.push(Eo)}cl.forEach(Mi=>ds.set(Mi,_r))}const Ns=this._buildAnimation(Ot.namespaceId,vn,Ii,s,lf,ga);if(Ot.setRealPlayer(Ns),_r===WP)lc.push(Ot);else{const Eo=this.playersByElement.get(_r);Eo&&Eo.length&&(Ot.parentPlayer=Ba(Eo)),o.push(Ot)}}else Yl(yt,vn.fromStyles),Ot.onDestroy(()=>Ps(yt,vn.toStyles)),UP.push(Ot),E.has(yt)&&o.push(Ot)}),UP.forEach(pt=>{const yt=s.get(pt.element);if(yt&&yt.length){const Ot=Ba(yt);pt.setRealPlayer(Ot)}}),o.forEach(pt=>{pt.parentPlayer?pt.syncPlayerEvents(pt.parentPlayer):pt.destroy()});for(let pt=0;pt!Ns.destroyed);_r.length?ZV(this,yt,_r):this.processLeaveNode(yt)}return Ae.length=0,lc.forEach(pt=>{this.players.push(pt),pt.onDone(()=>{pt.destroy();const yt=this.players.indexOf(pt);this.players.splice(yt,1)}),pt.play()}),lc}elementContainsData(n,e){let i=!1;const o=e[Wo];return o&&o.setForRemoval&&(i=!0),this.playersByElement.has(e)&&(i=!0),this.playersByQueriedElement.has(e)&&(i=!0),this.statesByElement.has(e)&&(i=!0),this._fetchNamespace(n).elementContainsData(e)||i}afterFlush(n){this._flushFns.push(n)}afterFlushAnimationsDone(n){this._whenQuietFns.push(n)}_getPreviousPlayers(n,e,i,o,s){let a=[];if(e){const l=this.playersByQueriedElement.get(n);l&&(a=l)}else{const l=this.playersByElement.get(n);if(l){const d=!s||s==ah;l.forEach(_=>{_.queued||!d&&_.triggerName!=o||a.push(_)})}}return(i||o)&&(a=a.filter(l=>!(i&&i!=l.namespaceId||o&&o!=l.triggerName))),a}_beforeAnimationBuild(n,e,i){const s=e.element,a=e.isRemovalTransition?void 0:n,l=e.isRemovalTransition?void 0:e.triggerName;for(const d of e.timelines){const _=d.element,E=_!==s,F=Mo(i,_,[]);this._getPreviousPlayers(_,E,a,l,e.toState).forEach(ie=>{const _e=ie.getRealPlayer();_e.beforeDestroy&&_e.beforeDestroy(),ie.destroy(),F.push(ie)})}Yl(s,e.fromStyles)}_buildAnimation(n,e,i,o,s,a){const l=e.triggerName,d=e.element,_=[],E=new Set,F=new Set,G=e.timelines.map(_e=>{const Ce=_e.element;E.add(Ce);const Ae=Ce[Wo];if(Ae&&Ae.removedBeforeQueried)return new ih(_e.duration,_e.delay);const ze=Ce!==d,Ee=function XV(t){const n=[];return fT(t,n),n}((i.get(Ce)||zV).map(Ii=>Ii.getRealPlayer())).filter(Ii=>!!Ii.element&&Ii.element===Ce),qe=s.get(Ce),dt=a.get(Ce),Rt=zD(this._normalizer,_e.keyframes,qe,dt),sn=this._buildPlayer(_e,Rt,Ee);if(_e.subTimeline&&o&&F.add(Ce),ze){const Ii=new Qy(n,l,Ce);Ii.setRealPlayer(sn),_.push(Ii)}return sn});_.forEach(_e=>{Mo(this.playersByQueriedElement,_e.element,[]).push(_e),_e.onDone(()=>function GV(t,n,e){let i=t.get(n);if(i){if(i.length){const o=i.indexOf(e);i.splice(o,1)}0==i.length&&t.delete(n)}return i}(this.playersByQueriedElement,_e.element,_e))}),E.forEach(_e=>$o(_e,ZD));const ie=Ba(G);return ie.onDestroy(()=>{E.forEach(_e=>fd(_e,ZD)),Ps(d,e.toStyles)}),F.forEach(_e=>{Mo(o,_e,[]).push(ie)}),ie}_buildPlayer(n,e,i){return e.length>0?this.driver.animate(n.element,e,n.duration,n.delay,n.easing,i):new ih(n.duration,n.delay)}}class Qy{constructor(n,e,i){this.namespaceId=n,this.triggerName=e,this.element=i,this._player=new ih,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.parentPlayer=null,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(n){this._containsRealPlayer||(this._player=n,this._queuedCallbacks.forEach((e,i)=>{e.forEach(o=>Oy(n,i,void 0,o))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(n.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(n){this.totalTime=n}syncPlayerEvents(n){const e=this._player;e.triggerCallback&&n.onStart(()=>e.triggerCallback("start")),n.onDone(()=>this.finish()),n.onDestroy(()=>this.destroy())}_queueEvent(n,e){Mo(this._queuedCallbacks,n,[]).push(e)}onDone(n){this.queued&&this._queueEvent("done",n),this._player.onDone(n)}onStart(n){this.queued&&this._queueEvent("start",n),this._player.onStart(n)}onDestroy(n){this.queued&&this._queueEvent("destroy",n),this._player.onDestroy(n)}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(n){this.queued||this._player.setPosition(n)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(n){const e=this._player;e.triggerCallback&&e.triggerCallback(n)}}function gm(t){return t&&1===t.nodeType}function dT(t,n){const e=t.style.display;return t.style.display=n??"none",e}function uT(t,n,e,i,o){const s=[];e.forEach(d=>s.push(dT(d)));const a=[];i.forEach((d,_)=>{const E=new Map;d.forEach(F=>{const G=n.computeStyle(_,F,o);E.set(F,G),(!G||0==G.length)&&(_[Wo]=UV,a.push(_))}),t.set(_,E)});let l=0;return e.forEach(d=>dT(d,s[l++])),a}function hT(t,n){const e=new Map;if(t.forEach(l=>e.set(l,[])),0==n.length)return e;const i=1,o=new Set(n),s=new Map;function a(l){if(!l)return i;let d=s.get(l);if(d)return d;const _=l.parentNode;return d=e.has(_)?_:o.has(_)?i:a(_),s.set(l,d),d}return n.forEach(l=>{const d=a(l);d!==i&&e.get(d).push(l)}),e}function $o(t,n){t.classList?.add(n)}function fd(t,n){t.classList?.remove(n)}function ZV(t,n,e){Ba(e).onDone(()=>t.processLeaveNode(n))}function fT(t,n){for(let e=0;eo.add(s)):n.set(t,i),e.delete(t),!0}class _m{constructor(n,e,i){this.bodyNode=n,this._driver=e,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(o,s)=>{},this._transitionEngine=new $V(n,e,i),this._timelineEngine=new YV(n,e,i),this._transitionEngine.onRemovalComplete=(o,s)=>this.onRemovalComplete(o,s)}registerTrigger(n,e,i,o,s){const a=n+"-"+o;let l=this._triggerCache[a];if(!l){const d=[],E=zy(this._driver,s,d,[]);if(d.length)throw function BB(t,n){return new Fe(3404,!1)}();l=function AV(t,n,e){return new FV(t,n,e)}(o,E,this._normalizer),this._triggerCache[a]=l}this._transitionEngine.registerTrigger(e,o,l)}register(n,e){this._transitionEngine.register(n,e)}destroy(n,e){this._transitionEngine.destroy(n,e)}onInsert(n,e,i,o){this._transitionEngine.insertNode(n,e,i,o)}onRemove(n,e,i,o){this._transitionEngine.removeNode(n,e,o||!1,i)}disableAnimations(n,e){this._transitionEngine.markElementAsDisabled(n,e)}process(n,e,i,o){if("@"==i.charAt(0)){const[s,a]=UD(i);this._timelineEngine.command(s,e,a,o)}else this._transitionEngine.trigger(n,e,i,o)}listen(n,e,i,o,s){if("@"==i.charAt(0)){const[a,l]=UD(i);return this._timelineEngine.listen(a,e,l,s)}return this._transitionEngine.listen(n,e,i,o,s)}flush(n=-1){this._transitionEngine.flush(n)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}let e8=(()=>{class t{constructor(e,i,o){this._element=e,this._startStyles=i,this._endStyles=o,this._state=0;let s=t.initialStylesByElement.get(e);s||t.initialStylesByElement.set(e,s=new Map),this._initialStyles=s}start(){this._state<1&&(this._startStyles&&Ps(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Ps(this._element,this._initialStyles),this._endStyles&&(Ps(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(Yl(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Yl(this._element,this._endStyles),this._endStyles=null),Ps(this._element,this._initialStyles),this._state=3)}}return t.initialStylesByElement=new WeakMap,t})();function e0(t){let n=null;return t.forEach((e,i)=>{(function t8(t){return"display"===t||"position"===t})(i)&&(n=n||new Map,n.set(i,e))}),n}class mT{constructor(n,e,i,o){this.element=n,this.keyframes=e,this.options=i,this._specialStyles=o,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(n=>n()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const n=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,n,this.options),this._finalKeyframe=n.length?n[n.length-1]:new Map,this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(n){const e=[];return n.forEach(i=>{e.push(Object.fromEntries(i))}),e}_triggerWebAnimation(n,e,i){return n.animate(this._convertKeyframesToObject(e),i)}onStart(n){this._originalOnStartFns.push(n),this._onStartFns.push(n)}onDone(n){this._originalOnDoneFns.push(n),this._onDoneFns.push(n)}onDestroy(n){this._onDestroyFns.push(n)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(n=>n()),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,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_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(n=>n()),this._onDestroyFns=[])}setPosition(n){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=n*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const n=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,o)=>{"offset"!==o&&n.set(o,this._finished?i:eT(this.element,o))}),this.currentSnapshot=n}triggerCallback(n){const e="start"===n?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class n8{validateStyleProperty(n){return!0}validateAnimatableStyleProperty(n){return!0}matchesElement(n,e){return!1}containsElement(n,e){return $D(n,e)}getParentElement(n){return Ry(n)}query(n,e,i){return GD(n,e,i)}computeStyle(n,e,i){return window.getComputedStyle(n)[e]}animate(n,e,i,o,s,a=[]){const d={duration:i,delay:o,fill:0==o?"both":"forwards"};s&&(d.easing=s);const _=new Map,E=a.filter(ie=>ie instanceof mT);(function cV(t,n){return 0===t||0===n})(i,o)&&E.forEach(ie=>{ie.currentSnapshot.forEach((_e,Ce)=>_.set(Ce,_e))});let F=function sV(t){return t.length?t[0]instanceof Map?t:t.map(n=>XD(n)):[]}(e).map(ie=>Va(ie));F=function dV(t,n,e){if(e.size&&n.length){let i=n[0],o=[];if(e.forEach((s,a)=>{i.has(a)||o.push(a),i.set(a,s)}),o.length)for(let s=1;sa.set(l,eT(t,l)))}}return n}(n,F,_);const G=function QV(t,n){let e=null,i=null;return Array.isArray(n)&&n.length?(e=e0(n[0]),n.length>1&&(i=e0(n[n.length-1]))):n instanceof Map&&(e=e0(n)),e||i?new e8(t,e,i):null}(n,F);return new mT(n,F,d,G)}}let i8=(()=>{class t extends ND{constructor(e,i){super(),this._nextAnimationId=0,this._renderer=e.createRenderer(i.body,{id:"0",encapsulation:Dr.None,styles:[],data:{animation:[]}})}build(e){const i=this._nextAnimationId.toString();this._nextAnimationId++;const o=Array.isArray(e)?HD(e):e;return gT(this._renderer,null,i,"register",[o]),new r8(i,this._renderer)}}return t.\u0275fac=function(e){return new(e||t)(we(Lu),we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();class r8 extends bB{constructor(n,e){super(),this._id=n,this._renderer=e}create(n,e){return new o8(this._id,n,e||{},this._renderer)}}class o8{constructor(n,e,i,o){this.id=n,this.element=e,this._renderer=o,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(n,e){return this._renderer.listen(this.element,`@@${this.id}:${n}`,e)}_command(n,...e){return gT(this._renderer,this.element,this.id,n,e)}onDone(n){this._listen("done",n)}onStart(n){this._listen("start",n)}onDestroy(n){this._listen("destroy",n)}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(n){this._command("setPosition",n)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function gT(t,n,e,i,o){return t.setProperty(n,`@@${e}:${i}`,o)}const _T="@.disabled";let s8=(()=>{class t{constructor(e,i,o){this.delegate=e,this.engine=i,this._zone=o,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),i.onRemovalComplete=(s,a)=>{const l=a?.parentNode(s);l&&a.removeChild(l,s)}}createRenderer(e,i){const s=this.delegate.createRenderer(e,i);if(!(e&&i&&i.data&&i.data.animation)){let E=this._rendererCache.get(s);return E||(E=new bT("",s,this.engine,()=>this._rendererCache.delete(s)),this._rendererCache.set(s,E)),E}const a=i.id,l=i.id+"-"+this._currentId;this._currentId++,this.engine.register(l,e);const d=E=>{Array.isArray(E)?E.forEach(d):this.engine.registerTrigger(a,l,e,E.name,E)};return i.data.animation.forEach(d),new a8(this,l,s,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(e,i,o){e>=0&&ei(o)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(s=>{const[a,l]=s;a(l)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,o]))}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 t.\u0275fac=function(e){return new(e||t)(we(Lu),we(_m),we(ft))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();class bT{constructor(n,e,i,o){this.namespaceId=n,this.delegate=e,this.engine=i,this._onDestroy=o,this.destroyNode=this.delegate.destroyNode?s=>e.destroyNode(s):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy(),this._onDestroy?.()}createElement(n,e){return this.delegate.createElement(n,e)}createComment(n){return this.delegate.createComment(n)}createText(n){return this.delegate.createText(n)}appendChild(n,e){this.delegate.appendChild(n,e),this.engine.onInsert(this.namespaceId,e,n,!1)}insertBefore(n,e,i,o=!0){this.delegate.insertBefore(n,e,i),this.engine.onInsert(this.namespaceId,e,n,o)}removeChild(n,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate,i)}selectRootElement(n,e){return this.delegate.selectRootElement(n,e)}parentNode(n){return this.delegate.parentNode(n)}nextSibling(n){return this.delegate.nextSibling(n)}setAttribute(n,e,i,o){this.delegate.setAttribute(n,e,i,o)}removeAttribute(n,e,i){this.delegate.removeAttribute(n,e,i)}addClass(n,e){this.delegate.addClass(n,e)}removeClass(n,e){this.delegate.removeClass(n,e)}setStyle(n,e,i,o){this.delegate.setStyle(n,e,i,o)}removeStyle(n,e,i){this.delegate.removeStyle(n,e,i)}setProperty(n,e,i){"@"==e.charAt(0)&&e==_T?this.disableAnimations(n,!!i):this.delegate.setProperty(n,e,i)}setValue(n,e){this.delegate.setValue(n,e)}listen(n,e,i){return this.delegate.listen(n,e,i)}disableAnimations(n,e){this.engine.disableAnimations(n,e)}}class a8 extends bT{constructor(n,e,i,o,s){super(e,i,o,s),this.factory=n,this.namespaceId=e}setProperty(n,e,i){"@"==e.charAt(0)?"."==e.charAt(1)&&e==_T?this.disableAnimations(n,i=void 0===i||!!i):this.engine.process(this.namespaceId,n,e.slice(1),i):this.delegate.setProperty(n,e,i)}listen(n,e,i){if("@"==e.charAt(0)){const o=function l8(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}(n);let s=e.slice(1),a="";return"@"!=s.charAt(0)&&([s,a]=function c8(t){const n=t.indexOf(".");return[t.substring(0,n),t.slice(n+1)]}(s)),this.engine.listen(this.namespaceId,o,s,a,l=>{this.factory.scheduleListenerCallback(l._data||-1,i,l)})}return this.delegate.listen(n,e,i)}}let d8=(()=>{class t extends _m{constructor(e,i,o,s){super(e.body,i,o)}ngOnDestroy(){this.flush()}}return t.\u0275fac=function(e){return new(e||t)(we(It),we(Ny),we(qy),we(Na))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const vT=[{provide:ND,useClass:i8},{provide:qy,useFactory:function u8(){return new EV}},{provide:_m,useClass:d8},{provide:Lu,useFactory:function h8(t,n,e){return new s8(t,n,e)},deps:[ky,_m,ft]}],t0=[{provide:Ny,useFactory:()=>new n8},{provide:Ri,useValue:"BrowserAnimations"},...vT],yT=[{provide:Ny,useClass:qD},{provide:Ri,useValue:"NoopAnimations"},...vT];let f8=(()=>{class t{static withConfig(e){return{ngModule:t,providers:e.disableAnimations?yT:t0}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:t0,imports:[ID]}),t})();function $e(...t){let n=t[t.length-1];return Se(n)?(t.pop(),W(t,n)):An(t)}function Bl(t,n){return Ye(t,n,1)}function _i(t,n){return function(i){return i.lift(new p8(t,n))}}class p8{constructor(n,e){this.predicate=n,this.thisArg=e}call(n,e){return e.subscribe(new m8(n,this.predicate,this.thisArg))}}class m8 extends A{constructor(n,e,i){super(n),this.predicate=e,this.thisArg=i,this.count=0}_next(n){let e;try{e=this.predicate.call(this.thisArg,n,this.count++)}catch(i){return void this.destination.error(i)}e&&this.destination.next(n)}}function gr(t,n){return"function"==typeof n?e=>e.pipe(gr((i,o)=>ue(t(i,o)).pipe(ke((s,a)=>n(i,s,o,a))))):e=>e.lift(new g8(t))}class g8{constructor(n){this.project=n}call(n,e){return e.subscribe(new _8(n,this.project))}}class _8 extends Me{constructor(n,e){super(n),this.project=e,this.index=0}_next(n){let e;const i=this.index++;try{e=this.project(n,i)}catch(o){return void this.destination.error(o)}this._innerSub(e)}_innerSub(n){const e=this.innerSubscription;e&&e.unsubscribe();const i=new be(this),o=this.destination;o.add(i),this.innerSubscription=Ie(n,i),this.innerSubscription!==i&&o.add(this.innerSubscription)}_complete(){const{innerSubscription:n}=this;(!n||n.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(n){this.destination.next(n)}}class vm{}class n0{}class rs{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?this.lazyInit="string"==typeof n?()=>{this.headers=new Map,n.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const o=e.slice(0,i),s=o.toLowerCase(),a=e.slice(i+1).trim();this.maybeSetNormalizedName(o,s),this.headers.has(s)?this.headers.get(s).push(a):this.headers.set(s,[a])}})}:()=>{this.headers=new Map,Object.entries(n).forEach(([e,i])=>{let o;if(o="string"==typeof i?[i]:"number"==typeof i?[i.toString()]:i.map(s=>s.toString()),o.length>0){const s=e.toLowerCase();this.headers.set(s,o),this.maybeSetNormalizedName(e,s)}})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();const e=this.headers.get(n.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,e){return this.clone({name:n,value:e,op:"a"})}set(n,e){return this.clone({name:n,value:e,op:"s"})}delete(n,e){return this.clone({name:n,value:e,op:"d"})}maybeSetNormalizedName(n,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,n)}init(){this.lazyInit&&(this.lazyInit instanceof rs?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(e=>{this.headers.set(e,n.headers.get(e)),this.normalizedNames.set(e,n.normalizedNames.get(e))})}clone(n){const e=new rs;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof rs?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){const e=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(n.name,e);const o=("a"===n.op?this.headers.get(e):void 0)||[];o.push(...i),this.headers.set(e,o);break;case"d":const s=n.value;if(s){let a=this.headers.get(e);if(!a)return;a=a.filter(l=>-1===s.indexOf(l)),0===a.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,a)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}}class b8{encodeKey(n){return MT(n)}encodeValue(n){return MT(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}}const y8=/%(\d[a-f0-9])/gi,M8={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function MT(t){return encodeURIComponent(t).replace(y8,(n,e)=>M8[e]??n)}function ym(t){return`${t}`}class ja{constructor(n={}){if(this.updates=null,this.cloneFrom=null,this.encoder=n.encoder||new b8,n.fromString){if(n.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function v8(t,n){const e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(o=>{const s=o.indexOf("="),[a,l]=-1==s?[n.decodeKey(o),""]:[n.decodeKey(o.slice(0,s)),n.decodeValue(o.slice(s+1))],d=e.get(a)||[];d.push(l),e.set(a,d)}),e}(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{const i=n.fromObject[e],o=Array.isArray(i)?i.map(ym):[ym(i)];this.map.set(e,o)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();const e=this.map.get(n);return e?e[0]:null}getAll(n){return this.init(),this.map.get(n)||null}keys(){return this.init(),Array.from(this.map.keys())}append(n,e){return this.clone({param:n,value:e,op:"a"})}appendAll(n){const e=[];return Object.keys(n).forEach(i=>{const o=n[i];Array.isArray(o)?o.forEach(s=>{e.push({param:i,value:s,op:"a"})}):e.push({param:i,value:o,op:"a"})}),this.clone(e)}set(n,e){return this.clone({param:n,value:e,op:"s"})}delete(n,e){return this.clone({param:n,value:e,op:"d"})}toString(){return this.init(),this.keys().map(n=>{const e=this.encoder.encodeKey(n);return this.map.get(n).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>""!==n).join("&")}clone(n){const e=new ja({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(n=>this.map.set(n,this.cloneFrom.map.get(n))),this.updates.forEach(n=>{switch(n.op){case"a":case"s":const e=("a"===n.op?this.map.get(n.param):void 0)||[];e.push(ym(n.value)),this.map.set(n.param,e);break;case"d":if(void 0===n.value){this.map.delete(n.param);break}{let i=this.map.get(n.param)||[];const o=i.indexOf(ym(n.value));-1!==o&&i.splice(o,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}}}),this.cloneFrom=this.updates=null)}}class w8{constructor(){this.map=new Map}set(n,e){return this.map.set(n,e),this}get(n){return this.map.has(n)||this.map.set(n,n.defaultValue()),this.map.get(n)}delete(n){return this.map.delete(n),this}has(n){return this.map.has(n)}keys(){return this.map.keys()}}function wT(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function CT(t){return typeof Blob<"u"&&t instanceof Blob}function xT(t){return typeof FormData<"u"&&t instanceof FormData}class lh{constructor(n,e,i,o){let s;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=n.toUpperCase(),function C8(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==i?i:null,s=o):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new rs),this.context||(this.context=new w8),this.params){const a=this.params.toString();if(0===a.length)this.urlWithParams=e;else{const l=e.indexOf("?");this.urlWithParams=e+(-1===l?"?":lF.set(G,n.setHeaders[G]),d)),n.setParams&&(_=Object.keys(n.setParams).reduce((F,G)=>F.set(G,n.setParams[G]),_)),new lh(e,i,s,{params:_,headers:d,context:E,reportProgress:l,responseType:o,withCredentials:a})}}var Zi=(()=>((Zi=Zi||{})[Zi.Sent=0]="Sent",Zi[Zi.UploadProgress=1]="UploadProgress",Zi[Zi.ResponseHeader=2]="ResponseHeader",Zi[Zi.DownloadProgress=3]="DownloadProgress",Zi[Zi.Response=4]="Response",Zi[Zi.User=5]="User",Zi))();class r0{constructor(n,e=200,i="OK"){this.headers=n.headers||new rs,this.status=void 0!==n.status?n.status:e,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}}class o0 extends r0{constructor(n={}){super(n),this.type=Zi.ResponseHeader}clone(n={}){return new o0({headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class pd extends r0{constructor(n={}){super(n),this.type=Zi.Response,this.body=void 0!==n.body?n.body:null}clone(n={}){return new pd({body:void 0!==n.body?n.body:this.body,headers:n.headers||this.headers,status:void 0!==n.status?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}}class kT extends r0{constructor(n){super(n,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${n.url||"(unknown url)"}`:`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}}function s0(t,n){return{body:n,headers:t.headers,context:t.context,observe:t.observe,params:t.params,reportProgress:t.reportProgress,responseType:t.responseType,withCredentials:t.withCredentials}}let Vl=(()=>{class t{constructor(e){this.handler=e}request(e,i,o={}){let s;if(e instanceof lh)s=e;else{let d,_;d=o.headers instanceof rs?o.headers:new rs(o.headers),o.params&&(_=o.params instanceof ja?o.params:new ja({fromObject:o.params})),s=new lh(e,i,void 0!==o.body?o.body:null,{headers:d,context:o.context,params:_,reportProgress:o.reportProgress,responseType:o.responseType||"json",withCredentials:o.withCredentials})}const a=$e(s).pipe(Bl(d=>this.handler.handle(d)));if(e instanceof lh||"events"===o.observe)return a;const l=a.pipe(_i(d=>d instanceof pd));switch(o.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return l.pipe(ke(d=>{if(null!==d.body&&!(d.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return d.body}));case"blob":return l.pipe(ke(d=>{if(null!==d.body&&!(d.body instanceof Blob))throw new Error("Response is not a Blob.");return d.body}));case"text":return l.pipe(ke(d=>{if(null!==d.body&&"string"!=typeof d.body)throw new Error("Response is not a string.");return d.body}));default:return l.pipe(ke(d=>d.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${o.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new ja).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,o={}){return this.request("PATCH",e,s0(o,i))}post(e,i,o={}){return this.request("POST",e,s0(o,i))}put(e,i,o={}){return this.request("PUT",e,s0(o,i))}}return t.\u0275fac=function(e){return new(e||t)(we(vm))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();function ST(t,n){return n(t)}function k8(t,n){return(e,i)=>n.intercept(e,{handle:o=>t(o,i)})}const D8=new Re(""),ch=new Re(""),DT=new Re("");function T8(){let t=null;return(n,e)=>(null===t&&(t=(Qe(D8,{optional:!0})??[]).reduceRight(k8,ST)),t(n,e))}let TT=(()=>{class t extends vm{constructor(e,i){super(),this.backend=e,this.injector=i,this.chain=null}handle(e){if(null===this.chain){const i=Array.from(new Set([...this.injector.get(ch),...this.injector.get(DT,[])]));this.chain=i.reduceRight((o,s)=>function S8(t,n,e){return(i,o)=>e.runInContext(()=>n(i,s=>t(s,o)))}(o,s,this.injector),ST)}return this.chain(e,i=>this.backend.handle(i))}}return t.\u0275fac=function(e){return new(e||t)(we(n0),we(ks))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const P8=/^\)\]\}',?\n/;let ET=(()=>{class t{constructor(e){this.xhrFactory=e}handle(e){if("JSONP"===e.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");const i=this.xhrFactory;return(i.\u0275loadImpl?ue(i.\u0275loadImpl()):$e(null)).pipe(gr(()=>new he(s=>{const a=i.build();if(a.open(e.method,e.urlWithParams),e.withCredentials&&(a.withCredentials=!0),e.headers.forEach((Ee,qe)=>a.setRequestHeader(Ee,qe.join(","))),e.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){const Ee=e.detectContentTypeHeader();null!==Ee&&a.setRequestHeader("Content-Type",Ee)}if(e.responseType){const Ee=e.responseType.toLowerCase();a.responseType="json"!==Ee?Ee:"text"}const l=e.serializeBody();let d=null;const _=()=>{if(null!==d)return d;const Ee=a.statusText||"OK",qe=new rs(a.getAllResponseHeaders()),dt=function O8(t){return"responseURL"in t&&t.responseURL?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):null}(a)||e.url;return d=new o0({headers:qe,status:a.status,statusText:Ee,url:dt}),d},E=()=>{let{headers:Ee,status:qe,statusText:dt,url:Rt}=_(),sn=null;204!==qe&&(sn=typeof a.response>"u"?a.responseText:a.response),0===qe&&(qe=sn?200:0);let Ii=qe>=200&&qe<300;if("json"===e.responseType&&"string"==typeof sn){const ds=sn;sn=sn.replace(P8,"");try{sn=""!==sn?JSON.parse(sn):null}catch(us){sn=ds,Ii&&(Ii=!1,sn={error:us,text:sn})}}Ii?(s.next(new pd({body:sn,headers:Ee,status:qe,statusText:dt,url:Rt||void 0})),s.complete()):s.error(new kT({error:sn,headers:Ee,status:qe,statusText:dt,url:Rt||void 0}))},F=Ee=>{const{url:qe}=_(),dt=new kT({error:Ee,status:a.status||0,statusText:a.statusText||"Unknown Error",url:qe||void 0});s.error(dt)};let G=!1;const ie=Ee=>{G||(s.next(_()),G=!0);let qe={type:Zi.DownloadProgress,loaded:Ee.loaded};Ee.lengthComputable&&(qe.total=Ee.total),"text"===e.responseType&&a.responseText&&(qe.partialText=a.responseText),s.next(qe)},_e=Ee=>{let qe={type:Zi.UploadProgress,loaded:Ee.loaded};Ee.lengthComputable&&(qe.total=Ee.total),s.next(qe)};let Ce;a.addEventListener("load",E),a.addEventListener("error",F),a.addEventListener("timeout",F),a.addEventListener("abort",F),e.reportProgress&&(a.addEventListener("progress",ie),null!==l&&a.upload&&a.upload.addEventListener("progress",_e));const Ae=()=>{Ce??=function F8(){const t=setTimeout(()=>{},A8);return()=>clearTimeout(t)}()},ze=()=>{Ce?.()};return a.addEventListener("loadstart",Ae),a.addEventListener("loadend",ze),a.send(l),s.next({type:Zi.Sent}),()=>{a.removeEventListener("loadstart",Ae),a.removeEventListener("loadend",ze),a.removeEventListener("error",F),a.removeEventListener("abort",F),a.removeEventListener("load",E),a.removeEventListener("timeout",F),Ce?.(),e.reportProgress&&(a.removeEventListener("progress",ie),null!==l&&a.upload&&a.upload.removeEventListener("progress",_e)),a.readyState!==a.DONE&&a.abort()}})))}}return t.\u0275fac=function(e){return new(e||t)(we(pD))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const A8=2147483647,a0=new Re("XSRF_ENABLED"),IT=new Re("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),PT=new Re("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class OT{}let Y8=(()=>{class t{constructor(e,i,o){this.doc=e,this.platform=i,this.cookieName=o,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=nD(e,this.cookieName),this.lastCookieString=e),this.lastToken}}return t.\u0275fac=function(e){return new(e||t)(we(It),we(Oa),we(IT))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();function H8(t,n){const e=t.url.toLowerCase();if(!Qe(a0)||"GET"===t.method||"HEAD"===t.method||e.startsWith("http://")||e.startsWith("https://"))return n(t);const i=Qe(OT).getToken(),o=Qe(PT);return null!=i&&!t.headers.has(o)&&(t=t.clone({headers:t.headers.set(o,i)})),n(t)}var Hi=(()=>((Hi=Hi||{})[Hi.Interceptors=0]="Interceptors",Hi[Hi.LegacyInterceptors=1]="LegacyInterceptors",Hi[Hi.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",Hi[Hi.NoXsrfProtection=3]="NoXsrfProtection",Hi[Hi.JsonpSupport=4]="JsonpSupport",Hi[Hi.RequestsMadeViaParent=5]="RequestsMadeViaParent",Hi))();function md(t,n){return{\u0275kind:t,\u0275providers:n}}function B8(...t){const n=[Vl,ET,TT,{provide:vm,useExisting:TT},{provide:n0,useExisting:ET},{provide:ch,useValue:H8,multi:!0},{provide:a0,useValue:!0},{provide:OT,useClass:Y8}];for(const e of t)n.push(...e.\u0275providers);return function vb(t){return{\u0275providers:t}}(n)}const AT=new Re("LEGACY_INTERCEPTOR_FN");let j8=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[B8(md(Hi.LegacyInterceptors,[{provide:AT,useFactory:T8},{provide:ch,useExisting:AT,multi:!0}]))]}),t})();function za(t){return!!t&&(t instanceof he||"function"==typeof t.lift&&"function"==typeof t.subscribe)}class Or extends J{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){const e=super._subscribe(n);return e&&!e.closed&&n.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new ee;return this._value}next(n){super.next(this._value=n)}}class q8 extends A{notifyNext(n,e,i,o,s){this.destination.next(e)}notifyError(n,e){this.destination.error(n)}notifyComplete(n){this.destination.complete()}}class K8 extends A{constructor(n,e,i){super(),this.parent=n,this.outerValue=e,this.outerIndex=i,this.index=0}_next(n){this.parent.notifyNext(this.outerValue,n,this.outerIndex,this.index++,this)}_error(n){this.parent.notifyError(n,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function Z8(t,n,e,i,o=new K8(t,e,i)){if(!o.closed)return n instanceof he?n.subscribe(o):Oi(n)(o)}const FT={};function Mm(...t){let n,e;return Se(t[t.length-1])&&(e=t.pop()),"function"==typeof t[t.length-1]&&(n=t.pop()),1===t.length&&M(t[0])&&(t=t[0]),An(t,e).lift(new X8(n))}class X8{constructor(n){this.resultSelector=n}call(n,e){return e.subscribe(new J8(n,this.resultSelector))}}class J8 extends q8{constructor(n,e){super(n),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(n){this.values.push(FT),this.observables.push(n)}_complete(){const n=this.observables,e=n.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let i=0;i{function t(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}return t.prototype=Object.create(Error.prototype),t})();function Ua(...t){return function Q8(){return fn(1)}()($e(...t))}const oa=new he(t=>t.complete());function Cm(t){return t?function e6(t){return new he(n=>t.schedule(()=>n.complete()))}(t):oa}function jl(t){return new he(n=>{let e;try{e=t()}catch(o){return void n.error(o)}return(e?ue(e):Cm()).subscribe(n)})}function Ar(t,n){return new he(n?e=>n.schedule(t6,0,{error:t,subscriber:e}):e=>e.error(t))}function t6({error:t,subscriber:n}){n.error(t)}const RT=(()=>{function t(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return t.prototype=Object.create(Error.prototype),t})();function Kn(t){return n=>0===t?Cm():n.lift(new n6(t))}class n6{constructor(n){if(this.total=n,this.total<0)throw new RT}call(n,e){return e.subscribe(new i6(n,this.total))}}class i6 extends A{constructor(n,e){super(n),this.total=e,this.count=0}_next(n){const e=this.total,i=++this.count;i<=e&&(this.destination.next(n),i===e&&(this.destination.complete(),this.unsubscribe()))}}function Go(...t){const n=t[t.length-1];return Se(n)?(t.pop(),e=>Ua(t,e,n)):e=>Ua(t,e)}function xm(t=null){return n=>n.lift(new r6(t))}class r6{constructor(n){this.defaultValue=n}call(n,e){return e.subscribe(new o6(n,this.defaultValue))}}class o6 extends A{constructor(n,e){super(n),this.defaultValue=e,this.isEmpty=!0}_next(n){this.isEmpty=!1,this.destination.next(n)}_complete(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()}}function NT(t=l6){return n=>n.lift(new s6(t))}class s6{constructor(n){this.errorFactory=n}call(n,e){return e.subscribe(new a6(n,this.errorFactory))}}class a6 extends A{constructor(n,e){super(n),this.errorFactory=e,this.hasValue=!1}_next(n){this.hasValue=!0,this.destination.next(n)}_complete(){if(this.hasValue)return this.destination.complete();{let n;try{n=this.errorFactory()}catch(e){n=e}this.destination.error(n)}}}function l6(){return new wm}function zl(t,n){const e=arguments.length>=2;return i=>i.pipe(t?_i((o,s)=>t(o,s,i)):ve,Kn(1),e?xm(n):NT(()=>new wm))}function Wa(){}function bi(t,n,e){return function(o){return o.lift(new c6(t,n,e))}}class c6{constructor(n,e,i){this.nextOrObserver=n,this.error=e,this.complete=i}call(n,e){return e.subscribe(new d6(n,this.nextOrObserver,this.error,this.complete))}}class d6 extends A{constructor(n,e,i,o){super(n),this._tapNext=Wa,this._tapError=Wa,this._tapComplete=Wa,this._tapError=i||Wa,this._tapComplete=o||Wa,O(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||Wa,this._tapError=e.error||Wa,this._tapComplete=e.complete||Wa)}_next(n){try{this._tapNext.call(this._context,n)}catch(e){return void this.destination.error(e)}this.destination.next(n)}_error(n){try{this._tapError.call(this._context,n)}catch(e){return void this.destination.error(e)}this.destination.error(n)}_complete(){try{this._tapComplete.call(this._context)}catch(n){return void this.destination.error(n)}return this.destination.complete()}}function Co(t){return function(e){const i=new u6(t),o=e.lift(i);return i.caught=o}}class u6{constructor(n){this.selector=n}call(n,e){return e.subscribe(new h6(n,this.selector,this.caught))}}class h6 extends Me{constructor(n,e,i){super(n),this.selector=e,this.caught=i}error(n){if(!this.isStopped){let e;try{e=this.selector(n,this.caught)}catch(s){return void super.error(s)}this._unsubscribeAndRecycle();const i=new be(this);this.add(i);const o=Ie(e,i);o!==i&&this.add(o)}}}class p6{constructor(n,e,i=!1){this.accumulator=n,this.seed=e,this.hasSeed=i}call(n,e){return e.subscribe(new m6(n,this.accumulator,this.seed,this.hasSeed))}}class m6 extends A{constructor(n,e,i,o){super(n),this.accumulator=e,this._seed=i,this.hasSeed=o,this.index=0}get seed(){return this._seed}set seed(n){this.hasSeed=!0,this._seed=n}_next(n){if(this.hasSeed)return this._tryNext(n);this.seed=n,this.destination.next(n)}_tryNext(n){const e=this.index++;let i;try{i=this.accumulator(this.seed,n,e)}catch(o){this.destination.error(o)}this.seed=i,this.destination.next(i)}}function l0(t){return function(e){return 0===t?Cm():e.lift(new g6(t))}}class g6{constructor(n){if(this.total=n,this.total<0)throw new RT}call(n,e){return e.subscribe(new _6(n,this.total))}}class _6 extends A{constructor(n,e){super(n),this.total=e,this.ring=new Array,this.count=0}_next(n){const e=this.ring,i=this.total,o=this.count++;e.length0){const i=this.count>=this.total?this.total:this.count,o=this.ring;for(let s=0;sn.lift(new w6(t))}class w6{constructor(n){this.callback=n}call(n,e){return e.subscribe(new C6(n,this.callback))}}class C6 extends A{constructor(n,e){super(n),this.add(new T(e))}}const $t="primary",uh=Symbol("RouteTitle");class x6{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){const e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){const e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}}function gd(t){return new x6(t)}function k6(t,n,e){const i=e.path.split("/");if(i.length>t.length||"full"===e.pathMatch&&(n.hasChildren()||i.lengthi[s]===o)}return t===n}function HT(t){return t.length>0?t[t.length-1]:null}function $a(t){return za(t)?t:Hu(t)?ue(Promise.resolve(t)):$e(t)}const D6={exact:function jT(t,n,e){if(!Ul(t.segments,n.segments)||!Sm(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(const i in n.children)if(!t.children[i]||!jT(t.children[i],n.children[i],e))return!1;return!0},subset:zT},BT={exact:function T6(t,n){return Os(t,n)},subset:function L6(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>YT(t[e],n[e]))},ignored:()=>!0};function VT(t,n,e){return D6[e.paths](t.root,n.root,e.matrixParams)&&BT[e.queryParams](t.queryParams,n.queryParams)&&!("exact"===e.fragment&&t.fragment!==n.fragment)}function zT(t,n,e){return UT(t,n,n.segments,e)}function UT(t,n,e,i){if(t.segments.length>e.length){const o=t.segments.slice(0,e.length);return!(!Ul(o,e)||n.hasChildren()||!Sm(o,e,i))}if(t.segments.length===e.length){if(!Ul(t.segments,e)||!Sm(t.segments,e,i))return!1;for(const o in n.children)if(!t.children[o]||!zT(t.children[o],n.children[o],i))return!1;return!0}{const o=e.slice(0,t.segments.length),s=e.slice(t.segments.length);return!!(Ul(t.segments,o)&&Sm(t.segments,o,i)&&t.children[$t])&&UT(t.children[$t],n,s,i)}}function Sm(t,n,e){return n.every((i,o)=>BT[e](t[o].parameters,i.parameters))}class _d{constructor(n=new Yn([],{}),e={},i=null){this.root=n,this.queryParams=e,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=gd(this.queryParams)),this._queryParamMap}toString(){return P6.serialize(this)}}class Yn{constructor(n,e){this.segments=n,this.children=e,this.parent=null,Object.values(e).forEach(i=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Dm(this)}}class hh{constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap||(this._parameterMap=gd(this.parameters)),this._parameterMap}toString(){return GT(this)}}function Ul(t,n){return t.length===n.length&&t.every((e,i)=>e.path===n[i].path)}let fh=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(){return new c0},providedIn:"root"}),t})();class c0{parse(n){const e=new z6(n);return new _d(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){const e=`/${ph(n.root,!0)}`,i=function F6(t){const n=Object.keys(t).map(e=>{const i=t[e];return Array.isArray(i)?i.map(o=>`${Tm(e)}=${Tm(o)}`).join("&"):`${Tm(e)}=${Tm(i)}`}).filter(e=>!!e);return n.length?`?${n.join("&")}`:""}(n.queryParams),o="string"==typeof n.fragment?`#${function O6(t){return encodeURI(t)}(n.fragment)}`:"";return`${e}${i}${o}`}}const P6=new c0;function Dm(t){return t.segments.map(n=>GT(n)).join("/")}function ph(t,n){if(!t.hasChildren())return Dm(t);if(n){const e=t.children[$t]?ph(t.children[$t],!1):"",i=[];return Object.entries(t.children).forEach(([o,s])=>{o!==$t&&i.push(`${o}:${ph(s,!1)}`)}),i.length>0?`${e}(${i.join("//")})`:e}{const e=function I6(t,n){let e=[];return Object.entries(t.children).forEach(([i,o])=>{i===$t&&(e=e.concat(n(o,i)))}),Object.entries(t.children).forEach(([i,o])=>{i!==$t&&(e=e.concat(n(o,i)))}),e}(t,(i,o)=>o===$t?[ph(t.children[$t],!1)]:[`${o}:${ph(i,!1)}`]);return 1===Object.keys(t.children).length&&null!=t.children[$t]?`${Dm(t)}/${e[0]}`:`${Dm(t)}/(${e.join("//")})`}}function WT(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Tm(t){return WT(t).replace(/%3B/gi,";")}function d0(t){return WT(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Lm(t){return decodeURIComponent(t)}function $T(t){return Lm(t.replace(/\+/g,"%20"))}function GT(t){return`${d0(t.path)}${function A6(t){return Object.keys(t).map(n=>`;${d0(n)}=${d0(t[n])}`).join("")}(t.parameters)}`}const R6=/^[^\/()?;#]+/;function u0(t){const n=t.match(R6);return n?n[0]:""}const N6=/^[^\/()?;=#]+/,H6=/^[^=?&#]+/,V6=/^[^&#]+/;class z6{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new Yn([],{}):new Yn([],this.parseChildren())}parseQueryParams(){const n={};if(this.consumeOptional("?"))do{this.parseQueryParam(n)}while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(n.length>0||Object.keys(e).length>0)&&(i[$t]=new Yn(n,e)),i}parseSegment(){const n=u0(this.remaining);if(""===n&&this.peekStartsWith(";"))throw new Fe(4009,!1);return this.capture(n),new hh(Lm(n),this.parseMatrixParams())}parseMatrixParams(){const n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){const e=function Y6(t){const n=t.match(N6);return n?n[0]:""}(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const o=u0(this.remaining);o&&(i=o,this.capture(i))}n[Lm(e)]=Lm(i)}parseQueryParam(n){const e=function B6(t){const n=t.match(H6);return n?n[0]:""}(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){const a=function j6(t){const n=t.match(V6);return n?n[0]:""}(this.remaining);a&&(i=a,this.capture(i))}const o=$T(e),s=$T(i);if(n.hasOwnProperty(o)){let a=n[o];Array.isArray(a)||(a=[a],n[o]=a),a.push(s)}else n[o]=s}parseParens(n){const e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=u0(this.remaining),o=this.remaining[i.length];if("/"!==o&&")"!==o&&";"!==o)throw new Fe(4010,!1);let s;i.indexOf(":")>-1?(s=i.slice(0,i.indexOf(":")),this.capture(s),this.capture(":")):n&&(s=$t);const a=this.parseChildren();e[s]=1===Object.keys(a).length?a[$t]:new Yn([],a),this.consumeOptional("//")}return e}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return!!this.peekStartsWith(n)&&(this.remaining=this.remaining.substring(n.length),!0)}capture(n){if(!this.consumeOptional(n))throw new Fe(4011,!1)}}function qT(t){return t.segments.length>0?new Yn([],{[$t]:t}):t}function KT(t){const n={};for(const i of Object.keys(t.children)){const s=KT(t.children[i]);if(i===$t&&0===s.segments.length&&s.hasChildren())for(const[a,l]of Object.entries(s.children))n[a]=l;else(s.segments.length>0||s.hasChildren())&&(n[i]=s)}return function U6(t){if(1===t.numberOfChildren&&t.children[$t]){const n=t.children[$t];return new Yn(t.segments.concat(n.segments),n.children)}return t}(new Yn(t.segments,n))}function Wl(t){return t instanceof _d}function ZT(t){let n;const o=qT(function e(s){const a={};for(const d of s.children){const _=e(d);a[d.outlet]=_}const l=new Yn(s.url,a);return s===t&&(n=l),l}(t.root));return n??o}function XT(t,n,e,i){let o=t;for(;o.parent;)o=o.parent;if(0===n.length)return h0(o,o,o,e,i);const s=function $6(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new QT(!0,0,t);let n=0,e=!1;const i=t.reduce((o,s,a)=>{if("object"==typeof s&&null!=s){if(s.outlets){const l={};return Object.entries(s.outlets).forEach(([d,_])=>{l[d]="string"==typeof _?_.split("/"):_}),[...o,{outlets:l}]}if(s.segmentPath)return[...o,s.segmentPath]}return"string"!=typeof s?[...o,s]:0===a?(s.split("/").forEach((l,d)=>{0==d&&"."===l||(0==d&&""===l?e=!0:".."===l?n++:""!=l&&o.push(l))}),o):[...o,s]},[]);return new QT(e,n,i)}(n);if(s.toRoot())return h0(o,o,new Yn([],{}),e,i);const a=function G6(t,n,e){if(t.isAbsolute)return new Im(n,!0,0);if(!e)return new Im(n,!1,NaN);if(null===e.parent)return new Im(e,!0,0);const i=Em(t.commands[0])?0:1;return function q6(t,n,e){let i=t,o=n,s=e;for(;s>o;){if(s-=o,i=i.parent,!i)throw new Fe(4005,!1);o=i.segments.length}return new Im(i,!1,o-s)}(e,e.segments.length-1+i,t.numberOfDoubleDots)}(s,o,t),l=a.processChildren?gh(a.segmentGroup,a.index,s.commands):e2(a.segmentGroup,a.index,s.commands);return h0(o,a.segmentGroup,l,e,i)}function Em(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function mh(t){return"object"==typeof t&&null!=t&&t.outlets}function h0(t,n,e,i,o){let a,s={};i&&Object.entries(i).forEach(([d,_])=>{s[d]=Array.isArray(_)?_.map(E=>`${E}`):`${_}`}),a=t===n?e:JT(t,n,e);const l=qT(KT(a));return new _d(l,s,o)}function JT(t,n,e){const i={};return Object.entries(t.children).forEach(([o,s])=>{i[o]=s===n?e:JT(s,n,e)}),new Yn(t.segments,i)}class QT{constructor(n,e,i){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=i,n&&i.length>0&&Em(i[0]))throw new Fe(4003,!1);const o=i.find(mh);if(o&&o!==HT(i))throw new Fe(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Im{constructor(n,e,i){this.segmentGroup=n,this.processChildren=e,this.index=i}}function e2(t,n,e){if(t||(t=new Yn([],{})),0===t.segments.length&&t.hasChildren())return gh(t,n,e);const i=function Z6(t,n,e){let i=0,o=n;const s={match:!1,pathIndex:0,commandIndex:0};for(;o=e.length)return s;const a=t.segments[o],l=e[i];if(mh(l))break;const d=`${l}`,_=i0&&void 0===d)break;if(d&&_&&"object"==typeof _&&void 0===_.outlets){if(!n2(d,_,a))return s;i+=2}else{if(!n2(d,{},a))return s;i++}o++}return{match:!0,pathIndex:o,commandIndex:i}}(t,n,e),o=e.slice(i.commandIndex);if(i.match&&i.pathIndex{"string"==typeof a&&(a=[a]),null!==a&&(o[s]=e2(t.children[s],n,a))}),Object.entries(t.children).forEach(([s,a])=>{void 0===i[s]&&(o[s]=a)}),new Yn(t.segments,o)}}function f0(t,n,e){const i=t.segments.slice(0,n);let o=0;for(;o{"string"==typeof i&&(i=[i]),null!==i&&(n[e]=f0(new Yn([],{}),0,i))}),n}function t2(t){const n={};return Object.entries(t).forEach(([e,i])=>n[e]=`${i}`),n}function n2(t,n,e){return t==e.path&&Os(n,e.parameters)}const _h="imperative";class As{constructor(n,e){this.id=n,this.url=e}}class p0 extends As{constructor(n,e,i="imperative",o=null){super(n,e),this.type=0,this.navigationTrigger=i,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Ga extends As{constructor(n,e,i){super(n,e),this.urlAfterRedirects=i,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class Pm extends As{constructor(n,e,i,o){super(n,e),this.reason=i,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class bh extends As{constructor(n,e,i,o){super(n,e),this.reason=i,this.code=o,this.type=16}}class m0 extends As{constructor(n,e,i,o){super(n,e),this.error=i,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class J6 extends As{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class Q6 extends As{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ej extends As{constructor(n,e,i,o,s){super(n,e),this.urlAfterRedirects=i,this.state=o,this.shouldActivate=s,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class tj extends As{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class nj extends As{constructor(n,e,i,o){super(n,e),this.urlAfterRedirects=i,this.state=o,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ij{constructor(n){this.route=n,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class rj{constructor(n){this.route=n,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class oj{constructor(n){this.snapshot=n,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class sj{constructor(n){this.snapshot=n,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class aj{constructor(n){this.snapshot=n,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class lj{constructor(n){this.snapshot=n,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class r2{constructor(n,e,i){this.routerEvent=n,this.position=e,this.anchor=i,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class cj{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new vh,this.attachRef=null}}let vh=(()=>{class t{constructor(){this.contexts=new Map}onChildOutletCreated(e,i){const o=this.getOrCreateContext(e);o.outlet=i,this.contexts.set(e,o)}onChildOutletDestroyed(e){const i=this.getContext(e);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){const e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let i=this.getContext(e);return i||(i=new cj,this.contexts.set(e,i)),i}getContext(e){return this.contexts.get(e)||null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class o2{constructor(n){this._root=n}get root(){return this._root.value}parent(n){const e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){const e=g0(n,this._root);return e?e.children.map(i=>i.value):[]}firstChild(n){const e=g0(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){const e=_0(n,this._root);return e.length<2?[]:e[e.length-2].children.map(o=>o.value).filter(o=>o!==n)}pathFromRoot(n){return _0(n,this._root).map(e=>e.value)}}function g0(t,n){if(t===n.value)return n;for(const e of n.children){const i=g0(t,e);if(i)return i}return null}function _0(t,n){if(t===n.value)return[n];for(const e of n.children){const i=_0(t,e);if(i.length)return i.unshift(n),i}return[]}class sa{constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}}function bd(t){const n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}class s2 extends o2{constructor(n,e){super(n),this.snapshot=e,b0(this,n)}toString(){return this.snapshot.toString()}}function a2(t,n){const e=function dj(t,n){const a=new Om([],{},{},"",{},$t,n,null,{});return new c2("",new sa(a,[]))}(0,n),i=new Or([new hh("",{})]),o=new Or({}),s=new Or({}),a=new Or({}),l=new Or(""),d=new Mr(i,o,a,l,s,$t,n,e.root);return d.snapshot=e.root,new s2(new sa(d,[]),e)}class Mr{constructor(n,e,i,o,s,a,l,d){this.urlSubject=n,this.paramsSubject=e,this.queryParamsSubject=i,this.fragmentSubject=o,this.dataSubject=s,this.outlet=a,this.component=l,this._futureSnapshot=d,this.title=this.dataSubject?.pipe(ke(_=>_[uh]))??$e(void 0),this.url=n,this.params=e,this.queryParams=i,this.fragment=o,this.data=s}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(ke(n=>gd(n)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(ke(n=>gd(n)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function l2(t,n="emptyOnly"){const e=t.pathFromRoot;let i=0;if("always"!==n)for(i=e.length-1;i>=1;){const o=e[i],s=e[i-1];if(o.routeConfig&&""===o.routeConfig.path)i--;else{if(s.component)break;i--}}return function uj(t){return t.reduce((n,e)=>({params:{...n.params,...e.params},data:{...n.data,...e.data},resolve:{...e.data,...n.resolve,...e.routeConfig?.data,...e._resolvedData}}),{params:{},data:{},resolve:{}})}(e.slice(i))}class Om{get title(){return this.data?.[uh]}constructor(n,e,i,o,s,a,l,d,_){this.url=n,this.params=e,this.queryParams=i,this.fragment=o,this.data=s,this.outlet=a,this.component=l,this.routeConfig=d,this._resolve=_}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=gd(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=gd(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class c2 extends o2{constructor(n,e){super(e),this.url=n,b0(this,e)}toString(){return d2(this._root)}}function b0(t,n){n.value._routerState=t,n.children.forEach(e=>b0(t,e))}function d2(t){const n=t.children.length>0?` { ${t.children.map(d2).join(", ")} } `:"";return`${t.value}${n}`}function v0(t){if(t.snapshot){const n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,Os(n.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),n.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),Os(n.params,e.params)||t.paramsSubject.next(e.params),function S6(t,n){if(t.length!==n.length)return!1;for(let e=0;eOs(e.parameters,n[i].parameters))}(t.url,n.url);return e&&!(!t.parent!=!n.parent)&&(!t.parent||y0(t.parent,n.parent))}let Am=(()=>{class t{constructor(){this.activated=null,this._activatedRoute=null,this.name=$t,this.activateEvents=new ht,this.deactivateEvents=new ht,this.attachEvents=new ht,this.detachEvents=new ht,this.parentContexts=Qe(vh),this.location=Qe(rr),this.changeDetector=Qe(pi),this.environmentInjector=Qe(ks),this.inputBinder=Qe(Fm,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(e){if(e.name){const{firstChange:i,previousValue:o}=e.name;if(i)return;this.isTrackedInParentContexts(o)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(o)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(e){return this.parentContexts.getContext(e)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const e=this.parentContexts.getContext(this.name);e?.route&&(e.attachRef?this.attach(e.attachRef,e.route):this.activateWith(e.route,e.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Fe(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Fe(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Fe(4012,!1);this.location.detach();const e=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(e.instance),e}attach(e,i){this.activated=e,this._activatedRoute=i,this.location.insert(e.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(e.instance)}deactivate(){if(this.activated){const e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,i){if(this.isActivated)throw new Fe(4013,!1);this._activatedRoute=e;const o=this.location,a=e.snapshot.component,l=this.parentContexts.getOrCreateContext(this.name).children,d=new hj(e,l,o.injector);this.activated=o.createComponent(a,{index:o.length,injector:d,environmentInjector:i??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Gi]}),t})();class hj{constructor(n,e,i){this.route=n,this.childContexts=e,this.parent=i}get(n,e){return n===Mr?this.route:n===vh?this.childContexts:this.parent.get(n,e)}}const Fm=new Re("");let u2=(()=>{class t{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(e){this.unsubscribeFromRouteData(e),this.subscribeToRouteData(e)}unsubscribeFromRouteData(e){this.outletDataSubscriptions.get(e)?.unsubscribe(),this.outletDataSubscriptions.delete(e)}subscribeToRouteData(e){const{activatedRoute:i}=e,o=Mm([i.queryParams,i.params,i.data]).pipe(gr(([s,a,l],d)=>(l={...s,...a,...l},0===d?$e(l):Promise.resolve(l)))).subscribe(s=>{if(!e.isActivated||!e.activatedComponentRef||e.activatedRoute!==i||null===i.component)return void this.unsubscribeFromRouteData(e);const a=function K5(t){const n=gn(t);if(!n)return null;const e=new Au(n);return{get selector(){return e.selector},get type(){return e.componentType},get inputs(){return e.inputs},get outputs(){return e.outputs},get ngContentSelectors(){return e.ngContentSelectors},get isStandalone(){return n.standalone}}}(i.component);if(a)for(const{templateName:l}of a.inputs)e.activatedComponentRef.setInput(l,s[l]);else this.unsubscribeFromRouteData(e)});this.outletDataSubscriptions.set(e,o)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();function yh(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){const i=e.value;i._futureSnapshot=n.value;const o=function pj(t,n,e){return n.children.map(i=>{for(const o of e.children)if(t.shouldReuseRoute(i.value,o.value.snapshot))return yh(t,i,o);return yh(t,i)})}(t,n,e);return new sa(i,o)}{if(t.shouldAttach(n.value)){const s=t.retrieve(n.value);if(null!==s){const a=s.route;return a.value._futureSnapshot=n.value,a.children=n.children.map(l=>yh(t,l)),a}}const i=function mj(t){return new Mr(new Or(t.url),new Or(t.params),new Or(t.queryParams),new Or(t.fragment),new Or(t.data),t.outlet,t.component,t)}(n.value),o=n.children.map(s=>yh(t,s));return new sa(i,o)}}const M0="ngNavigationCancelingError";function h2(t,n){const{redirectTo:e,navigationBehaviorOptions:i}=Wl(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,o=f2(!1,0,n);return o.url=e,o.navigationBehaviorOptions=i,o}function f2(t,n,e){const i=new Error("NavigationCancelingError: "+(t||""));return i[M0]=!0,i.cancellationCode=n,e&&(i.url=e),i}function p2(t){return m2(t)&&Wl(t.url)}function m2(t){return t&&t[M0]}let g2=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["ng-component"]],standalone:!0,features:[_k],decls:1,vars:0,template:function(e,i){1&e&&xe(0,"router-outlet")},dependencies:[Am],encapsulation:2}),t})();function w0(t){const n=t.children&&t.children.map(w0),e=n?{...t,children:n}:{...t};return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==$t&&(e.component=g2),e}function os(t){return t.outlet||$t}function Mh(t){if(!t)return null;if(t.routeConfig?._injector)return t.routeConfig._injector;for(let n=t.parent;n;n=n.parent){const e=n.routeConfig;if(e?._loadedInjector)return e._loadedInjector;if(e?._injector)return e._injector}return null}class wj{constructor(n,e,i,o,s){this.routeReuseStrategy=n,this.futureState=e,this.currState=i,this.forwardEvent=o,this.inputBindingEnabled=s}activate(n){const e=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,i,n),v0(this.futureState.root),this.activateChildRoutes(e,i,n)}deactivateChildRoutes(n,e,i){const o=bd(e);n.children.forEach(s=>{const a=s.value.outlet;this.deactivateRoutes(s,o[a],i),delete o[a]}),Object.values(o).forEach(s=>{this.deactivateRouteAndItsChildren(s,i)})}deactivateRoutes(n,e,i){const o=n.value,s=e?e.value:null;if(o===s)if(o.component){const a=i.getContext(o.outlet);a&&this.deactivateChildRoutes(n,e,a.children)}else this.deactivateChildRoutes(n,e,i);else s&&this.deactivateRouteAndItsChildren(e,i)}deactivateRouteAndItsChildren(n,e){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,e):this.deactivateRouteAndOutlet(n,e)}detachAndStoreRouteSubtree(n,e){const i=e.getContext(n.value.outlet),o=i&&n.value.component?i.children:e,s=bd(n);for(const a of Object.keys(s))this.deactivateRouteAndItsChildren(s[a],o);if(i&&i.outlet){const a=i.outlet.detach(),l=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:a,route:n,contexts:l})}}deactivateRouteAndOutlet(n,e){const i=e.getContext(n.value.outlet),o=i&&n.value.component?i.children:e,s=bd(n);for(const a of Object.keys(s))this.deactivateRouteAndItsChildren(s[a],o);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.route=null)}activateChildRoutes(n,e,i){const o=bd(e);n.children.forEach(s=>{this.activateRoutes(s,o[s.value.outlet],i),this.forwardEvent(new lj(s.value.snapshot))}),n.children.length&&this.forwardEvent(new sj(n.value.snapshot))}activateRoutes(n,e,i){const o=n.value,s=e?e.value:null;if(v0(o),o===s)if(o.component){const a=i.getOrCreateContext(o.outlet);this.activateChildRoutes(n,e,a.children)}else this.activateChildRoutes(n,e,i);else if(o.component){const a=i.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const l=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.snapshot,null),a.children.onOutletReAttached(l.contexts),a.attachRef=l.componentRef,a.route=l.route.value,a.outlet&&a.outlet.attach(l.componentRef,l.route.value),v0(l.route.value),this.activateChildRoutes(n,null,a.children)}else{const l=Mh(o.snapshot);a.attachRef=null,a.route=o,a.injector=l,a.outlet&&a.outlet.activateWith(o,a.injector),this.activateChildRoutes(n,null,a.children)}}else this.activateChildRoutes(n,null,i)}}class _2{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}}class Rm{constructor(n,e){this.component=n,this.route=e}}function Cj(t,n,e){const i=t._root;return wh(i,n?n._root:null,e,[i.value])}function vd(t,n){const e=Symbol(),i=n.get(t,e);return i===e?"function"!=typeof t||function jg(t){return null!==uc(t)}(t)?n.get(t):t:i}function wh(t,n,e,i,o={canDeactivateChecks:[],canActivateChecks:[]}){const s=bd(n);return t.children.forEach(a=>{(function kj(t,n,e,i,o={canDeactivateChecks:[],canActivateChecks:[]}){const s=t.value,a=n?n.value:null,l=e?e.getContext(t.value.outlet):null;if(a&&s.routeConfig===a.routeConfig){const d=function Sj(t,n,e){if("function"==typeof e)return e(t,n);switch(e){case"pathParamsChange":return!Ul(t.url,n.url);case"pathParamsOrQueryParamsChange":return!Ul(t.url,n.url)||!Os(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!y0(t,n)||!Os(t.queryParams,n.queryParams);default:return!y0(t,n)}}(a,s,s.routeConfig.runGuardsAndResolvers);d?o.canActivateChecks.push(new _2(i)):(s.data=a.data,s._resolvedData=a._resolvedData),wh(t,n,s.component?l?l.children:null:e,i,o),d&&l&&l.outlet&&l.outlet.isActivated&&o.canDeactivateChecks.push(new Rm(l.outlet.component,a))}else a&&Ch(n,l,o),o.canActivateChecks.push(new _2(i)),wh(t,null,s.component?l?l.children:null:e,i,o)})(a,s[a.value.outlet],e,i.concat([a.value]),o),delete s[a.value.outlet]}),Object.entries(s).forEach(([a,l])=>Ch(l,e.getContext(a),o)),o}function Ch(t,n,e){const i=bd(t),o=t.value;Object.entries(i).forEach(([s,a])=>{Ch(a,o.component?n?n.children.getContext(s):null:n,e)}),e.canDeactivateChecks.push(new Rm(o.component&&n&&n.outlet&&n.outlet.isActivated?n.outlet.component:null,o))}function xh(t){return"function"==typeof t}function b2(t){return t instanceof wm||"EmptyError"===t?.name}const Nm=Symbol("INITIAL_VALUE");function yd(){return gr(t=>Mm(t.map(n=>n.pipe(Kn(1),Go(Nm)))).pipe(ke(n=>{for(const e of n)if(!0!==e){if(e===Nm)return Nm;if(!1===e||e instanceof _d)return e}return!0}),_i(n=>n!==Nm),Kn(1)))}function v2(t){return function Z(...t){return X(t)}(bi(n=>{if(Wl(n))throw h2(0,n)}),ke(n=>!0===n))}class Ym{constructor(n){this.segmentGroup=n||null}}class y2{constructor(n){this.urlTree=n}}function Md(t){return Ar(new Ym(t))}function M2(t){return Ar(new y2(t))}class $j{constructor(n,e){this.urlSerializer=n,this.urlTree=e}noMatchError(n){return new Fe(4002,!1)}lineralizeSegments(n,e){let i=[],o=e.root;for(;;){if(i=i.concat(o.segments),0===o.numberOfChildren)return $e(i);if(o.numberOfChildren>1||!o.children[$t])return Ar(new Fe(4e3,!1));o=o.children[$t]}}applyRedirectCommands(n,e,i){return this.applyRedirectCreateUrlTree(e,this.urlSerializer.parse(e),n,i)}applyRedirectCreateUrlTree(n,e,i,o){const s=this.createSegmentGroup(n,e.root,i,o);return new _d(s,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){const i={};return Object.entries(n).forEach(([o,s])=>{if("string"==typeof s&&s.startsWith(":")){const l=s.substring(1);i[o]=e[l]}else i[o]=s}),i}createSegmentGroup(n,e,i,o){const s=this.createSegments(n,e.segments,i,o);let a={};return Object.entries(e.children).forEach(([l,d])=>{a[l]=this.createSegmentGroup(n,d,i,o)}),new Yn(s,a)}createSegments(n,e,i,o){return e.map(s=>s.path.startsWith(":")?this.findPosParam(n,s,o):this.findOrReturn(s,i))}findPosParam(n,e,i){const o=i[e.path.substring(1)];if(!o)throw new Fe(4001,!1);return o}findOrReturn(n,e){let i=0;for(const o of e){if(o.path===n.path)return e.splice(i),o;i++}return n}}const C0={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Gj(t,n,e,i,o){const s=x0(t,n,e);return s.matched?(i=function gj(t,n){return t.providers&&!t._injector&&(t._injector=Cv(t.providers,n,`Route: ${t.path}`)),t._injector??n}(n,i),function zj(t,n,e,i){const o=n.canMatch;return o&&0!==o.length?$e(o.map(a=>{const l=vd(a,t);return $a(function Pj(t){return t&&xh(t.canMatch)}(l)?l.canMatch(n,e):t.runInContext(()=>l(n,e)))})).pipe(yd(),v2()):$e(!0)}(i,n,e).pipe(ke(a=>!0===a?s:{...C0}))):$e(s)}function x0(t,n,e){if(""===n.path)return"full"===n.pathMatch&&(t.hasChildren()||e.length>0)?{...C0}:{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};const o=(n.matcher||k6)(e,t,n);if(!o)return{...C0};const s={};Object.entries(o.posParams??{}).forEach(([l,d])=>{s[l]=d.path});const a=o.consumed.length>0?{...s,...o.consumed[o.consumed.length-1].parameters}:s;return{matched:!0,consumedSegments:o.consumed,remainingSegments:e.slice(o.consumed.length),parameters:a,positionalParamSegments:o.posParams??{}}}function w2(t,n,e,i){return e.length>0&&function Zj(t,n,e){return e.some(i=>Hm(t,n,i)&&os(i)!==$t)}(t,e,i)?{segmentGroup:new Yn(n,Kj(i,new Yn(e,t.children))),slicedSegments:[]}:0===e.length&&function Xj(t,n,e){return e.some(i=>Hm(t,n,i))}(t,e,i)?{segmentGroup:new Yn(t.segments,qj(t,0,e,i,t.children)),slicedSegments:e}:{segmentGroup:new Yn(t.segments,t.children),slicedSegments:e}}function qj(t,n,e,i,o){const s={};for(const a of i)if(Hm(t,e,a)&&!o[os(a)]){const l=new Yn([],{});s[os(a)]=l}return{...o,...s}}function Kj(t,n){const e={};e[$t]=n;for(const i of t)if(""===i.path&&os(i)!==$t){const o=new Yn([],{});e[os(i)]=o}return e}function Hm(t,n,e){return(!(t.hasChildren()||n.length>0)||"full"!==e.pathMatch)&&""===e.path}class t7{constructor(n,e,i,o,s,a,l){this.injector=n,this.configLoader=e,this.rootComponentType=i,this.config=o,this.urlTree=s,this.paramsInheritanceStrategy=a,this.urlSerializer=l,this.allowRedirects=!0,this.applyRedirects=new $j(this.urlSerializer,this.urlTree)}noMatchError(n){return new Fe(4002,!1)}recognize(){const n=w2(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,n,$t).pipe(Co(e=>{if(e instanceof y2)return this.allowRedirects=!1,this.urlTree=e.urlTree,this.match(e.urlTree);throw e instanceof Ym?this.noMatchError(e):e}),ke(e=>{const i=new Om([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},$t,this.rootComponentType,null,{}),o=new sa(i,e),s=new c2("",o),a=function W6(t,n,e=null,i=null){return XT(ZT(t),n,e,i)}(i,[],this.urlTree.queryParams,this.urlTree.fragment);return a.queryParams=this.urlTree.queryParams,s.url=this.urlSerializer.serialize(a),this.inheritParamsAndData(s._root),{state:s,tree:a}}))}match(n){return this.processSegmentGroup(this.injector,this.config,n.root,$t).pipe(Co(i=>{throw i instanceof Ym?this.noMatchError(i):i}))}inheritParamsAndData(n){const e=n.value,i=l2(e,this.paramsInheritanceStrategy);e.params=Object.freeze(i.params),e.data=Object.freeze(i.data),n.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(n,e,i,o){return 0===i.segments.length&&i.hasChildren()?this.processChildren(n,e,i):this.processSegment(n,e,i,i.segments,o,!0)}processChildren(n,e,i){const o=[];for(const s of Object.keys(i.children))"primary"===s?o.unshift(s):o.push(s);return ue(o).pipe(Bl(s=>{const a=i.children[s],l=function yj(t,n){const e=t.filter(i=>os(i)===n);return e.push(...t.filter(i=>os(i)!==n)),e}(e,s);return this.processSegmentGroup(n,l,a,s)}),function f6(t,n){let e=!1;return arguments.length>=2&&(e=!0),function(o){return o.lift(new p6(t,n,e))}}((s,a)=>(s.push(...a),s)),xm(null),function b6(t,n){const e=arguments.length>=2;return i=>i.pipe(t?_i((o,s)=>t(o,s,i)):ve,l0(1),e?xm(n):NT(()=>new wm))}(),Ye(s=>{if(null===s)return Md(i);const a=C2(s);return function n7(t){t.sort((n,e)=>n.value.outlet===$t?-1:e.value.outlet===$t?1:n.value.outlet.localeCompare(e.value.outlet))}(a),$e(a)}))}processSegment(n,e,i,o,s,a){return ue(e).pipe(Bl(l=>this.processSegmentAgainstRoute(l._injector??n,e,l,i,o,s,a).pipe(Co(d=>{if(d instanceof Ym)return $e(null);throw d}))),zl(l=>!!l),Co(l=>{if(b2(l))return function Qj(t,n,e){return 0===n.length&&!t.children[e]}(i,o,s)?$e([]):Md(i);throw l}))}processSegmentAgainstRoute(n,e,i,o,s,a,l){return function Jj(t,n,e,i){return!!(os(t)===i||i!==$t&&Hm(n,e,t))&&("**"===t.path||x0(n,t,e).matched)}(i,o,s,a)?void 0===i.redirectTo?this.matchSegmentAgainstRoute(n,o,i,s,a,l):l&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(n,o,e,i,s,a):Md(o):Md(o)}expandSegmentAgainstRouteUsingRedirect(n,e,i,o,s,a){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(n,i,o,a):this.expandRegularSegmentAgainstRouteUsingRedirect(n,e,i,o,s,a)}expandWildCardWithParamsAgainstRouteUsingRedirect(n,e,i,o){const s=this.applyRedirects.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?M2(s):this.applyRedirects.lineralizeSegments(i,s).pipe(Ye(a=>{const l=new Yn(a,{});return this.processSegment(n,e,l,a,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(n,e,i,o,s,a){const{matched:l,consumedSegments:d,remainingSegments:_,positionalParamSegments:E}=x0(e,o,s);if(!l)return Md(e);const F=this.applyRedirects.applyRedirectCommands(d,o.redirectTo,E);return o.redirectTo.startsWith("/")?M2(F):this.applyRedirects.lineralizeSegments(o,F).pipe(Ye(G=>this.processSegment(n,i,e,G.concat(_),a,!1)))}matchSegmentAgainstRoute(n,e,i,o,s,a){let l;if("**"===i.path){const d=o.length>0?HT(o).parameters:{};l=$e({snapshot:new Om(o,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,x2(i),os(i),i.component??i._loadedComponent??null,i,k2(i)),consumedSegments:[],remainingSegments:[]}),e.children={}}else l=Gj(e,i,o,n).pipe(ke(({matched:d,consumedSegments:_,remainingSegments:E,parameters:F})=>d?{snapshot:new Om(_,F,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,x2(i),os(i),i.component??i._loadedComponent??null,i,k2(i)),consumedSegments:_,remainingSegments:E}:null));return l.pipe(gr(d=>null===d?Md(e):this.getChildConfig(n=i._injector??n,i,o).pipe(gr(({routes:_})=>{const E=i._loadedInjector??n,{snapshot:F,consumedSegments:G,remainingSegments:ie}=d,{segmentGroup:_e,slicedSegments:Ce}=w2(e,G,ie,_);if(0===Ce.length&&_e.hasChildren())return this.processChildren(E,_,_e).pipe(ke(ze=>null===ze?null:[new sa(F,ze)]));if(0===_.length&&0===Ce.length)return $e([new sa(F,[])]);const Ae=os(i)===s;return this.processSegment(E,_,_e,Ce,Ae?$t:s,!0).pipe(ke(ze=>[new sa(F,ze)]))}))))}getChildConfig(n,e,i){return e.children?$e({routes:e.children,injector:n}):e.loadChildren?void 0!==e._loadedRoutes?$e({routes:e._loadedRoutes,injector:e._loadedInjector}):function jj(t,n,e,i){const o=n.canLoad;return void 0===o||0===o.length?$e(!0):$e(o.map(a=>{const l=vd(a,t);return $a(function Tj(t){return t&&xh(t.canLoad)}(l)?l.canLoad(n,e):t.runInContext(()=>l(n,e)))})).pipe(yd(),v2())}(n,e,i).pipe(Ye(o=>o?this.configLoader.loadChildren(n,e).pipe(bi(s=>{e._loadedRoutes=s.routes,e._loadedInjector=s.injector})):function Wj(t){return Ar(f2(!1,3))}())):$e({routes:[],injector:n})}}function i7(t){const n=t.value.routeConfig;return n&&""===n.path}function C2(t){const n=[],e=new Set;for(const i of t){if(!i7(i)){n.push(i);continue}const o=n.find(s=>i.value.routeConfig===s.value.routeConfig);void 0!==o?(o.children.push(...i.children),e.add(o)):n.push(i)}for(const i of e){const o=C2(i.children);n.push(new sa(i.value,o))}return n.filter(i=>!e.has(i))}function x2(t){return t.data||{}}function k2(t){return t.resolve||{}}function S2(t){return"string"==typeof t.title||null===t.title}function k0(t){return gr(n=>{const e=t(n);return e?ue(e).pipe(ke(()=>n)):$e(n)})}const wd=new Re("ROUTES");let S0=(()=>{class t{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=Qe(oS)}loadComponent(e){if(this.componentLoaders.get(e))return this.componentLoaders.get(e);if(e._loadedComponent)return $e(e._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(e);const i=$a(e.loadComponent()).pipe(ke(D2),bi(s=>{this.onLoadEndListener&&this.onLoadEndListener(e),e._loadedComponent=s}),km(()=>{this.componentLoaders.delete(e)})),o=new Kr(i,()=>new J).pipe(qt());return this.componentLoaders.set(e,o),o}loadChildren(e,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return $e({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);const s=this.loadModuleFactoryOrRoutes(i.loadChildren).pipe(ke(l=>{this.onLoadEndListener&&this.onLoadEndListener(i);let d,_;return Array.isArray(l)?_=l:(d=l.create(e).injector,_=d.get(wd,[],Mt.Self|Mt.Optional).flat()),{routes:_.map(w0),injector:d}}),km(()=>{this.childrenLoaders.delete(i)})),a=new Kr(s,()=>new J).pipe(qt());return this.childrenLoaders.set(i,a),a}loadModuleFactoryOrRoutes(e){return $a(e()).pipe(ke(D2),Ye(i=>i instanceof mk||Array.isArray(i)?$e(i):ue(this.compiler.compileModuleAsync(i))))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function D2(t){return function d7(t){return t&&"object"==typeof t&&"default"in t}(t)?t.default:t}let Bm=(()=>{class t{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.lastSuccessfulNavigation=null,this.events=new J,this.configLoader=Qe(S0),this.environmentInjector=Qe(ks),this.urlSerializer=Qe(fh),this.rootContexts=Qe(vh),this.inputBindingEnabled=null!==Qe(Fm,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>$e(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=o=>this.events.next(new rj(o)),this.configLoader.onLoadStartListener=o=>this.events.next(new ij(o))}complete(){this.transitions?.complete()}handleNavigationRequest(e){const i=++this.navigationId;this.transitions?.next({...this.transitions.value,...e,id:i})}setupNavigations(e){return this.transitions=new Or({id:0,currentUrlTree:e.currentUrlTree,currentRawUrl:e.currentUrlTree,extractedUrl:e.urlHandlingStrategy.extract(e.currentUrlTree),urlAfterRedirects:e.urlHandlingStrategy.extract(e.currentUrlTree),rawUrl:e.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:_h,restoredState:null,currentSnapshot:e.routerState.snapshot,targetSnapshot:null,currentRouterState:e.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(_i(i=>0!==i.id),ke(i=>({...i,extractedUrl:e.urlHandlingStrategy.extract(i.rawUrl)})),gr(i=>{let o=!1,s=!1;return $e(i).pipe(bi(a=>{this.currentNavigation={id:a.id,initialUrl:a.rawUrl,extractedUrl:a.extractedUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),gr(a=>{const l=e.browserUrlTree.toString(),d=!e.navigated||a.extractedUrl.toString()!==l||l!==e.currentUrlTree.toString();if(!d&&"reload"!==(a.extras.onSameUrlNavigation??e.onSameUrlNavigation)){const E="";return this.events.next(new bh(a.id,e.serializeUrl(i.rawUrl),E,0)),e.rawUrlTree=a.rawUrl,a.resolve(null),oa}if(e.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return T2(a.source)&&(e.browserUrlTree=a.extractedUrl),$e(a).pipe(gr(E=>{const F=this.transitions?.getValue();return this.events.next(new p0(E.id,this.urlSerializer.serialize(E.extractedUrl),E.source,E.restoredState)),F!==this.transitions?.getValue()?oa:Promise.resolve(E)}),function r7(t,n,e,i,o,s){return Ye(a=>function e7(t,n,e,i,o,s,a="emptyOnly"){return new t7(t,n,e,i,o,a,s).recognize()}(t,n,e,i,a.extractedUrl,o,s).pipe(ke(({state:l,tree:d})=>({...a,targetSnapshot:l,urlAfterRedirects:d}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,e.paramsInheritanceStrategy),bi(E=>{if(i.targetSnapshot=E.targetSnapshot,i.urlAfterRedirects=E.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:E.urlAfterRedirects},"eager"===e.urlUpdateStrategy){if(!E.extras.skipLocationChange){const G=e.urlHandlingStrategy.merge(E.urlAfterRedirects,E.rawUrl);e.setBrowserUrl(G,E)}e.browserUrlTree=E.urlAfterRedirects}const F=new J6(E.id,this.urlSerializer.serialize(E.extractedUrl),this.urlSerializer.serialize(E.urlAfterRedirects),E.targetSnapshot);this.events.next(F)}));if(d&&e.urlHandlingStrategy.shouldProcessUrl(e.rawUrlTree)){const{id:E,extractedUrl:F,source:G,restoredState:ie,extras:_e}=a,Ce=new p0(E,this.urlSerializer.serialize(F),G,ie);this.events.next(Ce);const Ae=a2(0,this.rootComponentType).snapshot;return $e(i={...a,targetSnapshot:Ae,urlAfterRedirects:F,extras:{..._e,skipLocationChange:!1,replaceUrl:!1}})}{const E="";return this.events.next(new bh(a.id,e.serializeUrl(i.extractedUrl),E,1)),e.rawUrlTree=a.rawUrl,a.resolve(null),oa}}),bi(a=>{const l=new Q6(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}),ke(a=>i={...a,guards:Cj(a.targetSnapshot,a.currentSnapshot,this.rootContexts)}),function Aj(t,n){return Ye(e=>{const{targetSnapshot:i,currentSnapshot:o,guards:{canActivateChecks:s,canDeactivateChecks:a}}=e;return 0===a.length&&0===s.length?$e({...e,guardsResult:!0}):function Fj(t,n,e,i){return ue(t).pipe(Ye(o=>function Vj(t,n,e,i,o){const s=n&&n.routeConfig?n.routeConfig.canDeactivate:null;return s&&0!==s.length?$e(s.map(l=>{const d=Mh(n)??o,_=vd(l,d);return $a(function Ij(t){return t&&xh(t.canDeactivate)}(_)?_.canDeactivate(t,n,e,i):d.runInContext(()=>_(t,n,e,i))).pipe(zl())})).pipe(yd()):$e(!0)}(o.component,o.route,e,n,i)),zl(o=>!0!==o,!0))}(a,i,o,t).pipe(Ye(l=>l&&function Dj(t){return"boolean"==typeof t}(l)?function Rj(t,n,e,i){return ue(n).pipe(Bl(o=>Ua(function Yj(t,n){return null!==t&&n&&n(new oj(t)),$e(!0)}(o.route.parent,i),function Nj(t,n){return null!==t&&n&&n(new aj(t)),$e(!0)}(o.route,i),function Bj(t,n,e){const i=n[n.length-1],s=n.slice(0,n.length-1).reverse().map(a=>function xj(t){const n=t.routeConfig?t.routeConfig.canActivateChild:null;return n&&0!==n.length?{node:t,guards:n}:null}(a)).filter(a=>null!==a).map(a=>jl(()=>$e(a.guards.map(d=>{const _=Mh(a.node)??e,E=vd(d,_);return $a(function Ej(t){return t&&xh(t.canActivateChild)}(E)?E.canActivateChild(i,t):_.runInContext(()=>E(i,t))).pipe(zl())})).pipe(yd())));return $e(s).pipe(yd())}(t,o.path,e),function Hj(t,n,e){const i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||0===i.length)return $e(!0);const o=i.map(s=>jl(()=>{const a=Mh(n)??e,l=vd(s,a);return $a(function Lj(t){return t&&xh(t.canActivate)}(l)?l.canActivate(n,t):a.runInContext(()=>l(n,t))).pipe(zl())}));return $e(o).pipe(yd())}(t,o.route,e))),zl(o=>!0!==o,!0))}(i,s,t,n):$e(l)),ke(l=>({...e,guardsResult:l})))})}(this.environmentInjector,a=>this.events.next(a)),bi(a=>{if(i.guardsResult=a.guardsResult,Wl(a.guardsResult))throw h2(0,a.guardsResult);const l=new ej(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.events.next(l)}),_i(a=>!!a.guardsResult||(e.restoreHistory(a),this.cancelNavigationTransition(a,"",3),!1)),k0(a=>{if(a.guards.canActivateChecks.length)return $e(a).pipe(bi(l=>{const d=new tj(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(d)}),gr(l=>{let d=!1;return $e(l).pipe(function o7(t,n){return Ye(e=>{const{targetSnapshot:i,guards:{canActivateChecks:o}}=e;if(!o.length)return $e(e);let s=0;return ue(o).pipe(Bl(a=>function s7(t,n,e,i){const o=t.routeConfig,s=t._resolve;return void 0!==o?.title&&!S2(o)&&(s[uh]=o.title),function a7(t,n,e,i){const o=function l7(t){return[...Object.keys(t),...Object.getOwnPropertySymbols(t)]}(t);if(0===o.length)return $e({});const s={};return ue(o).pipe(Ye(a=>function c7(t,n,e,i){const o=Mh(n)??i,s=vd(t,o);return $a(s.resolve?s.resolve(n,e):o.runInContext(()=>s(n,e)))}(t[a],n,e,i).pipe(zl(),bi(l=>{s[a]=l}))),l0(1),function v6(t){return n=>n.lift(new y6(t))}(s),Co(a=>b2(a)?oa:Ar(a)))}(s,t,n,i).pipe(ke(a=>(t._resolvedData=a,t.data=l2(t,e).resolve,o&&S2(o)&&(t.data[uh]=o.title),null)))}(a.route,i,t,n)),bi(()=>s++),l0(1),Ye(a=>s===o.length?$e(e):oa))})}(e.paramsInheritanceStrategy,this.environmentInjector),bi({next:()=>d=!0,complete:()=>{d||(e.restoreHistory(l),this.cancelNavigationTransition(l,"",2))}}))}),bi(l=>{const d=new nj(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(d)}))}),k0(a=>{const l=d=>{const _=[];d.routeConfig?.loadComponent&&!d.routeConfig._loadedComponent&&_.push(this.configLoader.loadComponent(d.routeConfig).pipe(bi(E=>{d.component=E}),ke(()=>{})));for(const E of d.children)_.push(...l(E));return _};return Mm(l(a.targetSnapshot.root)).pipe(xm(),Kn(1))}),k0(()=>this.afterPreactivation()),ke(a=>{const l=function fj(t,n,e){const i=yh(t,n._root,e?e._root:void 0);return new s2(i,n)}(e.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return i={...a,targetRouterState:l}}),bi(a=>{e.currentUrlTree=a.urlAfterRedirects,e.rawUrlTree=e.urlHandlingStrategy.merge(a.urlAfterRedirects,a.rawUrl),e.routerState=a.targetRouterState,"deferred"===e.urlUpdateStrategy&&(a.extras.skipLocationChange||e.setBrowserUrl(e.rawUrlTree,a),e.browserUrlTree=a.urlAfterRedirects)}),((t,n,e,i)=>ke(o=>(new wj(n,o.targetRouterState,o.currentRouterState,e,i).activate(t),o)))(this.rootContexts,e.routeReuseStrategy,a=>this.events.next(a),this.inputBindingEnabled),Kn(1),bi({next:a=>{o=!0,this.lastSuccessfulNavigation=this.currentNavigation,e.navigated=!0,this.events.next(new Ga(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(e.currentUrlTree))),e.titleStrategy?.updateTitle(a.targetRouterState.snapshot),a.resolve(!0)},complete:()=>{o=!0}}),km(()=>{o||s||this.cancelNavigationTransition(i,"",1),this.currentNavigation?.id===i.id&&(this.currentNavigation=null)}),Co(a=>{if(s=!0,m2(a)){p2(a)||(e.navigated=!0,e.restoreHistory(i,!0));const l=new Pm(i.id,this.urlSerializer.serialize(i.extractedUrl),a.message,a.cancellationCode);if(this.events.next(l),p2(a)){const d=e.urlHandlingStrategy.merge(a.url,e.rawUrlTree),_={skipLocationChange:i.extras.skipLocationChange,replaceUrl:"eager"===e.urlUpdateStrategy||T2(i.source)};e.scheduleNavigation(d,_h,null,_,{resolve:i.resolve,reject:i.reject,promise:i.promise})}else i.resolve(!1)}else{e.restoreHistory(i,!0);const l=new m0(i.id,this.urlSerializer.serialize(i.extractedUrl),a,i.targetSnapshot??void 0);this.events.next(l);try{i.resolve(e.errorHandler(a))}catch(d){i.reject(d)}}return oa}))}))}cancelNavigationTransition(e,i,o){const s=new Pm(e.id,this.urlSerializer.serialize(e.extractedUrl),i,o);this.events.next(s),e.resolve(!1)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function T2(t){return t!==_h}let L2=(()=>{class t{buildTitle(e){let i,o=e.root;for(;void 0!==o;)i=this.getResolvedTitleForRoute(o)??i,o=o.children.find(s=>s.outlet===$t);return i}getResolvedTitleForRoute(e){return e.data[uh]}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(){return Qe(u7)},providedIn:"root"}),t})(),u7=(()=>{class t extends L2{constructor(e){super(),this.title=e}updateTitle(e){const i=this.buildTitle(e);void 0!==i&&this.title.setTitle(i)}}return t.\u0275fac=function(e){return new(e||t)(we(PD))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),E2=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(){return Qe(f7)},providedIn:"root"}),t})();class h7{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}}let f7=(()=>{class t extends h7{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const Vm=new Re("",{providedIn:"root",factory:()=>({})});let p7=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:function(){return Qe(m7)},providedIn:"root"}),t})(),m7=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,i){return e}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var xo=(()=>((xo=xo||{})[xo.COMPLETE=0]="COMPLETE",xo[xo.FAILED=1]="FAILED",xo[xo.REDIRECTING=2]="REDIRECTING",xo))();function I2(t,n){t.events.pipe(_i(e=>e instanceof Ga||e instanceof Pm||e instanceof m0||e instanceof bh),ke(e=>e instanceof Ga||e instanceof bh?xo.COMPLETE:e instanceof Pm&&(0===e.code||1===e.code)?xo.REDIRECTING:xo.FAILED),_i(e=>e!==xo.REDIRECTING),Kn(1)).subscribe(()=>{n()})}function g7(t){throw t}function _7(t,n,e){return n.parse("/")}const b7={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},v7={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let hn=(()=>{class t{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){if("computed"===this.canceledNavigationResolution)return this.location.getState()?.\u0275routerPageId}get events(){return this.navigationTransitions.events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=Qe(rS),this.isNgZoneEnabled=!1,this.options=Qe(Vm,{optional:!0})||{},this.pendingTasks=Qe(VS),this.errorHandler=this.options.errorHandler||g7,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||_7,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=Qe(p7),this.routeReuseStrategy=Qe(E2),this.titleStrategy=Qe(L2),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=Qe(wd,{optional:!0})?.flat()??[],this.navigationTransitions=Qe(Bm),this.urlSerializer=Qe(fh),this.location=Qe(Xu),this.componentInputBindingEnabled=!!Qe(Fm,{optional:!0}),this.isNgZoneEnabled=Qe(ft)instanceof ft&&ft.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new _d,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=a2(0,null),this.navigationTransitions.setupNavigations(this).subscribe(e=>{this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId??0},e=>{this.console.warn(`Unhandled Navigation Error: ${e}`)})}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const e=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),_h,e)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(e=>{const i="popstate"===e.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{this.navigateToSyncWithBrowser(e.url,i,e.state)},0)}))}navigateToSyncWithBrowser(e,i,o){const s={replaceUrl:!0},a=o?.navigationId?o:null;if(o){const d={...o};delete d.navigationId,delete d.\u0275routerPageId,0!==Object.keys(d).length&&(s.state=d)}const l=this.parseUrl(e);this.scheduleNavigation(l,i,a,s)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(w0),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(e,i={}){const{relativeTo:o,queryParams:s,fragment:a,queryParamsHandling:l,preserveFragment:d}=i,_=d?this.currentUrlTree.fragment:a;let F,E=null;switch(l){case"merge":E={...this.currentUrlTree.queryParams,...s};break;case"preserve":E=this.currentUrlTree.queryParams;break;default:E=s||null}null!==E&&(E=this.removeEmptyProps(E));try{F=ZT(o?o.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof e[0]||!e[0].startsWith("/"))&&(e=[]),F=this.currentUrlTree.root}return XT(F,e,E,_??null)}navigateByUrl(e,i={skipLocationChange:!1}){const o=Wl(e)?e:this.parseUrl(e),s=this.urlHandlingStrategy.merge(o,this.rawUrlTree);return this.scheduleNavigation(s,_h,null,i)}navigate(e,i={skipLocationChange:!1}){return function y7(t){for(let n=0;n{const s=e[o];return null!=s&&(i[o]=s),i},{})}scheduleNavigation(e,i,o,s,a){if(this.disposed)return Promise.resolve(!1);let l,d,_;a?(l=a.resolve,d=a.reject,_=a.promise):_=new Promise((F,G)=>{l=F,d=G});const E=this.pendingTasks.add();return I2(this,()=>{Promise.resolve().then(()=>this.pendingTasks.remove(E))}),this.navigationTransitions.handleNavigationRequest({source:i,restoredState:o,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:s,resolve:l,reject:d,promise:_,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),_.catch(F=>Promise.reject(F))}setBrowserUrl(e,i){const o=this.urlSerializer.serialize(e);if(this.location.isCurrentPathEqualTo(o)||i.extras.replaceUrl){const a={...i.extras.state,...this.generateNgRouterState(i.id,this.browserPageId)};this.location.replaceState(o,"",a)}else{const s={...i.extras.state,...this.generateNgRouterState(i.id,(this.browserPageId??0)+1)};this.location.go(o,"",s)}}restoreHistory(e,i=!1){if("computed"===this.canceledNavigationResolution){const s=this.currentPageId-(this.browserPageId??this.currentPageId);0!==s?this.location.historyGo(s):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===s&&(this.resetState(e),this.browserUrlTree=e.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(e),this.resetUrlToCurrentUrlTree())}resetState(e){this.routerState=e.currentRouterState,this.currentUrlTree=e.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,i){return"computed"===this.canceledNavigationResolution?{navigationId:e,\u0275routerPageId:i}:{navigationId:e}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),qa=(()=>{class t{constructor(e,i,o,s,a,l){this.router=e,this.route=i,this.tabIndexAttribute=o,this.renderer=s,this.el=a,this.locationStrategy=l,this._preserveFragment=!1,this._skipLocationChange=!1,this._replaceUrl=!1,this.href=null,this.commands=null,this.onChanges=new J;const d=a.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===d||"area"===d,this.isAnchorElement?this.subscription=e.events.subscribe(_=>{_ instanceof Ga&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}set preserveFragment(e){this._preserveFragment=ud(e)}get preserveFragment(){return this._preserveFragment}set skipLocationChange(e){this._skipLocationChange=ud(e)}get skipLocationChange(){return this._skipLocationChange}set replaceUrl(e){this._replaceUrl=ud(e)}get replaceUrl(){return this._replaceUrl}setTabIndexIfNotOnNativeEl(e){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(e){null!=e?(this.commands=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(e,i,o,s,a){return!!(null===this.urlTree||this.isAnchorElement&&(0!==e||i||o||s||a||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(this.urlTree,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const e=null===this.href?null:function Nw(t,n,e){return function VA(t,n){return"src"===n&&("embed"===t||"frame"===t||"iframe"===t||"media"===t||"script"===t)||"href"===n&&("base"===t||"link"===t)?Rw:Vo}(n,e)(t)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",e)}applyAttributeValue(e,i){const o=this.renderer,s=this.el.nativeElement;null!==i?o.setAttribute(s,e,i):o.removeAttribute(s,e)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}}return t.\u0275fac=function(e){return new(e||t)(Y(hn),Y(Mr),Pa("tabindex"),Y(Ks),Y(vt),Y(Rl))},t.\u0275dir=Ke({type:t,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(e,i){1&e&&ye("click",function(s){return i.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),2&e&&Xt("target",i.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",relativeTo:"relativeTo",preserveFragment:"preserveFragment",skipLocationChange:"skipLocationChange",replaceUrl:"replaceUrl",routerLink:"routerLink"},standalone:!0,features:[Gi]}),t})();class P2{}let C7=(()=>{class t{constructor(e,i,o,s,a){this.router=e,this.injector=o,this.preloadingStrategy=s,this.loader=a}setUpPreloading(){this.subscription=this.router.events.pipe(_i(e=>e instanceof Ga),Bl(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(e,i){const o=[];for(const s of i){s.providers&&!s._injector&&(s._injector=Cv(s.providers,e,`Route: ${s.path}`));const a=s._injector??e,l=s._loadedInjector??a;(s.loadChildren&&!s._loadedRoutes&&void 0===s.canLoad||s.loadComponent&&!s._loadedComponent)&&o.push(this.preloadConfig(a,s)),(s.children||s._loadedRoutes)&&o.push(this.processRoutes(l,s.children??s._loadedRoutes))}return ue(o).pipe(fn())}preloadConfig(e,i){return this.preloadingStrategy.preload(i,()=>{let o;o=i.loadChildren&&void 0===i.canLoad?this.loader.loadChildren(e,i):$e(null);const s=o.pipe(Ye(a=>null===a?$e(void 0):(i._loadedRoutes=a.routes,i._loadedInjector=a.injector,this.processRoutes(a.injector??e,a.routes))));return i.loadComponent&&!i._loadedComponent?ue([s,this.loader.loadComponent(i)]).pipe(fn()):s})}}return t.\u0275fac=function(e){return new(e||t)(we(hn),we(oS),we(ks),we(P2),we(S0))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const D0=new Re("");let O2=(()=>{class t{constructor(e,i,o,s,a={}){this.urlSerializer=e,this.transitions=i,this.viewportScroller=o,this.zone=s,this.options=a,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},a.scrollPositionRestoration=a.scrollPositionRestoration||"disabled",a.anchorScrolling=a.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof p0?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=e.navigationTrigger,this.restoredId=e.restoredState?e.restoredState.navigationId:0):e instanceof Ga?(this.lastId=e.id,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.urlAfterRedirects).fragment)):e instanceof bh&&0===e.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(e,this.urlSerializer.parse(e.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(e=>{e instanceof r2&&(e.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(e.position):e.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(e.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(e,i){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new r2(e,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}}return t.\u0275fac=function(e){Aa()},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();function aa(t,n){return{\u0275kind:t,\u0275providers:n}}function F2(){const t=Qe(Si);return n=>{const e=t.get(Na);if(n!==e.components[0])return;const i=t.get(hn),o=t.get(R2);1===t.get(T0)&&i.initialNavigation(),t.get(N2,null,Mt.Optional)?.setUpPreloading(),t.get(D0,null,Mt.Optional)?.init(),i.resetRootComponentType(e.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const R2=new Re("",{factory:()=>new J}),T0=new Re("",{providedIn:"root",factory:()=>1}),N2=new Re("");function D7(t){return aa(0,[{provide:N2,useExisting:C7},{provide:P2,useExisting:t}])}const Y2=new Re("ROUTER_FORROOT_GUARD"),L7=[Xu,{provide:fh,useClass:c0},hn,vh,{provide:Mr,useFactory:function A2(t){return t.routerState.root},deps:[hn]},S0,[]];function E7(){return new gS("Router",hn)}let H2=(()=>{class t{constructor(e){}static forRoot(e,i){return{ngModule:t,providers:[L7,[],{provide:wd,multi:!0,useValue:e},{provide:Y2,useFactory:A7,deps:[[hn,new xl,new mu]]},{provide:Vm,useValue:i||{}},i?.useHash?{provide:Rl,useClass:eY}:{provide:Rl,useClass:WS},{provide:D0,useFactory:()=>{const t=Qe(mH),n=Qe(ft),e=Qe(Vm),i=Qe(Bm),o=Qe(fh);return e.scrollOffset&&t.setOffset(e.scrollOffset),new O2(o,i,t,n,e)}},i?.preloadingStrategy?D7(i.preloadingStrategy).\u0275providers:[],{provide:gS,multi:!0,useFactory:E7},i?.initialNavigation?F7(i):[],i?.bindToComponentInputs?aa(8,[u2,{provide:Fm,useExisting:u2}]).\u0275providers:[],[{provide:B2,useFactory:F2},{provide:Gv,multi:!0,useExisting:B2}]]}}static forChild(e){return{ngModule:t,providers:[{provide:wd,multi:!0,useValue:e}]}}}return t.\u0275fac=function(e){return new(e||t)(we(Y2,8))},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})();function A7(t){return"guarded"}function F7(t){return["disabled"===t.initialNavigation?aa(3,[{provide:Yv,multi:!0,useFactory:()=>{const n=Qe(hn);return()=>{n.setUpLocationChangeListener()}}},{provide:T0,useValue:2}]).\u0275providers:[],"enabledBlocking"===t.initialNavigation?aa(2,[{provide:T0,useValue:0},{provide:Yv,multi:!0,deps:[Si],useFactory:n=>{const e=n.get(J5,Promise.resolve());return()=>e.then(()=>new Promise(i=>{const o=n.get(hn),s=n.get(R2);I2(o,()=>{i(!0)}),n.get(Bm).afterPreactivation=()=>(i(!0),s.closed?$e(void 0):s),o.initialNavigation()}))}}]).\u0275providers:[]]}const B2=new Re("");class N7 extends T{constructor(n,e){super()}schedule(n,e=0){return this}}class jm extends N7{constructor(n,e){super(n,e),this.scheduler=n,this.work=e,this.pending=!1}schedule(n,e=0){if(this.closed)return this;this.state=n;const i=this.id,o=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(o,i,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(o,this.id,e),this}requestAsyncId(n,e,i=0){return setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,e,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return e;clearInterval(e)}execute(n,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(n,e);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,e){let o,i=!1;try{this.work(n)}catch(s){i=!0,o=!!s&&s||new Error(s)}if(i)return this.unsubscribe(),o}_unsubscribe(){const n=this.id,e=this.scheduler,i=e.actions,o=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==o&&i.splice(o,1),null!=n&&(this.id=this.recycleAsyncId(e,n,null)),this.delay=null}}let V2=(()=>{class t{constructor(e,i=t.now){this.SchedulerAction=e,this.now=i}schedule(e,i=0,o){return new this.SchedulerAction(this,e).schedule(o,i)}}return t.now=()=>Date.now(),t})();class ss extends V2{constructor(n,e=V2.now){super(n,()=>ss.delegate&&ss.delegate!==this?ss.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(n,e=0,i){return ss.delegate&&ss.delegate!==this?ss.delegate.schedule(n,e,i):super.schedule(n,e,i)}flush(n){const{actions:e}=this;if(this.active)return void e.push(n);let i;this.active=!0;do{if(i=n.execute(n.state,n.delay))break}while(n=e.shift());if(this.active=!1,i){for(;n=e.shift();)n.unsubscribe();throw i}}}const Cd=new ss(jm);class no{constructor(n,e,i){this.kind=n,this.value=e,this.error=i,this.hasValue="N"===n}observe(n){switch(this.kind){case"N":return n.next&&n.next(this.value);case"E":return n.error&&n.error(this.error);case"C":return n.complete&&n.complete()}}do(n,e,i){switch(this.kind){case"N":return n&&n(this.value);case"E":return e&&e(this.error);case"C":return i&&i()}}accept(n,e,i){return n&&"function"==typeof n.next?this.observe(n):this.do(n,e,i)}toObservable(){switch(this.kind){case"N":return $e(this.value);case"E":return Ar(this.error);case"C":return Cm()}throw new Error("unexpected notification kind value")}static createNext(n){return typeof n<"u"?new no("N",n):no.undefinedValueNotification}static createError(n){return new no("E",void 0,n)}static createComplete(){return no.completeNotification}}function Ti(t,n=Cd){const i=function Y7(t){return t instanceof Date&&!isNaN(+t)}(t)?+t-n.now():Math.abs(t);return o=>o.lift(new H7(i,n))}no.completeNotification=new no("C"),no.undefinedValueNotification=new no("N",void 0);class H7{constructor(n,e){this.delay=n,this.scheduler=e}call(n,e){return e.subscribe(new L0(n,this.delay,this.scheduler))}}class L0 extends A{constructor(n,e,i){super(n),this.delay=e,this.scheduler=i,this.queue=[],this.active=!1,this.errored=!1}static dispatch(n){const e=n.source,i=e.queue,o=n.scheduler,s=n.destination;for(;i.length>0&&i[0].time-o.now()<=0;)i.shift().notification.observe(s);if(i.length>0){const a=Math.max(0,i[0].time-o.now());this.schedule(n,a)}else this.unsubscribe(),e.active=!1}_schedule(n){this.active=!0,this.destination.add(n.schedule(L0.dispatch,this.delay,{source:this,destination:this.destination,scheduler:n}))}scheduleNotification(n){if(!0===this.errored)return;const e=this.scheduler,i=new B7(e.now()+this.delay,n);this.queue.push(i),!1===this.active&&this._schedule(e)}_next(n){this.scheduleNotification(no.createNext(n))}_error(n){this.errored=!0,this.queue=[],this.destination.error(n),this.unsubscribe()}_complete(){this.scheduleNotification(no.createComplete()),this.unsubscribe()}}class B7{constructor(n,e){this.time=n,this.notification=e}}var Ka=(()=>((Ka=Ka||{}).NoConnection="NoConnection",Ka.Unknown="Unknown",Ka))();class V7{}const j2="common.operation-error";function en(t){if(t&&t.type&&!t.srcElement)return t;const n=new V7;if(n.originalError=t,!t||"string"==typeof t)return n.originalServerErrorMsg=t||"",n.translatableErrorMsg=t||j2,n.type=Ka.Unknown,n;n.originalServerErrorMsg=function z7(t){if(t){if("string"==typeof t._body)return t._body;if(t.originalServerErrorMsg&&"string"==typeof t.originalServerErrorMsg)return t.originalServerErrorMsg;if(t.error&&"string"==typeof t.error)return t.error;if(t.error&&t.error.error&&t.error.error.message)return t.error.error.message;if(t.error&&t.error.error&&"string"==typeof t.error.error)return t.error.error;if(t.message)return t.message;if(t._body&&t._body.error)return t._body.error;try{return JSON.parse(t._body).error}catch{}}return null}(t);return null!=t.status&&(0===t.status||504===t.status)&&(n.type=Ka.NoConnection,n.translatableErrorMsg="common.no-connection-error"),n.type||(n.type=Ka.Unknown,n.translatableErrorMsg=n.originalServerErrorMsg?function j7(t){if(!t||0===t.length)return t;if(-1!==t.indexOf('"error":'))try{t=JSON.parse(t).error}catch{}if(t.startsWith("400")||t.startsWith("403")){const e=t.split(" - ",2);t=2===e.length?e[1]:t}const n=(t=t.trim()).substr(0,1);return n.toUpperCase()!==n&&(t=n.toUpperCase()+t.substr(1,t.length-1)),!t.endsWith(".")&&!t.endsWith(",")&&!t.endsWith(":")&&!t.endsWith(";")&&!t.endsWith("?")&&!t.endsWith("!")&&(t+="."),t}(n.originalServerErrorMsg):j2),n}const $7=new class W7 extends ss{}(class U7 extends jm{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}schedule(n,e=0){return e>0?super.schedule(n,e):(this.delay=e,this.state=n,this.scheduler.flush(this),this)}execute(n,e){return e>0||this.closed?super.execute(n,e):this._execute(n,e)}requestAsyncId(n,e,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(n,e,i):n.flush(this)}});class zm extends A{constructor(n,e,i=0){super(n),this.scheduler=e,this.delay=i}static dispatch(n){const{notification:e,destination:i}=n;e.observe(i),this.unsubscribe()}scheduleMessage(n){this.destination.add(this.scheduler.schedule(zm.dispatch,this.delay,new q7(n,this.destination)))}_next(n){this.scheduleMessage(no.createNext(n))}_error(n){this.scheduleMessage(no.createError(n)),this.unsubscribe()}_complete(){this.scheduleMessage(no.createComplete()),this.unsubscribe()}}class q7{constructor(n,e){this.notification=n,this.destination=e}}class ko extends J{constructor(n=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=n<1?1:n,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(n){if(!this.isStopped){const e=this._events;e.push(n),e.length>this._bufferSize&&e.shift()}super.next(n)}nextTimeWindow(n){this.isStopped||(this._events.push(new K7(this._getNow(),n)),this._trimBufferThenGetEvents()),super.next(n)}_subscribe(n){const e=this._infiniteTimeWindow,i=e?this._events:this._trimBufferThenGetEvents(),o=this.scheduler,s=i.length;let a;if(this.closed)throw new ee;if(this.isStopped||this.hasError?a=T.EMPTY:(this.observers.push(n),a=new ae(this,n)),o&&n.add(n=new zm(n,o)),e)for(let l=0;le&&(a=Math.max(a,s-e)),a>0&&o.splice(0,a),o}}class K7{constructor(n,e){this.time=n,this.value=e}}const Um="refreshSeconds",Wm="labelsData",$m="localNodesData",z2="nodesData";var Xi=(()=>((Xi=Xi||{}).Node="nd",Xi.Transport="tp",Xi.DmsgServer="ds",Xi))();let Ji=(()=>{class t{constructor(){this.currentRefreshTimeSubject=new ko(1),this.savedLocalNodes=new Map,this.savedLabels=new Map,this.savedVisibleLocalNodes=new Set}initialize(e){this.storage=localStorage,this.hypervisorPk=e,this.migrateDataToHvStorage(),this.currentRefreshTime=parseInt(this.getDataForHv(Um),10)||10,this.currentRefreshTimeSubject.next(this.currentRefreshTime),this.getSavedLocalNodes().forEach(s=>{this.savedLocalNodes.set(s.publicKey,s),s.hidden||this.savedVisibleLocalNodes.add(s.publicKey)}),this.getSavedLabels().forEach(s=>this.savedLabels.set(s.id,s)),this.loadLegacyNodeData();const i=[];this.savedLocalNodes.forEach(s=>i.push(s));const o=[];this.savedLabels.forEach(s=>o.push(s)),this.saveLocalNodes(i),this.saveLabels(o)}getDataForHv(e){return this.storage.getItem(this.hypervisorPk+e)}setDataForHv(e,i){return this.storage.setItem(this.hypervisorPk+e,i)}migrateDataToHvStorage(){const e=this.storage.getItem(Um);if(e){const s=parseInt(e,10)||10;this.setRefreshTime(s),this.storage.removeItem(Um)}const i=this.storage.getItem($m);if(i){const s=JSON.parse(i)||[];this.saveLocalNodes(s),this.storage.removeItem($m)}const o=this.storage.getItem(Wm);if(o){const s=JSON.parse(o)||[];this.saveLabels(s),this.storage.removeItem(Wm)}}loadLegacyNodeData(){const e=JSON.parse(this.storage.getItem(z2))||[];if(e.length>0){const i=this.getSavedLocalNodes(),o=this.getSavedLabels();e.forEach(s=>{i.push({publicKey:s.publicKey,hidden:s.deleted,ip:null}),this.savedLocalNodes.set(s.publicKey,i[i.length-1]),s.deleted||this.savedVisibleLocalNodes.add(s.publicKey),o.push({id:s.publicKey,identifiedElementType:Xi.Node,label:s.label}),this.savedLabels.set(s.publicKey,o[o.length-1])}),this.saveLocalNodes(i),this.saveLabels(o),this.storage.removeItem(z2)}}setRefreshTime(e){this.setDataForHv(Um,e.toString()),this.currentRefreshTime=e,this.currentRefreshTimeSubject.next(this.currentRefreshTime)}getRefreshTimeObservable(){return this.currentRefreshTimeSubject.asObservable()}getRefreshTime(){return this.currentRefreshTime}includeVisibleLocalNodes(e,i){this.changeLocalNodesHiddenProperty(e,i,!1)}setLocalNodesAsHidden(e,i){this.changeLocalNodesHiddenProperty(e,i,!0)}changeLocalNodesHiddenProperty(e,i,o){if(e.length!==i.length)throw new Error("Invalid params");const s=new Map,a=new Map;e.forEach((_,E)=>{s.set(_,i[E]),a.set(_,i[E])});let l=!1;const d=this.getSavedLocalNodes();d.forEach(_=>{s.has(_.publicKey)&&(a.has(_.publicKey)&&a.delete(_.publicKey),_.ip!==s.get(_.publicKey)&&(_.ip=s.get(_.publicKey),l=!0,this.savedLocalNodes.set(_.publicKey,_)),_.hidden!==o&&(_.hidden=o,l=!0,this.savedLocalNodes.set(_.publicKey,_),o?this.savedVisibleLocalNodes.delete(_.publicKey):this.savedVisibleLocalNodes.add(_.publicKey)))}),a.forEach((_,E)=>{l=!0;const F={publicKey:E,hidden:o,ip:_};d.push(F),this.savedLocalNodes.set(E,F),o?this.savedVisibleLocalNodes.delete(E):this.savedVisibleLocalNodes.add(E)}),l&&this.saveLocalNodes(d)}getSavedLocalNodes(){return JSON.parse(this.getDataForHv($m))||[]}getSavedVisibleLocalNodes(){return this.savedVisibleLocalNodes}saveLocalNodes(e){this.setDataForHv($m,JSON.stringify(e))}getSavedLabels(){return JSON.parse(this.getDataForHv(Wm))||[]}saveLabels(e){this.setDataForHv(Wm,JSON.stringify(e))}saveLabel(e,i,o){if(i){let s=!1;const a=this.getSavedLabels().map(l=>(l.id===e&&l.identifiedElementType===o&&(s=!0,l.label=i,this.savedLabels.set(l.id,{label:l.label,id:l.id,identifiedElementType:l.identifiedElementType})),l));if(s)this.saveLabels(a);else{const l={label:i,id:e,identifiedElementType:o};a.push(l),this.savedLabels.set(e,l),this.saveLabels(a)}}else{this.savedLabels.has(e)&&this.savedLabels.delete(e);let s=!1;const a=this.getSavedLabels().filter(l=>l.id!==e||(s=!0,!1));s&&this.saveLabels(a)}}getDefaultLabel(e){return e?e.ip?e.ip:e.localPk.substr(0,8):""}getLabelInfo(e){return this.savedLabels.has(e)?this.savedLabels.get(e):null}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function _n(t){return null!=t&&"false"!=`${t}`}function So(t,n=0){return function Z7(t){return!isNaN(parseFloat(t))&&!isNaN(Number(t))}(t)?Number(t):n}function Gm(t){return Array.isArray(t)?t:[t]}function Qi(t){return null==t?"":"string"==typeof t?t:`${t}px`}function la(t){return t instanceof vt?t.nativeElement:t}function kh(t,n,e,i){return O(e)&&(i=e,e=void 0),i?kh(t,n,e).pipe(ke(o=>M(o)?i(...o):i(o))):new he(o=>{U2(t,n,function s(a){o.next(arguments.length>1?Array.prototype.slice.call(arguments):a)},o,e)})}function U2(t,n,e,i,o){let s;if(function Q7(t){return t&&"function"==typeof t.addEventListener&&"function"==typeof t.removeEventListener}(t)){const a=t;t.addEventListener(n,e,o),s=()=>a.removeEventListener(n,e,o)}else if(function J7(t){return t&&"function"==typeof t.on&&"function"==typeof t.off}(t)){const a=t;t.on(n,e),s=()=>a.off(n,e)}else if(function X7(t){return t&&"function"==typeof t.addListener&&"function"==typeof t.removeListener}(t)){const a=t;t.addListener(n,e),s=()=>a.removeListener(n,e)}else{if(!t||!t.length)throw new TypeError("Invalid event target");for(let a=0,l=t.length;a0?super.requestAsyncId(n,e,i):(n.actions.push(this),n.scheduled||(n.scheduled=requestAnimationFrame(()=>n.flush(null))))}recycleAsyncId(n,e,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(n,e,i);0===n.actions.length&&(cancelAnimationFrame(e),n.scheduled=void 0)}});let i9=1;const r9=Promise.resolve(),qm={};function W2(t){return t in qm&&(delete qm[t],!0)}const $2={setImmediate(t){const n=i9++;return qm[n]=!0,r9.then(()=>W2(n)&&t()),n},clearImmediate(t){W2(t)}},E0=new class s9 extends ss{flush(n){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let i,o=-1,s=e.length;n=n||e.shift();do{if(i=n.execute(n.state,n.delay))break}while(++o0?super.requestAsyncId(n,e,i):(n.actions.push(this),n.scheduled||(n.scheduled=$2.setImmediate(n.flush.bind(n,null))))}recycleAsyncId(n,e,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(n,e,i);0===n.actions.length&&($2.clearImmediate(e),n.scheduled=void 0)}});class l9{constructor(n){this.durationSelector=n}call(n,e){return e.subscribe(new c9(n,this.durationSelector))}}class c9 extends Me{constructor(n,e){super(n),this.durationSelector=e,this.hasValue=!1}_next(n){if(this.value=n,this.hasValue=!0,!this.throttled){let e;try{const{durationSelector:o}=this;e=o(n)}catch(o){return this.destination.error(o)}const i=Ie(e,new be(this));!i||i.closed?this.clearThrottle():this.add(this.throttled=i)}}clearThrottle(){const{value:n,hasValue:e,throttled:i}=this;i&&(this.remove(i),this.throttled=void 0,i.unsubscribe()),e&&(this.value=void 0,this.hasValue=!1,this.destination.next(n))}notifyNext(){this.clearThrottle()}notifyComplete(){this.clearThrottle()}}function I0(t){return!M(t)&&t-parseFloat(t)+1>=0}function Sh(t=0,n,e){let i=-1;return I0(n)?i=Number(n)<1?1:Number(n):Se(n)&&(e=n),Se(e)||(e=Cd),new he(o=>{const s=I0(t)?t:+t-e.now();return e.schedule(d9,s,{index:0,period:i,subscriber:o})})}function d9(t){const{index:n,period:e,subscriber:i}=t;if(i.next(n),!i.closed){if(-1===e)return i.complete();t.index=n+1,this.schedule(t,e)}}function G2(t,n=Cd){return function a9(t){return function(e){return e.lift(new l9(t))}}(()=>Sh(t,n))}let P0;try{P0=typeof Intl<"u"&&Intl.v8BreakIterator}catch{P0=!1}let xd,ui=(()=>{class t{constructor(e){this._platformId=e,this.isBrowser=this._platformId?function pH(t){return t===uD}(this._platformId):"object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(!window.chrome&&!P0)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window),this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}}return t.\u0275fac=function(e){return new(e||t)(we(Oa))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const q2=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"];function K2(){if(xd)return xd;if("object"!=typeof document||!document)return xd=new Set(q2),xd;let t=document.createElement("input");return xd=new Set(q2.filter(n=>(t.setAttribute("type",n),t.type===n))),xd}let Dh,$l,O0;function Za(t){return function u9(){if(null==Dh&&typeof window<"u")try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:()=>Dh=!0}))}finally{Dh=Dh||!1}return Dh}()?t:!!t.capture}function h9(){if(null==$l){if("object"!=typeof document||!document||"function"!=typeof Element||!Element)return $l=!1,$l;if("scrollBehavior"in document.documentElement.style)$l=!0;else{const t=Element.prototype.scrollTo;$l=!!t&&!/\{\s*\[native code\]\s*\}/.test(t.toString())}}return $l}function A0(){let t=typeof document<"u"&&document?document.activeElement:null;for(;t&&t.shadowRoot;){const n=t.shadowRoot.activeElement;if(n===t)break;t=n}return t}function Xa(t){return t.composedPath?t.composedPath()[0]:t.target}function F0(){return typeof __karma__<"u"&&!!__karma__||typeof jasmine<"u"&&!!jasmine||typeof jest<"u"&&!!jest||typeof Mocha<"u"&&!!Mocha}const m9=new Re("cdk-dir-doc",{providedIn:"root",factory:function g9(){return Qe(It)}}),_9=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;let Do=(()=>{class t{constructor(e){this.value="ltr",this.change=new ht,e&&(this.value=function b9(t){const n=t?.toLowerCase()||"";return"auto"===n&&typeof navigator<"u"&&navigator?.language?_9.test(navigator.language)?"rtl":"ltr":"rtl"===n?"rtl":"ltr"}((e.body?e.body.dir:null)||(e.documentElement?e.documentElement.dir:null)||"ltr"))}ngOnDestroy(){this.change.complete()}}return t.\u0275fac=function(e){return new(e||t)(we(m9,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Th=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})(),Z2=(()=>{class t{constructor(e,i,o){this._ngZone=e,this._platform=i,this._scrolled=new J,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map,this._document=o}register(e){this.scrollContainers.has(e)||this.scrollContainers.set(e,e.elementScrolled().subscribe(()=>this._scrolled.next(e)))}deregister(e){const i=this.scrollContainers.get(e);i&&(i.unsubscribe(),this.scrollContainers.delete(e))}scrolled(e=20){return this._platform.isBrowser?new he(i=>{this._globalSubscription||this._addGlobalListener();const o=e>0?this._scrolled.pipe(G2(e)).subscribe(i):this._scrolled.subscribe(i);return this._scrolledCount++,()=>{o.unsubscribe(),this._scrolledCount--,this._scrolledCount||this._removeGlobalListener()}}):$e()}ngOnDestroy(){this._removeGlobalListener(),this.scrollContainers.forEach((e,i)=>this.deregister(i)),this._scrolled.complete()}ancestorScrolled(e,i){const o=this.getAncestorScrollContainers(e);return this.scrolled(i).pipe(_i(s=>!s||o.indexOf(s)>-1))}getAncestorScrollContainers(e){const i=[];return this.scrollContainers.forEach((o,s)=>{this._scrollableContainsElement(s,e)&&i.push(s)}),i}_getWindow(){return this._document.defaultView||window}_scrollableContainsElement(e,i){let o=la(i),s=e.getElementRef().nativeElement;do{if(o==s)return!0}while(o=o.parentElement);return!1}_addGlobalListener(){this._globalSubscription=this._ngZone.runOutsideAngular(()=>kh(this._getWindow().document,"scroll").subscribe(()=>this._scrolled.next()))}_removeGlobalListener(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)}}return t.\u0275fac=function(e){return new(e||t)(we(ft),we(ui),we(It,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),kd=(()=>{class t{constructor(e,i,o){this._platform=e,this._change=new J,this._changeListener=s=>{this._change.next(s)},this._document=o,i.runOutsideAngular(()=>{if(e.isBrowser){const s=this._getWindow();s.addEventListener("resize",this._changeListener),s.addEventListener("orientationchange",this._changeListener)}this.change().subscribe(()=>this._viewportSize=null)})}ngOnDestroy(){if(this._platform.isBrowser){const e=this._getWindow();e.removeEventListener("resize",this._changeListener),e.removeEventListener("orientationchange",this._changeListener)}this._change.complete()}getViewportSize(){this._viewportSize||this._updateViewportSize();const e={width:this._viewportSize.width,height:this._viewportSize.height};return this._platform.isBrowser||(this._viewportSize=null),e}getViewportRect(){const e=this.getViewportScrollPosition(),{width:i,height:o}=this.getViewportSize();return{top:e.top,left:e.left,bottom:e.top+o,right:e.left+i,height:o,width:i}}getViewportScrollPosition(){if(!this._platform.isBrowser)return{top:0,left:0};const e=this._document,i=this._getWindow(),o=e.documentElement,s=o.getBoundingClientRect();return{top:-s.top||e.body.scrollTop||i.scrollY||o.scrollTop||0,left:-s.left||e.body.scrollLeft||i.scrollX||o.scrollLeft||0}}change(e=20){return e>0?this._change.pipe(G2(e)):this._change}_getWindow(){return this._document.defaultView||window}_updateViewportSize(){const e=this._getWindow();this._viewportSize=this._platform.isBrowser?{width:e.innerWidth,height:e.innerHeight}:{width:0,height:0}}}return t.\u0275fac=function(e){return new(e||t)(we(ui),we(ft),we(It,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Lh=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})(),X2=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Th,Lh,Th,Lh]}),t})();function Hn(t){return n=>n.lift(new M9(t))}class M9{constructor(n){this.notifier=n}call(n,e){const i=new w9(n),o=Ie(this.notifier,new be(i));return o&&!i.seenValue?(i.add(o),e.subscribe(i)):i}}class w9 extends Me{constructor(n){super(n),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}class x9{constructor(n,e){this.predicate=n,this.inclusive=e}call(n,e){return e.subscribe(new k9(n,this.predicate,this.inclusive))}}class k9 extends A{constructor(n,e,i){super(n),this.predicate=e,this.inclusive=i,this.index=0}_next(n){const e=this.destination;let i;try{i=this.predicate(n,this.index++)}catch(o){return void e.error(o)}this.nextOrComplete(n,i)}nextOrComplete(n,e){const i=this.destination;e?i.next(n):(this.inclusive&&i.next(n),i.complete())}}class R0{attach(n){return this._attachedHost=n,n.attach(this)}detach(){let n=this._attachedHost;null!=n&&(this._attachedHost=null,n.detach())}get isAttached(){return null!=this._attachedHost}setAttachedHost(n){this._attachedHost=n}}class Sd extends R0{constructor(n,e,i,o,s){super(),this.component=n,this.viewContainerRef=e,this.injector=i,this.componentFactoryResolver=o,this.projectableNodes=s}}class Gl extends R0{constructor(n,e,i,o){super(),this.templateRef=n,this.viewContainerRef=e,this.context=i,this.injector=o}get origin(){return this.templateRef.elementRef}attach(n,e=this.context){return this.context=e,super.attach(n)}detach(){return this.context=void 0,super.detach()}}class S9 extends R0{constructor(n){super(),this.element=n instanceof vt?n.nativeElement:n}}class Zm{constructor(){this._isDisposed=!1,this.attachDomPortal=null}hasAttached(){return!!this._attachedPortal}attach(n){return n instanceof Sd?(this._attachedPortal=n,this.attachComponentPortal(n)):n instanceof Gl?(this._attachedPortal=n,this.attachTemplatePortal(n)):this.attachDomPortal&&n instanceof S9?(this._attachedPortal=n,this.attachDomPortal(n)):void 0}detach(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()}dispose(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0}setDisposeFn(n){this._disposeFn=n}_invokeDisposeFn(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)}}class D9 extends Zm{constructor(n,e,i,o,s){super(),this.outletElement=n,this._componentFactoryResolver=e,this._appRef=i,this._defaultInjector=o,this.attachDomPortal=a=>{const l=a.element,d=this._document.createComment("dom-portal");l.parentNode.insertBefore(d,l),this.outletElement.appendChild(l),this._attachedPortal=a,super.setDisposeFn(()=>{d.parentNode&&d.parentNode.replaceChild(l,d)})},this._document=s}attachComponentPortal(n){const i=(n.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(n.component);let o;return n.viewContainerRef?(o=n.viewContainerRef.createComponent(i,n.viewContainerRef.length,n.injector||n.viewContainerRef.injector,n.projectableNodes||void 0),this.setDisposeFn(()=>o.destroy())):(o=i.create(n.injector||this._defaultInjector||Si.NULL),this._appRef.attachView(o.hostView),this.setDisposeFn(()=>{this._appRef.viewCount>0&&this._appRef.detachView(o.hostView),o.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(o)),this._attachedPortal=n,o}attachTemplatePortal(n){let e=n.viewContainerRef,i=e.createEmbeddedView(n.templateRef,n.context,{injector:n.injector});return i.rootNodes.forEach(o=>this.outletElement.appendChild(o)),i.detectChanges(),this.setDisposeFn(()=>{let o=e.indexOf(i);-1!==o&&e.remove(o)}),this._attachedPortal=n,i}dispose(){super.dispose(),this.outletElement.remove()}_getComponentRootNode(n){return n.hostView.rootNodes[0]}}let T9=(()=>{class t extends Gl{constructor(e,i){super(e,i)}}return t.\u0275fac=function(e){return new(e||t)(Y(mr),Y(rr))},t.\u0275dir=Ke({type:t,selectors:[["","cdkPortal",""]],exportAs:["cdkPortal"],features:[nt]}),t})(),Ja=(()=>{class t extends Zm{constructor(e,i,o){super(),this._componentFactoryResolver=e,this._viewContainerRef=i,this._isInitialized=!1,this.attached=new ht,this.attachDomPortal=s=>{const a=s.element,l=this._document.createComment("dom-portal");s.setAttachedHost(this),a.parentNode.insertBefore(l,a),this._getRootNode().appendChild(a),this._attachedPortal=s,super.setDisposeFn(()=>{l.parentNode&&l.parentNode.replaceChild(a,l)})},this._document=o}get portal(){return this._attachedPortal}set portal(e){this.hasAttached()&&!e&&!this._isInitialized||(this.hasAttached()&&super.detach(),e&&super.attach(e),this._attachedPortal=e||null)}get attachedRef(){return this._attachedRef}ngOnInit(){this._isInitialized=!0}ngOnDestroy(){super.dispose(),this._attachedRef=this._attachedPortal=null}attachComponentPortal(e){e.setAttachedHost(this);const i=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,s=(e.componentFactoryResolver||this._componentFactoryResolver).resolveComponentFactory(e.component),a=i.createComponent(s,i.length,e.injector||i.injector,e.projectableNodes||void 0);return i!==this._viewContainerRef&&this._getRootNode().appendChild(a.hostView.rootNodes[0]),super.setDisposeFn(()=>a.destroy()),this._attachedPortal=e,this._attachedRef=a,this.attached.emit(a),a}attachTemplatePortal(e){e.setAttachedHost(this);const i=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context,{injector:e.injector});return super.setDisposeFn(()=>this._viewContainerRef.clear()),this._attachedPortal=e,this._attachedRef=i,this.attached.emit(i),i}_getRootNode(){const e=this._viewContainerRef.element.nativeElement;return e.nodeType===e.ELEMENT_NODE?e:e.parentNode}}return t.\u0275fac=function(e){return new(e||t)(Y(Tl),Y(rr),Y(It))},t.\u0275dir=Ke({type:t,selectors:[["","cdkPortalOutlet",""]],inputs:{portal:["cdkPortalOutlet","portal"]},outputs:{attached:"attached"},exportAs:["cdkPortalOutlet"],features:[nt]}),t})(),Dd=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})();function Fs(t,...n){return n.length?n.some(e=>t[e]):t.altKey||t.shiftKey||t.ctrlKey||t.metaKey}const Q2=h9();class j9{constructor(n,e){this._viewportRuler=n,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}attach(){}enable(){if(this._canBeEnabled()){const n=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=n.style.left||"",this._previousHTMLStyles.top=n.style.top||"",n.style.left=Qi(-this._previousScrollPosition.left),n.style.top=Qi(-this._previousScrollPosition.top),n.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}}disable(){if(this._isEnabled){const n=this._document.documentElement,i=n.style,o=this._document.body.style,s=i.scrollBehavior||"",a=o.scrollBehavior||"";this._isEnabled=!1,i.left=this._previousHTMLStyles.left,i.top=this._previousHTMLStyles.top,n.classList.remove("cdk-global-scrollblock"),Q2&&(i.scrollBehavior=o.scrollBehavior="auto"),window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),Q2&&(i.scrollBehavior=s,o.scrollBehavior=a)}}_canBeEnabled(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;const e=this._document.body,i=this._viewportRuler.getViewportSize();return e.scrollHeight>i.height||e.scrollWidth>i.width}}class z9{constructor(n,e,i,o){this._scrollDispatcher=n,this._ngZone=e,this._viewportRuler=i,this._config=o,this._scrollSubscription=null,this._detach=()=>{this.disable(),this._overlayRef.hasAttached()&&this._ngZone.run(()=>this._overlayRef.detach())}}attach(n){this._overlayRef=n}enable(){if(this._scrollSubscription)return;const n=this._scrollDispatcher.scrolled(0).pipe(_i(e=>!e||!this._overlayRef.overlayElement.contains(e.getElementRef().nativeElement)));this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=n.subscribe(()=>{const e=this._viewportRuler.getViewportScrollPosition().top;Math.abs(e-this._initialScrollPosition)>this._config.threshold?this._detach():this._overlayRef.updatePosition()})):this._scrollSubscription=n.subscribe(this._detach)}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}class eL{enable(){}disable(){}attach(){}}function N0(t,n){return n.some(e=>t.bottome.bottom||t.righte.right)}function tL(t,n){return n.some(e=>t.tope.bottom||t.lefte.right)}class U9{constructor(n,e,i,o){this._scrollDispatcher=n,this._viewportRuler=e,this._ngZone=i,this._config=o,this._scrollSubscription=null}attach(n){this._overlayRef=n}enable(){this._scrollSubscription||(this._scrollSubscription=this._scrollDispatcher.scrolled(this._config?this._config.scrollThrottle:0).subscribe(()=>{if(this._overlayRef.updatePosition(),this._config&&this._config.autoClose){const e=this._overlayRef.overlayElement.getBoundingClientRect(),{width:i,height:o}=this._viewportRuler.getViewportSize();N0(e,[{width:i,height:o,bottom:o,right:i,top:0,left:0}])&&(this.disable(),this._ngZone.run(()=>this._overlayRef.detach()))}}))}disable(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)}detach(){this.disable(),this._overlayRef=null}}let W9=(()=>{class t{constructor(e,i,o,s){this._scrollDispatcher=e,this._viewportRuler=i,this._ngZone=o,this.noop=()=>new eL,this.close=a=>new z9(this._scrollDispatcher,this._ngZone,this._viewportRuler,a),this.block=()=>new j9(this._viewportRuler,this._document),this.reposition=a=>new U9(this._scrollDispatcher,this._viewportRuler,this._ngZone,a),this._document=s}}return t.\u0275fac=function(e){return new(e||t)(we(Z2),we(kd),we(ft),we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class Oh{constructor(n){if(this.scrollStrategy=new eL,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.disposeOnNavigation=!1,n){const e=Object.keys(n);for(const i of e)void 0!==n[i]&&(this[i]=n[i])}}}class $9{constructor(n,e){this.connectionPair=n,this.scrollableViewProperties=e}}let nL=(()=>{class t{constructor(e){this._attachedOverlays=[],this._document=e}ngOnDestroy(){this.detach()}add(e){this.remove(e),this._attachedOverlays.push(e)}remove(e){const i=this._attachedOverlays.indexOf(e);i>-1&&this._attachedOverlays.splice(i,1),0===this._attachedOverlays.length&&this.detach()}}return t.\u0275fac=function(e){return new(e||t)(we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),G9=(()=>{class t extends nL{constructor(e,i){super(e),this._ngZone=i,this._keydownListener=o=>{const s=this._attachedOverlays;for(let a=s.length-1;a>-1;a--)if(s[a]._keydownEvents.observers.length>0){const l=s[a]._keydownEvents;this._ngZone?this._ngZone.run(()=>l.next(o)):l.next(o);break}}}add(e){super.add(e),this._isAttached||(this._ngZone?this._ngZone.runOutsideAngular(()=>this._document.body.addEventListener("keydown",this._keydownListener)):this._document.body.addEventListener("keydown",this._keydownListener),this._isAttached=!0)}detach(){this._isAttached&&(this._document.body.removeEventListener("keydown",this._keydownListener),this._isAttached=!1)}}return t.\u0275fac=function(e){return new(e||t)(we(It),we(ft,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),q9=(()=>{class t extends nL{constructor(e,i,o){super(e),this._platform=i,this._ngZone=o,this._cursorStyleIsSet=!1,this._pointerDownListener=s=>{this._pointerDownEventTarget=Xa(s)},this._clickListener=s=>{const a=Xa(s),l="click"===s.type&&this._pointerDownEventTarget?this._pointerDownEventTarget:a;this._pointerDownEventTarget=null;const d=this._attachedOverlays.slice();for(let _=d.length-1;_>-1;_--){const E=d[_];if(E._outsidePointerEvents.observers.length<1||!E.hasAttached())continue;if(E.overlayElement.contains(a)||E.overlayElement.contains(l))break;const F=E._outsidePointerEvents;this._ngZone?this._ngZone.run(()=>F.next(s)):F.next(s)}}}add(e){if(super.add(e),!this._isAttached){const i=this._document.body;this._ngZone?this._ngZone.runOutsideAngular(()=>this._addEventListeners(i)):this._addEventListeners(i),this._platform.IOS&&!this._cursorStyleIsSet&&(this._cursorOriginalValue=i.style.cursor,i.style.cursor="pointer",this._cursorStyleIsSet=!0),this._isAttached=!0}}detach(){if(this._isAttached){const e=this._document.body;e.removeEventListener("pointerdown",this._pointerDownListener,!0),e.removeEventListener("click",this._clickListener,!0),e.removeEventListener("auxclick",this._clickListener,!0),e.removeEventListener("contextmenu",this._clickListener,!0),this._platform.IOS&&this._cursorStyleIsSet&&(e.style.cursor=this._cursorOriginalValue,this._cursorStyleIsSet=!1),this._isAttached=!1}}_addEventListeners(e){e.addEventListener("pointerdown",this._pointerDownListener,!0),e.addEventListener("click",this._clickListener,!0),e.addEventListener("auxclick",this._clickListener,!0),e.addEventListener("contextmenu",this._clickListener,!0)}}return t.\u0275fac=function(e){return new(e||t)(we(It),we(ui),we(ft,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),tg=(()=>{class t{constructor(e,i){this._platform=i,this._document=e}ngOnDestroy(){this._containerElement?.remove()}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){const e="cdk-overlay-container";if(this._platform.isBrowser||F0()){const o=this._document.querySelectorAll(`.${e}[platform="server"], .${e}[platform="test"]`);for(let s=0;sthis._backdropClick.next(F),this._backdropTransitionendHandler=F=>{this._disposeBackdrop(F.target)},this._keydownEvents=new J,this._outsidePointerEvents=new J,o.scrollStrategy&&(this._scrollStrategy=o.scrollStrategy,this._scrollStrategy.attach(this)),this._positionStrategy=o.positionStrategy}get overlayElement(){return this._pane}get backdropElement(){return this._backdropElement}get hostElement(){return this._host}attach(n){!this._host.parentElement&&this._previousHostParent&&this._previousHostParent.appendChild(this._host);const e=this._portalOutlet.attach(n);return this._positionStrategy&&this._positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._scrollStrategy&&this._scrollStrategy.enable(),this._ngZone.onStable.pipe(Kn(1)).subscribe(()=>{this.hasAttached()&&this.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!0),this._attachments.next(),this._keyboardDispatcher.add(this),this._config.disposeOnNavigation&&(this._locationChanges=this._location.subscribe(()=>this.dispose())),this._outsideClickDispatcher.add(this),"function"==typeof e?.onDestroy&&e.onDestroy(()=>{this.hasAttached()&&this._ngZone.runOutsideAngular(()=>Promise.resolve().then(()=>this.detach()))}),e}detach(){if(!this.hasAttached())return;this.detachBackdrop(),this._togglePointerEvents(!1),this._positionStrategy&&this._positionStrategy.detach&&this._positionStrategy.detach(),this._scrollStrategy&&this._scrollStrategy.disable();const n=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),this._detachContentWhenStable(),this._locationChanges.unsubscribe(),this._outsideClickDispatcher.remove(this),n}dispose(){const n=this.hasAttached();this._positionStrategy&&this._positionStrategy.dispose(),this._disposeScrollStrategy(),this._disposeBackdrop(this._backdropElement),this._locationChanges.unsubscribe(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),this._outsidePointerEvents.complete(),this._outsideClickDispatcher.remove(this),this._host?.remove(),this._previousHostParent=this._pane=this._host=null,n&&this._detachments.next(),this._detachments.complete()}hasAttached(){return this._portalOutlet.hasAttached()}backdropClick(){return this._backdropClick}attachments(){return this._attachments}detachments(){return this._detachments}keydownEvents(){return this._keydownEvents}outsidePointerEvents(){return this._outsidePointerEvents}getConfig(){return this._config}updatePosition(){this._positionStrategy&&this._positionStrategy.apply()}updatePositionStrategy(n){n!==this._positionStrategy&&(this._positionStrategy&&this._positionStrategy.dispose(),this._positionStrategy=n,this.hasAttached()&&(n.attach(this),this.updatePosition()))}updateSize(n){this._config={...this._config,...n},this._updateElementSize()}setDirection(n){this._config={...this._config,direction:n},this._updateElementDirection()}addPanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!0)}removePanelClass(n){this._pane&&this._toggleClasses(this._pane,n,!1)}getDirection(){const n=this._config.direction;return n?"string"==typeof n?n:n.value:"ltr"}updateScrollStrategy(n){n!==this._scrollStrategy&&(this._disposeScrollStrategy(),this._scrollStrategy=n,this.hasAttached()&&(n.attach(this),n.enable()))}_updateElementDirection(){this._host.setAttribute("dir",this.getDirection())}_updateElementSize(){if(!this._pane)return;const n=this._pane.style;n.width=Qi(this._config.width),n.height=Qi(this._config.height),n.minWidth=Qi(this._config.minWidth),n.minHeight=Qi(this._config.minHeight),n.maxWidth=Qi(this._config.maxWidth),n.maxHeight=Qi(this._config.maxHeight)}_togglePointerEvents(n){this._pane.style.pointerEvents=n?"":"none"}_attachBackdrop(){const n="cdk-overlay-backdrop-showing";this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._animationsDisabled&&this._backdropElement.classList.add("cdk-overlay-backdrop-noop-animation"),this._config.backdropClass&&this._toggleClasses(this._backdropElement,this._config.backdropClass,!0),this._host.parentElement.insertBefore(this._backdropElement,this._host),this._backdropElement.addEventListener("click",this._backdropClickHandler),!this._animationsDisabled&&typeof requestAnimationFrame<"u"?this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>{this._backdropElement&&this._backdropElement.classList.add(n)})}):this._backdropElement.classList.add(n)}_updateStackingOrder(){this._host.nextSibling&&this._host.parentNode.appendChild(this._host)}detachBackdrop(){const n=this._backdropElement;if(n){if(this._animationsDisabled)return void this._disposeBackdrop(n);n.classList.remove("cdk-overlay-backdrop-showing"),this._ngZone.runOutsideAngular(()=>{n.addEventListener("transitionend",this._backdropTransitionendHandler)}),n.style.pointerEvents="none",this._backdropTimeout=this._ngZone.runOutsideAngular(()=>setTimeout(()=>{this._disposeBackdrop(n)},500))}}_toggleClasses(n,e,i){const o=Gm(e||[]).filter(s=>!!s);o.length&&(i?n.classList.add(...o):n.classList.remove(...o))}_detachContentWhenStable(){this._ngZone.runOutsideAngular(()=>{const n=this._ngZone.onStable.pipe(Hn(bt(this._attachments,this._detachments))).subscribe(()=>{(!this._pane||!this._host||0===this._pane.children.length)&&(this._pane&&this._config.panelClass&&this._toggleClasses(this._pane,this._config.panelClass,!1),this._host&&this._host.parentElement&&(this._previousHostParent=this._host.parentElement,this._host.remove()),n.unsubscribe())})})}_disposeScrollStrategy(){const n=this._scrollStrategy;n&&(n.disable(),n.detach&&n.detach())}_disposeBackdrop(n){n&&(n.removeEventListener("click",this._backdropClickHandler),n.removeEventListener("transitionend",this._backdropTransitionendHandler),n.remove(),this._backdropElement===n&&(this._backdropElement=null)),this._backdropTimeout&&(clearTimeout(this._backdropTimeout),this._backdropTimeout=void 0)}}const iL="cdk-overlay-connected-position-bounding-box",K9=/([A-Za-z%]+)$/;class Z9{get positions(){return this._preferredPositions}constructor(n,e,i,o,s){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=s,this._lastBoundingBoxSize={width:0,height:0},this._isPushed=!1,this._canPush=!0,this._growAfterOpen=!1,this._hasFlexibleDimensions=!0,this._positionLocked=!1,this._viewportMargin=0,this._scrollables=[],this._preferredPositions=[],this._positionChanges=new J,this._resizeSubscription=T.EMPTY,this._offsetX=0,this._offsetY=0,this._appliedPanelClasses=[],this.positionChanges=this._positionChanges,this.setOrigin(n)}attach(n){this._validatePositions(),n.hostElement.classList.add(iL),this._overlayRef=n,this._boundingBox=n.hostElement,this._pane=n.overlayElement,this._isDisposed=!1,this._isInitialRender=!0,this._lastPosition=null,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(()=>{this._isInitialRender=!0,this.apply()})}apply(){if(this._isDisposed||!this._platform.isBrowser)return;if(!this._isInitialRender&&this._positionLocked&&this._lastPosition)return void this.reapplyLastPosition();this._clearPanelClasses(),this._resetOverlayElementStyles(),this._resetBoundingBoxStyles(),this._viewportRect=this._getNarrowedViewportRect(),this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const n=this._originRect,e=this._overlayRect,i=this._viewportRect,o=this._containerRect,s=[];let a;for(let l of this._preferredPositions){let d=this._getOriginPoint(n,o,l),_=this._getOverlayPoint(d,e,l),E=this._getOverlayFit(_,e,i,l);if(E.isCompletelyWithinViewport)return this._isPushed=!1,void this._applyPosition(l,d);this._canFitWithFlexibleDimensions(E,_,i)?s.push({position:l,origin:d,overlayRect:e,boundingBoxRect:this._calculateBoundingBoxRect(d,l)}):(!a||a.overlayFit.visibleAread&&(d=E,l=_)}return this._isPushed=!1,void this._applyPosition(l.position,l.origin)}if(this._canPush)return this._isPushed=!0,void this._applyPosition(a.position,a.originPoint);this._applyPosition(a.position,a.originPoint)}detach(){this._clearPanelClasses(),this._lastPosition=null,this._previousPushAmount=null,this._resizeSubscription.unsubscribe()}dispose(){this._isDisposed||(this._boundingBox&&ql(this._boundingBox.style,{top:"",left:"",right:"",bottom:"",height:"",width:"",alignItems:"",justifyContent:""}),this._pane&&this._resetOverlayElementStyles(),this._overlayRef&&this._overlayRef.hostElement.classList.remove(iL),this.detach(),this._positionChanges.complete(),this._overlayRef=this._boundingBox=null,this._isDisposed=!0)}reapplyLastPosition(){if(this._isDisposed||!this._platform.isBrowser)return;const n=this._lastPosition;if(n){this._originRect=this._getOriginRect(),this._overlayRect=this._pane.getBoundingClientRect(),this._viewportRect=this._getNarrowedViewportRect(),this._containerRect=this._overlayContainer.getContainerElement().getBoundingClientRect();const e=this._getOriginPoint(this._originRect,this._containerRect,n);this._applyPosition(n,e)}else this.apply()}withScrollableContainers(n){return this._scrollables=n,this}withPositions(n){return this._preferredPositions=n,-1===n.indexOf(this._lastPosition)&&(this._lastPosition=null),this._validatePositions(),this}withViewportMargin(n){return this._viewportMargin=n,this}withFlexibleDimensions(n=!0){return this._hasFlexibleDimensions=n,this}withGrowAfterOpen(n=!0){return this._growAfterOpen=n,this}withPush(n=!0){return this._canPush=n,this}withLockedPosition(n=!0){return this._positionLocked=n,this}setOrigin(n){return this._origin=n,this}withDefaultOffsetX(n){return this._offsetX=n,this}withDefaultOffsetY(n){return this._offsetY=n,this}withTransformOriginOn(n){return this._transformOriginSelector=n,this}_getOriginPoint(n,e,i){let o,s;if("center"==i.originX)o=n.left+n.width/2;else{const a=this._isRtl()?n.right:n.left,l=this._isRtl()?n.left:n.right;o="start"==i.originX?a:l}return e.left<0&&(o-=e.left),s="center"==i.originY?n.top+n.height/2:"top"==i.originY?n.top:n.bottom,e.top<0&&(s-=e.top),{x:o,y:s}}_getOverlayPoint(n,e,i){let o,s;return o="center"==i.overlayX?-e.width/2:"start"===i.overlayX?this._isRtl()?-e.width:0:this._isRtl()?0:-e.width,s="center"==i.overlayY?-e.height/2:"top"==i.overlayY?0:-e.height,{x:n.x+o,y:n.y+s}}_getOverlayFit(n,e,i,o){const s=oL(e);let{x:a,y:l}=n,d=this._getOffset(o,"x"),_=this._getOffset(o,"y");d&&(a+=d),_&&(l+=_);let G=0-l,ie=l+s.height-i.height,_e=this._subtractOverflows(s.width,0-a,a+s.width-i.width),Ce=this._subtractOverflows(s.height,G,ie),Ae=_e*Ce;return{visibleArea:Ae,isCompletelyWithinViewport:s.width*s.height===Ae,fitsInViewportVertically:Ce===s.height,fitsInViewportHorizontally:_e==s.width}}_canFitWithFlexibleDimensions(n,e,i){if(this._hasFlexibleDimensions){const o=i.bottom-e.y,s=i.right-e.x,a=rL(this._overlayRef.getConfig().minHeight),l=rL(this._overlayRef.getConfig().minWidth);return(n.fitsInViewportVertically||null!=a&&a<=o)&&(n.fitsInViewportHorizontally||null!=l&&l<=s)}return!1}_pushOverlayOnScreen(n,e,i){if(this._previousPushAmount&&this._positionLocked)return{x:n.x+this._previousPushAmount.x,y:n.y+this._previousPushAmount.y};const o=oL(e),s=this._viewportRect,a=Math.max(n.x+o.width-s.width,0),l=Math.max(n.y+o.height-s.height,0),d=Math.max(s.top-i.top-n.y,0),_=Math.max(s.left-i.left-n.x,0);let E=0,F=0;return E=o.width<=s.width?_||-a:n.x_e&&!this._isInitialRender&&!this._growAfterOpen&&(a=n.y-_e/2)}if("end"===e.overlayX&&!o||"start"===e.overlayX&&o)G=i.width-n.x+this._viewportMargin,E=n.x-this._viewportMargin;else if("start"===e.overlayX&&!o||"end"===e.overlayX&&o)F=n.x,E=i.right-n.x;else{const ie=Math.min(i.right-n.x+i.left,n.x),_e=this._lastBoundingBoxSize.width;E=2*ie,F=n.x-ie,E>_e&&!this._isInitialRender&&!this._growAfterOpen&&(F=n.x-_e/2)}return{top:a,left:F,bottom:l,right:G,width:E,height:s}}_setBoundingBoxStyles(n,e){const i=this._calculateBoundingBoxRect(n,e);!this._isInitialRender&&!this._growAfterOpen&&(i.height=Math.min(i.height,this._lastBoundingBoxSize.height),i.width=Math.min(i.width,this._lastBoundingBoxSize.width));const o={};if(this._hasExactPosition())o.top=o.left="0",o.bottom=o.right=o.maxHeight=o.maxWidth="",o.width=o.height="100%";else{const s=this._overlayRef.getConfig().maxHeight,a=this._overlayRef.getConfig().maxWidth;o.height=Qi(i.height),o.top=Qi(i.top),o.bottom=Qi(i.bottom),o.width=Qi(i.width),o.left=Qi(i.left),o.right=Qi(i.right),o.alignItems="center"===e.overlayX?"center":"end"===e.overlayX?"flex-end":"flex-start",o.justifyContent="center"===e.overlayY?"center":"bottom"===e.overlayY?"flex-end":"flex-start",s&&(o.maxHeight=Qi(s)),a&&(o.maxWidth=Qi(a))}this._lastBoundingBoxSize=i,ql(this._boundingBox.style,o)}_resetBoundingBoxStyles(){ql(this._boundingBox.style,{top:"0",left:"0",right:"0",bottom:"0",height:"",width:"",alignItems:"",justifyContent:""})}_resetOverlayElementStyles(){ql(this._pane.style,{top:"",left:"",bottom:"",right:"",position:"",transform:""})}_setOverlayElementStyles(n,e){const i={},o=this._hasExactPosition(),s=this._hasFlexibleDimensions,a=this._overlayRef.getConfig();if(o){const E=this._viewportRuler.getViewportScrollPosition();ql(i,this._getExactOverlayY(e,n,E)),ql(i,this._getExactOverlayX(e,n,E))}else i.position="static";let l="",d=this._getOffset(e,"x"),_=this._getOffset(e,"y");d&&(l+=`translateX(${d}px) `),_&&(l+=`translateY(${_}px)`),i.transform=l.trim(),a.maxHeight&&(o?i.maxHeight=Qi(a.maxHeight):s&&(i.maxHeight="")),a.maxWidth&&(o?i.maxWidth=Qi(a.maxWidth):s&&(i.maxWidth="")),ql(this._pane.style,i)}_getExactOverlayY(n,e,i){let o={top:"",bottom:""},s=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),"bottom"===n.overlayY?o.bottom=this._document.documentElement.clientHeight-(s.y+this._overlayRect.height)+"px":o.top=Qi(s.y),o}_getExactOverlayX(n,e,i){let a,o={left:"",right:""},s=this._getOverlayPoint(e,this._overlayRect,n);return this._isPushed&&(s=this._pushOverlayOnScreen(s,this._overlayRect,i)),a=this._isRtl()?"end"===n.overlayX?"left":"right":"end"===n.overlayX?"right":"left","right"===a?o.right=this._document.documentElement.clientWidth-(s.x+this._overlayRect.width)+"px":o.left=Qi(s.x),o}_getScrollVisibility(){const n=this._getOriginRect(),e=this._pane.getBoundingClientRect(),i=this._scrollables.map(o=>o.getElementRef().nativeElement.getBoundingClientRect());return{isOriginClipped:tL(n,i),isOriginOutsideView:N0(n,i),isOverlayClipped:tL(e,i),isOverlayOutsideView:N0(e,i)}}_subtractOverflows(n,...e){return e.reduce((i,o)=>i-Math.max(o,0),n)}_getNarrowedViewportRect(){const n=this._document.documentElement.clientWidth,e=this._document.documentElement.clientHeight,i=this._viewportRuler.getViewportScrollPosition();return{top:i.top+this._viewportMargin,left:i.left+this._viewportMargin,right:i.left+n-this._viewportMargin,bottom:i.top+e-this._viewportMargin,width:n-2*this._viewportMargin,height:e-2*this._viewportMargin}}_isRtl(){return"rtl"===this._overlayRef.getDirection()}_hasExactPosition(){return!this._hasFlexibleDimensions||this._isPushed}_getOffset(n,e){return"x"===e?null==n.offsetX?this._offsetX:n.offsetX:null==n.offsetY?this._offsetY:n.offsetY}_validatePositions(){}_addPanelClasses(n){this._pane&&Gm(n).forEach(e=>{""!==e&&-1===this._appliedPanelClasses.indexOf(e)&&(this._appliedPanelClasses.push(e),this._pane.classList.add(e))})}_clearPanelClasses(){this._pane&&(this._appliedPanelClasses.forEach(n=>{this._pane.classList.remove(n)}),this._appliedPanelClasses=[])}_getOriginRect(){const n=this._origin;if(n instanceof vt)return n.nativeElement.getBoundingClientRect();if(n instanceof Element)return n.getBoundingClientRect();const e=n.width||0,i=n.height||0;return{top:n.y,bottom:n.y+i,left:n.x,right:n.x+e,height:i,width:e}}}function ql(t,n){for(let e in n)n.hasOwnProperty(e)&&(t[e]=n[e]);return t}function rL(t){if("number"!=typeof t&&null!=t){const[n,e]=t.split(K9);return e&&"px"!==e?null:parseFloat(n)}return t||null}function oL(t){return{top:Math.floor(t.top),right:Math.floor(t.right),bottom:Math.floor(t.bottom),left:Math.floor(t.left),width:Math.floor(t.width),height:Math.floor(t.height)}}const sL="cdk-global-overlay-wrapper";class X9{constructor(){this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._alignItems="",this._xPosition="",this._xOffset="",this._width="",this._height="",this._isDisposed=!1}attach(n){const e=n.getConfig();this._overlayRef=n,this._width&&!e.width&&n.updateSize({width:this._width}),this._height&&!e.height&&n.updateSize({height:this._height}),n.hostElement.classList.add(sL),this._isDisposed=!1}top(n=""){return this._bottomOffset="",this._topOffset=n,this._alignItems="flex-start",this}left(n=""){return this._xOffset=n,this._xPosition="left",this}bottom(n=""){return this._topOffset="",this._bottomOffset=n,this._alignItems="flex-end",this}right(n=""){return this._xOffset=n,this._xPosition="right",this}start(n=""){return this._xOffset=n,this._xPosition="start",this}end(n=""){return this._xOffset=n,this._xPosition="end",this}width(n=""){return this._overlayRef?this._overlayRef.updateSize({width:n}):this._width=n,this}height(n=""){return this._overlayRef?this._overlayRef.updateSize({height:n}):this._height=n,this}centerHorizontally(n=""){return this.left(n),this._xPosition="center",this}centerVertically(n=""){return this.top(n),this._alignItems="center",this}apply(){if(!this._overlayRef||!this._overlayRef.hasAttached())return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement.style,i=this._overlayRef.getConfig(),{width:o,height:s,maxWidth:a,maxHeight:l}=i,d=!("100%"!==o&&"100vw"!==o||a&&"100%"!==a&&"100vw"!==a),_=!("100%"!==s&&"100vh"!==s||l&&"100%"!==l&&"100vh"!==l),E=this._xPosition,F=this._xOffset,G="rtl"===this._overlayRef.getConfig().direction;let ie="",_e="",Ce="";d?Ce="flex-start":"center"===E?(Ce="center",G?_e=F:ie=F):G?"left"===E||"end"===E?(Ce="flex-end",ie=F):("right"===E||"start"===E)&&(Ce="flex-start",_e=F):"left"===E||"start"===E?(Ce="flex-start",ie=F):("right"===E||"end"===E)&&(Ce="flex-end",_e=F),n.position=this._cssPosition,n.marginLeft=d?"0":ie,n.marginTop=_?"0":this._topOffset,n.marginBottom=this._bottomOffset,n.marginRight=d?"0":_e,e.justifyContent=Ce,e.alignItems=_?"flex-start":this._alignItems}dispose(){if(this._isDisposed||!this._overlayRef)return;const n=this._overlayRef.overlayElement.style,e=this._overlayRef.hostElement,i=e.style;e.classList.remove(sL),i.justifyContent=i.alignItems=n.marginTop=n.marginBottom=n.marginLeft=n.marginRight=n.position="",this._overlayRef=null,this._isDisposed=!0}}let J9=(()=>{class t{constructor(e,i,o,s){this._viewportRuler=e,this._document=i,this._platform=o,this._overlayContainer=s}global(){return new X9}flexibleConnectedTo(e){return new Z9(e,this._viewportRuler,this._document,this._platform,this._overlayContainer)}}return t.\u0275fac=function(e){return new(e||t)(we(kd),we(It),we(ui),we(tg))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),Q9=0,io=(()=>{class t{constructor(e,i,o,s,a,l,d,_,E,F,G,ie){this.scrollStrategies=e,this._overlayContainer=i,this._componentFactoryResolver=o,this._positionBuilder=s,this._keyboardDispatcher=a,this._injector=l,this._ngZone=d,this._document=_,this._directionality=E,this._location=F,this._outsideClickDispatcher=G,this._animationsModuleType=ie}create(e){const i=this._createHostElement(),o=this._createPaneElement(i),s=this._createPortalOutlet(o),a=new Oh(e);return a.direction=a.direction||this._directionality.value,new Ah(s,i,o,a,this._ngZone,this._keyboardDispatcher,this._document,this._location,this._outsideClickDispatcher,"NoopAnimations"===this._animationsModuleType)}position(){return this._positionBuilder}_createPaneElement(e){const i=this._document.createElement("div");return i.id="cdk-overlay-"+Q9++,i.classList.add("cdk-overlay-pane"),e.appendChild(i),i}_createHostElement(){const e=this._document.createElement("div");return this._overlayContainer.getContainerElement().appendChild(e),e}_createPortalOutlet(e){return this._appRef||(this._appRef=this._injector.get(Na)),new D9(e,this._componentFactoryResolver,this._appRef,this._injector,this._document)}}return t.\u0275fac=function(e){return new(e||t)(we(W9),we(tg),we(Tl),we(J9),we(G9),we(Si),we(ft),we(It),we(Do),we(Xu),we(q9),we(Ri,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const ez=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom"},{originX:"end",originY:"top",overlayX:"end",overlayY:"bottom"},{originX:"end",originY:"bottom",overlayX:"end",overlayY:"top"}],aL=new Re("cdk-connected-overlay-scroll-strategy");let Y0=(()=>{class t{constructor(e){this.elementRef=e}}return t.\u0275fac=function(e){return new(e||t)(Y(vt))},t.\u0275dir=Ke({type:t,selectors:[["","cdk-overlay-origin",""],["","overlay-origin",""],["","cdkOverlayOrigin",""]],exportAs:["cdkOverlayOrigin"],standalone:!0}),t})(),lL=(()=>{class t{get offsetX(){return this._offsetX}set offsetX(e){this._offsetX=e,this._position&&this._updatePositionStrategy(this._position)}get offsetY(){return this._offsetY}set offsetY(e){this._offsetY=e,this._position&&this._updatePositionStrategy(this._position)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(e){this._hasBackdrop=_n(e)}get lockPosition(){return this._lockPosition}set lockPosition(e){this._lockPosition=_n(e)}get flexibleDimensions(){return this._flexibleDimensions}set flexibleDimensions(e){this._flexibleDimensions=_n(e)}get growAfterOpen(){return this._growAfterOpen}set growAfterOpen(e){this._growAfterOpen=_n(e)}get push(){return this._push}set push(e){this._push=_n(e)}constructor(e,i,o,s,a){this._overlay=e,this._dir=a,this._hasBackdrop=!1,this._lockPosition=!1,this._growAfterOpen=!1,this._flexibleDimensions=!1,this._push=!1,this._backdropSubscription=T.EMPTY,this._attachSubscription=T.EMPTY,this._detachSubscription=T.EMPTY,this._positionSubscription=T.EMPTY,this.viewportMargin=0,this.open=!1,this.disableClose=!1,this.backdropClick=new ht,this.positionChange=new ht,this.attach=new ht,this.detach=new ht,this.overlayKeydown=new ht,this.overlayOutsideClick=new ht,this._templatePortal=new Gl(i,o),this._scrollStrategyFactory=s,this.scrollStrategy=this._scrollStrategyFactory()}get overlayRef(){return this._overlayRef}get dir(){return this._dir?this._dir.value:"ltr"}ngOnDestroy(){this._attachSubscription.unsubscribe(),this._detachSubscription.unsubscribe(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this._overlayRef&&this._overlayRef.dispose()}ngOnChanges(e){this._position&&(this._updatePositionStrategy(this._position),this._overlayRef.updateSize({width:this.width,minWidth:this.minWidth,height:this.height,minHeight:this.minHeight}),e.origin&&this.open&&this._position.apply()),e.open&&(this.open?this._attachOverlay():this._detachOverlay())}_createOverlay(){(!this.positions||!this.positions.length)&&(this.positions=ez);const e=this._overlayRef=this._overlay.create(this._buildConfig());this._attachSubscription=e.attachments().subscribe(()=>this.attach.emit()),this._detachSubscription=e.detachments().subscribe(()=>this.detach.emit()),e.keydownEvents().subscribe(i=>{this.overlayKeydown.next(i),27===i.keyCode&&!this.disableClose&&!Fs(i)&&(i.preventDefault(),this._detachOverlay())}),this._overlayRef.outsidePointerEvents().subscribe(i=>{this.overlayOutsideClick.next(i)})}_buildConfig(){const e=this._position=this.positionStrategy||this._createPositionStrategy(),i=new Oh({direction:this._dir,positionStrategy:e,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(i.width=this.width),(this.height||0===this.height)&&(i.height=this.height),(this.minWidth||0===this.minWidth)&&(i.minWidth=this.minWidth),(this.minHeight||0===this.minHeight)&&(i.minHeight=this.minHeight),this.backdropClass&&(i.backdropClass=this.backdropClass),this.panelClass&&(i.panelClass=this.panelClass),i}_updatePositionStrategy(e){const i=this.positions.map(o=>({originX:o.originX,originY:o.originY,overlayX:o.overlayX,overlayY:o.overlayY,offsetX:o.offsetX||this.offsetX,offsetY:o.offsetY||this.offsetY,panelClass:o.panelClass||void 0}));return e.setOrigin(this._getFlexibleConnectedPositionStrategyOrigin()).withPositions(i).withFlexibleDimensions(this.flexibleDimensions).withPush(this.push).withGrowAfterOpen(this.growAfterOpen).withViewportMargin(this.viewportMargin).withLockedPosition(this.lockPosition).withTransformOriginOn(this.transformOriginSelector)}_createPositionStrategy(){const e=this._overlay.position().flexibleConnectedTo(this._getFlexibleConnectedPositionStrategyOrigin());return this._updatePositionStrategy(e),e}_getFlexibleConnectedPositionStrategyOrigin(){return this.origin instanceof Y0?this.origin.elementRef:this.origin}_attachOverlay(){this._overlayRef?this._overlayRef.getConfig().hasBackdrop=this.hasBackdrop:this._createOverlay(),this._overlayRef.hasAttached()||this._overlayRef.attach(this._templatePortal),this.hasBackdrop?this._backdropSubscription=this._overlayRef.backdropClick().subscribe(e=>{this.backdropClick.emit(e)}):this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe(),this.positionChange.observers.length>0&&(this._positionSubscription=this._position.positionChanges.pipe(function C9(t,n=!1){return e=>e.lift(new x9(t,n))}(()=>this.positionChange.observers.length>0)).subscribe(e=>{this.positionChange.emit(e),0===this.positionChange.observers.length&&this._positionSubscription.unsubscribe()}))}_detachOverlay(){this._overlayRef&&this._overlayRef.detach(),this._backdropSubscription.unsubscribe(),this._positionSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(io),Y(mr),Y(rr),Y(aL),Y(Do,8))},t.\u0275dir=Ke({type:t,selectors:[["","cdk-connected-overlay",""],["","connected-overlay",""],["","cdkConnectedOverlay",""]],inputs:{origin:["cdkConnectedOverlayOrigin","origin"],positions:["cdkConnectedOverlayPositions","positions"],positionStrategy:["cdkConnectedOverlayPositionStrategy","positionStrategy"],offsetX:["cdkConnectedOverlayOffsetX","offsetX"],offsetY:["cdkConnectedOverlayOffsetY","offsetY"],width:["cdkConnectedOverlayWidth","width"],height:["cdkConnectedOverlayHeight","height"],minWidth:["cdkConnectedOverlayMinWidth","minWidth"],minHeight:["cdkConnectedOverlayMinHeight","minHeight"],backdropClass:["cdkConnectedOverlayBackdropClass","backdropClass"],panelClass:["cdkConnectedOverlayPanelClass","panelClass"],viewportMargin:["cdkConnectedOverlayViewportMargin","viewportMargin"],scrollStrategy:["cdkConnectedOverlayScrollStrategy","scrollStrategy"],open:["cdkConnectedOverlayOpen","open"],disableClose:["cdkConnectedOverlayDisableClose","disableClose"],transformOriginSelector:["cdkConnectedOverlayTransformOriginOn","transformOriginSelector"],hasBackdrop:["cdkConnectedOverlayHasBackdrop","hasBackdrop"],lockPosition:["cdkConnectedOverlayLockPosition","lockPosition"],flexibleDimensions:["cdkConnectedOverlayFlexibleDimensions","flexibleDimensions"],growAfterOpen:["cdkConnectedOverlayGrowAfterOpen","growAfterOpen"],push:["cdkConnectedOverlayPush","push"]},outputs:{backdropClick:"backdropClick",positionChange:"positionChange",attach:"attach",detach:"detach",overlayKeydown:"overlayKeydown",overlayOutsideClick:"overlayOutsideClick"},exportAs:["cdkConnectedOverlay"],standalone:!0,features:[Gi]}),t})();const nz={provide:aL,deps:[io],useFactory:function tz(t){return()=>t.scrollStrategies.reposition()}};let Td=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[io,nz],imports:[Th,Dd,X2,X2]}),t})();function H0(t,n=Cd){return e=>e.lift(new iz(t,n))}class iz{constructor(n,e){this.dueTime=n,this.scheduler=e}call(n,e){return e.subscribe(new rz(n,this.dueTime,this.scheduler))}}class rz extends A{constructor(n,e,i){super(n),this.dueTime=e,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(n){this.clearDebounce(),this.lastValue=n,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(oz,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:n}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(n)}}clearDebounce(){const n=this.debouncedSubscription;null!==n&&(this.remove(n),n.unsubscribe(),this.debouncedSubscription=null)}}function oz(t){t.debouncedNext()}function B0(t){return n=>n.lift(new sz(t))}class sz{constructor(n){this.total=n}call(n,e){return e.subscribe(new az(n,this.total))}}class az extends A{constructor(n,e){super(n),this.total=e,this.count=0}_next(n){++this.count>this.total&&this.destination.next(n)}}function V0(t,n){return e=>e.lift(new lz(t,n))}class lz{constructor(n,e){this.compare=n,this.keySelector=e}call(n,e){return e.subscribe(new cz(n,this.compare,this.keySelector))}}class cz extends A{constructor(n,e,i){super(n),this.keySelector=i,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(n,e){return n===e}_next(n){let e;try{const{keySelector:o}=this;e=o?o(n):n}catch(o){return this.destination.error(o)}let i=!1;if(this.hasKey)try{const{compare:o}=this;i=o(this.key,e)}catch(o){return this.destination.error(o)}else this.hasKey=!0;i||(this.key=e,this.destination.next(n))}}let cL=(()=>{class t{create(e){return typeof MutationObserver>"u"?null:new MutationObserver(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),dz=(()=>{class t{constructor(e){this._mutationObserverFactory=e,this._observedElements=new Map}ngOnDestroy(){this._observedElements.forEach((e,i)=>this._cleanupObserver(i))}observe(e){const i=la(e);return new he(o=>{const a=this._observeElement(i).subscribe(o);return()=>{a.unsubscribe(),this._unobserveElement(i)}})}_observeElement(e){if(this._observedElements.has(e))this._observedElements.get(e).count++;else{const i=new J,o=this._mutationObserverFactory.create(s=>i.next(s));o&&o.observe(e,{characterData:!0,childList:!0,subtree:!0}),this._observedElements.set(e,{observer:o,stream:i,count:1})}return this._observedElements.get(e).stream}_unobserveElement(e){this._observedElements.has(e)&&(this._observedElements.get(e).count--,this._observedElements.get(e).count||this._cleanupObserver(e))}_cleanupObserver(e){if(this._observedElements.has(e)){const{observer:i,stream:o}=this._observedElements.get(e);i&&i.disconnect(),o.complete(),this._observedElements.delete(e)}}}return t.\u0275fac=function(e){return new(e||t)(we(cL))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),dL=(()=>{class t{get disabled(){return this._disabled}set disabled(e){this._disabled=_n(e),this._disabled?this._unsubscribe():this._subscribe()}get debounce(){return this._debounce}set debounce(e){this._debounce=So(e),this._subscribe()}constructor(e,i,o){this._contentObserver=e,this._elementRef=i,this._ngZone=o,this.event=new ht,this._disabled=!1,this._currentSubscription=null}ngAfterContentInit(){!this._currentSubscription&&!this.disabled&&this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe();const e=this._contentObserver.observe(this._elementRef);this._ngZone.runOutsideAngular(()=>{this._currentSubscription=(this.debounce?e.pipe(H0(this.debounce)):e).subscribe(this.event)})}_unsubscribe(){this._currentSubscription?.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(dz),Y(vt),Y(ft))},t.\u0275dir=Ke({type:t,selectors:[["","cdkObserveContent",""]],inputs:{disabled:["cdkObserveContentDisabled","disabled"],debounce:"debounce"},outputs:{event:"cdkObserveContent"},exportAs:["cdkObserveContent"]}),t})(),j0=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[cL]}),t})();const uL=new Set;let Kl,uz=(()=>{class t{constructor(e,i){this._platform=e,this._nonce=i,this._matchMedia=this._platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):fz}matchMedia(e){return(this._platform.WEBKIT||this._platform.BLINK)&&function hz(t,n){if(!uL.has(t))try{Kl||(Kl=document.createElement("style"),n&&(Kl.nonce=n),Kl.setAttribute("type","text/css"),document.head.appendChild(Kl)),Kl.sheet&&(Kl.sheet.insertRule(`@media ${t} {body{ }}`,0),uL.add(t))}catch(e){console.error(e)}}(e,this._nonce),this._matchMedia(e)}}return t.\u0275fac=function(e){return new(e||t)(we(ui),we(Tb,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function fz(t){return{matches:"all"===t||""===t,media:t,addListener:()=>{},removeListener:()=>{}}}let z0=(()=>{class t{constructor(e,i){this._mediaMatcher=e,this._zone=i,this._queries=new Map,this._destroySubject=new J}ngOnDestroy(){this._destroySubject.next(),this._destroySubject.complete()}isMatched(e){return hL(Gm(e)).some(o=>this._registerQuery(o).mql.matches)}observe(e){let s=Mm(hL(Gm(e)).map(a=>this._registerQuery(a).observable));return s=Ua(s.pipe(Kn(1)),s.pipe(B0(1),H0(0))),s.pipe(ke(a=>{const l={matches:!1,breakpoints:{}};return a.forEach(({matches:d,query:_})=>{l.matches=l.matches||d,l.breakpoints[_]=d}),l}))}_registerQuery(e){if(this._queries.has(e))return this._queries.get(e);const i=this._mediaMatcher.matchMedia(e),s={observable:new he(a=>{const l=d=>this._zone.run(()=>a.next(d));return i.addListener(l),()=>{i.removeListener(l)}}).pipe(Go(i),ke(({matches:a})=>({query:e,matches:a})),Hn(this._destroySubject)),mql:i};return this._queries.set(e,s),s}}return t.\u0275fac=function(e){return new(e||t)(we(uz),we(ft))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function hL(t){return t.map(n=>n.split(",")).reduce((n,e)=>n.concat(e)).map(n=>n.trim())}function ng(t,n){return(t.getAttribute(n)||"").match(/\S+/g)||[]}const pL="cdk-describedby-message",ig="cdk-describedby-host";let U0=0,_z=(()=>{class t{constructor(e,i){this._platform=i,this._messageRegistry=new Map,this._messagesContainer=null,this._id=""+U0++,this._document=e,this._id=Qe(ku)+"-"+U0++}describe(e,i,o){if(!this._canBeDescribed(e,i))return;const s=W0(i,o);"string"!=typeof i?(mL(i,this._id),this._messageRegistry.set(s,{messageElement:i,referenceCount:0})):this._messageRegistry.has(s)||this._createMessageElement(i,o),this._isElementDescribedByMessage(e,s)||this._addMessageReference(e,s)}removeDescription(e,i,o){if(!i||!this._isElementNode(e))return;const s=W0(i,o);if(this._isElementDescribedByMessage(e,s)&&this._removeMessageReference(e,s),"string"==typeof i){const a=this._messageRegistry.get(s);a&&0===a.referenceCount&&this._deleteMessageElement(s)}0===this._messagesContainer?.childNodes.length&&(this._messagesContainer.remove(),this._messagesContainer=null)}ngOnDestroy(){const e=this._document.querySelectorAll(`[${ig}="${this._id}"]`);for(let i=0;i0!=o.indexOf(pL));e.setAttribute("aria-describedby",i.join(" "))}_addMessageReference(e,i){const o=this._messageRegistry.get(i);(function mz(t,n,e){const i=ng(t,n);i.some(o=>o.trim()==e.trim())||(i.push(e.trim()),t.setAttribute(n,i.join(" ")))})(e,"aria-describedby",o.messageElement.id),e.setAttribute(ig,this._id),o.referenceCount++}_removeMessageReference(e,i){const o=this._messageRegistry.get(i);o.referenceCount--,function gz(t,n,e){const o=ng(t,n).filter(s=>s!=e.trim());o.length?t.setAttribute(n,o.join(" ")):t.removeAttribute(n)}(e,"aria-describedby",o.messageElement.id),e.removeAttribute(ig)}_isElementDescribedByMessage(e,i){const o=ng(e,"aria-describedby"),s=this._messageRegistry.get(i),a=s&&s.messageElement.id;return!!a&&-1!=o.indexOf(a)}_canBeDescribed(e,i){if(!this._isElementNode(e))return!1;if(i&&"object"==typeof i)return!0;const o=null==i?"":`${i}`.trim(),s=e.getAttribute("aria-label");return!(!o||s&&s.trim()===o)}_isElementNode(e){return e.nodeType===this._document.ELEMENT_NODE}}return t.\u0275fac=function(e){return new(e||t)(we(It),we(ui))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function W0(t,n){return"string"==typeof t?`${n||""}/${t}`:t}function mL(t,n){t.id||(t.id=`${pL}-${n}-${U0++}`)}class gL{constructor(n){this._items=n,this._activeItemIndex=-1,this._activeItem=null,this._wrap=!1,this._letterKeyStream=new J,this._typeaheadSubscription=T.EMPTY,this._vertical=!0,this._allowedModifierKeys=[],this._homeAndEnd=!1,this._pageUpAndDown={enabled:!1,delta:10},this._skipPredicateFn=e=>e.disabled,this._pressedLetters=[],this.tabOut=new J,this.change=new J,n instanceof Al&&(this._itemChangesSubscription=n.changes.subscribe(e=>{if(this._activeItem){const o=e.toArray().indexOf(this._activeItem);o>-1&&o!==this._activeItemIndex&&(this._activeItemIndex=o)}}))}skipPredicate(n){return this._skipPredicateFn=n,this}withWrap(n=!0){return this._wrap=n,this}withVerticalOrientation(n=!0){return this._vertical=n,this}withHorizontalOrientation(n){return this._horizontal=n,this}withAllowedModifierKeys(n){return this._allowedModifierKeys=n,this}withTypeAhead(n=200){return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(bi(e=>this._pressedLetters.push(e)),H0(n),_i(()=>this._pressedLetters.length>0),ke(()=>this._pressedLetters.join(""))).subscribe(e=>{const i=this._getItemsArray();for(let o=1;o!n[s]||this._allowedModifierKeys.indexOf(s)>-1);switch(e){case 9:return void this.tabOut.next();case 40:if(this._vertical&&o){this.setNextItemActive();break}return;case 38:if(this._vertical&&o){this.setPreviousItemActive();break}return;case 39:if(this._horizontal&&o){"rtl"===this._horizontal?this.setPreviousItemActive():this.setNextItemActive();break}return;case 37:if(this._horizontal&&o){"rtl"===this._horizontal?this.setNextItemActive():this.setPreviousItemActive();break}return;case 36:if(this._homeAndEnd&&o){this.setFirstItemActive();break}return;case 35:if(this._homeAndEnd&&o){this.setLastItemActive();break}return;case 33:if(this._pageUpAndDown.enabled&&o){const s=this._activeItemIndex-this._pageUpAndDown.delta;this._setActiveItemByIndex(s>0?s:0,1);break}return;case 34:if(this._pageUpAndDown.enabled&&o){const s=this._activeItemIndex+this._pageUpAndDown.delta,a=this._getItemsArray().length;this._setActiveItemByIndex(s=65&&e<=90||e>=48&&e<=57)&&this._letterKeyStream.next(String.fromCharCode(e))))}this._pressedLetters=[],n.preventDefault()}get activeItemIndex(){return this._activeItemIndex}get activeItem(){return this._activeItem}isTyping(){return this._pressedLetters.length>0}setFirstItemActive(){this._setActiveItemByIndex(0,1)}setLastItemActive(){this._setActiveItemByIndex(this._items.length-1,-1)}setNextItemActive(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)}setPreviousItemActive(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)}updateActiveItem(n){const e=this._getItemsArray(),i="number"==typeof n?n:e.indexOf(n);this._activeItem=e[i]??null,this._activeItemIndex=i}destroy(){this._typeaheadSubscription.unsubscribe(),this._itemChangesSubscription?.unsubscribe(),this._letterKeyStream.complete(),this.tabOut.complete(),this.change.complete(),this._pressedLetters=[]}_setActiveItemByDelta(n){this._wrap?this._setActiveInWrapMode(n):this._setActiveInDefaultMode(n)}_setActiveInWrapMode(n){const e=this._getItemsArray();for(let i=1;i<=e.length;i++){const o=(this._activeItemIndex+n*i+e.length)%e.length;if(!this._skipPredicateFn(e[o]))return void this.setActiveItem(o)}}_setActiveInDefaultMode(n){this._setActiveItemByIndex(this._activeItemIndex+n,n)}_setActiveItemByIndex(n,e){const i=this._getItemsArray();if(i[n]){for(;this._skipPredicateFn(i[n]);)if(!i[n+=e])return;this.setActiveItem(n)}}_getItemsArray(){return this._items instanceof Al?this._items.toArray():this._items}}class bz extends gL{setActiveItem(n){this.activeItem&&this.activeItem.setInactiveStyles(),super.setActiveItem(n),this.activeItem&&this.activeItem.setActiveStyles()}}class _L extends gL{constructor(){super(...arguments),this._origin="program"}setFocusOrigin(n){return this._origin=n,this}setActiveItem(n){super.setActiveItem(n),this.activeItem&&this.activeItem.focus(this._origin)}}let rg=(()=>{class t{constructor(e){this._platform=e}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return function yz(t){return!!(t.offsetWidth||t.offsetHeight||"function"==typeof t.getClientRects&&t.getClientRects().length)}(e)&&"visible"===getComputedStyle(e).visibility}isTabbable(e){if(!this._platform.isBrowser)return!1;const i=function vz(t){try{return t.frameElement}catch{return null}}(function Tz(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}(e));if(i&&(-1===vL(i)||!this.isVisible(i)))return!1;let o=e.nodeName.toLowerCase(),s=vL(e);return e.hasAttribute("contenteditable")?-1!==s:!("iframe"===o||"object"===o||this._platform.WEBKIT&&this._platform.IOS&&!function Sz(t){let n=t.nodeName.toLowerCase(),e="input"===n&&t.type;return"text"===e||"password"===e||"select"===n||"textarea"===n}(e))&&("audio"===o?!!e.hasAttribute("controls")&&-1!==s:"video"===o?-1!==s&&(null!==s||this._platform.FIREFOX||e.hasAttribute("controls")):e.tabIndex>=0)}isFocusable(e,i){return function Dz(t){return!function wz(t){return function xz(t){return"input"==t.nodeName.toLowerCase()}(t)&&"hidden"==t.type}(t)&&(function Mz(t){let n=t.nodeName.toLowerCase();return"input"===n||"select"===n||"button"===n||"textarea"===n}(t)||function Cz(t){return function kz(t){return"a"==t.nodeName.toLowerCase()}(t)&&t.hasAttribute("href")}(t)||t.hasAttribute("contenteditable")||bL(t))}(e)&&!this.isDisabled(e)&&(i?.ignoreVisibility||this.isVisible(e))}}return t.\u0275fac=function(e){return new(e||t)(we(ui))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function bL(t){if(!t.hasAttribute("tabindex")||void 0===t.tabIndex)return!1;let n=t.getAttribute("tabindex");return!(!n||isNaN(parseInt(n,10)))}function vL(t){if(!bL(t))return null;const n=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(n)?-1:n}class Lz{get enabled(){return this._enabled}set enabled(n){this._enabled=n,this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}constructor(n,e,i,o,s=!1){this._element=n,this._checker=e,this._ngZone=i,this._document=o,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,s||this.attachAnchors()}destroy(){const n=this._startAnchor,e=this._endAnchor;n&&(n.removeEventListener("focus",this.startAnchorListener),n.remove()),e&&(e.removeEventListener("focus",this.endAnchorListener),e.remove()),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return!!this._hasAttached||(this._ngZone.runOutsideAngular(()=>{this._startAnchor||(this._startAnchor=this._createAnchor(),this._startAnchor.addEventListener("focus",this.startAnchorListener)),this._endAnchor||(this._endAnchor=this._createAnchor(),this._endAnchor.addEventListener("focus",this.endAnchorListener))}),this._element.parentNode&&(this._element.parentNode.insertBefore(this._startAnchor,this._element),this._element.parentNode.insertBefore(this._endAnchor,this._element.nextSibling),this._hasAttached=!0),this._hasAttached)}focusInitialElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusInitialElement(n)))})}focusFirstTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusFirstTabbableElement(n)))})}focusLastTabbableElementWhenReady(n){return new Promise(e=>{this._executeOnStable(()=>e(this.focusLastTabbableElement(n)))})}_getRegionBoundary(n){const e=this._element.querySelectorAll(`[cdk-focus-region-${n}], [cdkFocusRegion${n}], [cdk-focus-${n}]`);return"start"==n?e.length?e[0]:this._getFirstTabbableElement(this._element):e.length?e[e.length-1]:this._getLastTabbableElement(this._element)}focusInitialElement(n){const e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");if(e){if(!this._checker.isFocusable(e)){const i=this._getFirstTabbableElement(e);return i?.focus(n),!!i}return e.focus(n),!0}return this.focusFirstTabbableElement(n)}focusFirstTabbableElement(n){const e=this._getRegionBoundary("start");return e&&e.focus(n),!!e}focusLastTabbableElement(n){const e=this._getRegionBoundary("end");return e&&e.focus(n),!!e}hasAttached(){return this._hasAttached}_getFirstTabbableElement(n){if(this._checker.isFocusable(n)&&this._checker.isTabbable(n))return n;const e=n.children;for(let i=0;i=0;i--){const o=e[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[i]):null;if(o)return o}return null}_createAnchor(){const n=this._document.createElement("div");return this._toggleAnchorTabIndex(this._enabled,n),n.classList.add("cdk-visually-hidden"),n.classList.add("cdk-focus-trap-anchor"),n.setAttribute("aria-hidden","true"),n}_toggleAnchorTabIndex(n,e){n?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")}toggleAnchors(n){this._startAnchor&&this._endAnchor&&(this._toggleAnchorTabIndex(n,this._startAnchor),this._toggleAnchorTabIndex(n,this._endAnchor))}_executeOnStable(n){this._ngZone.isStable?n():this._ngZone.onStable.pipe(Kn(1)).subscribe(n)}}let $0=(()=>{class t{constructor(e,i,o){this._checker=e,this._ngZone=i,this._document=o}create(e,i=!1){return new Lz(e,this._checker,this._ngZone,this._document,i)}}return t.\u0275fac=function(e){return new(e||t)(we(rg),we(ft),we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function G0(t){return 0===t.buttons||0===t.offsetX&&0===t.offsetY}function q0(t){const n=t.touches&&t.touches[0]||t.changedTouches&&t.changedTouches[0];return!(!n||-1!==n.identifier||null!=n.radiusX&&1!==n.radiusX||null!=n.radiusY&&1!==n.radiusY)}const Ez=new Re("cdk-input-modality-detector-options"),Iz={ignoreKeys:[18,17,224,91,16]},Ld=Za({passive:!0,capture:!0});let Pz=(()=>{class t{get mostRecentModality(){return this._modality.value}constructor(e,i,o,s){this._platform=e,this._mostRecentTarget=null,this._modality=new Or(null),this._lastTouchMs=0,this._onKeydown=a=>{this._options?.ignoreKeys?.some(l=>l===a.keyCode)||(this._modality.next("keyboard"),this._mostRecentTarget=Xa(a))},this._onMousedown=a=>{Date.now()-this._lastTouchMs<650||(this._modality.next(G0(a)?"keyboard":"mouse"),this._mostRecentTarget=Xa(a))},this._onTouchstart=a=>{q0(a)?this._modality.next("keyboard"):(this._lastTouchMs=Date.now(),this._modality.next("touch"),this._mostRecentTarget=Xa(a))},this._options={...Iz,...s},this.modalityDetected=this._modality.pipe(B0(1)),this.modalityChanged=this.modalityDetected.pipe(V0()),e.isBrowser&&i.runOutsideAngular(()=>{o.addEventListener("keydown",this._onKeydown,Ld),o.addEventListener("mousedown",this._onMousedown,Ld),o.addEventListener("touchstart",this._onTouchstart,Ld)})}ngOnDestroy(){this._modality.complete(),this._platform.isBrowser&&(document.removeEventListener("keydown",this._onKeydown,Ld),document.removeEventListener("mousedown",this._onMousedown,Ld),document.removeEventListener("touchstart",this._onTouchstart,Ld))}}return t.\u0275fac=function(e){return new(e||t)(we(ui),we(ft),we(It),we(Ez,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const Oz=new Re("liveAnnouncerElement",{providedIn:"root",factory:function Az(){return null}}),Fz=new Re("LIVE_ANNOUNCER_DEFAULT_OPTIONS");let Rz=0,K0=(()=>{class t{constructor(e,i,o,s){this._ngZone=i,this._defaultOptions=s,this._document=o,this._liveElement=e||this._createLiveElement()}announce(e,...i){const o=this._defaultOptions;let s,a;return 1===i.length&&"number"==typeof i[0]?a=i[0]:[s,a]=i,this.clear(),clearTimeout(this._previousTimeout),s||(s=o&&o.politeness?o.politeness:"polite"),null==a&&o&&(a=o.duration),this._liveElement.setAttribute("aria-live",s),this._liveElement.id&&this._exposeAnnouncerToModals(this._liveElement.id),this._ngZone.runOutsideAngular(()=>(this._currentPromise||(this._currentPromise=new Promise(l=>this._currentResolve=l)),clearTimeout(this._previousTimeout),this._previousTimeout=setTimeout(()=>{this._liveElement.textContent=e,"number"==typeof a&&(this._previousTimeout=setTimeout(()=>this.clear(),a)),this._currentResolve(),this._currentPromise=this._currentResolve=void 0},100),this._currentPromise))}clear(){this._liveElement&&(this._liveElement.textContent="")}ngOnDestroy(){clearTimeout(this._previousTimeout),this._liveElement?.remove(),this._liveElement=null,this._currentResolve?.(),this._currentPromise=this._currentResolve=void 0}_createLiveElement(){const e="cdk-live-announcer-element",i=this._document.getElementsByClassName(e),o=this._document.createElement("div");for(let s=0;s .cdk-overlay-container [aria-modal="true"]');for(let o=0;o{class t{constructor(e,i,o,s,a){this._ngZone=e,this._platform=i,this._inputModalityDetector=o,this._origin=null,this._windowFocused=!1,this._originFromTouchInteraction=!1,this._elementInfo=new Map,this._monitoredElementCount=0,this._rootNodeFocusListenerCount=new Map,this._windowFocusListener=()=>{this._windowFocused=!0,this._windowFocusTimeoutId=window.setTimeout(()=>this._windowFocused=!1)},this._stopInputModalityDetector=new J,this._rootNodeFocusAndBlurListener=l=>{for(let _=Xa(l);_;_=_.parentElement)"focus"===l.type?this._onFocus(l,_):this._onBlur(l,_)},this._document=s,this._detectionMode=a?.detectionMode||0}monitor(e,i=!1){const o=la(e);if(!this._platform.isBrowser||1!==o.nodeType)return $e(null);const s=function p9(t){if(function f9(){if(null==O0){const t=typeof document<"u"?document.head:null;O0=!(!t||!t.createShadowRoot&&!t.attachShadow)}return O0}()){const n=t.getRootNode?t.getRootNode():null;if(typeof ShadowRoot<"u"&&ShadowRoot&&n instanceof ShadowRoot)return n}return null}(o)||this._getDocument(),a=this._elementInfo.get(o);if(a)return i&&(a.checkChildren=!0),a.subject;const l={checkChildren:i,subject:new J,rootNode:s};return this._elementInfo.set(o,l),this._registerGlobalListeners(l),l.subject}stopMonitoring(e){const i=la(e),o=this._elementInfo.get(i);o&&(o.subject.complete(),this._setClasses(i),this._elementInfo.delete(i),this._removeGlobalListeners(o))}focusVia(e,i,o){const s=la(e);s===this._getDocument().activeElement?this._getClosestElementsInfo(s).forEach(([l,d])=>this._originChanged(l,i,d)):(this._setOrigin(i),"function"==typeof s.focus&&s.focus(o))}ngOnDestroy(){this._elementInfo.forEach((e,i)=>this.stopMonitoring(i))}_getDocument(){return this._document||document}_getWindow(){return this._getDocument().defaultView||window}_getFocusOrigin(e){return this._origin?this._originFromTouchInteraction?this._shouldBeAttributedToTouch(e)?"touch":"program":this._origin:this._windowFocused&&this._lastFocusOrigin?this._lastFocusOrigin:e&&this._isLastInteractionFromInputLabel(e)?"mouse":"program"}_shouldBeAttributedToTouch(e){return 1===this._detectionMode||!!e?.contains(this._inputModalityDetector._mostRecentTarget)}_setClasses(e,i){e.classList.toggle("cdk-focused",!!i),e.classList.toggle("cdk-touch-focused","touch"===i),e.classList.toggle("cdk-keyboard-focused","keyboard"===i),e.classList.toggle("cdk-mouse-focused","mouse"===i),e.classList.toggle("cdk-program-focused","program"===i)}_setOrigin(e,i=!1){this._ngZone.runOutsideAngular(()=>{this._origin=e,this._originFromTouchInteraction="touch"===e&&i,0===this._detectionMode&&(clearTimeout(this._originTimeoutId),this._originTimeoutId=setTimeout(()=>this._origin=null,this._originFromTouchInteraction?650:1))})}_onFocus(e,i){const o=this._elementInfo.get(i),s=Xa(e);!o||!o.checkChildren&&i!==s||this._originChanged(i,this._getFocusOrigin(s),o)}_onBlur(e,i){const o=this._elementInfo.get(i);!o||o.checkChildren&&e.relatedTarget instanceof Node&&i.contains(e.relatedTarget)||(this._setClasses(i),this._emitOrigin(o,null))}_emitOrigin(e,i){e.subject.observers.length&&this._ngZone.run(()=>e.subject.next(i))}_registerGlobalListeners(e){if(!this._platform.isBrowser)return;const i=e.rootNode,o=this._rootNodeFocusListenerCount.get(i)||0;o||this._ngZone.runOutsideAngular(()=>{i.addEventListener("focus",this._rootNodeFocusAndBlurListener,og),i.addEventListener("blur",this._rootNodeFocusAndBlurListener,og)}),this._rootNodeFocusListenerCount.set(i,o+1),1==++this._monitoredElementCount&&(this._ngZone.runOutsideAngular(()=>{this._getWindow().addEventListener("focus",this._windowFocusListener)}),this._inputModalityDetector.modalityDetected.pipe(Hn(this._stopInputModalityDetector)).subscribe(s=>{this._setOrigin(s,!0)}))}_removeGlobalListeners(e){const i=e.rootNode;if(this._rootNodeFocusListenerCount.has(i)){const o=this._rootNodeFocusListenerCount.get(i);o>1?this._rootNodeFocusListenerCount.set(i,o-1):(i.removeEventListener("focus",this._rootNodeFocusAndBlurListener,og),i.removeEventListener("blur",this._rootNodeFocusAndBlurListener,og),this._rootNodeFocusListenerCount.delete(i))}--this._monitoredElementCount||(this._getWindow().removeEventListener("focus",this._windowFocusListener),this._stopInputModalityDetector.next(),clearTimeout(this._windowFocusTimeoutId),clearTimeout(this._originTimeoutId))}_originChanged(e,i,o){this._setClasses(e,i),this._emitOrigin(o,i),this._lastFocusOrigin=i}_getClosestElementsInfo(e){const i=[];return this._elementInfo.forEach((o,s)=>{(s===e||o.checkChildren&&s.contains(e))&&i.push([s,o])}),i}_isLastInteractionFromInputLabel(e){const{_mostRecentTarget:i,mostRecentModality:o}=this._inputModalityDetector;if("mouse"!==o||!i||i===e||"INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName||e.disabled)return!1;const s=e.labels;if(s)for(let a=0;a{class t{constructor(e,i){this._elementRef=e,this._focusMonitor=i,this._focusOrigin=null,this.cdkFocusChange=new ht}get focusOrigin(){return this._focusOrigin}ngAfterViewInit(){const e=this._elementRef.nativeElement;this._monitorSubscription=this._focusMonitor.monitor(e,1===e.nodeType&&e.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(i=>{this._focusOrigin=i,this.cdkFocusChange.emit(i)})}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef),this._monitorSubscription&&this._monitorSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(Qa))},t.\u0275dir=Ke({type:t,selectors:[["","cdkMonitorElementFocus",""],["","cdkMonitorSubtreeFocus",""]],outputs:{cdkFocusChange:"cdkFocusChange"},exportAs:["cdkMonitorFocus"]}),t})();const ML="cdk-high-contrast-black-on-white",wL="cdk-high-contrast-white-on-black",Z0="cdk-high-contrast-active";let CL=(()=>{class t{constructor(e,i){this._platform=e,this._document=i,this._breakpointSubscription=Qe(z0).observe("(forced-colors: active)").subscribe(()=>{this._hasCheckedHighContrastMode&&(this._hasCheckedHighContrastMode=!1,this._applyBodyHighContrastModeCssClasses())})}getHighContrastMode(){if(!this._platform.isBrowser)return 0;const e=this._document.createElement("div");e.style.backgroundColor="rgb(1,2,3)",e.style.position="absolute",this._document.body.appendChild(e);const i=this._document.defaultView||window,o=i&&i.getComputedStyle?i.getComputedStyle(e):null,s=(o&&o.backgroundColor||"").replace(/ /g,"");switch(e.remove(),s){case"rgb(0,0,0)":case"rgb(45,50,54)":case"rgb(32,32,32)":return 2;case"rgb(255,255,255)":case"rgb(255,250,239)":return 1}return 0}ngOnDestroy(){this._breakpointSubscription.unsubscribe()}_applyBodyHighContrastModeCssClasses(){if(!this._hasCheckedHighContrastMode&&this._platform.isBrowser&&this._document.body){const e=this._document.body.classList;e.remove(Z0,ML,wL),this._hasCheckedHighContrastMode=!0;const i=this.getHighContrastMode();1===i?e.add(Z0,ML):2===i&&e.add(Z0,wL)}}}return t.\u0275fac=function(e){return new(e||t)(we(ui),we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),X0=(()=>{class t{constructor(e){e._applyBodyHighContrastModeCssClasses()}}return t.\u0275fac=function(e){return new(e||t)(we(CL))},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[j0]}),t})();function Hz(t,n){}class sg{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.closeOnNavigation=!0,this.closeOnDestroy=!0,this.closeOnOverlayDetachments=!0}}let xL=(()=>{class t extends Zm{constructor(e,i,o,s,a,l,d,_){super(),this._elementRef=e,this._focusTrapFactory=i,this._config=s,this._interactivityChecker=a,this._ngZone=l,this._overlayRef=d,this._focusMonitor=_,this._elementFocusedBeforeDialogWasOpened=null,this._closeInteractionType=null,this.attachDomPortal=E=>{this._portalOutlet.hasAttached();const F=this._portalOutlet.attachDomPortal(E);return this._contentAttached(),F},this._ariaLabelledBy=this._config.ariaLabelledBy||null,this._document=o}_contentAttached(){this._initializeFocusTrap(),this._handleBackdropClicks(),this._captureInitialFocus()}_captureInitialFocus(){this._trapFocus()}ngOnDestroy(){this._restoreFocus()}attachComponentPortal(e){this._portalOutlet.hasAttached();const i=this._portalOutlet.attachComponentPortal(e);return this._contentAttached(),i}attachTemplatePortal(e){this._portalOutlet.hasAttached();const i=this._portalOutlet.attachTemplatePortal(e);return this._contentAttached(),i}_recaptureFocus(){this._containsFocus()||this._trapFocus()}_forceFocus(e,i){this._interactivityChecker.isFocusable(e)||(e.tabIndex=-1,this._ngZone.runOutsideAngular(()=>{const o=()=>{e.removeEventListener("blur",o),e.removeEventListener("mousedown",o),e.removeAttribute("tabindex")};e.addEventListener("blur",o),e.addEventListener("mousedown",o)})),e.focus(i)}_focusByCssSelector(e,i){let o=this._elementRef.nativeElement.querySelector(e);o&&this._forceFocus(o,i)}_trapFocus(){const e=this._elementRef.nativeElement;switch(this._config.autoFocus){case!1:case"dialog":this._containsFocus()||e.focus();break;case!0:case"first-tabbable":this._focusTrap.focusInitialElementWhenReady().then(i=>{i||this._focusDialogContainer()});break;case"first-heading":this._focusByCssSelector('h1, h2, h3, h4, h5, h6, [role="heading"]');break;default:this._focusByCssSelector(this._config.autoFocus)}}_restoreFocus(){const e=this._config.restoreFocus;let i=null;if("string"==typeof e?i=this._document.querySelector(e):"boolean"==typeof e?i=e?this._elementFocusedBeforeDialogWasOpened:null:e&&(i=e),this._config.restoreFocus&&i&&"function"==typeof i.focus){const o=A0(),s=this._elementRef.nativeElement;(!o||o===this._document.body||o===s||s.contains(o))&&(this._focusMonitor?(this._focusMonitor.focusVia(i,this._closeInteractionType),this._closeInteractionType=null):i.focus())}this._focusTrap&&this._focusTrap.destroy()}_focusDialogContainer(){this._elementRef.nativeElement.focus&&this._elementRef.nativeElement.focus()}_containsFocus(){const e=this._elementRef.nativeElement,i=A0();return e===i||e.contains(i)}_initializeFocusTrap(){this._focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement),this._document&&(this._elementFocusedBeforeDialogWasOpened=A0())}_handleBackdropClicks(){this._overlayRef.backdropClick().subscribe(()=>{this._config.disableClose&&this._recaptureFocus()})}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y($0),Y(It,8),Y(sg),Y(rg),Y(ft),Y(Ah),Y(Qa))},t.\u0275cmp=Ze({type:t,selectors:[["cdk-dialog-container"]],viewQuery:function(e,i){if(1&e&&_t(Ja,7),2&e){let o;rt(o=ot())&&(i._portalOutlet=o.first)}},hostAttrs:["tabindex","-1",1,"cdk-dialog-container"],hostVars:6,hostBindings:function(e,i){2&e&&Xt("id",i._config.id||null)("role",i._config.role)("aria-modal",i._config.ariaModal)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null)},features:[nt],decls:1,vars:0,consts:[["cdkPortalOutlet",""]],template:function(e,i){1&e&&V(0,Hz,0,0,"ng-template",0)},dependencies:[Ja],styles:[".cdk-dialog-container{display:block;width:100%;height:100%;min-height:inherit;max-height:inherit}"],encapsulation:2}),t})();class J0{constructor(n,e){this.overlayRef=n,this.config=e,this.closed=new J,this.disableClose=e.disableClose,this.backdropClick=n.backdropClick(),this.keydownEvents=n.keydownEvents(),this.outsidePointerEvents=n.outsidePointerEvents(),this.id=e.id,this.keydownEvents.subscribe(i=>{27===i.keyCode&&!this.disableClose&&!Fs(i)&&(i.preventDefault(),this.close(void 0,{focusOrigin:"keyboard"}))}),this.backdropClick.subscribe(()=>{this.disableClose||this.close(void 0,{focusOrigin:"mouse"})}),this._detachSubscription=n.detachments().subscribe(()=>{!1!==e.closeOnOverlayDetachments&&this.close()})}close(n,e){if(this.containerInstance){const i=this.closed;this.containerInstance._closeInteractionType=e?.focusOrigin||"program",this._detachSubscription.unsubscribe(),this.overlayRef.dispose(),i.next(n),i.complete(),this.componentInstance=this.containerInstance=null}}updatePosition(){return this.overlayRef.updatePosition(),this}updateSize(n="",e=""){return this.overlayRef.updateSize({width:n,height:e}),this}addPanelClass(n){return this.overlayRef.addPanelClass(n),this}removePanelClass(n){return this.overlayRef.removePanelClass(n),this}}const kL=new Re("DialogScrollStrategy"),Bz=new Re("DialogData"),Vz=new Re("DefaultDialogConfig"),zz={provide:kL,deps:[io],useFactory:function jz(t){return()=>t.scrollStrategies.block()}};let Uz=0,SL=(()=>{class t{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}constructor(e,i,o,s,a,l){this._overlay=e,this._injector=i,this._defaultOptions=o,this._parentDialog=s,this._overlayContainer=a,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new J,this._afterOpenedAtThisLevel=new J,this._ariaHiddenElements=new Map,this.afterAllClosed=jl(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Go(void 0))),this._scrollStrategy=l}open(e,i){(i={...this._defaultOptions||new sg,...i}).id=i.id||"cdk-dialog-"+Uz++,i.id&&this.getDialogById(i.id);const s=this._getOverlayConfig(i),a=this._overlay.create(s),l=new J0(a,i),d=this._attachContainer(a,l,i);return l.containerInstance=d,this._attachDialogContent(e,l,d,i),this.openDialogs.length||this._hideNonDialogContentFromAssistiveTechnology(),this.openDialogs.push(l),l.closed.subscribe(()=>this._removeOpenDialog(l,!0)),this.afterOpened.next(l),l}closeAll(){Q0(this.openDialogs,e=>e.close())}getDialogById(e){return this.openDialogs.find(i=>i.id===e)}ngOnDestroy(){Q0(this._openDialogsAtThisLevel,e=>{!1===e.config.closeOnDestroy&&this._removeOpenDialog(e,!1)}),Q0(this._openDialogsAtThisLevel,e=>e.close()),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete(),this._openDialogsAtThisLevel=[]}_getOverlayConfig(e){const i=new Oh({positionStrategy:e.positionStrategy||this._overlay.position().global().centerHorizontally().centerVertically(),scrollStrategy:e.scrollStrategy||this._scrollStrategy(),panelClass:e.panelClass,hasBackdrop:e.hasBackdrop,direction:e.direction,minWidth:e.minWidth,minHeight:e.minHeight,maxWidth:e.maxWidth,maxHeight:e.maxHeight,width:e.width,height:e.height,disposeOnNavigation:e.closeOnNavigation});return e.backdropClass&&(i.backdropClass=e.backdropClass),i}_attachContainer(e,i,o){const s=o.injector||o.viewContainerRef?.injector,a=[{provide:sg,useValue:o},{provide:J0,useValue:i},{provide:Ah,useValue:e}];let l;o.container?"function"==typeof o.container?l=o.container:(l=o.container.type,a.push(...o.container.providers(o))):l=xL;const d=new Sd(l,o.viewContainerRef,Si.create({parent:s||this._injector,providers:a}),o.componentFactoryResolver);return e.attach(d).instance}_attachDialogContent(e,i,o,s){if(e instanceof mr){const a=this._createInjector(s,i,o,void 0);let l={$implicit:s.data,dialogRef:i};s.templateContext&&(l={...l,..."function"==typeof s.templateContext?s.templateContext():s.templateContext}),o.attachTemplatePortal(new Gl(e,null,l,a))}else{const a=this._createInjector(s,i,o,this._injector),l=o.attachComponentPortal(new Sd(e,s.viewContainerRef,a,s.componentFactoryResolver));i.componentInstance=l.instance}}_createInjector(e,i,o,s){const a=e.injector||e.viewContainerRef?.injector,l=[{provide:Bz,useValue:e.data},{provide:J0,useValue:i}];return e.providers&&("function"==typeof e.providers?l.push(...e.providers(i,e,o)):l.push(...e.providers)),e.direction&&(!a||!a.get(Do,null,{optional:!0}))&&l.push({provide:Do,useValue:{value:e.direction,change:$e()}}),Si.create({parent:a||s,providers:l})}_removeOpenDialog(e,i){const o=this.openDialogs.indexOf(e);o>-1&&(this.openDialogs.splice(o,1),this.openDialogs.length||(this._ariaHiddenElements.forEach((s,a)=>{s?a.setAttribute("aria-hidden",s):a.removeAttribute("aria-hidden")}),this._ariaHiddenElements.clear(),i&&this._getAfterAllClosed().next()))}_hideNonDialogContentFromAssistiveTechnology(){const e=this._overlayContainer.getContainerElement();if(e.parentElement){const i=e.parentElement.children;for(let o=i.length-1;o>-1;o--){const s=i[o];s!==e&&"SCRIPT"!==s.nodeName&&"STYLE"!==s.nodeName&&!s.hasAttribute("aria-live")&&(this._ariaHiddenElements.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}}}_getAfterAllClosed(){const e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}}return t.\u0275fac=function(e){return new(e||t)(we(io),we(Si),we(Vz,8),we(t,12),we(tg),we(kL))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();function Q0(t,n){let e=t.length;for(;e--;)n(t[e])}let Wz=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[SL,zz],imports:[Td,Dd,X0,Dd]}),t})();const $z=["text"];function Gz(t,n){if(1&t&&xe(0,"mat-pseudo-checkbox",6),2&t){const e=z();w("state",e.selected?"checked":"unchecked")("disabled",e.disabled)}}function qz(t,n){1&t&&xe(0,"mat-pseudo-checkbox",7),2&t&&w("disabled",z().disabled)}function Kz(t,n){if(1&t&&(D(0,"span",8),I(1),C()),2&t){const e=z();c(1),ce("(",e.group.label,")")}}const Zz=[[["mat-icon"]],"*"],Xz=["mat-icon","*"],Qz=new Re("mat-sanity-checks",{providedIn:"root",factory:function Jz(){return!0}});let Wn=(()=>{class t{constructor(e,i,o){this._sanityChecks=i,this._document=o,this._hasDoneGlobalChecks=!1,e._applyBodyHighContrastModeCssClasses(),this._hasDoneGlobalChecks||(this._hasDoneGlobalChecks=!0)}_checkIsEnabled(e){return!F0()&&("boolean"==typeof this._sanityChecks?this._sanityChecks:!!this._sanityChecks[e])}}return t.\u0275fac=function(e){return new(e||t)(we(CL),we(Qz,8),we(It))},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Th,Th]}),t})();function Ed(t){return class extends t{get disabled(){return this._disabled}set disabled(n){this._disabled=_n(n)}constructor(...n){super(...n),this._disabled=!1}}}function Fh(t,n){return class extends t{get color(){return this._color}set color(e){const i=e||this.defaultColor;i!==this._color&&(this._color&&this._elementRef.nativeElement.classList.remove(`mat-${this._color}`),i&&this._elementRef.nativeElement.classList.add(`mat-${i}`),this._color=i)}constructor(...e){super(...e),this.defaultColor=n,this.color=n}}}function Rh(t){return class extends t{get disableRipple(){return this._disableRipple}set disableRipple(n){this._disableRipple=_n(n)}constructor(...n){super(...n),this._disableRipple=!1}}}function LL(t,n=0){return class extends t{get tabIndex(){return this.disabled?-1:this._tabIndex}set tabIndex(e){this._tabIndex=null!=e?So(e):this.defaultTabIndex}constructor(...e){super(...e),this._tabIndex=n,this.defaultTabIndex=n}}}function EL(t){return class extends t{updateErrorState(){const n=this.errorState,s=(this.errorStateMatcher||this._defaultErrorStateMatcher).isErrorState(this.ngControl?this.ngControl.control:null,this._parentFormGroup||this._parentForm);s!==n&&(this.errorState=s,this.stateChanges.next())}constructor(...n){super(...n),this.errorState=!1}}}let tU=(()=>{class t{isErrorState(e,i){return!!(e&&e.invalid&&(e.dirty||i&&i.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})(),e1=(()=>{class t{isErrorState(e,i){return!!(e&&e.invalid&&(e.touched||i&&i.submitted))}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class nU{constructor(n,e,i,o=!1){this._renderer=n,this.element=e,this.config=i,this._animationForciblyDisabledThroughCss=o,this.state=3}fadeOut(){this._renderer.fadeOutRipple(this)}}const IL=Za({passive:!0,capture:!0});class iU{constructor(){this._events=new Map,this._delegateEventHandler=n=>{const e=Xa(n);e&&this._events.get(n.type)?.forEach((i,o)=>{(o===e||o.contains(e))&&i.forEach(s=>s.handleEvent(n))})}}addHandler(n,e,i,o){const s=this._events.get(e);if(s){const a=s.get(i);a?a.add(o):s.set(i,new Set([o]))}else this._events.set(e,new Map([[i,new Set([o])]])),n.runOutsideAngular(()=>{document.addEventListener(e,this._delegateEventHandler,IL)})}removeHandler(n,e,i){const o=this._events.get(n);if(!o)return;const s=o.get(e);s&&(s.delete(i),0===s.size&&o.delete(e),0===o.size&&(this._events.delete(n),document.removeEventListener(n,this._delegateEventHandler,IL)))}}const PL={enterDuration:225,exitDuration:150},OL=Za({passive:!0,capture:!0}),AL=["mousedown","touchstart"],FL=["mouseup","mouseleave","touchend","touchcancel"];class Id{constructor(n,e,i,o){this._target=n,this._ngZone=e,this._platform=o,this._isPointerDown=!1,this._activeRipples=new Map,this._pointerUpEventsRegistered=!1,o.isBrowser&&(this._containerElement=la(i))}fadeInRipple(n,e,i={}){const o=this._containerRect=this._containerRect||this._containerElement.getBoundingClientRect(),s={...PL,...i.animation};i.centered&&(n=o.left+o.width/2,e=o.top+o.height/2);const a=i.radius||function oU(t,n,e){const i=Math.max(Math.abs(t-e.left),Math.abs(t-e.right)),o=Math.max(Math.abs(n-e.top),Math.abs(n-e.bottom));return Math.sqrt(i*i+o*o)}(n,e,o),l=n-o.left,d=e-o.top,_=s.enterDuration,E=document.createElement("div");E.classList.add("mat-ripple-element"),E.style.left=l-a+"px",E.style.top=d-a+"px",E.style.height=2*a+"px",E.style.width=2*a+"px",null!=i.color&&(E.style.backgroundColor=i.color),E.style.transitionDuration=`${_}ms`,this._containerElement.appendChild(E);const F=window.getComputedStyle(E),ie=F.transitionDuration,_e="none"===F.transitionProperty||"0s"===ie||"0s, 0s"===ie||0===o.width&&0===o.height,Ce=new nU(this,E,i,_e);E.style.transform="scale3d(1, 1, 1)",Ce.state=0,i.persistent||(this._mostRecentTransientRipple=Ce);let Ae=null;return!_e&&(_||s.exitDuration)&&this._ngZone.runOutsideAngular(()=>{const ze=()=>this._finishRippleTransition(Ce),Ee=()=>this._destroyRipple(Ce);E.addEventListener("transitionend",ze),E.addEventListener("transitioncancel",Ee),Ae={onTransitionEnd:ze,onTransitionCancel:Ee}}),this._activeRipples.set(Ce,Ae),(_e||!_)&&this._finishRippleTransition(Ce),Ce}fadeOutRipple(n){if(2===n.state||3===n.state)return;const e=n.element,i={...PL,...n.config.animation};e.style.transitionDuration=`${i.exitDuration}ms`,e.style.opacity="0",n.state=2,(n._animationForciblyDisabledThroughCss||!i.exitDuration)&&this._finishRippleTransition(n)}fadeOutAll(){this._getActiveRipples().forEach(n=>n.fadeOut())}fadeOutAllNonPersistent(){this._getActiveRipples().forEach(n=>{n.config.persistent||n.fadeOut()})}setupTriggerEvents(n){const e=la(n);!this._platform.isBrowser||!e||e===this._triggerElement||(this._removeTriggerEvents(),this._triggerElement=e,AL.forEach(i=>{Id._eventManager.addHandler(this._ngZone,i,e,this)}))}handleEvent(n){"mousedown"===n.type?this._onMousedown(n):"touchstart"===n.type?this._onTouchStart(n):this._onPointerUp(),this._pointerUpEventsRegistered||(this._ngZone.runOutsideAngular(()=>{FL.forEach(e=>{this._triggerElement.addEventListener(e,this,OL)})}),this._pointerUpEventsRegistered=!0)}_finishRippleTransition(n){0===n.state?this._startFadeOutTransition(n):2===n.state&&this._destroyRipple(n)}_startFadeOutTransition(n){const e=n===this._mostRecentTransientRipple,{persistent:i}=n.config;n.state=1,!i&&(!e||!this._isPointerDown)&&n.fadeOut()}_destroyRipple(n){const e=this._activeRipples.get(n)??null;this._activeRipples.delete(n),this._activeRipples.size||(this._containerRect=null),n===this._mostRecentTransientRipple&&(this._mostRecentTransientRipple=null),n.state=3,null!==e&&(n.element.removeEventListener("transitionend",e.onTransitionEnd),n.element.removeEventListener("transitioncancel",e.onTransitionCancel)),n.element.remove()}_onMousedown(n){const e=G0(n),i=this._lastTouchStartEvent&&Date.now(){!n.config.persistent&&(1===n.state||n.config.terminateOnPointerUp&&0===n.state)&&n.fadeOut()}))}_getActiveRipples(){return Array.from(this._activeRipples.keys())}_removeTriggerEvents(){const n=this._triggerElement;n&&(AL.forEach(e=>Id._eventManager.removeHandler(e,n,this)),this._pointerUpEventsRegistered&&FL.forEach(e=>n.removeEventListener(e,this,OL)))}}Id._eventManager=new iU;const t1=new Re("mat-ripple-global-options");let Zl=(()=>{class t{get disabled(){return this._disabled}set disabled(e){e&&this.fadeOutAllNonPersistent(),this._disabled=e,this._setupTriggerEventsIfEnabled()}get trigger(){return this._trigger||this._elementRef.nativeElement}set trigger(e){this._trigger=e,this._setupTriggerEventsIfEnabled()}constructor(e,i,o,s,a){this._elementRef=e,this._animationMode=a,this.radius=0,this._disabled=!1,this._isInitialized=!1,this._globalOptions=s||{},this._rippleRenderer=new Id(this,i,e,o)}ngOnInit(){this._isInitialized=!0,this._setupTriggerEventsIfEnabled()}ngOnDestroy(){this._rippleRenderer._removeTriggerEvents()}fadeOutAll(){this._rippleRenderer.fadeOutAll()}fadeOutAllNonPersistent(){this._rippleRenderer.fadeOutAllNonPersistent()}get rippleConfig(){return{centered:this.centered,radius:this.radius,color:this.color,animation:{...this._globalOptions.animation,..."NoopAnimations"===this._animationMode?{enterDuration:0,exitDuration:0}:{},...this.animation},terminateOnPointerUp:this._globalOptions.terminateOnPointerUp}}get rippleDisabled(){return this.disabled||!!this._globalOptions.disabled}_setupTriggerEventsIfEnabled(){!this.disabled&&this._isInitialized&&this._rippleRenderer.setupTriggerEvents(this.trigger)}launch(e,i=0,o){return"number"==typeof e?this._rippleRenderer.fadeInRipple(e,i,{...this.rippleConfig,...o}):this._rippleRenderer.fadeInRipple(0,0,{...this.rippleConfig,...e})}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ft),Y(ui),Y(t1,8),Y(Ri,8))},t.\u0275dir=Ke({type:t,selectors:[["","mat-ripple",""],["","matRipple",""]],hostAttrs:[1,"mat-ripple"],hostVars:2,hostBindings:function(e,i){2&e&&nn("mat-ripple-unbounded",i.unbounded)},inputs:{color:["matRippleColor","color"],unbounded:["matRippleUnbounded","unbounded"],centered:["matRippleCentered","centered"],radius:["matRippleRadius","radius"],animation:["matRippleAnimation","animation"],disabled:["matRippleDisabled","disabled"],trigger:["matRippleTrigger","trigger"]},exportAs:["matRipple"]}),t})(),Yh=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn,Wn]}),t})(),sU=(()=>{class t{constructor(e){this._animationMode=e,this.state="unchecked",this.disabled=!1,this.appearance="full"}}return t.\u0275fac=function(e){return new(e||t)(Y(Ri,8))},t.\u0275cmp=Ze({type:t,selectors:[["mat-pseudo-checkbox"]],hostAttrs:[1,"mat-pseudo-checkbox"],hostVars:12,hostBindings:function(e,i){2&e&&nn("mat-pseudo-checkbox-indeterminate","indeterminate"===i.state)("mat-pseudo-checkbox-checked","checked"===i.state)("mat-pseudo-checkbox-disabled",i.disabled)("mat-pseudo-checkbox-minimal","minimal"===i.appearance)("mat-pseudo-checkbox-full","full"===i.appearance)("_mat-animation-noopable","NoopAnimations"===i._animationMode)},inputs:{state:"state",disabled:"disabled",appearance:"appearance"},decls:0,vars:0,template:function(e,i){},styles:['.mat-pseudo-checkbox{border-radius:2px;cursor:pointer;display:inline-block;vertical-align:middle;box-sizing:border-box;position:relative;flex-shrink:0;transition:border-color 90ms cubic-bezier(0, 0, 0.2, 0.1),background-color 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox::after{position:absolute;opacity:0;content:"";border-bottom:2px solid currentColor;transition:opacity 90ms cubic-bezier(0, 0, 0.2, 0.1)}.mat-pseudo-checkbox._mat-animation-noopable{transition:none !important;animation:none !important}.mat-pseudo-checkbox._mat-animation-noopable::after{transition:none}.mat-pseudo-checkbox-disabled{cursor:default}.mat-pseudo-checkbox-indeterminate::after{left:1px;opacity:1;border-radius:2px}.mat-pseudo-checkbox-checked::after{left:1px;border-left:2px solid currentColor;transform:rotate(-45deg);opacity:1;box-sizing:content-box}.mat-pseudo-checkbox-full{border:2px solid}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate{border-color:rgba(0,0,0,0)}.mat-pseudo-checkbox{width:18px;height:18px}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after{width:14px;height:6px;transform-origin:center;top:-4.2426406871px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after{top:8px;width:16px}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after{width:10px;height:4px;transform-origin:center;top:-2.8284271247px;left:0;bottom:0;right:0;margin:auto}.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after{top:6px;width:12px}'],encapsulation:2,changeDetection:0}),t})(),aU=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn]}),t})();const RL=new Re("MAT_OPTION_PARENT_COMPONENT"),NL=new Re("MatOptgroup");let lU=0;class cU{constructor(n,e=!1){this.source=n,this.isUserInput=e}}let dU=(()=>{class t{get multiple(){return this._parent&&this._parent.multiple}get selected(){return this._selected}get disabled(){return this.group&&this.group.disabled||this._disabled}set disabled(e){this._disabled=_n(e)}get disableRipple(){return!(!this._parent||!this._parent.disableRipple)}get hideSingleSelectionIndicator(){return!(!this._parent||!this._parent.hideSingleSelectionIndicator)}constructor(e,i,o,s){this._element=e,this._changeDetectorRef=i,this._parent=o,this.group=s,this._selected=!1,this._active=!1,this._disabled=!1,this._mostRecentViewValue="",this.id="mat-option-"+lU++,this.onSelectionChange=new ht,this._stateChanges=new J}get active(){return this._active}get viewValue(){return(this._text?.nativeElement.textContent||"").trim()}select(){this._selected||(this._selected=!0,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}deselect(){this._selected&&(this._selected=!1,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent())}focus(e,i){const o=this._getHostElement();"function"==typeof o.focus&&o.focus(i)}setActiveStyles(){this._active||(this._active=!0,this._changeDetectorRef.markForCheck())}setInactiveStyles(){this._active&&(this._active=!1,this._changeDetectorRef.markForCheck())}getLabel(){return this.viewValue}_handleKeydown(e){(13===e.keyCode||32===e.keyCode)&&!Fs(e)&&(this._selectViaInteraction(),e.preventDefault())}_selectViaInteraction(){this.disabled||(this._selected=!this.multiple||!this._selected,this._changeDetectorRef.markForCheck(),this._emitSelectionChangeEvent(!0))}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._element.nativeElement}ngAfterViewChecked(){if(this._selected){const e=this.viewValue;e!==this._mostRecentViewValue&&(this._mostRecentViewValue&&this._stateChanges.next(),this._mostRecentViewValue=e)}}ngOnDestroy(){this._stateChanges.complete()}_emitSelectionChangeEvent(e=!1){this.onSelectionChange.emit(new cU(this,e))}}return t.\u0275fac=function(e){Aa()},t.\u0275dir=Ke({type:t,viewQuery:function(e,i){if(1&e&&_t($z,7),2&e){let o;rt(o=ot())&&(i._text=o.first)}},inputs:{value:"value",id:"id",disabled:"disabled"},outputs:{onSelectionChange:"onSelectionChange"}}),t})(),Pd=(()=>{class t extends dU{constructor(e,i,o,s){super(e,i,o,s)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(RL,8),Y(NL,8))},t.\u0275cmp=Ze({type:t,selectors:[["mat-option"]],hostAttrs:["role","option",1,"mat-mdc-option","mdc-list-item"],hostVars:11,hostBindings:function(e,i){1&e&&ye("click",function(){return i._selectViaInteraction()})("keydown",function(s){return i._handleKeydown(s)}),2&e&&(Js("id",i.id),Xt("aria-selected",i.selected)("aria-disabled",i.disabled.toString()),nn("mdc-list-item--selected",i.selected)("mat-mdc-option-multiple",i.multiple)("mat-mdc-option-active",i.active)("mdc-list-item--disabled",i.disabled))},exportAs:["matOption"],features:[nt],ngContentSelectors:Xz,decls:8,vars:5,consts:[["class","mat-mdc-option-pseudo-checkbox",3,"state","disabled",4,"ngIf"],[1,"mdc-list-item__primary-text"],["text",""],["class","mat-mdc-option-pseudo-checkbox","state","checked","appearance","minimal",3,"disabled",4,"ngIf"],["class","cdk-visually-hidden",4,"ngIf"],["mat-ripple","",1,"mat-mdc-option-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled"],[1,"mat-mdc-option-pseudo-checkbox",3,"state","disabled"],["state","checked","appearance","minimal",1,"mat-mdc-option-pseudo-checkbox",3,"disabled"],[1,"cdk-visually-hidden"]],template:function(e,i){1&e&&(Ir(Zz),V(0,Gz,1,2,"mat-pseudo-checkbox",0),Sn(1),D(2,"span",1,2),Sn(4,1),C(),V(5,qz,1,1,"mat-pseudo-checkbox",3),V(6,Kz,2,1,"span",4),xe(7,"div",5)),2&e&&(w("ngIf",i.multiple),c(5),w("ngIf",!i.multiple&&i.selected&&!i.hideSingleSelectionIndicator),c(1),w("ngIf",i.group&&i.group._inert),c(1),w("matRippleTrigger",i._getHostElement())("matRippleDisabled",i.disabled||i.disableRipple))},dependencies:[Zl,Ft,sU],styles:['.mat-mdc-option{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:16px;padding-right:16px;-webkit-user-select:none;user-select:none;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);min-height:48px}.mat-mdc-option:focus{outline:none}[dir=rtl] .mat-mdc-option,.mat-mdc-option[dir=rtl]{padding-left:16px;padding-right:16px}.mat-mdc-option.mdc-list-item{align-items:center}.mat-mdc-option.mdc-list-item--disabled{cursor:default;pointer-events:none}.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox,.mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text,.mat-mdc-option.mdc-list-item--disabled>mat-icon{opacity:.38}.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:32px}[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple){padding-left:16px;padding-right:32px}.mat-mdc-option .mat-icon,.mat-mdc-option .mat-pseudo-checkbox-full{margin-right:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-icon,[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full{margin-right:0;margin-left:16px}.mat-mdc-option .mat-pseudo-checkbox-minimal{margin-left:16px;flex-shrink:0}[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal{margin-right:16px;margin-left:0}.mat-mdc-option .mat-mdc-option-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}.mat-mdc-option .mdc-list-item__primary-text{white-space:normal;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;font-family:inherit;text-decoration:inherit;text-transform:inherit;margin-right:auto}[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text{margin-right:0;margin-left:auto}.cdk-high-contrast-active .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple)::after{content:"";position:absolute;top:50%;right:16px;transform:translateY(-50%);width:10px;height:0;border-bottom:solid 10px;border-radius:10px}[dir=rtl] .cdk-high-contrast-active .mat-mdc-option.mdc-list-item--selected:not(.mat-mdc-option-multiple)::after{right:auto;left:16px}.mat-mdc-option-active .mat-mdc-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0}),t})(),YL=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Yh,ta,Wn,aU]}),t})();function fU(t,n){}class En{constructor(){this.role="dialog",this.panelClass="",this.hasBackdrop=!0,this.backdropClass="",this.disableClose=!1,this.width="",this.height="",this.maxWidth="80vw",this.data=null,this.ariaDescribedBy=null,this.ariaLabelledBy=null,this.ariaLabel=null,this.ariaModal=!0,this.autoFocus="first-tabbable",this.restoreFocus=!0,this.delayFocusTrap=!0,this.closeOnNavigation=!0}}const n1="mdc-dialog--open",HL="mdc-dialog--opening",BL="mdc-dialog--closing";let gU=(()=>{class t extends xL{constructor(e,i,o,s,a,l,d,_){super(e,i,o,s,a,l,d,_),this._animationStateChanged=new ht}_captureInitialFocus(){this._config.delayFocusTrap||this._trapFocus()}_openAnimationDone(e){this._config.delayFocusTrap&&this._trapFocus(),this._animationStateChanged.next({state:"opened",totalTime:e})}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y($0),Y(It,8),Y(En),Y(rg),Y(ft),Y(Ah),Y(Qa))},t.\u0275cmp=Ze({type:t,selectors:[["ng-component"]],features:[nt],decls:0,vars:0,template:function(e,i){},encapsulation:2}),t})();const VL="--mat-dialog-transition-duration";function jL(t){return null==t?null:"number"==typeof t?t:t.endsWith("ms")?So(t.substring(0,t.length-2)):t.endsWith("s")?1e3*So(t.substring(0,t.length-1)):"0"===t?0:null}let _U=(()=>{class t extends gU{constructor(e,i,o,s,a,l,d,_,E){super(e,i,o,s,a,l,d,E),this._animationMode=_,this._animationsEnabled="NoopAnimations"!==this._animationMode,this._hostElement=this._elementRef.nativeElement,this._openAnimationDuration=this._animationsEnabled?jL(this._config.enterAnimationDuration)??150:0,this._closeAnimationDuration=this._animationsEnabled?jL(this._config.exitAnimationDuration)??75:0,this._animationTimer=null,this._finishDialogOpen=()=>{this._clearAnimationClasses(),this._openAnimationDone(this._openAnimationDuration)},this._finishDialogClose=()=>{this._clearAnimationClasses(),this._animationStateChanged.emit({state:"closed",totalTime:this._closeAnimationDuration})}}_contentAttached(){super._contentAttached(),this._startOpenAnimation()}ngOnDestroy(){super.ngOnDestroy(),null!==this._animationTimer&&clearTimeout(this._animationTimer)}_startOpenAnimation(){this._animationStateChanged.emit({state:"opening",totalTime:this._openAnimationDuration}),this._animationsEnabled?(this._hostElement.style.setProperty(VL,`${this._openAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(HL,n1)),this._waitForAnimationToComplete(this._openAnimationDuration,this._finishDialogOpen)):(this._hostElement.classList.add(n1),Promise.resolve().then(()=>this._finishDialogOpen()))}_startExitAnimation(){this._animationStateChanged.emit({state:"closing",totalTime:this._closeAnimationDuration}),this._hostElement.classList.remove(n1),this._animationsEnabled?(this._hostElement.style.setProperty(VL,`${this._openAnimationDuration}ms`),this._requestAnimationFrame(()=>this._hostElement.classList.add(BL)),this._waitForAnimationToComplete(this._closeAnimationDuration,this._finishDialogClose)):Promise.resolve().then(()=>this._finishDialogClose())}_clearAnimationClasses(){this._hostElement.classList.remove(HL,BL)}_waitForAnimationToComplete(e,i){null!==this._animationTimer&&clearTimeout(this._animationTimer),this._animationTimer=setTimeout(i,e)}_requestAnimationFrame(e){this._ngZone.runOutsideAngular(()=>{"function"==typeof requestAnimationFrame?requestAnimationFrame(e):e()})}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y($0),Y(It,8),Y(En),Y(rg),Y(ft),Y(Ah),Y(Ri,8),Y(Qa))},t.\u0275cmp=Ze({type:t,selectors:[["mat-dialog-container"]],hostAttrs:["tabindex","-1",1,"mat-mdc-dialog-container","mdc-dialog"],hostVars:8,hostBindings:function(e,i){2&e&&(Js("id",i._config.id),Xt("aria-modal",i._config.ariaModal)("role",i._config.role)("aria-labelledby",i._config.ariaLabel?null:i._ariaLabelledBy)("aria-label",i._config.ariaLabel)("aria-describedby",i._config.ariaDescribedBy||null),nn("_mat-animation-noopable",!i._animationsEnabled))},features:[nt],decls:3,vars:0,consts:[[1,"mdc-dialog__container"],[1,"mat-mdc-dialog-surface","mdc-dialog__surface"],["cdkPortalOutlet",""]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1),V(2,fU,0,0,"ng-template",2),C()())},dependencies:[Ja],styles:['.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-dialog,.mdc-dialog__scrim{position:fixed;top:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;width:100%;height:100%}.mdc-dialog{display:none;z-index:var(--mdc-dialog-z-index, 7)}.mdc-dialog .mdc-dialog__content{padding:20px 24px 20px 24px}.mdc-dialog .mdc-dialog__surface{min-width:280px}@media(max-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:calc(100vw - 32px)}}@media(min-width: 592px){.mdc-dialog .mdc-dialog__surface{max-width:560px}}.mdc-dialog .mdc-dialog__surface{max-height:calc(100% - 32px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-width:none}@media(max-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px;width:560px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 112px)}}@media(max-width: 720px)and (min-width: 672px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:560px}}@media(max-width: 720px)and (max-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:calc(100vh - 160px)}}@media(max-width: 720px)and (min-height: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{max-height:560px}}@media(max-width: 720px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}@media(max-width: 720px)and (max-height: 400px),(max-width: 600px),(min-width: 720px)and (max-height: 400px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{height:100%;max-height:100vh;max-width:100vw;width:100vw;border-radius:0}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{order:-1;left:-12px}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__header{padding:0 16px 9px;justify-content:flex-start}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__title{margin-left:calc(16px - 2 * 12px)}}@media(min-width: 960px){.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface{width:calc(100vw - 400px)}.mdc-dialog.mdc-dialog--fullscreen .mdc-dialog__surface .mdc-dialog__close{right:-12px}}.mdc-dialog.mdc-dialog__scrim--hidden .mdc-dialog__scrim{opacity:0}.mdc-dialog__scrim{opacity:0;z-index:-1}.mdc-dialog__container{display:flex;flex-direction:row;align-items:center;justify-content:space-around;box-sizing:border-box;height:100%;transform:scale(0.8);opacity:0;pointer-events:none}.mdc-dialog__surface{position:relative;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;box-sizing:border-box;max-width:100%;max-height:100%;pointer-events:auto;overflow-y:auto;outline:0}.mdc-dialog__surface .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}[dir=rtl] .mdc-dialog__surface,.mdc-dialog__surface[dir=rtl]{text-align:right}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-dialog__surface{outline:2px solid windowText}}.mdc-dialog__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:2px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-dialog__surface::before{border-color:CanvasText}}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.mdc-dialog__surface::before{content:none}}.mdc-dialog__title{display:block;margin-top:0;position:relative;flex-shrink:0;box-sizing:border-box;margin:0 0 1px;padding:0 24px 9px}.mdc-dialog__title::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}[dir=rtl] .mdc-dialog__title,.mdc-dialog__title[dir=rtl]{text-align:right}.mdc-dialog--scrollable .mdc-dialog__title{margin-bottom:1px;padding-bottom:15px}.mdc-dialog--fullscreen .mdc-dialog__header{align-items:baseline;border-bottom:1px solid rgba(0,0,0,0);display:inline-flex;justify-content:space-between;padding:0 24px 9px;z-index:1}@media screen and (forced-colors: active){.mdc-dialog--fullscreen .mdc-dialog__header{border-bottom-color:CanvasText}}.mdc-dialog--fullscreen .mdc-dialog__header .mdc-dialog__close{right:-12px}.mdc-dialog--fullscreen .mdc-dialog__title{margin-bottom:0;padding:0;border-bottom:0}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__title{border-bottom:0;margin-bottom:0}.mdc-dialog--fullscreen .mdc-dialog__close{top:5px}.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog--fullscreen.mdc-dialog--scrollable .mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--fullscreen--titleless .mdc-dialog__close{margin-top:4px}.mdc-dialog--fullscreen--titleless.mdc-dialog--scrollable .mdc-dialog__close{margin-top:0}.mdc-dialog__content{flex-grow:1;box-sizing:border-box;margin:0;overflow:auto}.mdc-dialog__content>:first-child{margin-top:0}.mdc-dialog__content>:last-child{margin-bottom:0}.mdc-dialog__title+.mdc-dialog__content,.mdc-dialog__header+.mdc-dialog__content{padding-top:0}.mdc-dialog--scrollable .mdc-dialog__title+.mdc-dialog__content{padding-top:8px;padding-bottom:8px}.mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:6px 0 0}.mdc-dialog--scrollable .mdc-dialog__content .mdc-deprecated-list:first-child:last-child{padding:0}.mdc-dialog__actions{display:flex;position:relative;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;box-sizing:border-box;min-height:52px;margin:0;padding:8px;border-top:1px solid rgba(0,0,0,0)}@media screen and (forced-colors: active){.mdc-dialog__actions{border-top-color:CanvasText}}.mdc-dialog--stacked .mdc-dialog__actions{flex-direction:column;align-items:flex-end}.mdc-dialog__button{margin-left:8px;margin-right:0;max-width:100%;text-align:right}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{margin-left:0;margin-right:8px}.mdc-dialog__button:first-child{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button:first-child,.mdc-dialog__button:first-child[dir=rtl]{margin-left:0;margin-right:0}[dir=rtl] .mdc-dialog__button,.mdc-dialog__button[dir=rtl]{text-align:left}.mdc-dialog--stacked .mdc-dialog__button:not(:first-child){margin-top:12px}.mdc-dialog--open,.mdc-dialog--opening,.mdc-dialog--closing{display:flex}.mdc-dialog--opening .mdc-dialog__scrim{transition:opacity 150ms linear}.mdc-dialog--opening .mdc-dialog__container{transition:opacity 75ms linear,transform 150ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-dialog--closing .mdc-dialog__scrim,.mdc-dialog--closing .mdc-dialog__container{transition:opacity 75ms linear}.mdc-dialog--closing .mdc-dialog__container{transform:none}.mdc-dialog--open .mdc-dialog__scrim{opacity:1}.mdc-dialog--open .mdc-dialog__container{transform:none;opacity:1}.mdc-dialog--open.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim{opacity:1}.mdc-dialog--open.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{transition:opacity 75ms linear}.mdc-dialog--open.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim{transition:opacity 150ms linear}.mdc-dialog__surface-scrim{display:none;opacity:0;position:absolute;width:100%;height:100%;z-index:1}.mdc-dialog__surface-scrim--shown .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--showing .mdc-dialog__surface-scrim,.mdc-dialog__surface-scrim--hiding .mdc-dialog__surface-scrim{display:block}.mdc-dialog-scroll-lock{overflow:hidden}.mdc-dialog--no-content-padding .mdc-dialog__content{padding:0}.mdc-dialog--sheet .mdc-dialog__container .mdc-dialog__close{right:12px;top:9px;position:absolute;z-index:1}.mdc-dialog__scrim--removed{pointer-events:none}.mdc-dialog__scrim--removed .mdc-dialog__scrim,.mdc-dialog__scrim--removed .mdc-dialog__surface-scrim{display:none}.mat-mdc-dialog-content{max-height:65vh}.mat-mdc-dialog-container{position:static;display:block}.mat-mdc-dialog-container,.mat-mdc-dialog-container .mdc-dialog__container,.mat-mdc-dialog-container .mdc-dialog__surface{max-height:inherit;min-height:inherit;min-width:inherit;max-width:inherit}.mat-mdc-dialog-container .mdc-dialog__surface{display:block;width:100%;height:100%}.mat-mdc-dialog-container{--mdc-dialog-container-elevation-shadow:0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);--mdc-dialog-container-shadow-color:#000;--mdc-dialog-container-shape:4px;--mdc-dialog-container-elevation: var(--mdc-dialog-container-elevation-shadow);outline:0}.mat-mdc-dialog-container .mdc-dialog__surface{background-color:var(--mdc-dialog-container-color, white)}.mat-mdc-dialog-container .mdc-dialog__surface{box-shadow:var(--mdc-dialog-container-elevation, 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12))}.mat-mdc-dialog-container .mdc-dialog__surface{border-radius:var(--mdc-dialog-container-shape, 4px)}.mat-mdc-dialog-container .mdc-dialog__title{font-family:var(--mdc-dialog-subhead-font, Roboto, sans-serif);line-height:var(--mdc-dialog-subhead-line-height, 1.5rem);font-size:var(--mdc-dialog-subhead-size, 1rem);font-weight:var(--mdc-dialog-subhead-weight, 400);letter-spacing:var(--mdc-dialog-subhead-tracking, 0.03125em)}.mat-mdc-dialog-container .mdc-dialog__title{color:var(--mdc-dialog-subhead-color, rgba(0, 0, 0, 0.87))}.mat-mdc-dialog-container .mdc-dialog__content{font-family:var(--mdc-dialog-supporting-text-font, Roboto, sans-serif);line-height:var(--mdc-dialog-supporting-text-line-height, 1.5rem);font-size:var(--mdc-dialog-supporting-text-size, 1rem);font-weight:var(--mdc-dialog-supporting-text-weight, 400);letter-spacing:var(--mdc-dialog-supporting-text-tracking, 0.03125em)}.mat-mdc-dialog-container .mdc-dialog__content{color:var(--mdc-dialog-supporting-text-color, rgba(0, 0, 0, 0.6))}.mat-mdc-dialog-container .mdc-dialog__container{transition-duration:var(--mat-dialog-transition-duration, 0ms)}.mat-mdc-dialog-container._mat-animation-noopable .mdc-dialog__container{transition:none}.mat-mdc-dialog-content{display:block}.mat-mdc-dialog-actions{justify-content:start}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-center,.mat-mdc-dialog-actions[align=center]{justify-content:center}.mat-mdc-dialog-actions.mat-mdc-dialog-actions-align-end,.mat-mdc-dialog-actions[align=end]{justify-content:flex-end}.mat-mdc-dialog-actions .mat-button-base+.mat-button-base,.mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:8px}[dir=rtl] .mat-mdc-dialog-actions .mat-button-base+.mat-button-base,[dir=rtl] .mat-mdc-dialog-actions .mat-mdc-button-base+.mat-mdc-button-base{margin-left:0;margin-right:8px}'],encapsulation:2}),t})();class Bn{constructor(n,e,i){this._ref=n,this._containerInstance=i,this._afterOpened=new J,this._beforeClosed=new J,this._state=0,this.disableClose=e.disableClose,this.id=n.id,i._animationStateChanged.pipe(_i(o=>"opened"===o.state),Kn(1)).subscribe(()=>{this._afterOpened.next(),this._afterOpened.complete()}),i._animationStateChanged.pipe(_i(o=>"closed"===o.state),Kn(1)).subscribe(()=>{clearTimeout(this._closeFallbackTimeout),this._finishDialogClose()}),n.overlayRef.detachments().subscribe(()=>{this._beforeClosed.next(this._result),this._beforeClosed.complete(),this._finishDialogClose()}),bt(this.backdropClick(),this.keydownEvents().pipe(_i(o=>27===o.keyCode&&!this.disableClose&&!Fs(o)))).subscribe(o=>{this.disableClose||(o.preventDefault(),zL(this,"keydown"===o.type?"keyboard":"mouse"))})}close(n){this._result=n,this._containerInstance._animationStateChanged.pipe(_i(e=>"closing"===e.state),Kn(1)).subscribe(e=>{this._beforeClosed.next(n),this._beforeClosed.complete(),this._ref.overlayRef.detachBackdrop(),this._closeFallbackTimeout=setTimeout(()=>this._finishDialogClose(),e.totalTime+100)}),this._state=1,this._containerInstance._startExitAnimation()}afterOpened(){return this._afterOpened}afterClosed(){return this._ref.closed}beforeClosed(){return this._beforeClosed}backdropClick(){return this._ref.backdropClick}keydownEvents(){return this._ref.keydownEvents}updatePosition(n){let e=this._ref.config.positionStrategy;return n&&(n.left||n.right)?n.left?e.left(n.left):e.right(n.right):e.centerHorizontally(),n&&(n.top||n.bottom)?n.top?e.top(n.top):e.bottom(n.bottom):e.centerVertically(),this._ref.updatePosition(),this}updateSize(n="",e=""){return this._ref.updateSize(n,e),this}addPanelClass(n){return this._ref.addPanelClass(n),this}removePanelClass(n){return this._ref.removePanelClass(n),this}getState(){return this._state}_finishDialogClose(){this._state=2,this._ref.close(this._result,{focusOrigin:this._closeInteractionType}),this.componentInstance=null}}function zL(t,n,e){return t._closeInteractionType=n,t.close(e)}const Li=new Re("MatMdcDialogData"),UL=new Re("mat-mdc-dialog-default-options"),WL=new Re("mat-mdc-dialog-scroll-strategy"),vU={provide:WL,deps:[io],useFactory:function bU(t){return()=>t.scrollStrategies.block()}};let yU=0,MU=(()=>{class t{get openDialogs(){return this._parentDialog?this._parentDialog.openDialogs:this._openDialogsAtThisLevel}get afterOpened(){return this._parentDialog?this._parentDialog.afterOpened:this._afterOpenedAtThisLevel}_getAfterAllClosed(){const e=this._parentDialog;return e?e._getAfterAllClosed():this._afterAllClosedAtThisLevel}constructor(e,i,o,s,a,l,d,_,E,F){this._overlay=e,this._defaultOptions=o,this._parentDialog=s,this._dialogRefConstructor=d,this._dialogContainerType=_,this._dialogDataToken=E,this._openDialogsAtThisLevel=[],this._afterAllClosedAtThisLevel=new J,this._afterOpenedAtThisLevel=new J,this._idPrefix="mat-dialog-",this.dialogConfigClass=En,this.afterAllClosed=jl(()=>this.openDialogs.length?this._getAfterAllClosed():this._getAfterAllClosed().pipe(Go(void 0))),this._scrollStrategy=l,this._dialog=i.get(SL)}open(e,i){let o;(i={...this._defaultOptions||new En,...i}).id=i.id||`${this._idPrefix}${yU++}`,i.scrollStrategy=i.scrollStrategy||this._scrollStrategy();const s=this._dialog.open(e,{...i,positionStrategy:this._overlay.position().global().centerHorizontally().centerVertically(),disableClose:!0,closeOnDestroy:!1,closeOnOverlayDetachments:!1,container:{type:this._dialogContainerType,providers:()=>[{provide:this.dialogConfigClass,useValue:i},{provide:sg,useValue:i}]},templateContext:()=>({dialogRef:o}),providers:(a,l,d)=>(o=new this._dialogRefConstructor(a,i,d),o.updatePosition(i?.position),[{provide:this._dialogContainerType,useValue:d},{provide:this._dialogDataToken,useValue:l.data},{provide:this._dialogRefConstructor,useValue:o}])});return o.componentInstance=s.componentInstance,this.openDialogs.push(o),this.afterOpened.next(o),o.afterClosed().subscribe(()=>{const a=this.openDialogs.indexOf(o);a>-1&&(this.openDialogs.splice(a,1),this.openDialogs.length||this._getAfterAllClosed().next())}),o}closeAll(){this._closeDialogs(this.openDialogs)}getDialogById(e){return this.openDialogs.find(i=>i.id===e)}ngOnDestroy(){this._closeDialogs(this._openDialogsAtThisLevel),this._afterAllClosedAtThisLevel.complete(),this._afterOpenedAtThisLevel.complete()}_closeDialogs(e){let i=e.length;for(;i--;)e[i].close()}}return t.\u0275fac=function(e){Aa()},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})(),In=(()=>{class t extends MU{constructor(e,i,o,s,a,l,d,_){super(e,i,s,l,d,a,Bn,_U,Li,_),this._idPrefix="mat-mdc-dialog-"}}return t.\u0275fac=function(e){return new(e||t)(we(io),we(Si),we(Xu,8),we(UL,8),we(WL),we(t,12),we(tg),we(Ri,8))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})(),wU=0,CU=(()=>{class t{constructor(e,i,o){this.dialogRef=e,this._elementRef=i,this._dialog=o,this.type="button"}ngOnInit(){this.dialogRef||(this.dialogRef=$L(this._elementRef,this._dialog.openDialogs))}ngOnChanges(e){const i=e._matDialogClose||e._matDialogCloseResult;i&&(this.dialogResult=i.currentValue)}_onButtonClick(e){zL(this.dialogRef,0===e.screenX&&0===e.screenY?"keyboard":"mouse",this.dialogResult)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn,8),Y(vt),Y(In))},t.\u0275dir=Ke({type:t,selectors:[["","mat-dialog-close",""],["","matDialogClose",""]],hostVars:2,hostBindings:function(e,i){1&e&&ye("click",function(s){return i._onButtonClick(s)}),2&e&&Xt("aria-label",i.ariaLabel||null)("type",i.type)},inputs:{ariaLabel:["aria-label","ariaLabel"],type:"type",dialogResult:["mat-dialog-close","dialogResult"],_matDialogClose:["matDialogClose","_matDialogClose"]},exportAs:["matDialogClose"],features:[Gi]}),t})(),xU=(()=>{class t{constructor(e,i,o){this._dialogRef=e,this._elementRef=i,this._dialog=o,this.id="mat-mdc-dialog-title-"+wU++}ngOnInit(){this._dialogRef||(this._dialogRef=$L(this._elementRef,this._dialog.openDialogs)),this._dialogRef&&Promise.resolve().then(()=>{const e=this._dialogRef._containerInstance;e&&!e._ariaLabelledBy&&(e._ariaLabelledBy=this.id)})}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn,8),Y(vt),Y(In))},t.\u0275dir=Ke({type:t,selectors:[["","mat-dialog-title",""],["","matDialogTitle",""]],hostAttrs:[1,"mat-mdc-dialog-title","mdc-dialog__title"],hostVars:1,hostBindings:function(e,i){2&e&&Js("id",i.id)},inputs:{id:"id"},exportAs:["matDialogTitle"]}),t})(),r1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["","mat-dialog-content",""],["mat-dialog-content"],["","matDialogContent",""]],hostAttrs:[1,"mat-mdc-dialog-content","mdc-dialog__content"]}),t})();function $L(t,n){let e=t.nativeElement.parentElement;for(;e&&!e.classList.contains("mat-mdc-dialog-container");)e=e.parentElement;return e?n.find(i=>i.id===e.id):null}let kU=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[In,vU],imports:[Wz,Td,Dd,Wn,Wn]}),t})();const qL=["mat-button",""],KL=[[["",8,"material-icons",3,"iconPositionEnd",""],["mat-icon",3,"iconPositionEnd",""],["","matButtonIcon","",3,"iconPositionEnd",""]],"*",[["","iconPositionEnd","",8,"material-icons"],["mat-icon","iconPositionEnd",""],["","matButtonIcon","","iconPositionEnd",""]]],ZL=[".material-icons:not([iconPositionEnd]), mat-icon:not([iconPositionEnd]), [matButtonIcon]:not([iconPositionEnd])","*",".material-icons[iconPositionEnd], mat-icon[iconPositionEnd], [matButtonIcon][iconPositionEnd]"],XL=".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}",DU=["mat-icon-button",""],TU=["*"],JL={capture:!0},QL=["focus","click","mouseenter","touchstart"],Hh="mat-button-ripple-uninitialized";let LU=(()=>{class t{constructor(){this._document=Qe(It,{optional:!0}),this._animationMode=Qe(Ri,{optional:!0}),this._globalRippleOptions=Qe(t1,{optional:!0}),this._platform=Qe(ui),this._ngZone=Qe(ft),this._onInteraction=e=>{if(e.target===this._document)return;const o=e.target.closest(`[${Hh}]`);o&&(o.removeAttribute(Hh),this._appendRipple(o))},this._ngZone.runOutsideAngular(()=>{for(const e of QL)this._document?.addEventListener(e,this._onInteraction,JL)})}ngOnDestroy(){for(const e of QL)this._document?.removeEventListener(e,this._onInteraction,JL)}_appendRipple(e){if(!this._document)return;const i=this._document.createElement("span");i.classList.add("mat-mdc-button-ripple");const o=new EU(e,this._globalRippleOptions?this._globalRippleOptions:void 0,this._animationMode?this._animationMode:void 0);o.rippleConfig.centered=e.hasAttribute("mat-icon-button"),new Id(o,this._ngZone,i,this._platform).setupTriggerEvents(e),e.append(i)}_createMatRipple(e){if(!this._document)return;e.querySelector(".mat-mdc-button-ripple")?.remove(),e.removeAttribute(Hh);const i=this._document.createElement("span");i.classList.add("mat-mdc-button-ripple");const o=new Zl(new vt(i),this._ngZone,this._platform,this._globalRippleOptions?this._globalRippleOptions:void 0,this._animationMode?this._animationMode:void 0);return o._isInitialized=!0,o.trigger=e,e.append(i),o}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class EU{constructor(n,e,i){this._button=n,this._globalRippleOptions=e,this._setRippleConfig(e,i)}_setRippleConfig(n,e){this.rippleConfig=n||{},"NoopAnimations"===e&&(this.rippleConfig.animation={enterDuration:0,exitDuration:0})}get rippleDisabled(){return this._button.hasAttribute("disabled")||!!this._globalRippleOptions?.disabled}}const IU=[{selector:"mat-button",mdcClasses:["mdc-button","mat-mdc-button"]},{selector:"mat-flat-button",mdcClasses:["mdc-button","mdc-button--unelevated","mat-mdc-unelevated-button"]},{selector:"mat-raised-button",mdcClasses:["mdc-button","mdc-button--raised","mat-mdc-raised-button"]},{selector:"mat-stroked-button",mdcClasses:["mdc-button","mdc-button--outlined","mat-mdc-outlined-button"]},{selector:"mat-fab",mdcClasses:["mdc-fab","mat-mdc-fab"]},{selector:"mat-mini-fab",mdcClasses:["mdc-fab","mdc-fab--mini","mat-mdc-mini-fab"]},{selector:"mat-icon-button",mdcClasses:["mdc-icon-button","mat-mdc-icon-button"]}],PU=Fh(Ed(Rh(class{constructor(t){this._elementRef=t}})));let o1=(()=>{class t extends PU{get ripple(){return!this._ripple&&this._rippleLoader&&(this._ripple=this._rippleLoader._createMatRipple(this._elementRef.nativeElement)),this._ripple}set ripple(e){this._ripple=e}constructor(e,i,o,s){super(e),this._platform=i,this._ngZone=o,this._animationMode=s,this._focusMonitor=Qe(Qa),this._rippleLoader=Qe(LU),this._isFab=!1;const a=e.nativeElement.classList;for(const l of IU)this._hasHostAttributes(l.selector)&&l.mdcClasses.forEach(d=>{a.add(d)})}ngAfterViewInit(){this._focusMonitor.monitor(this._elementRef,!0)}ngOnDestroy(){this._focusMonitor.stopMonitoring(this._elementRef)}focus(e="program",i){e?this._focusMonitor.focusVia(this._elementRef.nativeElement,e,i):this._elementRef.nativeElement.focus(i)}_hasHostAttributes(...e){return e.some(i=>this._elementRef.nativeElement.hasAttribute(i))}_isRippleDisabled(){this._ripple&&(this._ripple.disabled=this.disableRipple||this.disabled)}}return t.\u0275fac=function(e){Aa()},t.\u0275dir=Ke({type:t,features:[nt]}),t})(),AU=(()=>{class t extends o1{constructor(e,i,o,s){super(e,i,o,s),this._haltDisabledEvents=a=>{this.disabled&&(a.preventDefault(),a.stopImmediatePropagation())}}ngOnInit(){this._ngZone.runOutsideAngular(()=>{this._elementRef.nativeElement.addEventListener("click",this._haltDisabledEvents)})}ngOnDestroy(){super.ngOnDestroy(),this._elementRef.nativeElement.removeEventListener("click",this._haltDisabledEvents)}}return t.\u0275fac=function(e){Aa()},t.\u0275dir=Ke({type:t,features:[nt]}),t})(),Wr=(()=>{class t extends o1{constructor(e,i,o,s){super(e,i,o,s)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ui),Y(ft),Y(Ri,8))},t.\u0275cmp=Ze({type:t,selectors:[["button","mat-button",""],["button","mat-raised-button",""],["button","mat-flat-button",""],["button","mat-stroked-button",""]],hostAttrs:["mat-button-ripple-uninitialized",""],hostVars:9,hostBindings:function(e,i){2&e&&(Xt("disabled",i.disabled||null)("mat-button-disabled",i._isRippleDisabled())("mat-button-is-fab",i._isFab),nn("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-unthemed",!i.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[nt],attrs:qL,ngContentSelectors:ZL,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(e,i){1&e&&(Ir(KL),xe(0,"span",0),Sn(1),D(2,"span",1),Sn(3,1),C(),Sn(4,2),xe(5,"span",2)(6,"span",3)),2&e&&nn("mdc-button__ripple",!i._isFab)("mdc-fab__ripple",i._isFab)},styles:['.mdc-touch-target-wrapper{display:inline}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0)}.mdc-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button .mdc-button__progress-indicator{font-size:0;position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;line-height:initial}.mdc-button .mdc-button__label{position:relative}.mdc-button .mdc-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(\n 100% + 4px\n );width:calc(\n 100% + 4px\n );display:none}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring{border-color:CanvasText}}.mdc-button .mdc-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring::after{border-color:CanvasText}}@media screen and (forced-colors: active){.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring{display:block}}.mdc-button .mdc-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--touch{margin-top:6px;margin-bottom:6px}.mdc-button{padding:0 8px 0 8px}.mdc-button--unelevated{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--unelevated.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--unelevated.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--raised{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--raised.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--raised.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--outlined{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--outlined .mdc-button__ripple{border-style:solid;border-color:rgba(0,0,0,0)}.mat-mdc-button{height:var(--mdc-text-button-container-height, 36px);border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color, inherit)}.mat-mdc-button:disabled{color:var(--mdc-text-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button{height:var(--mdc-filled-button-container-height, 36px);border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button:not(:disabled){background-color:var(--mdc-filled-button-container-color, transparent)}.mat-mdc-unelevated-button:disabled{background-color:var(--mdc-filled-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color, inherit)}.mat-mdc-unelevated-button:disabled{color:var(--mdc-filled-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button{height:var(--mdc-protected-button-container-height, 36px);border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px));box-shadow:var(--mdc-protected-button-container-elevation, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){background-color:var(--mdc-protected-button-container-color, transparent)}.mat-mdc-raised-button:disabled{background-color:var(--mdc-protected-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color, inherit)}.mat-mdc-raised-button:disabled{color:var(--mdc-protected-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button.mdc-ripple-upgraded--background-focused,.mat-mdc-raised-button:not(.mdc-ripple-upgraded):focus{box-shadow:var(--mdc-protected-button-focus-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled):active{box-shadow:var(--mdc-protected-button-pressed-container-elevation, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation, 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button{height:var(--mdc-outlined-button-container-height, 36px);border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px));padding:0 15px 0 15px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color, inherit)}.mat-mdc-outlined-button:disabled{color:var(--mdc-outlined-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-outlined-button .mdc-button__ripple{border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-outlined-button:not(:disabled){border-color:var(--mdc-outlined-button-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button:disabled{border-color:var(--mdc-outlined-button-disabled-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button.mdc-button--icon-trailing{padding:0 11px 0 15px}.mat-mdc-outlined-button.mdc-button--icon-leading{padding:0 15px 0 11px}.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button .mdc-button__touch{left:calc(-1 * var(--mdc-outlined-button-outline-width, 1px));width:calc(100% + 2 * var(--mdc-outlined-button-outline-width, 1px))}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-button .mat-ripple-element,.mat-mdc-unelevated-button .mat-ripple-element,.mat-mdc-raised-button .mat-ripple-element,.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.mat-mdc-button .mdc-button__label,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-outlined-button .mdc-button__label{z-index:1}.mat-mdc-button .mat-mdc-focus-indicator,.mat-mdc-unelevated-button .mat-mdc-focus-indicator,.mat-mdc-raised-button .mat-mdc-focus-indicator,.mat-mdc-outlined-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-unelevated-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-raised-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-outlined-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-button[disabled],.mat-mdc-unelevated-button[disabled],.mat-mdc-raised-button[disabled],.mat-mdc-outlined-button[disabled]{cursor:default;pointer-events:none}.mat-mdc-button .mat-mdc-button-touch-target,.mat-mdc-unelevated-button .mat-mdc-button-touch-target,.mat-mdc-raised-button .mat-mdc-button-touch-target,.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}[dir=rtl] .mat-mdc-button>.mat-icon,.mat-mdc-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}.mat-mdc-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon,.mat-mdc-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-left:-4px;margin-right:8px}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:-4px}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon,.mat-mdc-raised-button .mdc-button__label+.mat-icon,.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:-4px}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon,.mat-mdc-unelevated-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-raised-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-outlined-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:-4px;margin-right:8px}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:-1px}.mat-mdc-unelevated-button .mat-mdc-focus-indicator::before,.mat-mdc-raised-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-mdc-outlined-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 3px) * -1)}',".cdk-high-contrast-active .mat-mdc-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-unelevated-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-raised-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-outlined-button:not(.mdc-button--outlined),.cdk-high-contrast-active .mat-mdc-icon-button{outline:solid 1px}"],encapsulation:2,changeDetection:0}),t})(),FU=(()=>{class t extends AU{constructor(e,i,o,s){super(e,i,o,s)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ui),Y(ft),Y(Ri,8))},t.\u0275cmp=Ze({type:t,selectors:[["a","mat-button",""],["a","mat-raised-button",""],["a","mat-flat-button",""],["a","mat-stroked-button",""]],hostAttrs:["mat-button-ripple-uninitialized",""],hostVars:11,hostBindings:function(e,i){2&e&&(Xt("disabled",i.disabled||null)("tabindex",i.disabled?-1:i.tabIndex)("aria-disabled",i.disabled.toString())("mat-button-disabled",i._isRippleDisabled())("mat-button-is-fab",i._isFab),nn("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-unthemed",!i.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matButton","matAnchor"],features:[nt],attrs:qL,ngContentSelectors:ZL,decls:7,vars:4,consts:[[1,"mat-mdc-button-persistent-ripple"],[1,"mdc-button__label"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(e,i){1&e&&(Ir(KL),xe(0,"span",0),Sn(1),D(2,"span",1),Sn(3,1),C(),Sn(4,2),xe(5,"span",2)(6,"span",3)),2&e&&nn("mdc-button__ripple",!i._isFab)("mdc-fab__ripple",i._isFab)},styles:['.mdc-touch-target-wrapper{display:inline}.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:var(--mdc-elevation-overlay-opacity, 0);transition:opacity 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:rgba(0,0,0,0)}.mdc-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{cursor:default;pointer-events:none}.mdc-button[hidden]{display:none}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button .mdc-button__progress-indicator{font-size:0;position:absolute;transform:translate(-50%, -50%);top:50%;left:50%;line-height:initial}.mdc-button .mdc-button__label{position:relative}.mdc-button .mdc-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(\n 100% + 4px\n );width:calc(\n 100% + 4px\n );display:none}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring{border-color:CanvasText}}.mdc-button .mdc-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-button .mdc-button__focus-ring::after{border-color:CanvasText}}@media screen and (forced-colors: active){.mdc-button.mdc-ripple-upgraded--background-focused .mdc-button__focus-ring,.mdc-button:not(.mdc-ripple-upgraded):focus .mdc-button__focus-ring{display:block}}.mdc-button .mdc-button__touch{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--touch{margin-top:6px;margin-bottom:6px}.mdc-button{padding:0 8px 0 8px}.mdc-button--unelevated{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--unelevated.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--unelevated.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--raised{transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);padding:0 16px 0 16px}.mdc-button--raised.mdc-button--icon-trailing{padding:0 12px 0 16px}.mdc-button--raised.mdc-button--icon-leading{padding:0 16px 0 12px}.mdc-button--outlined{border-style:solid;transition:border 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--outlined .mdc-button__ripple{border-style:solid;border-color:rgba(0,0,0,0)}.mat-mdc-button{height:var(--mdc-text-button-container-height, 36px);border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-button:not(:disabled){color:var(--mdc-text-button-label-text-color, inherit)}.mat-mdc-button:disabled{color:var(--mdc-text-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-button .mdc-button__ripple{border-radius:var(--mdc-text-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button{height:var(--mdc-filled-button-container-height, 36px);border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-unelevated-button:not(:disabled){background-color:var(--mdc-filled-button-container-color, transparent)}.mat-mdc-unelevated-button:disabled{background-color:var(--mdc-filled-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-unelevated-button:not(:disabled){color:var(--mdc-filled-button-label-text-color, inherit)}.mat-mdc-unelevated-button:disabled{color:var(--mdc-filled-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-unelevated-button .mdc-button__ripple{border-radius:var(--mdc-filled-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button{height:var(--mdc-protected-button-container-height, 36px);border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px));box-shadow:var(--mdc-protected-button-container-elevation, 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){background-color:var(--mdc-protected-button-container-color, transparent)}.mat-mdc-raised-button:disabled{background-color:var(--mdc-protected-button-disabled-container-color, rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled){color:var(--mdc-protected-button-label-text-color, inherit)}.mat-mdc-raised-button:disabled{color:var(--mdc-protected-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-raised-button .mdc-button__ripple{border-radius:var(--mdc-protected-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-raised-button.mdc-ripple-upgraded--background-focused,.mat-mdc-raised-button:not(.mdc-ripple-upgraded):focus{box-shadow:var(--mdc-protected-button-focus-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:hover{box-shadow:var(--mdc-protected-button-hover-container-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:not(:disabled):active{box-shadow:var(--mdc-protected-button-pressed-container-elevation, 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12))}.mat-mdc-raised-button:disabled{box-shadow:var(--mdc-protected-button-disabled-container-elevation, 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button{height:var(--mdc-outlined-button-container-height, 36px);border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px));padding:0 15px 0 15px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button:not(:disabled){color:var(--mdc-outlined-button-label-text-color, inherit)}.mat-mdc-outlined-button:disabled{color:var(--mdc-outlined-button-disabled-label-text-color, rgba(0, 0, 0, 0.38))}.mat-mdc-outlined-button .mdc-button__ripple{border-radius:var(--mdc-outlined-button-container-shape, var(--mdc-shape-small, 4px))}.mat-mdc-outlined-button:not(:disabled){border-color:var(--mdc-outlined-button-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button:disabled{border-color:var(--mdc-outlined-button-disabled-outline-color, rgba(0, 0, 0, 0.12))}.mat-mdc-outlined-button.mdc-button--icon-trailing{padding:0 11px 0 15px}.mat-mdc-outlined-button.mdc-button--icon-leading{padding:0 15px 0 11px}.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:var(--mdc-outlined-button-outline-width, 1px)}.mat-mdc-outlined-button .mdc-button__touch{left:calc(-1 * var(--mdc-outlined-button-outline-width, 1px));width:calc(100% + 2 * var(--mdc-outlined-button-outline-width, 1px))}.mat-mdc-button,.mat-mdc-unelevated-button,.mat-mdc-raised-button,.mat-mdc-outlined-button{-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple,.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-button .mat-mdc-button-ripple,.mat-mdc-unelevated-button .mat-mdc-button-ripple,.mat-mdc-raised-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-unelevated-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-raised-button .mat-mdc-button-persistent-ripple::before,.mat-mdc-outlined-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-button .mat-ripple-element,.mat-mdc-unelevated-button .mat-ripple-element,.mat-mdc-raised-button .mat-ripple-element,.mat-mdc-outlined-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.mat-mdc-button .mdc-button__label,.mat-mdc-unelevated-button .mdc-button__label,.mat-mdc-raised-button .mdc-button__label,.mat-mdc-outlined-button .mdc-button__label{z-index:1}.mat-mdc-button .mat-mdc-focus-indicator,.mat-mdc-unelevated-button .mat-mdc-focus-indicator,.mat-mdc-raised-button .mat-mdc-focus-indicator,.mat-mdc-outlined-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-unelevated-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-raised-button:focus .mat-mdc-focus-indicator::before,.mat-mdc-outlined-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-button[disabled],.mat-mdc-unelevated-button[disabled],.mat-mdc-raised-button[disabled],.mat-mdc-outlined-button[disabled]{cursor:default;pointer-events:none}.mat-mdc-button .mat-mdc-button-touch-target,.mat-mdc-unelevated-button .mat-mdc-button-touch-target,.mat-mdc-raised-button .mat-mdc-button-touch-target,.mat-mdc-outlined-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:0;right:0;transform:translateY(-50%)}.mat-mdc-button._mat-animation-noopable,.mat-mdc-unelevated-button._mat-animation-noopable,.mat-mdc-raised-button._mat-animation-noopable,.mat-mdc-outlined-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem}[dir=rtl] .mat-mdc-button>.mat-icon,.mat-mdc-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}.mat-mdc-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-button .mdc-button__label+.mat-icon,.mat-mdc-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-unelevated-button>.mat-icon,.mat-mdc-raised-button>.mat-icon,.mat-mdc-outlined-button>.mat-icon{margin-left:0;margin-right:8px;display:inline-block;position:relative;vertical-align:top;font-size:1.125rem;height:1.125rem;width:1.125rem;margin-left:-4px;margin-right:8px}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:0}[dir=rtl] .mat-mdc-unelevated-button>.mat-icon,[dir=rtl] .mat-mdc-raised-button>.mat-icon,[dir=rtl] .mat-mdc-outlined-button>.mat-icon,.mat-mdc-unelevated-button>.mat-icon[dir=rtl],.mat-mdc-raised-button>.mat-icon[dir=rtl],.mat-mdc-outlined-button>.mat-icon[dir=rtl]{margin-left:8px;margin-right:-4px}.mat-mdc-unelevated-button .mdc-button__label+.mat-icon,.mat-mdc-raised-button .mdc-button__label+.mat-icon,.mat-mdc-outlined-button .mdc-button__label+.mat-icon{margin-left:8px;margin-right:-4px}[dir=rtl] .mat-mdc-unelevated-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-raised-button .mdc-button__label+.mat-icon,[dir=rtl] .mat-mdc-outlined-button .mdc-button__label+.mat-icon,.mat-mdc-unelevated-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-raised-button .mdc-button__label+.mat-icon[dir=rtl],.mat-mdc-outlined-button .mdc-button__label+.mat-icon[dir=rtl]{margin-left:-4px;margin-right:8px}.mat-mdc-outlined-button .mat-mdc-button-ripple,.mat-mdc-outlined-button .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:-1px}.mat-mdc-unelevated-button .mat-mdc-focus-indicator::before,.mat-mdc-raised-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 2px) * -1)}.mat-mdc-outlined-button .mat-mdc-focus-indicator::before{margin:calc(calc(var(--mat-mdc-focus-indicator-border-width, 3px) + 3px) * -1)}',XL],encapsulation:2,changeDetection:0}),t})(),el=(()=>{class t extends o1{get ripple(){return!this._ripple&&this._rippleLoader&&(this._ripple=this._rippleLoader._createMatRipple(this._elementRef.nativeElement),this._ripple.centered=!0),this._ripple}constructor(e,i,o,s){super(e,i,o,s)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ui),Y(ft),Y(Ri,8))},t.\u0275cmp=Ze({type:t,selectors:[["button","mat-icon-button",""]],hostAttrs:["mat-button-ripple-uninitialized",""],hostVars:9,hostBindings:function(e,i){2&e&&(Xt("disabled",i.disabled||null)("mat-button-disabled",i._isRippleDisabled())("mat-button-is-fab",i._isFab),nn("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mat-unthemed",!i.color)("mat-mdc-button-base",!0))},inputs:{disabled:"disabled",disableRipple:"disableRipple",color:"color"},exportAs:["matButton"],features:[nt],attrs:DU,ngContentSelectors:TU,decls:4,vars:0,consts:[[1,"mat-mdc-button-persistent-ripple","mdc-icon-button__ripple"],[1,"mat-mdc-focus-indicator"],[1,"mat-mdc-button-touch-target"]],template:function(e,i){1&e&&(Ir(),xe(0,"span",0),Sn(1),xe(2,"span",1)(3,"span",2))},styles:['.mdc-icon-button{display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:rgba(0,0,0,0);fill:currentColor;color:inherit;text-decoration:none;cursor:pointer;user-select:none;z-index:0;overflow:visible}.mdc-icon-button .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}@media screen and (forced-colors: active){.mdc-icon-button.mdc-ripple-upgraded--background-focused .mdc-icon-button__focus-ring,.mdc-icon-button:not(.mdc-ripple-upgraded):focus .mdc-icon-button__focus-ring{display:block}}.mdc-icon-button:disabled{cursor:default;pointer-events:none}.mdc-icon-button[hidden]{display:none}.mdc-icon-button--display-flex{align-items:center;display:inline-flex;justify-content:center}.mdc-icon-button__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%;display:none}@media screen and (forced-colors: active){.mdc-icon-button__focus-ring{border-color:CanvasText}}.mdc-icon-button__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-icon-button__focus-ring::after{border-color:CanvasText}}.mdc-icon-button__icon{display:inline-block}.mdc-icon-button__icon.mdc-icon-button__icon--on{display:none}.mdc-icon-button--on .mdc-icon-button__icon{display:none}.mdc-icon-button--on .mdc-icon-button__icon.mdc-icon-button__icon--on{display:inline-block}.mdc-icon-button__link{height:100%;left:0;outline:none;position:absolute;top:0;width:100%}.mat-mdc-icon-button{height:var(--mdc-icon-button-state-layer-size);width:var(--mdc-icon-button-state-layer-size);color:var(--mdc-icon-button-icon-color);--mdc-icon-button-state-layer-size:48px;--mdc-icon-button-icon-size:24px;--mdc-icon-button-disabled-icon-color:black;--mdc-icon-button-disabled-icon-opacity:0.38}.mat-mdc-icon-button .mdc-button__icon{font-size:var(--mdc-icon-button-icon-size)}.mat-mdc-icon-button svg,.mat-mdc-icon-button img{width:var(--mdc-icon-button-icon-size);height:var(--mdc-icon-button-icon-size)}.mat-mdc-icon-button:disabled{opacity:var(--mdc-icon-button-disabled-icon-opacity)}.mat-mdc-icon-button:disabled{color:var(--mdc-icon-button-disabled-icon-color)}.mat-mdc-icon-button{padding:12px;font-size:var(--mdc-icon-button-icon-size);border-radius:50%;flex-shrink:0;text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-icon-button svg{vertical-align:baseline}.mat-mdc-icon-button[disabled]{cursor:default;pointer-events:none;opacity:1}.mat-mdc-icon-button .mat-mdc-button-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none;border-radius:inherit}.mat-mdc-icon-button .mat-mdc-button-ripple{overflow:hidden}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before{content:"";opacity:0;background-color:var(--mat-mdc-button-persistent-ripple-color)}.mat-mdc-icon-button .mat-ripple-element{background-color:var(--mat-mdc-button-ripple-color)}.mat-mdc-icon-button .mdc-button__label{z-index:1}.mat-mdc-icon-button .mat-mdc-focus-indicator{top:0;left:0;right:0;bottom:0;position:absolute}.mat-mdc-icon-button:focus .mat-mdc-focus-indicator::before{content:""}.mat-mdc-icon-button .mat-mdc-button-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mat-mdc-icon-button._mat-animation-noopable{transition:none !important;animation:none !important}.mat-mdc-icon-button .mat-mdc-button-persistent-ripple{border-radius:50%}.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before,.mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before{background:rgba(0,0,0,0);opacity:1}',XL],encapsulation:2,changeDetection:0}),t})(),eE=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn,Yh,Wn]}),t})();function NU(t,n){if(1&t){const e=et();D(0,"div",2)(1,"button",3),ye("click",function(){return Pe(e),Oe(z().action())}),I(2),C()()}if(2&t){const e=z();c(2),ce(" ",e.data.action," ")}}const YU=["label"];function HU(t,n){}const BU=Math.pow(2,31)-1;class ag{constructor(n,e){this._overlayRef=e,this._afterDismissed=new J,this._afterOpened=new J,this._onAction=new J,this._dismissedByAction=!1,this.containerInstance=n,n._onExit.subscribe(()=>this._finishDismiss())}dismiss(){this._afterDismissed.closed||this.containerInstance.exit(),clearTimeout(this._durationTimeoutId)}dismissWithAction(){this._onAction.closed||(this._dismissedByAction=!0,this._onAction.next(),this._onAction.complete(),this.dismiss()),clearTimeout(this._durationTimeoutId)}closeWithAction(){this.dismissWithAction()}_dismissAfter(n){this._durationTimeoutId=setTimeout(()=>this.dismiss(),Math.min(n,BU))}_open(){this._afterOpened.closed||(this._afterOpened.next(),this._afterOpened.complete())}_finishDismiss(){this._overlayRef.dispose(),this._onAction.closed||this._onAction.complete(),this._afterDismissed.next({dismissedByAction:this._dismissedByAction}),this._afterDismissed.complete(),this._dismissedByAction=!1}afterDismissed(){return this._afterDismissed}afterOpened(){return this.containerInstance._onEnter}onAction(){return this._onAction}}const s1=new Re("MatSnackBarData");class lg{constructor(){this.politeness="assertive",this.announcementMessage="",this.duration=0,this.data=null,this.horizontalPosition="center",this.verticalPosition="bottom"}}let VU=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["","matSnackBarLabel",""]],hostAttrs:[1,"mat-mdc-snack-bar-label","mdc-snackbar__label"]}),t})(),jU=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["","matSnackBarActions",""]],hostAttrs:[1,"mat-mdc-snack-bar-actions","mdc-snackbar__actions"]}),t})(),zU=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["","matSnackBarAction",""]],hostAttrs:[1,"mat-mdc-snack-bar-action","mdc-snackbar__action"]}),t})(),UU=(()=>{class t{constructor(e,i){this.snackBarRef=e,this.data=i}action(){this.snackBarRef.dismissWithAction()}get hasAction(){return!!this.data.action}}return t.\u0275fac=function(e){return new(e||t)(Y(ag),Y(s1))},t.\u0275cmp=Ze({type:t,selectors:[["simple-snack-bar"]],hostAttrs:[1,"mat-mdc-simple-snack-bar"],exportAs:["matSnackBar"],decls:3,vars:2,consts:[["matSnackBarLabel",""],["matSnackBarActions","",4,"ngIf"],["matSnackBarActions",""],["mat-button","","matSnackBarAction","",3,"click"]],template:function(e,i){1&e&&(D(0,"div",0),I(1),C(),V(2,NU,3,1,"div",1)),2&e&&(c(1),ce(" ",i.data.message,"\n"),c(1),w("ngIf",i.hasAction))},dependencies:[Ft,Wr,VU,jU,zU],styles:[".mat-mdc-simple-snack-bar{display:flex}"],encapsulation:2,changeDetection:0}),t})();const WU={snackBarState:ia("state",[yo("void, hidden",Qn({transform:"scale(0.8)",opacity:0})),yo("visible",Qn({transform:"scale(1)",opacity:1})),Pr("* => visible",Ur("150ms cubic-bezier(0, 0, 0.2, 1)")),Pr("* => void, * => hidden",Ur("75ms cubic-bezier(0.4, 0.0, 1, 1)",Qn({opacity:0})))])};let $U=0,GU=(()=>{class t extends Zm{constructor(e,i,o,s,a){super(),this._ngZone=e,this._elementRef=i,this._changeDetectorRef=o,this._platform=s,this.snackBarConfig=a,this._document=Qe(It),this._trackedModals=new Set,this._announceDelay=150,this._destroyed=!1,this._onAnnounce=new J,this._onExit=new J,this._onEnter=new J,this._animationState="void",this._liveElementId="mat-snack-bar-container-live-"+$U++,this.attachDomPortal=l=>{this._assertNotAttached();const d=this._portalOutlet.attachDomPortal(l);return this._afterPortalAttached(),d},this._live="assertive"!==a.politeness||a.announcementMessage?"off"===a.politeness?"off":"polite":"assertive",this._platform.FIREFOX&&("polite"===this._live&&(this._role="status"),"assertive"===this._live&&(this._role="alert"))}attachComponentPortal(e){this._assertNotAttached();const i=this._portalOutlet.attachComponentPortal(e);return this._afterPortalAttached(),i}attachTemplatePortal(e){this._assertNotAttached();const i=this._portalOutlet.attachTemplatePortal(e);return this._afterPortalAttached(),i}onAnimationEnd(e){const{fromState:i,toState:o}=e;if(("void"===o&&"void"!==i||"hidden"===o)&&this._completeExit(),"visible"===o){const s=this._onEnter;this._ngZone.run(()=>{s.next(),s.complete()})}}enter(){this._destroyed||(this._animationState="visible",this._changeDetectorRef.detectChanges(),this._screenReaderAnnounce())}exit(){return this._ngZone.run(()=>{this._animationState="hidden",this._elementRef.nativeElement.setAttribute("mat-exit",""),clearTimeout(this._announceTimeoutId)}),this._onExit}ngOnDestroy(){this._destroyed=!0,this._clearFromModals(),this._completeExit()}_completeExit(){this._ngZone.onMicrotaskEmpty.pipe(Kn(1)).subscribe(()=>{this._ngZone.run(()=>{this._onExit.next(),this._onExit.complete()})})}_afterPortalAttached(){const e=this._elementRef.nativeElement,i=this.snackBarConfig.panelClass;i&&(Array.isArray(i)?i.forEach(o=>e.classList.add(o)):e.classList.add(i)),this._exposeToModals()}_exposeToModals(){const e=this._liveElementId,i=this._document.querySelectorAll('body > .cdk-overlay-container [aria-modal="true"]');for(let o=0;o{const i=e.getAttribute("aria-owns");if(i){const o=i.replace(this._liveElementId,"").trim();o.length>0?e.setAttribute("aria-owns",o):e.removeAttribute("aria-owns")}}),this._trackedModals.clear()}_assertNotAttached(){this._portalOutlet.hasAttached()}_screenReaderAnnounce(){this._announceTimeoutId||this._ngZone.runOutsideAngular(()=>{this._announceTimeoutId=setTimeout(()=>{const e=this._elementRef.nativeElement.querySelector("[aria-hidden]"),i=this._elementRef.nativeElement.querySelector("[aria-live]");if(e&&i){let o=null;this._platform.isBrowser&&document.activeElement instanceof HTMLElement&&e.contains(document.activeElement)&&(o=document.activeElement),e.removeAttribute("aria-hidden"),i.appendChild(e),o?.focus(),this._onAnnounce.next(),this._onAnnounce.complete()}},this._announceDelay)})}}return t.\u0275fac=function(e){return new(e||t)(Y(ft),Y(vt),Y(pi),Y(ui),Y(lg))},t.\u0275dir=Ke({type:t,viewQuery:function(e,i){if(1&e&&_t(Ja,7),2&e){let o;rt(o=ot())&&(i._portalOutlet=o.first)}},features:[nt]}),t})(),qU=(()=>{class t extends GU{_afterPortalAttached(){super._afterPortalAttached();const e=this._label.nativeElement,i="mdc-snackbar__label";e.classList.toggle(i,!e.querySelector(`.${i}`))}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["mat-snack-bar-container"]],viewQuery:function(e,i){if(1&e&&_t(YU,7),2&e){let o;rt(o=ot())&&(i._label=o.first)}},hostAttrs:[1,"mdc-snackbar","mat-mdc-snack-bar-container","mdc-snackbar--open"],hostVars:1,hostBindings:function(e,i){1&e&&lv("@state.done",function(s){return i.onAnimationEnd(s)}),2&e&&pv("@state",i._animationState)},features:[nt],decls:6,vars:3,consts:[[1,"mdc-snackbar__surface"],[1,"mat-mdc-snack-bar-label"],["label",""],["aria-hidden","true"],["cdkPortalOutlet",""]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1,2)(3,"div",3),V(4,HU,0,0,"ng-template",4),C(),xe(5,"div"),C()()),2&e&&(c(5),Xt("aria-live",i._live)("role",i._role)("id",i._liveElementId))},dependencies:[Ja],styles:['.mdc-snackbar{display:none;position:fixed;right:0;bottom:0;left:0;align-items:center;justify-content:center;box-sizing:border-box;pointer-events:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mdc-snackbar--opening,.mdc-snackbar--open,.mdc-snackbar--closing{display:flex}.mdc-snackbar--open .mdc-snackbar__label,.mdc-snackbar--open .mdc-snackbar__actions{visibility:visible}.mdc-snackbar__surface{padding-left:0;padding-right:8px;display:flex;align-items:center;justify-content:flex-start;box-sizing:border-box;transform:scale(0.8);opacity:0}.mdc-snackbar__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-snackbar__surface::before{border-color:CanvasText}}[dir=rtl] .mdc-snackbar__surface,.mdc-snackbar__surface[dir=rtl]{padding-left:8px;padding-right:0}.mdc-snackbar--open .mdc-snackbar__surface{transform:scale(1);opacity:1;pointer-events:auto}.mdc-snackbar--closing .mdc-snackbar__surface{transform:scale(1)}.mdc-snackbar__label{padding-left:16px;padding-right:8px;width:100%;flex-grow:1;box-sizing:border-box;margin:0;visibility:hidden;padding-top:14px;padding-bottom:14px}[dir=rtl] .mdc-snackbar__label,.mdc-snackbar__label[dir=rtl]{padding-left:8px;padding-right:16px}.mdc-snackbar__label::before{display:inline;content:attr(data-mdc-snackbar-label-text)}.mdc-snackbar__actions{display:flex;flex-shrink:0;align-items:center;box-sizing:border-box;visibility:hidden}.mdc-snackbar__action+.mdc-snackbar__dismiss{margin-left:8px;margin-right:0}[dir=rtl] .mdc-snackbar__action+.mdc-snackbar__dismiss,.mdc-snackbar__action+.mdc-snackbar__dismiss[dir=rtl]{margin-left:0;margin-right:8px}.mat-mdc-snack-bar-container{margin:8px;--mdc-snackbar-container-shape:4px;position:static}.mat-mdc-snack-bar-container .mdc-snackbar__surface{min-width:344px}@media(max-width: 480px),(max-width: 344px){.mat-mdc-snack-bar-container .mdc-snackbar__surface{min-width:100%}}@media(max-width: 480px),(max-width: 344px){.mat-mdc-snack-bar-container{width:100vw}}.mat-mdc-snack-bar-container .mdc-snackbar__surface{max-width:672px}.mat-mdc-snack-bar-container .mdc-snackbar__surface{box-shadow:0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)}.mat-mdc-snack-bar-container .mdc-snackbar__surface{background-color:var(--mdc-snackbar-container-color)}.mat-mdc-snack-bar-container .mdc-snackbar__surface{border-radius:var(--mdc-snackbar-container-shape)}.mat-mdc-snack-bar-container .mdc-snackbar__label{color:var(--mdc-snackbar-supporting-text-color)}.mat-mdc-snack-bar-container .mdc-snackbar__label{font-size:var(--mdc-snackbar-supporting-text-size);font-family:var(--mdc-snackbar-supporting-text-font);font-weight:var(--mdc-snackbar-supporting-text-weight);line-height:var(--mdc-snackbar-supporting-text-line-height)}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled){color:var(--mat-snack-bar-button-color);--mat-mdc-button-persistent-ripple-color: currentColor}.mat-mdc-snack-bar-container .mat-mdc-button.mat-mdc-snack-bar-action:not(:disabled) .mat-ripple-element{background-color:currentColor;opacity:.1}.mat-mdc-snack-bar-container .mdc-snackbar__label::before{display:none}.mat-mdc-snack-bar-handset,.mat-mdc-snack-bar-container,.mat-mdc-snack-bar-label{flex:1 1 auto}.mat-mdc-snack-bar-handset .mdc-snackbar__surface{width:100%}'],encapsulation:2,data:{animation:[WU.snackBarState]}}),t})(),tE=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Td,Dd,ta,eE,Wn,Wn]}),t})();const a1=new Re("mat-snack-bar-default-options",{providedIn:"root",factory:function KU(){return new lg}});let ZU=(()=>{class t{get _openedSnackBarRef(){const e=this._parentSnackBar;return e?e._openedSnackBarRef:this._snackBarRefAtThisLevel}set _openedSnackBarRef(e){this._parentSnackBar?this._parentSnackBar._openedSnackBarRef=e:this._snackBarRefAtThisLevel=e}constructor(e,i,o,s,a,l){this._overlay=e,this._live=i,this._injector=o,this._breakpointObserver=s,this._parentSnackBar=a,this._defaultConfig=l,this._snackBarRefAtThisLevel=null}openFromComponent(e,i){return this._attach(e,i)}openFromTemplate(e,i){return this._attach(e,i)}open(e,i="",o){const s={...this._defaultConfig,...o};return s.data={message:e,action:i},s.announcementMessage===e&&(s.announcementMessage=void 0),this.openFromComponent(this.simpleSnackBarComponent,s)}dismiss(){this._openedSnackBarRef&&this._openedSnackBarRef.dismiss()}ngOnDestroy(){this._snackBarRefAtThisLevel&&this._snackBarRefAtThisLevel.dismiss()}_attachSnackBarContainer(e,i){const s=Si.create({parent:i&&i.viewContainerRef&&i.viewContainerRef.injector||this._injector,providers:[{provide:lg,useValue:i}]}),a=new Sd(this.snackBarContainerComponent,i.viewContainerRef,s),l=e.attach(a);return l.instance.snackBarConfig=i,l.instance}_attach(e,i){const o={...new lg,...this._defaultConfig,...i},s=this._createOverlay(o),a=this._attachSnackBarContainer(s,o),l=new ag(a,s);if(e instanceof mr){const d=new Gl(e,null,{$implicit:o.data,snackBarRef:l});l.instance=a.attachTemplatePortal(d)}else{const d=this._createInjector(o,l),_=new Sd(e,void 0,d),E=a.attachComponentPortal(_);l.instance=E.instance}return this._breakpointObserver.observe("(max-width: 599.98px) and (orientation: portrait)").pipe(Hn(s.detachments())).subscribe(d=>{s.overlayElement.classList.toggle(this.handsetCssClass,d.matches)}),o.announcementMessage&&a._onAnnounce.subscribe(()=>{this._live.announce(o.announcementMessage,o.politeness)}),this._animateSnackBar(l,o),this._openedSnackBarRef=l,this._openedSnackBarRef}_animateSnackBar(e,i){e.afterDismissed().subscribe(()=>{this._openedSnackBarRef==e&&(this._openedSnackBarRef=null),i.announcementMessage&&this._live.clear()}),this._openedSnackBarRef?(this._openedSnackBarRef.afterDismissed().subscribe(()=>{e.containerInstance.enter()}),this._openedSnackBarRef.dismiss()):e.containerInstance.enter(),i.duration&&i.duration>0&&e.afterOpened().subscribe(()=>e._dismissAfter(i.duration))}_createOverlay(e){const i=new Oh;i.direction=e.direction;let o=this._overlay.position().global();const s="rtl"===e.direction,a="left"===e.horizontalPosition||"start"===e.horizontalPosition&&!s||"end"===e.horizontalPosition&&s,l=!a&&"center"!==e.horizontalPosition;return a?o.left("0"):l?o.right("0"):o.centerHorizontally(),"top"===e.verticalPosition?o.top("0"):o.bottom("0"),i.positionStrategy=o,this._overlay.create(i)}_createInjector(e,i){return Si.create({parent:e&&e.viewContainerRef&&e.viewContainerRef.injector||this._injector,providers:[{provide:ag,useValue:i},{provide:s1,useValue:e.data}]})}}return t.\u0275fac=function(e){return new(e||t)(we(io),we(K0),we(Si),we(z0),we(t,12),we(a1))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})(),XU=(()=>{class t extends ZU{constructor(e,i,o,s,a,l){super(e,i,o,s,a,l),this.simpleSnackBarComponent=UU,this.snackBarContainerComponent=qU,this.handsetCssClass="mat-mdc-snack-bar-handset"}}return t.\u0275fac=function(e){return new(e||t)(we(io),we(K0),we(Si),we(z0),we(t,12),we(a1))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:tE}),t})();function l1(...t){if(1===t.length){const n=t[0];if(M(n))return cg(n,null);if(p(n)&&Object.getPrototypeOf(n)===Object.prototype){const e=Object.keys(n);return cg(e.map(i=>n[i]),e)}}if("function"==typeof t[t.length-1]){const n=t.pop();return cg(t=1===t.length&&M(t[0])?t[0]:t,null).pipe(ke(e=>n(...e)))}return cg(t,null)}function cg(t,n){return new he(e=>{const i=t.length;if(0===i)return void e.complete();const o=new Array(i);let s=0,a=0;for(let l=0;l{_||(_=!0,a++),o[l]=E},error:E=>e.error(E),complete:()=>{s++,(s===i||!_)&&(a===i&&e.next(n?n.reduce((E,F,G)=>(E[F]=o[G],E),{}):o),e.complete())}}))}})}const JU=["*"];let dg;function Bh(t){return function QU(){if(void 0===dg&&(dg=null,typeof window<"u")){const t=window;void 0!==t.trustedTypes&&(dg=t.trustedTypes.createPolicy("angular#components",{createHTML:n=>n}))}return dg}()?.createHTML(t)||t}function nE(t){return Error(`Unable to find icon with the name "${t}"`)}function iE(t){return Error(`The URL provided to MatIconRegistry was not trusted as a resource URL via Angular's DomSanitizer. Attempted URL was "${t}".`)}function rE(t){return Error(`The literal provided to MatIconRegistry was not trusted as safe HTML by Angular's DomSanitizer. Attempted literal was "${t}".`)}class Xl{constructor(n,e,i){this.url=n,this.svgText=e,this.options=i}}let ug=(()=>{class t{constructor(e,i,o,s){this._httpClient=e,this._sanitizer=i,this._errorHandler=s,this._svgIconConfigs=new Map,this._iconSetConfigs=new Map,this._cachedIconsByUrl=new Map,this._inProgressUrlFetches=new Map,this._fontCssClassesByAlias=new Map,this._resolvers=[],this._defaultFontSetClass=["material-icons","mat-ligature-font"],this._document=o}addSvgIcon(e,i,o){return this.addSvgIconInNamespace("",e,i,o)}addSvgIconLiteral(e,i,o){return this.addSvgIconLiteralInNamespace("",e,i,o)}addSvgIconInNamespace(e,i,o,s){return this._addSvgIconConfig(e,i,new Xl(o,null,s))}addSvgIconResolver(e){return this._resolvers.push(e),this}addSvgIconLiteralInNamespace(e,i,o,s){const a=this._sanitizer.sanitize(kn.HTML,o);if(!a)throw rE(o);const l=Bh(a);return this._addSvgIconConfig(e,i,new Xl("",l,s))}addSvgIconSet(e,i){return this.addSvgIconSetInNamespace("",e,i)}addSvgIconSetLiteral(e,i){return this.addSvgIconSetLiteralInNamespace("",e,i)}addSvgIconSetInNamespace(e,i,o){return this._addSvgIconSetConfig(e,new Xl(i,null,o))}addSvgIconSetLiteralInNamespace(e,i,o){const s=this._sanitizer.sanitize(kn.HTML,i);if(!s)throw rE(i);const a=Bh(s);return this._addSvgIconSetConfig(e,new Xl("",a,o))}registerFontClassAlias(e,i=e){return this._fontCssClassesByAlias.set(e,i),this}classNameForFontAlias(e){return this._fontCssClassesByAlias.get(e)||e}setDefaultFontSetClass(...e){return this._defaultFontSetClass=e,this}getDefaultFontSetClass(){return this._defaultFontSetClass}getSvgIconFromUrl(e){const i=this._sanitizer.sanitize(kn.RESOURCE_URL,e);if(!i)throw iE(e);const o=this._cachedIconsByUrl.get(i);return o?$e(hg(o)):this._loadSvgIconFromConfig(new Xl(e,null)).pipe(bi(s=>this._cachedIconsByUrl.set(i,s)),ke(s=>hg(s)))}getNamedSvgIcon(e,i=""){const o=oE(i,e);let s=this._svgIconConfigs.get(o);if(s)return this._getSvgFromConfig(s);if(s=this._getIconConfigFromResolvers(i,e),s)return this._svgIconConfigs.set(o,s),this._getSvgFromConfig(s);const a=this._iconSetConfigs.get(i);return a?this._getSvgFromIconSetConfigs(e,a):Ar(nE(o))}ngOnDestroy(){this._resolvers=[],this._svgIconConfigs.clear(),this._iconSetConfigs.clear(),this._cachedIconsByUrl.clear()}_getSvgFromConfig(e){return e.svgText?$e(hg(this._svgElementFromConfig(e))):this._loadSvgIconFromConfig(e).pipe(ke(i=>hg(i)))}_getSvgFromIconSetConfigs(e,i){const o=this._extractIconWithNameFromAnySet(e,i);return o?$e(o):l1(i.filter(a=>!a.svgText).map(a=>this._loadSvgIconSetFromConfig(a).pipe(Co(l=>{const _=`Loading icon set URL: ${this._sanitizer.sanitize(kn.RESOURCE_URL,a.url)} failed: ${l.message}`;return this._errorHandler.handleError(new Error(_)),$e(null)})))).pipe(ke(()=>{const a=this._extractIconWithNameFromAnySet(e,i);if(!a)throw nE(e);return a}))}_extractIconWithNameFromAnySet(e,i){for(let o=i.length-1;o>=0;o--){const s=i[o];if(s.svgText&&s.svgText.toString().indexOf(e)>-1){const a=this._svgElementFromConfig(s),l=this._extractSvgIconFromSet(a,e,s.options);if(l)return l}}return null}_loadSvgIconFromConfig(e){return this._fetchIcon(e).pipe(bi(i=>e.svgText=i),ke(()=>this._svgElementFromConfig(e)))}_loadSvgIconSetFromConfig(e){return e.svgText?$e(null):this._fetchIcon(e).pipe(bi(i=>e.svgText=i))}_extractSvgIconFromSet(e,i,o){const s=e.querySelector(`[id="${i}"]`);if(!s)return null;const a=s.cloneNode(!0);if(a.removeAttribute("id"),"svg"===a.nodeName.toLowerCase())return this._setSvgAttributes(a,o);if("symbol"===a.nodeName.toLowerCase())return this._setSvgAttributes(this._toSvgElement(a),o);const l=this._svgElementFromString(Bh(""));return l.appendChild(a),this._setSvgAttributes(l,o)}_svgElementFromString(e){const i=this._document.createElement("DIV");i.innerHTML=e;const o=i.querySelector("svg");if(!o)throw Error(" tag not found");return o}_toSvgElement(e){const i=this._svgElementFromString(Bh("")),o=e.attributes;for(let s=0;sBh(_)),km(()=>this._inProgressUrlFetches.delete(a)),dl());return this._inProgressUrlFetches.set(a,d),d}_addSvgIconConfig(e,i,o){return this._svgIconConfigs.set(oE(e,i),o),this}_addSvgIconSetConfig(e,i){const o=this._iconSetConfigs.get(e);return o?o.push(i):this._iconSetConfigs.set(e,[i]),this}_svgElementFromConfig(e){if(!e.svgElement){const i=this._svgElementFromString(e.svgText);this._setSvgAttributes(i,e.options),e.svgElement=i}return e.svgElement}_getIconConfigFromResolvers(e,i){for(let o=0;on?n.pathname+n.search:""}}}),sE=["clip-path","color-profile","src","cursor","fill","filter","marker","marker-start","marker-mid","marker-end","mask","stroke"],aW=sE.map(t=>`[${t}]`).join(", "),lW=/^url\(['"]?#(.*?)['"]?\)$/;let Cn=(()=>{class t extends iW{get inline(){return this._inline}set inline(e){this._inline=_n(e)}get svgIcon(){return this._svgIcon}set svgIcon(e){e!==this._svgIcon&&(e?this._updateSvgIcon(e):this._svgIcon&&this._clearSvgElement(),this._svgIcon=e)}get fontSet(){return this._fontSet}set fontSet(e){const i=this._cleanupFontValue(e);i!==this._fontSet&&(this._fontSet=i,this._updateFontIconClasses())}get fontIcon(){return this._fontIcon}set fontIcon(e){const i=this._cleanupFontValue(e);i!==this._fontIcon&&(this._fontIcon=i,this._updateFontIconClasses())}constructor(e,i,o,s,a,l){super(e),this._iconRegistry=i,this._location=s,this._errorHandler=a,this._inline=!1,this._previousFontSetClass=[],this._currentIconFetch=T.EMPTY,l&&(l.color&&(this.color=this.defaultColor=l.color),l.fontSet&&(this.fontSet=l.fontSet)),o||e.nativeElement.setAttribute("aria-hidden","true")}_splitIconName(e){if(!e)return["",""];const i=e.split(":");switch(i.length){case 1:return["",i[0]];case 2:return i;default:throw Error(`Invalid icon name: "${e}"`)}}ngOnInit(){this._updateFontIconClasses()}ngAfterViewChecked(){const e=this._elementsWithExternalReferences;if(e&&e.size){const i=this._location.getPathname();i!==this._previousPath&&(this._previousPath=i,this._prependPathToReferences(i))}}ngOnDestroy(){this._currentIconFetch.unsubscribe(),this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear()}_usingFontIcon(){return!this.svgIcon}_setSvgElement(e){this._clearSvgElement();const i=this._location.getPathname();this._previousPath=i,this._cacheChildrenWithExternalReferences(e),this._prependPathToReferences(i),this._elementRef.nativeElement.appendChild(e)}_clearSvgElement(){const e=this._elementRef.nativeElement;let i=e.childNodes.length;for(this._elementsWithExternalReferences&&this._elementsWithExternalReferences.clear();i--;){const o=e.childNodes[i];(1!==o.nodeType||"svg"===o.nodeName.toLowerCase())&&o.remove()}}_updateFontIconClasses(){if(!this._usingFontIcon())return;const e=this._elementRef.nativeElement,i=(this.fontSet?this._iconRegistry.classNameForFontAlias(this.fontSet).split(/ +/):this._iconRegistry.getDefaultFontSetClass()).filter(o=>o.length>0);this._previousFontSetClass.forEach(o=>e.classList.remove(o)),i.forEach(o=>e.classList.add(o)),this._previousFontSetClass=i,this.fontIcon!==this._previousFontIconClass&&!i.includes("mat-ligature-font")&&(this._previousFontIconClass&&e.classList.remove(this._previousFontIconClass),this.fontIcon&&e.classList.add(this.fontIcon),this._previousFontIconClass=this.fontIcon)}_cleanupFontValue(e){return"string"==typeof e?e.trim().split(" ")[0]:e}_prependPathToReferences(e){const i=this._elementsWithExternalReferences;i&&i.forEach((o,s)=>{o.forEach(a=>{s.setAttribute(a.name,`url('${e}#${a.value}')`)})})}_cacheChildrenWithExternalReferences(e){const i=e.querySelectorAll(aW),o=this._elementsWithExternalReferences=this._elementsWithExternalReferences||new Map;for(let s=0;s{const l=i[s],d=l.getAttribute(a),_=d?d.match(lW):null;if(_){let E=o.get(l);E||(E=[],o.set(l,E)),E.push({name:a,value:_[1]})}})}_updateSvgIcon(e){if(this._svgNamespace=null,this._svgName=null,this._currentIconFetch.unsubscribe(),e){const[i,o]=this._splitIconName(e);i&&(this._svgNamespace=i),o&&(this._svgName=o),this._currentIconFetch=this._iconRegistry.getNamedSvgIcon(o,i).pipe(Kn(1)).subscribe(s=>this._setSvgElement(s),s=>{this._errorHandler.handleError(new Error(`Error retrieving icon ${i}:${o}! ${s.message}`))})}}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ug),Pa("aria-hidden"),Y(oW),Y(Ss),Y(rW,8))},t.\u0275cmp=Ze({type:t,selectors:[["mat-icon"]],hostAttrs:["role","img",1,"mat-icon","notranslate"],hostVars:8,hostBindings:function(e,i){2&e&&(Xt("data-mat-icon-type",i._usingFontIcon()?"font":"svg")("data-mat-icon-name",i._svgName||i.fontIcon)("data-mat-icon-namespace",i._svgNamespace||i.fontSet)("fontIcon",i._usingFontIcon()?i.fontIcon:null),nn("mat-icon-inline",i.inline)("mat-icon-no-color","primary"!==i.color&&"accent"!==i.color&&"warn"!==i.color))},inputs:{color:"color",inline:"inline",svgIcon:"svgIcon",fontSet:"fontSet",fontIcon:"fontIcon"},exportAs:["matIcon"],features:[nt],ngContentSelectors:JU,decls:1,vars:0,template:function(e,i){1&e&&(Ir(),Sn(0))},styles:[".mat-icon{-webkit-user-select:none;user-select:none;background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px;overflow:hidden}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}.mat-icon.mat-ligature-font[fontIcon]::before{content:attr(fontIcon)}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}"],encapsulation:2,changeDetection:0}),t})(),cW=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn,Wn]}),t})();function Vh(t){return(Vh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(t)}function Lt(t,n,e){return(n=function uW(t){var n=function dW(t,n){if("object"!==Vh(t)||null===t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,n||"default");if("object"!==Vh(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===n?String:Number)(t)}(t,"string");return"symbol"===Vh(n)?n:String(n)}(n))in t?Object.defineProperty(t,n,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[n]=e,t}function aE(t,n,e){let i;return i=t&&"object"==typeof t?t:{bufferSize:t,windowTime:n,refCount:!1,scheduler:e},o=>o.lift(function hW({bufferSize:t=Number.POSITIVE_INFINITY,windowTime:n=Number.POSITIVE_INFINITY,refCount:e,scheduler:i}){let o,a,s=0,l=!1,d=!1;return function(E){let F;s++,!o||l?(l=!1,o=new ko(t,n,i),F=o.subscribe(this),a=E.subscribe({next(G){o.next(G)},error(G){l=!0,o.error(G)},complete(){d=!0,a=void 0,o.complete()}}),d&&(a=void 0)):F=o.subscribe(this),this.add(()=>{s--,F.unsubscribe(),F=void 0,a&&!d&&e&&0===s&&(a.unsubscribe(),a=void 0,o=void 0)})}}(i))}class jh{}let lE=(()=>{class t extends jh{getTranslation(e){return $e({})}}return Lt(t,"\u0275fac",function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}()),Lt(t,"\u0275prov",Ne({token:t,factory:t.\u0275fac})),t})();class c1{}let cE=(()=>{class t{handle(e){return e.key}}return Lt(t,"\u0275fac",function(e){return new(e||t)}),Lt(t,"\u0275prov",Ne({token:t,factory:t.\u0275fac})),t})();function fg(t,n){if(t===n)return!0;if(null===t||null===n)return!1;if(t!=t&&n!=n)return!0;let o,s,a,e=typeof t;if(e==typeof n&&"object"==e){if(!Array.isArray(t)){if(Array.isArray(n))return!1;for(s in a=Object.create(null),t){if(!fg(t[s],n[s]))return!1;a[s]=!0}for(s in n)if(!(s in a)&&typeof n[s]<"u")return!1;return!0}if(!Array.isArray(n))return!1;if((o=t.length)==n.length){for(s=0;s{d1(n[i])?i in t?e[i]=dE(t[i],n[i]):Object.assign(e,{[i]:n[i]}):Object.assign(e,{[i]:n[i]})}),e}class pg{}let uE=(()=>{class t extends pg{constructor(...e){super(...e),Lt(this,"templateMatcher",/{{\s?([^{}\s]*)\s?}}/g)}interpolate(e,i){let o;return o="string"==typeof e?this.interpolateString(e,i):"function"==typeof e?this.interpolateFunction(e,i):e,o}getValue(e,i){let o="string"==typeof i?i.split("."):[i];i="";do{i+=o.shift(),!tl(e)||!tl(e[i])||"object"!=typeof e[i]&&o.length?o.length?i+=".":e=void 0:(e=e[i],i="")}while(o.length);return e}interpolateFunction(e,i){return e(i)}interpolateString(e,i){return i?e.replace(this.templateMatcher,(o,s)=>{let a=this.getValue(i,s);return tl(a)?a:o}):e}}return Lt(t,"\u0275fac",function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}()),Lt(t,"\u0275prov",Ne({token:t,factory:t.\u0275fac})),t})();class mg{}let hE=(()=>{class t extends mg{compile(e,i){return e}compileTranslations(e,i){return e}}return Lt(t,"\u0275fac",function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}()),Lt(t,"\u0275prov",Ne({token:t,factory:t.\u0275fac})),t})();class fE{constructor(){Lt(this,"defaultLang",void 0),Lt(this,"currentLang",this.defaultLang),Lt(this,"translations",{}),Lt(this,"langs",[]),Lt(this,"onTranslationChange",new ht),Lt(this,"onLangChange",new ht),Lt(this,"onDefaultLangChange",new ht)}}const u1=new Re("USE_STORE"),h1=new Re("USE_DEFAULT_LANG"),f1=new Re("DEFAULT_LANGUAGE"),p1=new Re("USE_EXTEND");let To=(()=>{class t{get onTranslationChange(){return this.isolate?this._onTranslationChange:this.store.onTranslationChange}get onLangChange(){return this.isolate?this._onLangChange:this.store.onLangChange}get onDefaultLangChange(){return this.isolate?this._onDefaultLangChange:this.store.onDefaultLangChange}get defaultLang(){return this.isolate?this._defaultLang:this.store.defaultLang}set defaultLang(e){this.isolate?this._defaultLang=e:this.store.defaultLang=e}get currentLang(){return this.isolate?this._currentLang:this.store.currentLang}set currentLang(e){this.isolate?this._currentLang=e:this.store.currentLang=e}get langs(){return this.isolate?this._langs:this.store.langs}set langs(e){this.isolate?this._langs=e:this.store.langs=e}get translations(){return this.isolate?this._translations:this.store.translations}set translations(e){this.isolate?this._translations=e:this.store.translations=e}constructor(e,i,o,s,a,l=!0,d=!1,_=!1,E){Lt(this,"store",void 0),Lt(this,"currentLoader",void 0),Lt(this,"compiler",void 0),Lt(this,"parser",void 0),Lt(this,"missingTranslationHandler",void 0),Lt(this,"useDefaultLang",void 0),Lt(this,"isolate",void 0),Lt(this,"extend",void 0),Lt(this,"loadingTranslations",void 0),Lt(this,"pending",!1),Lt(this,"_onTranslationChange",new ht),Lt(this,"_onLangChange",new ht),Lt(this,"_onDefaultLangChange",new ht),Lt(this,"_defaultLang",void 0),Lt(this,"_currentLang",void 0),Lt(this,"_langs",[]),Lt(this,"_translations",{}),Lt(this,"_translationRequests",{}),this.store=e,this.currentLoader=i,this.compiler=o,this.parser=s,this.missingTranslationHandler=a,this.useDefaultLang=l,this.isolate=d,this.extend=_,E&&this.setDefaultLang(E)}setDefaultLang(e){if(e===this.defaultLang)return;let i=this.retrieveTranslations(e);typeof i<"u"?(null==this.defaultLang&&(this.defaultLang=e),i.pipe(Kn(1)).subscribe(o=>{this.changeDefaultLang(e)})):this.changeDefaultLang(e)}getDefaultLang(){return this.defaultLang}use(e){if(e===this.currentLang)return $e(this.translations[e]);let i=this.retrieveTranslations(e);return typeof i<"u"?(this.currentLang||(this.currentLang=e),i.pipe(Kn(1)).subscribe(o=>{this.changeLang(e)}),i):(this.changeLang(e),$e(this.translations[e]))}retrieveTranslations(e){let i;return(typeof this.translations[e]>"u"||this.extend)&&(this._translationRequests[e]=this._translationRequests[e]||this.getTranslation(e),i=this._translationRequests[e]),i}getTranslation(e){this.pending=!0;const i=this.currentLoader.getTranslation(e).pipe(aE(1),Kn(1));return this.loadingTranslations=i.pipe(ke(o=>this.compiler.compileTranslations(o,e)),aE(1),Kn(1)),this.loadingTranslations.subscribe({next:o=>{this.translations[e]=this.extend&&this.translations[e]?{...o,...this.translations[e]}:o,this.updateLangs(),this.pending=!1},error:o=>{this.pending=!1}}),i}setTranslation(e,i,o=!1){i=this.compiler.compileTranslations(i,e),this.translations[e]=(o||this.extend)&&this.translations[e]?dE(this.translations[e],i):i,this.updateLangs(),this.onTranslationChange.emit({lang:e,translations:this.translations[e]})}getLangs(){return this.langs}addLangs(e){e.forEach(i=>{-1===this.langs.indexOf(i)&&this.langs.push(i)})}updateLangs(){this.addLangs(Object.keys(this.translations))}getParsedResult(e,i,o){let s;if(i instanceof Array){let a={},l=!1;for(let d of i)a[d]=this.getParsedResult(e,d,o),za(a[d])&&(l=!0);return l?l1(i.map(_=>za(a[_])?a[_]:$e(a[_]))).pipe(ke(_=>{let E={};return _.forEach((F,G)=>{E[i[G]]=F}),E})):a}if(e&&(s=this.parser.interpolate(this.parser.getValue(e,i),o)),typeof s>"u"&&null!=this.defaultLang&&this.defaultLang!==this.currentLang&&this.useDefaultLang&&(s=this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang],i),o)),typeof s>"u"){let a={key:i,translateService:this};typeof o<"u"&&(a.interpolateParams=o),s=this.missingTranslationHandler.handle(a)}return typeof s<"u"?s:i}get(e,i){if(!tl(e)||!e.length)throw new Error('Parameter "key" required');if(this.pending)return this.loadingTranslations.pipe(Bl(o=>za(o=this.getParsedResult(o,e,i))?o:$e(o)));{let o=this.getParsedResult(this.translations[this.currentLang],e,i);return za(o)?o:$e(o)}}getStreamOnTranslationChange(e,i){if(!tl(e)||!e.length)throw new Error('Parameter "key" required');return Ua(jl(()=>this.get(e,i)),this.onTranslationChange.pipe(gr(o=>{const s=this.getParsedResult(o.translations,e,i);return"function"==typeof s.subscribe?s:$e(s)})))}stream(e,i){if(!tl(e)||!e.length)throw new Error('Parameter "key" required');return Ua(jl(()=>this.get(e,i)),this.onLangChange.pipe(gr(o=>{const s=this.getParsedResult(o.translations,e,i);return za(s)?s:$e(s)})))}instant(e,i){if(!tl(e)||!e.length)throw new Error('Parameter "key" required');let o=this.getParsedResult(this.translations[this.currentLang],e,i);if(za(o)){if(e instanceof Array){let s={};return e.forEach((a,l)=>{s[e[l]]=e[l]}),s}return e}return o}set(e,i,o=this.currentLang){this.translations[o][e]=this.compiler.compile(i,o),this.updateLangs(),this.onTranslationChange.emit({lang:o,translations:this.translations[o]})}changeLang(e){this.currentLang=e,this.onLangChange.emit({lang:e,translations:this.translations[e]}),null==this.defaultLang&&this.changeDefaultLang(e)}changeDefaultLang(e){this.defaultLang=e,this.onDefaultLangChange.emit({lang:e,translations:this.translations[e]})}reloadLang(e){return this.resetLang(e),this.getTranslation(e)}resetLang(e){this._translationRequests[e]=void 0,this.translations[e]=void 0}getBrowserLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let e=window.navigator.languages?window.navigator.languages[0]:null;return e=e||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,typeof e>"u"?void 0:(-1!==e.indexOf("-")&&(e=e.split("-")[0]),-1!==e.indexOf("_")&&(e=e.split("_")[0]),e)}getBrowserCultureLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let e=window.navigator.languages?window.navigator.languages[0]:null;return e=e||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,e}}return Lt(t,"\u0275fac",function(e){return new(e||t)(we(fE),we(jh),we(mg),we(pg),we(c1),we(h1),we(u1),we(p1),we(f1))}),Lt(t,"\u0275prov",Ne({token:t,factory:t.\u0275fac})),t})(),wt=(()=>{class t{constructor(e,i){Lt(this,"translate",void 0),Lt(this,"_ref",void 0),Lt(this,"value",""),Lt(this,"lastKey",null),Lt(this,"lastParams",[]),Lt(this,"onTranslationChange",void 0),Lt(this,"onLangChange",void 0),Lt(this,"onDefaultLangChange",void 0),this.translate=e,this._ref=i}updateValue(e,i,o){let s=a=>{this.value=void 0!==a?a:e,this.lastKey=e,this._ref.markForCheck()};if(o){let a=this.translate.getParsedResult(o,e,i);za(a.subscribe)?a.subscribe(s):s(a)}this.translate.get(e,i).subscribe(s)}transform(e,...i){if(!e||!e.length)return e;if(fg(e,this.lastKey)&&fg(i,this.lastParams))return this.value;let o;if(tl(i[0])&&i.length)if("string"==typeof i[0]&&i[0].length){let s=i[0].replace(/(\')?([a-zA-Z0-9_]+)(\')?(\s)?:/g,'"$2":').replace(/:(\s)?(\')(.*?)(\')/g,':"$3"');try{o=JSON.parse(s)}catch{throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${i[0]}`)}}else"object"==typeof i[0]&&!Array.isArray(i[0])&&(o=i[0]);return this.lastKey=e,this.lastParams=i,this.updateValue(e,o),this._dispose(),this.onTranslationChange||(this.onTranslationChange=this.translate.onTranslationChange.subscribe(s=>{this.lastKey&&s.lang===this.translate.currentLang&&(this.lastKey=null,this.updateValue(e,o,s.translations))})),this.onLangChange||(this.onLangChange=this.translate.onLangChange.subscribe(s=>{this.lastKey&&(this.lastKey=null,this.updateValue(e,o,s.translations))})),this.onDefaultLangChange||(this.onDefaultLangChange=this.translate.onDefaultLangChange.subscribe(()=>{this.lastKey&&(this.lastKey=null,this.updateValue(e,o))})),this.value}_dispose(){typeof this.onTranslationChange<"u"&&(this.onTranslationChange.unsubscribe(),this.onTranslationChange=void 0),typeof this.onLangChange<"u"&&(this.onLangChange.unsubscribe(),this.onLangChange=void 0),typeof this.onDefaultLangChange<"u"&&(this.onDefaultLangChange.unsubscribe(),this.onDefaultLangChange=void 0)}ngOnDestroy(){this._dispose()}}return Lt(t,"\u0275fac",function(e){return new(e||t)(Y(To,16),Y(pi,16))}),Lt(t,"\u0275pipe",ur({name:"translate",type:t,pure:!1})),Lt(t,"\u0275prov",Ne({token:t,factory:t.\u0275fac})),t})(),pE=(()=>{class t{static forRoot(e={}){return{ngModule:t,providers:[e.loader||{provide:jh,useClass:lE},e.compiler||{provide:mg,useClass:hE},e.parser||{provide:pg,useClass:uE},e.missingTranslationHandler||{provide:c1,useClass:cE},fE,{provide:u1,useValue:e.isolate},{provide:h1,useValue:e.useDefaultLang},{provide:p1,useValue:e.extend},{provide:f1,useValue:e.defaultLanguage},To]}}static forChild(e={}){return{ngModule:t,providers:[e.loader||{provide:jh,useClass:lE},e.compiler||{provide:mg,useClass:hE},e.parser||{provide:pg,useClass:uE},e.missingTranslationHandler||{provide:c1,useClass:cE},{provide:u1,useValue:e.isolate},{provide:h1,useValue:e.useDefaultLang},{provide:p1,useValue:e.extend},{provide:f1,useValue:e.defaultLanguage},To]}}}return Lt(t,"\u0275fac",function(e){return new(e||t)}),Lt(t,"\u0275mod",Ht({type:t})),Lt(t,"\u0275inj",Nt({})),t})();function fW(t,n){if(1&t&&(D(0,"div",5)(1,"mat-icon",6),I(2),C()()),2&t){const e=z();c(1),w("inline",!0),c(1),se(e.config.icon)}}function pW(t,n){if(1&t&&(D(0,"div",7),I(1),R(2,"translate"),R(3,"translate"),C()),2&t){const e=z();c(1),vo(" ",H(2,2,"common.error")," ",kt(3,4,e.config.smallText,e.config.smallTextTranslationParams)," ")}}var ca=(()=>((ca=ca||{}).Error="error",ca.Done="done",ca.Warning="warning",ca))(),da=(()=>((da=da||{}).Red="red-background",da.Green="green-background",da.Yellow="yellow-background",da))();let mW=(()=>{class t{constructor(e,i){this.snackbarRef=i,this.config=e}close(){this.snackbarRef.dismiss()}}return t.\u0275fac=function(e){return new(e||t)(Y(s1),Y(ag))},t.\u0275cmp=Ze({type:t,selectors:[["app-snack-bar"]],decls:9,vars:8,consts:[["class","icon-container",4,"ngIf"],[1,"text-container"],["class","second-line",4,"ngIf"],[1,"close-button-separator"],[1,"close-button",3,"click"],[1,"icon-container"],[3,"inline"],[1,"second-line"]],template:function(e,i){1&e&&(D(0,"div"),V(1,fW,3,2,"div",0),D(2,"div",1),I(3),R(4,"translate"),V(5,pW,4,7,"div",2),C(),xe(6,"div",3),D(7,"mat-icon",4),ye("click",function(){return i.close()}),I(8,"close"),C()()),2&e&&(eo("main-container "+i.config.color),c(1),w("ngIf",i.config.icon),c(2),ce(" ",kt(4,5,i.config.text,i.config.textTranslationParams)," "),c(2),w("ngIf",i.config.smallText))},dependencies:[Ft,Cn,wt],styles:['.cursor-pointer[_ngcontent-%COMP%], .close-button[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}.main-container[_ngcontent-%COMP%]{width:100%;display:flex;color:#fff;padding:15px;border-radius:5px}.red-background[_ngcontent-%COMP%]{background-color:#ea0606}.green-background[_ngcontent-%COMP%]{background-color:#1fb11f}.yellow-background[_ngcontent-%COMP%]{background-color:#f90}.icon-container[_ngcontent-%COMP%]{margin-right:10px;position:relative;top:1px}.text-container[_ngcontent-%COMP%]{flex-grow:1;margin-right:10px;font-size:1rem;word-break:break-word}.text-container[_ngcontent-%COMP%] .second-line[_ngcontent-%COMP%]{font-size:.8rem;opacity:.9}.close-button-separator[_ngcontent-%COMP%]{width:1px;margin-right:10px;background-color:#0000004d}.close-button[_ngcontent-%COMP%]{opacity:.7}.close-button[_ngcontent-%COMP%]:hover{opacity:1}mat-icon[_ngcontent-%COMP%]{position:relative;top:1px;-webkit-user-select:none;user-select:none}']}),t})(),Dn=(()=>{class t{constructor(e){this.snackBar=e,this.lastWasTemporaryError=!1}showError(e,i=null,o=!1,s=null,a=null){e=en(e),s=s?en(s):null,this.lastWasTemporaryError=o,this.show(e.translatableErrorMsg,i,s?s.translatableErrorMsg:null,a,ca.Error,da.Red,15e3)}showWarning(e,i=null){this.lastWasTemporaryError=!1,this.show(e,i,null,null,ca.Warning,da.Yellow,15e3)}showDone(e,i=null){this.lastWasTemporaryError=!1,this.show(e,i,null,null,ca.Done,da.Green,5e3)}closeCurrent(){this.snackBar.dismiss()}closeCurrentIfTemporaryError(){this.lastWasTemporaryError&&this.snackBar.dismiss()}show(e,i,o,s,a,l,d){this.snackBar.openFromComponent(mW,{duration:d,panelClass:"snackbar-container",data:{text:e,textTranslationParams:i,smallText:o,smallTextTranslationParams:s,icon:a,color:l}})}}return t.\u0275fac=function(e){return new(e||t)(we(XU))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const Vt={maxShortListElements:5,maxFullListElements:40,connectionRetryDelay:5e3,languages:[{code:"en",name:"English",iconName:"en.png"},{code:"es",name:"Espa\xf1ol",iconName:"es.png"},{code:"de",name:"Deutsch",iconName:"de.png"},{code:"pt",name:"Portugu\xeas (Brazil)",iconName:"pt.png"}],defaultLanguage:"en",smallModalWidth:"480px",mediumModalWidth:"640px",largeModalWidth:"900px",vpn:{hardcodedIpWhileDeveloping:!1}};class gW{constructor(n){Object.assign(this,n)}}let gg=(()=>{class t{constructor(e){this.translate=e,this.currentLanguage=new ko(1),this.languages=new ko(1),this.storageKey="lang",this.languagesInternal=[],this.settingsLoaded=!1}loadLanguageSettings(){if(this.settingsLoaded)return;this.settingsLoaded=!0;const e=[];Vt.languages.forEach(i=>{const o=new gW(i);this.languagesInternal.push(o),e.push(o.code)}),this.languages.next(this.languagesInternal),this.translate.addLangs(e),this.translate.setDefaultLang(Vt.defaultLanguage),this.translate.onLangChange.subscribe(i=>this.onLanguageChanged(i)),this.loadCurrentLanguage()}changeLanguage(e){this.translate.use(e)}onLanguageChanged(e){this.currentLanguage.next(this.languagesInternal.find(i=>i.code===e.lang)),localStorage.setItem(this.storageKey,e.lang)}loadCurrentLanguage(){let e=localStorage.getItem(this.storageKey);e=e||Vt.defaultLanguage,setTimeout(()=>this.translate.use(e),16)}}return t.\u0275fac=function(e){return new(e||t)(we(To))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const _W={url:"",deserializer:t=>JSON.parse(t.data),serializer:t=>JSON.stringify(t)};class m1 extends Te{constructor(n,e){if(super(),n instanceof he)this.destination=e,this.source=n;else{const i=this._config=Object.assign({},_W);if(this._output=new J,"string"==typeof n)i.url=n;else for(let o in n)n.hasOwnProperty(o)&&(i[o]=n[o]);if(!i.WebSocketCtor&&WebSocket)i.WebSocketCtor=WebSocket;else if(!i.WebSocketCtor)throw new Error("no WebSocket constructor can be found");this.destination=new ko}}lift(n){const e=new m1(this._config,this.destination);return e.operator=n,e.source=this,e}_resetState(){this._socket=null,this.source||(this.destination=new ko),this._output=new J}multiplex(n,e,i){const o=this;return new he(s=>{try{o.next(n())}catch(l){s.error(l)}const a=o.subscribe(l=>{try{i(l)&&s.next(l)}catch(d){s.error(d)}},l=>s.error(l),()=>s.complete());return()=>{try{o.next(e())}catch(l){s.error(l)}a.unsubscribe()}})}_connectSocket(){const{WebSocketCtor:n,protocol:e,url:i,binaryType:o}=this._config,s=this._output;let a=null;try{a=e?new n(i,e):new n(i),this._socket=a,o&&(this._socket.binaryType=o)}catch(d){return void s.error(d)}const l=new T(()=>{this._socket=null,a&&1===a.readyState&&a.close()});a.onopen=d=>{const{_socket:_}=this;if(!_)return a.close(),void this._resetState();const{openObserver:E}=this._config;E&&E.next(d);const F=this.destination;this.destination=A.create(G=>{if(1===a.readyState)try{const{serializer:ie}=this._config;a.send(ie(G))}catch(ie){this.destination.error(ie)}},G=>{const{closingObserver:ie}=this._config;ie&&ie.next(void 0),G&&G.code?a.close(G.code,G.reason):s.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),this._resetState()},()=>{const{closingObserver:G}=this._config;G&&G.next(void 0),a.close(),this._resetState()}),F&&F instanceof ko&&l.add(F.subscribe(this.destination))},a.onerror=d=>{this._resetState(),s.error(d)},a.onclose=d=>{this._resetState();const{closeObserver:_}=this._config;_&&_.next(d),d.wasClean?s.complete():s.error(d)},a.onmessage=d=>{try{const{deserializer:_}=this._config;s.next(_(d))}catch(_){s.error(_)}}}_subscribe(n){const{source:e}=this;return e?e.subscribe(n):(this._socket||this._connectSocket(),this._output.subscribe(n),n.add(()=>{const{_socket:i}=this;0===this._output.observers.length&&(i&&1===i.readyState&&i.close(),this._resetState())}),n)}unsubscribe(){const{_socket:n}=this;n&&1===n.readyState&&n.close(),this._resetState(),super.unsubscribe()}}var nl=(()=>((nl=nl||{}).Json="json",nl.Text="text",nl))(),Jl=(()=>((Jl=Jl||{}).Json="json",Jl))();class Ql{constructor(n){this.responseType=nl.Json,this.requestType=Jl.Json,this.ignoreAuth=!1,Object.assign(this,n)}}let il=(()=>{class t{constructor(e,i,o){this.http=e,this.router=i,this.ngZone=o,this.apiPrefix="api/",this.wsApiPrefix="api/"}get(e,i=null){return this.request("GET",e,{},i)}post(e,i={},o=null){return this.request("POST",e,i,o)}put(e,i={},o=null){return this.request("PUT",e,i,o)}delete(e,i=null){return this.request("DELETE",e,{},i)}ws(e,i={}){const a=function vW(t){return new m1(t)}((location.protocol.startsWith("https")?"wss://":"ws://")+location.host+"/"+this.wsApiPrefix+e);return a.next(i),a}request(e,i,o,s){return o=o||{},s=s||new Ql,i.startsWith("/")&&(i=i.substr(1,i.length-1)),this.http.request(e,this.apiPrefix+i,{...this.getRequestOptions(s),responseType:s.responseType,withCredentials:!0,body:this.getPostBody(o,s)}).pipe(ke(a=>this.successHandler(a)),Co(a=>this.errorHandler(a,s)))}getRequestOptions(e){const i={};return i.headers=new rs,e.requestType===Jl.Json&&(i.headers=i.headers.append("Content-Type","application/json")),i}getPostBody(e,i){if(i.requestType===Jl.Json)return JSON.stringify(e);const o=new FormData;return Object.keys(e).forEach(s=>o.append(s,e[s])),o}successHandler(e){if("string"==typeof e&&"manager token is null"===e)throw new Error(e);return e}errorHandler(e,i){if(!i.ignoreAuth){if(401===e.status){const o=i.vpnKeyForAuth?["vpnlogin",i.vpnKeyForAuth]:["login"];this.ngZone.run(()=>this.router.navigate(o,{replaceUrl:!0}))}if(e.error&&"string"==typeof e.error&&e.error.includes("change password")){const o=i.vpnKeyForAuth?["vpnlogin",i.vpnKeyForAuth]:["login"];this.ngZone.run(()=>this.router.navigate(o,{replaceUrl:!0}))}}return Ar(en(e))}}return t.\u0275fac=function(e){return new(e||t)(we(Vl),we(hn),we(ft))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const yW=["determinateSpinner"];function MW(t,n){if(1&t&&(wl(),D(0,"svg",11),xe(1,"circle",12),C()),2&t){const e=z();Xt("viewBox",e._viewBox()),c(1),Pl("stroke-dasharray",e._strokeCircumference(),"px")("stroke-dashoffset",e._strokeCircumference()/2,"px")("stroke-width",e._circleStrokeWidth(),"%"),Xt("r",e._circleRadius())}}const wW=Fh(class{constructor(t){this._elementRef=t}},"primary"),CW=new Re("mat-progress-spinner-default-options",{providedIn:"root",factory:function xW(){return{diameter:mE}}}),mE=100;let ec=(()=>{class t extends wW{constructor(e,i,o){super(e),this.mode="mat-spinner"===this._elementRef.nativeElement.nodeName.toLowerCase()?"indeterminate":"determinate",this._value=0,this._diameter=mE,this._noopAnimations="NoopAnimations"===i&&!!o&&!o._forceAnimations,o&&(o.color&&(this.color=this.defaultColor=o.color),o.diameter&&(this.diameter=o.diameter),o.strokeWidth&&(this.strokeWidth=o.strokeWidth))}get value(){return"determinate"===this.mode?this._value:0}set value(e){this._value=Math.max(0,Math.min(100,So(e)))}get diameter(){return this._diameter}set diameter(e){this._diameter=So(e)}get strokeWidth(){return this._strokeWidth??this.diameter/10}set strokeWidth(e){this._strokeWidth=So(e)}_circleRadius(){return(this.diameter-10)/2}_viewBox(){const e=2*this._circleRadius()+this.strokeWidth;return`0 0 ${e} ${e}`}_strokeCircumference(){return 2*Math.PI*this._circleRadius()}_strokeDashOffset(){return"determinate"===this.mode?this._strokeCircumference()*(100-this._value)/100:null}_circleStrokeWidth(){return this.strokeWidth/this.diameter*100}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(Ri,8),Y(CW))},t.\u0275cmp=Ze({type:t,selectors:[["mat-progress-spinner"],["mat-spinner"]],viewQuery:function(e,i){if(1&e&&_t(yW,5),2&e){let o;rt(o=ot())&&(i._determinateCircle=o.first)}},hostAttrs:["role","progressbar","tabindex","-1",1,"mat-mdc-progress-spinner","mdc-circular-progress"],hostVars:16,hostBindings:function(e,i){2&e&&(Xt("aria-valuemin",0)("aria-valuemax",100)("aria-valuenow","determinate"===i.mode?i.value:null)("mode",i.mode),Pl("width",i.diameter,"px")("height",i.diameter,"px")("--mdc-circular-progress-size",i.diameter+"px")("--mdc-circular-progress-active-indicator-width",i.diameter+"px"),nn("_mat-animation-noopable",i._noopAnimations)("mdc-circular-progress--indeterminate","indeterminate"===i.mode))},inputs:{color:"color",mode:"mode",value:"value",diameter:"diameter",strokeWidth:"strokeWidth"},exportAs:["matProgressSpinner"],features:[nt],decls:14,vars:11,consts:[["circle",""],["aria-hidden","true",1,"mdc-circular-progress__determinate-container"],["determinateSpinner",""],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__determinate-circle-graphic"],["cx","50%","cy","50%",1,"mdc-circular-progress__determinate-circle"],["aria-hidden","true",1,"mdc-circular-progress__indeterminate-container"],[1,"mdc-circular-progress__spinner-layer"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-left"],[3,"ngTemplateOutlet"],[1,"mdc-circular-progress__gap-patch"],[1,"mdc-circular-progress__circle-clipper","mdc-circular-progress__circle-right"],["xmlns","http://www.w3.org/2000/svg","focusable","false",1,"mdc-circular-progress__indeterminate-circle-graphic"],["cx","50%","cy","50%"]],template:function(e,i){if(1&e&&(V(0,MW,2,8,"ng-template",null,0,Es),D(2,"div",1,2),wl(),D(4,"svg",3),xe(5,"circle",4),C()(),zf(),D(6,"div",5)(7,"div",6)(8,"div",7),Jo(9,8),C(),D(10,"div",9),Jo(11,8),C(),D(12,"div",10),Jo(13,8),C()()()),2&e){const o=ci(1);c(4),Xt("viewBox",i._viewBox()),c(1),Pl("stroke-dasharray",i._strokeCircumference(),"px")("stroke-dashoffset",i._strokeDashOffset(),"px")("stroke-width",i._circleStrokeWidth(),"%"),Xt("r",i._circleRadius()),c(4),w("ngTemplateOutlet",o),c(2),w("ngTemplateOutlet",o),c(2),w("ngTemplateOutlet",o)}},dependencies:[hd],styles:["@keyframes mdc-circular-progress-container-rotate{to{transform:rotate(360deg)}}@keyframes mdc-circular-progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}100%{transform:rotate(1080deg)}}@keyframes mdc-circular-progress-color-1-fade-in-out{from{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes mdc-circular-progress-color-2-fade-in-out{from{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-3-fade-in-out{from{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}to{opacity:0}}@keyframes mdc-circular-progress-color-4-fade-in-out{from{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}@keyframes mdc-circular-progress-left-spin{from{transform:rotate(265deg)}50%{transform:rotate(130deg)}to{transform:rotate(265deg)}}@keyframes mdc-circular-progress-right-spin{from{transform:rotate(-265deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-265deg)}}.mdc-circular-progress{display:inline-flex;position:relative;direction:ltr;line-height:0;transition:opacity 250ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-circular-progress__determinate-container,.mdc-circular-progress__indeterminate-circle-graphic,.mdc-circular-progress__indeterminate-container,.mdc-circular-progress__spinner-layer{position:absolute;width:100%;height:100%}.mdc-circular-progress__determinate-container{transform:rotate(-90deg)}.mdc-circular-progress__indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.mdc-circular-progress__determinate-circle-graphic,.mdc-circular-progress__indeterminate-circle-graphic{fill:rgba(0,0,0,0)}.mdc-circular-progress__determinate-circle{transition:stroke-dashoffset 500ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-circular-progress__gap-patch{position:absolute;top:0;left:47.5%;box-sizing:border-box;width:5%;height:100%;overflow:hidden}.mdc-circular-progress__gap-patch .mdc-circular-progress__indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.mdc-circular-progress__circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.mdc-circular-progress__circle-clipper .mdc-circular-progress__indeterminate-circle-graphic{width:200%}.mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{left:-100%}.mdc-circular-progress--indeterminate .mdc-circular-progress__determinate-container{opacity:0}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{opacity:1}.mdc-circular-progress--indeterminate .mdc-circular-progress__indeterminate-container{animation:mdc-circular-progress-container-rotate 1568.2352941176ms linear infinite}.mdc-circular-progress--indeterminate .mdc-circular-progress__spinner-layer{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-1{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-1-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-2{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-2-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-3{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-3-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__color-4{animation:mdc-circular-progress-spinner-layer-rotate 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both,mdc-circular-progress-color-4-fade-in-out 5332ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-left .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-left-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--indeterminate .mdc-circular-progress__circle-right .mdc-circular-progress__indeterminate-circle-graphic{animation:mdc-circular-progress-right-spin 1333ms cubic-bezier(0.4, 0, 0.2, 1) infinite both}.mdc-circular-progress--closed{opacity:0}.mat-mdc-progress-spinner{--mdc-circular-progress-active-indicator-width:4px;--mdc-circular-progress-size:48px}.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:var(--mdc-circular-progress-active-indicator-color)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle,.mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner circle{stroke-width:var(--mdc-circular-progress-active-indicator-width)}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-1 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-2 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-3 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mat-mdc-progress-spinner .mdc-circular-progress--four-color .mdc-circular-progress__color-4 .mdc-circular-progress__indeterminate-circle-graphic{stroke:CanvasText}}.mat-mdc-progress-spinner .mdc-circular-progress{width:var(--mdc-circular-progress-size) !important;height:var(--mdc-circular-progress-size) !important}.mat-mdc-progress-spinner{display:block;overflow:hidden;line-height:0}.mat-mdc-progress-spinner._mat-animation-noopable,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__determinate-circle{transition:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-circle-graphic,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__spinner-layer,.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container{animation:none}.mat-mdc-progress-spinner._mat-animation-noopable .mdc-circular-progress__indeterminate-container circle{stroke-dasharray:0 !important}.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__indeterminate-circle-graphic,.cdk-high-contrast-active .mat-mdc-progress-spinner .mdc-circular-progress__determinate-circle{stroke:currentColor;stroke:CanvasText}"],encapsulation:2,changeDetection:0}),t})(),SW=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[ta,Wn]}),t})();const DW=function(t){return{"white-theme":t}};let as=(()=>{class t{constructor(){this.showWhite=!0}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["app-loading-indicator"]],inputs:{showWhite:"showWhite"},decls:2,vars:4,consts:[[1,"container",3,"ngClass"],[3,"diameter"]],template:function(e,i){1&e&&(D(0,"div",0),xe(1,"mat-spinner",1),C()),2&e&&(w("ngClass",He(2,DW,i.showWhite)),c(1),w("diameter",50))},dependencies:[Nn,ec],styles:["[_nghost-%COMP%]{width:100%;height:100%;display:flex}.container[_ngcontent-%COMP%]{width:100%;align-self:center;display:flex;flex-direction:column;align-items:center}.container[_ngcontent-%COMP%] > mat-spinner[_ngcontent-%COMP%]{opacity:.5}"]}),t})();function TW(t,n){1&t&&(D(0,"div",5)(1,"div"),xe(2,"img",6),D(3,"div"),I(4),R(5,"translate"),C()()()),2&t&&(c(4),se(H(5,1,"common.window-size-error")))}function LW(t,n){1&t&&xe(0,"router-outlet")}function EW(t,n){1&t&&xe(0,"app-loading-indicator",7)}const IW=function(t){return{background:t}};let g1=(()=>{class t{constructor(e,i,o,s,a,l){this.storage=e,this.snackbarService=s,this.languageService=a,this.apiService=l,this.inVpnClient=!1,this.inLoginPage=!1,this.hypervisorPkObtained=!1,this.pkErrorShown=!1,this.pkErrorsFound=0,t.currentInstance=this,o.afterOpened.subscribe(()=>s.closeCurrent()),history.scrollRestoration&&(history.scrollRestoration="manual"),i.events.subscribe(d=>{d instanceof Ga&&(s.closeCurrent(),o.closeAll())}),o.afterAllClosed.subscribe(()=>s.closeCurrentIfTemporaryError()),i.events.subscribe(d=>{if(this.inVpnClient=i.url.includes("/vpn/")||i.url.includes("vpnlogin"),d.url){const _=this.inLoginPage;this.inLoginPage=d.url.includes("login"),_&&!this.inLoginPage&&!this.hypervisorPkObtained&&this.checkHypervisorPk(0)}i.url.length>2&&(document.title=this.inVpnClient?"Skywire VPN":"Skywire Manager")}),this.languageService.loadLanguageSettings(),this.checkHypervisorPk(0)}processLoginDone(){this.inLoginPage=!1,this.hypervisorPkObtained||this.checkHypervisorPk(0)}checkHypervisorPk(e){this.obtainPkSubscription&&this.obtainPkSubscription.unsubscribe(),this.obtainPkSubscription=$e(1).pipe(Ti(e),Ye(()=>this.apiService.get("about"))).subscribe(i=>{i.public_key?(this.finishStartup(i.public_key),this.hypervisorPkObtained=!0):(this.pkErrorShown||(this.snackbarService.showError("start.loading-error",null,!0),this.pkErrorShown=!0),this.checkHypervisorPk(1e3))},i=>{if(this.pkErrorsFound+=1,this.pkErrorsFound>4&&!this.pkErrorShown){const o=en(i);this.snackbarService.showError("start.loading-error",null,!0,o),this.pkErrorShown=!0}this.inLoginPage||this.checkHypervisorPk(1e3)})}finishStartup(e){this.storage.initialize(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Ji),Y(hn),Y(In),Y(Dn),Y(gg),Y(il))},t.\u0275cmp=Ze({type:t,selectors:[["app-root"]],decls:5,vars:6,consts:[["class","size-alert d-md-none",4,"ngIf"],[1,"flex-1","content","container-fluid"],[3,"ngClass"],[4,"ngIf"],["class","h-100",4,"ngIf"],[1,"size-alert","d-md-none"],["src","assets/img/size-alert.png"],[1,"h-100"]],template:function(e,i){1&e&&(V(0,TW,6,3,"div",0),D(1,"div",1),xe(2,"div",2),V(3,LW,1,0,"router-outlet",3),V(4,EW,1,0,"app-loading-indicator",4),C()),2&e&&(w("ngIf",i.inVpnClient),c(2),w("ngClass",He(4,IW,i.inVpnClient)),c(1),w("ngIf",i.hypervisorPkObtained||i.inLoginPage),c(1),w("ngIf",!i.hypervisorPkObtained&&!i.inLoginPage))},dependencies:[Nn,Ft,Am,as,wt],styles:[".size-alert[_ngcontent-%COMP%]{background-color:#000000d9;position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;display:inline-flex;align-items:center;justify-content:center;text-align:center;color:#fff}.size-alert[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{margin:0 40px;max-width:400px}[_nghost-%COMP%]{display:flex;flex-direction:column;justify-content:space-between;min-height:100%;height:100%}.content[_ngcontent-%COMP%]{padding:20px!important}.background[_ngcontent-%COMP%]{background-image:url(/assets/img/map.png);background-size:cover;background-position:center;opacity:.1;width:100%;height:100%;top:0;left:0;position:fixed}"]}),t})(),Uh=(()=>{class t{set forceFail(e){this.forceFailInternal=e}constructor(e){this.router=e,this.forceFailInternal=!1}canActivate(e,i){return this.checkIfCanActivate()}canActivateChild(e,i){return this.checkIfCanActivate()}checkIfCanActivate(){return this.forceFailInternal?(this.router.navigate(["login"],{replaceUrl:!0}),$e(!1)):$e(!0)}}return t.\u0275fac=function(e){return new(e||t)(we(hn))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var Fr=(()=>((Fr=Fr||{})[Fr.AuthDisabled=0]="AuthDisabled",Fr[Fr.Logged=1]="Logged",Fr[Fr.NotLogged=2]="NotLogged",Fr))();let Wh=(()=>{class t{constructor(e,i,o){this.apiService=e,this.translateService=i,this.authGuardService=o}login(e){return this.apiService.post("login",{username:"admin",password:e},new Ql({ignoreAuth:!0})).pipe(bi(i=>{if(!0!==i)throw new Error;this.authGuardService.forceFail=!1}))}checkLogin(){return this.apiService.get("user",new Ql({ignoreAuth:!0})).pipe(ke(e=>e.username?Fr.Logged:Fr.AuthDisabled),Co(e=>(e=en(e)).originalError&&401===e.originalError.status?(this.authGuardService.forceFail=!0,$e(Fr.NotLogged)):Ar(e)))}logout(){return this.apiService.post("logout",{}).pipe(bi(e=>{if(!0!==e)throw new Error;this.authGuardService.forceFail=!0}))}changePassword(e,i){return this.apiService.post("change-password",{old_password:e,new_password:i},new Ql({responseType:nl.Text,ignoreAuth:!0})).pipe(ke(o=>{if("string"==typeof o&&"true"===o.trim())return!0;throw"Please do not change the default password."===o?new Error(this.translateService.instant("settings.password.errors.default-password")):new Error(this.translateService.instant("common.operation-error"))}),Co(o=>((o=en(o)).originalError&&401===o.originalError.status&&(o.translatableErrorMsg="settings.password.errors.bad-old-password"),Ar(o))))}initialConfig(e){return this.apiService.post("create-account",{username:"admin",password:e},new Ql({responseType:nl.Text,ignoreAuth:!0})).pipe(ke(i=>{if("string"==typeof i&&"true"===i.trim())return!0;throw new Error(i)}),Co(i=>((i=en(i)).originalError&&500===i.originalError.status&&(i.translatableErrorMsg="settings.password.initial-config.error"),Ar(i))))}}return t.\u0275fac=function(e){return new(e||t)(we(il),we(To),we(Uh))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class PW{}class er{constructor(){this.persistentScrollPosKey="scroll-pos"}ngOnInit(){let n=this.getLocalValue(this.persistentScrollPosKey);n=n?n.value:"0",window.scrollTo(0,Number(n)),setTimeout(()=>window.scrollTo(0,Number(n)),1)}saveScrollPosition(n){this.saveLocalValue(this.persistentScrollPosKey,window.scrollY+"")}saveLocalValue(n,e){const i=window.history.state;i[n]=e,i[n+"_time"]=(new Date).getTime(),window.history.replaceState(i,"",window.location.pathname+window.location.hash)}getLocalValue(n){if(!window.history.state||void 0===window.history.state[n])return null;const e=new PW;return e.value=window.history.state[n],e.date=window.history.state[n+"_time"],e}}er.mustCallNgOnInitSuper=Symbol("You must call super.ngOnInit."),er.\u0275fac=function(n){return new(n||er)},er.\u0275cmp=Ze({type:er,selectors:[["app-page-base"]],hostBindings:function(n,e){1&n&&ye("scroll",function(o){return e.saveScrollPosition(o)},0,Vb)},decls:0,vars:0,template:function(n,e){},encapsulation:2});let OW=(()=>{class t extends er{constructor(e,i){super(),this.authService=e,this.router=i}ngOnInit(){return this.verificationSubscription=this.authService.checkLogin().subscribe(e=>{this.router.navigate(e!==Fr.NotLogged?["nodes"]:["login"],{replaceUrl:!0})},()=>{this.router.navigate(["nodes"],{replaceUrl:!0})}),super.ngOnInit()}ngOnDestroy(){this.verificationSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(Wh),Y(hn))},t.\u0275cmp=Ze({type:t,selectors:[["app-start"]],features:[nt],decls:2,vars:0,consts:[[1,"h-100","w-100"]],template:function(e,i){1&e&&(D(0,"div",0),xe(1,"app-loading-indicator"),C())},dependencies:[as]}),t})(),gE=(()=>{class t{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=o=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Ks),Y(vt))},t.\u0275dir=Ke({type:t}),t})(),tc=(()=>{class t extends gE{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275dir=Ke({type:t,features:[nt]}),t})();const ls=new Re("NgValueAccessor"),FW={provide:ls,useExisting:pn(()=>Bi),multi:!0},NW=new Re("CompositionEventMode");let Bi=(()=>{class t extends gE{constructor(e,i,o){super(e,i),this._compositionMode=o,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function RW(){const t=Ya()?Ya().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}())}writeValue(e){this.setProperty("value",e??"")}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Ks),Y(vt),Y(NW,8))},t.\u0275dir=Ke({type:t,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(e,i){1&e&&ye("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},features:[un([FW]),nt]}),t})();function rl(t){return null==t||("string"==typeof t||Array.isArray(t))&&0===t.length}function bE(t){return null!=t&&"number"==typeof t.length}const wr=new Re("NgValidators"),ol=new Re("NgAsyncValidators"),YW=/^(?=.{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 Gt{static min(n){return function vE(t){return n=>{if(rl(n.value)||rl(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e{if(rl(n.value)||rl(t))return null;const e=parseFloat(n.value);return!isNaN(e)&&e>t?{max:{max:t,actual:n.value}}:null}}(n)}static required(n){return function ME(t){return rl(t.value)?{required:!0}:null}(n)}static requiredTrue(n){return function wE(t){return!0===t.value?null:{required:!0}}(n)}static email(n){return function CE(t){return rl(t.value)||YW.test(t.value)?null:{email:!0}}(n)}static minLength(n){return function xE(t){return n=>rl(n.value)||!bE(n.value)?null:n.value.length{if(rl(i.value))return null;const o=i.value;return n.test(o)?null:{pattern:{requiredPattern:e,actualValue:o}}}}(n)}static nullValidator(n){return null}static compose(n){return PE(n)}static composeAsync(n){return OE(n)}}function kE(t){return n=>bE(n.value)&&n.value.length>t?{maxlength:{requiredLength:t,actualLength:n.value.length}}:null}function _g(t){return null}function DE(t){return null!=t}function TE(t){return Hu(t)?ue(t):t}function LE(t){let n={};return t.forEach(e=>{n=null!=e?{...n,...e}:n}),0===Object.keys(n).length?null:n}function EE(t,n){return n.map(e=>e(t))}function IE(t){return t.map(n=>function HW(t){return!t.validate}(n)?n:e=>n.validate(e))}function PE(t){if(!t)return null;const n=t.filter(DE);return 0==n.length?null:function(e){return LE(EE(e,n))}}function _1(t){return null!=t?PE(IE(t)):null}function OE(t){if(!t)return null;const n=t.filter(DE);return 0==n.length?null:function(e){return l1(EE(e,n).map(TE)).pipe(ke(LE))}}function b1(t){return null!=t?OE(IE(t)):null}function AE(t,n){return null===t?[n]:Array.isArray(t)?[...t,n]:[t,n]}function FE(t){return t._rawValidators}function RE(t){return t._rawAsyncValidators}function v1(t){return t?Array.isArray(t)?t:[t]:[]}function bg(t,n){return Array.isArray(t)?t.includes(n):t===n}function NE(t,n){const e=v1(n);return v1(t).forEach(o=>{bg(e,o)||e.push(o)}),e}function YE(t,n){return v1(n).filter(e=>!bg(t,e))}class HE{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(n){this._rawValidators=n||[],this._composedValidatorFn=_1(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=b1(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(n){this._onDestroyCallbacks.push(n)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(n=>n()),this._onDestroyCallbacks=[]}reset(n=void 0){this.control&&this.control.reset(n)}hasError(n,e){return!!this.control&&this.control.hasError(n,e)}getError(n,e){return this.control?this.control.getError(n,e):null}}class $r extends HE{get formDirective(){return null}get path(){return null}}class Rs extends HE{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class BE{constructor(n){this._cd=n}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Vi=(()=>{class t extends BE{constructor(e){super(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Rs,2))},t.\u0275dir=Ke({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,i){2&e&&nn("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[nt]}),t})(),ji=(()=>{class t extends BE{constructor(e){super(e)}}return t.\u0275fac=function(e){return new(e||t)(Y($r,10))},t.\u0275dir=Ke({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,i){2&e&&nn("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)("ng-submitted",i.isSubmitted)},features:[nt]}),t})();const $h="VALID",yg="INVALID",Od="PENDING",Gh="DISABLED";function w1(t){return(Mg(t)?t.validators:t)||null}function C1(t,n){return(Mg(n)?n.asyncValidators:t)||null}function Mg(t){return null!=t&&!Array.isArray(t)&&"object"==typeof t}function jE(t,n,e){const i=t.controls;if(!(n?Object.keys(i):i).length)throw new Fe(1e3,"");if(!i[e])throw new Fe(1001,"")}function zE(t,n,e){t._forEachChild((i,o)=>{if(void 0===e[o])throw new Fe(1002,"")})}class wg{constructor(n,e){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(n),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(n){this._rawValidators=this._composedValidatorFn=n}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(n){this._rawAsyncValidators=this._composedAsyncValidatorFn=n}get parent(){return this._parent}get valid(){return this.status===$h}get invalid(){return this.status===yg}get pending(){return this.status==Od}get disabled(){return this.status===Gh}get enabled(){return this.status!==Gh}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(n){this._assignValidators(n)}setAsyncValidators(n){this._assignAsyncValidators(n)}addValidators(n){this.setValidators(NE(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(NE(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(YE(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(YE(n,this._rawAsyncValidators))}hasValidator(n){return bg(this._rawValidators,n)}hasAsyncValidator(n){return bg(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){this.touched=!0,this._parent&&!n.onlySelf&&this._parent.markAsTouched(n)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(n=>n.markAllAsTouched())}markAsUntouched(n={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(e=>{e.markAsUntouched({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}markAsDirty(n={}){this.pristine=!1,this._parent&&!n.onlySelf&&this._parent.markAsDirty(n)}markAsPristine(n={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}markAsPending(n={}){this.status=Od,!1!==n.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!n.onlySelf&&this._parent.markAsPending(n)}disable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=Gh,this.errors=null,this._forEachChild(i=>{i.disable({...n,onlySelf:!0})}),this._updateValue(),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...n,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!0))}enable(n={}){const e=this._parentMarkedDirty(n.onlySelf);this.status=$h,this._forEachChild(i=>{i.enable({...n,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors({...n,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===$h||this.status===Od)&&this._runAsyncValidator(n.emitEvent)),!1!==n.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(n)}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Gh:$h}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n){if(this.asyncValidator){this.status=Od,this._hasOwnPendingAsyncValidator=!0;const e=TE(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:n})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(n,e={}){this.errors=n,this._updateControlsErrors(!1!==e.emitEvent)}get(n){let e=n;return null==e||(Array.isArray(e)||(e=e.split(".")),0===e.length)?null:e.reduce((i,o)=>i&&i._find(o),this)}getError(n,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[n]:null}hasError(n,e){return!!this.getError(n,e)}get root(){let n=this;for(;n._parent;)n=n._parent;return n}_updateControlsErrors(n){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(n)}_initObservables(){this.valueChanges=new ht,this.statusChanges=new ht}_calculateStatus(){return this._allControlsDisabled()?Gh:this.errors?yg:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Od)?Od:this._anyControlsHaveStatus(yg)?yg:$h}_anyControlsHaveStatus(n){return this._anyControls(e=>e.status===n)}_anyControlsDirty(){return this._anyControls(n=>n.dirty)}_anyControlsTouched(){return this._anyControls(n=>n.touched)}_updatePristine(n={}){this.pristine=!this._anyControlsDirty(),this._parent&&!n.onlySelf&&this._parent._updatePristine(n)}_updateTouched(n={}){this.touched=this._anyControlsTouched(),this._parent&&!n.onlySelf&&this._parent._updateTouched(n)}_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){Mg(n)&&null!=n.updateOn&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){return!n&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=function zW(t){return Array.isArray(t)?_1(t):t||null}(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=function UW(t){return Array.isArray(t)?b1(t):t||null}(this._rawAsyncValidators)}}class Ad extends wg{constructor(n,e,i){super(w1(e),C1(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(n,e){return this.controls[n]?this.controls[n]:(this.controls[n]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(n,e,i={}){this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(n,e={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(n,e,i={}){this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),delete this.controls[n],e&&this.registerControl(n,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(n){return this.controls.hasOwnProperty(n)&&this.controls[n].enabled}setValue(n,e={}){zE(this,0,n),Object.keys(n).forEach(i=>{jE(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(Object.keys(n).forEach(i=>{const o=this.controls[i];o&&o.patchValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n={},e={}){this._forEachChild((i,o)=>{i.reset(n[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(n,e,i)=>(n[i]=e.getRawValue(),n))}_syncPendingControls(){let n=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&n(i,e)})}_setUpControls(){this._forEachChild(n=>{n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(n){for(const[e,i]of Object.entries(this.controls))if(this.contains(e)&&n(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(e,i,o)=>((i.enabled||this.disabled)&&(e[o]=i.value),e))}_reduceChildren(n,e){let i=n;return this._forEachChild((o,s)=>{i=e(i,o,s)}),i}_allControlsDisabled(){for(const n of Object.keys(this.controls))if(this.controls[n].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(n){return this.controls.hasOwnProperty(n)?this.controls[n]:null}}const UE=Ad;class WE extends Ad{}const nc=new Re("CallSetDisabledState",{providedIn:"root",factory:()=>qh}),qh="always";function Cg(t,n){return[...n.path,t]}function Kh(t,n,e=qh){x1(t,n),n.valueAccessor.writeValue(t.value),(t.disabled||"always"===e)&&n.valueAccessor.setDisabledState?.(t.disabled),function $W(t,n){n.valueAccessor.registerOnChange(e=>{t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,"change"===t.updateOn&&$E(t,n)})}(t,n),function qW(t,n){const e=(i,o)=>{n.valueAccessor.writeValue(i),o&&n.viewToModelUpdate(i)};t.registerOnChange(e),n._registerOnDestroy(()=>{t._unregisterOnChange(e)})}(t,n),function GW(t,n){n.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,"blur"===t.updateOn&&t._pendingChange&&$E(t,n),"submit"!==t.updateOn&&t.markAsTouched()})}(t,n),function WW(t,n){if(n.valueAccessor.setDisabledState){const e=i=>{n.valueAccessor.setDisabledState(i)};t.registerOnDisabledChange(e),n._registerOnDestroy(()=>{t._unregisterOnDisabledChange(e)})}}(t,n)}function xg(t,n,e=!0){const i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),Sg(t,n),t&&(n._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function kg(t,n){t.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(n)})}function x1(t,n){const e=FE(t);null!==n.validator?t.setValidators(AE(e,n.validator)):"function"==typeof e&&t.setValidators([e]);const i=RE(t);null!==n.asyncValidator?t.setAsyncValidators(AE(i,n.asyncValidator)):"function"==typeof i&&t.setAsyncValidators([i]);const o=()=>t.updateValueAndValidity();kg(n._rawValidators,o),kg(n._rawAsyncValidators,o)}function Sg(t,n){let e=!1;if(null!==t){if(null!==n.validator){const o=FE(t);if(Array.isArray(o)&&o.length>0){const s=o.filter(a=>a!==n.validator);s.length!==o.length&&(e=!0,t.setValidators(s))}}if(null!==n.asyncValidator){const o=RE(t);if(Array.isArray(o)&&o.length>0){const s=o.filter(a=>a!==n.asyncValidator);s.length!==o.length&&(e=!0,t.setAsyncValidators(s))}}}const i=()=>{};return kg(n._rawValidators,i),kg(n._rawAsyncValidators,i),e}function $E(t,n){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function GE(t,n){x1(t,n)}function qE(t,n){t._syncPendingControls(),n.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}const QW={provide:$r,useExisting:pn(()=>Xh)},Zh=(()=>Promise.resolve())();let Xh=(()=>{class t extends $r{constructor(e,i,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._directives=new Set,this.ngSubmit=new ht,this.form=new Ad({},_1(e),b1(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){Zh.then(()=>{const i=this._findContainer(e.path);e.control=i.registerControl(e.name,e.control),Kh(e.control,e,this.callSetDisabledState),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){Zh.then(()=>{const i=this._findContainer(e.path);i&&i.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){Zh.then(()=>{const i=this._findContainer(e.path),o=new Ad({});GE(o,e),i.registerControl(e.name,o),o.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){Zh.then(()=>{const i=this._findContainer(e.path);i&&i.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,i){Zh.then(()=>{this.form.get(e.path).setValue(i)})}setValue(e){this.control.setValue(e)}onSubmit(e){return this.submitted=!0,qE(this.form,this._directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}}return t.\u0275fac=function(e){return new(e||t)(Y(wr,10),Y(ol,10),Y(nc,8))},t.\u0275dir=Ke({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(e,i){1&e&&ye("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[un([QW]),nt]}),t})();function KE(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}function ZE(t){return"object"==typeof t&&null!==t&&2===Object.keys(t).length&&"value"in t&&"disabled"in t}const Fd=class extends wg{constructor(n=null,e,i){super(w1(e),C1(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(n),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),Mg(e)&&(e.nonNullable||e.initialValueIsDefault)&&(this.defaultValue=ZE(n)?n.value:n)}setValue(n,e={}){this.value=this._pendingValue=n,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(n,e={}){this.setValue(n,e)}reset(n=this.defaultValue,e={}){this._applyFormState(n),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(n){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(n){this._onChange.push(n)}_unregisterOnChange(n){KE(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){KE(this._onDisabledChange,n)}_forEachChild(n){}_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(n){ZE(n)?(this.value=this._pendingValue=n.value,n.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=n}},Dg=Fd;let XE=(()=>{class t extends $r{ngOnInit(){this._checkParentType(),this.formDirective.addFormGroup(this)}ngOnDestroy(){this.formDirective&&this.formDirective.removeFormGroup(this)}get control(){return this.formDirective.getFormGroup(this)}get path(){return Cg(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275dir=Ke({type:t,features:[nt]}),t})(),zi=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),nI=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})();const T1=new Re("NgModelWithFormControlWarning"),l$={provide:$r,useExisting:pn(()=>ii)};let ii=(()=>{class t extends $r{constructor(e,i,o){super(),this.callSetDisabledState=o,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new ht,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Sg(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return Kh(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){xg(e.control||null,e,!1),function JW(t,n){const e=t.indexOf(n);e>-1&&t.splice(e,1)}(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,qE(this.form,this.directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submitted=!1}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,o=this.form.get(e.path);i!==o&&(xg(i||null,e),(t=>t instanceof Fd)(o)&&(Kh(o,e,this.callSetDisabledState),e.control=o))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);GE(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function KW(t,n){return Sg(t,n)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){x1(this.form,this),this._oldForm&&Sg(this._oldForm,this)}_checkFormPresent(){}}return t.\u0275fac=function(e){return new(e||t)(Y(wr,10),Y(ol,10),Y(nc,8))},t.\u0275dir=Ke({type:t,selectors:[["","formGroup",""]],hostBindings:function(e,i){1&e&&ye("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[un([l$]),nt,Gi]}),t})();const c$={provide:$r,useExisting:pn(()=>Jh)};let Jh=(()=>{class t extends XE{constructor(e,i,o){super(),this.name=null,this._parent=e,this._setValidators(i),this._setAsyncValidators(o)}_checkParentType(){sI(this._parent)}}return t.\u0275fac=function(e){return new(e||t)(Y($r,13),Y(wr,10),Y(ol,10))},t.\u0275dir=Ke({type:t,selectors:[["","formGroupName",""]],inputs:{name:["formGroupName","name"]},features:[un([c$]),nt]}),t})();const d$={provide:$r,useExisting:pn(()=>Qh)};let Qh=(()=>{class t extends $r{constructor(e,i,o){super(),this.name=null,this._parent=e,this._setValidators(i),this._setAsyncValidators(o)}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 Cg(null==this.name?this.name:this.name.toString(),this._parent)}_checkParentType(){sI(this._parent)}}return t.\u0275fac=function(e){return new(e||t)(Y($r,13),Y(wr,10),Y(ol,10))},t.\u0275dir=Ke({type:t,selectors:[["","formArrayName",""]],inputs:{name:["formArrayName","name"]},features:[un([d$]),nt]}),t})();function sI(t){return!(t instanceof Jh||t instanceof ii||t instanceof Qh)}const u$={provide:Rs,useExisting:pn(()=>Ei)};let Ei=(()=>{class t extends Rs{set isDisabled(e){}constructor(e,i,o,s,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new ht,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(i),this._setAsyncValidators(o),this.valueAccessor=function D1(t,n){if(!n)return null;let e,i,o;return Array.isArray(n),n.forEach(s=>{s.constructor===Bi?e=s:function XW(t){return Object.getPrototypeOf(t.constructor)===tc}(s)?i=s:o=s}),o||i||e||null}(0,s)}ngOnChanges(e){this._added||this._setUpControl(),function S1(t,n){if(!t.hasOwnProperty("model"))return!1;const e=t.model;return!!e.isFirstChange()||!Object.is(n,e.currentValue)}(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return Cg(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._added=!0}}return t._ngModelWarningSentOnce=!1,t.\u0275fac=function(e){return new(e||t)(Y($r,13),Y(wr,10),Y(ol,10),Y(ls,10),Y(T1,8))},t.\u0275dir=Ke({type:t,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[un([u$]),nt,Gi]}),t})();let ic=(()=>{class t{constructor(){this._validator=_g}ngOnChanges(e){if(this.inputName in e){const i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):_g,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return null!=e}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,features:[Gi]}),t})();const x$={provide:wr,useExisting:pn(()=>Cr),multi:!0};let Cr=(()=>{class t extends ic{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=e=>function cI(t){return"number"==typeof t?t:parseInt(t,10)}(e),this.createValidator=e=>kE(e)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275dir=Ke({type:t,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(e,i){2&e&&Xt("maxlength",i._enabled?i.maxlength:null)},inputs:{maxlength:"maxlength"},features:[un([x$]),nt]}),t})(),gI=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[nI]}),t})();class _I extends wg{constructor(n,e,i){super(w1(e),C1(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(n){return this.controls[this._adjustIndex(n)]}push(n,e={}){this.controls.push(n),this._registerControl(n),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(n,e,i={}){this.controls.splice(n,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(n,e={}){let i=this._adjustIndex(n);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(n,e,i={}){let o=this._adjustIndex(n);o<0&&(o=0),this.controls[o]&&this.controls[o]._registerOnCollectionChange(()=>{}),this.controls.splice(o,1),e&&(this.controls.splice(o,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(n,e={}){zE(this,0,n),n.forEach((i,o)=>{jE(this,!1,o),this.at(o).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){null!=n&&(n.forEach((i,o)=>{this.at(o)&&this.at(o).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n=[],e={}){this._forEachChild((i,o)=>{i.reset(n[o],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(n=>n.getRawValue())}clear(n={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:n.emitEvent}))}_adjustIndex(n){return n<0?n+this.length:n}_syncPendingControls(){let n=this.controls.reduce((e,i)=>!!i._syncPendingControls()||e,!1);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){this.controls.forEach((e,i)=>{n(e,i)})}_updateValue(){this.value=this.controls.filter(n=>n.enabled||this.disabled).map(n=>n.value)}_anyControls(n){return this.controls.some(e=>e.enabled&&n(e))}_setUpControls(){this._forEachChild(n=>this._registerControl(n))}_allControlsDisabled(){for(const n of this.controls)if(n.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(n){n.setParent(this),n._registerOnCollectionChange(this._onCollectionChange)}_find(n){return this.at(n)??null}}function bI(t){return!!t&&(void 0!==t.asyncValidators||void 0!==t.validators||void 0!==t.updateOn)}let vI=(()=>{class t{constructor(){this.useNonNullable=!1}get nonNullable(){const e=new t;return e.useNonNullable=!0,e}group(e,i=null){const o=this._reduceControls(e);let s={};return bI(i)?s=i:null!==i&&(s.validators=i.validator,s.asyncValidators=i.asyncValidator),new Ad(o,s)}record(e,i=null){const o=this._reduceControls(e);return new WE(o,i)}control(e,i,o){let s={};return this.useNonNullable?(bI(i)?s=i:(s.validators=i,s.asyncValidators=o),new Fd(e,{...s,nonNullable:!0})):new Fd(e,i,o)}array(e,i,o){const s=e.map(a=>this._createControl(a));return new _I(s,i,o)}_reduceControls(e){const i={};return Object.keys(e).forEach(o=>{i[o]=this._createControl(e[o])}),i}_createControl(e){return e instanceof Fd||e instanceof wg?e:Array.isArray(e)?this.control(e[0],e.length>1?e[1]:null,e.length>2?e[2]:null):this.control(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),xr=(()=>{class t extends vI{group(e,i=null){return super.group(e,i)}control(e,i,o){return super.control(e,i,o)}array(e,i,o){return super.array(e,i,o)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),S$=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:nc,useValue:e.callSetDisabledState??qh}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[gI]}),t})(),D$=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:T1,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:nc,useValue:e.callSetDisabledState??qh}]}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[gI]}),t})();const T$=["matFormFieldNotchedOutline",""],L$=["*"],E$=["textField"],I$=["iconPrefixContainer"],P$=["textPrefixContainer"];function O$(t,n){1&t&&xe(0,"span",19)}function A$(t,n){if(1&t){const e=et();D(0,"label",17),ye("cdkObserveContent",function(){return Pe(e),Oe(z(2)._refreshOutlineNotchWidth())}),Sn(1,1),V(2,O$,1,0,"span",18),C()}if(2&t){const e=z(2);w("floating",e._shouldLabelFloat())("cdkObserveContentDisabled",!e._hasOutline())("id",e._labelId),Xt("for",e._control.id)("aria-owns",e._control.id),c(2),w("ngIf",!e.hideRequiredMarker&&e._control.required)}}function F$(t,n){1&t&&V(0,A$,3,6,"label",16),2&t&&w("ngIf",z()._hasFloatingLabel())}function R$(t,n){1&t&&xe(0,"div",20)}function N$(t,n){}function Y$(t,n){1&t&&V(0,N$,0,0,"ng-template",22),2&t&&(z(2),w("ngTemplateOutlet",ci(1)))}function H$(t,n){if(1&t&&(D(0,"div",21),V(1,Y$,1,1,"ng-template",9),C()),2&t){const e=z();w("matFormFieldNotchedOutlineOpen",e._shouldLabelFloat())("matFormFieldNotchedOutlineLabelWidth",e._labelWidth),c(1),w("ngIf",!e._forceDisplayInfixLabel())}}function B$(t,n){1&t&&(D(0,"div",23,24),Sn(2,2),C())}function V$(t,n){1&t&&(D(0,"div",25,26),Sn(2,3),C())}function j$(t,n){}function z$(t,n){1&t&&V(0,j$,0,0,"ng-template",22),2&t&&(z(),w("ngTemplateOutlet",ci(1)))}function U$(t,n){1&t&&(D(0,"div",27),Sn(1,4),C())}function W$(t,n){1&t&&(D(0,"div",28),Sn(1,5),C())}function $$(t,n){1&t&&xe(0,"div",29)}function G$(t,n){1&t&&(D(0,"div",30),Sn(1,6),C()),2&t&&w("@transitionMessages",z()._subscriptAnimationState)}function q$(t,n){if(1&t&&(D(0,"mat-hint",34),I(1),C()),2&t){const e=z(2);w("id",e._hintLabelId),c(1),se(e.hintLabel)}}function K$(t,n){if(1&t&&(D(0,"div",31),V(1,q$,2,2,"mat-hint",32),Sn(2,7),xe(3,"div",33),Sn(4,8),C()),2&t){const e=z();w("@transitionMessages",e._subscriptAnimationState),c(1),w("ngIf",e.hintLabel)}}const Z$=["*",[["mat-label"]],[["","matPrefix",""],["","matIconPrefix",""]],[["","matTextPrefix",""]],[["","matTextSuffix",""]],[["","matSuffix",""],["","matIconSuffix",""]],[["mat-error"],["","matError",""]],[["mat-hint",3,"align","end"]],[["mat-hint","align","end"]]],X$=["*","mat-label","[matPrefix], [matIconPrefix]","[matTextPrefix]","[matTextSuffix]","[matSuffix], [matIconSuffix]","mat-error, [matError]","mat-hint:not([align='end'])","mat-hint[align='end']"];let yI=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["mat-label"]]}),t})(),J$=0;const MI=new Re("MatError");let sl=(()=>{class t{constructor(e,i){this.id="mat-mdc-error-"+J$++,e||i.nativeElement.setAttribute("aria-live","polite")}}return t.\u0275fac=function(e){return new(e||t)(Pa("aria-live"),Y(vt))},t.\u0275dir=Ke({type:t,selectors:[["mat-error"],["","matError",""]],hostAttrs:["aria-atomic","true",1,"mat-mdc-form-field-error","mat-mdc-form-field-bottom-align"],hostVars:1,hostBindings:function(e,i){2&e&&Js("id",i.id)},inputs:{id:"id"},features:[un([{provide:MI,useExisting:t}])]}),t})(),Q$=0,wI=(()=>{class t{constructor(){this.align="start",this.id="mat-mdc-hint-"+Q$++}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["mat-hint"]],hostAttrs:[1,"mat-mdc-form-field-hint","mat-mdc-form-field-bottom-align"],hostVars:4,hostBindings:function(e,i){2&e&&(Js("id",i.id),Xt("align",null),nn("mat-mdc-form-field-hint-end","end"===i.align))},inputs:{align:"align",id:"id"}}),t})();const eG=new Re("MatPrefix"),tG=new Re("MatSuffix");let CI=(()=>{class t{constructor(e){this._elementRef=e,this.floating=!1}getWidth(){return function nG(t){if(null!==t.offsetParent)return t.scrollWidth;const e=t.cloneNode(!0);e.style.setProperty("position","absolute"),e.style.setProperty("transform","translate(-9999px, -9999px)"),document.documentElement.appendChild(e);const i=e.scrollWidth;return e.remove(),i}(this._elementRef.nativeElement)}get element(){return this._elementRef.nativeElement}}return t.\u0275fac=function(e){return new(e||t)(Y(vt))},t.\u0275dir=Ke({type:t,selectors:[["label","matFormFieldFloatingLabel",""]],hostAttrs:[1,"mdc-floating-label","mat-mdc-floating-label"],hostVars:2,hostBindings:function(e,i){2&e&&nn("mdc-floating-label--float-above",i.floating)},inputs:{floating:"floating"}}),t})();const xI="mdc-line-ripple--active",Tg="mdc-line-ripple--deactivating";let kI=(()=>{class t{constructor(e,i){this._elementRef=e,this._handleTransitionEnd=o=>{const s=this._elementRef.nativeElement.classList,a=s.contains(Tg);"opacity"===o.propertyName&&a&&s.remove(xI,Tg)},i.runOutsideAngular(()=>{e.nativeElement.addEventListener("transitionend",this._handleTransitionEnd)})}activate(){const e=this._elementRef.nativeElement.classList;e.remove(Tg),e.add(xI)}deactivate(){this._elementRef.nativeElement.classList.add(Tg)}ngOnDestroy(){this._elementRef.nativeElement.removeEventListener("transitionend",this._handleTransitionEnd)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ft))},t.\u0275dir=Ke({type:t,selectors:[["div","matFormFieldLineRipple",""]],hostAttrs:[1,"mdc-line-ripple"]}),t})(),SI=(()=>{class t{constructor(e,i){this._elementRef=e,this._ngZone=i,this.labelWidth=0,this.open=!1}ngAfterViewInit(){const e=this._elementRef.nativeElement.querySelector(".mdc-floating-label");e?(this._elementRef.nativeElement.classList.add("mdc-notched-outline--upgraded"),"function"==typeof requestAnimationFrame&&(e.style.transitionDuration="0s",this._ngZone.runOutsideAngular(()=>{requestAnimationFrame(()=>e.style.transitionDuration="")}))):this._elementRef.nativeElement.classList.add("mdc-notched-outline--no-label")}_getNotchWidth(){return this.open?this.labelWidth>0?`calc(${this.labelWidth}px * var(--mat-mdc-form-field-floating-label-scale, 0.75) + 9px)`:"0px":null}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ft))},t.\u0275cmp=Ze({type:t,selectors:[["div","matFormFieldNotchedOutline",""]],hostAttrs:[1,"mdc-notched-outline"],hostVars:2,hostBindings:function(e,i){2&e&&nn("mdc-notched-outline--notched",i.open)},inputs:{labelWidth:["matFormFieldNotchedOutlineLabelWidth","labelWidth"],open:["matFormFieldNotchedOutlineOpen","open"]},attrs:T$,ngContentSelectors:L$,decls:4,vars:2,consts:[[1,"mdc-notched-outline__leading"],[1,"mdc-notched-outline__notch"],[1,"mdc-notched-outline__trailing"]],template:function(e,i){1&e&&(Ir(),xe(0,"div",0),D(1,"div",1),Sn(2),C(),xe(3,"div",2)),2&e&&(c(1),Pl("width",i._getNotchWidth()))},encapsulation:2,changeDetection:0}),t})();const iG={transitionMessages:ia("transitionMessages",[yo("enter",Qn({opacity:1,transform:"translateY(0%)"})),Pr("void => enter",[Qn({opacity:0,transform:"translateY(-5px)"}),Ur("300ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let O1=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t}),t})();const A1=new Re("MatFormField"),rG=new Re("MAT_FORM_FIELD_DEFAULT_OPTIONS");let DI=0,ar=(()=>{class t{get hideRequiredMarker(){return this._hideRequiredMarker}set hideRequiredMarker(e){this._hideRequiredMarker=_n(e)}get floatLabel(){return this._floatLabel||this._defaults?.floatLabel||"auto"}set floatLabel(e){e!==this._floatLabel&&(this._floatLabel=e,this._changeDetectorRef.markForCheck())}get appearance(){return this._appearance}set appearance(e){const i=this._appearance;this._appearance=e||this._defaults?.appearance||"fill","outline"===this._appearance&&this._appearance!==i&&(this._refreshOutlineNotchWidth(),this._needsOutlineLabelOffsetUpdateOnStable=!0)}get subscriptSizing(){return this._subscriptSizing||this._defaults?.subscriptSizing||"fixed"}set subscriptSizing(e){this._subscriptSizing=e||this._defaults?.subscriptSizing||"fixed"}get hintLabel(){return this._hintLabel}set hintLabel(e){this._hintLabel=e,this._processHints()}get _control(){return this._explicitFormFieldControl||this._formFieldControl}set _control(e){this._explicitFormFieldControl=e}constructor(e,i,o,s,a,l,d,_){this._elementRef=e,this._changeDetectorRef=i,this._ngZone=o,this._dir=s,this._platform=a,this._defaults=l,this._animationMode=d,this._document=_,this._hideRequiredMarker=!1,this.color="primary",this._appearance="fill",this._subscriptSizing=null,this._hintLabel="",this._hasIconPrefix=!1,this._hasTextPrefix=!1,this._hasIconSuffix=!1,this._hasTextSuffix=!1,this._labelId="mat-mdc-form-field-label-"+DI++,this._hintLabelId="mat-mdc-hint-"+DI++,this._subscriptAnimationState="",this._labelWidth=0,this._destroyed=new J,this._isFocused=null,this._needsOutlineLabelOffsetUpdateOnStable=!1,l&&(l.appearance&&(this.appearance=l.appearance),this._hideRequiredMarker=!!l?.hideRequiredMarker,l.color&&(this.color=l.color))}ngAfterViewInit(){this._updateFocusState(),this._refreshOutlineNotchWidth(),this._document?.fonts?.ready?this._document.fonts.ready.then(()=>{this._refreshOutlineNotchWidth(),this._changeDetectorRef.markForCheck()}):setTimeout(()=>this._refreshOutlineNotchWidth(),100),this._subscriptAnimationState="enter",this._changeDetectorRef.detectChanges()}ngAfterContentInit(){this._assertFormFieldControl(),this._initializeControl(),this._initializeSubscript(),this._initializePrefixAndSuffix(),this._initializeOutlineLabelOffsetSubscriptions()}ngAfterContentChecked(){this._assertFormFieldControl()}ngOnDestroy(){this._destroyed.next(),this._destroyed.complete()}getLabelId(){return this._hasFloatingLabel()?this._labelId:null}getConnectedOverlayOrigin(){return this._textField||this._elementRef}_animateAndLockLabel(){this._hasFloatingLabel()&&(this.floatLabel="always")}_initializeControl(){const e=this._control;e.controlType&&this._elementRef.nativeElement.classList.add(`mat-mdc-form-field-type-${e.controlType}`),e.stateChanges.subscribe(()=>{this._updateFocusState(),this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),e.ngControl&&e.ngControl.valueChanges&&e.ngControl.valueChanges.pipe(Hn(this._destroyed)).subscribe(()=>this._changeDetectorRef.markForCheck())}_checkPrefixAndSuffixTypes(){this._hasIconPrefix=!!this._prefixChildren.find(e=>!e._isText),this._hasTextPrefix=!!this._prefixChildren.find(e=>e._isText),this._hasIconSuffix=!!this._suffixChildren.find(e=>!e._isText),this._hasTextSuffix=!!this._suffixChildren.find(e=>e._isText)}_initializePrefixAndSuffix(){this._checkPrefixAndSuffixTypes(),bt(this._prefixChildren.changes,this._suffixChildren.changes).subscribe(()=>{this._checkPrefixAndSuffixTypes(),this._changeDetectorRef.markForCheck()})}_initializeSubscript(){this._hintChildren.changes.subscribe(()=>{this._processHints(),this._changeDetectorRef.markForCheck()}),this._errorChildren.changes.subscribe(()=>{this._syncDescribedByIds(),this._changeDetectorRef.markForCheck()}),this._validateHints(),this._syncDescribedByIds()}_assertFormFieldControl(){}_updateFocusState(){this._control.focused&&!this._isFocused?(this._isFocused=!0,this._lineRipple?.activate()):!this._control.focused&&(this._isFocused||null===this._isFocused)&&(this._isFocused=!1,this._lineRipple?.deactivate()),this._textField?.nativeElement.classList.toggle("mdc-text-field--focused",this._control.focused)}_initializeOutlineLabelOffsetSubscriptions(){this._prefixChildren.changes.subscribe(()=>this._needsOutlineLabelOffsetUpdateOnStable=!0),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.pipe(Hn(this._destroyed)).subscribe(()=>{this._needsOutlineLabelOffsetUpdateOnStable&&(this._needsOutlineLabelOffsetUpdateOnStable=!1,this._updateOutlineLabelOffset())})}),this._dir.change.pipe(Hn(this._destroyed)).subscribe(()=>this._needsOutlineLabelOffsetUpdateOnStable=!0)}_shouldAlwaysFloat(){return"always"===this.floatLabel}_hasOutline(){return"outline"===this.appearance}_forceDisplayInfixLabel(){return!this._platform.isBrowser&&this._prefixChildren.length&&!this._shouldLabelFloat()}_hasFloatingLabel(){return!!this._labelChildNonStatic||!!this._labelChildStatic}_shouldLabelFloat(){return this._control.shouldLabelFloat||this._shouldAlwaysFloat()}_shouldForward(e){const i=this._control?this._control.ngControl:null;return i&&i[e]}_getDisplayedMessages(){return this._errorChildren&&this._errorChildren.length>0&&this._control.errorState?"error":"hint"}_refreshOutlineNotchWidth(){!this._hasOutline()||!this._floatingLabel||(this._labelWidth=this._floatingLabel.getWidth())}_processHints(){this._validateHints(),this._syncDescribedByIds()}_validateHints(){}_syncDescribedByIds(){if(this._control){let e=[];if(this._control.userAriaDescribedBy&&"string"==typeof this._control.userAriaDescribedBy&&e.push(...this._control.userAriaDescribedBy.split(" ")),"hint"===this._getDisplayedMessages()){const i=this._hintChildren?this._hintChildren.find(s=>"start"===s.align):null,o=this._hintChildren?this._hintChildren.find(s=>"end"===s.align):null;i?e.push(i.id):this._hintLabel&&e.push(this._hintLabelId),o&&e.push(o.id)}else this._errorChildren&&e.push(...this._errorChildren.map(i=>i.id));this._control.setDescribedByIds(e)}}_updateOutlineLabelOffset(){if(!this._platform.isBrowser||!this._hasOutline()||!this._floatingLabel)return;const e=this._floatingLabel.element;if(!this._iconPrefixContainer&&!this._textPrefixContainer)return void(e.style.transform="");if(!this._isAttachedToDom())return void(this._needsOutlineLabelOffsetUpdateOnStable=!0);const i=this._iconPrefixContainer?.nativeElement,o=this._textPrefixContainer?.nativeElement,s=i?.getBoundingClientRect().width??0,a=o?.getBoundingClientRect().width??0;e.style.transform=`var(\n --mat-mdc-form-field-label-transform,\n translateY(-50%) translateX(calc(${"rtl"===this._dir.value?"-1":"1"} * (${s+a}px + var(--mat-mdc-form-field-label-offset-x, 0px))))\n )`}_isAttachedToDom(){const e=this._elementRef.nativeElement;if(e.getRootNode){const i=e.getRootNode();return i&&i!==e}return document.documentElement.contains(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(ft),Y(Do),Y(ui),Y(rG,8),Y(Ri,8),Y(It))},t.\u0275cmp=Ze({type:t,selectors:[["mat-form-field"]],contentQueries:function(e,i,o){if(1&e&&(or(o,yI,5),or(o,yI,7),or(o,O1,5),or(o,eG,5),or(o,tG,5),or(o,MI,5),or(o,wI,5)),2&e){let s;rt(s=ot())&&(i._labelChildNonStatic=s.first),rt(s=ot())&&(i._labelChildStatic=s.first),rt(s=ot())&&(i._formFieldControl=s.first),rt(s=ot())&&(i._prefixChildren=s),rt(s=ot())&&(i._suffixChildren=s),rt(s=ot())&&(i._errorChildren=s),rt(s=ot())&&(i._hintChildren=s)}},viewQuery:function(e,i){if(1&e&&(_t(E$,5),_t(I$,5),_t(P$,5),_t(CI,5),_t(SI,5),_t(kI,5)),2&e){let o;rt(o=ot())&&(i._textField=o.first),rt(o=ot())&&(i._iconPrefixContainer=o.first),rt(o=ot())&&(i._textPrefixContainer=o.first),rt(o=ot())&&(i._floatingLabel=o.first),rt(o=ot())&&(i._notchedOutline=o.first),rt(o=ot())&&(i._lineRipple=o.first)}},hostAttrs:[1,"mat-mdc-form-field"],hostVars:42,hostBindings:function(e,i){2&e&&nn("mat-mdc-form-field-label-always-float",i._shouldAlwaysFloat())("mat-mdc-form-field-has-icon-prefix",i._hasIconPrefix)("mat-mdc-form-field-has-icon-suffix",i._hasIconSuffix)("mat-form-field-invalid",i._control.errorState)("mat-form-field-disabled",i._control.disabled)("mat-form-field-autofilled",i._control.autofilled)("mat-form-field-no-animations","NoopAnimations"===i._animationMode)("mat-form-field-appearance-fill","fill"==i.appearance)("mat-form-field-appearance-outline","outline"==i.appearance)("mat-form-field-hide-placeholder",i._hasFloatingLabel()&&!i._shouldLabelFloat())("mat-focused",i._control.focused)("mat-primary","accent"!==i.color&&"warn"!==i.color)("mat-accent","accent"===i.color)("mat-warn","warn"===i.color)("ng-untouched",i._shouldForward("untouched"))("ng-touched",i._shouldForward("touched"))("ng-pristine",i._shouldForward("pristine"))("ng-dirty",i._shouldForward("dirty"))("ng-valid",i._shouldForward("valid"))("ng-invalid",i._shouldForward("invalid"))("ng-pending",i._shouldForward("pending"))},inputs:{hideRequiredMarker:"hideRequiredMarker",color:"color",floatLabel:"floatLabel",appearance:"appearance",subscriptSizing:"subscriptSizing",hintLabel:"hintLabel"},exportAs:["matFormField"],features:[un([{provide:A1,useExisting:t}])],ngContentSelectors:X$,decls:18,vars:23,consts:[["labelTemplate",""],[1,"mat-mdc-text-field-wrapper","mdc-text-field",3,"click"],["textField",""],["class","mat-mdc-form-field-focus-overlay",4,"ngIf"],[1,"mat-mdc-form-field-flex"],["matFormFieldNotchedOutline","",3,"matFormFieldNotchedOutlineOpen","matFormFieldNotchedOutlineLabelWidth",4,"ngIf"],["class","mat-mdc-form-field-icon-prefix",4,"ngIf"],["class","mat-mdc-form-field-text-prefix",4,"ngIf"],[1,"mat-mdc-form-field-infix"],[3,"ngIf"],["class","mat-mdc-form-field-text-suffix",4,"ngIf"],["class","mat-mdc-form-field-icon-suffix",4,"ngIf"],["matFormFieldLineRipple","",4,"ngIf"],[1,"mat-mdc-form-field-subscript-wrapper","mat-mdc-form-field-bottom-align",3,"ngSwitch"],["class","mat-mdc-form-field-error-wrapper",4,"ngSwitchCase"],["class","mat-mdc-form-field-hint-wrapper",4,"ngSwitchCase"],["matFormFieldFloatingLabel","",3,"floating","cdkObserveContentDisabled","id","cdkObserveContent",4,"ngIf"],["matFormFieldFloatingLabel","",3,"floating","cdkObserveContentDisabled","id","cdkObserveContent"],["aria-hidden","true","class","mat-mdc-form-field-required-marker mdc-floating-label--required",4,"ngIf"],["aria-hidden","true",1,"mat-mdc-form-field-required-marker","mdc-floating-label--required"],[1,"mat-mdc-form-field-focus-overlay"],["matFormFieldNotchedOutline","",3,"matFormFieldNotchedOutlineOpen","matFormFieldNotchedOutlineLabelWidth"],[3,"ngTemplateOutlet"],[1,"mat-mdc-form-field-icon-prefix"],["iconPrefixContainer",""],[1,"mat-mdc-form-field-text-prefix"],["textPrefixContainer",""],[1,"mat-mdc-form-field-text-suffix"],[1,"mat-mdc-form-field-icon-suffix"],["matFormFieldLineRipple",""],[1,"mat-mdc-form-field-error-wrapper"],[1,"mat-mdc-form-field-hint-wrapper"],[3,"id",4,"ngIf"],[1,"mat-mdc-form-field-hint-spacer"],[3,"id"]],template:function(e,i){1&e&&(Ir(Z$),V(0,F$,1,1,"ng-template",null,0,Es),D(2,"div",1,2),ye("click",function(s){return i._control.onContainerClick(s)}),V(4,R$,1,0,"div",3),D(5,"div",4),V(6,H$,2,3,"div",5),V(7,B$,3,0,"div",6),V(8,V$,3,0,"div",7),D(9,"div",8),V(10,z$,1,1,"ng-template",9),Sn(11),C(),V(12,U$,2,0,"div",10),V(13,W$,2,0,"div",11),C(),V(14,$$,1,0,"div",12),C(),D(15,"div",13),V(16,G$,2,1,"div",14),V(17,K$,5,2,"div",15),C()),2&e&&(c(2),nn("mdc-text-field--filled",!i._hasOutline())("mdc-text-field--outlined",i._hasOutline())("mdc-text-field--no-label",!i._hasFloatingLabel())("mdc-text-field--disabled",i._control.disabled)("mdc-text-field--invalid",i._control.errorState),c(2),w("ngIf",!i._hasOutline()&&!i._control.disabled),c(2),w("ngIf",i._hasOutline()),c(1),w("ngIf",i._hasIconPrefix),c(1),w("ngIf",i._hasTextPrefix),c(2),w("ngIf",!i._hasOutline()||i._forceDisplayInfixLabel()),c(2),w("ngIf",i._hasTextSuffix),c(1),w("ngIf",i._hasIconSuffix),c(1),w("ngIf",!i._hasOutline()),c(1),nn("mat-mdc-form-field-subscript-dynamic-size","dynamic"===i.subscriptSizing),w("ngSwitch",i._getDisplayedMessages()),c(1),w("ngSwitchCase","error"),c(1),w("ngSwitchCase","hint"))},dependencies:[Ft,hd,eh,my,dL,wI,CI,SI,kI],styles:['.mdc-text-field{border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:0;border-bottom-left-radius:0;display:inline-flex;align-items:baseline;padding:0 16px;position:relative;box-sizing:border-box;overflow:hidden;will-change:opacity,transform,color}.mdc-text-field .mdc-floating-label{top:50%;transform:translateY(-50%);pointer-events:none}.mdc-text-field__input{height:28px;width:100%;min-width:0;border:none;border-radius:0;background:none;appearance:none;padding:0}.mdc-text-field__input::-ms-clear{display:none}.mdc-text-field__input::-webkit-calendar-picker-indicator{display:none}.mdc-text-field__input:focus{outline:none}.mdc-text-field__input:invalid{box-shadow:none}@media all{.mdc-text-field__input::placeholder{opacity:0}}@media all{.mdc-text-field__input:-ms-input-placeholder{opacity:0}}@media all{.mdc-text-field--no-label .mdc-text-field__input::placeholder,.mdc-text-field--focused .mdc-text-field__input::placeholder{opacity:1}}@media all{.mdc-text-field--no-label .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mdc-text-field__input:-ms-input-placeholder{opacity:1}}.mdc-text-field__affix{height:28px;opacity:0;white-space:nowrap}.mdc-text-field--label-floating .mdc-text-field__affix,.mdc-text-field--no-label .mdc-text-field__affix{opacity:1}@supports(-webkit-hyphens: none){.mdc-text-field--outlined .mdc-text-field__affix{align-items:center;align-self:center;display:inline-flex;height:100%}}.mdc-text-field__affix--prefix{padding-left:0;padding-right:2px}[dir=rtl] .mdc-text-field__affix--prefix,.mdc-text-field__affix--prefix[dir=rtl]{padding-left:2px;padding-right:0}.mdc-text-field--end-aligned .mdc-text-field__affix--prefix{padding-left:0;padding-right:12px}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__affix--prefix,.mdc-text-field--end-aligned .mdc-text-field__affix--prefix[dir=rtl]{padding-left:12px;padding-right:0}.mdc-text-field__affix--suffix{padding-left:12px;padding-right:0}[dir=rtl] .mdc-text-field__affix--suffix,.mdc-text-field__affix--suffix[dir=rtl]{padding-left:0;padding-right:12px}.mdc-text-field--end-aligned .mdc-text-field__affix--suffix{padding-left:2px;padding-right:0}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__affix--suffix,.mdc-text-field--end-aligned .mdc-text-field__affix--suffix[dir=rtl]{padding-left:0;padding-right:2px}.mdc-text-field--filled{height:56px}.mdc-text-field--filled::before{display:inline-block;width:0;height:40px;content:"";vertical-align:0}.mdc-text-field--filled .mdc-floating-label{left:16px;right:initial}[dir=rtl] .mdc-text-field--filled .mdc-floating-label,.mdc-text-field--filled .mdc-floating-label[dir=rtl]{left:initial;right:16px}.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{height:100%}.mdc-text-field--filled.mdc-text-field--no-label .mdc-floating-label{display:none}.mdc-text-field--filled.mdc-text-field--no-label::before{display:none}@supports(-webkit-hyphens: none){.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__affix{align-items:center;align-self:center;display:inline-flex;height:100%}}.mdc-text-field--outlined{height:56px;overflow:visible}.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) scale(1)}.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) scale(0.75)}.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--outlined .mdc-text-field__input{height:100%}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--mdc-shape-small, 4px)}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading[dir=rtl]{border-top-left-radius:0;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__leading{width:max(12px, var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__notch{max-width:calc(100% - max(12px, var(--mdc-shape-small, 4px))*2)}}.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing{border-top-left-radius:0;border-top-right-radius:var(--mdc-shape-small, 4px);border-bottom-right-radius:var(--mdc-shape-small, 4px);border-bottom-left-radius:0}[dir=rtl] .mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing,.mdc-text-field--outlined .mdc-notched-outline .mdc-notched-outline__trailing[dir=rtl]{border-top-left-radius:var(--mdc-shape-small, 4px);border-top-right-radius:0;border-bottom-right-radius:0;border-bottom-left-radius:var(--mdc-shape-small, 4px)}@supports(top: max(0%)){.mdc-text-field--outlined{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined{padding-right:max(16px, var(--mdc-shape-small, 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}@supports(top: max(0%)){.mdc-text-field--outlined+.mdc-text-field-helper-line{padding-right:max(16px, var(--mdc-shape-small, 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-left:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-leading-icon{padding-right:max(16px, var(--mdc-shape-small, 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-right:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-leading-icon,.mdc-text-field--outlined.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:max(16px, var(--mdc-shape-small, 4px))}}.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-right:0}@supports(top: max(0%)){.mdc-text-field--outlined.mdc-text-field--with-trailing-icon{padding-left:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0}@supports(top: max(0%)){[dir=rtl] .mdc-text-field--outlined.mdc-text-field--with-trailing-icon,.mdc-text-field--outlined.mdc-text-field--with-trailing-icon[dir=rtl]{padding-right:max(16px, calc(var(--mdc-shape-small, 4px) + 4px))}}.mdc-text-field--outlined.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:1px}.mdc-text-field--outlined .mdc-floating-label{left:4px;right:initial}[dir=rtl] .mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:4px}.mdc-text-field--outlined .mdc-text-field__input{display:flex;border:none !important;background-color:rgba(0,0,0,0)}.mdc-text-field--outlined .mdc-notched-outline{z-index:1}.mdc-text-field--textarea{flex-direction:column;align-items:center;width:auto;height:auto;padding:0}.mdc-text-field--textarea .mdc-floating-label{top:19px}.mdc-text-field--textarea .mdc-floating-label:not(.mdc-floating-label--float-above){transform:none}.mdc-text-field--textarea .mdc-text-field__input{flex-grow:1;height:auto;min-height:1.5rem;overflow-x:hidden;overflow-y:auto;box-sizing:border-box;resize:none;padding:0 16px}.mdc-text-field--textarea.mdc-text-field--filled::before{display:none}.mdc-text-field--textarea.mdc-text-field--filled .mdc-floating-label--float-above{transform:translateY(-10.25px) scale(0.75)}.mdc-text-field--textarea.mdc-text-field--filled .mdc-text-field__input{margin-top:23px;margin-bottom:9px}.mdc-text-field--textarea.mdc-text-field--filled.mdc-text-field--no-label .mdc-text-field__input{margin-top:16px;margin-bottom:16px}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-27.25px) scale(1)}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-24.75px) scale(0.75)}.mdc-text-field--textarea.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--textarea.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-text-field__input{margin-top:16px;margin-bottom:16px}.mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label{top:18px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field__input{margin-bottom:2px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter{align-self:flex-end;padding:0 16px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter::after{display:inline-block;width:0;height:16px;content:"";vertical-align:-16px}.mdc-text-field--textarea.mdc-text-field--with-internal-counter .mdc-text-field-character-counter::before{display:none}.mdc-text-field__resizer{align-self:stretch;display:inline-flex;flex-direction:column;flex-grow:1;max-height:100%;max-width:100%;min-height:56px;min-width:fit-content;min-width:-moz-available;min-width:-webkit-fill-available;overflow:hidden;resize:both}.mdc-text-field--filled .mdc-text-field__resizer{transform:translateY(-1px)}.mdc-text-field--filled .mdc-text-field__resizer .mdc-text-field__input,.mdc-text-field--filled .mdc-text-field__resizer .mdc-text-field-character-counter{transform:translateY(1px)}.mdc-text-field--outlined .mdc-text-field__resizer{transform:translateX(-1px) translateY(-1px)}[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer,.mdc-text-field--outlined .mdc-text-field__resizer[dir=rtl]{transform:translateX(1px) translateY(-1px)}.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input,.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter{transform:translateX(1px) translateY(1px)}[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input,[dir=rtl] .mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter,.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field__input[dir=rtl],.mdc-text-field--outlined .mdc-text-field__resizer .mdc-text-field-character-counter[dir=rtl]{transform:translateX(-1px) translateY(1px)}.mdc-text-field--with-leading-icon{padding-left:0;padding-right:16px}[dir=rtl] .mdc-text-field--with-leading-icon,.mdc-text-field--with-leading-icon[dir=rtl]{padding-left:16px;padding-right:0}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 48px);left:48px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label[dir=rtl]{left:initial;right:48px}.mdc-text-field--with-leading-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 64px / 0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label{left:36px;right:initial}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label[dir=rtl]{left:initial;right:36px}.mdc-text-field--with-leading-icon.mdc-text-field--outlined :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{transform:translateY(-37.25px) translateX(-32px) scale(1)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-37.25px) translateX(32px) scale(1)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--float-above{font-size:.75rem}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{transform:translateY(-34.75px) translateX(-32px) scale(0.75)}[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,[dir=rtl] .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl],.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above[dir=rtl]{transform:translateY(-34.75px) translateX(32px) scale(0.75)}.mdc-text-field--with-leading-icon.mdc-text-field--outlined.mdc-notched-outline--upgraded .mdc-floating-label--float-above,.mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:1rem}.mdc-text-field--with-trailing-icon{padding-left:16px;padding-right:0}[dir=rtl] .mdc-text-field--with-trailing-icon,.mdc-text-field--with-trailing-icon[dir=rtl]{padding-left:0;padding-right:16px}.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 64px)}.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 64px / 0.75)}.mdc-text-field--with-trailing-icon.mdc-text-field--outlined :not(.mdc-notched-outline--notched) .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon{padding-left:0;padding-right:0}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label{max-width:calc(100% - 96px)}.mdc-text-field--with-leading-icon.mdc-text-field--with-trailing-icon.mdc-text-field--filled .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 96px / 0.75)}.mdc-text-field-helper-line{display:flex;justify-content:space-between;box-sizing:border-box}.mdc-text-field+.mdc-text-field-helper-line{padding-right:16px;padding-left:16px}.mdc-form-field>.mdc-text-field+label{align-self:flex-start}.mdc-text-field--focused .mdc-notched-outline__leading,.mdc-text-field--focused .mdc-notched-outline__notch,.mdc-text-field--focused .mdc-notched-outline__trailing{border-width:2px}.mdc-text-field--focused+.mdc-text-field-helper-line .mdc-text-field-helper-text:not(.mdc-text-field-helper-text--validation-msg){opacity:1}.mdc-text-field--focused.mdc-text-field--outlined .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:2px}.mdc-text-field--focused.mdc-text-field--outlined.mdc-text-field--textarea .mdc-notched-outline--notched .mdc-notched-outline__notch{padding-top:0}.mdc-text-field--invalid+.mdc-text-field-helper-line .mdc-text-field-helper-text--validation-msg{opacity:1}.mdc-text-field--disabled{pointer-events:none}@media screen and (forced-colors: active){.mdc-text-field--disabled .mdc-text-field__input{background-color:Window}.mdc-text-field--disabled .mdc-floating-label{z-index:1}}.mdc-text-field--disabled .mdc-floating-label{cursor:default}.mdc-text-field--disabled.mdc-text-field--filled .mdc-text-field__ripple{display:none}.mdc-text-field--disabled .mdc-text-field__input{pointer-events:auto}.mdc-text-field--end-aligned .mdc-text-field__input{text-align:right}[dir=rtl] .mdc-text-field--end-aligned .mdc-text-field__input,.mdc-text-field--end-aligned .mdc-text-field__input[dir=rtl]{text-align:left}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__input,[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__input,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix{direction:ltr}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--prefix{padding-left:0;padding-right:2px}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--suffix{padding-left:12px;padding-right:0}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__icon--leading,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__icon--leading{order:1}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--suffix{order:2}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__input,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__input{order:3}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__affix--prefix{order:4}[dir=rtl] .mdc-text-field--ltr-text .mdc-text-field__icon--trailing,.mdc-text-field--ltr-text[dir=rtl] .mdc-text-field__icon--trailing{order:5}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__input,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__input{text-align:right}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__affix--prefix,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__affix--prefix{padding-right:12px}[dir=rtl] .mdc-text-field--ltr-text.mdc-text-field--end-aligned .mdc-text-field__affix--suffix,.mdc-text-field--ltr-text.mdc-text-field--end-aligned[dir=rtl] .mdc-text-field__affix--suffix{padding-left:2px}.mdc-floating-label{position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.15rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform}[dir=rtl] .mdc-floating-label,.mdc-floating-label[dir=rtl]{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.mdc-floating-label--float-above{cursor:auto}.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after{margin-left:1px;margin-right:0px;content:"*"}[dir=rtl] .mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)::after,.mdc-floating-label--required:not(.mdc-floating-label--hide-required-marker)[dir=rtl]::after{margin-left:0;margin-right:1px}.mdc-floating-label--float-above{transform:translateY(-106%) scale(0.75)}.mdc-notched-outline{display:flex;position:absolute;top:0;right:0;left:0;box-sizing:border-box;width:100%;max-width:100%;height:100%;text-align:left;pointer-events:none}[dir=rtl] .mdc-notched-outline,.mdc-notched-outline[dir=rtl]{text-align:right}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{box-sizing:border-box;height:100%;pointer-events:none}.mdc-notched-outline__trailing{flex-grow:1}.mdc-notched-outline__notch{flex:0 0 auto;width:auto}.mdc-notched-outline .mdc-floating-label{display:inline-block;position:relative;max-width:100%}.mdc-notched-outline .mdc-floating-label--float-above{text-overflow:clip}.mdc-notched-outline--upgraded .mdc-floating-label--float-above{max-width:133.3333333333%}.mdc-notched-outline--notched .mdc-notched-outline__notch{padding-left:0;padding-right:8px;border-top:none}[dir=rtl] .mdc-notched-outline--notched .mdc-notched-outline__notch,.mdc-notched-outline--notched .mdc-notched-outline__notch[dir=rtl]{padding-left:8px;padding-right:0}.mdc-notched-outline--no-label .mdc-notched-outline__notch{display:none}.mdc-notched-outline__leading,.mdc-notched-outline__notch,.mdc-notched-outline__trailing{border-top:1px solid;border-bottom:1px solid}.mdc-notched-outline__leading{border-left:1px solid;border-right:none;width:12px}[dir=rtl] .mdc-notched-outline__leading,.mdc-notched-outline__leading[dir=rtl]{border-left:none;border-right:1px solid}.mdc-notched-outline__trailing{border-left:none;border-right:1px solid}[dir=rtl] .mdc-notched-outline__trailing,.mdc-notched-outline__trailing[dir=rtl]{border-left:1px solid;border-right:none}.mdc-notched-outline__notch{max-width:calc(100% - 12px * 2)}.mdc-line-ripple::before,.mdc-line-ripple::after{position:absolute;bottom:0;left:0;width:100%;border-bottom-style:solid;content:""}.mdc-line-ripple::before{z-index:1}.mdc-line-ripple::after{transform:scaleX(0);opacity:0;z-index:2}.mdc-line-ripple--active::after{transform:scaleX(1);opacity:1}.mdc-line-ripple--deactivating::after{opacity:0}.mdc-line-ripple::before{border-bottom-width:1px}.mdc-line-ripple::after{border-bottom-width:2px}.mat-mdc-form-field-textarea-control{vertical-align:middle;resize:vertical;box-sizing:border-box;height:auto;margin:0;padding:0;border:none;overflow:auto}.mat-mdc-form-field-input-control.mat-mdc-form-field-input-control{font:inherit;letter-spacing:inherit;text-decoration:inherit;text-transform:inherit;border:none}.mat-mdc-form-field .mat-mdc-floating-label.mdc-floating-label{line-height:normal;pointer-events:all}.mdc-text-field--no-label:not(.mdc-text-field--textarea) .mat-mdc-form-field-input-control.mdc-text-field__input,.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control{height:auto}.mat-mdc-text-field-wrapper .mat-mdc-form-field-input-control.mdc-text-field__input[type=color]{height:23px}.mat-mdc-text-field-wrapper{height:auto;flex:auto}.mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-left:0;--mat-mdc-form-field-label-offset-x: -16px}.mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-right:0}[dir=rtl] .mat-mdc-text-field-wrapper{padding-left:16px;padding-right:16px}[dir=rtl] .mat-mdc-form-field-has-icon-suffix .mat-mdc-text-field-wrapper{padding-left:0}[dir=rtl] .mat-mdc-form-field-has-icon-prefix .mat-mdc-text-field-wrapper{padding-right:0}.mat-mdc-form-field-label-always-float .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms;opacity:1}.mat-mdc-text-field-wrapper .mat-mdc-form-field-infix .mat-mdc-floating-label{left:auto;right:auto}.mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-text-field__input{display:inline-block}.mat-mdc-form-field .mat-mdc-text-field-wrapper.mdc-text-field .mdc-notched-outline__notch{padding-top:0}.mat-mdc-text-field-wrapper::before{content:none}.mat-mdc-form-field-subscript-wrapper{box-sizing:border-box;width:100%;position:relative}.mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-error-wrapper{position:absolute;top:0;left:0;right:0;padding:0 16px}.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-hint-wrapper,.mat-mdc-form-field-subscript-dynamic-size .mat-mdc-form-field-error-wrapper{position:static}.mat-mdc-form-field-bottom-align::before{content:"";display:inline-block;height:16px}.mat-mdc-form-field-bottom-align.mat-mdc-form-field-subscript-dynamic-size::before{content:unset}.mat-mdc-form-field-hint-end{order:1}.mat-mdc-form-field-hint-wrapper{display:flex}.mat-mdc-form-field-hint-spacer{flex:1 0 1em}.mat-mdc-form-field-error{display:block}.mat-mdc-form-field-focus-overlay{top:0;left:0;right:0;bottom:0;position:absolute;opacity:0;pointer-events:none}select.mat-mdc-form-field-input-control{-moz-appearance:none;-webkit-appearance:none;background-color:rgba(0,0,0,0);display:inline-flex;box-sizing:border-box}select.mat-mdc-form-field-input-control:not(:disabled){cursor:pointer}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{content:"";width:0;height:0;border-left:5px solid rgba(0,0,0,0);border-right:5px solid rgba(0,0,0,0);border-top:5px solid;position:absolute;right:0;top:50%;margin-top:-2.5px;pointer-events:none}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-infix::after{right:auto;left:0}.mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:15px}[dir=rtl] .mat-mdc-form-field-type-mat-native-select .mat-mdc-form-field-input-control{padding-right:0;padding-left:15px}.cdk-high-contrast-active .mat-form-field-appearance-fill .mat-mdc-text-field-wrapper{outline:solid 1px}.cdk-high-contrast-active .mat-form-field-appearance-fill.mat-form-field-disabled .mat-mdc-text-field-wrapper{outline-color:GrayText}.cdk-high-contrast-active .mat-form-field-appearance-fill.mat-focused .mat-mdc-text-field-wrapper{outline:dashed 3px}.cdk-high-contrast-active .mat-mdc-form-field.mat-focused .mdc-notched-outline{border:dashed 3px}.mat-mdc-form-field-input-control[type=date],.mat-mdc-form-field-input-control[type=datetime],.mat-mdc-form-field-input-control[type=datetime-local],.mat-mdc-form-field-input-control[type=month],.mat-mdc-form-field-input-control[type=week],.mat-mdc-form-field-input-control[type=time]{line-height:1}.mat-mdc-form-field-input-control::-webkit-datetime-edit{line-height:1;padding:0;margin-bottom:-2px}.mat-mdc-form-field{--mat-mdc-form-field-floating-label-scale: 0.75;display:inline-flex;flex-direction:column;min-width:0;text-align:left}[dir=rtl] .mat-mdc-form-field{text-align:right}.mat-mdc-form-field-flex{display:inline-flex;align-items:baseline;box-sizing:border-box;width:100%}.mat-mdc-text-field-wrapper{width:100%}.mat-mdc-form-field-icon-prefix,.mat-mdc-form-field-icon-suffix{align-self:center;line-height:0;pointer-events:auto}.mat-mdc-form-field-icon-prefix,[dir=rtl] .mat-mdc-form-field-icon-suffix{padding:0 4px 0 0}.mat-mdc-form-field-icon-suffix,[dir=rtl] .mat-mdc-form-field-icon-prefix{padding:0 0 0 4px}.mat-mdc-form-field-icon-prefix>.mat-icon,.mat-mdc-form-field-icon-suffix>.mat-icon{padding:12px;box-sizing:content-box}.mat-mdc-form-field-subscript-wrapper .mat-icon,.mat-mdc-form-field label .mat-icon{width:1em;height:1em;font-size:inherit}.mat-mdc-form-field-infix{flex:auto;min-width:0;width:180px;position:relative;box-sizing:border-box}.mat-mdc-form-field .mdc-notched-outline__notch{margin-left:-1px;-webkit-clip-path:inset(-9em -999em -9em 1px);clip-path:inset(-9em -999em -9em 1px)}[dir=rtl] .mat-mdc-form-field .mdc-notched-outline__notch{margin-left:0;margin-right:-1px;-webkit-clip-path:inset(-9em 1px -9em -999em);clip-path:inset(-9em 1px -9em -999em)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input{transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}@media all{.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder{transition:opacity 67ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}}@media all{.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder{transition:opacity 67ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}}@media all{.mdc-text-field--no-label .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder,.mdc-text-field--focused .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input::placeholder{transition-delay:40ms;transition-duration:110ms}}@media all{.mdc-text-field--no-label .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder,.mdc-text-field--focused .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__input:-ms-input-placeholder{transition-delay:40ms;transition-duration:110ms}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field__affix{transition:opacity 150ms 0ms cubic-bezier(0.4, 0, 0.2, 1)}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--filled.mdc-ripple-upgraded--background-focused .mdc-text-field__ripple::before,.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--filled:not(.mdc-ripple-upgraded):focus .mdc-text-field__ripple::before{transition-duration:75ms}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 34.75px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea{transition:none}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea.mdc-text-field--filled .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-textarea-filled 250ms 1}@keyframes mdc-floating-label-shake-float-above-textarea-filled{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 10.25px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--textarea.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-textarea-outlined 250ms 1}@keyframes mdc-floating-label-shake-float-above-textarea-outlined{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 24.75px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon{0%{transform:translateX(calc(0% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}100%{transform:translateX(calc(0% - 32px)) translateY(calc(0% - 34.75px)) scale(0.75)}}[dir=rtl] .mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined .mdc-floating-label--shake,.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-text-field--with-leading-icon.mdc-text-field--outlined[dir=rtl] .mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-text-field-outlined-leading-icon 250ms 1}@keyframes mdc-floating-label-shake-float-above-text-field-outlined-leading-icon-rtl{0%{transform:translateX(calc(0% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}100%{transform:translateX(calc(0% - -32px)) translateY(calc(0% - 34.75px)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-floating-label{transition:transform 150ms cubic-bezier(0.4, 0, 0.2, 1),color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-floating-label--shake{animation:mdc-floating-label-shake-float-above-standard 250ms 1}@keyframes mdc-floating-label-shake-float-above-standard{0%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}33%{animation-timing-function:cubic-bezier(0.5, 0, 0.701732, 0.495819);transform:translateX(calc(4% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}66%{animation-timing-function:cubic-bezier(0.302435, 0.381352, 0.55, 0.956352);transform:translateX(calc(-4% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}100%{transform:translateX(calc(0% - 0%)) translateY(calc(0% - 106%)) scale(0.75)}}.mat-mdc-form-field:not(.mat-form-field-no-animations) .mdc-line-ripple::after{transition:transform 180ms cubic-bezier(0.4, 0, 0.2, 1),opacity 180ms cubic-bezier(0.4, 0, 0.2, 1)}'],encapsulation:2,data:{animation:[iG.transitionMessages]},changeDetection:0}),t})(),Lg=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn,ta,j0,Wn]}),t})();const EI=Za({passive:!0});let aG=(()=>{class t{constructor(e,i){this._platform=e,this._ngZone=i,this._monitoredElements=new Map}monitor(e){if(!this._platform.isBrowser)return oa;const i=la(e),o=this._monitoredElements.get(i);if(o)return o.subject;const s=new J,a="cdk-text-field-autofilled",l=d=>{"cdk-text-field-autofill-start"!==d.animationName||i.classList.contains(a)?"cdk-text-field-autofill-end"===d.animationName&&i.classList.contains(a)&&(i.classList.remove(a),this._ngZone.run(()=>s.next({target:d.target,isAutofilled:!1}))):(i.classList.add(a),this._ngZone.run(()=>s.next({target:d.target,isAutofilled:!0})))};return this._ngZone.runOutsideAngular(()=>{i.addEventListener("animationstart",l,EI),i.classList.add("cdk-text-field-autofill-monitored")}),this._monitoredElements.set(i,{subject:s,unlisten:()=>{i.removeEventListener("animationstart",l,EI)}}),s}stopMonitoring(e){const i=la(e),o=this._monitoredElements.get(i);o&&(o.unlisten(),o.subject.complete(),i.classList.remove("cdk-text-field-autofill-monitored"),i.classList.remove("cdk-text-field-autofilled"),this._monitoredElements.delete(i))}ngOnDestroy(){this._monitoredElements.forEach((e,i)=>this.stopMonitoring(i))}}return t.\u0275fac=function(e){return new(e||t)(we(ui),we(ft))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})(),lG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})();const cG=new Re("MAT_INPUT_VALUE_ACCESSOR"),dG=["button","checkbox","file","hidden","image","radio","range","reset","submit"];let uG=0;const hG=EL(class{constructor(t,n,e,i){this._defaultErrorStateMatcher=t,this._parentForm=n,this._parentFormGroup=e,this.ngControl=i,this.stateChanges=new J}});let kr=(()=>{class t extends hG{get disabled(){return this._disabled}set disabled(e){this._disabled=_n(e),this.focused&&(this.focused=!1,this.stateChanges.next())}get id(){return this._id}set id(e){this._id=e||this._uid}get required(){return this._required??this.ngControl?.control?.hasValidator(Gt.required)??!1}set required(e){this._required=_n(e)}get type(){return this._type}set type(e){this._type=e||"text",this._validateType(),!this._isTextarea&&K2().has(this._type)&&(this._elementRef.nativeElement.type=this._type)}get value(){return this._inputValueAccessor.value}set value(e){e!==this.value&&(this._inputValueAccessor.value=e,this.stateChanges.next())}get readonly(){return this._readonly}set readonly(e){this._readonly=_n(e)}constructor(e,i,o,s,a,l,d,_,E,F){super(l,s,a,o),this._elementRef=e,this._platform=i,this._autofillMonitor=_,this._formField=F,this._uid="mat-input-"+uG++,this.focused=!1,this.stateChanges=new J,this.controlType="mat-input",this.autofilled=!1,this._disabled=!1,this._type="text",this._readonly=!1,this._neverEmptyInputTypes=["date","datetime","datetime-local","month","time","week"].filter(_e=>K2().has(_e)),this._iOSKeyupListener=_e=>{const Ce=_e.target;!Ce.value&&0===Ce.selectionStart&&0===Ce.selectionEnd&&(Ce.setSelectionRange(1,1),Ce.setSelectionRange(0,0))};const G=this._elementRef.nativeElement,ie=G.nodeName.toLowerCase();this._inputValueAccessor=d||G,this._previousNativeValue=this.value,this.id=this.id,i.IOS&&E.runOutsideAngular(()=>{e.nativeElement.addEventListener("keyup",this._iOSKeyupListener)}),this._isServer=!this._platform.isBrowser,this._isNativeSelect="select"===ie,this._isTextarea="textarea"===ie,this._isInFormField=!!F,this._isNativeSelect&&(this.controlType=G.multiple?"mat-native-select-multiple":"mat-native-select")}ngAfterViewInit(){this._platform.isBrowser&&this._autofillMonitor.monitor(this._elementRef.nativeElement).subscribe(e=>{this.autofilled=e.isAutofilled,this.stateChanges.next()})}ngOnChanges(){this.stateChanges.next()}ngOnDestroy(){this.stateChanges.complete(),this._platform.isBrowser&&this._autofillMonitor.stopMonitoring(this._elementRef.nativeElement),this._platform.IOS&&this._elementRef.nativeElement.removeEventListener("keyup",this._iOSKeyupListener)}ngDoCheck(){this.ngControl&&(this.updateErrorState(),null!==this.ngControl.disabled&&this.ngControl.disabled!==this.disabled&&(this.disabled=this.ngControl.disabled,this.stateChanges.next())),this._dirtyCheckNativeValue(),this._dirtyCheckPlaceholder()}focus(e){this._elementRef.nativeElement.focus(e)}_focusChanged(e){e!==this.focused&&(this.focused=e,this.stateChanges.next())}_onInput(){}_dirtyCheckNativeValue(){const e=this._elementRef.nativeElement.value;this._previousNativeValue!==e&&(this._previousNativeValue=e,this.stateChanges.next())}_dirtyCheckPlaceholder(){const e=this._getPlaceholder();if(e!==this._previousPlaceholder){const i=this._elementRef.nativeElement;this._previousPlaceholder=e,e?i.setAttribute("placeholder",e):i.removeAttribute("placeholder")}}_getPlaceholder(){return this.placeholder||null}_validateType(){dG.indexOf(this._type)}_isNeverEmpty(){return this._neverEmptyInputTypes.indexOf(this._type)>-1}_isBadInput(){let e=this._elementRef.nativeElement.validity;return e&&e.badInput}get empty(){return!(this._isNeverEmpty()||this._elementRef.nativeElement.value||this._isBadInput()||this.autofilled)}get shouldLabelFloat(){if(this._isNativeSelect){const e=this._elementRef.nativeElement,i=e.options[0];return this.focused||e.multiple||!this.empty||!!(e.selectedIndex>-1&&i&&i.label)}return this.focused||!this.empty}setDescribedByIds(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focused||this.focus()}_isInlineSelect(){const e=this._elementRef.nativeElement;return this._isNativeSelect&&(e.multiple||e.size>1)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ui),Y(Rs,10),Y(Xh,8),Y(ii,8),Y(e1),Y(cG,10),Y(aG),Y(ft),Y(A1,8))},t.\u0275dir=Ke({type:t,selectors:[["input","matInput",""],["textarea","matInput",""],["select","matNativeControl",""],["input","matNativeControl",""],["textarea","matNativeControl",""]],hostAttrs:[1,"mat-mdc-input-element"],hostVars:18,hostBindings:function(e,i){1&e&&ye("focus",function(){return i._focusChanged(!0)})("blur",function(){return i._focusChanged(!1)})("input",function(){return i._onInput()}),2&e&&(Js("id",i.id)("disabled",i.disabled)("required",i.required),Xt("name",i.name||null)("readonly",i.readonly&&!i._isNativeSelect||null)("aria-invalid",i.empty&&i.required?null:i.errorState)("aria-required",i.required)("id",i.id),nn("mat-input-server",i._isServer)("mat-mdc-form-field-textarea-control",i._isInFormField&&i._isTextarea)("mat-mdc-form-field-input-control",i._isInFormField)("mdc-text-field__input",i._isInFormField)("mat-mdc-native-select-inline",i._isInlineSelect()))},inputs:{disabled:"disabled",id:"id",placeholder:"placeholder",name:"name",required:"required",type:"type",errorStateMatcher:"errorStateMatcher",userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"],value:"value",readonly:"readonly"},exportAs:["matInput"],features:[un([{provide:O1,useExisting:t}]),nt,Gi]}),t})(),fG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn,Lg,Lg,lG,Wn]}),t})();const pG=["tooltip"],II=new Re("mat-tooltip-scroll-strategy"),_G={provide:II,deps:[io],useFactory:function gG(t){return()=>t.scrollStrategies.reposition({scrollThrottle:20})}},vG=new Re("mat-tooltip-default-options",{providedIn:"root",factory:function bG(){return{showDelay:0,hideDelay:0,touchendHideDelay:1500}}}),PI="tooltip-panel",OI=Za({passive:!0});let kG=(()=>{class t{get position(){return this._position}set position(e){e!==this._position&&(this._position=e,this._overlayRef&&(this._updatePosition(this._overlayRef),this._tooltipInstance?.show(0),this._overlayRef.updatePosition()))}get positionAtOrigin(){return this._positionAtOrigin}set positionAtOrigin(e){this._positionAtOrigin=_n(e),this._detach(),this._overlayRef=null}get disabled(){return this._disabled}set disabled(e){this._disabled=_n(e),this._disabled?this.hide(0):this._setupPointerEnterEventsIfNeeded()}get showDelay(){return this._showDelay}set showDelay(e){this._showDelay=So(e)}get hideDelay(){return this._hideDelay}set hideDelay(e){this._hideDelay=So(e),this._tooltipInstance&&(this._tooltipInstance._mouseLeaveHideDelay=this._hideDelay)}get message(){return this._message}set message(e){this._ariaDescriber.removeDescription(this._elementRef.nativeElement,this._message,"tooltip"),this._message=null!=e?String(e).trim():"",!this._message&&this._isTooltipVisible()?this.hide(0):(this._setupPointerEnterEventsIfNeeded(),this._updateTooltipMessage(),this._ngZone.runOutsideAngular(()=>{Promise.resolve().then(()=>{this._ariaDescriber.describe(this._elementRef.nativeElement,this.message,"tooltip")})}))}get tooltipClass(){return this._tooltipClass}set tooltipClass(e){this._tooltipClass=e,this._tooltipInstance&&this._setTooltipClass(this._tooltipClass)}constructor(e,i,o,s,a,l,d,_,E,F,G,ie){this._overlay=e,this._elementRef=i,this._scrollDispatcher=o,this._viewContainerRef=s,this._ngZone=a,this._platform=l,this._ariaDescriber=d,this._focusMonitor=_,this._dir=F,this._defaultOptions=G,this._position="below",this._positionAtOrigin=!1,this._disabled=!1,this._viewInitialized=!1,this._pointerExitEventsInitialized=!1,this._viewportMargin=8,this._cssClassPrefix="mat",this.touchGestures="auto",this._message="",this._passiveListeners=[],this._destroyed=new J,this._scrollStrategy=E,this._document=ie,G&&(this._showDelay=G.showDelay,this._hideDelay=G.hideDelay,G.position&&(this.position=G.position),G.positionAtOrigin&&(this.positionAtOrigin=G.positionAtOrigin),G.touchGestures&&(this.touchGestures=G.touchGestures)),F.change.pipe(Hn(this._destroyed)).subscribe(()=>{this._overlayRef&&this._updatePosition(this._overlayRef)})}ngAfterViewInit(){this._viewInitialized=!0,this._setupPointerEnterEventsIfNeeded(),this._focusMonitor.monitor(this._elementRef).pipe(Hn(this._destroyed)).subscribe(e=>{e?"keyboard"===e&&this._ngZone.run(()=>this.show()):this._ngZone.run(()=>this.hide(0))})}ngOnDestroy(){const e=this._elementRef.nativeElement;clearTimeout(this._touchstartTimeout),this._overlayRef&&(this._overlayRef.dispose(),this._tooltipInstance=null),this._passiveListeners.forEach(([i,o])=>{e.removeEventListener(i,o,OI)}),this._passiveListeners.length=0,this._destroyed.next(),this._destroyed.complete(),this._ariaDescriber.removeDescription(e,this.message,"tooltip"),this._focusMonitor.stopMonitoring(e)}show(e=this.showDelay,i){if(this.disabled||!this.message||this._isTooltipVisible())return void this._tooltipInstance?._cancelPendingAnimations();const o=this._createOverlay(i);this._detach(),this._portal=this._portal||new Sd(this._tooltipComponent,this._viewContainerRef);const s=this._tooltipInstance=o.attach(this._portal).instance;s._triggerElement=this._elementRef.nativeElement,s._mouseLeaveHideDelay=this._hideDelay,s.afterHidden().pipe(Hn(this._destroyed)).subscribe(()=>this._detach()),this._setTooltipClass(this._tooltipClass),this._updateTooltipMessage(),s.show(e)}hide(e=this.hideDelay){const i=this._tooltipInstance;i&&(i.isVisible()?i.hide(e):(i._cancelPendingAnimations(),this._detach()))}toggle(e){this._isTooltipVisible()?this.hide():this.show(void 0,e)}_isTooltipVisible(){return!!this._tooltipInstance&&this._tooltipInstance.isVisible()}_createOverlay(e){if(this._overlayRef){const s=this._overlayRef.getConfig().positionStrategy;if((!this.positionAtOrigin||!e)&&s._origin instanceof vt)return this._overlayRef;this._detach()}const i=this._scrollDispatcher.getAncestorScrollContainers(this._elementRef),o=this._overlay.position().flexibleConnectedTo(this.positionAtOrigin&&e||this._elementRef).withTransformOriginOn(`.${this._cssClassPrefix}-tooltip`).withFlexibleDimensions(!1).withViewportMargin(this._viewportMargin).withScrollableContainers(i);return o.positionChanges.pipe(Hn(this._destroyed)).subscribe(s=>{this._updateCurrentPositionClass(s.connectionPair),this._tooltipInstance&&s.scrollableViewProperties.isOverlayClipped&&this._tooltipInstance.isVisible()&&this._ngZone.run(()=>this.hide(0))}),this._overlayRef=this._overlay.create({direction:this._dir,positionStrategy:o,panelClass:`${this._cssClassPrefix}-${PI}`,scrollStrategy:this._scrollStrategy()}),this._updatePosition(this._overlayRef),this._overlayRef.detachments().pipe(Hn(this._destroyed)).subscribe(()=>this._detach()),this._overlayRef.outsidePointerEvents().pipe(Hn(this._destroyed)).subscribe(()=>this._tooltipInstance?._handleBodyInteraction()),this._overlayRef.keydownEvents().pipe(Hn(this._destroyed)).subscribe(s=>{this._isTooltipVisible()&&27===s.keyCode&&!Fs(s)&&(s.preventDefault(),s.stopPropagation(),this._ngZone.run(()=>this.hide(0)))}),this._defaultOptions?.disableTooltipInteractivity&&this._overlayRef.addPanelClass(`${this._cssClassPrefix}-tooltip-panel-non-interactive`),this._overlayRef}_detach(){this._overlayRef&&this._overlayRef.hasAttached()&&this._overlayRef.detach(),this._tooltipInstance=null}_updatePosition(e){const i=e.getConfig().positionStrategy,o=this._getOrigin(),s=this._getOverlayPosition();i.withPositions([this._addOffset({...o.main,...s.main}),this._addOffset({...o.fallback,...s.fallback})])}_addOffset(e){return e}_getOrigin(){const e=!this._dir||"ltr"==this._dir.value,i=this.position;let o;"above"==i||"below"==i?o={originX:"center",originY:"above"==i?"top":"bottom"}:"before"==i||"left"==i&&e||"right"==i&&!e?o={originX:"start",originY:"center"}:("after"==i||"right"==i&&e||"left"==i&&!e)&&(o={originX:"end",originY:"center"});const{x:s,y:a}=this._invertPosition(o.originX,o.originY);return{main:o,fallback:{originX:s,originY:a}}}_getOverlayPosition(){const e=!this._dir||"ltr"==this._dir.value,i=this.position;let o;"above"==i?o={overlayX:"center",overlayY:"bottom"}:"below"==i?o={overlayX:"center",overlayY:"top"}:"before"==i||"left"==i&&e||"right"==i&&!e?o={overlayX:"end",overlayY:"center"}:("after"==i||"right"==i&&e||"left"==i&&!e)&&(o={overlayX:"start",overlayY:"center"});const{x:s,y:a}=this._invertPosition(o.overlayX,o.overlayY);return{main:o,fallback:{overlayX:s,overlayY:a}}}_updateTooltipMessage(){this._tooltipInstance&&(this._tooltipInstance.message=this.message,this._tooltipInstance._markForCheck(),this._ngZone.onMicrotaskEmpty.pipe(Kn(1),Hn(this._destroyed)).subscribe(()=>{this._tooltipInstance&&this._overlayRef.updatePosition()}))}_setTooltipClass(e){this._tooltipInstance&&(this._tooltipInstance.tooltipClass=e,this._tooltipInstance._markForCheck())}_invertPosition(e,i){return"above"===this.position||"below"===this.position?"top"===i?i="bottom":"bottom"===i&&(i="top"):"end"===e?e="start":"start"===e&&(e="end"),{x:e,y:i}}_updateCurrentPositionClass(e){const{overlayY:i,originX:o,originY:s}=e;let a;if(a="center"===i?this._dir&&"rtl"===this._dir.value?"end"===o?"left":"right":"start"===o?"left":"right":"bottom"===i&&"top"===s?"above":"below",a!==this._currentPosition){const l=this._overlayRef;if(l){const d=`${this._cssClassPrefix}-${PI}-`;l.removePanelClass(d+this._currentPosition),l.addPanelClass(d+a)}this._currentPosition=a}}_setupPointerEnterEventsIfNeeded(){this._disabled||!this.message||!this._viewInitialized||this._passiveListeners.length||(this._platformSupportsMouseEvents()?this._passiveListeners.push(["mouseenter",e=>{let i;this._setupPointerExitEventsIfNeeded(),void 0!==e.x&&void 0!==e.y&&(i=e),this.show(void 0,i)}]):"off"!==this.touchGestures&&(this._disableNativeGesturesIfNecessary(),this._passiveListeners.push(["touchstart",e=>{const i=e.targetTouches?.[0],o=i?{x:i.clientX,y:i.clientY}:void 0;this._setupPointerExitEventsIfNeeded(),clearTimeout(this._touchstartTimeout),this._touchstartTimeout=setTimeout(()=>this.show(void 0,o),500)}])),this._addListeners(this._passiveListeners))}_setupPointerExitEventsIfNeeded(){if(this._pointerExitEventsInitialized)return;this._pointerExitEventsInitialized=!0;const e=[];if(this._platformSupportsMouseEvents())e.push(["mouseleave",i=>{const o=i.relatedTarget;(!o||!this._overlayRef?.overlayElement.contains(o))&&this.hide()}],["wheel",i=>this._wheelListener(i)]);else if("off"!==this.touchGestures){this._disableNativeGesturesIfNecessary();const i=()=>{clearTimeout(this._touchstartTimeout),this.hide(this._defaultOptions.touchendHideDelay)};e.push(["touchend",i],["touchcancel",i])}this._addListeners(e),this._passiveListeners.push(...e)}_addListeners(e){e.forEach(([i,o])=>{this._elementRef.nativeElement.addEventListener(i,o,OI)})}_platformSupportsMouseEvents(){return!this._platform.IOS&&!this._platform.ANDROID}_wheelListener(e){if(this._isTooltipVisible()){const i=this._document.elementFromPoint(e.clientX,e.clientY),o=this._elementRef.nativeElement;i!==o&&!o.contains(i)&&this.hide()}}_disableNativeGesturesIfNecessary(){const e=this.touchGestures;if("off"!==e){const i=this._elementRef.nativeElement,o=i.style;("on"===e||"INPUT"!==i.nodeName&&"TEXTAREA"!==i.nodeName)&&(o.userSelect=o.msUserSelect=o.webkitUserSelect=o.MozUserSelect="none"),("on"===e||!i.draggable)&&(o.webkitUserDrag="none"),o.touchAction="none",o.webkitTapHighlightColor="transparent"}}}return t.\u0275fac=function(e){Aa()},t.\u0275dir=Ke({type:t,inputs:{position:["matTooltipPosition","position"],positionAtOrigin:["matTooltipPositionAtOrigin","positionAtOrigin"],disabled:["matTooltipDisabled","disabled"],showDelay:["matTooltipShowDelay","showDelay"],hideDelay:["matTooltipHideDelay","hideDelay"],touchGestures:["matTooltipTouchGestures","touchGestures"],message:["matTooltip","message"],tooltipClass:["matTooltipClass","tooltipClass"]}}),t})(),vi=(()=>{class t extends kG{constructor(e,i,o,s,a,l,d,_,E,F,G,ie){super(e,i,o,s,a,l,d,_,E,F,G,ie),this._tooltipComponent=DG,this._cssClassPrefix="mat-mdc",this._viewportMargin=8}_addOffset(e){const o=!this._dir||"ltr"==this._dir.value;return"top"===e.originY?e.offsetY=-8:"bottom"===e.originY?e.offsetY=8:"start"===e.originX?e.offsetX=o?-8:8:"end"===e.originX&&(e.offsetX=o?8:-8),e}}return t.\u0275fac=function(e){return new(e||t)(Y(io),Y(vt),Y(Z2),Y(rr),Y(ft),Y(ui),Y(_z),Y(Qa),Y(II),Y(Do,8),Y(vG,8),Y(It))},t.\u0275dir=Ke({type:t,selectors:[["","matTooltip",""]],hostAttrs:[1,"mat-mdc-tooltip-trigger"],exportAs:["matTooltip"],features:[nt]}),t})(),SG=(()=>{class t{constructor(e,i){this._changeDetectorRef=e,this._closeOnInteraction=!1,this._isVisible=!1,this._onHide=new J,this._animationsDisabled="NoopAnimations"===i}show(e){null!=this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=setTimeout(()=>{this._toggleVisibility(!0),this._showTimeoutId=void 0},e)}hide(e){null!=this._showTimeoutId&&clearTimeout(this._showTimeoutId),this._hideTimeoutId=setTimeout(()=>{this._toggleVisibility(!1),this._hideTimeoutId=void 0},e)}afterHidden(){return this._onHide}isVisible(){return this._isVisible}ngOnDestroy(){this._cancelPendingAnimations(),this._onHide.complete(),this._triggerElement=null}_handleBodyInteraction(){this._closeOnInteraction&&this.hide(0)}_markForCheck(){this._changeDetectorRef.markForCheck()}_handleMouseLeave({relatedTarget:e}){(!e||!this._triggerElement.contains(e))&&(this.isVisible()?this.hide(this._mouseLeaveHideDelay):this._finalizeAnimation(!1))}_onShow(){}_handleAnimationEnd({animationName:e}){(e===this._showAnimation||e===this._hideAnimation)&&this._finalizeAnimation(e===this._showAnimation)}_cancelPendingAnimations(){null!=this._showTimeoutId&&clearTimeout(this._showTimeoutId),null!=this._hideTimeoutId&&clearTimeout(this._hideTimeoutId),this._showTimeoutId=this._hideTimeoutId=void 0}_finalizeAnimation(e){e?this._closeOnInteraction=!0:this.isVisible()||this._onHide.next()}_toggleVisibility(e){const i=this._tooltip.nativeElement,o=this._showAnimation,s=this._hideAnimation;if(i.classList.remove(e?s:o),i.classList.add(e?o:s),this._isVisible=e,e&&!this._animationsDisabled&&"function"==typeof getComputedStyle){const a=getComputedStyle(i);("0s"===a.getPropertyValue("animation-duration")||"none"===a.getPropertyValue("animation-name"))&&(this._animationsDisabled=!0)}e&&this._onShow(),this._animationsDisabled&&(i.classList.add("_mat-animation-noopable"),this._finalizeAnimation(e))}}return t.\u0275fac=function(e){return new(e||t)(Y(pi),Y(Ri,8))},t.\u0275dir=Ke({type:t}),t})(),DG=(()=>{class t extends SG{constructor(e,i,o){super(e,o),this._elementRef=i,this._isMultiline=!1,this._showAnimation="mat-mdc-tooltip-show",this._hideAnimation="mat-mdc-tooltip-hide"}_onShow(){this._isMultiline=this._isTooltipMultiline(),this._markForCheck()}_isTooltipMultiline(){const e=this._elementRef.nativeElement.getBoundingClientRect();return e.height>24&&e.width>=200}}return t.\u0275fac=function(e){return new(e||t)(Y(pi),Y(vt),Y(Ri,8))},t.\u0275cmp=Ze({type:t,selectors:[["mat-tooltip-component"]],viewQuery:function(e,i){if(1&e&&_t(pG,7),2&e){let o;rt(o=ot())&&(i._tooltip=o.first)}},hostAttrs:["aria-hidden","true"],hostVars:2,hostBindings:function(e,i){1&e&&ye("mouseleave",function(s){return i._handleMouseLeave(s)}),2&e&&Pl("zoom",i.isVisible()?1:null)},features:[nt],decls:4,vars:4,consts:[[1,"mdc-tooltip","mdc-tooltip--shown","mat-mdc-tooltip",3,"ngClass","animationend"],["tooltip",""],[1,"mdc-tooltip__surface","mdc-tooltip__surface-animation"]],template:function(e,i){1&e&&(D(0,"div",0,1),ye("animationend",function(s){return i._handleAnimationEnd(s)}),D(2,"div",2),I(3),C()()),2&e&&(nn("mdc-tooltip--multiline",i._isMultiline),w("ngClass",i.tooltipClass),c(3),se(i.message))},dependencies:[Nn],styles:['.mdc-tooltip__surface{word-break:var(--mdc-tooltip-word-break, normal);overflow-wrap:anywhere}.mdc-tooltip{position:fixed;display:none;z-index:9}.mdc-tooltip-wrapper--rich{position:relative}.mdc-tooltip--shown,.mdc-tooltip--showing,.mdc-tooltip--hide{display:inline-flex}.mdc-tooltip--shown.mdc-tooltip--rich,.mdc-tooltip--showing.mdc-tooltip--rich,.mdc-tooltip--hide.mdc-tooltip--rich{display:inline-block;left:-320px;position:absolute}.mdc-tooltip__surface{line-height:16px;padding:4px 8px;min-width:40px;max-width:200px;min-height:24px;max-height:40vh;box-sizing:border-box;overflow:hidden;text-align:center}.mdc-tooltip__surface::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid rgba(0,0,0,0);border-radius:inherit;content:"";pointer-events:none}@media screen and (forced-colors: active){.mdc-tooltip__surface::before{border-color:CanvasText}}.mdc-tooltip--rich .mdc-tooltip__surface{align-items:flex-start;display:flex;flex-direction:column;min-height:24px;min-width:40px;max-width:320px;position:relative}.mdc-tooltip--multiline .mdc-tooltip__surface{text-align:left}[dir=rtl] .mdc-tooltip--multiline .mdc-tooltip__surface,.mdc-tooltip--multiline .mdc-tooltip__surface[dir=rtl]{text-align:right}.mdc-tooltip__surface .mdc-tooltip__title{margin:0 8px}.mdc-tooltip__surface .mdc-tooltip__content{max-width:calc(200px - (2 * 8px));margin:8px;text-align:left}[dir=rtl] .mdc-tooltip__surface .mdc-tooltip__content,.mdc-tooltip__surface .mdc-tooltip__content[dir=rtl]{text-align:right}.mdc-tooltip--rich .mdc-tooltip__surface .mdc-tooltip__content{max-width:calc(320px - (2 * 8px));align-self:stretch}.mdc-tooltip__surface .mdc-tooltip__content-link{text-decoration:none}.mdc-tooltip--rich-actions,.mdc-tooltip__content,.mdc-tooltip__title{z-index:1}.mdc-tooltip__surface-animation{opacity:0;transform:scale(0.8);will-change:transform,opacity}.mdc-tooltip--shown .mdc-tooltip__surface-animation{transform:scale(1);opacity:1}.mdc-tooltip--hide .mdc-tooltip__surface-animation{transform:scale(1)}.mdc-tooltip__caret-surface-top,.mdc-tooltip__caret-surface-bottom{position:absolute;height:24px;width:24px;transform:rotate(35deg) skewY(20deg) scaleX(0.9396926208)}.mdc-tooltip__caret-surface-top .mdc-elevation-overlay,.mdc-tooltip__caret-surface-bottom .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.mdc-tooltip__caret-surface-bottom{outline:1px solid rgba(0,0,0,0);z-index:-1}@media screen and (forced-colors: active){.mdc-tooltip__caret-surface-bottom{outline-color:CanvasText}}.mdc-tooltip__surface{background-color:var(--mdc-plain-tooltip-container-color, #fff)}.mdc-tooltip__surface{border-radius:var(--mdc-plain-tooltip-container-shape, var(--mdc-shape-small, 4px))}.mdc-tooltip__caret-surface-top,.mdc-tooltip__caret-surface-bottom{border-radius:var(--mdc-plain-tooltip-container-shape, var(--mdc-shape-small, 4px))}.mdc-tooltip__surface{color:var(--mdc-plain-tooltip-supporting-text-color, #000)}.mdc-tooltip__surface{font-family:var(--mdc-plain-tooltip-supporting-text-font, inherit);font-size:var(--mdc-plain-tooltip-supporting-text-size, inherit);font-weight:var(--mdc-plain-tooltip-supporting-text-weight, inherit);letter-spacing:var(--mdc-plain-tooltip-supporting-text-tracking, inherit)}.mat-mdc-tooltip{position:relative;transform:scale(0)}.mat-mdc-tooltip::before{content:"";top:0;right:0;bottom:0;left:0;z-index:-1;position:absolute}.mat-mdc-tooltip-panel-below .mat-mdc-tooltip::before{top:-8px}.mat-mdc-tooltip-panel-above .mat-mdc-tooltip::before{bottom:-8px}.mat-mdc-tooltip-panel-right .mat-mdc-tooltip::before{left:-8px}.mat-mdc-tooltip-panel-left .mat-mdc-tooltip::before{right:-8px}.mat-mdc-tooltip._mat-animation-noopable{animation:none;transform:scale(1)}.mat-mdc-tooltip-panel-non-interactive{pointer-events:none}@keyframes mat-mdc-tooltip-show{0%{opacity:0;transform:scale(0.8)}100%{opacity:1;transform:scale(1)}}@keyframes mat-mdc-tooltip-hide{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(0.8)}}.mat-mdc-tooltip-show{animation:mat-mdc-tooltip-show 150ms cubic-bezier(0, 0, 0.2, 1) forwards}.mat-mdc-tooltip-hide{animation:mat-mdc-tooltip-hide 75ms cubic-bezier(0.4, 0, 1, 1) forwards}'],encapsulation:2,changeDetection:0}),t})(),TG=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[_G],imports:[X0,ta,Td,Wn,Wn,Lh]}),t})();const LG=["button1"],EG=["button2"];function IG(t,n){1&t&&xe(0,"mat-spinner",5),2&t&&w("diameter",z().loadingSize)}function PG(t,n){1&t&&(D(0,"mat-icon"),I(1,"error_outline"),C())}const OG=function(t){return{"for-dark-background":t}},AG=["*"];var Gr=(()=>((Gr=Gr||{})[Gr.Normal=0]="Normal",Gr[Gr.Error=1]="Error",Gr[Gr.Loading=2]="Loading",Gr))();let Ui=(()=>{class t{constructor(){this.forDarkBackground=!1,this.disabled=!1,this.color="",this.loadingSize=20,this.action=new ht,this.state=Gr.Normal,this.buttonStates=Gr}ngOnDestroy(){this.action.complete()}click(){this.disabled||(this.reset(),this.action.emit())}reset(e=!0){this.state=Gr.Normal,e&&(this.disabled=!1)}focus(){this.button1&&this.button1.focus(),this.button2&&this.button2.focus()}showEnabled(){this.disabled=!1}showDisabled(){this.disabled=!0}showLoading(e=!0){this.state=Gr.Loading,e&&(this.disabled=!0)}showError(e=!0){this.state=Gr.Error,e&&(this.disabled=!1)}get isLoading(){return this.state===Gr.Loading}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["app-button"]],viewQuery:function(e,i){if(1&e&&(_t(LG,5),_t(EG,5)),2&e){let o;rt(o=ot())&&(i.button1=o.first),rt(o=ot())&&(i.button2=o.first)}},inputs:{forDarkBackground:"forDarkBackground",disabled:"disabled",color:"color",loadingSize:"loadingSize"},outputs:{action:"action"},ngContentSelectors:AG,decls:6,vars:7,consts:[["mat-raised-button","",3,"disabled","color","ngClass","click"],["button2",""],[1,"d-flex"],[3,"diameter",4,"ngIf"],[4,"ngIf"],[3,"diameter"]],template:function(e,i){1&e&&(Ir(),D(0,"button",0,1),ye("click",function(){return i.click()}),D(2,"div",2),V(3,IG,1,1,"mat-spinner",3),V(4,PG,2,0,"mat-icon",4),Sn(5),C()()),2&e&&(w("disabled",i.disabled)("color",i.color)("ngClass",He(5,OG,i.forDarkBackground)),c(3),w("ngIf",i.state===i.buttonStates.Loading),c(1),w("ngIf",i.state===i.buttonStates.Error))},dependencies:[Nn,Ft,Wr,Cn,ec],styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], button[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}button[_ngcontent-%COMP%]{color:#f8f9f9;border-radius:10px}button[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}mat-icon[_ngcontent-%COMP%], mat-spinner[_ngcontent-%COMP%]{display:inline-block;margin-right:15px}.for-dark-background[_ngcontent-%COMP%]:disabled{background-color:#000!important;color:#fff!important;opacity:.3}"]}),t})();const FG=["button"],RG=["firstInput"],NG=function(t){return{"element-disabled":t}};function YG(t,n){if(1&t&&(D(0,"mat-form-field",12)(1,"div",5)(2,"label",6),I(3),R(4,"translate"),C(),xe(5,"input",13),C(),D(6,"mat-error")(7,"span"),I(8),R(9,"translate"),C()()()),2&t){const e=z();w("ngClass",He(7,NG,e.working)),c(3),se(H(4,3,"settings.password.old-password")),c(5),se(H(9,5,"settings.password.errors.old-password-required"))}}const HG=function(t){return{"rounded-elevated-box":t}},AI=function(t,n){return{"white-form-field":t,"element-disabled":n}},BG=function(t,n){return{"mt-2 app-button":t,"float-right":n}};let FI=(()=>{class t{constructor(e,i,o,s){this.authService=e,this.router=i,this.snackbarService=o,this.dialog=s,this.workingState=new ht,this.forInitialConfig=!1}ngOnInit(){this.form=new UE({oldPassword:new Dg("",this.forInitialConfig?null:Gt.required),newPassword:new Dg("",Gt.compose([Gt.required,Gt.minLength(6),Gt.maxLength(64)])),newPasswordConfirmation:new Dg("",[Gt.required,this.validatePasswords.bind(this)])}),this.formSubscription=this.form.controls.newPassword.valueChanges.subscribe(()=>this.form.controls.newPasswordConfirmation.updateValueAndValidity())}ngAfterViewInit(){this.forInitialConfig&&setTimeout(()=>this.firstInput.nativeElement.focus())}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe(),this.formSubscription.unsubscribe()}get working(){return!!this.button&&this.button.isLoading}changePassword(){this.form.valid&&!this.button.disabled&&(this.button.showLoading(),this.workingState.next(!0),this.subscription=this.forInitialConfig?this.authService.initialConfig(this.form.get("newPassword").value).subscribe(()=>{this.dialog.closeAll(),this.snackbarService.showDone("settings.password.initial-config.done"),this.workingState.next(!1)},e=>{this.button.showError(),e=en(e),this.snackbarService.showError(e,null,!0),this.workingState.next(!1)}):this.authService.changePassword(this.form.get("oldPassword").value,this.form.get("newPassword").value).subscribe(()=>{this.router.navigate(["nodes"]),this.snackbarService.showDone("settings.password.password-changed"),this.workingState.next(!1)},e=>{this.button.showError(),e=en(e),this.snackbarService.showError(e),this.workingState.next(!1)}))}validatePasswords(){return this.form&&this.form.get("newPassword").value!==this.form.get("newPasswordConfirmation").value?{invalid:!0}:null}}return t.\u0275fac=function(e){return new(e||t)(Y(Wh),Y(hn),Y(Dn),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-password"]],viewQuery:function(e,i){if(1&e&&(_t(FG,5),_t(RG,5)),2&e){let o;rt(o=ot())&&(i.button=o.first),rt(o=ot())&&(i.firstInput=o.first)}},inputs:{forInitialConfig:"forInitialConfig"},outputs:{workingState:"workingState"},decls:33,vars:40,consts:[[3,"ngClass"],[1,"box-internal-container","overflow"],[1,"help-icon",3,"inline","matTooltip"],[3,"formGroup"],["class","white-form-field",3,"ngClass",4,"ngIf"],[1,"field-container"],["for","remoteKey",1,"field-label"],["type","password","formControlName","newPassword","maxlength","64","matInput",""],["firstInput",""],["type","password","formControlName","newPasswordConfirmation","maxlength","64","matInput",""],["color","primary",3,"ngClass","disabled","forDarkBackground","action"],["button",""],[1,"white-form-field",3,"ngClass"],["type","password","formControlName","oldPassword","maxlength","64","matInput",""]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1)(2,"div")(3,"mat-icon",2),R(4,"translate"),I(5," help "),C()(),D(6,"form",3),V(7,YG,10,9,"mat-form-field",4),D(8,"mat-form-field",0)(9,"div",5)(10,"label",6),I(11),R(12,"translate"),C(),xe(13,"input",7,8),C(),D(15,"mat-error")(16,"span"),I(17),R(18,"translate"),C()()(),D(19,"mat-form-field",0)(20,"div",5)(21,"label",6),I(22),R(23,"translate"),C(),xe(24,"input",9),C(),D(25,"mat-error")(26,"span"),I(27),R(28,"translate"),C()()(),D(29,"app-button",10,11),ye("action",function(){return i.changePassword()}),I(31),R(32,"translate"),C()()()()),2&e&&(w("ngClass",He(29,HG,!i.forInitialConfig)),c(2),eo((i.forInitialConfig?"":"white-")+"form-help-icon-container"),c(1),w("inline",!0)("matTooltip",H(4,17,i.forInitialConfig?"settings.password.initial-config-help":"settings.password.help")),c(3),w("formGroup",i.form),c(1),w("ngIf",!i.forInitialConfig),c(1),w("ngClass",mn(31,AI,!i.forInitialConfig,i.working)),c(3),se(H(12,19,i.forInitialConfig?"settings.password.initial-config.password":"settings.password.new-password")),c(6),se(H(18,21,"settings.password.errors.new-password-error")),c(2),w("ngClass",mn(34,AI,!i.forInitialConfig,i.working)),c(3),se(H(23,23,i.forInitialConfig?"settings.password.initial-config.repeat-password":"settings.password.repeat-password")),c(5),se(H(28,25,"settings.password.errors.passwords-not-match")),c(2),w("ngClass",mn(37,BG,!i.forInitialConfig,i.forInitialConfig))("disabled",!i.form.valid)("forDarkBackground",!i.forInitialConfig),c(2),ce(" ",H(32,27,i.forInitialConfig?"settings.password.initial-config.set-password":"settings.change-password")," "))},dependencies:[Nn,Ft,zi,Bi,Vi,ji,Cr,ii,Ei,ar,sl,kr,Cn,vi,Ui,wt],styles:[".help-icon[_ngcontent-%COMP%]{display:inline}mat-form-field[_ngcontent-%COMP%]{margin-right:32px}app-button[_ngcontent-%COMP%]{float:right;margin-right:32px}"]}),t})();function VG(t,n){1&t&&(D(0,"button",5)(1,"mat-icon"),I(2,"close"),C()())}function jG(t,n){1&t&&Jo(0)}const RI=function(t){return{"content-margin":t}};function zG(t,n){if(1&t&&(D(0,"mat-dialog-content",6),V(1,jG,1,0,"ng-container",7),C()),2&t){const e=z(),i=ci(8);w("ngClass",He(2,RI,e.includeVerticalMargins)),c(1),w("ngTemplateOutlet",i)}}function UG(t,n){1&t&&Jo(0)}function WG(t,n){if(1&t&&(D(0,"div",6),V(1,UG,1,0,"ng-container",7),C()),2&t){const e=z(),i=ci(8);w("ngClass",He(2,RI,e.includeVerticalMargins)),c(1),w("ngTemplateOutlet",i)}}function $G(t,n){1&t&&Sn(0)}const GG=["*"];let ei=(()=>{class t{set dialog(e){e.disableClose=!0,this.dialogInternal=e}constructor(e){this.matDialog=e,this.includeScrollableArea=!0,this.includeVerticalMargins=!0}onKeyUp(){this.closePopup()}closePopup(){this.disableDismiss||this.matDialog.openDialogs[this.matDialog.openDialogs.length-1].id===this.dialogInternal.id&&this.dialogInternal.close()}}return t.\u0275fac=function(e){return new(e||t)(Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-dialog"]],hostBindings:function(e,i){1&e&&ye("keyup.esc",function(){return i.onKeyUp()},0,Vb)},inputs:{headline:"headline",disableDismiss:"disableDismiss",includeScrollableArea:"includeScrollableArea",includeVerticalMargins:"includeVerticalMargins",dialog:"dialog"},ngContentSelectors:GG,decls:9,vars:4,consts:[["mat-dialog-title","",1,"header"],["mat-dialog-close","","mat-icon-button","","class","grey-button-background",4,"ngIf"],[1,"header-separator"],[3,"ngClass",4,"ngIf"],["contentTemplate",""],["mat-dialog-close","","mat-icon-button","",1,"grey-button-background"],[3,"ngClass"],[4,"ngTemplateOutlet"]],template:function(e,i){1&e&&(Ir(),D(0,"div",0)(1,"span"),I(2),C(),V(3,VG,3,0,"button",1),C(),xe(4,"div",2),V(5,zG,2,4,"mat-dialog-content",3),V(6,WG,2,4,"div",3),V(7,$G,1,0,"ng-template",null,4,Es)),2&e&&(c(2),se(i.headline),c(1),w("ngIf",!i.disableDismiss),c(2),w("ngIf",i.includeScrollableArea),c(1),w("ngIf",!i.includeScrollableArea))},dependencies:[Nn,Ft,hd,CU,xU,r1,el,Cn],styles:['.cursor-pointer[_ngcontent-%COMP%], .header[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%], .header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}[_nghost-%COMP%]{color:#202226}.header[_ngcontent-%COMP%]{margin:-24px -24px 0;color:#215f9e;padding:0 14px 0 24px;font-size:1rem;text-transform:uppercase;font-weight:700;display:flex;align-items:center}.header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{flex-grow:1}@media (max-width: 767px){.header[_ngcontent-%COMP%]{padding:0 2px 0 24px}}.header[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{line-height:1rem;margin:18px 0}.header[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%]{color:#a6b2b2;width:32px;height:32px;line-height:20px;margin-left:10px;padding:0}@media (max-width: 767px){.header[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%]{width:46px;height:46px}}.header-separator[_ngcontent-%COMP%]{height:1px;background-color:#215f9e33;margin-left:-12px;margin-right:-12px}.content-margin[_ngcontent-%COMP%]{padding-top:18px;padding-bottom:24px!important}']}),t})(),qG=(()=>{class t{static openDialog(e){const i=new En;return i.autoFocus=!1,i.width=Vt.smallModalWidth,e.open(t,i)}constructor(e){this.dialogRef=e,this.disableDismiss=!1}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn))},t.\u0275cmp=Ze({type:t,selectors:[["app-initial-setup"]],decls:3,vars:6,consts:[[3,"headline","dialog","disableDismiss"],[3,"forInitialConfig","workingState"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"app-password",1),ye("workingState",function(s){return i.disableDismiss=s}),C()()),2&e&&(w("headline",H(1,4,"settings.password.initial-config.title"))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(2),w("forInitialConfig",!0))},dependencies:[FI,ei,wt]}),t})();var F1=N(9774),Eg=N.n(F1);class R1{}class KG{}var ro=(()=>((ro=ro||{}).Connecting="connecting",ro.Unhealthy="unhealthy",ro.Healthy="healthy",ro))(),oo=(()=>((oo=oo||{}).UseCustomSettings="updaterUseCustomSettings",oo.Channel="updaterChannel",oo.Version="updaterVersion",oo.ArchiveURL="updaterArchiveURL",oo.ChecksumsURL="updaterChecksumsURL",oo))();let ua=(()=>{class t{constructor(e,i){this.apiService=e,this.storageService=i}getNodes(){let e=[];return this.apiService.get("visors-summary").pipe(ke(i=>{i&&i.forEach(d=>{const _=new R1;_.online=d.online,_.localPk=d.overview.local_pk,_.version=d.overview.build_info.version,_.autoconnectTransports=d.public_autoconnect,_.buildTag=d.build_tag?d.build_tag:"",_.rewardsAddress=d.reward_address,_.ip=d.overview&&d.overview.local_ip&&d.overview.local_ip.trim()?d.overview.local_ip:null;const E=this.storageService.getLabelInfo(_.localPk);if(_.label=E&&E.label?E.label:this.storageService.getDefaultLabel(_),!_.online)return _.dmsgServerPk="",_.roundTripPing="",void e.push(_);_.health={servicesHealth:d.health.services_health},_.dmsgServerPk=d.dmsg_stats.server_public_key,_.roundTripPing=this.nsToMs(d.dmsg_stats.round_trip),_.isHypervisor=d.is_hypervisor,e.push(_)});const o=new Map,s=[],a=[];e.forEach(d=>{o.set(d.localPk,d),d.online&&(s.push(d.localPk),a.push(d.ip))}),this.storageService.includeVisibleLocalNodes(s,a);const l=[];return this.storageService.getSavedLocalNodes().forEach(d=>{if(!o.has(d.publicKey)&&!d.hidden){const _=new R1;_.localPk=d.publicKey;const E=this.storageService.getLabelInfo(d.publicKey);_.label=E&&E.label?E.label:this.storageService.getDefaultLabel(_),_.online=!1,_.dmsgServerPk="",_.roundTripPing="",l.push(_)}o.has(d.publicKey)&&!o.get(d.publicKey).online&&d.hidden&&o.delete(d.publicKey)}),e=[],o.forEach(d=>e.push(d)),e=e.concat(l),e}))}nsToMs(e){let i=new(Eg())(e).dividedBy(1e6);return i=i.isLessThan(10)?i.decimalPlaces(2):i.decimalPlaces(0),i.toString(10)}getNode(e){return this.apiService.get(`visors/${e}/summary`).pipe(ke(i=>{const o=new R1;o.localPk=i.overview.local_pk,o.version=i.overview.build_info.version,o.secondsOnline=Math.floor(Number.parseFloat(i.uptime)),o.minHops=i.min_hops,o.buildTag=i.build_tag,o.skybianBuildVersion=i.skybian_build_version,o.isSymmeticNat=i.overview.is_symmetic_nat,o.publicIp=i.overview.public_ip,o.autoconnectTransports=i.public_autoconnect,o.rewardsAddress=i.reward_address,o.ip=i.overview.local_ip&&i.overview.local_ip.trim()?i.overview.local_ip:null;const s=this.storageService.getLabelInfo(o.localPk);o.label=s&&s.label?s.label:this.storageService.getDefaultLabel(o),o.health={servicesHealth:i.health.services_health},o.transports=[],i.overview.transports&&i.overview.transports.forEach(l=>{o.transports.push({id:l.id,localPk:l.local_pk,remotePk:l.remote_pk,type:l.type,recv:l.log.recv,sent:l.log.sent})}),o.persistentTransports=[],i.persistent_transports&&i.persistent_transports.forEach(l=>{o.persistentTransports.push({pk:l.pk,type:l.type})}),o.routes=[],i.routes&&i.routes.forEach(l=>{o.routes.push({key:l.key,rule:l.rule}),l.rule_summary&&(o.routes[o.routes.length-1].ruleSummary={keepAlive:l.rule_summary.keep_alive,ruleType:l.rule_summary.rule_type,keyRouteId:l.rule_summary.key_route_id},l.rule_summary.app_fields&&l.rule_summary.app_fields.route_descriptor&&(o.routes[o.routes.length-1].appFields={routeDescriptor:{dstPk:l.rule_summary.app_fields.route_descriptor.dst_pk,dstPort:l.rule_summary.app_fields.route_descriptor.dst_port,srcPk:l.rule_summary.app_fields.route_descriptor.src_pk,srcPort:l.rule_summary.app_fields.route_descriptor.src_port}}),l.rule_summary.forward_fields&&(o.routes[o.routes.length-1].forwardFields={nextRid:l.rule_summary.forward_fields.next_rid,nextTid:l.rule_summary.forward_fields.next_tid},l.rule_summary.forward_fields.route_descriptor&&(o.routes[o.routes.length-1].forwardFields.routeDescriptor={dstPk:l.rule_summary.forward_fields.route_descriptor.dst_pk,dstPort:l.rule_summary.forward_fields.route_descriptor.dst_port,srcPk:l.rule_summary.forward_fields.route_descriptor.src_pk,srcPort:l.rule_summary.forward_fields.route_descriptor.src_port})),l.rule_summary.intermediary_forward_fields&&(o.routes[o.routes.length-1].intermediaryForwardFields={nextRid:l.rule_summary.intermediary_forward_fields.next_rid,nextTid:l.rule_summary.intermediary_forward_fields.next_tid}))}),o.apps=[],i.overview.apps&&i.overview.apps.forEach(l=>{o.apps.push({name:l.name,status:l.status,port:l.port,autostart:l.auto_start,detailedStatus:l.detailed_status,args:l.args})});let a=!1;return i.dmsg_stats&&(o.dmsgServerPk=i.dmsg_stats.server_public_key,o.roundTripPing=this.nsToMs(i.dmsg_stats.round_trip),a=!0),a||(o.dmsgServerPk="-",o.roundTripPing="-1"),o}))}setRewardsAddress(e,i){return this.apiService.put(`visors/${e}/reward`,{reward_address:i})}getRewardsAddress(e){return this.apiService.get(`visors/${e}/reward`)}getRuntimeLogs(e){return this.apiService.get(`visors/${e}/runtime-logs`)}deleteRewardsAddress(e){return this.apiService.delete(`visors/${e}/reward`)}reboot(e){return this.apiService.post(`visors/${e}/restart`)}checkIfUpdating(e){return this.apiService.get(`visors/${e}/update/ws/running`)}checkUpdate(e){let i="stable";return i=localStorage.getItem(oo.Channel)||i,this.apiService.get(`visors/${e}/update/available/${i}`)}update(e){const i={channel:"stable"};if(localStorage.getItem(oo.UseCustomSettings)){const s=localStorage.getItem(oo.Channel);s&&(i.channel=s);const a=localStorage.getItem(oo.Version);a&&(i.version=a);const l=localStorage.getItem(oo.ArchiveURL);l&&(i.archive_url=l);const d=localStorage.getItem(oo.ChecksumsURL);d&&(i.checksums_url=d)}return this.apiService.ws(`visors/${e}/update/ws`,i)}}return t.\u0275fac=function(e){return new(e||t)(we(il),we(Ji))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();class ZG{}let NI=(()=>{class t{constructor(e,i){this.storageService=e,this.nodeService=i,this.dataSubject=new Or(null),this.lastEmitedData=new ZG,this.firstCallToGetDataMade=!1,this.storageService.getRefreshTimeObservable().subscribe(o=>{this.dataRefreshDelay=1e3*o,this.forceRefresh()})}startRequestingData(){return this.firstCallToGetDataMade||this.getData(0),this.dataSubject.asObservable()}stopRequestingData(){this.updateSubscription&&(this.updateSubscription.unsubscribe(),this.firstCallToGetDataMade=!1)}getData(e){this.firstCallToGetDataMade=!0,this.updateSubscription&&this.updateSubscription.unsubscribe(),this.updateSubscription=$e(1).pipe(Ti(e),bi(()=>{this.lastEmitedData.updating=!0,this.dataSubject.next(this.lastEmitedData)}),Ti(120),Ye(()=>this.nodeService.getNodes())).subscribe(i=>{this.lastEmitedData={data:i,error:null,momentOfLastCorrectUpdate:Date.now(),updating:!1},this.dataSubject.next(this.lastEmitedData),this.getData(this.dataRefreshDelay)},i=>{i=en(i),this.lastEmitedData={data:this.lastEmitedData.data,error:i,momentOfLastCorrectUpdate:this.lastEmitedData.momentOfLastCorrectUpdate,updating:!1},this.dataSubject.next(this.lastEmitedData),this.getData(Vt.connectionRetryDelay)})}forceRefresh(){this.getData(0)}}return t.\u0275fac=function(e){return new(e||t)(we(Ji),we(ua))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function XG(t,n){if(1&t){const e=et();D(0,"button",3),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().closePopup(s))}),xe(1,"img",4),D(2,"div",5),I(3),C()()}if(2&t){const e=n.$implicit;c(1),w("src","assets/img/lang/"+e.iconName,Vo),c(2),se(e.name)}}let YI=(()=>{class t{static openDialog(e){const i=new En;return i.autoFocus=!1,i.width=Vt.mediumModalWidth,e.open(t,i)}constructor(e,i){this.dialogRef=e,this.languageService=i,this.languages=[]}ngOnInit(){this.subscription=this.languageService.languages.subscribe(e=>{this.languages=e})}ngOnDestroy(){this.subscription.unsubscribe()}closePopup(e=null){e&&this.languageService.changeLanguage(e.code),this.dialogRef.close()}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(gg))},t.\u0275cmp=Ze({type:t,selectors:[["app-select-language"]],decls:4,vars:5,consts:[[3,"headline","dialog"],[1,"options-container"],["mat-button","","color","accent","class","grey-button-background",3,"click",4,"ngFor","ngForOf"],["mat-button","","color","accent",1,"grey-button-background",3,"click"],[3,"src"],[1,"label"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1),V(3,XG,4,2,"button",2),C()()),2&e&&(w("headline",H(1,3,"language.title"))("dialog",i.dialogRef),c(3),w("ngForOf",i.languages))},dependencies:[gi,Wr,ei,wt],styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}.options-container[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:118px;height:auto!important;margin:20px;font-size:.7rem;line-height:unset;padding:0!important;color:unset}.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .mdc-button__label{width:100%}@media (max-width: 767px){.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:90px;font-size:.6rem;margin:6px}}.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:64px;height:64px;margin:10px 0}@media (max-width: 767px){.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:48px;height:48px;margin:7px 0}}.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{color:#202226!important;background-color:#ffffff40;padding:4px 10px}@media (max-width: 767px){.options-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{padding:4px 5px}}"]}),t})();function JG(t,n){1&t&&xe(0,"img",2),2&t&&w("src","assets/img/lang/"+z().language.iconName,Vo)}let QG=(()=>{class t{constructor(e,i){this.languageService=e,this.dialog=i}ngOnInit(){this.subscription=this.languageService.currentLanguage.subscribe(e=>{this.language=e})}ngOnDestroy(){this.subscription.unsubscribe()}openLanguageWindow(){YI.openDialog(this.dialog)}}return t.\u0275fac=function(e){return new(e||t)(Y(gg),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-lang-button"]],decls:3,vars:4,consts:[["mat-button","",1,"lang-button","subtle-transparent-button",3,"matTooltip","click"],["class","flag",3,"src",4,"ngIf"],[1,"flag",3,"src"]],template:function(e,i){1&e&&(D(0,"button",0),ye("click",function(){return i.openLanguageWindow()}),R(1,"translate"),V(2,JG,1,1,"img",1),C()),2&e&&(w("matTooltip",H(1,2,"language.title")),c(2),w("ngIf",i.language))},dependencies:[Ft,Wr,vi,wt],styles:[".lang-button[_ngcontent-%COMP%]{height:40px;background-color:#f8f9f9;border-radius:100%;padding:0;line-height:1;padding:0!important}.lang-button[_ngcontent-%COMP%] .flag[_ngcontent-%COMP%]{width:20px;height:20px}"]}),t})();const eq=function(t){return{"element-disabled":t}};let HI=(()=>{class t extends er{constructor(e,i,o,s,a,l){super(),this.authService=e,this.router=i,this.snackbarService=o,this.dialog=s,this.route=a,this.multipleNodeDataService=l,this.loading=!1,this.isForVpn=!1,this.vpnKey=""}ngOnInit(){return this.multipleNodeDataService.stopRequestingData(),this.routeSubscription=this.route.paramMap.subscribe(e=>{this.vpnKey=e.get("key"),this.isForVpn=-1!==window.location.href.indexOf("vpnlogin"),this.verificationSubscription=this.authService.checkLogin().subscribe(i=>{i!==Fr.NotLogged&&(g1.currentInstance.processLoginDone(),setTimeout(()=>{this.router.navigate(this.isForVpn?["vpn",this.vpnKey,"status"]:["nodes"],{replaceUrl:!0})},5))})}),this.form=new UE({password:new Dg("",Gt.required)}),super.ngOnInit()}ngOnDestroy(){this.loginSubscription&&this.loginSubscription.unsubscribe(),this.verificationSubscription.unsubscribe(),this.routeSubscription.unsubscribe()}login(){!this.form.valid||this.loading||(this.loading=!0,this.loginSubscription=this.authService.login(this.form.get("password").value).subscribe(()=>this.onLoginSuccess(),e=>this.onLoginError(e)))}configure(){qG.openDialog(this.dialog)}onLoginSuccess(){g1.currentInstance.processLoginDone(),setTimeout(()=>{this.router.navigate(this.isForVpn?["vpn",this.vpnKey,"status"]:["nodes"],{replaceUrl:!0})})}onLoginError(e){e=en(e),this.loading=!1,this.snackbarService.showError(e.originalError&&401===e.originalError.status?"login.incorrect-password":e.translatableErrorMsg)}}return t.\u0275fac=function(e){return new(e||t)(Y(Wh),Y(hn),Y(Dn),Y(In),Y(Mr),Y(NI))},t.\u0275cmp=Ze({type:t,selectors:[["app-login"]],features:[nt],decls:14,vars:11,consts:[[1,"w-100","h-100","d-flex","justify-content-center"],[1,"row","main-container"],["src","/assets/img/logo-v.png",1,"logo"],[1,"mt-5",3,"formGroup"],[1,"login-input",3,"ngClass"],["type","password","formControlName","password","autocomplete","off",3,"placeholder","keydown.enter"],[3,"disabled","click"],[1,"config-link",3,"click"]],template:function(e,i){1&e&&(D(0,"div",0),xe(1,"app-lang-button"),D(2,"div",1),xe(3,"img",2),D(4,"form",3)(5,"div",4)(6,"input",5),ye("keydown.enter",function(){return i.login()}),R(7,"translate"),C(),D(8,"button",6),ye("click",function(){return i.login()}),D(9,"mat-icon"),I(10,"chevron_right"),C()()()(),D(11,"div",7),ye("click",function(){return i.configure()}),I(12),R(13,"translate"),C()()()),2&e&&(c(4),w("formGroup",i.form),c(1),w("ngClass",He(9,eq,i.loading)),c(1),w("placeholder",H(7,5,"login.password")),c(2),w("disabled",!i.form.valid||i.loading),c(4),se(H(13,7,"login.initial-config")))},dependencies:[Nn,zi,Bi,Vi,ji,ii,Ei,Cn,QG,wt],styles:['.cursor-pointer[_ngcontent-%COMP%], .config-link[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}app-lang-button[_ngcontent-%COMP%]{position:fixed;right:10px;top:10px;z-index:10}.main-container[_ngcontent-%COMP%]{z-index:1;height:100%;flex-direction:column;align-items:center;justify-content:center}.logo[_ngcontent-%COMP%]{width:170px}.login-input[_ngcontent-%COMP%]{height:35px;width:300px;overflow:hidden;border-radius:10px;box-shadow:0 3px 8px #0000001a,0 6px 20px #0000001a;display:flex}.login-input[_ngcontent-%COMP%] input[type=password][_ngcontent-%COMP%]{background:#fff;width:calc(100% - 35px);height:100%;font-size:.875rem;border:none;padding-left:10px;padding-right:10px}.login-input[_ngcontent-%COMP%] input[type=password][_ngcontent-%COMP%]:focus{outline:none}.login-input[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{background:#fff;color:#202226;width:35px;height:35px;line-height:35px;border:none;display:flex;cursor:pointer;align-items:center}.login-input[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:disabled{color:#777}.config-link[_ngcontent-%COMP%]{color:#f8f9f9;font-size:.7rem;margin-top:20px}']}),t})();const tq=["firstInput"];let N1=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o,s,a){this.dialogRef=e,this.data=i,this.formBuilder=o,this.storageService=s,this.snackbarService=a}ngOnInit(){this.form=this.formBuilder.group({label:[this.data.label]})}ngAfterViewInit(){setTimeout(()=>this.firstInput.nativeElement.focus())}save(){const e=this.form.get("label").value.trim();e!==this.data.label?(this.storageService.saveLabel(this.data.id,e,this.data.identifiedElementType),e?this.snackbarService.showDone("edit-label.done"):this.snackbarService.showWarning("edit-label.label-removed-warning"),this.dialogRef.close(!0)):this.dialogRef.close()}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(xr),Y(Ji),Y(Dn))},t.\u0275cmp=Ze({type:t,selectors:[["app-edit-label"]],viewQuery:function(e,i){if(1&e&&_t(tq,5),2&e){let o;rt(o=ot())&&(i.firstInput=o.first)}},decls:13,vars:11,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","label","maxlength","66","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"action"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6),ye("action",function(){return i.save()}),I(11),R(12,"translate"),C()()),2&e&&(w("headline",H(1,5,"labeled-element.edit-label"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(4),se(H(7,7,"edit-label.label")),c(5),se(H(12,9,"common.save")))},dependencies:[zi,Bi,Vi,ji,Cr,ii,Ei,ar,kr,Ui,ei,wt]}),t})();const nq=["cancelButton"],iq=["confirmButton"];function rq(t,n){if(1&t&&(D(0,"div"),I(1),R(2,"translate"),C()),2&t){const e=n.$implicit;c(1),ce(" - ",H(2,1,e)," ")}}function oq(t,n){if(1&t&&(D(0,"div",8),V(1,rq,3,3,"div",9),C()),2&t){const e=z();c(1),w("ngForOf",e.state!==e.confirmationStates.Done?e.data.list:e.doneList)}}function sq(t,n){if(1&t&&(D(0,"div",1),I(1),R(2,"translate"),C()),2&t){const e=z();c(1),ce(" ",H(2,1,e.data.lowerText)," ")}}function aq(t,n){if(1&t){const e=et();D(0,"app-button",10,11),ye("action",function(){return Pe(e),Oe(z().closeModal())}),I(2),R(3,"translate"),C()}if(2&t){const e=z();c(2),ce(" ",H(3,1,e.data.cancelButtonText)," ")}}var cs=(()=>((cs=cs||{}).Asking="Asking",cs.Processing="Processing",cs.Done="Done",cs))();let lq=(()=>{class t{constructor(e,i){this.dialogRef=e,this.data=i,this.disableDismiss=!1,this.state=cs.Asking,this.confirmationStates=cs,this.operationAccepted=new ht,this.disableDismiss=!!i.disableDismiss,this.dialogRef.disableClose=this.disableDismiss}ngAfterViewInit(){this.data.cancelButtonText?setTimeout(()=>this.cancelButton.focus()):setTimeout(()=>this.confirmButton.focus())}ngOnDestroy(){this.operationAccepted.complete()}closeModal(){this.dialogRef.close()}sendOperationAcceptedEvent(){this.operationAccepted.emit()}showAsking(e){e&&(this.data=e),this.state=cs.Asking,this.confirmButton.reset(),this.disableDismiss=!1,this.dialogRef.disableClose=this.disableDismiss,this.cancelButton&&this.cancelButton.showEnabled()}showProcessing(){this.state=cs.Processing,this.disableDismiss=!0,this.confirmButton.showLoading(),this.cancelButton&&this.cancelButton.showDisabled()}showDone(e,i,o=null){this.doneTitle=e||this.data.headerText,this.doneText=i,this.doneList=o,this.confirmButton.reset(),setTimeout(()=>this.confirmButton.focus()),this.state=cs.Done,this.dialogRef.disableClose=!1,this.disableDismiss=!1}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li))},t.\u0275cmp=Ze({type:t,selectors:[["app-confirmation"]],viewQuery:function(e,i){if(1&e&&(_t(nq,5),_t(iq,5)),2&e){let o;rt(o=ot())&&(i.cancelButton=o.first),rt(o=ot())&&(i.confirmButton=o.first)}},outputs:{operationAccepted:"operationAccepted"},decls:13,vars:14,consts:[[3,"headline","dialog","disableDismiss"],[1,"text-container"],["class","list-container",4,"ngIf"],["class","text-container",4,"ngIf"],[1,"buttons"],["color","accent",3,"action",4,"ngIf"],["color","primary",3,"action"],["confirmButton",""],[1,"list-container"],[4,"ngFor","ngForOf"],["color","accent",3,"action"],["cancelButton",""]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1),I(3),R(4,"translate"),C(),V(5,oq,2,1,"div",2),V(6,sq,3,3,"div",3),D(7,"div",4),V(8,aq,4,3,"app-button",5),D(9,"app-button",6,7),ye("action",function(){return i.state===i.confirmationStates.Asking?i.sendOperationAcceptedEvent():i.closeModal()}),I(11),R(12,"translate"),C()()()),2&e&&(w("headline",H(1,8,i.state!==i.confirmationStates.Done?i.data.headerText:i.doneTitle))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(3),ce(" ",H(4,10,i.state!==i.confirmationStates.Done?i.data.text:i.doneText)," "),c(2),w("ngIf",i.data.list&&i.state!==i.confirmationStates.Done||i.doneList&&i.state===i.confirmationStates.Done),c(1),w("ngIf",i.data.lowerText&&i.state!==i.confirmationStates.Done),c(2),w("ngIf",i.data.cancelButtonText&&i.state!==i.confirmationStates.Done),c(3),ce(" ",H(12,12,i.state!==i.confirmationStates.Done?i.data.confirmButtonText:"confirmation.close")," "))},dependencies:[gi,Ft,Ui,ei,wt],styles:[".text-container[_ngcontent-%COMP%]{word-break:break-word}.list-container[_ngcontent-%COMP%]{font-size:14px;margin:10px;color:#215f9e;word-break:break-word}.buttons[_ngcontent-%COMP%]{margin-top:15px;text-align:right}.buttons[_ngcontent-%COMP%] app-button[_ngcontent-%COMP%]{margin-left:5px}"]}),t})();class Jt{static createConfirmationDialog(n,e){const i={text:e,headerText:"confirmation.header-text",confirmButtonText:"confirmation.confirm-button",cancelButtonText:"confirmation.cancel-button",disableDismiss:!1},o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,n.open(lq,o)}static checkIfTagIsUpdatable(n){return!(null==n||n.toUpperCase()==="Windows".toUpperCase()||n.toUpperCase()==="Win".toUpperCase()||n.toUpperCase()==="Mac".toUpperCase()||n.toUpperCase()==="Macos".toUpperCase()||n.toUpperCase()==="Mac OS".toUpperCase()||n.toUpperCase()==="Darwin".toUpperCase())}static checkIfTagCanOpenterminal(n){return!(null==n||n.toUpperCase()==="Windows".toUpperCase()||n.toUpperCase()==="Win".toUpperCase())}static checkIfIpValidOrEmpty(n){if(!n)return!0;const e=n.split(".");if(4!==e.length)return!1;for(const i of e){const o=Number.parseInt(i,10);if(isNaN(o)||o+""!==i||o<0||o>255)return!1}return!0}}function cq(t,n){if(1&t&&(D(0,"mat-icon",6),I(1),C()),2&t){const e=z().$implicit;w("inline",!0),c(1),se(e.icon)}}function dq(t,n){if(1&t){const e=et();D(0,"div",2)(1,"button",3),ye("click",function(){const s=Pe(e).index;return Oe(z().closePopup(s+1))}),D(2,"div",4),V(3,cq,2,2,"mat-icon",5),D(4,"span"),I(5),R(6,"translate"),C()()()()}if(2&t){const e=n.$implicit;c(3),w("ngIf",e.icon),c(2),se(H(6,2,e.label))}}let qr=(()=>{class t{static openDialog(e,i,o){const s=new En;return s.data={options:i,title:o},s.autoFocus=!1,s.width=Vt.smallModalWidth,e.open(t,s)}constructor(e,i){this.data=e,this.dialogRef=i}closePopup(e){this.dialogRef.close(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn))},t.\u0275cmp=Ze({type:t,selectors:[["app-select-option"]],decls:3,vars:6,consts:[[3,"headline","dialog","includeVerticalMargins"],["class","options-list-button-container",4,"ngFor","ngForOf"],[1,"options-list-button-container"],["mat-button","",1,"grey-button-background",3,"click"],[1,"internal-container"],["class","icon",3,"inline",4,"ngIf"],[1,"icon",3,"inline"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),V(2,dq,7,4,"div",1),C()),2&e&&(w("headline",H(1,4,i.data.title))("dialog",i.dialogRef)("includeVerticalMargins",!1),c(2),w("ngForOf",i.data.options))},dependencies:[gi,Ft,Wr,Cn,ei,wt],styles:[".icon[_ngcontent-%COMP%]{font-size:14px;width:14px;line-height:1}.grey-button-background[_ngcontent-%COMP%]{justify-content:left!important;min-height:45px}"]}),t})();var $n=(()=>(($n=$n||{}).TextInput="TextInput",$n.Select="Select",$n))();let ef=(()=>{class t{constructor(e){this.dom=e}copy(e){let i=null,o=!1;try{i=this.dom.createElement("textarea"),i.style.height="0px",i.style.left="-100px",i.style.opacity="0",i.style.position="fixed",i.style.top="-100px",i.style.width="0px",this.dom.body.appendChild(i),i.value=e,i.select(),this.dom.execCommand("copy"),o=!0}finally{i&&i.parentNode&&i.parentNode.removeChild(i)}return o}}return t.\u0275fac=function(e){return new(e||t)(we(It))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();function fq(t,n){if(1&t&&(Ue(0),D(1,"span",2),I(2),C(),We()),2&t){const e=z();c(2),se(e.shortText)}}function pq(t,n){if(1&t&&(Ue(0),D(1,"span"),I(2),C(),We()),2&t){const e=z();c(2),se(e.text)}}const mq=function(){return{"tooltip-word-break":!0}};let BI=(()=>{class t{constructor(){this.short=!1,this.showTooltip=!0,this.shortTextLength=5}get shortText(){if(this.text.length>2*this.shortTextLength){const e=this.text.length;return`${this.text.slice(0,this.shortTextLength)}...${this.text.slice(e-this.shortTextLength,e)}`}return this.text}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["app-truncated-text"]],inputs:{short:"short",showTooltip:"showTooltip",text:"text",shortTextLength:"shortTextLength"},decls:3,vars:5,consts:[[1,"wrapper",3,"matTooltip","matTooltipClass"],[4,"ngIf"],[1,"nowrap"]],template:function(e,i){1&e&&(D(0,"div",0),V(1,fq,3,1,"ng-container",1),V(2,pq,3,1,"ng-container",1),C()),2&e&&(w("matTooltip",i.short&&i.showTooltip?i.text:"")("matTooltipClass",qn(4,mq)),c(1),w("ngIf",i.short),c(1),w("ngIf",!i.short))},dependencies:[Ft,vi],styles:['.cursor-pointer[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%], .wrapper[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}.nowrap[_ngcontent-%COMP%]{white-space:nowrap}.wrapper[_ngcontent-%COMP%]{display:inline}']}),t})();function gq(t,n){if(1&t&&(D(0,"span"),I(1),R(2,"translate"),C()),2&t){const e=z();c(1),ce(" ",H(2,1,e.labelComponents.prefix)," ")}}function _q(t,n){if(1&t&&(D(0,"span"),I(1),C()),2&t){const e=z();c(1),ce(" ",e.labelComponents.prefixSeparator," ")}}function bq(t,n){if(1&t&&(D(0,"span"),I(1),C()),2&t){const e=z();c(1),ce(" ",e.labelComponents.label," ")}}function vq(t,n){if(1&t&&(D(0,"span"),I(1),R(2,"translate"),C()),2&t){const e=z();c(1),ce(" ",H(2,1,e.labelComponents.translatableLabel)," ")}}const yq=function(t){return{text:t}},Mq=function(){return{"tooltip-word-break":!0}};class wq{constructor(){this.prefix="",this.prefixSeparator="",this.label="",this.translatableLabel=""}}let ha=(()=>{class t{set id(e){this.idInternal=e,this.labelComponents=t.getLabelComponents(this.storageService,this.id)}get id(){return this.idInternal?this.idInternal:""}static getLabelComponents(e,i){let o;o=!!e.getSavedVisibleLocalNodes().has(i);const s=new wq;return s.labelInfo=e.getLabelInfo(i),s.labelInfo&&s.labelInfo.label?(o&&(s.prefix="labeled-element.local-element",s.prefixSeparator=" - "),s.label=s.labelInfo.label):e.getSavedVisibleLocalNodes().has(i)?s.prefix="labeled-element.unnamed-local-visor":s.translatableLabel="labeled-element.unnamed-element",s}static getCompleteLabel(e,i,o){const s=t.getLabelComponents(e,o);return(s.prefix?i.instant(s.prefix):"")+s.prefixSeparator+s.label+(s.translatableLabel?i.instant(s.translatableLabel):"")}constructor(e,i,o,s,a){this.dialog=e,this.storageService=i,this.clipboardService=o,this.snackbarService=s,this.router=a,this.short=!1,this.shortTextLength=5,this.elementType=Xi.Node,this.labelEdited=new ht}ngOnDestroy(){this.labelEdited.complete()}processClick(){const e=[{icon:"filter_none",label:"labeled-element.copy"},{icon:"edit",label:"labeled-element.edit-label"}];this.labelComponents.labelInfo&&e.push({icon:"close",label:"labeled-element.remove-label"}),e.push({icon:"settings",label:"labeled-element.go-to-settings"}),qr.openDialog(this.dialog,e,"common.options").afterClosed().subscribe(i=>{if(1===i)this.clipboardService.copy(this.id)&&this.snackbarService.showDone("copy.copied");else if(i>2)if(3===i&&this.labelComponents.labelInfo){const o=Jt.createConfirmationDialog(this.dialog,"labeled-element.remove-label-confirmation");o.componentInstance.operationAccepted.subscribe(()=>{o.componentInstance.closeModal(),this.storageService.saveLabel(this.id,null,this.elementType),this.snackbarService.showDone("edit-label.label-removed-warning"),this.labelEdited.emit()})}else this.router.navigate(["/settings"]);else if(2===i){let o=this.labelComponents.labelInfo;o||(o={id:this.id,label:"",identifiedElementType:this.elementType}),N1.openDialog(this.dialog,o).afterClosed().subscribe(s=>{s&&this.labelEdited.emit()})}})}}return t.\u0275fac=function(e){return new(e||t)(Y(In),Y(Ji),Y(ef),Y(Dn),Y(hn))},t.\u0275cmp=Ze({type:t,selectors:[["app-labeled-element-text"]],inputs:{id:"id",short:"short",shortTextLength:"shortTextLength",elementType:"elementType"},outputs:{labelEdited:"labelEdited"},decls:12,vars:17,consts:[[1,"wrapper","highlight-internal-icon",3,"matTooltip","matTooltipClass","click"],[1,"label"],[4,"ngIf"],[3,"short","showTooltip","shortTextLength","text"],[3,"inline"]],template:function(e,i){1&e&&(D(0,"div",0),ye("click",function(s){return s.stopPropagation(),s.preventDefault(),i.processClick()}),R(1,"translate"),D(2,"span",1),V(3,gq,3,3,"span",2),V(4,_q,2,1,"span",2),V(5,bq,2,1,"span",2),V(6,vq,3,3,"span",2),C(),xe(7,"br")(8,"app-truncated-text",3),I(9," \xa0"),D(10,"mat-icon",4),I(11,"settings"),C()()),2&e&&(w("matTooltip",kt(1,11,i.short?"labeled-element.tooltip-with-text":"labeled-element.tooltip",He(14,yq,i.id)))("matTooltipClass",qn(16,Mq)),c(3),w("ngIf",i.labelComponents&&i.labelComponents.prefix),c(1),w("ngIf",i.labelComponents&&i.labelComponents.prefixSeparator),c(1),w("ngIf",i.labelComponents&&i.labelComponents.label),c(1),w("ngIf",i.labelComponents&&i.labelComponents.translatableLabel),c(2),w("short",i.short)("showTooltip",!1)("shortTextLength",i.shortTextLength)("text",i.id),c(2),w("inline",!0))},dependencies:[Ft,Cn,vi,BI,wt],styles:['.cursor-pointer[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%], .wrapper[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}.wrapper[_ngcontent-%COMP%]{display:inline}.wrapper[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:.8rem;-webkit-user-select:none;user-select:none}.label[_ngcontent-%COMP%]{opacity:.7;font-size:.8rem}']}),t})();class Vn{constructor(n,e,i,o){this.properties=n,this.label=e,this.sortingMode=i,this.labelProperties=o}get id(){return this.properties.join("")}}var Zt=(()=>((Zt=Zt||{}).Text="Text",Zt.Number="Number",Zt.NumberReversed="NumberReversed",Zt.Boolean="Boolean",Zt))();class Rd{get sortingArrow(){return this.sortReverse?"keyboard_arrow_up":"keyboard_arrow_down"}get currentSortingColumn(){return this.sortBy}get sortingInReverseOrder(){return this.sortReverse}get dataSorted(){return this.dataUpdatedSubject.asObservable()}get currentlySortingByLabel(){return this.sortByLabel}constructor(n,e,i,o,s,a){this.dialog=n,this.translateService=e,this.storageService=i,this.sortReverse=!1,this.sortByLabel=!1,this.tieBreakerColumnIndex=null,this.columnStorageKeyPrefix="col_",this.orderStorageKeyPrefix="order_",this.labelStorageKeyPrefix="label_",this.dataUpdatedSubject=new J,this.sortableColumns=o,this.id=a,this.defaultColumnIndex=s,this.sortBy=o[s];const l=this.storageService.getDataForHv(this.columnStorageKeyPrefix+a);if(l){const d=o.find(_=>_.id===l);d&&(this.sortBy=d)}this.sortReverse="true"===this.storageService.getDataForHv(this.orderStorageKeyPrefix+a),this.sortByLabel="true"===this.storageService.getDataForHv(this.labelStorageKeyPrefix+a)}dispose(){this.dataUpdatedSubject.complete()}setTieBreakerColumnIndex(n){this.tieBreakerColumnIndex=n}setData(n){this.data=n,this.sortData()}changeSortingOrder(n){if(this.sortBy===n||n.labelProperties)if(n.labelProperties){const e=[{label:this.translateService.instant("tables.sort-by-value")},{label:this.translateService.instant("tables.sort-by-value")+" "+this.translateService.instant("tables.inverted-order")},{label:this.translateService.instant("tables.sort-by-label")},{label:this.translateService.instant("tables.sort-by-label")+" "+this.translateService.instant("tables.inverted-order")}];qr.openDialog(this.dialog,e,"tables.title").afterClosed().subscribe(i=>{i&&this.changeSortingParams(n,i>2,i%2==0)})}else this.sortReverse=!this.sortReverse,this.storageService.setDataForHv(this.orderStorageKeyPrefix+this.id,String(this.sortReverse)),this.sortData();else this.changeSortingParams(n,!1,!1)}changeSortingParams(n,e,i){this.sortBy=n,this.sortByLabel=e,this.sortReverse=i,this.storageService.setDataForHv(this.columnStorageKeyPrefix+this.id,n.id),this.storageService.setDataForHv(this.orderStorageKeyPrefix+this.id,String(this.sortReverse)),this.storageService.setDataForHv(this.labelStorageKeyPrefix+this.id,String(this.sortByLabel)),this.sortData()}openSortingOrderModal(){const n=[],e=[];this.sortableColumns.forEach(i=>{const o=this.translateService.instant(i.label);n.push({label:o}),e.push({sortBy:i,sortReverse:!1,sortByLabel:!1}),n.push({label:o+" "+this.translateService.instant("tables.inverted-order")}),e.push({sortBy:i,sortReverse:!0,sortByLabel:!1}),i.labelProperties&&(n.push({label:o+" "+this.translateService.instant("tables.label")}),e.push({sortBy:i,sortReverse:!1,sortByLabel:!0}),n.push({label:o+" "+this.translateService.instant("tables.label")+" "+this.translateService.instant("tables.inverted-order")}),e.push({sortBy:i,sortReverse:!0,sortByLabel:!0}))}),qr.openDialog(this.dialog,n,"tables.title").afterClosed().subscribe(i=>{i&&this.changeSortingParams(e[i-1].sortBy,e[i-1].sortByLabel,e[i-1].sortReverse)})}sortData(){this.data&&(this.data.sort((n,e)=>{let i=this.getSortResponse(this.sortBy,n,e,!0);return 0===i&&null!==this.tieBreakerColumnIndex&&this.sortableColumns[this.tieBreakerColumnIndex]!==this.sortBy&&(i=this.getSortResponse(this.sortableColumns[this.tieBreakerColumnIndex],n,e,!1)),0===i&&this.sortableColumns[this.defaultColumnIndex]!==this.sortBy&&(i=this.getSortResponse(this.sortableColumns[this.defaultColumnIndex],n,e,!1)),i}),this.dataUpdatedSubject.next())}getSortResponse(n,e,i,o){let a=e,l=i;(this.sortByLabel&&o&&n.labelProperties?n.labelProperties:n.properties).forEach(E=>{a=a[E],l=l[E]});const d=this.sortByLabel&&o?Zt.Text:n.sortingMode;let _=0;return d===Zt.Text?_=this.sortReverse?l.localeCompare(a):a.localeCompare(l):d===Zt.NumberReversed?_=this.sortReverse?a-l:l-a:d===Zt.Number?_=this.sortReverse?l-a:a-l:d===Zt.Boolean&&(a&&!l?_=-1:!a&&l&&(_=1),_*=this.sortReverse?-1:1),_}}class Cq{get selected(){return this._selected||(this._selected=Array.from(this._selection.values())),this._selected}constructor(n=!1,e,i=!0,o){this._multiple=n,this._emitChanges=i,this.compareWith=o,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.changed=new J,e&&e.length&&(n?e.forEach(s=>this._markSelected(s)):this._markSelected(e[0]),this._selectedToEmit.length=0)}select(...n){this._verifyValueAssignment(n),n.forEach(i=>this._markSelected(i));const e=this._hasQueuedChanges();return this._emitChangeEvent(),e}deselect(...n){this._verifyValueAssignment(n),n.forEach(i=>this._unmarkSelected(i));const e=this._hasQueuedChanges();return this._emitChangeEvent(),e}setSelection(...n){this._verifyValueAssignment(n);const e=this.selected,i=new Set(n);n.forEach(s=>this._markSelected(s)),e.filter(s=>!i.has(s)).forEach(s=>this._unmarkSelected(s));const o=this._hasQueuedChanges();return this._emitChangeEvent(),o}toggle(n){return this.isSelected(n)?this.deselect(n):this.select(n)}clear(n=!0){this._unmarkAll();const e=this._hasQueuedChanges();return n&&this._emitChangeEvent(),e}isSelected(n){return this._selection.has(this._getConcreteValue(n))}isEmpty(){return 0===this._selection.size}hasValue(){return!this.isEmpty()}sort(n){this._multiple&&this.selected&&this._selected.sort(n)}isMultipleSelection(){return this._multiple}_emitChangeEvent(){this._selected=null,(this._selectedToEmit.length||this._deselectedToEmit.length)&&(this.changed.next({source:this,added:this._selectedToEmit,removed:this._deselectedToEmit}),this._deselectedToEmit=[],this._selectedToEmit=[])}_markSelected(n){n=this._getConcreteValue(n),this.isSelected(n)||(this._multiple||this._unmarkAll(),this.isSelected(n)||this._selection.add(n),this._emitChanges&&this._selectedToEmit.push(n))}_unmarkSelected(n){n=this._getConcreteValue(n),this.isSelected(n)&&(this._selection.delete(n),this._emitChanges&&this._deselectedToEmit.push(n))}_unmarkAll(){this.isEmpty()||this._selection.forEach(n=>this._unmarkSelected(n))}_verifyValueAssignment(n){}_hasQueuedChanges(){return!(!this._deselectedToEmit.length&&!this._selectedToEmit.length)}_getConcreteValue(n){if(this.compareWith){for(let e of this._selection)if(this.compareWith(n,e))return e;return n}return n}}const xq=["trigger"],kq=["panel"];function Sq(t,n){if(1&t&&(D(0,"span",10),I(1),C()),2&t){const e=z();c(1),se(e.placeholder)}}function Dq(t,n){if(1&t&&(D(0,"span",14),I(1),C()),2&t){const e=z(2);c(1),se(e.triggerValue)}}function Tq(t,n){1&t&&Sn(0,0,["*ngSwitchCase","true"])}function Lq(t,n){1&t&&(D(0,"span",11),V(1,Dq,2,1,"span",12),V(2,Tq,1,0,"ng-content",13),C()),2&t&&(w("ngSwitch",!!z().customTrigger),c(2),w("ngSwitchCase",!0))}function Eq(t,n){if(1&t){const e=et();wl(),zf(),D(0,"div",15,16),ye("@transformPanel.done",function(o){return Pe(e),Oe(z()._panelDoneAnimatingStream.next(o.toState))})("keydown",function(o){return Pe(e),Oe(z()._handleKeydown(o))}),Sn(2,1),C()}if(2&t){const e=z();(function Ix(t,n,e){es(go,Ls,Xc(Ve(),t,n,e),!0)})("mat-mdc-select-panel mdc-menu-surface mdc-menu-surface--open ",e._getPanelTheme(),""),w("ngClass",e.panelClass)("@transformPanel","showing"),Xt("id",e.id+"-panel")("aria-multiselectable",e.multiple)("aria-label",e.ariaLabel||null)("aria-labelledby",e._getPanelAriaLabelledby())}}const Iq=[[["mat-select-trigger"]],"*"],Pq=["mat-select-trigger","*"],Oq={transformPanelWrap:ia("transformPanelWrap",[Pr("* => void",Iy("@transformPanel",[Ey()],{optional:!0}))]),transformPanel:ia("transformPanel",[yo("void",Qn({opacity:0,transform:"scale(1, 0.8)"})),Pr("void => showing",Ur("120ms cubic-bezier(0, 0, 0.2, 1)",Qn({opacity:1,transform:"scale(1, 1)"}))),Pr("* => void",Ur("100ms linear",Qn({opacity:0})))])};let VI=0;const jI=new Re("mat-select-scroll-strategy"),Fq=new Re("MAT_SELECT_CONFIG"),Rq={provide:jI,deps:[io],useFactory:function Aq(t){return()=>t.scrollStrategies.reposition()}},zI=new Re("MatSelectTrigger");class Nq{constructor(n,e){this.source=n,this.value=e}}const Yq=Rh(LL(Ed(EL(class{constructor(t,n,e,i,o){this._elementRef=t,this._defaultErrorStateMatcher=n,this._parentForm=e,this._parentFormGroup=i,this.ngControl=o,this.stateChanges=new J}}))));let Hq=(()=>{class t extends Yq{get focused(){return this._focused||this._panelOpen}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.stateChanges.next()}get required(){return this._required??this.ngControl?.control?.hasValidator(Gt.required)??!1}set required(e){this._required=_n(e),this.stateChanges.next()}get multiple(){return this._multiple}set multiple(e){this._multiple=_n(e)}get disableOptionCentering(){return this._disableOptionCentering}set disableOptionCentering(e){this._disableOptionCentering=_n(e)}get compareWith(){return this._compareWith}set compareWith(e){this._compareWith=e,this._selectionModel&&this._initializeSelection()}get value(){return this._value}set value(e){this._assignValue(e)&&this._onChange(e)}get typeaheadDebounceInterval(){return this._typeaheadDebounceInterval}set typeaheadDebounceInterval(e){this._typeaheadDebounceInterval=So(e)}get id(){return this._id}set id(e){this._id=e||this._uid,this.stateChanges.next()}constructor(e,i,o,s,a,l,d,_,E,F,G,ie,_e,Ce){super(a,s,d,_,F),this._viewportRuler=e,this._changeDetectorRef=i,this._ngZone=o,this._dir=l,this._parentFormField=E,this._liveAnnouncer=_e,this._defaultOptions=Ce,this._panelOpen=!1,this._compareWith=(Ae,ze)=>Ae===ze,this._uid="mat-select-"+VI++,this._triggerAriaLabelledBy=null,this._destroy=new J,this._onChange=()=>{},this._onTouched=()=>{},this._valueId="mat-select-value-"+VI++,this._panelDoneAnimatingStream=new J,this._overlayPanelClass=this._defaultOptions?.overlayPanelClass||"",this._focused=!1,this.controlType="mat-select",this._multiple=!1,this._disableOptionCentering=this._defaultOptions?.disableOptionCentering??!1,this.ariaLabel="",this.optionSelectionChanges=jl(()=>{const Ae=this.options;return Ae?Ae.changes.pipe(Go(Ae),gr(()=>bt(...Ae.map(ze=>ze.onSelectionChange)))):this._ngZone.onStable.pipe(Kn(1),gr(()=>this.optionSelectionChanges))}),this.openedChange=new ht,this._openedStream=this.openedChange.pipe(_i(Ae=>Ae),ke(()=>{})),this._closedStream=this.openedChange.pipe(_i(Ae=>!Ae),ke(()=>{})),this.selectionChange=new ht,this.valueChange=new ht,this.ngControl&&(this.ngControl.valueAccessor=this),null!=Ce?.typeaheadDebounceInterval&&(this._typeaheadDebounceInterval=Ce.typeaheadDebounceInterval),this._scrollStrategyFactory=ie,this._scrollStrategy=this._scrollStrategyFactory(),this.tabIndex=parseInt(G)||0,this.id=this.id}ngOnInit(){this._selectionModel=new Cq(this.multiple),this.stateChanges.next(),this._panelDoneAnimatingStream.pipe(V0(),Hn(this._destroy)).subscribe(()=>this._panelDoneAnimating(this.panelOpen))}ngAfterContentInit(){this._initKeyManager(),this._selectionModel.changed.pipe(Hn(this._destroy)).subscribe(e=>{e.added.forEach(i=>i.select()),e.removed.forEach(i=>i.deselect())}),this.options.changes.pipe(Go(null),Hn(this._destroy)).subscribe(()=>{this._resetOptions(),this._initializeSelection()})}ngDoCheck(){const e=this._getTriggerAriaLabelledby(),i=this.ngControl;if(e!==this._triggerAriaLabelledBy){const o=this._elementRef.nativeElement;this._triggerAriaLabelledBy=e,e?o.setAttribute("aria-labelledby",e):o.removeAttribute("aria-labelledby")}i&&(this._previousControl!==i.control&&(void 0!==this._previousControl&&null!==i.disabled&&i.disabled!==this.disabled&&(this.disabled=i.disabled),this._previousControl=i.control),this.updateErrorState())}ngOnChanges(e){(e.disabled||e.userAriaDescribedBy)&&this.stateChanges.next(),e.typeaheadDebounceInterval&&this._keyManager&&this._keyManager.withTypeAhead(this._typeaheadDebounceInterval)}ngOnDestroy(){this._keyManager?.destroy(),this._destroy.next(),this._destroy.complete(),this.stateChanges.complete()}toggle(){this.panelOpen?this.close():this.open()}open(){this._canOpen()&&(this._panelOpen=!0,this._keyManager.withHorizontalOrientation(null),this._highlightCorrectOption(),this._changeDetectorRef.markForCheck())}close(){this._panelOpen&&(this._panelOpen=!1,this._keyManager.withHorizontalOrientation(this._isRtl()?"rtl":"ltr"),this._changeDetectorRef.markForCheck(),this._onTouched())}writeValue(e){this._assignValue(e)}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e,this._changeDetectorRef.markForCheck(),this.stateChanges.next()}get panelOpen(){return this._panelOpen}get selected(){return this.multiple?this._selectionModel?.selected||[]:this._selectionModel?.selected[0]}get triggerValue(){if(this.empty)return"";if(this._multiple){const e=this._selectionModel.selected.map(i=>i.viewValue);return this._isRtl()&&e.reverse(),e.join(", ")}return this._selectionModel.selected[0].viewValue}_isRtl(){return!!this._dir&&"rtl"===this._dir.value}_handleKeydown(e){this.disabled||(this.panelOpen?this._handleOpenKeydown(e):this._handleClosedKeydown(e))}_handleClosedKeydown(e){const i=e.keyCode,o=40===i||38===i||37===i||39===i,s=13===i||32===i,a=this._keyManager;if(!a.isTyping()&&s&&!Fs(e)||(this.multiple||e.altKey)&&o)e.preventDefault(),this.open();else if(!this.multiple){const l=this.selected;a.onKeydown(e);const d=this.selected;d&&l!==d&&this._liveAnnouncer.announce(d.viewValue,1e4)}}_handleOpenKeydown(e){const i=this._keyManager,o=e.keyCode,s=40===o||38===o,a=i.isTyping();if(s&&e.altKey)e.preventDefault(),this.close();else if(a||13!==o&&32!==o||!i.activeItem||Fs(e))if(!a&&this._multiple&&65===o&&e.ctrlKey){e.preventDefault();const l=this.options.some(d=>!d.disabled&&!d.selected);this.options.forEach(d=>{d.disabled||(l?d.select():d.deselect())})}else{const l=i.activeItemIndex;i.onKeydown(e),this._multiple&&s&&e.shiftKey&&i.activeItem&&i.activeItemIndex!==l&&i.activeItem._selectViaInteraction()}else e.preventDefault(),i.activeItem._selectViaInteraction()}_onFocus(){this.disabled||(this._focused=!0,this.stateChanges.next())}_onBlur(){this._focused=!1,this._keyManager?.cancelTypeahead(),!this.disabled&&!this.panelOpen&&(this._onTouched(),this._changeDetectorRef.markForCheck(),this.stateChanges.next())}_onAttached(){this._overlayDir.positionChange.pipe(Kn(1)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this._positioningSettled()})}_getPanelTheme(){return this._parentFormField?`mat-${this._parentFormField.color}`:""}get empty(){return!this._selectionModel||this._selectionModel.isEmpty()}_initializeSelection(){Promise.resolve().then(()=>{this.ngControl&&(this._value=this.ngControl.value),this._setSelectionByValue(this._value),this.stateChanges.next()})}_setSelectionByValue(e){if(this.options.forEach(i=>i.setInactiveStyles()),this._selectionModel.clear(),this.multiple&&e)Array.isArray(e),e.forEach(i=>this._selectOptionByValue(i)),this._sortValues();else{const i=this._selectOptionByValue(e);i?this._keyManager.updateActiveItem(i):this.panelOpen||this._keyManager.updateActiveItem(-1)}this._changeDetectorRef.markForCheck()}_selectOptionByValue(e){const i=this.options.find(o=>{if(this._selectionModel.isSelected(o))return!1;try{return null!=o.value&&this._compareWith(o.value,e)}catch{return!1}});return i&&this._selectionModel.select(i),i}_assignValue(e){return!!(e!==this._value||this._multiple&&Array.isArray(e))&&(this.options&&this._setSelectionByValue(e),this._value=e,!0)}_skipPredicate(e){return e.disabled}_initKeyManager(){this._keyManager=new bz(this.options).withTypeAhead(this._typeaheadDebounceInterval).withVerticalOrientation().withHorizontalOrientation(this._isRtl()?"rtl":"ltr").withHomeAndEnd().withPageUpDown().withAllowedModifierKeys(["shiftKey"]).skipPredicate(this._skipPredicate),this._keyManager.tabOut.subscribe(()=>{this.panelOpen&&(!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction(),this.focus(),this.close())}),this._keyManager.change.subscribe(()=>{this._panelOpen&&this.panel?this._scrollOptionIntoView(this._keyManager.activeItemIndex||0):!this._panelOpen&&!this.multiple&&this._keyManager.activeItem&&this._keyManager.activeItem._selectViaInteraction()})}_resetOptions(){const e=bt(this.options.changes,this._destroy);this.optionSelectionChanges.pipe(Hn(e)).subscribe(i=>{this._onSelect(i.source,i.isUserInput),i.isUserInput&&!this.multiple&&this._panelOpen&&(this.close(),this.focus())}),bt(...this.options.map(i=>i._stateChanges)).pipe(Hn(e)).subscribe(()=>{this._changeDetectorRef.detectChanges(),this.stateChanges.next()})}_onSelect(e,i){const o=this._selectionModel.isSelected(e);null!=e.value||this._multiple?(o!==e.selected&&(e.selected?this._selectionModel.select(e):this._selectionModel.deselect(e)),i&&this._keyManager.setActiveItem(e),this.multiple&&(this._sortValues(),i&&this.focus())):(e.deselect(),this._selectionModel.clear(),null!=this.value&&this._propagateChanges(e.value)),o!==this._selectionModel.isSelected(e)&&this._propagateChanges(),this.stateChanges.next()}_sortValues(){if(this.multiple){const e=this.options.toArray();this._selectionModel.sort((i,o)=>this.sortComparator?this.sortComparator(i,o,e):e.indexOf(i)-e.indexOf(o)),this.stateChanges.next()}}_propagateChanges(e){let i=null;i=this.multiple?this.selected.map(o=>o.value):this.selected?this.selected.value:e,this._value=i,this.valueChange.emit(i),this._onChange(i),this.selectionChange.emit(this._getChangeEvent(i)),this._changeDetectorRef.markForCheck()}_highlightCorrectOption(){if(this._keyManager)if(this.empty){let e=-1;for(let i=0;i0}focus(e){this._elementRef.nativeElement.focus(e)}_getPanelAriaLabelledby(){if(this.ariaLabel)return null;const e=this._parentFormField?.getLabelId();return this.ariaLabelledby?(e?e+" ":"")+this.ariaLabelledby:e}_getAriaActiveDescendant(){return this.panelOpen&&this._keyManager&&this._keyManager.activeItem?this._keyManager.activeItem.id:null}_getTriggerAriaLabelledby(){if(this.ariaLabel)return null;const e=this._parentFormField?.getLabelId();let i=(e?e+" ":"")+this._valueId;return this.ariaLabelledby&&(i+=" "+this.ariaLabelledby),i}_panelDoneAnimating(e){this.openedChange.emit(e)}setDescribedByIds(e){e.length?this._elementRef.nativeElement.setAttribute("aria-describedby",e.join(" ")):this._elementRef.nativeElement.removeAttribute("aria-describedby")}onContainerClick(){this.focus(),this.open()}get shouldLabelFloat(){return this._panelOpen||!this.empty||this._focused&&!!this._placeholder}}return t.\u0275fac=function(e){return new(e||t)(Y(kd),Y(pi),Y(ft),Y(e1),Y(vt),Y(Do,8),Y(Xh,8),Y(ii,8),Y(A1,8),Y(Rs,10),Pa("tabindex"),Y(jI),Y(K0),Y(Fq,8))},t.\u0275dir=Ke({type:t,viewQuery:function(e,i){if(1&e&&(_t(xq,5),_t(kq,5),_t(lL,5)),2&e){let o;rt(o=ot())&&(i.trigger=o.first),rt(o=ot())&&(i.panel=o.first),rt(o=ot())&&(i._overlayDir=o.first)}},inputs:{userAriaDescribedBy:["aria-describedby","userAriaDescribedBy"],panelClass:"panelClass",placeholder:"placeholder",required:"required",multiple:"multiple",disableOptionCentering:"disableOptionCentering",compareWith:"compareWith",value:"value",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],errorStateMatcher:"errorStateMatcher",typeaheadDebounceInterval:"typeaheadDebounceInterval",sortComparator:"sortComparator",id:"id"},outputs:{openedChange:"openedChange",_openedStream:"opened",_closedStream:"closed",selectionChange:"selectionChange",valueChange:"valueChange"},features:[nt,Gi]}),t})(),Bq=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275dir=Ke({type:t,selectors:[["mat-select-trigger"]],features:[un([{provide:zI,useExisting:t}])]}),t})(),tf=(()=>{class t extends Hq{constructor(){super(...arguments),this._positions=[{originX:"start",originY:"bottom",overlayX:"start",overlayY:"top"},{originX:"start",originY:"top",overlayX:"start",overlayY:"bottom",panelClass:"mat-mdc-select-panel-above"}],this._hideSingleSelectionIndicator=this._defaultOptions?.hideSingleSelectionIndicator??!1,this._skipPredicate=e=>!this.panelOpen&&e.disabled}get shouldLabelFloat(){return this.panelOpen||!this.empty||this.focused&&!!this.placeholder}ngOnInit(){super.ngOnInit(),this._viewportRuler.change().pipe(Hn(this._destroy)).subscribe(()=>{this.panelOpen&&(this._overlayWidth=this._getOverlayWidth(),this._changeDetectorRef.detectChanges())})}ngAfterViewInit(){this._parentFormField&&(this._preferredOverlayOrigin=this._parentFormField.getConnectedOverlayOrigin())}open(){this._overlayWidth=this._getOverlayWidth(),super.open(),this.stateChanges.next()}close(){super.close(),this.stateChanges.next()}_scrollOptionIntoView(e){const i=this.options.toArray()[e];if(i){const o=this.panel.nativeElement,s=function uU(t,n,e){if(e.length){let i=n.toArray(),o=e.toArray(),s=0;for(let a=0;ae+i?Math.max(0,t-i+n):e}(a.offsetTop,a.offsetHeight,o.scrollTop,o.offsetHeight)}}_positioningSettled(){this._scrollOptionIntoView(this._keyManager.activeItemIndex||0)}_getChangeEvent(e){return new Nq(this,e)}_getOverlayWidth(){return(this._preferredOverlayOrigin instanceof Y0?this._preferredOverlayOrigin.elementRef:this._preferredOverlayOrigin||this._elementRef).nativeElement.getBoundingClientRect().width}get hideSingleSelectionIndicator(){return this._hideSingleSelectionIndicator}set hideSingleSelectionIndicator(e){this._hideSingleSelectionIndicator=_n(e),this._syncParentProperties()}_syncParentProperties(){if(this.options)for(const e of this.options)e._changeDetectorRef.markForCheck()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["mat-select"]],contentQueries:function(e,i,o){if(1&e&&(or(o,zI,5),or(o,Pd,5),or(o,NL,5)),2&e){let s;rt(s=ot())&&(i.customTrigger=s.first),rt(s=ot())&&(i.options=s),rt(s=ot())&&(i.optionGroups=s)}},hostAttrs:["role","combobox","aria-autocomplete","none","aria-haspopup","listbox","ngSkipHydration","true",1,"mat-mdc-select"],hostVars:19,hostBindings:function(e,i){1&e&&ye("keydown",function(s){return i._handleKeydown(s)})("focus",function(){return i._onFocus()})("blur",function(){return i._onBlur()}),2&e&&(Xt("id",i.id)("tabindex",i.tabIndex)("aria-controls",i.panelOpen?i.id+"-panel":null)("aria-expanded",i.panelOpen)("aria-label",i.ariaLabel||null)("aria-required",i.required.toString())("aria-disabled",i.disabled.toString())("aria-invalid",i.errorState)("aria-activedescendant",i._getAriaActiveDescendant()),nn("mat-mdc-select-disabled",i.disabled)("mat-mdc-select-invalid",i.errorState)("mat-mdc-select-required",i.required)("mat-mdc-select-empty",i.empty)("mat-mdc-select-multiple",i.multiple))},inputs:{disabled:"disabled",disableRipple:"disableRipple",tabIndex:"tabIndex",hideSingleSelectionIndicator:"hideSingleSelectionIndicator"},exportAs:["matSelect"],features:[un([{provide:O1,useExisting:t},{provide:RL,useExisting:t}]),nt],ngContentSelectors:Pq,decls:11,vars:11,consts:[["cdk-overlay-origin","",1,"mat-mdc-select-trigger",3,"click"],["fallbackOverlayOrigin","cdkOverlayOrigin","trigger",""],[1,"mat-mdc-select-value",3,"ngSwitch"],["class","mat-mdc-select-placeholder mat-mdc-select-min-line",4,"ngSwitchCase"],["class","mat-mdc-select-value-text",3,"ngSwitch",4,"ngSwitchCase"],[1,"mat-mdc-select-arrow-wrapper"],[1,"mat-mdc-select-arrow"],["viewBox","0 0 24 24","width","24px","height","24px","focusable","false"],["d","M7 10l5 5 5-5z"],["cdk-connected-overlay","","cdkConnectedOverlayLockPosition","","cdkConnectedOverlayHasBackdrop","","cdkConnectedOverlayBackdropClass","cdk-overlay-transparent-backdrop",3,"cdkConnectedOverlayPanelClass","cdkConnectedOverlayScrollStrategy","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","cdkConnectedOverlayWidth","backdropClick","attach","detach"],[1,"mat-mdc-select-placeholder","mat-mdc-select-min-line"],[1,"mat-mdc-select-value-text",3,"ngSwitch"],["class","mat-mdc-select-min-line",4,"ngSwitchDefault"],[4,"ngSwitchCase"],[1,"mat-mdc-select-min-line"],["role","listbox","tabindex","-1",3,"ngClass","keydown"],["panel",""]],template:function(e,i){if(1&e&&(Ir(Iq),D(0,"div",0,1),ye("click",function(){return i.toggle()}),D(3,"div",2),V(4,Sq,2,1,"span",3),V(5,Lq,3,2,"span",4),C(),D(6,"div",5)(7,"div",6),wl(),D(8,"svg",7),xe(9,"path",8),C()()()(),V(10,Eq,3,9,"ng-template",9),ye("backdropClick",function(){return i.close()})("attach",function(){return i._onAttached()})("detach",function(){return i.close()})),2&e){const o=ci(1);Xt("aria-owns",i.panelOpen?i.id+"-panel":null),c(3),w("ngSwitch",i.empty),Xt("id",i._valueId),c(1),w("ngSwitchCase",!0),c(1),w("ngSwitchCase",!1),c(5),w("cdkConnectedOverlayPanelClass",i._overlayPanelClass)("cdkConnectedOverlayScrollStrategy",i._scrollStrategy)("cdkConnectedOverlayOrigin",i._preferredOverlayOrigin||o)("cdkConnectedOverlayOpen",i.panelOpen)("cdkConnectedOverlayPositions",i._positions)("cdkConnectedOverlayWidth",i._overlayWidth)}},dependencies:[Nn,eh,my,aD,lL,Y0],styles:['.mdc-menu-surface{display:none;position:absolute;box-sizing:border-box;margin:0;padding:0;transform:scale(1);transform-origin:top left;opacity:0;overflow:auto;will-change:transform,opacity;transform-origin-left:top left;transform-origin-right:top right}.mdc-menu-surface:focus{outline:none}.mdc-menu-surface--animating-open{display:inline-block;transform:scale(0.8);opacity:0}.mdc-menu-surface--open{display:inline-block;transform:scale(1);opacity:1}.mdc-menu-surface--animating-closed{display:inline-block;opacity:0}[dir=rtl] .mdc-menu-surface,.mdc-menu-surface[dir=rtl]{transform-origin-left:top right;transform-origin-right:top left}.mdc-menu-surface--anchor{position:relative;overflow:visible}.mdc-menu-surface--fixed{position:fixed}.mdc-menu-surface--fullwidth{width:100%}.mdc-menu-surface{max-width:calc(100vw - 32px);max-width:var(--mdc-menu-max-width, calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:var(--mdc-menu-max-height, calc(100vh - 32px));z-index:8;border-radius:4px;border-radius:var(--mdc-shape-medium, 4px)}.mat-mdc-select{display:inline-block;width:100%;outline:none}.mat-mdc-select-trigger{display:inline-flex;align-items:center;cursor:pointer;position:relative;box-sizing:border-box;width:100%}.mat-mdc-select-disabled .mat-mdc-select-trigger{-webkit-user-select:none;user-select:none;cursor:default}.mat-mdc-select-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mat-mdc-select-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-mdc-select-arrow-wrapper{height:24px;flex-shrink:0;display:inline-flex;align-items:center}.mat-form-field-appearance-fill .mat-mdc-select-arrow-wrapper{transform:translateY(-8px)}.mat-form-field-appearance-fill .mdc-text-field--no-label .mat-mdc-select-arrow-wrapper{transform:none}.mat-mdc-select-arrow{width:10px;height:5px;position:relative}.mat-mdc-select-arrow svg{fill:currentColor;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:CanvasText}.mat-mdc-select-disabled .cdk-high-contrast-active .mat-mdc-select-arrow svg{fill:GrayText}.mdc-menu-surface.mat-mdc-select-panel{width:100%;max-height:275px;position:static;outline:0;margin:0;padding:8px 0;list-style-type:none}.mdc-menu-surface.mat-mdc-select-panel:focus{outline:none}.cdk-high-contrast-active .mdc-menu-surface.mat-mdc-select-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-select-panel-above) .mdc-menu-surface.mat-mdc-select-panel{border-top-left-radius:0;border-top-right-radius:0;transform-origin:top center}.mat-mdc-select-panel-above .mdc-menu-surface.mat-mdc-select-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:bottom center}.mat-mdc-select-placeholder{transition:color 400ms 133.3333333333ms cubic-bezier(0.25, 0.8, 0.25, 1)}._mat-animation-noopable .mat-mdc-select-placeholder{transition:none}.mat-form-field-hide-placeholder .mat-mdc-select-placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0);transition:none;display:block}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mat-mdc-floating-label{max-width:calc(100% - 18px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-fill .mdc-floating-label--float-above{max-width:calc(100% / 0.75 - 24px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}.mat-mdc-form-field-type-mat-select.mat-form-field-appearance-outline .mdc-text-field--label-floating .mdc-notched-outline__notch{max-width:calc(100% - 24px)}.mat-mdc-select-min-line:empty::before{content:" ";white-space:pre;width:1px;display:inline-block;visibility:hidden}'],encapsulation:2,data:{animation:[Oq.transformPanel]},changeDetection:0}),t})(),Vq=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[Rq],imports:[ta,Td,YL,Wn,Lh,Lg,YL,Wn]}),t})();function jq(t,n){if(1&t&&xe(0,"input",9),2&t){const e=z().$implicit;w("formControlName",e.keyNameInFiltersObject)("maxlength",e.maxlength)}}function zq(t,n){if(1&t&&(D(0,"div",14),xe(1,"div",15),C()),2&t){const e=z().$implicit,i=z(2).$implicit;di("background-image: url('"+i.printableLabelGeneralSettings.defaultImage+"'); width: "+i.printableLabelGeneralSettings.imageWidth+"px; height: "+i.printableLabelGeneralSettings.imageHeight+"px;"),c(1),di("background-image: url('"+e.image+"');")}}function Uq(t,n){if(1&t&&(D(0,"mat-option",12),V(1,zq,2,4,"div",13),I(2),R(3,"translate"),C()),2&t){const e=n.$implicit,i=z(2).$implicit;w("value",e.value),c(1),w("ngIf",i.printableLabelGeneralSettings&&e.image),c(1),ce(" ",H(3,3,e.label)," ")}}function Wq(t,n){if(1&t&&(D(0,"mat-select",10),V(1,Uq,4,5,"mat-option",11),C()),2&t){const e=z().$implicit;w("formControlName",e.keyNameInFiltersObject),c(1),w("ngForOf",e.printableLabelsForValues)}}function $q(t,n){if(1&t&&(Ue(0),D(1,"mat-form-field")(2,"div",5)(3,"label",6),I(4),R(5,"translate"),C(),V(6,jq,1,2,"input",7),V(7,Wq,2,2,"mat-select",8),C()(),We()),2&t){const e=n.$implicit,i=z();c(4),se(H(5,3,e.filterName)),c(2),w("ngIf",e.type===i.filterFieldTypes.TextInput),c(1),w("ngIf",e.type===i.filterFieldTypes.Select)}}let Gq=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o){this.data=e,this.dialogRef=i,this.formBuilder=o,this.filterFieldTypes=$n}ngOnInit(){const e={};this.data.filterPropertiesList.forEach(i=>{e[i.keyNameInFiltersObject]=[this.data.currentFilters[i.keyNameInFiltersObject]]}),this.form=this.formBuilder.group(e)}apply(){const e={};this.data.filterPropertiesList.forEach(i=>{e[i.keyNameInFiltersObject]=this.form.get(i.keyNameInFiltersObject).value.trim()}),this.dialogRef.close(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn),Y(xr))},t.\u0275cmp=Ze({type:t,selectors:[["app-filters-selection"]],decls:8,vars:9,consts:[[3,"headline","dialog"],[3,"formGroup"],[4,"ngFor","ngForOf"],["color","primary",1,"float-right",3,"action"],["button",""],[1,"field-container"],["for","remoteKey",1,"field-label"],["matInput","",3,"formControlName","maxlength",4,"ngIf"],[3,"formControlName",4,"ngIf"],["matInput","",3,"formControlName","maxlength"],[3,"formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],["class","image-container",3,"style",4,"ngIf"],[1,"image-container"],[1,"image"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1),V(3,$q,8,5,"ng-container",2),C(),D(4,"app-button",3,4),ye("action",function(){return i.apply()}),I(6),R(7,"translate"),C()()),2&e&&(w("headline",H(1,5,"filters.filter-action"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(1),w("ngForOf",i.data.filterPropertiesList),c(3),ce(" ",H(7,7,"common.ok")," "))},dependencies:[gi,Ft,zi,Bi,Vi,ji,Cr,ii,Ei,ar,kr,tf,Pd,Ui,ei,wt],styles:[".image-container[_ngcontent-%COMP%]{display:inline-block;background-size:contain;margin-right:5px}.image-container[_ngcontent-%COMP%] .image[_ngcontent-%COMP%]{background-size:contain;width:100%;height:100%}"]}),t})();class Nd{get currentFiltersTexts(){return this.currentFiltersTextsInternal}get currentUrlQueryParams(){return this.currentUrlQueryParamsInternal}get dataFiltered(){return this.dataUpdatedSubject.asObservable()}constructor(n,e,i,o,s){this.dialog=n,this.route=e,this.router=i,this.currentFiltersTextsInternal=[],this.dataUpdatedSubject=new J,this.filterPropertiesList=o,this.currentFilters={},this.filterPropertiesList.forEach(a=>{a.keyNameInFiltersObject=s+"_"+a.keyNameInElementsArray,this.currentFilters[a.keyNameInFiltersObject]=""}),this.navigationsSubscription=this.route.queryParamMap.subscribe(a=>{Object.keys(this.currentFilters).forEach(l=>{a.has(l)&&(this.currentFilters[l]=a.get(l))}),this.currentUrlQueryParamsInternal={},a.keys.forEach(l=>{this.currentUrlQueryParamsInternal[l]=a.get(l)}),this.filter()})}dispose(){this.dataUpdatedSubject.complete(),this.navigationsSubscription.unsubscribe()}setData(n){this.data=n,this.filter()}removeFilters(){const n=Jt.createConfirmationDialog(this.dialog,"filters.remove-confirmation");n.componentInstance.operationAccepted.subscribe(()=>{n.componentInstance.closeModal(),this.router.navigate([],{queryParams:{}})})}changeFilters(){Gq.openDialog(this.dialog,{filterPropertiesList:this.filterPropertiesList,currentFilters:this.currentFilters}).afterClosed().subscribe(e=>{e&&this.router.navigate([],{queryParams:e})})}filter(){if(this.data){let n,e=!1;Object.keys(this.currentFilters).forEach(i=>{this.currentFilters[i]&&(e=!0)}),e?(n=function uq(t,n,e){if(t){const i=[];return Object.keys(n).forEach(s=>{if(n[s])for(const a of e)if(a.keyNameInFiltersObject===s){i.push(a);break}}),t.filter(s=>{let a=!0;return i.forEach(l=>{const d=String(s[l.keyNameInElementsArray]).toLowerCase().includes(n[l.keyNameInFiltersObject].toLowerCase()),_=l.secondaryKeyNameInElementsArray&&String(s[l.secondaryKeyNameInElementsArray]).toLowerCase().includes(n[l.keyNameInFiltersObject].toLowerCase());!d&&!_&&(a=!1)}),a})}return null}(this.data,this.currentFilters,this.filterPropertiesList),this.updateCurrentFilters()):(n=this.data,this.updateCurrentFilters()),this.dataUpdatedSubject.next(n)}}updateCurrentFilters(){this.currentFiltersTextsInternal=function hq(t,n){const e=[];return n.forEach(i=>{if(t[i.keyNameInFiltersObject]){let o,s;i.printableLabelsForValues&&i.printableLabelsForValues.forEach(a=>{a.value===t[i.keyNameInFiltersObject]&&(s=a.label)}),s||(o=t[i.keyNameInFiltersObject]),e.push({filterName:i.filterName,translatableValue:s,value:o})}}),e}(this.currentFilters,this.filterPropertiesList)}}function qq(t,n){if(1&t){const e=et();D(0,"div",5)(1,"div",6)(2,"div",7),I(3),C(),D(4,"div",8),I(5),C()(),D(6,"div",9)(7,"app-button",10),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).openTerminal(s.key))}),I(8),R(9,"translate"),C()()()}if(2&t){const e=n.$implicit;c(3),se(e.label),c(2),se(e.version),c(3),ce(" ",H(9,3,"update-all.update-button")," ")}}function Kq(t,n){if(1&t&&(Ue(0),D(1,"div",2),I(2),R(3,"translate"),C(),D(4,"div",3),V(5,qq,10,5,"div",4),C(),We()),2&t){const e=z();c(2),ce(" ",H(3,2,"update-all.updatable-list-text")," "),c(3),w("ngForOf",e.updatableNodes)}}function Zq(t,n){if(1&t&&(D(0,"div",8),I(1),C()),2&t){const e=z().$implicit;c(1),se(e.tag)}}function Xq(t,n){if(1&t&&(D(0,"div",5)(1,"div",6)(2,"div",7),I(3),C(),D(4,"div",8),I(5),C(),V(6,Zq,2,1,"div",11),C()()),2&t){const e=n.$implicit;c(3),se(e.label),c(2),se(e.version),c(1),w("ngIf",e.tag)}}function Jq(t,n){if(1&t&&(Ue(0),D(1,"div",2),I(2),R(3,"translate"),C(),D(4,"div",3),V(5,Xq,7,3,"div",4),C(),We()),2&t){const e=z();c(2),ce(" ",H(3,2,"update-all.non-updatable-list-text")," "),c(3),w("ngForOf",e.nonUpdatableNodes)}}let Qq=(()=>{class t{static openDialog(e,i,o){const s=new En;return s.data=[i,o],s.autoFocus=!1,s.width=Vt.smallModalWidth,e.open(t,s)}constructor(e,i){this.dialogRef=e,this.updatableNodes=i[0],this.nonUpdatableNodes=i[1]}openTerminal(e){const i=window.location.protocol,o=window.location.host.replace("localhost:4200","127.0.0.1:8000");window.open(i+"//"+o+"/pty/"+e+"?commands=update","_blank","noopener noreferrer")}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li))},t.\u0275cmp=Ze({type:t,selectors:[["app-update-all"]],decls:4,vars:6,consts:[[3,"headline","dialog"],[4,"ngIf"],[1,"text-container"],[1,"list-container"],["class","list-element",4,"ngFor","ngForOf"],[1,"list-element"],[1,"left-part"],[1,"name"],[1,"version"],[1,"right-part"],["color","primary",3,"click"],["class","version",4,"ngIf"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),V(2,Kq,6,4,"ng-container",1),V(3,Jq,6,4,"ng-container",1),C()),2&e&&(w("headline",H(1,4,"update-all.title"))("dialog",i.dialogRef),c(2),w("ngIf",i.updatableNodes&&i.updatableNodes.length>0),c(1),w("ngIf",i.nonUpdatableNodes&&i.nonUpdatableNodes.length>0))},dependencies:[gi,Ft,Ui,ei,wt],styles:[".text-container[_ngcontent-%COMP%]{word-break:break-word}.list-container[_ngcontent-%COMP%]{font-size:14px;margin:10px;color:#215f9e;word-break:break-word;line-height:1.2}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%]{display:flex;margin-bottom:10px}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-part[_ngcontent-%COMP%]{flex-grow:1;flex-shrink:1;align-self:center;margin-right:10px;min-width:0}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-part[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width: 575px){.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-part[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:.7rem}}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-part[_ngcontent-%COMP%] .version[_ngcontent-%COMP%]{font-size:.7rem;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .right-part[_ngcontent-%COMP%]{flex-basis:0;flex-shrink:0}.list-container[_ngcontent-%COMP%] .details[_ngcontent-%COMP%]{color:#777}"]}),t})();const eK=["input"],tK=["label"],nK=["*"],iK=new Re("mat-checkbox-default-options",{providedIn:"root",factory:UI});function UI(){return{color:"accent",clickAction:"check-indeterminate"}}const rK={provide:ls,useExisting:pn(()=>fa),multi:!0};class oK{}let sK=0;const WI=UI(),aK=LL(Fh(Rh(Ed(class{constructor(t){this._elementRef=t}}))));let lK=(()=>{class t extends aK{get inputId(){return`${this.id||this._uniqueId}-input`}get required(){return this._required}set required(e){this._required=_n(e)}constructor(e,i,o,s,a,l,d){super(i),this._changeDetectorRef=o,this._ngZone=s,this._animationMode=l,this._options=d,this.ariaLabel="",this.ariaLabelledby=null,this.labelPosition="after",this.name=null,this.change=new ht,this.indeterminateChange=new ht,this._onTouched=()=>{},this._currentAnimationClass="",this._currentCheckState=0,this._controlValueAccessorChangeFn=()=>{},this._checked=!1,this._disabled=!1,this._indeterminate=!1,this._options=this._options||WI,this.color=this.defaultColor=this._options.color||WI.color,this.tabIndex=parseInt(a)||0,this.id=this._uniqueId=`${e}${++sK}`}ngAfterViewInit(){this._syncIndeterminate(this._indeterminate)}get checked(){return this._checked}set checked(e){const i=_n(e);i!=this.checked&&(this._checked=i,this._changeDetectorRef.markForCheck())}get disabled(){return this._disabled}set disabled(e){const i=_n(e);i!==this.disabled&&(this._disabled=i,this._changeDetectorRef.markForCheck())}get indeterminate(){return this._indeterminate}set indeterminate(e){const i=e!=this._indeterminate;this._indeterminate=_n(e),i&&(this._transitionCheckState(this._indeterminate?3:this.checked?1:2),this.indeterminateChange.emit(this._indeterminate)),this._syncIndeterminate(this._indeterminate)}_isRippleDisabled(){return this.disableRipple||this.disabled}_onLabelTextChange(){this._changeDetectorRef.detectChanges()}writeValue(e){this.checked=!!e}registerOnChange(e){this._controlValueAccessorChangeFn=e}registerOnTouched(e){this._onTouched=e}setDisabledState(e){this.disabled=e}_transitionCheckState(e){let i=this._currentCheckState,o=this._getAnimationTargetElement();if(i!==e&&o&&(this._currentAnimationClass&&o.classList.remove(this._currentAnimationClass),this._currentAnimationClass=this._getAnimationClassForCheckStateTransition(i,e),this._currentCheckState=e,this._currentAnimationClass.length>0)){o.classList.add(this._currentAnimationClass);const s=this._currentAnimationClass;this._ngZone.runOutsideAngular(()=>{setTimeout(()=>{o.classList.remove(s)},1e3)})}}_emitChangeEvent(){this._controlValueAccessorChangeFn(this.checked),this.change.emit(this._createChangeEvent(this.checked)),this._inputElement&&(this._inputElement.nativeElement.checked=this.checked)}toggle(){this.checked=!this.checked,this._controlValueAccessorChangeFn(this.checked)}_handleInputClick(){const e=this._options?.clickAction;this.disabled||"noop"===e?!this.disabled&&"noop"===e&&(this._inputElement.nativeElement.checked=this.checked,this._inputElement.nativeElement.indeterminate=this.indeterminate):(this.indeterminate&&"check"!==e&&Promise.resolve().then(()=>{this._indeterminate=!1,this.indeterminateChange.emit(this._indeterminate)}),this._checked=!this._checked,this._transitionCheckState(this._checked?1:2),this._emitChangeEvent())}_onInteractionEvent(e){e.stopPropagation()}_onBlur(){Promise.resolve().then(()=>{this._onTouched(),this._changeDetectorRef.markForCheck()})}_getAnimationClassForCheckStateTransition(e,i){if("NoopAnimations"===this._animationMode)return"";switch(e){case 0:if(1===i)return this._animationClasses.uncheckedToChecked;if(3==i)return this._checked?this._animationClasses.checkedToIndeterminate:this._animationClasses.uncheckedToIndeterminate;break;case 2:return 1===i?this._animationClasses.uncheckedToChecked:this._animationClasses.uncheckedToIndeterminate;case 1:return 2===i?this._animationClasses.checkedToUnchecked:this._animationClasses.checkedToIndeterminate;case 3:return 1===i?this._animationClasses.indeterminateToChecked:this._animationClasses.indeterminateToUnchecked}return""}_syncIndeterminate(e){const i=this._inputElement;i&&(i.nativeElement.indeterminate=e)}}return t.\u0275fac=function(e){Aa()},t.\u0275dir=Ke({type:t,viewQuery:function(e,i){if(1&e&&(_t(eK,5),_t(tK,5),_t(Zl,5)),2&e){let o;rt(o=ot())&&(i._inputElement=o.first),rt(o=ot())&&(i._labelElement=o.first),rt(o=ot())&&(i.ripple=o.first)}},inputs:{ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],id:"id",required:"required",labelPosition:"labelPosition",name:"name",value:"value",checked:"checked",disabled:"disabled",indeterminate:"indeterminate"},outputs:{change:"change",indeterminateChange:"indeterminateChange"},features:[nt]}),t})(),fa=(()=>{class t extends lK{constructor(e,i,o,s,a,l){super("mat-mdc-checkbox-",e,i,o,s,a,l),this._animationClasses={uncheckedToChecked:"mdc-checkbox--anim-unchecked-checked",uncheckedToIndeterminate:"mdc-checkbox--anim-unchecked-indeterminate",checkedToUnchecked:"mdc-checkbox--anim-checked-unchecked",checkedToIndeterminate:"mdc-checkbox--anim-checked-indeterminate",indeterminateToChecked:"mdc-checkbox--anim-indeterminate-checked",indeterminateToUnchecked:"mdc-checkbox--anim-indeterminate-unchecked"}}focus(){this._inputElement.nativeElement.focus()}_createChangeEvent(e){const i=new oK;return i.source=this,i.checked=e,i}_getAnimationTargetElement(){return this._inputElement?.nativeElement}_onInputClick(){super._handleInputClick()}_onTouchTargetClick(){super._handleInputClick(),this.disabled||this._inputElement.nativeElement.focus()}_preventBubblingFromLabel(e){e.target&&this._labelElement.nativeElement.contains(e.target)&&e.stopPropagation()}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(ft),Pa("tabindex"),Y(Ri,8),Y(iK,8))},t.\u0275cmp=Ze({type:t,selectors:[["mat-checkbox"]],hostAttrs:[1,"mat-mdc-checkbox"],hostVars:12,hostBindings:function(e,i){2&e&&(Js("id",i.id),Xt("tabindex",null)("aria-label",null)("aria-labelledby",null),nn("_mat-animation-noopable","NoopAnimations"===i._animationMode)("mdc-checkbox--disabled",i.disabled)("mat-mdc-checkbox-disabled",i.disabled)("mat-mdc-checkbox-checked",i.checked))},inputs:{disableRipple:"disableRipple",color:"color",tabIndex:"tabIndex"},exportAs:["matCheckbox"],features:[un([rK]),nt],ngContentSelectors:nK,decls:15,vars:19,consts:[[1,"mdc-form-field",3,"click"],[1,"mdc-checkbox"],["checkbox",""],[1,"mat-mdc-checkbox-touch-target",3,"click"],["type","checkbox",1,"mdc-checkbox__native-control",3,"checked","indeterminate","disabled","id","required","tabIndex","blur","click","change"],["input",""],[1,"mdc-checkbox__ripple"],[1,"mdc-checkbox__background"],["focusable","false","viewBox","0 0 24 24","aria-hidden","true",1,"mdc-checkbox__checkmark"],["fill","none","d","M1.73,12.91 8.1,19.28 22.79,4.59",1,"mdc-checkbox__checkmark-path"],[1,"mdc-checkbox__mixedmark"],["mat-ripple","",1,"mat-mdc-checkbox-ripple","mat-mdc-focus-indicator",3,"matRippleTrigger","matRippleDisabled","matRippleCentered"],[1,"mdc-label",3,"for"],["label",""]],template:function(e,i){if(1&e&&(Ir(),D(0,"div",0),ye("click",function(s){return i._preventBubblingFromLabel(s)}),D(1,"div",1,2)(3,"div",3),ye("click",function(){return i._onTouchTargetClick()}),C(),D(4,"input",4,5),ye("blur",function(){return i._onBlur()})("click",function(){return i._onInputClick()})("change",function(s){return i._onInteractionEvent(s)}),C(),xe(6,"div",6),D(7,"div",7),wl(),D(8,"svg",8),xe(9,"path",9),C(),zf(),xe(10,"div",10),C(),xe(11,"div",11),C(),D(12,"label",12,13),Sn(14),C()()),2&e){const o=ci(2);nn("mdc-form-field--align-end","before"==i.labelPosition),c(4),nn("mdc-checkbox--selected",i.checked),w("checked",i.checked)("indeterminate",i.indeterminate)("disabled",i.disabled)("id",i.inputId)("required",i.required)("tabIndex",i.tabIndex),Xt("aria-label",i.ariaLabel||null)("aria-labelledby",i.ariaLabelledby)("aria-describedby",i.ariaDescribedby)("name",i.name)("value",i.value),c(7),w("matRippleTrigger",o)("matRippleDisabled",i.disableRipple||i.disabled)("matRippleCentered",!0),c(1),w("for",i.inputId)}},dependencies:[Zl],styles:['.mdc-touch-target-wrapper{display:inline}@keyframes mdc-checkbox-unchecked-checked-checkmark-path{0%,50%{stroke-dashoffset:29.7833385}50%{animation-timing-function:cubic-bezier(0, 0, 0.2, 1)}100%{stroke-dashoffset:0}}@keyframes mdc-checkbox-unchecked-indeterminate-mixedmark{0%,68.2%{transform:scaleX(0)}68.2%{animation-timing-function:cubic-bezier(0, 0, 0, 1)}100%{transform:scaleX(1)}}@keyframes mdc-checkbox-checked-unchecked-checkmark-path{from{animation-timing-function:cubic-bezier(0.4, 0, 1, 1);opacity:1;stroke-dashoffset:0}to{opacity:0;stroke-dashoffset:-29.7833385}}@keyframes mdc-checkbox-checked-indeterminate-checkmark{from{animation-timing-function:cubic-bezier(0, 0, 0.2, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(45deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-checked-checkmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(45deg);opacity:0}to{transform:rotate(360deg);opacity:1}}@keyframes mdc-checkbox-checked-indeterminate-mixedmark{from{animation-timing-function:mdc-animation-deceleration-curve-timing-function;transform:rotate(-45deg);opacity:0}to{transform:rotate(0deg);opacity:1}}@keyframes mdc-checkbox-indeterminate-checked-mixedmark{from{animation-timing-function:cubic-bezier(0.14, 0, 0, 1);transform:rotate(0deg);opacity:1}to{transform:rotate(315deg);opacity:0}}@keyframes mdc-checkbox-indeterminate-unchecked-mixedmark{0%{animation-timing-function:linear;transform:scaleX(1);opacity:1}32.8%,100%{transform:scaleX(0);opacity:0}}.mdc-checkbox{display:inline-block;position:relative;flex:0 0 18px;box-sizing:content-box;width:18px;height:18px;line-height:0;white-space:nowrap;cursor:pointer;vertical-align:bottom}.mdc-checkbox[hidden]{display:none}.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{pointer-events:none;border:2px solid rgba(0,0,0,0);border-radius:6px;box-sizing:content-box;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:100%;width:100%}@media screen and (forced-colors: active){.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring{border-color:CanvasText}}.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{content:"";border:2px solid rgba(0,0,0,0);border-radius:8px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);height:calc(100% + 4px);width:calc(100% + 4px)}@media screen and (forced-colors: active){.mdc-checkbox.mdc-ripple-upgraded--background-focused .mdc-checkbox__focus-ring::after,.mdc-checkbox:not(.mdc-ripple-upgraded):focus .mdc-checkbox__focus-ring::after{border-color:CanvasText}}@media all and (-ms-high-contrast: none){.mdc-checkbox .mdc-checkbox__focus-ring{display:none}}@media screen and (forced-colors: active),(-ms-high-contrast: active){.mdc-checkbox__mixedmark{margin:0 1px}}.mdc-checkbox--disabled{cursor:default;pointer-events:none}.mdc-checkbox__background{display:inline-flex;position:absolute;align-items:center;justify-content:center;box-sizing:border-box;width:18px;height:18px;border:2px solid currentColor;border-radius:2px;background-color:rgba(0,0,0,0);pointer-events:none;will-change:background-color,border-color;transition:background-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),border-color 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__checkmark{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;transition:opacity 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--upgraded .mdc-checkbox__checkmark{opacity:1}.mdc-checkbox__checkmark-path{transition:stroke-dashoffset 180ms 0ms cubic-bezier(0.4, 0, 0.6, 1);stroke:currentColor;stroke-width:3.12px;stroke-dashoffset:29.7833385;stroke-dasharray:29.7833385}.mdc-checkbox__mixedmark{width:100%;height:0;transform:scaleX(0) rotate(0deg);border-width:1px;border-style:solid;opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__background,.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__background,.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__background,.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__background{animation-duration:180ms;animation-timing-function:linear}.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-unchecked-checked-checkmark-path 180ms linear 0s;transition:none}.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-unchecked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__checkmark-path{animation:mdc-checkbox-checked-unchecked-checkmark-path 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__checkmark{animation:mdc-checkbox-checked-indeterminate-checkmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-checked-indeterminate .mdc-checkbox__mixedmark{animation:mdc-checkbox-checked-indeterminate-mixedmark 90ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__checkmark{animation:mdc-checkbox-indeterminate-checked-checkmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-checked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-checked-mixedmark 500ms linear 0s;transition:none}.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__mixedmark{animation:mdc-checkbox-indeterminate-unchecked-mixedmark 300ms linear 0s;transition:none}.mdc-checkbox__native-control:checked~.mdc-checkbox__background,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background{transition:border-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1),background-color 90ms 0ms cubic-bezier(0, 0, 0.2, 1)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark-path,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark-path{stroke-dashoffset:0}.mdc-checkbox__native-control{position:absolute;margin:0;padding:0;opacity:0;cursor:inherit}.mdc-checkbox__native-control:disabled{cursor:default;pointer-events:none}.mdc-checkbox--touch{margin:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2)}.mdc-checkbox--touch .mdc-checkbox__native-control{top:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);right:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);left:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);width:var(--mdc-checkbox-state-layer-size);height:var(--mdc-checkbox-state-layer-size)}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__checkmark{transition:opacity 180ms 0ms cubic-bezier(0, 0, 0.2, 1),transform 180ms 0ms cubic-bezier(0, 0, 0.2, 1);opacity:1}.mdc-checkbox__native-control:checked~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(-45deg)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__checkmark,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__checkmark{transform:rotate(45deg);opacity:0;transition:opacity 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1),transform 90ms 0ms cubic-bezier(0.4, 0, 0.6, 1)}.mdc-checkbox__native-control:indeterminate~.mdc-checkbox__background .mdc-checkbox__mixedmark,.mdc-checkbox__native-control[data-indeterminate=true]~.mdc-checkbox__background .mdc-checkbox__mixedmark{transform:scaleX(1) rotate(0deg);opacity:1}.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__checkmark-path,.mdc-checkbox.mdc-checkbox--upgraded .mdc-checkbox__mixedmark{transition:none}.mdc-form-field{display:inline-flex;align-items:center;vertical-align:middle}.mdc-form-field[hidden]{display:none}.mdc-form-field>label{margin-left:0;margin-right:auto;padding-left:4px;padding-right:0;order:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{margin-left:auto;margin-right:0}[dir=rtl] .mdc-form-field>label,.mdc-form-field>label[dir=rtl]{padding-left:0;padding-right:4px}.mdc-form-field--nowrap>label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.mdc-form-field--align-end>label{margin-left:auto;margin-right:0;padding-left:0;padding-right:4px;order:-1}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{margin-left:0;margin-right:auto}[dir=rtl] .mdc-form-field--align-end>label,.mdc-form-field--align-end>label[dir=rtl]{padding-left:4px;padding-right:0}.mdc-form-field--space-between{justify-content:space-between}.mdc-form-field--space-between>label{margin:0}[dir=rtl] .mdc-form-field--space-between>label,.mdc-form-field--space-between>label[dir=rtl]{margin:0}.mdc-checkbox{padding:calc((var(--mdc-checkbox-state-layer-size) - 18px) / 2);margin:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2)}.mdc-checkbox .mdc-checkbox__native-control[disabled]:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-disabled-unselected-icon-color);background-color:transparent}.mdc-checkbox .mdc-checkbox__native-control[disabled]:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[disabled]:indeterminate~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true][disabled]~.mdc-checkbox__background{border-color:transparent;background-color:var(--mdc-checkbox-disabled-selected-icon-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:var(--mdc-checkbox-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__checkmark{color:var(--mdc-checkbox-disabled-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:disabled~.mdc-checkbox__background .mdc-checkbox__mixedmark{border-color:var(--mdc-checkbox-disabled-selected-checkmark-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-icon-color);background-color:transparent}.mdc-checkbox .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-icon-color);background-color:var(--mdc-checkbox-selected-icon-color)}@keyframes mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336{0%{border-color:var(--mdc-checkbox-unselected-icon-color);background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-icon-color);background-color:var(--mdc-checkbox-selected-icon-color)}}@keyframes mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336{0%,80%{border-color:var(--mdc-checkbox-selected-icon-color);background-color:var(--mdc-checkbox-selected-icon-color)}100%{border-color:var(--mdc-checkbox-unselected-icon-color);background-color:transparent}}.mdc-checkbox.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox:hover .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-hover-icon-color);background-color:transparent}.mdc-checkbox:hover .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox:hover .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mdc-checkbox:hover .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-hover-icon-color);background-color:var(--mdc-checkbox-selected-hover-icon-color)}@keyframes mdc-checkbox-fade-in-background-FF212121FFF4433600000000FFF44336{0%{border-color:var(--mdc-checkbox-unselected-hover-icon-color);background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-hover-icon-color);background-color:var(--mdc-checkbox-selected-hover-icon-color)}}@keyframes mdc-checkbox-fade-out-background-FF212121FFF4433600000000FFF44336{0%,80%{border-color:var(--mdc-checkbox-selected-hover-icon-color);background-color:var(--mdc-checkbox-selected-hover-icon-color)}100%{border-color:var(--mdc-checkbox-unselected-hover-icon-color);background-color:transparent}}.mdc-checkbox:hover.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:hover.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-FF212121FFF4433600000000FFF44336}.mdc-checkbox:hover.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:hover.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-FF212121FFF4433600000000FFF44336}.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:not(:checked):not(:indeterminate):not([data-indeterminate=true])~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-pressed-icon-color);background-color:transparent}.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:checked~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active .mdc-checkbox__native-control[data-indeterminate=true]:enabled~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-pressed-icon-color);background-color:var(--mdc-checkbox-selected-pressed-icon-color)}@keyframes mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336{0%{border-color:var(--mdc-checkbox-unselected-pressed-icon-color);background-color:transparent}50%{border-color:var(--mdc-checkbox-selected-pressed-icon-color);background-color:var(--mdc-checkbox-selected-pressed-icon-color)}}@keyframes mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336{0%,80%{border-color:var(--mdc-checkbox-selected-pressed-icon-color);background-color:var(--mdc-checkbox-selected-pressed-icon-color)}100%{border-color:var(--mdc-checkbox-unselected-pressed-icon-color);background-color:transparent}}.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-unchecked-checked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-unchecked-indeterminate .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-in-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-checked-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background,.mdc-checkbox:not(:disabled):active.mdc-checkbox--anim-indeterminate-unchecked .mdc-checkbox__native-control:enabled~.mdc-checkbox__background{animation-name:mdc-checkbox-fade-out-background-8A000000FFF4433600000000FFF44336}.mdc-checkbox .mdc-checkbox__background{top:calc((var(--mdc-checkbox-state-layer-size) - 18px) / 2);left:calc((var(--mdc-checkbox-state-layer-size) - 18px) / 2)}.mdc-checkbox .mdc-checkbox__native-control{top:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);right:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);left:calc((var(--mdc-checkbox-state-layer-size) - var(--mdc-checkbox-state-layer-size)) / 2);width:var(--mdc-checkbox-state-layer-size);height:var(--mdc-checkbox-state-layer-size)}.mdc-checkbox .mdc-checkbox__native-control:enabled:focus:focus:not(:checked):not(:indeterminate)~.mdc-checkbox__background{border-color:var(--mdc-checkbox-unselected-focus-icon-color)}.mdc-checkbox .mdc-checkbox__native-control:enabled:focus:checked~.mdc-checkbox__background,.mdc-checkbox .mdc-checkbox__native-control:enabled:focus:indeterminate~.mdc-checkbox__background{border-color:var(--mdc-checkbox-selected-focus-icon-color);background-color:var(--mdc-checkbox-selected-focus-icon-color)}.mdc-checkbox:hover .mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-hover-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-hover-state-layer-color)}.mdc-checkbox:hover .mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-hover-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-focus-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-focus-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-focus-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-unselected-pressed-state-layer-opacity);background-color:var(--mdc-checkbox-unselected-pressed-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-unselected-pressed-state-layer-color)}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-hover-state-layer-opacity);background-color:var(--mdc-checkbox-selected-hover-state-layer-color)}.mdc-checkbox:hover .mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-hover-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-focus-state-layer-opacity);background-color:var(--mdc-checkbox-selected-focus-state-layer-color)}.mdc-checkbox .mdc-checkbox__native-control:focus:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-focus-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control:checked~.mdc-checkbox__ripple{opacity:var(--mdc-checkbox-selected-pressed-state-layer-opacity);background-color:var(--mdc-checkbox-selected-pressed-state-layer-color)}.mdc-checkbox:active .mdc-checkbox__native-control:checked~.mat-mdc-checkbox-ripple .mat-ripple-element{background-color:var(--mdc-checkbox-selected-pressed-state-layer-color)}.mat-mdc-checkbox{--mdc-checkbox-disabled-selected-checkmark-color:#fff;--mdc-checkbox-selected-focus-state-layer-opacity:0.16;--mdc-checkbox-selected-hover-state-layer-opacity:0.04;--mdc-checkbox-selected-pressed-state-layer-opacity:0.16;--mdc-checkbox-unselected-focus-state-layer-opacity:0.16;--mdc-checkbox-unselected-hover-state-layer-opacity:0.04;--mdc-checkbox-unselected-pressed-state-layer-opacity:0.16}.mat-mdc-checkbox{display:inline-block;position:relative;-webkit-tap-highlight-color:rgba(0,0,0,0)}.mat-mdc-checkbox .mdc-checkbox__background{-webkit-print-color-adjust:exact;color-adjust:exact}.mat-mdc-checkbox._mat-animation-noopable *,.mat-mdc-checkbox._mat-animation-noopable *::before{transition:none !important;animation:none !important}.mat-mdc-checkbox label{cursor:pointer}.mat-mdc-checkbox.mat-mdc-checkbox-disabled label{cursor:default}.mat-mdc-checkbox label:empty{display:none}.cdk-high-contrast-active .mat-mdc-checkbox.mat-mdc-checkbox-disabled{opacity:.5}.cdk-high-contrast-active .mat-mdc-checkbox .mdc-checkbox__checkmark{--mdc-checkbox-selected-checkmark-color: CanvasText;--mdc-checkbox-disabled-selected-checkmark-color: CanvasText}.mat-mdc-checkbox .mdc-checkbox__ripple{opacity:0}.mat-mdc-checkbox-ripple,.mdc-checkbox__ripple{top:0;left:0;right:0;bottom:0;position:absolute;border-radius:50%;pointer-events:none}.mat-mdc-checkbox-ripple:not(:empty),.mdc-checkbox__ripple:not(:empty){transform:translateZ(0)}.mat-mdc-checkbox-ripple .mat-ripple-element{opacity:.1}.mat-mdc-checkbox-touch-target{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mat-mdc-checkbox-ripple::before{border-radius:50%}.mdc-checkbox__native-control:focus~.mat-mdc-focus-indicator::before{content:""}'],encapsulation:2,changeDetection:0}),t})(),$I=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({}),t})(),uK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn,Yh,$I,Wn,$I]}),t})();const hK=["button"];function fK(t,n){1&t&&(D(0,"span",22),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"bulk-rewards.checking"),""))}function pK(t,n){if(1&t&&(D(0,"span",23)(1,"span"),I(2),R(3,"translate"),C(),D(4,"span"),I(5),R(6,"translate"),C()()),2&t){const e=z(2).$implicit;c(2),ce(" ",H(3,2,"bulk-rewards.error-checking"),""),c(3),ce(" ",H(6,4,e.operationError),"")}}function mK(t,n){if(1&t&&(D(0,"span"),I(1),C()),2&t){const e=z(2).$implicit;c(1),ce(" ",e.currentAddress,"")}}function gK(t,n){1&t&&(D(0,"span"),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"bulk-rewards.not-registered"),""))}function _K(t,n){if(1&t&&(Ue(0,15),D(1,"mat-checkbox",16)(2,"div")(3,"div",17),I(4),C(),D(5,"div",18)(6,"span",19),I(7),R(8,"translate"),C(),V(9,fK,3,3,"span",20),V(10,pK,7,6,"span",21),V(11,mK,2,1,"span",12),V(12,gK,3,3,"span",12),C()()(),We()),2&t){const e=z(),o=e.$implicit;w("formGroupName",e.index),c(4),ce(" ",o.label," "),c(3),se(H(8,7,"bulk-rewards.current-address")),c(2),w("ngIf",null===o.currentAddress&&!o.operationError),c(1),w("ngIf",o.operationError),c(1),w("ngIf",o.currentAddress&&!o.operationError),c(1),w("ngIf",""===o.currentAddress&&!o.operationError)}}function bK(t,n){1&t&&(D(0,"span",22),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"bulk-rewards.processing"),""))}function vK(t,n){if(1&t&&(D(0,"span",23)(1,"span"),I(2),R(3,"translate"),C(),D(4,"span"),I(5),R(6,"translate"),C()()),2&t){const e=z(2).$implicit;c(2),ce(" ",H(3,2,"bulk-rewards.error-processing"),""),c(3),ce(" ",H(6,4,e.operationError),"")}}function yK(t,n){1&t&&(D(0,"span",28),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"bulk-rewards.done"),""))}function MK(t,n){if(1&t&&(Ue(0),D(1,"div",24),I(2,"-"),C(),D(3,"div",25),I(4),D(5,"div",26),V(6,bK,3,3,"span",20),V(7,vK,7,6,"span",21),V(8,yK,3,3,"span",27),C()(),We()),2&t){const e=z().$implicit;c(4),ce(" ",e.label," "),c(2),w("ngIf",e.processing&&!e.operationError),c(1),w("ngIf",e.operationError),c(1),w("ngIf",!e.processing&&!e.operationError)}}const wK=function(t){return{"element-margin":t}};function CK(t,n){if(1&t&&(D(0,"div",13),V(1,_K,13,9,"ng-container",14),V(2,MK,9,4,"ng-container",12),C()),2&t){const e=z();w("ngClass",He(3,wK,e.processingStarted)),c(1),w("ngIf",!e.processingStarted),c(1),w("ngIf",e.processingStarted)}}function xK(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"bulk-rewards.perform-changes")))}function kK(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"common.close")))}const SK=function(t){return{"element-disabled":t}};let DK=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o,s,a){this.dialogRef=e,this.data=i,this.nodeService=o,this.formBuilder=s,this.dialog=a,this.processingStarted=!1,this.processingFinished=!1,this.currentlyProcessed=0,this.form=s.group({address:["",Gt.compose([Gt.minLength(20),Gt.maxLength(40)])],nodes:s.array([])}),i.nodes.forEach(l=>{const d=this.formBuilder.group({selected:[!0]});this.form.get("nodes").push(d)}),this.startChecking()}formValid(){if(!this.processingStarted){if(!this.form.valid)return!1;let e=0;return this.form.get("nodes").controls.forEach((i,o)=>{i.get("selected")?.value&&(e+=1)}),e>0}return!0}get disableDismiss(){return this.processingStarted&&!this.processingFinished}startChecking(){this.nodesToEdit=[],this.data.nodes.forEach(e=>{this.nodesToEdit.push({key:e.key,label:e.label,currentAddress:null,operationError:"",processing:!1})}),this.operationSubscriptions=[],this.nodesToEdit.forEach((e,i)=>{this.operationSubscriptions.push(this.nodeService.getRewardsAddress(e.key).subscribe(o=>{this.nodesToEdit[i].currentAddress=o},o=>{this.nodesToEdit[i].operationError=o.translatableErrorMsg?o.translatableErrorMsg:o.originalServerErrorMsg}))})}checkBeforeProcessing(){if(this.form.valid)if(this.form.get("address").value)this.startProcessing();else{const i=Jt.createConfirmationDialog(this.dialog,"bulk-rewards.empty-warning");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.closeModal(),this.startProcessing()})}}startProcessing(){this.processingStarted=!0,this.button.showLoading(),this.closeoperationSubscriptions();const e=[];this.form.get("nodes").controls.forEach((o,s)=>{o.get("selected")?.value&&(this.nodesToEdit[s].operationError="",this.nodesToEdit[s].processing=!0,e.push(this.nodesToEdit[s]))}),this.nodesToEdit=e;const i=this.form.get("address").value;this.form.get("address").disable(),this.currentlyProcessed=0,this.operationSubscriptions=[],this.nodesToEdit.forEach((o,s)=>{let a=this.nodeService.setRewardsAddress(o.key,i);i||(a=this.nodeService.deleteRewardsAddress(o.key)),this.operationSubscriptions.push($e(0).pipe(Ti(100),Ye(()=>a)).subscribe(l=>{this.nodesToEdit[s].processing=!1,this.currentlyProcessed+=1,this.currentlyProcessed===this.nodesToEdit.length&&(this.processingFinished=!0,this.button.reset())},l=>{this.nodesToEdit[s].processing=!1,this.nodesToEdit[s].operationError=l.translatableErrorMsg?l.translatableErrorMsg:l.originalServerErrorMsg,this.currentlyProcessed+=1,this.currentlyProcessed===this.nodesToEdit.length&&(this.processingFinished=!0,this.button.reset())}))})}ngOnDestroy(){this.closeoperationSubscriptions()}closeoperationSubscriptions(){this.operationSubscriptions&&this.operationSubscriptions.forEach(e=>e.unsubscribe())}closeModal(){this.dialogRef.close()}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(ua),Y(xr),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-bulk-reward-address-changer"]],viewQuery:function(e,i){if(1&e&&_t(hK,5),2&e){let o;rt(o=ot())&&(i.button=o.first)}},decls:30,vars:28,consts:[[3,"headline","dialog","disableDismiss"],[3,"formGroup"],[1,"text-container"],["href","https://github.com/skycoin/skywire/blob/master/mainnet_rules.md","target","_blank","rel","noreferrer nofollow noopener"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","address","maxlength","40","matInput","",3,"ngClass"],["formArrayName","nodes",1,"list-container"],["class","list-element",3,"ngClass",4,"ngFor","ngForOf"],[1,"buttons"],["type","mat-raised-button","color","primary",3,"disabled","action"],["button",""],[4,"ngIf"],[1,"list-element",3,"ngClass"],[3,"formGroupName",4,"ngIf"],[3,"formGroupName"],["color","primary","formControlName","selected"],[1,"contents"],[1,"address","contents"],[1,"address-label"],["class","blinking",4,"ngIf"],["class","red-text",4,"ngIf"],[1,"blinking"],[1,"red-text"],[1,"left-area"],[1,"right-area","contents"],[1,"address"],["class","green-text",4,"ngIf"],[1,"green-text"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"div",2)(4,"span"),I(5),R(6,"translate"),C(),D(7,"a",3),I(8),R(9,"translate"),C()(),D(10,"mat-form-field")(11,"div",4)(12,"label",5),I(13),R(14,"translate"),C(),xe(15,"input",6),C(),D(16,"mat-error")(17,"span"),I(18),R(19,"translate"),C()()(),D(20,"div",2),I(21),R(22,"translate"),C(),D(23,"div",7),V(24,CK,3,5,"div",8),C()(),D(25,"div",9)(26,"app-button",10,11),ye("action",function(){return i.processingStarted?i.closeModal():i.checkBeforeProcessing()}),V(28,xK,3,3,"ng-container",12),V(29,kK,3,3,"ng-container",12),C()()()),2&e&&(w("headline",H(1,14,"bulk-rewards.title"))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(2),w("formGroup",i.form),c(3),ce("",H(6,16,"bulk-rewards.info")," "),c(3),ce(" ",H(9,18,"bulk-rewards.more-info-link")," "),c(5),se(H(14,20,"rewards-address-config.address")),c(2),w("ngClass",He(26,SK,i.processingStarted)),c(3),se(H(19,22,"rewards-address-config.address-error")),c(3),ce(" ",H(22,24,"bulk-rewards.select-visors")," "),c(3),w("ngForOf",i.nodesToEdit),c(2),w("disabled",!i.formValid()),c(2),w("ngIf",!i.processingStarted),c(1),w("ngIf",i.processingStarted))},dependencies:[Nn,gi,Ft,zi,Bi,Vi,ji,Cr,ii,Ei,Jh,Qh,ar,sl,kr,fa,Ui,ei,wt],styles:[".text-container[_ngcontent-%COMP%]{word-break:break-word}mat-form-field[_ngcontent-%COMP%]{margin-top:10px}.list-container[_ngcontent-%COMP%]{font-size:14px;margin:10px;color:#215f9e;word-break:break-word}.list-container[_ngcontent-%COMP%] .element-margin[_ngcontent-%COMP%]{margin:15px 0}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%]{display:flex}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .left-area[_ngcontent-%COMP%]{width:12px;flex-grow:0;flex-shrink:0}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .right-area[_ngcontent-%COMP%]{flex-grow:1}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .contents[_ngcontent-%COMP%]{white-space:normal;line-height:1.2}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .address[_ngcontent-%COMP%]{font-size:.7rem;color:#777}.list-container[_ngcontent-%COMP%] .list-element[_ngcontent-%COMP%] .address[_ngcontent-%COMP%] .address-label[_ngcontent-%COMP%]{opacity:.7}.buttons[_ngcontent-%COMP%]{margin-top:15px;text-align:right}.buttons[_ngcontent-%COMP%] app-button[_ngcontent-%COMP%]{margin-left:5px}"]}),t})();const TK=["mat-menu-item",""];function LK(t,n){1&t&&(wl(),D(0,"svg",3),xe(1,"polygon",4),C())}const EK=[[["mat-icon"],["","matMenuItemIcon",""]],"*"],IK=["mat-icon, [matMenuItemIcon]","*"];function PK(t,n){if(1&t){const e=et();D(0,"div",0),ye("keydown",function(o){return Pe(e),Oe(z()._handleKeydown(o))})("click",function(){return Pe(e),Oe(z().closed.emit("click"))})("@transformMenu.start",function(o){return Pe(e),Oe(z()._onAnimationStart(o))})("@transformMenu.done",function(o){return Pe(e),Oe(z()._onAnimationDone(o))}),D(1,"div",1),Sn(2),C()()}if(2&t){const e=z();w("id",e.panelId)("ngClass",e._classList)("@transformMenu",e._panelAnimationState),Xt("aria-label",e.ariaLabel||null)("aria-labelledby",e.ariaLabelledby||null)("aria-describedby",e.ariaDescribedby||null)}}const OK=["*"],Y1=new Re("MAT_MENU_PANEL"),AK=Rh(Ed(class{}));let pa=(()=>{class t extends AK{constructor(e,i,o,s,a){super(),this._elementRef=e,this._document=i,this._focusMonitor=o,this._parentMenu=s,this._changeDetectorRef=a,this.role="menuitem",this._hovered=new J,this._focused=new J,this._highlighted=!1,this._triggersSubmenu=!1,s?.addItem?.(this)}focus(e,i){this._focusMonitor&&e?this._focusMonitor.focusVia(this._getHostElement(),e,i):this._getHostElement().focus(i),this._focused.next(this)}ngAfterViewInit(){this._focusMonitor&&this._focusMonitor.monitor(this._elementRef,!1)}ngOnDestroy(){this._focusMonitor&&this._focusMonitor.stopMonitoring(this._elementRef),this._parentMenu&&this._parentMenu.removeItem&&this._parentMenu.removeItem(this),this._hovered.complete(),this._focused.complete()}_getTabIndex(){return this.disabled?"-1":"0"}_getHostElement(){return this._elementRef.nativeElement}_checkDisabled(e){this.disabled&&(e.preventDefault(),e.stopPropagation())}_handleMouseEnter(){this._hovered.next(this)}getLabel(){const e=this._elementRef.nativeElement.cloneNode(!0),i=e.querySelectorAll("mat-icon, .material-icons");for(let o=0;o enter",Ur("120ms cubic-bezier(0, 0, 0.2, 1)",Qn({opacity:1,transform:"scale(1)"}))),Pr("* => void",Ur("100ms 25ms linear",Qn({opacity:0})))]),fadeInItems:ia("fadeInItems",[yo("showing",Qn({opacity:1})),Pr("void => *",[Qn({opacity:0}),Ur("400ms 100ms cubic-bezier(0.55, 0, 0.55, 0.2)")])])};let RK=0;const GI=new Re("mat-menu-default-options",{providedIn:"root",factory:function NK(){return{overlapTrigger:!1,xPosition:"after",yPosition:"below",backdropClass:"cdk-overlay-transparent-backdrop"}}});let nf=(()=>{class t{get xPosition(){return this._xPosition}set xPosition(e){this._xPosition=e,this.setPositionClasses()}get yPosition(){return this._yPosition}set yPosition(e){this._yPosition=e,this.setPositionClasses()}get overlapTrigger(){return this._overlapTrigger}set overlapTrigger(e){this._overlapTrigger=_n(e)}get hasBackdrop(){return this._hasBackdrop}set hasBackdrop(e){this._hasBackdrop=_n(e)}set panelClass(e){const i=this._previousPanelClass;i&&i.length&&i.split(" ").forEach(o=>{this._classList[o]=!1}),this._previousPanelClass=e,e&&e.length&&(e.split(" ").forEach(o=>{this._classList[o]=!0}),this._elementRef.nativeElement.className="")}get classList(){return this.panelClass}set classList(e){this.panelClass=e}constructor(e,i,o,s){this._elementRef=e,this._ngZone=i,this._changeDetectorRef=s,this._directDescendantItems=new Al,this._classList={},this._panelAnimationState="void",this._animationDone=new J,this.closed=new ht,this.close=this.closed,this.panelId="mat-menu-panel-"+RK++,this.overlayPanelClass=o.overlayPanelClass||"",this._xPosition=o.xPosition,this._yPosition=o.yPosition,this.backdropClass=o.backdropClass,this._overlapTrigger=o.overlapTrigger,this._hasBackdrop=o.hasBackdrop}ngOnInit(){this.setPositionClasses()}ngAfterContentInit(){this._updateDirectDescendants(),this._keyManager=new _L(this._directDescendantItems).withWrap().withTypeAhead().withHomeAndEnd(),this._keyManager.tabOut.subscribe(()=>this.closed.emit("tab")),this._directDescendantItems.changes.pipe(Go(this._directDescendantItems),gr(e=>bt(...e.map(i=>i._focused)))).subscribe(e=>this._keyManager.updateActiveItem(e)),this._directDescendantItems.changes.subscribe(e=>{const i=this._keyManager;if("enter"===this._panelAnimationState&&i.activeItem?._hasFocus()){const o=e.toArray(),s=Math.max(0,Math.min(o.length-1,i.activeItemIndex||0));o[s]&&!o[s].disabled?i.setActiveItem(s):i.setNextItemActive()}})}ngOnDestroy(){this._keyManager?.destroy(),this._directDescendantItems.destroy(),this.closed.complete(),this._firstItemFocusSubscription?.unsubscribe()}_hovered(){return this._directDescendantItems.changes.pipe(Go(this._directDescendantItems),gr(i=>bt(...i.map(o=>o._hovered))))}addItem(e){}removeItem(e){}_handleKeydown(e){const i=e.keyCode,o=this._keyManager;switch(i){case 27:Fs(e)||(e.preventDefault(),this.closed.emit("keydown"));break;case 37:this.parentMenu&&"ltr"===this.direction&&this.closed.emit("keydown");break;case 39:this.parentMenu&&"rtl"===this.direction&&this.closed.emit("keydown");break;default:return(38===i||40===i)&&o.setFocusOrigin("keyboard"),void o.onKeydown(e)}e.stopPropagation()}focusFirstItem(e="program"){this._firstItemFocusSubscription?.unsubscribe(),this._firstItemFocusSubscription=this._ngZone.onStable.pipe(Kn(1)).subscribe(()=>{let i=null;if(this._directDescendantItems.length&&(i=this._directDescendantItems.first._getHostElement().closest('[role="menu"]')),!i||!i.contains(document.activeElement)){const o=this._keyManager;o.setFocusOrigin(e).setFirstItemActive(),!o.activeItem&&i&&i.focus()}})}resetActiveItem(){this._keyManager.setActiveItem(-1)}setElevation(e){const i=Math.min(this._baseElevation+e,24),o=`${this._elevationPrefix}${i}`,s=Object.keys(this._classList).find(a=>a.startsWith(this._elevationPrefix));(!s||s===this._previousElevation)&&(this._previousElevation&&(this._classList[this._previousElevation]=!1),this._classList[o]=!0,this._previousElevation=o)}setPositionClasses(e=this.xPosition,i=this.yPosition){const o=this._classList;o["mat-menu-before"]="before"===e,o["mat-menu-after"]="after"===e,o["mat-menu-above"]="above"===i,o["mat-menu-below"]="below"===i,this._changeDetectorRef?.markForCheck()}_startAnimation(){this._panelAnimationState="enter"}_resetAnimation(){this._panelAnimationState="void"}_onAnimationDone(e){this._animationDone.next(e),this._isAnimating=!1}_onAnimationStart(e){this._isAnimating=!0,"enter"===e.toState&&0===this._keyManager.activeItemIndex&&(e.element.scrollTop=0)}_updateDirectDescendants(){this._allItems.changes.pipe(Go(this._allItems)).subscribe(e=>{this._directDescendantItems.reset(e.filter(i=>i._parentMenu===this)),this._directDescendantItems.notifyOnChanges()})}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ft),Y(GI),Y(pi))},t.\u0275dir=Ke({type:t,contentQueries:function(e,i,o){if(1&e&&(or(o,FK,5),or(o,pa,5),or(o,pa,4)),2&e){let s;rt(s=ot())&&(i.lazyContent=s.first),rt(s=ot())&&(i._allItems=s),rt(s=ot())&&(i.items=s)}},viewQuery:function(e,i){if(1&e&&_t(mr,5),2&e){let o;rt(o=ot())&&(i.templateRef=o.first)}},inputs:{backdropClass:"backdropClass",ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],ariaDescribedby:["aria-describedby","ariaDescribedby"],xPosition:"xPosition",yPosition:"yPosition",overlapTrigger:"overlapTrigger",hasBackdrop:"hasBackdrop",panelClass:["class","panelClass"],classList:"classList"},outputs:{closed:"closed",close:"close"}}),t})(),Yd=(()=>{class t extends nf{constructor(e,i,o,s){super(e,i,o,s),this._elevationPrefix="mat-elevation-z",this._baseElevation=8}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(ft),Y(GI),Y(pi))},t.\u0275cmp=Ze({type:t,selectors:[["mat-menu"]],hostAttrs:["ngSkipHydration","true"],hostVars:3,hostBindings:function(e,i){2&e&&Xt("aria-label",null)("aria-labelledby",null)("aria-describedby",null)},exportAs:["matMenu"],features:[un([{provide:Y1,useExisting:t}]),nt],ngContentSelectors:OK,decls:1,vars:0,consts:[["tabindex","-1","role","menu",1,"mat-mdc-menu-panel","mdc-menu-surface","mdc-menu-surface--open","mat-mdc-elevation-specific",3,"id","ngClass","keydown","click"],[1,"mat-mdc-menu-content","mdc-list"]],template:function(e,i){1&e&&(Ir(),V(0,PK,3,6,"ng-template"))},dependencies:[Nn],styles:['.mdc-menu-surface{display:none;position:absolute;box-sizing:border-box;margin:0;padding:0;transform:scale(1);transform-origin:top left;opacity:0;overflow:auto;will-change:transform,opacity;transform-origin-left:top left;transform-origin-right:top right}.mdc-menu-surface:focus{outline:none}.mdc-menu-surface--animating-open{display:inline-block;transform:scale(0.8);opacity:0}.mdc-menu-surface--open{display:inline-block;transform:scale(1);opacity:1}.mdc-menu-surface--animating-closed{display:inline-block;opacity:0}[dir=rtl] .mdc-menu-surface,.mdc-menu-surface[dir=rtl]{transform-origin-left:top right;transform-origin-right:top left}.mdc-menu-surface--anchor{position:relative;overflow:visible}.mdc-menu-surface--fixed{position:fixed}.mdc-menu-surface--fullwidth{width:100%}.mdc-menu-surface{max-width:var(--mdc-menu-max-width, calc(100vw - 32px));max-height:var(--mdc-menu-max-height, calc(100vh - 32px));z-index:8;border-radius:var(--mdc-shape-medium, 4px)}mat-menu{display:none}.mat-mdc-menu-content{margin:0;padding:8px 0;list-style-type:none}.mat-mdc-menu-content:focus{outline:none}.mat-mdc-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-mdc-menu-panel{outline:solid 1px}.mat-mdc-menu-panel.mat-mdc-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;position:relative}.mat-mdc-menu-item{display:flex;position:relative;align-items:center;justify-content:flex-start;overflow:hidden;padding:0;padding-left:16px;padding-right:16px;-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:pointer;width:100%;text-align:left;box-sizing:border-box;color:inherit;font-size:inherit;background:none;text-decoration:none;margin:0;min-height:48px}.mat-mdc-menu-item:focus{outline:none}[dir=rtl] .mat-mdc-menu-item,.mat-mdc-menu-item[dir=rtl]{padding-left:16px;padding-right:16px}.mat-mdc-menu-item::-moz-focus-inner{border:0}.mat-mdc-menu-item.mdc-list-item{align-items:center}.mat-mdc-menu-item[disabled]{cursor:default;opacity:.38}.mat-mdc-menu-item[disabled]::after{display:block;position:absolute;content:"";top:0;left:0;bottom:0;right:0}.mat-mdc-menu-item .mat-icon{margin-right:16px}[dir=rtl] .mat-mdc-menu-item{text-align:right}[dir=rtl] .mat-mdc-menu-item .mat-icon{margin-right:0;margin-left:16px}.mat-mdc-menu-item .mdc-list-item__primary-text{white-space:normal}.mat-mdc-menu-item.mat-mdc-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-mdc-menu-item.mat-mdc-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.cdk-high-contrast-active .mat-mdc-menu-item{margin-top:1px}.mat-mdc-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-mdc-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-mdc-menu-submenu-icon{fill:CanvasText}.mat-mdc-menu-item .mat-mdc-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}'],encapsulation:2,data:{animation:[Ig.transformMenu,Ig.fadeInItems]},changeDetection:0}),t})();const qI=new Re("mat-menu-scroll-strategy"),HK={provide:qI,deps:[io],useFactory:function YK(t){return()=>t.scrollStrategies.reposition()}},KI=Za({passive:!0});let BK=(()=>{class t{get _deprecatedMatMenuTriggerFor(){return this.menu}set _deprecatedMatMenuTriggerFor(e){this.menu=e}get menu(){return this._menu}set menu(e){e!==this._menu&&(this._menu=e,this._menuCloseSubscription.unsubscribe(),e&&(this._menuCloseSubscription=e.close.subscribe(i=>{this._destroyMenu(i),("click"===i||"tab"===i)&&this._parentMaterialMenu&&this._parentMaterialMenu.closed.emit(i)})),this._menuItemInstance?._setTriggersSubmenu(this.triggersSubmenu()))}constructor(e,i,o,s,a,l,d,_,E){this._overlay=e,this._element=i,this._viewContainerRef=o,this._menuItemInstance=l,this._dir=d,this._focusMonitor=_,this._ngZone=E,this._overlayRef=null,this._menuOpen=!1,this._closingActionsSubscription=T.EMPTY,this._hoverSubscription=T.EMPTY,this._menuCloseSubscription=T.EMPTY,this._changeDetectorRef=Qe(pi),this._handleTouchStart=F=>{q0(F)||(this._openedBy="touch")},this._openedBy=void 0,this.restoreFocus=!0,this.menuOpened=new ht,this.onMenuOpen=this.menuOpened,this.menuClosed=new ht,this.onMenuClose=this.menuClosed,this._scrollStrategy=s,this._parentMaterialMenu=a instanceof nf?a:void 0,i.nativeElement.addEventListener("touchstart",this._handleTouchStart,KI)}ngAfterContentInit(){this._handleHover()}ngOnDestroy(){this._overlayRef&&(this._overlayRef.dispose(),this._overlayRef=null),this._element.nativeElement.removeEventListener("touchstart",this._handleTouchStart,KI),this._menuCloseSubscription.unsubscribe(),this._closingActionsSubscription.unsubscribe(),this._hoverSubscription.unsubscribe()}get menuOpen(){return this._menuOpen}get dir(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}triggersSubmenu(){return!!(this._menuItemInstance&&this._parentMaterialMenu&&this.menu)}toggleMenu(){return this._menuOpen?this.closeMenu():this.openMenu()}openMenu(){const e=this.menu;if(this._menuOpen||!e)return;const i=this._createOverlay(e),o=i.getConfig(),s=o.positionStrategy;this._setPosition(e,s),o.hasBackdrop=null==e.hasBackdrop?!this.triggersSubmenu():e.hasBackdrop,i.attach(this._getPortal(e)),e.lazyContent&&e.lazyContent.attach(this.menuData),this._closingActionsSubscription=this._menuClosingActions().subscribe(()=>this.closeMenu()),this._initMenu(e),e instanceof nf&&(e._startAnimation(),e._directDescendantItems.changes.pipe(Hn(e.close)).subscribe(()=>{s.withLockedPosition(!1).reapplyLastPosition(),s.withLockedPosition(!0)}))}closeMenu(){this.menu?.close.emit()}focus(e,i){this._focusMonitor&&e?this._focusMonitor.focusVia(this._element,e,i):this._element.nativeElement.focus(i)}updatePosition(){this._overlayRef?.updatePosition()}_destroyMenu(e){if(!this._overlayRef||!this.menuOpen)return;const i=this.menu;this._closingActionsSubscription.unsubscribe(),this._overlayRef.detach(),this.restoreFocus&&("keydown"===e||!this._openedBy||!this.triggersSubmenu())&&this.focus(this._openedBy),this._openedBy=void 0,i instanceof nf?(i._resetAnimation(),i.lazyContent?i._animationDone.pipe(_i(o=>"void"===o.toState),Kn(1),Hn(i.lazyContent._attached)).subscribe({next:()=>i.lazyContent.detach(),complete:()=>this._setIsMenuOpen(!1)}):this._setIsMenuOpen(!1)):(this._setIsMenuOpen(!1),i?.lazyContent?.detach())}_initMenu(e){e.parentMenu=this.triggersSubmenu()?this._parentMaterialMenu:void 0,e.direction=this.dir,this._setMenuElevation(e),e.focusFirstItem(this._openedBy||"program"),this._setIsMenuOpen(!0)}_setMenuElevation(e){if(e.setElevation){let i=0,o=e.parentMenu;for(;o;)i++,o=o.parentMenu;e.setElevation(i)}}_setIsMenuOpen(e){e!==this._menuOpen&&(this._menuOpen=e,this._menuOpen?this.menuOpened.emit():this.menuClosed.emit(),this.triggersSubmenu()&&this._menuItemInstance._setHighlighted(e),this._changeDetectorRef.markForCheck())}_createOverlay(e){if(!this._overlayRef){const i=this._getOverlayConfig(e);this._subscribeToPositions(e,i.positionStrategy),this._overlayRef=this._overlay.create(i),this._overlayRef.keydownEvents().subscribe()}return this._overlayRef}_getOverlayConfig(e){return new Oh({positionStrategy:this._overlay.position().flexibleConnectedTo(this._element).withLockedPosition().withGrowAfterOpen().withTransformOriginOn(".mat-menu-panel, .mat-mdc-menu-panel"),backdropClass:e.backdropClass||"cdk-overlay-transparent-backdrop",panelClass:e.overlayPanelClass,scrollStrategy:this._scrollStrategy(),direction:this._dir})}_subscribeToPositions(e,i){e.setPositionClasses&&i.positionChanges.subscribe(o=>{const s="start"===o.connectionPair.overlayX?"after":"before",a="top"===o.connectionPair.overlayY?"below":"above";this._ngZone?this._ngZone.run(()=>e.setPositionClasses(s,a)):e.setPositionClasses(s,a)})}_setPosition(e,i){let[o,s]="before"===e.xPosition?["end","start"]:["start","end"],[a,l]="above"===e.yPosition?["bottom","top"]:["top","bottom"],[d,_]=[a,l],[E,F]=[o,s],G=0;if(this.triggersSubmenu()){if(F=o="before"===e.xPosition?"start":"end",s=E="end"===o?"start":"end",this._parentMaterialMenu){if(null==this._parentInnerPadding){const ie=this._parentMaterialMenu.items.first;this._parentInnerPadding=ie?ie._getHostElement().offsetTop:0}G="bottom"===a?this._parentInnerPadding:-this._parentInnerPadding}}else e.overlapTrigger||(d="top"===a?"bottom":"top",_="top"===l?"bottom":"top");i.withPositions([{originX:o,originY:d,overlayX:E,overlayY:a,offsetY:G},{originX:s,originY:d,overlayX:F,overlayY:a,offsetY:G},{originX:o,originY:_,overlayX:E,overlayY:l,offsetY:-G},{originX:s,originY:_,overlayX:F,overlayY:l,offsetY:-G}])}_menuClosingActions(){const e=this._overlayRef.backdropClick(),i=this._overlayRef.detachments();return bt(e,this._parentMaterialMenu?this._parentMaterialMenu.closed:$e(),this._parentMaterialMenu?this._parentMaterialMenu._hovered().pipe(_i(a=>a!==this._menuItemInstance),_i(()=>this._menuOpen)):$e(),i)}_handleMousedown(e){G0(e)||(this._openedBy=0===e.button?"mouse":void 0,this.triggersSubmenu()&&e.preventDefault())}_handleKeydown(e){const i=e.keyCode;(13===i||32===i)&&(this._openedBy="keyboard"),this.triggersSubmenu()&&(39===i&&"ltr"===this.dir||37===i&&"rtl"===this.dir)&&(this._openedBy="keyboard",this.openMenu())}_handleClick(e){this.triggersSubmenu()?(e.stopPropagation(),this.openMenu()):this.toggleMenu()}_handleHover(){!this.triggersSubmenu()||!this._parentMaterialMenu||(this._hoverSubscription=this._parentMaterialMenu._hovered().pipe(_i(e=>e===this._menuItemInstance&&!e.disabled),Ti(0,E0)).subscribe(()=>{this._openedBy="mouse",this.menu instanceof nf&&this.menu._isAnimating?this.menu._animationDone.pipe(Kn(1),Ti(0,E0),Hn(this._parentMaterialMenu._hovered())).subscribe(()=>this.openMenu()):this.openMenu()}))}_getPortal(e){return(!this._portal||this._portal.templateRef!==e.templateRef)&&(this._portal=new Gl(e.templateRef,this._viewContainerRef)),this._portal}}return t.\u0275fac=function(e){return new(e||t)(Y(io),Y(vt),Y(rr),Y(qI),Y(Y1,8),Y(pa,10),Y(Do,8),Y(Qa),Y(ft))},t.\u0275dir=Ke({type:t,hostVars:3,hostBindings:function(e,i){1&e&&ye("click",function(s){return i._handleClick(s)})("mousedown",function(s){return i._handleMousedown(s)})("keydown",function(s){return i._handleKeydown(s)}),2&e&&Xt("aria-haspopup",i.menu?"menu":null)("aria-expanded",i.menuOpen)("aria-controls",i.menuOpen?i.menu.panelId:null)},inputs:{_deprecatedMatMenuTriggerFor:["mat-menu-trigger-for","_deprecatedMatMenuTriggerFor"],menu:["matMenuTriggerFor","menu"],menuData:["matMenuTriggerData","menuData"],restoreFocus:["matMenuTriggerRestoreFocus","restoreFocus"]},outputs:{menuOpened:"menuOpened",onMenuOpen:"onMenuOpen",menuClosed:"menuClosed",onMenuClose:"onMenuClose"}}),t})(),Hd=(()=>{class t extends BK{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275dir=Ke({type:t,selectors:[["","mat-menu-trigger-for",""],["","matMenuTriggerFor",""]],hostAttrs:[1,"mat-mdc-menu-trigger"],exportAs:["matMenuTrigger"],features:[nt]}),t})(),VK=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({providers:[HK],imports:[ta,Yh,Wn,Td,Lh,Wn]}),t})();const ZI=function(){return["1"]};function jK(t,n){if(1&t&&(D(0,"a",10)(1,"mat-icon",11),I(2,"chevron_left"),C(),I(3),R(4,"translate"),C()),2&t){const e=z();w("routerLink",e.linkParts.concat(qn(6,ZI)))("queryParams",e.queryParams),c(1),w("inline",!0),c(2),ce(" ",H(4,4,"paginator.first")," ")}}function zK(t,n){if(1&t&&(D(0,"a",12)(1,"mat-icon",11),I(2,"chevron_left"),C(),D(3,"span",13),I(4),R(5,"translate"),C()()),2&t){const e=z();w("routerLink",e.linkParts.concat(qn(6,ZI)))("queryParams",e.queryParams),c(1),w("inline",!0),c(3),se(H(5,4,"paginator.first"))}}const al=function(t){return[t]};function UK(t,n){if(1&t&&(D(0,"a",10)(1,"div")(2,"mat-icon",11),I(3,"chevron_left"),C()()()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(3,al,(e.currentPage-1).toString())))("queryParams",e.queryParams),c(2),w("inline",!0)}}function WK(t,n){if(1&t&&(D(0,"a",10),I(1),C()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(3,al,(e.currentPage-2).toString())))("queryParams",e.queryParams),c(1),se(e.currentPage-2)}}function $K(t,n){if(1&t&&(D(0,"a",14),I(1),C()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(3,al,(e.currentPage-1).toString())))("queryParams",e.queryParams),c(1),se(e.currentPage-1)}}function GK(t,n){if(1&t&&(D(0,"a",14),I(1),C()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(3,al,(e.currentPage+1).toString())))("queryParams",e.queryParams),c(1),se(e.currentPage+1)}}function qK(t,n){if(1&t&&(D(0,"a",10),I(1),C()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(3,al,(e.currentPage+2).toString())))("queryParams",e.queryParams),c(1),se(e.currentPage+2)}}function KK(t,n){if(1&t&&(D(0,"a",10)(1,"div")(2,"mat-icon",11),I(3,"chevron_right"),C()()()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(3,al,(e.currentPage+1).toString())))("queryParams",e.queryParams),c(2),w("inline",!0)}}function ZK(t,n){if(1&t&&(D(0,"a",10),I(1),R(2,"translate"),D(3,"mat-icon",11),I(4,"chevron_right"),C()()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(6,al,e.numberOfPages.toString())))("queryParams",e.queryParams),c(1),ce(" ",H(2,4,"paginator.last")," "),c(2),w("inline",!0)}}function XK(t,n){if(1&t&&(D(0,"a",12)(1,"mat-icon",11),I(2,"chevron_right"),C(),D(3,"span",13),I(4),R(5,"translate"),C()()),2&t){const e=z();w("routerLink",e.linkParts.concat(He(6,al,e.numberOfPages.toString())))("queryParams",e.queryParams),c(1),w("inline",!0),c(3),se(H(5,4,"paginator.last"))}}const XI=function(t){return{number:t}};function JK(t,n){if(1&t&&(D(0,"div",15),I(1),R(2,"translate"),C()),2&t){const e=z();c(1),se(kt(2,1,"paginator.total",He(4,XI,e.numberOfPages)))}}function QK(t,n){if(1&t&&(D(0,"div",16),I(1),R(2,"translate"),C()),2&t){const e=z();c(1),se(kt(2,1,"paginator.total",He(4,XI,e.numberOfPages)))}}let Bd=(()=>{class t{constructor(e,i){this.dialog=e,this.router=i,this.linkParts=[""],this.queryParams={}}openSelectionDialog(){const e=[];for(let i=1;i<=this.numberOfPages;i++)e.push({label:i.toString()});qr.openDialog(this.dialog,e,"paginator.select-page-title").afterClosed().subscribe(i=>{i&&this.router.navigate(this.linkParts.concat([i.toString()]),{queryParams:this.queryParams})})}}return t.\u0275fac=function(e){return new(e||t)(Y(In),Y(hn))},t.\u0275cmp=Ze({type:t,selectors:[["app-paginator"]],inputs:{currentPage:"currentPage",numberOfPages:"numberOfPages",linkParts:"linkParts",queryParams:"queryParams"},decls:21,vars:13,consts:[[1,"main-container"],[1,"d-inline-block","small-rounded-elevated-box","mt-3"],[1,"d-flex"],[1,"responsive-height","d-md-none"],["class","d-none d-md-flex",3,"routerLink","queryParams",4,"ngIf"],["class","d-flex d-md-none flex-column",3,"routerLink","queryParams",4,"ngIf"],[3,"routerLink","queryParams",4,"ngIf"],[1,"selected",3,"click"],["class","d-none d-md-block total-pages",4,"ngIf"],["class","d-block d-md-none total-pages",4,"ngIf"],[1,"d-none","d-md-flex",3,"routerLink","queryParams"],[3,"inline"],[1,"d-flex","d-md-none","flex-column",3,"routerLink","queryParams"],[1,"label"],[3,"routerLink","queryParams"],[1,"d-none","d-md-block","total-pages"],[1,"d-block","d-md-none","total-pages"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3),I(4,"\xa0"),xe(5,"br"),I(6,"\xa0"),C(),V(7,jK,5,7,"a",4),V(8,zK,6,7,"a",5),V(9,UK,4,5,"a",4),V(10,WK,2,5,"a",4),V(11,$K,2,5,"a",6),D(12,"a",7),ye("click",function(){return i.openSelectionDialog()}),I(13),C(),V(14,GK,2,5,"a",6),V(15,qK,2,5,"a",4),V(16,KK,4,5,"a",4),V(17,ZK,5,8,"a",4),V(18,XK,6,8,"a",5),C()(),V(19,JK,3,6,"div",8),V(20,QK,3,6,"div",9),C()),2&e&&(c(7),w("ngIf",i.currentPage>3),c(1),w("ngIf",i.currentPage>2),c(1),w("ngIf",i.currentPage>1),c(1),w("ngIf",i.currentPage>2),c(1),w("ngIf",i.currentPage>1),c(2),se(i.currentPage),c(1),w("ngIf",i.currentPage3),c(1),w("ngIf",i.numberOfPages>2))},dependencies:[Ft,qa,Cn,wt],styles:[".main-container[_ngcontent-%COMP%]{text-align:right}.main-container[_ngcontent-%COMP%] .responsive-height[_ngcontent-%COMP%]{padding:10px 0;width:0px}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{padding:10px;border-right:rgba(255,255,255,.15) solid 1px;border-left:rgba(255,255,255,.15) solid 1px;min-width:40px;text-align:center;color:#f8f9f980;text-decoration:none;display:flex;align-items:center;justify-content:center}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background:rgba(0,0,0,.2)}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:2px}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.7rem}.main-container[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]{color:#f8f9f9;background:rgba(0,0,0,.36);padding:10px 20px;cursor:pointer}.main-container[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]:hover{background:rgba(0,0,0,.6)}.main-container[_ngcontent-%COMP%] .total-pages[_ngcontent-%COMP%]{font-size:.6rem;margin-top:-3px;margin-right:4px}"]}),t})();function rf(t){return n=>n.lift(new eZ(t,n))}class eZ{constructor(n,e){this.notifier=n,this.source=e}call(n,e){return e.subscribe(new tZ(n,this.notifier,this.source))}}class tZ extends Me{constructor(n,e,i){super(n),this.notifier=e,this.source=i}error(n){if(!this.isStopped){let e=this.errors,i=this.retries,o=this.retriesSubscription;if(i)this.errors=void 0,this.retriesSubscription=void 0;else{e=new J;try{const{notifier:s}=this;i=s(e)}catch(s){return super.error(s)}o=Ie(i,new be(this))}this._unsubscribeAndRecycle(),this.errors=e,this.retries=i,this.retriesSubscription=o,e.next(n)}}_unsubscribe(){const{errors:n,retriesSubscription:e}=this;n&&(n.unsubscribe(),this.errors=void 0),e&&(e.unsubscribe(),this.retriesSubscription=void 0),this.retries=void 0}notifyNext(){const{_unsubscribe:n}=this;this._unsubscribe=null,this._unsubscribeAndRecycle(),this._unsubscribe=n,this.source.subscribe(this)}}let ll=(()=>{class t{constructor(e){this.apiService=e}changeAppState(e,i,o){return this.apiService.put(`visors/${e}/apps/${encodeURIComponent(i)}`,{status:o?1:0})}changeAppAutostart(e,i,o){return this.changeAppSettings(e,i,{autostart:o})}changeAppSettings(e,i,o){return this.apiService.put(`visors/${e}/apps/${encodeURIComponent(i)}`,o)}getLogMessages(e,i,o){const a=KS(-1!==o?Date.now()-864e5*o:0,"yyyy-MM-ddTHH:mm:ssZZZZZ","en-US");return this.apiService.get(this.getLogMessagesUrl(e,i)+`?since=${a}`).pipe(ke(l=>l.logs))}getLogMessagesUrl(e,i){return`visors/${e}/apps/${encodeURIComponent(i)}/logs`}}return t.\u0275fac=function(e){return new(e||t)(we(il))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var Pn=(()=>((Pn=Pn||{}).None="None",Pn.Favorite="Favorite",Pn.Blocked="Blocked",Pn))(),Sr=(()=>((Sr=Sr||{}).BitsSpeedAndBytesVolume="BitsSpeedAndBytesVolume",Sr.OnlyBytes="OnlyBytes",Sr.OnlyBits="OnlyBits",Sr))();let rc=(()=>{class t{constructor(e,i){this.router=e,this.storageService=i,this.maxHistoryElements=30,this.savedServersStorageKey="VpnServers",this.checkIpSettingStorageKey="VpnGetIp",this.dataUnitsSettingStorageKey="VpnDataUnits",this.serversMap=new Map,this.savedDataVersion=0,this.currentServerSubject=new ko(1),this.historySubject=new ko(1),this.favoritesSubject=new ko(1),this.blockedSubject=new ko(1)}initialize(){this.migrateDataToHvStorage(),this.serversMap=new Map;const e=this.storageService.getDataForHv(this.savedServersStorageKey);if(e){const i=JSON.parse(e);i.serverList.forEach(o=>{this.serversMap.set(o.pk,o)}),this.savedDataVersion=i.version,i.selectedServerPk&&this.updateCurrentServerPk(i.selectedServerPk)}this.launchListEvents()}migrateDataToHvStorage(){const e=localStorage.getItem(this.savedServersStorageKey);e&&(this.storageService.setDataForHv(this.savedServersStorageKey,e),localStorage.removeItem(this.savedServersStorageKey));const i=localStorage.getItem(this.checkIpSettingStorageKey);i&&(this.storageService.setDataForHv(this.checkIpSettingStorageKey,i),localStorage.removeItem(this.checkIpSettingStorageKey));const o=localStorage.getItem(this.dataUnitsSettingStorageKey);o&&(this.storageService.setDataForHv(this.dataUnitsSettingStorageKey,o),localStorage.removeItem(this.dataUnitsSettingStorageKey))}get currentServer(){return this.serversMap.get(this.currentServerPk)}get currentServerObservable(){return this.currentServerSubject.asObservable()}get history(){return this.historySubject.asObservable()}get favorites(){return this.favoritesSubject.asObservable()}get blocked(){return this.blockedSubject.asObservable()}getSavedVersion(e,i){return i&&this.checkIfDataWasChanged(),this.serversMap.get(e)}getCheckIpSetting(){const e=this.storageService.getDataForHv(this.checkIpSettingStorageKey);return null==e||"false"!==e}setCheckIpSetting(e){this.storageService.setDataForHv(this.checkIpSettingStorageKey,e?"true":"false")}getDataUnitsSetting(){return this.storageService.getDataForHv(this.dataUnitsSettingStorageKey)??Sr.BitsSpeedAndBytesVolume}setDataUnitsSetting(e){this.storageService.setDataForHv(this.dataUnitsSettingStorageKey,e)}updateFromDiscovery(e){this.checkIfDataWasChanged(),e.forEach(i=>{if(this.serversMap.has(i.pk)){const o=this.serversMap.get(i.pk);o.countryCode=i.countryCode,o.name=i.name,o.location=i.location,o.note=i.note}}),this.saveData()}updateServer(e){this.serversMap.set(e.pk,e),this.cleanServers(),this.saveData()}processFromDiscovery(e){this.checkIfDataWasChanged();const i=this.serversMap.get(e.pk);return i?(i.countryCode=e.countryCode,i.name=e.name,i.location=e.location,i.note=e.note,this.saveData(),i):{countryCode:e.countryCode,name:e.name,customName:null,pk:e.pk,lastUsed:0,inHistory:!1,flag:Pn.None,location:e.location,personalNote:null,note:e.note,enteredManually:!1,usedWithPassword:!1}}processFromManual(e){this.checkIfDataWasChanged();const i=this.serversMap.get(e.pk);return i?(i.customName=e.name,i.personalNote=e.note,i.enteredManually=!0,this.saveData(),i):{countryCode:"zz",name:"",customName:e.name,pk:e.pk,lastUsed:0,inHistory:!1,flag:Pn.None,location:"",personalNote:e.note,note:"",enteredManually:!0,usedWithPassword:!1}}changeFlag(e,i){this.checkIfDataWasChanged();const o=this.serversMap.get(e.pk);o&&(e=o),e.flag!==i&&(e.flag=i,this.serversMap.has(e.pk)||this.serversMap.set(e.pk,e),this.cleanServers(),this.saveData())}removeFromHistory(e){this.checkIfDataWasChanged();const i=this.serversMap.get(e);!i||!i.inHistory||(i.inHistory=!1,this.cleanServers(),this.saveData())}modifyCurrentServer(e){this.checkIfDataWasChanged(),e.pk!==this.currentServerPk&&(this.serversMap.has(e.pk)||this.serversMap.set(e.pk,e),this.updateCurrentServerPk(e.pk),this.cleanServers(),this.saveData())}compareCurrentServer(e){if(this.checkIfDataWasChanged(),e){if(!this.currentServerPk||this.currentServerPk!==e){if(this.currentServerPk=e,!this.serversMap.get(e)){const o=this.processFromManual({pk:e});this.serversMap.set(o.pk,o),this.cleanServers()}this.saveData(),this.currentServerSubject.next(this.currentServer)}}else this.currentServerPk&&(this.currentServerPk=null,this.saveData(),this.currentServerSubject.next(this.currentServer))}updateHistory(){this.checkIfDataWasChanged(),this.currentServer.lastUsed=Date.now(),this.currentServer.inHistory=!0;let e=[];this.serversMap.forEach(o=>{o.inHistory&&e.push(o)}),e=e.sort((o,s)=>s.lastUsed-o.lastUsed);let i=0;e.forEach(o=>{i{!i.inHistory&&i.flag===Pn.None&&i.pk!==this.currentServerPk&&!i.customName&&!i.personalNote&&e.push(i.pk)}),e.forEach(i=>{this.serversMap.delete(i)})}saveData(){let e=0;const i=this.storageService.getDataForHv(this.savedServersStorageKey);if(i&&(e=JSON.parse(i).version),e!==this.savedDataVersion)return void this.router.navigate(["vpn","unavailable"],{queryParams:{problem:"storage"}});this.savedDataVersion+=1;const o={version:this.savedDataVersion,serverList:Array.from(this.serversMap.values()),selectedServerPk:this.currentServerPk},s=JSON.stringify(o);this.storageService.setDataForHv(this.savedServersStorageKey,s),this.launchListEvents()}checkIfDataWasChanged(){let e=0;const i=this.storageService.getDataForHv(this.savedServersStorageKey);i&&(e=JSON.parse(i).version),e!==this.savedDataVersion&&this.initialize()}launchListEvents(){const e=[],i=[],o=[];this.serversMap.forEach(s=>{s.inHistory&&e.push(s),s.flag===Pn.Favorite&&i.push(s),s.flag===Pn.Blocked&&o.push(s)}),this.historySubject.next(e),this.favoritesSubject.next(i),this.blockedSubject.next(o)}updateCurrentServerPk(e){this.currentServerPk=e,this.currentServerSubject.next(this.currentServer)}}return t.\u0275fac=function(e){return new(e||t)(we(hn),we(Ji))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var on=(()=>((on=on||{}).Stopped="stopped",on.Connecting="Connecting",on.Running="Running",on.ShuttingDown="Shutting down",on.Reconnecting="Connection failed, reconnecting",on))();class nZ{constructor(){this.updateDate=Date.now()}}class iZ{}class rZ{constructor(){this.latency=0,this.uploadSpeed=0,this.downloadSpeed=0,this.totalUploaded=0,this.totalDownloaded=0,this.connectionDuration=0,this.error=""}}var jn=(()=>((jn=jn||{})[jn.PerformingInitialCheck=1]="PerformingInitialCheck",jn[jn.Off=10]="Off",jn[jn.Starting=20]="Starting",jn[jn.Running=100]="Running",jn[jn.Disconnecting=200]="Disconnecting",jn))(),yi=(()=>((yi=yi||{})[yi.Busy=1]="Busy",yi[yi.Ok=2]="Ok",yi[yi.MustStop=3]="MustStop",yi[yi.SamePkRunning=4]="SamePkRunning",yi[yi.SamePkStopped=5]="SamePkStopped",yi))();let oc=(()=>{class t{constructor(e,i,o,s,a,l,d){this.apiService=e,this.appsService=i,this.router=o,this.vpnSavedDataService=s,this.http=a,this.snackbarService=l,this.translateService=d,this.vpnClientAppName="vpn-client",this.standardWaitTime=2e3,this.stateSubject=new Or(null),this.errorSubject=new Or(!1),this.working=!0,this.requestedServer=null,this.requestedPassword=null,this.updatesStopped=!1,this.currentEventData=new nZ,this.currentEventData.busy=!0,this.lastServiceState=jn.PerformingInitialCheck}initialize(e){e&&(this.nodeKey?e!==this.nodeKey?this.router.navigate(["vpn","unavailable"],{queryParams:{problem:"pkChange"}}):this.updatesStopped&&(this.updatesStopped=!1,this.updateData()):(this.nodeKey=e,this.vpnSavedDataService.initialize(),this.updateData()))}get backendState(){return this.stateSubject.asObservable()}get errorsConnecting(){return this.errorSubject.asObservable()}updateData(){this.continuallyUpdateData(0)}start(){return!this.working&&this.lastServiceState<20&&(this.changeAppState(!0),!0)}stop(){return!this.working&&this.lastServiceState>=20&&this.lastServiceState<200&&(this.changeAppState(!1),!0)}getIpData(){return this.http.request("GET",window.location.protocol+"//ip.skycoin.com/").pipe(rf(e=>Ua(e.pipe(Ti(this.standardWaitTime),Kn(4)),Ar(""))),ke(e=>{let i="";i=e&&e.ip_address?e.ip_address:this.translateService.instant("common.unknown");let o="";return o=e&&e.country_name?e.country_name:this.translateService.instant("common.unknown"),[i,o]}))}changeServerUsingHistory(e,i){return this.requestedServer=e,this.requestedPassword=i,this.updateRequestedServerPasswordSetting(),this.changeServer()}changeServerUsingDiscovery(e,i){return this.requestedServer=this.vpnSavedDataService.processFromDiscovery(e),this.requestedPassword=i,this.updateRequestedServerPasswordSetting(),this.changeServer()}changeServerManually(e,i){return this.requestedServer=this.vpnSavedDataService.processFromManual(e),this.requestedPassword=i,this.updateRequestedServerPasswordSetting(),this.changeServer()}updateRequestedServerPasswordSetting(){this.requestedServer.usedWithPassword=!!this.requestedPassword&&""!==this.requestedPassword;const e=this.vpnSavedDataService.getSavedVersion(this.requestedServer.pk,!0);e&&(e.usedWithPassword=this.requestedServer.usedWithPassword,this.vpnSavedDataService.updateServer(e))}changeServer(){return!this.working&&(this.stop()||this.processServerChange(),!0)}checkNewPk(e){return this.working?yi.Busy:this.lastServiceState!==jn.Off?e===this.vpnSavedDataService.currentServer.pk?yi.SamePkRunning:yi.MustStop:this.vpnSavedDataService.currentServer&&e===this.vpnSavedDataService.currentServer.pk?yi.SamePkStopped:yi.Ok}processServerChange(){this.dataSubscription&&this.dataSubscription.unsubscribe();const e={pk:this.requestedServer.pk};e.passcode=this.requestedPassword?this.requestedPassword:"",this.stopContinuallyUpdatingData(),this.working=!0,this.sendUpdate(),this.dataSubscription=this.appsService.changeAppSettings(this.nodeKey,this.vpnClientAppName,e).subscribe(()=>{this.vpnSavedDataService.modifyCurrentServer(this.requestedServer),this.requestedServer=null,this.requestedPassword=null,this.working=!1,this.start()},i=>{i=en(i),this.snackbarService.showError("vpn.server-change.backend-error",null,!1,i.originalServerErrorMsg),this.working=!1,this.requestedServer=null,this.requestedPassword=null,this.sendUpdate(),this.updateData()})}changeAppState(e){if(this.working)return;this.stopContinuallyUpdatingData(),this.working=!0,this.sendUpdate();const i={status:1};e?(this.lastServiceState=jn.Starting,this.connectionHistoryPk=null):(this.lastServiceState=jn.Disconnecting,i.status=0),this.dataSubscription&&this.dataSubscription.unsubscribe(),this.dataSubscription=this.appsService.changeAppSettings(this.nodeKey,this.vpnClientAppName,i).pipe(Co(o=>this.getVpnClientState().pipe(Ye(s=>{if(s){if(e&&s.running)return $e(!0);if(!e&&!s.running)return $e(!0)}return Ar(o)}))),rf(o=>Ua(o.pipe(Ti(this.standardWaitTime),Kn(3)),o.pipe(Ye(s=>Ar(s)))))).subscribe(o=>{this.working=!1;const s=this.processAppData(o);this.lastServiceState=s.running?jn.Running:jn.Off,this.currentEventData.vpnClientAppData=s,this.currentEventData.updateDate=Date.now(),this.sendUpdate(),this.updateData(),!e&&this.requestedServer&&this.processServerChange()},o=>{o=en(o),this.snackbarService.showError(this.lastServiceState===jn.Starting?"vpn.status-page.problem-starting-error":this.lastServiceState===jn.Disconnecting?"vpn.status-page.problem-stopping-error":"vpn.status-page.generic-problem-error",null,!1,o.originalServerErrorMsg),this.working=!1,this.sendUpdate(),this.updateData()})}continuallyUpdateData(e){if(this.working&&this.lastServiceState!==jn.PerformingInitialCheck)return;this.continuousUpdateSubscription&&this.continuousUpdateSubscription.unsubscribe();let i=0;this.continuousUpdateSubscription=$e(0).pipe(Ti(e),Ye(()=>this.getVpnClientState()),rf(o=>o.pipe(Ye(s=>(this.errorSubject.next(!0),(s=en(s)).originalError&&s.originalError.status&&401===s.originalError.status?Ar(s):this.lastServiceState!==jn.PerformingInitialCheck||i<4?(i+=1,$e(s).pipe(Ti(this.standardWaitTime))):Ar(s)))))).subscribe(o=>{o?(this.errorSubject.next(!1),this.lastServiceState===jn.PerformingInitialCheck&&(this.working=!1),this.vpnSavedDataService.compareCurrentServer(o.serverPk),this.lastServiceState=o.running?jn.Running:jn.Off,this.currentEventData.vpnClientAppData=o,this.currentEventData.updateDate=Date.now(),this.sendUpdate()):this.lastServiceState===jn.PerformingInitialCheck&&(this.router.navigate(["vpn","unavailable"]),this.nodeKey=null,this.updatesStopped=!0),this.continuallyUpdateData(this.standardWaitTime)},o=>{(o=en(o)).originalError&&o.originalError.status&&401===o.originalError.status||(this.router.navigate(["vpn","unavailable"]),this.nodeKey=null),this.updatesStopped=!0})}stopContinuallyUpdatingData(){this.continuousUpdateSubscription&&this.continuousUpdateSubscription.unsubscribe()}getVpnClientState(){let e;const i=new Ql;return i.vpnKeyForAuth=this.nodeKey,this.apiService.get(`visors/${this.nodeKey}/summary`,i).pipe(Ye(o=>{let s;if(o&&o.overview&&o.overview.apps&&o.overview.apps.length>0&&o.overview.apps.forEach(a=>{a.name===this.vpnClientAppName&&(s=a)}),s&&(e=this.processAppData(s)),e.minHops=o.min_hops?o.min_hops:0,e&&e.running){const a=new Ql;return a.vpnKeyForAuth=this.nodeKey,this.apiService.get(`visors/${this.nodeKey}/apps/${this.vpnClientAppName}/connections`,a)}return $e(null)}),ke(o=>{if(o&&o.length>0){const s=new rZ;o.forEach(a=>{s.latency+=a.latency/o.length,s.uploadSpeed+=a.upload_speed/o.length,s.downloadSpeed+=a.download_speed/o.length,s.totalUploaded+=a.bandwidth_sent,s.totalDownloaded+=a.bandwidth_received,a.error&&(s.error=a.error),a.connection_duration>s.connectionDuration&&(s.connectionDuration=a.connection_duration)}),(!this.connectionHistoryPk||this.connectionHistoryPk!==e.serverPk)&&(this.connectionHistoryPk=e.serverPk,this.uploadSpeedHistory=[0,0,0,0,0,0,0,0,0,0],this.downloadSpeedHistory=[0,0,0,0,0,0,0,0,0,0],this.latencyHistory=[0,0,0,0,0,0,0,0,0,0]),s.latency=Math.round(s.latency),s.uploadSpeed=Math.round(s.uploadSpeed),s.downloadSpeed=Math.round(s.downloadSpeed),s.totalUploaded=Math.round(s.totalUploaded),s.totalDownloaded=Math.round(s.totalDownloaded),this.uploadSpeedHistory.splice(0,1),this.uploadSpeedHistory.push(s.uploadSpeed),s.uploadSpeedHistory=this.uploadSpeedHistory,this.downloadSpeedHistory.splice(0,1),this.downloadSpeedHistory.push(s.downloadSpeed),s.downloadSpeedHistory=this.downloadSpeedHistory,this.latencyHistory.splice(0,1),this.latencyHistory.push(s.latency),s.latencyHistory=this.latencyHistory,e.connectionData=s}return e}))}processAppData(e){const i=new iZ;if(i.running=0!==e.status&&2!==e.status,i.connectionDuration=e.connection_duration,i.appState=on.Stopped,i.running?e.detailed_status===on.Connecting||3===e.status?i.appState=on.Connecting:e.detailed_status===on.Running?i.appState=on.Running:e.detailed_status===on.ShuttingDown?i.appState=on.ShuttingDown:e.detailed_status===on.Reconnecting&&(i.appState=on.Reconnecting):2===e.status&&(i.lastErrorMsg=e.detailed_status,i.lastErrorMsg||(i.lastErrorMsg=this.translateService.instant("vpn.status-page.unknown-error"))),i.killswitch=!1,e.args&&e.args.length>0)for(let o=0;o{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.mediumModalWidth,e.open(t,o)}constructor(e,i,o,s,a){this.dialogRef=e,this.data=i,this.formBuilder=o,this.snackbarService=s,this.vpnSavedDataService=a}ngOnInit(){this.form=this.formBuilder.group({value:[(this.data.editName?this.data.server.customName:this.data.server.personalNote)||""]}),setTimeout(()=>this.firstInput.nativeElement.focus())}process(){let e=this.vpnSavedDataService.getSavedVersion(this.data.server.pk,!0);e=e||this.data.server;const i=this.form.get("value").value;i!==(this.data.editName?this.data.server.customName:this.data.server.personalNote)?(this.data.editName?e.customName=i:e.personalNote=i,this.vpnSavedDataService.updateServer(e),this.snackbarService.showDone("vpn.server-options.edit-value.changes-made-confirmation"),this.dialogRef.close(!0)):this.dialogRef.close()}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(xr),Y(Dn),Y(rc))},t.\u0275cmp=Ze({type:t,selectors:[["app-edit-vpn-server-value"]],viewQuery:function(e,i){if(1&e&&_t(oZ,5),2&e){let o;rt(o=ot())&&(i.firstInput=o.first)}},decls:13,vars:11,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","value","maxlength","100","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"action"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6),ye("action",function(){return i.process()}),I(11),R(12,"translate"),C()()),2&e&&(w("headline",H(1,5,"vpn.server-options.edit-value."+(i.data.editName?"name":"note")+"-title"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(4),se(H(7,7,"vpn.server-options.edit-value."+(i.data.editName?"name":"note")+"-label")),c(5),ce(" ",H(12,9,"vpn.server-options.edit-value.apply-button")," "))},dependencies:[zi,Bi,Vi,ji,Cr,ii,Ei,ar,kr,Ui,ei,wt]}),t})();const aZ=["firstInput"];let JI=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.mediumModalWidth,e.open(t,o)}constructor(e,i,o){this.dialogRef=e,this.data=i,this.formBuilder=o}ngOnInit(){this.form=this.formBuilder.group({password:["",this.data?void 0:Gt.required]}),setTimeout(()=>this.firstInput.nativeElement.focus())}process(){this.dialogRef.close("-"+this.form.get("password").value)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(xr))},t.\u0275cmp=Ze({type:t,selectors:[["app-enter-vpn-server-password"]],viewQuery:function(e,i){if(1&e&&_t(aZ,5),2&e){let o;rt(o=ot())&&(i.firstInput=o.first)}},decls:13,vars:12,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","password","type","password","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"disabled","action"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6),ye("action",function(){return i.process()}),I(11),R(12,"translate"),C()()),2&e&&(w("headline",H(1,6,"vpn.server-list.password-dialog.title"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(4),se(H(7,8,"vpn.server-list.password-dialog.password"+(i.data?"-if-any":"")+"-label")),c(4),w("disabled",!i.form.valid),c(1),ce(" ",H(12,10,"vpn.server-list.password-dialog.continue-button")," "))},dependencies:[zi,Bi,Vi,ji,ii,Ei,ar,kr,Ui,ei,wt]}),t})(),lr=(()=>{class t{static changeCurrentPk(e){this.currentPk=e}static setDefaultTabForServerList(e){sessionStorage.setItem(t.serverListTabStorageKey,e)}static get vpnTabsData(){const e=sessionStorage.getItem(t.serverListTabStorageKey);return[{icon:"power_settings_new",label:"vpn.start",linkParts:["/vpn",this.currentPk,"status"]},{icon:"list",label:"vpn.servers",linkParts:e?["/vpn",this.currentPk,"servers",e,"1"]:["/vpn",this.currentPk,"servers"]},{icon:"settings",label:"vpn.settings",linkParts:["/vpn",this.currentPk,"settings"]}]}static getLatencyValueString(e){return e<1e3?"time-in-ms":"time-in-segs"}static getPrintableLatency(e){return e<1e3?e+"":(e/1e3).toFixed(1)}static processServerChange(e,i,o,s,a,l,d,_,E,F,G){let ie;if(_&&(E||F)||E&&(_||F)||F&&(_||E))throw new Error("Invalid call");if(_)ie=_.pk;else if(E)ie=E.pk;else{if(!F)throw new Error("Invalid call");ie=F.pk}const _e=o.getSavedVersion(ie,!0),Ce=_e&&(G||_e.usedWithPassword),Ae=i.checkNewPk(ie);if(Ae!==yi.Busy)if(Ae!==yi.SamePkRunning||Ce)if(Ae===yi.MustStop||Ae===yi.SamePkRunning&&Ce){const ze=Jt.createConfirmationDialog(a,"vpn.server-change.change-server-while-connected-confirmation");ze.componentInstance.operationAccepted.subscribe(()=>{ze.componentInstance.closeModal(),_?i.changeServerUsingHistory(_,G):E?i.changeServerUsingDiscovery(E,G):F&&i.changeServerManually(F,G),t.redirectAfterServerChange(e,l,d)})}else if(Ae!==yi.SamePkStopped||Ce)_?i.changeServerUsingHistory(_,G):E?i.changeServerUsingDiscovery(E,G):F&&i.changeServerManually(F,G),t.redirectAfterServerChange(e,l,d);else{const ze=Jt.createConfirmationDialog(a,"vpn.server-change.start-same-server-confirmation");ze.componentInstance.operationAccepted.subscribe(()=>{ze.componentInstance.closeModal(),F&&_e&&o.processFromManual(F),i.start(),t.redirectAfterServerChange(e,l,d)})}else s.showWarning("vpn.server-change.already-selected-warning");else s.showError("vpn.server-change.busy-error")}static redirectAfterServerChange(e,i,o){i&&i.close(),e.navigate(["vpn",o,"status"])}static openServerOptions(e,i,o,s,a,l){const d=[],_=[];return e.usedWithPassword?(d.push({icon:"lock_open",label:"vpn.server-options.connect-without-password"}),_.push(201),d.push({icon:"lock_outlined",label:"vpn.server-options.connect-using-another-password"}),_.push(202)):e.enteredManually&&(d.push({icon:"lock_outlined",label:"vpn.server-options.connect-using-password"}),_.push(202)),d.push({icon:"edit",label:"vpn.server-options.edit-name"}),_.push(101),d.push({icon:"subject",label:"vpn.server-options.edit-label"}),_.push(102),(!e||e.flag!==Pn.Favorite)&&(d.push({icon:"star",label:"vpn.server-options.make-favorite"}),_.push(1)),e&&e.flag===Pn.Favorite&&(d.push({icon:"star_outline",label:"vpn.server-options.remove-from-favorites"}),_.push(-1)),(!e||e.flag!==Pn.Blocked)&&(d.push({icon:"pan_tool",label:"vpn.server-options.block"}),_.push(2)),e&&e.flag===Pn.Blocked&&(d.push({icon:"thumb_up",label:"vpn.server-options.unblock"}),_.push(-2)),e&&e.inHistory&&(d.push({icon:"delete",label:"vpn.server-options.remove-from-history"}),_.push(-3)),qr.openDialog(l,d,"common.options").afterClosed().pipe(Ye(E=>{if(E){const F=o.getSavedVersion(e.pk,!0);if(e=F||e,_[E-=1]>200){if(201===_[E]){let G=!1;const ie=Jt.createConfirmationDialog(l,"vpn.server-options.connect-without-password-confirmation");return ie.componentInstance.operationAccepted.subscribe(()=>{G=!0,t.processServerChange(i,s,o,a,l,null,t.currentPk,e,null,null,null),ie.componentInstance.closeModal()}),ie.afterClosed().pipe(ke(()=>G))}return JI.openDialog(l,!1).afterClosed().pipe(ke(G=>!(!G||"-"===G||(t.processServerChange(i,s,o,a,l,null,t.currentPk,e,null,null,G.substr(1)),0))))}if(_[E]>100)return sZ.openDialog(l,{editName:101===_[E],server:e}).afterClosed();if(1===_[E])return t.makeFavorite(e,o,a,l);if(-1===_[E])return o.changeFlag(e,Pn.None),a.showDone("vpn.server-options.remove-from-favorites-done"),$e(!0);if(2===_[E])return t.blockServer(e,o,s,a,l);if(-2===_[E])return o.changeFlag(e,Pn.None),a.showDone("vpn.server-options.unblock-done"),$e(!0);if(-3===_[E])return t.removeFromHistory(e,o,a,l)}return $e(!1)}))}static removeFromHistory(e,i,o,s){let a=!1;const l=Jt.createConfirmationDialog(s,"vpn.server-options.remove-from-history-confirmation");return l.componentInstance.operationAccepted.subscribe(()=>{a=!0,i.removeFromHistory(e.pk),o.showDone("vpn.server-options.remove-from-history-done"),l.componentInstance.closeModal()}),l.afterClosed().pipe(ke(()=>a))}static makeFavorite(e,i,o,s){if(e.flag!==Pn.Blocked)return i.changeFlag(e,Pn.Favorite),o.showDone("vpn.server-options.make-favorite-done"),$e(!0);let a=!1;const l=Jt.createConfirmationDialog(s,"vpn.server-options.make-favorite-confirmation");return l.componentInstance.operationAccepted.subscribe(()=>{a=!0,i.changeFlag(e,Pn.Favorite),o.showDone("vpn.server-options.make-favorite-done"),l.componentInstance.closeModal()}),l.afterClosed().pipe(ke(()=>a))}static blockServer(e,i,o,s,a){if(e.flag!==Pn.Favorite&&(!i.currentServer||i.currentServer.pk!==e.pk))return i.changeFlag(e,Pn.Blocked),s.showDone("vpn.server-options.block-done"),$e(!0);let l=!1;const d=i.currentServer&&i.currentServer.pk===e.pk;let _;_=e.flag!==Pn.Favorite?"vpn.server-options.block-selected-confirmation":d?"vpn.server-options.block-selected-favorite-confirmation":"vpn.server-options.block-confirmation";const E=Jt.createConfirmationDialog(a,_);return E.componentInstance.operationAccepted.subscribe(()=>{l=!0,i.changeFlag(e,Pn.Blocked),s.showDone("vpn.server-options.block-done"),d&&o.stop(),E.componentInstance.closeModal()}),E.afterClosed().pipe(ke(()=>l))}}return t.serverListTabStorageKey="ServerListTab",t.currentPk="",t})();var cr=(()=>((cr=cr||{})[cr.Seconds=0]="Seconds",cr[cr.Minutes=1]="Minutes",cr[cr.Hours=2]="Hours",cr[cr.Days=3]="Days",cr[cr.Weeks=4]="Weeks",cr))();class lZ{}class Pg{static getElapsedTime(n){const e=new lZ;e.timeRepresentation=cr.Seconds,e.totalMinutes=Math.floor(n/60).toString(),e.translationVarName="second";let i=1;n>=60&&n<3600?(e.timeRepresentation=cr.Minutes,i=60,e.translationVarName="minute"):n>=3600&&n<86400?(e.timeRepresentation=cr.Hours,i=3600,e.translationVarName="hour"):n>=86400&&n<604800?(e.timeRepresentation=cr.Days,i=86400,e.translationVarName="day"):n>=604800&&(e.timeRepresentation=cr.Weeks,i=604800,e.translationVarName="week");const o=Math.floor(n/i);return e.elapsedTime=o.toString(),(e.timeRepresentation===cr.Seconds||o>1)&&(e.translationVarName=e.translationVarName+"s"),e}}function cZ(t,n){1&t&&xe(0,"mat-spinner",6),2&t&&w("diameter",14)}function dZ(t,n){1&t&&xe(0,"mat-spinner",7),2&t&&w("diameter",18)}function uZ(t,n){1&t&&(D(0,"mat-icon",10),I(1,"refresh"),C()),2&t&&w("inline",!0)}function hZ(t,n){1&t&&(D(0,"mat-icon",11),I(1,"warning"),C()),2&t&&w("inline",!0)}function fZ(t,n){if(1&t&&(Ue(0),V(1,uZ,2,1,"mat-icon",8),V(2,hZ,2,1,"mat-icon",9),We()),2&t){const e=z();c(1),w("ngIf",!e.showAlert),c(1),w("ngIf",e.showAlert)}}const QI=function(t){return{time:t}};function pZ(t,n){if(1&t&&(D(0,"span",12),I(1),R(2,"translate"),C()),2&t){const e=z();c(1),se(kt(2,1,"refresh-button."+e.elapsedTime.translationVarName,He(4,QI,e.elapsedTime.elapsedTime)))}}const mZ=function(t){return{"grey-button-background":t}};let gZ=(()=>{class t{constructor(){this.refeshRate=-1}set secondsSinceLastUpdate(e){this.elapsedTime=Pg.getElapsedTime(e)}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["app-refresh-button"]],inputs:{secondsSinceLastUpdate:"secondsSinceLastUpdate",showLoading:"showLoading",showAlert:"showAlert",refeshRate:"refeshRate"},decls:7,vars:14,consts:[["mat-button","",1,"time-button","subtle-transparent-button","white-theme",3,"disabled","ngClass","matTooltip"],[1,"internal-container"],["class","icon d-none d-md-inline-block",3,"diameter",4,"ngIf"],["class","icon d-md-none",3,"diameter",4,"ngIf"],[4,"ngIf"],["class","d-none d-md-inline",4,"ngIf"],[1,"icon","d-none","d-md-inline-block",3,"diameter"],[1,"icon","d-md-none",3,"diameter"],["class","icon",3,"inline",4,"ngIf"],["class","icon alert",3,"inline",4,"ngIf"],[1,"icon",3,"inline"],[1,"icon","alert",3,"inline"],[1,"d-none","d-md-inline"]],template:function(e,i){1&e&&(D(0,"button",0),R(1,"translate"),D(2,"div",1),V(3,cZ,1,1,"mat-spinner",2),V(4,dZ,1,1,"mat-spinner",3),V(5,fZ,3,2,"ng-container",4),V(6,pZ,3,6,"span",5),C()()),2&e&&(w("disabled",i.showLoading)("ngClass",He(10,mZ,!i.showLoading))("matTooltip",i.showAlert?kt(1,7,"refresh-button.error-tooltip",He(12,QI,i.refeshRate)):""),c(3),w("ngIf",i.showLoading),c(1),w("ngIf",i.showLoading),c(1),w("ngIf",!i.showLoading),c(1),w("ngIf",i.elapsedTime))},dependencies:[Nn,Ft,Wr,Cn,vi,ec,wt],styles:[".time-button[_ngcontent-%COMP%]{color:#f8f9f9;border-radius:10px;height:40px}.time-button[disabled][_ngcontent-%COMP%]{opacity:.7!important;color:#f8f9f9}.time-button[disabled][_ngcontent-%COMP%] span[_ngcontent-%COMP%]{opacity:.7}.time-button[_ngcontent-%COMP%] .internal-container[_ngcontent-%COMP%]{display:flex;align-items:center}.time-button[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{font-size:16px;margin-right:5px;opacity:.5;display:inline-block}@media (max-width: 767px){.time-button[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{font-size:22px;margin-right:0;opacity:.75}}.time-button[_ngcontent-%COMP%] .alert[_ngcontent-%COMP%]{color:orange;opacity:1}.time-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:.6rem}"]}),t})(),sf=(()=>{class t{transform(e,i){let s,o=!0;i?i.showPerSecond?i.useBits?(s=t.measurementsPerSecInBits,o=!1):s=t.measurementsPerSec:i.useBits?(s=t.accumulatedMeasurementsInBits,o=!1):s=t.accumulatedMeasurements:s=t.accumulatedMeasurements;let a=new F1.BigNumber(e);o||(a=a.multipliedBy(8));let l=s[0],d=0;for(;a.dividedBy(1024).isGreaterThan(1);)a=a.dividedBy(1024),d+=1,l=s[d];let _="";return(!i||i.showValue)&&(_=i&&i.limitDecimals?new F1.BigNumber(a).decimalPlaces(1).toString():a.toFixed(2)),(!i||i.showValue&&i.showUnit)&&(_+=" "),(!i||i.showUnit)&&(_+=l),_}}return t.accumulatedMeasurements=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],t.measurementsPerSec=["B/s","KB/s","MB/s","GB/s","TB/s","PB/s","EB/s","ZB/s","YB/s"],t.accumulatedMeasurementsInBits=["b","Kb","Mb","Gb","Tb","Pb","Eb","Zb","Yb"],t.measurementsPerSecInBits=["b/s","Kb/s","Mb/s","Gb/s","Tb/s","Pb/s","Eb/s","Zb/s","Yb/s"],t.\u0275fac=function(e){return new(e||t)},t.\u0275pipe=ur({name:"autoScale",type:t,pure:!0}),t})();function _Z(t,n){if(1&t){const e=et();D(0,"button",23),ye("click",function(){return Pe(e),Oe(z().requestAction(null))}),D(1,"mat-icon"),I(2,"chevron_left"),C()()}}function bZ(t,n){1&t&&(Ue(0),xe(1,"img",24),We())}function vZ(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z();c(1),ce(" ",H(2,1,e.titleParts[e.titleParts.length-1])," ")}}const yZ=function(t){return{transparent:t}};function MZ(t,n){if(1&t){const e=et();Ue(0),D(1,"div",26),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).requestAction(s.actionName))}),D(2,"mat-icon",27),I(3),C(),I(4),R(5,"translate"),C(),We()}if(2&t){const e=n.$implicit;c(1),w("disabled",e.disabled),c(1),w("ngClass",He(6,yZ,e.disabled)),c(1),se(e.icon),c(1),ce(" ",H(5,4,e.name)," ")}}function wZ(t,n){1&t&&xe(0,"div",28)}function CZ(t,n){if(1&t&&(Ue(0),V(1,MZ,6,8,"ng-container",25),V(2,wZ,1,0,"div",9),We()),2&t){const e=z();c(1),w("ngForOf",e.optionsData),c(1),w("ngIf",e.returnText)}}function xZ(t,n){1&t&&xe(0,"div",28)}function kZ(t,n){1&t&&xe(0,"img",31),2&t&&w("src","assets/img/lang/"+z(2).language.iconName,Vo)}function SZ(t,n){if(1&t){const e=et();D(0,"div",29),ye("click",function(){return Pe(e),Oe(z().openLanguageWindow())}),V(1,kZ,1,1,"img",30),I(2),R(3,"translate"),C()}if(2&t){const e=z();c(1),w("ngIf",e.language),c(1),ce(" ",H(3,2,e.language?e.language.name:"")," ")}}function DZ(t,n){if(1&t){const e=et();D(0,"div",32)(1,"a",33),ye("click",function(){return Pe(e),Oe(z().requestAction(null))}),R(2,"translate"),D(3,"mat-icon",34),I(4,"chevron_left"),C()()()}if(2&t){const e=z();c(1),w("matTooltip",H(2,2,e.returnText)),c(2),w("inline",!0)}}function TZ(t,n){if(1&t&&(D(0,"span",35),I(1),R(2,"translate"),C()),2&t){const e=z();c(1),ce(" ",H(2,1,e.titleParts[e.titleParts.length-1])," ")}}function LZ(t,n){1&t&&xe(0,"img",36)}const EZ=function(t,n){return{"d-lg-none":t,"d-none d-md-inline-block":n}},eP=function(t,n){return{"mouse-disabled":t,"grey-button-background":n}};function IZ(t,n){if(1&t&&(D(0,"div",27)(1,"a",37)(2,"mat-icon",34),I(3),C(),D(4,"span"),I(5),R(6,"translate"),C()()()),2&t){const e=n.$implicit,i=n.index,o=z();w("ngClass",mn(9,EZ,e.onlyIfLessThanLg,1!==o.tabsData.length)),c(1),w("disabled",i===o.selectedTabIndex)("routerLink",e.linkParts)("ngClass",mn(12,eP,o.disableMouse,!o.disableMouse&&i!==o.selectedTabIndex)),c(1),w("inline",!0),c(1),se(e.icon),c(2),se(H(6,7,e.label))}}const PZ=function(t){return{"d-none":t}};function OZ(t,n){if(1&t){const e=et();D(0,"div",38)(1,"button",39),ye("click",function(){return Pe(e),Oe(z().openTabSelector())}),D(2,"div",40)(3,"mat-icon",34),I(4),C(),D(5,"span"),I(6),R(7,"translate"),C(),D(8,"mat-icon",34),I(9,"keyboard_arrow_down"),C()()()()}if(2&t){const e=z();w("ngClass",He(8,PZ,1===e.tabsData.length)),c(1),w("ngClass",mn(10,eP,e.disableMouse,!e.disableMouse)),c(2),w("inline",!0),c(1),se(e.tabsData[e.selectedTabIndex].icon),c(2),se(H(7,6,e.tabsData[e.selectedTabIndex].label)),c(2),w("inline",!0)}}function AZ(t,n){if(1&t){const e=et();D(0,"app-refresh-button",45),ye("click",function(){return Pe(e),Oe(z(2).sendRefreshEvent())}),C()}if(2&t){const e=z(2);w("secondsSinceLastUpdate",e.secondsSinceLastUpdate)("showLoading",e.showLoading)("showAlert",e.showAlert)("refeshRate",e.refeshRate)}}function FZ(t,n){if(1&t&&(D(0,"div",41),V(1,AZ,1,4,"app-refresh-button",42),D(2,"button",43)(3,"div",44)(4,"mat-icon",34),I(5,"menu"),C()()()()),2&t){const e=z(),i=ci(12);c(1),w("ngIf",e.showUpdateButton),c(1),w("matMenuTriggerFor",i),c(2),w("inline",!0)}}function RZ(t,n){if(1&t){const e=et();D(0,"div",53)(1,"div",54),ye("click",function(){return Pe(e),Oe(z(2).openLanguageWindow())}),xe(2,"img",55),I(3),R(4,"translate"),C()()}if(2&t){const e=z(2);c(2),w("src","assets/img/lang/"+e.language.iconName,Vo),c(1),ce(" ",H(4,2,e.language?e.language.name:"")," ")}}function NZ(t,n){1&t&&(D(0,"div",56),R(1,"translate"),D(2,"mat-icon",34),I(3,"warning"),C(),I(4),R(5,"translate"),C()),2&t&&(w("matTooltip",H(1,3,"vpn.connection-error.info")),c(2),w("inline",!0),c(2),ce(" ",H(5,5,"vpn.connection-error.text")," "))}function YZ(t,n){1&t&&(D(0,"div",63)(1,"mat-icon",61),I(2,"brightness_1"),C()()),2&t&&(c(1),w("inline",!0))}const HZ=function(t,n){return{"animation-container":t,"d-none":n}},BZ=function(t){return{time:t}},tP=function(t){return{showValue:!0,showUnit:!0,showPerSecond:!0,useBits:t}};function VZ(t,n){if(1&t&&(D(0,"table",57)(1,"tr")(2,"td",58),R(3,"translate"),D(4,"div",27)(5,"div",59)(6,"div",60)(7,"mat-icon",61),I(8,"brightness_1"),C(),I(9),R(10,"translate"),C()()(),V(11,YZ,3,1,"div",62),D(12,"mat-icon",61),I(13,"brightness_1"),C(),I(14),R(15,"translate"),C(),D(16,"td",58),R(17,"translate"),D(18,"mat-icon",34),I(19,"swap_horiz"),C(),I(20),R(21,"translate"),C()(),D(22,"tr")(23,"td",58),R(24,"translate"),D(25,"mat-icon",34),I(26,"arrow_upward"),C(),I(27),R(28,"autoScale"),C(),D(29,"td",58),R(30,"translate"),D(31,"mat-icon",34),I(32,"arrow_downward"),C(),I(33),R(34,"autoScale"),C()()()),2&t){const e=z(2);c(2),eo(e.vpnData.stateClass+" state-td"),w("matTooltip",H(3,18,e.vpnData.state+"-info")),c(2),w("ngClass",mn(39,HZ,e.showVpnStateAnimation,!e.showVpnStateAnimation)),c(3),w("inline",!0),c(2),ce(" ",H(10,20,e.vpnData.state)," "),c(2),w("ngIf",e.showVpnStateAnimatedDot),c(1),w("inline",!0),c(2),ce(" ",H(15,22,e.vpnData.state)," "),c(2),w("matTooltip",H(17,24,"vpn.connection-info.latency-info")),c(2),w("inline",!0),c(2),ce(" ",kt(21,26,"common."+e.getLatencyValueString(e.vpnData.latency),He(42,BZ,e.getPrintableLatency(e.vpnData.latency)))," "),c(3),w("matTooltip",H(24,29,"vpn.connection-info.upload-info")),c(2),w("inline",!0),c(2),ce(" ",kt(28,31,e.vpnData.uploadSpeed,He(44,tP,e.showVpnDataStatsInBits))," "),c(2),w("matTooltip",H(30,34,"vpn.connection-info.download-info")),c(2),w("inline",!0),c(2),ce(" ",kt(34,36,e.vpnData.downloadSpeed,He(46,tP,e.showVpnDataStatsInBits))," ")}}function jZ(t,n){1&t&&xe(0,"mat-spinner",64),2&t&&w("diameter",20)}function zZ(t,n){if(1&t&&(D(0,"div")(1,"div",46),V(2,RZ,5,4,"div",47),xe(3,"div",48),V(4,NZ,6,7,"div",49),C(),D(5,"div",50),V(6,VZ,35,48,"table",51),V(7,jZ,1,1,"mat-spinner",52),C()()),2&t){const e=z();c(2),w("ngIf",!e.hideLanguageButton&&e.language),c(2),w("ngIf",e.errorsConnectingToVpn),c(2),w("ngIf",e.vpnData),c(1),w("ngIf",!e.vpnData)}}function UZ(t,n){1&t&&(D(0,"div",65)(1,"div",66)(2,"mat-icon",34),I(3,"error_outline"),C(),I(4),R(5,"translate"),C(),D(6,"div",67),I(7),R(8,"translate"),C()()),2&t&&(c(2),w("inline",!0),c(2),ce(" ",H(5,3,"vpn.remote-access-title")," "),c(3),ce(" ",H(8,5,"vpn.remote-access-text")," "))}const nP=function(t,n){return{"d-lg-none":t,"d-none":n}},WZ=function(t){return{"normal-height":t}},$Z=function(t,n){return{"d-none d-lg-flex":t,"d-flex":n}};let sc=(()=>{class t{set localVpnKey(e){this.localVpnKeyInternal=e,e?this.startGettingVpnInfo():this.stopGettingVpnInfo()}constructor(e,i,o,s,a){this.languageService=e,this.dialog=i,this.router=o,this.vpnClientService=s,this.vpnSavedDataService=a,this.disableMouse=!1,this.selectedTabIndex=0,this.refeshRate=-1,this.showUpdateButton=!0,this.localVpnKeyInternal="",this.refreshRequested=new ht,this.optionSelected=new ht,this.hideLanguageButton=!0,this.showVpnInfo=!1,this.initialVpnStateObtained=!1,this.lastVpnState="",this.showVpnStateAnimation=!1,this.showVpnStateAnimatedDot=!0,this.showVpnDataStatsInBits=!0,this.remoteAccess=!1,this.errorsConnectingToVpn=!1,this.langSubscriptionsGroup=[]}ngOnInit(){this.langSubscriptionsGroup.push(this.languageService.currentLanguage.subscribe(i=>{this.language=i})),this.langSubscriptionsGroup.push(this.languageService.languages.subscribe(i=>{this.hideLanguageButton=!(i.length>1)}));const e=window.location.hostname;!e.toLowerCase().includes("localhost")&&!e.toLowerCase().includes("127.0.0.1")&&(this.remoteAccess=!0)}ngOnDestroy(){this.langSubscriptionsGroup.forEach(e=>e.unsubscribe()),this.refreshRequested.complete(),this.optionSelected.complete(),this.stopGettingVpnInfo()}startGettingVpnInfo(){this.showVpnInfo=!0,this.vpnClientService.initialize(this.localVpnKeyInternal),this.updateVpnDataStatsUnit(),this.vpnDataSubscription=this.vpnClientService.backendState.subscribe(e=>{e&&(this.vpnData={state:"",stateClass:"",latency:e.vpnClientAppData.connectionData?e.vpnClientAppData.connectionData.latency:0,downloadSpeed:e.vpnClientAppData.connectionData?e.vpnClientAppData.connectionData.downloadSpeed:0,uploadSpeed:e.vpnClientAppData.connectionData?e.vpnClientAppData.connectionData.uploadSpeed:0},e.vpnClientAppData.appState===on.Stopped?(this.vpnData.state="vpn.connection-info.state-disconnected",this.vpnData.stateClass="red-clear-text"):e.vpnClientAppData.appState===on.Connecting?(this.vpnData.state="vpn.connection-info.state-connecting",this.vpnData.stateClass="yellow-clear-text"):e.vpnClientAppData.appState===on.Running?(this.vpnData.state="vpn.connection-info.state-connected",this.vpnData.stateClass="green-clear-text"):e.vpnClientAppData.appState===on.ShuttingDown?(this.vpnData.state="vpn.connection-info.state-disconnecting",this.vpnData.stateClass="yellow-clear-text"):e.vpnClientAppData.appState===on.Reconnecting&&(this.vpnData.state="vpn.connection-info.state-reconnecting",this.vpnData.stateClass="yellow-clear-text"),this.initialVpnStateObtained?this.lastVpnState!==this.vpnData.state&&(this.lastVpnState=this.vpnData.state,this.showVpnStateAnimation=!1,this.showVpnStateChangeAnimationSubscription&&this.showVpnStateChangeAnimationSubscription.unsubscribe(),this.showVpnStateChangeAnimationSubscription=$e(0).pipe(Ti(1)).subscribe(()=>this.showVpnStateAnimation=!0)):(this.initialVpnStateObtained=!0,this.lastVpnState=this.vpnData.state),this.showVpnStateAnimatedDot=!1,this.showVpnStateAnimatedDotSubscription&&this.showVpnStateAnimatedDotSubscription.unsubscribe(),this.showVpnStateAnimatedDotSubscription=$e(0).pipe(Ti(1)).subscribe(()=>this.showVpnStateAnimatedDot=!0))}),this.errorsConnectingToVpnSubscription=this.vpnClientService.errorsConnecting.subscribe(e=>{this.errorsConnectingToVpn=e})}stopGettingVpnInfo(){this.showVpnInfo=!1,this.vpnDataSubscription&&this.vpnDataSubscription.unsubscribe(),this.errorsConnectingToVpnSubscription&&this.errorsConnectingToVpnSubscription.unsubscribe()}getLatencyValueString(e){return lr.getLatencyValueString(e)}getPrintableLatency(e){return lr.getPrintableLatency(e)}requestAction(e){this.optionSelected.emit(e)}openLanguageWindow(){YI.openDialog(this.dialog)}sendRefreshEvent(){this.refreshRequested.emit()}openTabSelector(){const e=[];this.tabsData.forEach(i=>{e.push({label:i.label,icon:i.icon})}),qr.openDialog(this.dialog,e,"tabs-window.title").afterClosed().subscribe(i=>{i&&(i-=1)!==this.selectedTabIndex&&this.router.navigate(this.tabsData[i].linkParts)})}updateVpnDataStatsUnit(){const e=this.vpnSavedDataService.getDataUnitsSetting();this.showVpnDataStatsInBits=e===Sr.BitsSpeedAndBytesVolume||e===Sr.OnlyBits}}return t.\u0275fac=function(e){return new(e||t)(Y(gg),Y(In),Y(hn),Y(oc),Y(rc))},t.\u0275cmp=Ze({type:t,selectors:[["app-top-bar"]],inputs:{disableMouse:"disableMouse",titleParts:"titleParts",tabsData:"tabsData",selectedTabIndex:"selectedTabIndex",optionsData:"optionsData",returnText:"returnText",secondsSinceLastUpdate:"secondsSinceLastUpdate",showLoading:"showLoading",showAlert:"showAlert",refeshRate:"refeshRate",showUpdateButton:"showUpdateButton",localVpnKey:"localVpnKey"},outputs:{refreshRequested:"refreshRequested",optionSelected:"optionSelected"},decls:29,vars:31,consts:[[1,"top-bar",3,"ngClass"],[1,"button-container"],["mat-icon-button","","class","transparent-button",3,"click",4,"ngIf"],[1,"logo-container"],[4,"ngIf"],["mat-icon-button","",1,"transparent-button",3,"matMenuTriggerFor"],[1,"top-bar-margin",3,"ngClass"],[3,"overlapTrigger"],["menu","matMenu"],["class","menu-separator",4,"ngIf"],["mat-menu-item","",3,"click",4,"ngIf"],[1,"main-container",3,"ngClass"],[1,"main-area"],[1,"title",3,"ngClass"],["class","return-container",4,"ngIf"],["class","title-text",4,"ngIf"],["class","title-image","src","./assets/img/logo-vpn.png",4,"ngIf"],[1,"lower-container"],[3,"ngClass",4,"ngFor","ngForOf"],["class","d-md-none",3,"ngClass",4,"ngIf"],[1,"blank-space"],["class","right-container",4,"ngIf"],["class","remote-vpn-alert-container",4,"ngIf"],["mat-icon-button","",1,"transparent-button",3,"click"],["src","/assets/img/logo-s.png"],[4,"ngFor","ngForOf"],["mat-menu-item","",3,"disabled","click"],[3,"ngClass"],[1,"menu-separator"],["mat-menu-item","",3,"click"],["class","flag",3,"src",4,"ngIf"],[1,"flag",3,"src"],[1,"return-container"],[1,"return-button","transparent-button",3,"matTooltip","click"],[3,"inline"],[1,"title-text"],["src","./assets/img/logo-vpn.png",1,"title-image"],["mat-button","",1,"tab-button","white-theme",3,"disabled","routerLink","ngClass"],[1,"d-md-none",3,"ngClass"],["mat-button","",1,"tab-button","select-tab-button","white-theme",3,"ngClass","click"],[1,"d-flex"],[1,"right-container"],[3,"secondsSinceLastUpdate","showLoading","showAlert","refeshRate","click",4,"ngIf"],["mat-button","",1,"menu-button","subtle-transparent-button","d-none","d-lg-block",3,"matMenuTriggerFor"],[1,"icon-container"],[3,"secondsSinceLastUpdate","showLoading","showAlert","refeshRate","click"],[1,"top-text-vpn-container"],["class","languaje-button-vpn",4,"ngIf"],[1,"elements-separator"],["class","connection-error-msg-vpn blinking",3,"matTooltip",4,"ngIf"],[1,"vpn-info","vpn-dark-box-radius"],["cellspacing","0","cellpadding","0",4,"ngIf"],[3,"diameter",4,"ngIf"],[1,"languaje-button-vpn"],[1,"text-container",3,"click"],[1,"language-flag",3,"src"],[1,"connection-error-msg-vpn","blinking",3,"matTooltip"],["cellspacing","0","cellpadding","0"],[3,"matTooltip"],[1,"internal-animation-container"],[1,"animation-area"],[1,"state-icon",3,"inline"],["class","aminated-state-icon-container",4,"ngIf"],[1,"aminated-state-icon-container"],[3,"diameter"],[1,"remote-vpn-alert-container"],[1,"top-line"],[1,"bottom-line"]],template:function(e,i){if(1&e&&(D(0,"div",0)(1,"div",1),V(2,_Z,3,0,"button",2),C(),D(3,"div",3),V(4,bZ,2,0,"ng-container",4),V(5,vZ,3,3,"ng-container",4),C(),D(6,"div",1)(7,"button",5)(8,"mat-icon"),I(9,"menu"),C()()()(),xe(10,"div",6),D(11,"mat-menu",7,8),V(13,CZ,3,2,"ng-container",4),V(14,xZ,1,0,"div",9),V(15,SZ,4,4,"div",10),C(),D(16,"div",11)(17,"div",12)(18,"div",13),V(19,DZ,5,4,"div",14),V(20,TZ,3,3,"span",15),V(21,LZ,1,0,"img",16),C(),D(22,"div",17),V(23,IZ,7,15,"div",18),V(24,OZ,10,13,"div",19),xe(25,"div",20),V(26,FZ,6,3,"div",21),C()(),V(27,zZ,8,4,"div",4),C(),V(28,UZ,9,7,"div",22)),2&e){const o=ci(12);w("ngClass",mn(20,nP,!i.showVpnInfo,i.showVpnInfo)),c(2),w("ngIf",i.returnText),c(2),w("ngIf",!i.titleParts||i.titleParts.length<2),c(1),w("ngIf",i.titleParts&&i.titleParts.length>=2),c(2),w("matMenuTriggerFor",o),c(3),w("ngClass",mn(23,nP,!i.showVpnInfo,i.showVpnInfo)),c(1),w("overlapTrigger",!1),c(2),w("ngIf",i.optionsData&&i.optionsData.length>=1),c(1),w("ngIf",!i.hideLanguageButton&&i.optionsData&&i.optionsData.length>=1),c(1),w("ngIf",!i.hideLanguageButton),c(1),w("ngClass",He(26,WZ,!i.showVpnInfo)),c(2),w("ngClass",mn(28,$Z,!i.showVpnInfo,i.showVpnInfo)),c(1),w("ngIf",i.returnText),c(1),w("ngIf",!i.showVpnInfo),c(1),w("ngIf",i.showVpnInfo),c(2),w("ngForOf",i.tabsData),c(1),w("ngIf",i.tabsData&&i.tabsData[i.selectedTabIndex]),c(2),w("ngIf",!i.showVpnInfo),c(1),w("ngIf",i.showVpnInfo),c(1),w("ngIf",i.showVpnInfo&&i.remoteAccess)}},dependencies:[Nn,gi,Ft,qa,FU,Wr,el,Cn,vi,Yd,pa,Hd,ec,gZ,wt,sf],styles:["@media (max-width: 991px){.normal-height[_ngcontent-%COMP%]{height:55px!important}}.main-container[_ngcontent-%COMP%]{border-bottom:1px solid rgba(255,255,255,.15);padding-bottom:10px;margin-bottom:-5px;height:100px;display:flex}.main-container[_ngcontent-%COMP%] .main-area[_ngcontent-%COMP%]{flex-grow:1}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.875rem;margin-bottom:15px;margin-left:5px;flex-direction:row;align-items:center}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .title-text[_ngcontent-%COMP%]{z-index:1}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .title-image[_ngcontent-%COMP%]{width:124px;height:21px}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .return-container[_ngcontent-%COMP%]{width:30px;position:relative;top:2px}.main-container[_ngcontent-%COMP%] .title[_ngcontent-%COMP%] .return-container[_ngcontent-%COMP%] .return-button[_ngcontent-%COMP%]{line-height:1;font-size:25px;position:relative;top:2px;width:100%;margin-right:4px;cursor:pointer}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%]{display:flex}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .blank-space[_ngcontent-%COMP%]{flex-grow:1}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]{color:#f8f9f9;border-radius:10px;opacity:.5;margin-right:2px;text-decoration:none;height:40px;display:flex;align-items:center}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%]:hover{opacity:.75}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[disabled][_ngcontent-%COMP%]{opacity:1!important;color:#f8f9f9;background:rgba(0,0,0,.7)!important}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{margin-right:2px;opacity:.75;font-size:18px}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .tab-button[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:1rem;margin:0 4px;position:relative;top:-1px}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .select-tab-button[_ngcontent-%COMP%]{opacity:.75!important}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .select-tab-button[_ngcontent-%COMP%]:hover{opacity:1!important}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .right-container[_ngcontent-%COMP%]{display:flex;align-items:center}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .right-container[_ngcontent-%COMP%] app-refresh-button[_ngcontent-%COMP%]{align-self:flex-end}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .right-container[_ngcontent-%COMP%] .menu-button[_ngcontent-%COMP%]{height:32px;width:32px;min-width:0px!important;background-color:#f8f9f9;border-radius:100%;padding:0!important;line-height:normal;color:#929292;font-size:20px}.main-container[_ngcontent-%COMP%] .lower-container[_ngcontent-%COMP%] .right-container[_ngcontent-%COMP%] .menu-button[_ngcontent-%COMP%] .icon-container[_ngcontent-%COMP%]{display:flex;place-content:center}.menu-separator[_ngcontent-%COMP%]{width:100%;height:1px;background-color:#0000001f}.flag[_ngcontent-%COMP%]{width:24px;margin-right:16px}.transparent[_ngcontent-%COMP%]{opacity:.5}.top-bar[_ngcontent-%COMP%]{position:fixed;z-index:10;width:100%;height:56px;background-color:#f8f9f9;top:0;left:0;right:0;color:#202226;display:flex}.top-bar[_ngcontent-%COMP%] .logo-container[_ngcontent-%COMP%]{flex-grow:1;display:flex;justify-content:center;align-items:center}.top-bar[_ngcontent-%COMP%] .logo-container[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{height:28px}.top-bar[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%]{flex-shrink:0;width:56px}.top-bar[_ngcontent-%COMP%] .button-container[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:56px;height:56px}.top-bar-margin[_ngcontent-%COMP%]{margin-top:56px;flex-shrink:0}.vpn-info[_ngcontent-%COMP%]{font-size:.7rem;background:rgba(0,0,0,.7);padding:15px 20px;align-self:center}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] .state-td[_ngcontent-%COMP%]{font-weight:700}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:2px 0;min-width:90px}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:3px;font-size:12px;position:relative;top:1px;-webkit-user-select:none;user-select:none;width:auto;line-height:1}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .state-icon[_ngcontent-%COMP%]{transform:scale(.75)}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .aminated-state-icon-container[_ngcontent-%COMP%]{width:0px;height:0px}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .aminated-state-icon-container[_ngcontent-%COMP%] .state-icon[_ngcontent-%COMP%]{height:auto;animation:_ngcontent-%COMP%_state-icon-animation 1s linear 1}@keyframes _ngcontent-%COMP%_state-icon-animation{0%{transform:perspective(1px) scale(1);opacity:.8}to{transform:scale(2);opacity:0}}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .animation-container[_ngcontent-%COMP%]{width:0px;height:0px}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .animation-container[_ngcontent-%COMP%] .internal-animation-container[_ngcontent-%COMP%]{width:200px}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] .animation-container[_ngcontent-%COMP%] .internal-animation-container[_ngcontent-%COMP%] .animation-area[_ngcontent-%COMP%]{display:inline-block;animation:_ngcontent-%COMP%_state-animation 1s linear 1;opacity:0}@keyframes _ngcontent-%COMP%_state-animation{0%{transform:scale(1);opacity:1}to{transform:scale(2.5);opacity:0}}.vpn-info[_ngcontent-%COMP%] table[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-of-type{padding-right:30px}.vpn-info[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}.top-text-vpn-container[_ngcontent-%COMP%]{display:flex;flex-direction:row-reverse;font-size:.6rem}.top-text-vpn-container[_ngcontent-%COMP%] .connection-error-msg-vpn[_ngcontent-%COMP%]{margin:-5px 5px 5px 10px;color:orange}.top-text-vpn-container[_ngcontent-%COMP%] .elements-separator[_ngcontent-%COMP%]{flex-grow:1}.top-text-vpn-container[_ngcontent-%COMP%] .languaje-button-vpn[_ngcontent-%COMP%]{margin:-5px 10px 5px 0}.top-text-vpn-container[_ngcontent-%COMP%] .languaje-button-vpn[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]{cursor:pointer;display:inline;opacity:.8}.top-text-vpn-container[_ngcontent-%COMP%] .languaje-button-vpn[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]:hover{opacity:1}.top-text-vpn-container[_ngcontent-%COMP%] .languaje-button-vpn[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .language-flag[_ngcontent-%COMP%]{width:11px;height:11px;margin-right:2px}.remote-vpn-alert-container[_ngcontent-%COMP%]{background-color:#da3439;margin:0 -21px;padding:10px 20px 15px;text-align:center}.remote-vpn-alert-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:14px}.remote-vpn-alert-container[_ngcontent-%COMP%] .top-line[_ngcontent-%COMP%]{font-size:1.25rem}.remote-vpn-alert-container[_ngcontent-%COMP%] .bottom-line[_ngcontent-%COMP%]{font-size:.8rem}"]}),t})();const iP=function(){return["start.title"]};function GZ(t,n){if(1&t&&(D(0,"div",2)(1,"div"),xe(2,"app-top-bar",3),C(),xe(3,"app-loading-indicator",4),C()),2&t){const e=z();c(2),w("titleParts",qn(4,iP))("tabsData",e.tabsData)("selectedTabIndex",e.showDmsgInfo?1:0)("showUpdateButton",!1)}}function qZ(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.translatableValue))}}function KZ(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e.value)}}function ZZ(t,n){if(1&t&&(D(0,"div",23)(1,"span"),I(2),R(3,"translate"),C(),V(4,qZ,3,3,"ng-container",24),V(5,KZ,2,1,"ng-container",24),C()),2&t){const e=n.$implicit;c(2),ce("",H(3,3,e.filterName),": "),c(2),w("ngIf",e.translatableValue),c(1),w("ngIf",e.value)}}function XZ(t,n){if(1&t){const e=et();D(0,"div",20),ye("click",function(){return Pe(e),Oe(z(2).dataFilterer.removeFilters())}),V(1,ZZ,6,5,"div",21),D(2,"div",22),I(3),R(4,"translate"),C()()}if(2&t){const e=z(2);c(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),c(2),se(H(4,2,"filters.press-to-remove"))}}function JZ(t,n){if(1&t){const e=et();D(0,"mat-icon",25),ye("click",function(){return Pe(e),Oe(z(2).dataFilterer.changeFilters())}),R(1,"translate"),I(2,"filter_list"),C()}2&t&&w("inline",!0)("matTooltip",H(1,2,"filters.filter-action"))}function QZ(t,n){1&t&&(D(0,"mat-icon",26),I(1,"more_horiz"),C()),2&t&&(z(),w("matMenuTriggerFor",ci(12)))}const rP=function(){return["/nodes","list"]},oP=function(){return["/nodes","dmsg"]};function eX(t,n){if(1&t&&xe(0,"app-paginator",27),2&t){const e=z(2);w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",e.showDmsgInfo?qn(5,oP):qn(4,rP))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function tX(t,n){if(1&t&&(D(0,"mat-icon",42),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function nX(t,n){if(1&t&&(D(0,"mat-icon",42),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function iX(t,n){if(1&t&&(D(0,"mat-icon",42),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function rX(t,n){if(1&t&&(D(0,"mat-icon",42),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function oX(t,n){1&t&&(Ue(0),I(1,"*"),We())}function sX(t,n){if(1&t&&(Ue(0),D(1,"mat-icon",42),I(2),C(),V(3,oX,2,0,"ng-container",24),We()),2&t){const e=z(5);c(1),w("inline",!0),c(1),se(e.dataSorter.sortingArrow),c(1),w("ngIf",e.dataSorter.currentlySortingByLabel)}}function aX(t,n){if(1&t){const e=et();D(0,"th",38),ye("click",function(){Pe(e);const o=z(4);return Oe(o.dataSorter.changeSortingOrder(o.dmsgServerSortData))}),I(1),R(2,"translate"),V(3,sX,4,3,"ng-container",24),C()}if(2&t){const e=z(4);c(1),ce(" ",H(2,2,"nodes.dmsg-server")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.dmsgServerSortData)}}function lX(t,n){if(1&t&&(D(0,"mat-icon",42),I(1),C()),2&t){const e=z(5);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function cX(t,n){if(1&t){const e=et();D(0,"th",38),ye("click",function(){Pe(e);const o=z(4);return Oe(o.dataSorter.changeSortingOrder(o.pingSortData))}),I(1),R(2,"translate"),V(3,lX,2,2,"mat-icon",35),C()}if(2&t){const e=z(4);c(1),ce(" ",H(2,2,"nodes.ping")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.pingSortData)}}function dX(t,n){1&t&&(D(0,"mat-icon",49),R(1,"translate"),I(2,"star"),C()),2&t&&w("inline",!0)("matTooltip",H(1,2,"nodes.hypervisor-info"))}function uX(t,n){if(1&t){const e=et();D(0,"app-labeled-element-text",51),ye("labelEdited",function(){return Pe(e),Oe(z(6).forceDataRefresh())}),C()}if(2&t){const e=z(2).$implicit,i=z(4);Ln("id",e.dmsgServerPk),w("short",!0)("elementType",i.labeledElementTypes.DmsgServer)}}function hX(t,n){if(1&t&&(D(0,"td"),V(1,uX,1,3,"app-labeled-element-text",50),C()),2&t){const e=z().$implicit;c(1),w("ngIf",e.dmsgServerPk)}}const sP=function(t){return{time:t}};function fX(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z(2).$implicit;c(1),ce(" ",kt(2,1,"common.time-in-ms",He(4,sP,e.roundTripPing))," ")}}function pX(t,n){if(1&t&&(D(0,"td"),V(1,fX,3,6,"ng-container",24),C()),2&t){const e=z().$implicit;c(1),w("ngIf",e.dmsgServerPk)}}function mX(t,n){1&t&&(D(0,"button",52),R(1,"translate"),D(2,"mat-icon",42),I(3,"chevron_right"),C()()),2&t&&(w("matTooltip",H(1,2,"nodes.view-node")),c(2),w("inline",!0))}function gX(t,n){if(1&t){const e=et();D(0,"button",46),ye("click",function(o){Pe(e);const s=z().$implicit,a=z(4);return o.stopPropagation(),o.preventDefault(),Oe(a.deleteNode(s))}),R(1,"translate"),D(2,"mat-icon"),I(3,"close"),C()()}2&t&&w("matTooltip",H(1,1,"nodes.delete-node"))}const _X=function(t,n){return{"click-effect":t,"non-selectable":n}},aP=function(t){return["/nodes",t]};function bX(t,n){if(1&t){const e=et();D(0,"a",43)(1,"td"),V(2,dX,3,4,"mat-icon",44),C(),D(3,"td"),xe(4,"span",45),R(5,"translate"),C(),D(6,"td"),I(7),C(),D(8,"td"),I(9),C(),V(10,hX,2,1,"td",24),V(11,pX,2,1,"td",24),D(12,"td",40)(13,"button",46),ye("click",function(o){const a=Pe(e).$implicit,l=z(4);return o.stopPropagation(),o.preventDefault(),Oe(l.copyToClipboard(a))}),R(14,"translate"),D(15,"mat-icon",42),I(16,"filter_none"),C()(),D(17,"button",46),ye("click",function(o){const a=Pe(e).$implicit,l=z(4);return o.stopPropagation(),o.preventDefault(),Oe(l.showEditLabelDialog(a))}),R(18,"translate"),D(19,"mat-icon",42),I(20,"short_text"),C()(),V(21,mX,4,4,"button",47),V(22,gX,4,3,"button",48),C()()}if(2&t){const e=n.$implicit,i=z(4);w("ngClass",mn(22,_X,e.online,!e.online))("routerLink",e.online?He(25,aP,e.localPk):null),c(2),w("ngIf",e.isHypervisor),c(2),eo(i.nodeStatusClass(e,!0)),w("matTooltip",H(5,16,i.nodeStatusText(e,!0))),c(3),ce(" ",e.label," "),c(2),ce(" ",e.localPk," "),c(1),w("ngIf",i.showDmsgInfo),c(1),w("ngIf",i.showDmsgInfo),c(2),w("matTooltip",H(14,18,i.showDmsgInfo?"nodes.copy-data":"nodes.copy-key")),c(2),w("inline",!0),c(2),w("matTooltip",H(18,20,"labeled-element.edit-label")),c(2),w("inline",!0),c(2),w("ngIf",e.online),c(1),w("ngIf",!e.online)}}function vX(t,n){if(1&t){const e=et();D(0,"table",32)(1,"tr")(2,"th",33),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.hypervisorSortData))}),R(3,"translate"),D(4,"mat-icon",34),I(5,"star_outline"),C(),V(6,tX,2,2,"mat-icon",35),C(),D(7,"th",33),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.stateSortData))}),R(8,"translate"),xe(9,"span",36),V(10,nX,2,2,"mat-icon",35),C(),D(11,"th",37),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.labelSortData))}),I(12),R(13,"translate"),V(14,iX,2,2,"mat-icon",35),C(),D(15,"th",38),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.keySortData))}),I(16),R(17,"translate"),V(18,rX,2,2,"mat-icon",35),C(),V(19,aX,4,4,"th",39),V(20,cX,4,4,"th",39),xe(21,"th",40),C(),V(22,bX,23,27,"a",41),C()}if(2&t){const e=z(3);c(2),w("matTooltip",H(3,11,"nodes.hypervisor")),c(4),w("ngIf",e.dataSorter.currentSortingColumn===e.hypervisorSortData),c(1),w("matTooltip",H(8,13,"nodes.state-tooltip")),c(3),w("ngIf",e.dataSorter.currentSortingColumn===e.stateSortData),c(2),ce(" ",H(13,15,"nodes.label")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.labelSortData),c(2),ce(" ",H(17,17,"nodes.key")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.keySortData),c(1),w("ngIf",e.showDmsgInfo),c(1),w("ngIf",e.showDmsgInfo),c(2),w("ngForOf",e.dataSource)}}function yX(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.label")))}function MX(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.inverted-order")))}function wX(t,n){1&t&&(D(0,"div",62)(1,"mat-icon",67),I(2,"star"),C(),I(3,"\xa0 "),D(4,"span",68),I(5),R(6,"translate"),C()()),2&t&&(c(1),w("inline",!0),c(4),se(H(6,2,"nodes.hypervisor")))}function CX(t,n){if(1&t){const e=et();D(0,"div",63)(1,"span",9),I(2),R(3,"translate"),C(),I(4,": "),D(5,"app-labeled-element-text",69),ye("labelEdited",function(){return Pe(e),Oe(z(5).forceDataRefresh())}),C()()}if(2&t){const e=z().$implicit,i=z(4);c(2),se(H(3,3,"nodes.dmsg-server")),c(3),Ln("id",e.dmsgServerPk),w("elementType",i.labeledElementTypes.DmsgServer)}}function xX(t,n){if(1&t&&(D(0,"div",62)(1,"span",9),I(2),R(3,"translate"),C(),I(4),R(5,"translate"),C()),2&t){const e=z().$implicit;c(2),se(H(3,2,"nodes.ping")),c(2),ce(": ",kt(5,4,"common.time-in-ms",He(7,sP,e.roundTripPing))," ")}}const kX=function(t){return{"selectable click-effect":t}};function SX(t,n){if(1&t){const e=et();D(0,"a",59)(1,"tr",60)(2,"td",60)(3,"div",55)(4,"div",56),V(5,wX,7,4,"div",61),D(6,"div",62)(7,"span",9),I(8),R(9,"translate"),C(),I(10,": "),D(11,"span"),I(12),R(13,"translate"),C()(),D(14,"div",62)(15,"span",9),I(16),R(17,"translate"),C(),I(18),C(),D(19,"div",63)(20,"span",9),I(21),R(22,"translate"),C(),I(23),C(),V(24,CX,6,5,"div",64),V(25,xX,6,9,"div",61),C(),xe(26,"div",65),D(27,"div",57)(28,"button",66),ye("click",function(o){const a=Pe(e).$implicit,l=z(4);return o.stopPropagation(),o.preventDefault(),Oe(l.showOptionsDialog(a))}),R(29,"translate"),D(30,"mat-icon"),I(31),C()()()()()()()}if(2&t){const e=n.$implicit,i=z(4);w("ngClass",He(25,kX,e.online))("routerLink",e.online?He(27,aP,e.localPk):null),c(5),w("ngIf",e.isHypervisor),c(3),se(H(9,15,"nodes.state")),c(3),eo(i.nodeStatusClass(e,!1)+" title"),c(1),se(H(13,17,i.nodeStatusText(e,!1))),c(4),se(H(17,19,"nodes.label")),c(2),ce(": ",e.label," "),c(3),se(H(22,21,"nodes.key")),c(2),ce(": ",e.localPk," "),c(1),w("ngIf",i.showDmsgInfo),c(1),w("ngIf",i.showDmsgInfo),c(3),w("matTooltip",H(29,23,"common.options")),c(3),se("add")}}function DX(t,n){if(1&t){const e=et();D(0,"table",53)(1,"tr",54),ye("click",function(){return Pe(e),Oe(z(3).dataSorter.openSortingOrderModal())}),D(2,"td")(3,"div",55)(4,"div",56)(5,"div",9),I(6),R(7,"translate"),C(),D(8,"div"),I(9),R(10,"translate"),V(11,yX,3,3,"ng-container",24),V(12,MX,3,3,"ng-container",24),C()(),D(13,"div",57)(14,"mat-icon",42),I(15,"keyboard_arrow_down"),C()()()()(),V(16,SX,32,29,"a",58),C()}if(2&t){const e=z(3);c(6),se(H(7,6,"tables.sorting-title")),c(3),ce("",H(10,8,e.dataSorter.currentSortingColumn.label)," "),c(2),w("ngIf",e.dataSorter.currentlySortingByLabel),c(1),w("ngIf",e.dataSorter.sortingInReverseOrder),c(2),w("inline",!0),c(2),w("ngForOf",e.dataSource)}}function TX(t,n){if(1&t&&(D(0,"div",28)(1,"div",29),V(2,vX,23,19,"table",30),V(3,DX,17,10,"table",31),C()()),2&t){const e=z(2);c(2),w("ngIf",e.dataSource.length>0),c(1),w("ngIf",e.dataSource.length>0)}}function LX(t,n){if(1&t&&xe(0,"app-paginator",27),2&t){const e=z(2);w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",e.showDmsgInfo?qn(5,oP):qn(4,rP))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function EX(t,n){1&t&&(D(0,"span",73),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"nodes.empty")))}function IX(t,n){1&t&&(D(0,"span",73),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"nodes.empty-with-filter")))}function PX(t,n){if(1&t&&(D(0,"div",28)(1,"div",70)(2,"mat-icon",71),I(3,"warning"),C(),V(4,EX,3,3,"span",72),V(5,IX,3,3,"span",72),C()()),2&t){const e=z(2);c(2),w("inline",!0),c(2),w("ngIf",0===e.allNodes.length),c(1),w("ngIf",0!==e.allNodes.length)}}const OX=function(t){return{"paginator-icons-fixer":t}};function AX(t,n){if(1&t){const e=et();D(0,"div",5)(1,"div",6)(2,"app-top-bar",7),ye("refreshRequested",function(){return Pe(e),Oe(z().forceDataRefresh(!0))})("optionSelected",function(o){return Pe(e),Oe(z().performAction(o))}),C()(),D(3,"div",6)(4,"div",8)(5,"div",9),V(6,XZ,5,4,"div",10),C(),D(7,"div",11)(8,"div",12),V(9,JZ,3,4,"mat-icon",13),V(10,QZ,2,1,"mat-icon",14),D(11,"mat-menu",15,16)(13,"div",17),ye("click",function(){return Pe(e),Oe(z().removeOffline())}),I(14),R(15,"translate"),C()()(),V(16,eX,1,6,"app-paginator",18),C()(),V(17,TX,4,2,"div",19),V(18,LX,1,6,"app-paginator",18),V(19,PX,6,3,"div",19),C()()}if(2&t){const e=z();c(2),w("titleParts",qn(21,iP))("tabsData",e.tabsData)("selectedTabIndex",e.showDmsgInfo?1:0)("secondsSinceLastUpdate",e.secondsSinceLastUpdate)("showLoading",e.updating)("showAlert",e.errorsUpdating)("refeshRate",e.storageService.getRefreshTime())("optionsData",e.options),c(2),w("ngClass",He(22,OX,e.numberOfPages>1)),c(2),w("ngIf",e.dataFilterer.currentFiltersTexts&&e.dataFilterer.currentFiltersTexts.length>0),c(3),w("ngIf",e.allNodes&&e.allNodes.length>0),c(1),w("ngIf",e.dataSource.length>0),c(1),w("overlapTrigger",!1),c(2),Ln("disabled",!e.hasOfflineNodes),c(1),ce(" ",H(15,19,"nodes.delete-all-offline")," "),c(2),w("ngIf",e.numberOfPages>1),c(1),w("ngIf",0!==e.dataSource.length),c(1),w("ngIf",e.numberOfPages>1),c(1),w("ngIf",0===e.dataSource.length)}}let lP=(()=>{class t extends er{constructor(e,i,o,s,a,l,d,_,E,F,G){super(),this.nodeService=e,this.multipleNodeDataService=i,this.router=o,this.dialog=s,this.authService=a,this.storageService=l,this.ngZone=d,this.snackbarService=_,this.clipboardService=E,this.translateService=F,this.persistentServerDataResponseKey="serv-dat-response",this.nodesListId="nl",this.dmsgListId="dl",this.hypervisorSortData=new Vn(["isHypervisor"],"nodes.hypervisor",Zt.Boolean),this.stateSortData=new Vn(["online"],"nodes.state",Zt.Boolean),this.labelSortData=new Vn(["label"],"nodes.label",Zt.Text),this.keySortData=new Vn(["localPk"],"nodes.key",Zt.Text),this.dmsgServerSortData=new Vn(["dmsgServerPk"],"nodes.dmsg-server",Zt.Text,["dmsgServerPk_label"]),this.pingSortData=new Vn(["roundTripPing"],"nodes.ping",Zt.Number),this.loading=!0,this.tabsData=[],this.options=[],this.showDmsgInfo=!1,this.canLogOut=!0,this.hasOfflineNodes=!1,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"nodes.filter-dialog.online",keyNameInElementsArray:"online",type:$n.Select,printableLabelsForValues:[{value:"",label:"nodes.filter-dialog.online-options.any"},{value:"true",label:"nodes.filter-dialog.online-options.online"},{value:"false",label:"nodes.filter-dialog.online-options.offline"}]},{filterName:"nodes.filter-dialog.label",keyNameInElementsArray:"label",type:$n.TextInput,maxlength:100},{filterName:"nodes.filter-dialog.key",keyNameInElementsArray:"localPk",type:$n.TextInput,maxlength:66},{filterName:"nodes.filter-dialog.dmsg",keyNameInElementsArray:"dmsgServerPk",secondaryKeyNameInElementsArray:"dmsgServerPk_label",type:$n.TextInput,maxlength:66}],this.secondsSinceLastUpdate=0,this.lastUpdate=Date.now(),this.updating=!1,this.errorsUpdating=!1,this.lastUpdateRequestedManually=!1,this.labeledElementTypes=Xi,this.updateOptionsMenu(),this.authVerificationSubscription=this.authService.checkLogin().subscribe(_e=>{this.canLogOut=_e!==Fr.AuthDisabled,this.updateOptionsMenu()}),this.showDmsgInfo=-1!==this.router.url.indexOf("dmsg"),this.showDmsgInfo||this.filterProperties.splice(this.filterProperties.length-1);const ie=[this.hypervisorSortData,this.stateSortData,this.labelSortData,this.keySortData];this.showDmsgInfo&&(ie.push(this.dmsgServerSortData),ie.push(this.pingSortData)),this.dataSorter=new Rd(this.dialog,this.translateService,this.storageService,ie,3,this.showDmsgInfo?this.dmsgListId:this.nodesListId),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataFilterer=new Nd(this.dialog,G,this.router,this.filterProperties,this.showDmsgInfo?this.dmsgListId:this.nodesListId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(_e=>{this.filteredNodes=_e,this.hasOfflineNodes=!1,this.filteredNodes.forEach(Ce=>{Ce.online||(this.hasOfflineNodes=!0)}),this.dataSorter.setData(this.filteredNodes)}),this.navigationsSubscription=G.paramMap.subscribe(_e=>{if(_e.has("page")){let Ce=Number.parseInt(_e.get("page"),10);(isNaN(Ce)||Ce<1)&&(Ce=1),this.currentPageInUrl=Ce,this.recalculateElementsToShow()}}),this.tabsData=[{icon:"view_headline",label:"nodes.title",linkParts:["/nodes"]},{icon:"language",label:"nodes.dmsg-title",linkParts:["/nodes","dmsg"]},{icon:"settings",label:"settings.title",linkParts:["/settings"]}],this.languageSubscription=this.translateService.onLangChange.subscribe(()=>{this.multipleNodeDataService.forceRefresh()})}updateOptionsMenu(){this.options=[],this.options.push({name:"nodes.modify-rewards-all",actionName:"modifyRewardsAll",icon:"edit"}),this.canLogOut&&this.options.push({name:"common.logout",actionName:"logout",icon:"power_settings_new"})}ngOnInit(){return this.startGettingData(!0),this.ngZone.runOutsideAngular(()=>{this.updateTimeSubscription=Sh(5e3,5e3).subscribe(()=>this.ngZone.run(()=>{this.secondsSinceLastUpdate=Math.floor((Date.now()-this.lastUpdate)/1e3)}))}),super.ngOnInit()}ngOnDestroy(){this.authVerificationSubscription.unsubscribe(),this.dataSubscription.unsubscribe(),this.updateTimeSubscription.unsubscribe(),this.navigationsSubscription.unsubscribe(),this.languageSubscription.unsubscribe(),this.updateSubscription&&this.updateSubscription.unsubscribe(),this.dataSortedSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFiltererSubscription.unsubscribe(),this.dataFilterer.dispose()}performAction(e){"logout"===e?this.logout():"updateAll"===e?this.updateAll():"modifyRewardsAll"===e&&this.changeRewardsToAll()}nodeStatusClass(e,i){return e.online?e.health&&e.health.servicesHealth===ro.Unhealthy?i?"dot-yellow blinking":"yellow-text":e.health&&e.health.servicesHealth===ro.Healthy?i?"dot-green":"green-text":i?"dot-outline-gray":"":i?"dot-red":"red-text"}nodeStatusText(e,i){return e.online?e.health&&e.health.servicesHealth===ro.Healthy?"node.statuses.online"+(i?"-tooltip":""):e.health&&e.health.servicesHealth===ro.Unhealthy?"node.statuses.partially-online"+(i?"-tooltip":""):e.health&&e.health.servicesHealth===ro.Connecting?"node.statuses.connecting"+(i?"-tooltip":""):"node.statuses.unknown"+(i?"-tooltip":""):"node.statuses.offline"+(i?"-tooltip":"")}forceDataRefresh(e=!1){e&&(this.lastUpdateRequestedManually=!0),this.multipleNodeDataService.forceRefresh()}startGettingData(e){const i=e?this.getLocalValue(this.persistentServerDataResponseKey):null;let o=this.multipleNodeDataService.startRequestingData();i&&(o=$e(JSON.parse(i.value))),this.dataSubscription=o.subscribe(s=>{i||this.saveLocalValue(this.persistentServerDataResponseKey,JSON.stringify(s)),this.updating=!s||s.updating,s&&!s.updating&&(s.data&&!s.error?(this.allNodes=s.data,this.showDmsgInfo&&this.allNodes.forEach(a=>{a.dmsgServerPk_label=ha.getCompleteLabel(this.storageService,this.translateService,a.dmsgServerPk)}),this.dataFilterer.setData(this.allNodes),this.loading=!1,this.snackbarService.closeCurrentIfTemporaryError(),this.lastUpdate=s.momentOfLastCorrectUpdate,this.secondsSinceLastUpdate=Math.floor((Date.now()-s.momentOfLastCorrectUpdate)/1e3),this.errorsUpdating=!1,this.lastUpdateRequestedManually&&(this.snackbarService.showDone("common.refreshed",null),this.lastUpdateRequestedManually=!1)):s.error&&(this.errorsUpdating||this.snackbarService.showError(this.loading?"common.loading-error":"nodes.error-load",null,!0,s.error),this.errorsUpdating=!0)),i&&this.startGettingData(!1)})}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredNodes){const e=Vt.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredNodes.length/e),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const i=e*(this.currentPage-1);this.nodesToShow=this.filteredNodes.slice(i,i+e)}else this.nodesToShow=null;this.nodesToShow&&(this.dataSource=this.nodesToShow)}logout(){const e=Jt.createConfirmationDialog(this.dialog,"common.logout-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.closeModal(),this.authService.logout().subscribe(()=>this.router.navigate(["login"]),()=>this.snackbarService.showError("common.logout-error"))})}updateAll(){if(!this.dataSource||0===this.dataSource.length)return void this.snackbarService.showError("nodes.no-visors-to-update");const e=[],i=[];this.dataSource.forEach(o=>{if(o.online){const s={key:o.localPk,label:o.label,version:o.version,tag:o.buildTag};Jt.checkIfTagIsUpdatable(o.buildTag)?e.push(s):i.push(s)}}),Qq.openDialog(this.dialog,e,i)}changeRewardsToAll(){if(!this.dataSource||0===this.dataSource.length)return void this.snackbarService.showError("nodes.no-visors-to-modify");const e=[];this.dataSource.forEach(o=>{o.online&&e.push({key:o.localPk,label:o.label})}),DK.openDialog(this.dialog,{nodes:e})}recursivelyUpdateWallets(e,i,o=0){return this.nodeService.update(e[e.length-1]).pipe(Co(()=>$e(null)),Ye(s=>(s&&s.updated&&!s.error?this.snackbarService.showDone(this.translateService.instant("nodes.update.done",{name:i[i.length-1]})):(this.snackbarService.showError(this.translateService.instant("nodes.update.update-error",{name:i[i.length-1]})),o+=1),e.pop(),i.pop(),e.length>=1?this.recursivelyUpdateWallets(e,i,o):$e(o))))}showOptionsDialog(e){const i=[{icon:"filter_none",label:"nodes.copy-key"}];this.showDmsgInfo&&i.push({icon:"filter_none",label:"nodes.copy-dmsg"}),i.push({icon:"short_text",label:"labeled-element.edit-label"}),e.online||i.push({icon:"close",label:"nodes.delete-node"}),qr.openDialog(this.dialog,i,"common.options").afterClosed().subscribe(o=>{1===o?this.copySpecificTextToClipboard(e.localPk):this.showDmsgInfo?2===o?this.copySpecificTextToClipboard(e.dmsgServerPk):3===o?this.showEditLabelDialog(e):4===o&&this.deleteNode(e):2===o?this.showEditLabelDialog(e):3===o&&this.deleteNode(e)})}copyToClipboard(e){this.showDmsgInfo?qr.openDialog(this.dialog,[{icon:"filter_none",label:"nodes.key"},{icon:"filter_none",label:"nodes.dmsg-server"}],"common.options").afterClosed().subscribe(o=>{1===o?this.copySpecificTextToClipboard(e.localPk):2===o&&this.copySpecificTextToClipboard(e.dmsgServerPk)}):this.copySpecificTextToClipboard(e.localPk)}copySpecificTextToClipboard(e){this.clipboardService.copy(e)&&this.snackbarService.showDone("copy.copied")}showEditLabelDialog(e){let i=this.storageService.getLabelInfo(e.localPk);i||(i={id:e.localPk,label:"",identifiedElementType:Xi.Node}),N1.openDialog(this.dialog,i).afterClosed().subscribe(o=>{o&&this.forceDataRefresh()})}deleteNode(e){const i=Jt.createConfirmationDialog(this.dialog,"nodes.delete-node-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.close(),this.storageService.setLocalNodesAsHidden([e.localPk],[e.ip]),this.forceDataRefresh(),this.snackbarService.showDone("nodes.deleted")})}removeOffline(){let e="nodes.delete-all-offline-confirmation";this.dataFilterer.currentFiltersTexts&&this.dataFilterer.currentFiltersTexts.length>0&&(e="nodes.delete-all-filtered-offline-confirmation");const i=Jt.createConfirmationDialog(this.dialog,e);i.componentInstance.operationAccepted.subscribe(()=>{i.close();const o=[],s=[];this.filteredNodes.forEach(a=>{a.online||(o.push(a.localPk),s.push(a.ip))}),o.length>0&&(this.storageService.setLocalNodesAsHidden(o,s),this.forceDataRefresh(),1===o.length?this.snackbarService.showDone("nodes.deleted-singular"):this.snackbarService.showDone("nodes.deleted-plural",{number:o.length}))})}}return t.\u0275fac=function(e){return new(e||t)(Y(ua),Y(NI),Y(hn),Y(In),Y(Wh),Y(Ji),Y(ft),Y(Dn),Y(ef),Y(To),Y(Mr))},t.\u0275cmp=Ze({type:t,selectors:[["app-node-list"]],features:[nt],decls:2,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["class","row",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton"],[1,"h-100"],[1,"row"],[1,"col-12"],[3,"titleParts","tabsData","selectedTabIndex","secondsSinceLastUpdate","showLoading","showAlert","refeshRate","optionsData","refreshRequested","optionSelected"],[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],["class","small-icon",3,"inline","matTooltip","click",4,"ngIf"],[3,"matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","matTooltip","click"],[3,"matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow","full-node-list-margins"],["class","responsive-table-translucid d-none d-md-table","cellspacing","0","cellpadding","0",4,"ngIf"],["class","responsive-table-translucid d-md-none nowrap","cellspacing","0","cellpadding","0",4,"ngIf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table"],[1,"sortable-column","small-column",3,"matTooltip","click"],[1,"hypervisor-icon","grey-text"],[3,"inline",4,"ngIf"],[1,"dot-outline-gray"],[1,"sortable-column","labels",3,"click"],[1,"sortable-column",3,"click"],["class","sortable-column",3,"click",4,"ngIf"],[1,"actions"],["class","selectable link-row",3,"ngClass","routerLink",4,"ngFor","ngForOf"],[3,"inline"],[1,"selectable","link-row",3,"ngClass","routerLink"],["class","hypervisor-icon",3,"inline","matTooltip",4,"ngIf"],[3,"matTooltip"],["mat-button","",1,"big-action-button","transparent-button",3,"matTooltip","click"],["mat-button","","class","big-action-button transparent-button",3,"matTooltip",4,"ngIf"],["mat-button","","class","big-action-button transparent-button",3,"matTooltip","click",4,"ngIf"],[1,"hypervisor-icon",3,"inline","matTooltip"],["shortTextLength","4",3,"short","id","elementType","labelEdited",4,"ngIf"],["shortTextLength","4",3,"short","id","elementType","labelEdited"],["mat-button","",1,"big-action-button","transparent-button",3,"matTooltip"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none","nowrap"],[1,"selectable","click-effect",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],["class","link-row",3,"ngClass","routerLink",4,"ngFor","ngForOf"],[1,"link-row",3,"ngClass","routerLink"],[1,"d-block"],["class","list-row",4,"ngIf"],[1,"list-row"],[1,"list-row","long-content"],["class","list-row long-content",4,"ngIf"],[1,"margin-part"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],[1,"hypervisor-icon",3,"inline"],[1,"yellow-clear-text","title"],[3,"id","elementType","labelEdited"],[1,"box-internal-container","font-sm"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(e,i){1&e&&(V(0,GZ,4,5,"div",0),V(1,AX,20,24,"div",1)),2&e&&(w("ngIf",i.loading),c(1),w("ngIf",!i.loading))},dependencies:[Nn,gi,Ft,qa,Wr,el,Cn,vi,Yd,pa,Hd,as,Bd,sc,ha,wt],styles:[".labels[_ngcontent-%COMP%]{width:15%}.actions[_ngcontent-%COMP%]{text-align:right;width:120px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}.hypervisor-icon[_ngcontent-%COMP%]{font-size:14px!important;line-height:14px!important;position:relative;top:2px;margin-left:2px;color:#d48b05}.small-column[_ngcontent-%COMP%]{width:1px}.non-selectable[_ngcontent-%COMP%]{cursor:not-allowed}"]}),t})();const FX=["content"],H1=function(t){return{number:t}};function RX(t,n){if(1&t&&(D(0,"div",14),I(1),R(2,"translate"),C()),2&t){const e=z(2);c(1),ce(" ",kt(2,1,"node.logs.filter-ignored",He(4,H1,e.logEntries.length-e.filteredLogEntries.length))," ")}}function NX(t,n){if(1&t){const e=et();D(0,"div",9),ye("click",function(){return Pe(e),Oe(z().showFilters())}),D(1,"div",10)(2,"div")(3,"span"),I(4),R(5,"translate"),C(),D(6,"span",11),I(7),R(8,"translate"),C()(),V(9,RX,3,6,"div",12),C(),xe(10,"div",13),C()}if(2&t){const e=z();c(4),ce("",H(5,3,"node.logs.selected-filter")," "),c(3),se(H(8,5,"node.logs."+e.levelDetails.get(e.currentMinimumLevel).levelFilterName)),c(2),w("ngIf",e.logEntries.length>e.filteredLogEntries.length)}}function YX(t,n){if(1&t&&(D(0,"div",15)(1,"a",16),I(2),R(3,"translate"),C()()),2&t){const e=z();c(1),w("href",e.getFullLogsUrl(),Vo),c(1),ce(" ",kt(3,2,"node.logs.view-rest",He(5,H1,e.totalLogs))," ")}}function HX(t,n){1&t&&(Ue(0),I(1,":"),We())}function BX(t,n){if(1&t&&(D(0,"span"),I(1),C()),2&t){const e=z().$implicit;c(1),ce(" ",e.msg," ")}}function VX(t,n){if(1&t&&(Ue(0),D(1,"span",21),I(2),C(),D(3,"span"),I(4),C(),We()),2&t){const e=n.$implicit;c(2),ce(" ",e.name," "),c(2),ce(' ="',e.value,'" ')}}function jX(t,n){if(1&t&&(D(0,"div",15)(1,"span",18),I(2),C(),D(3,"span"),I(4),C(),I(5," [ "),D(6,"span",18),I(7),C(),D(8,"span",19),I(9),C(),I(10," ]"),V(11,HX,2,0,"ng-container",4),V(12,BX,2,1,"span",4),V(13,VX,5,2,"ng-container",20),C()),2&t){const e=n.$implicit,i=z(2);c(2),ce(" ",e.time," "),c(1),eo(i.levelDetails.get(e.level).colorClass),c(1),ce(" ",i.levelDetails.get(e.level).name," "),c(3),ce(" ",e.func," "),c(2),ce(" ",e._module," "),c(2),w("ngIf",e.msg),c(1),w("ngIf",e.msg),c(1),w("ngForOf",e.extra)}}function zX(t,n){if(1&t&&(Ue(0),V(1,jX,14,9,"div",17),We()),2&t){const e=z();c(1),w("ngForOf",e.filteredLogEntries)}}function UX(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),ce(" ",H(2,1,"node.logs.view-all")," "))}function WX(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z(2);c(1),ce(" ",kt(2,1,"node.logs.view-rest",He(4,H1,e.totalLogs))," ")}}function $X(t,n){if(1&t&&(D(0,"div",15)(1,"a",16),V(2,UX,3,3,"ng-container",4),V(3,WX,3,6,"ng-container",4),C()()),2&t){const e=z();c(1),w("href",e.getFullLogsUrl(),Vo),c(1),w("ngIf",!e.hasMoreLogMessages),c(1),w("ngIf",e.hasMoreLogMessages)}}function GX(t,n){1&t&&(D(0,"div",22),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"node.logs.no-logs")," "))}function qX(t,n){1&t&&(D(0,"div",22),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"node.logs.no-logs-for-filter")," "))}function KX(t,n){1&t&&xe(0,"app-loading-indicator",23),2&t&&w("showWhite",!1)}function ZX(t,n){1&t&&(D(0,"mat-icon",26),I(1,"refresh"),C()),2&t&&w("inline",!0)}const XX=function(t){return{time:t}};function JX(t,n){if(1&t&&(D(0,"div",24),V(1,ZX,2,1,"mat-icon",25),D(2,"span"),I(3),R(4,"translate"),C()()),2&t){const e=z();c(1),w("ngIf",!e.showAlert),c(2),se(kt(4,2,"refresh-button."+e.elapsedTime.translationVarName,He(5,XX,e.elapsedTime.elapsedTime)))}}var Wt=(()=>((Wt=Wt||{})[Wt.PanicLevel=0]="PanicLevel",Wt[Wt.FatalLevel=1]="FatalLevel",Wt[Wt.ErrorLevel=2]="ErrorLevel",Wt[Wt.WarnLevel=3]="WarnLevel",Wt[Wt.InfoLevel=4]="InfoLevel",Wt[Wt.DebugLevel=5]="DebugLevel",Wt[Wt.TraceLevel=6]="TraceLevel",Wt[Wt.Unknown=7]="Unknown",Wt))();class QX{constructor(){this.extra=[]}}let eJ=(()=>{class t{static openDialog(e){const i=new En;return i.autoFocus=!1,i.width=Vt.largeModalWidth,e.open(t,i)}constructor(e,i,o,s,a){this.dialogRef=e,this.nodeService=i,this.snackbarService=o,this.ngZone=s,this.dialog=a,this.levelDetails=new Map([[Wt.PanicLevel,{name:"PANIC",colorClass:"panic-level-color",levelFilterName:"filter-panic",importance:8}],[Wt.FatalLevel,{name:"FATAL",colorClass:"fatal-level-color",levelFilterName:"filter-faltal",importance:7}],[Wt.ErrorLevel,{name:"ERROR",colorClass:"error-level-color",levelFilterName:"filter-error",importance:6}],[Wt.WarnLevel,{name:"WARNING",colorClass:"warning-level-color",levelFilterName:"filter-warning",importance:5}],[Wt.InfoLevel,{name:"INFO",colorClass:"info-level-color",levelFilterName:"filter-info",importance:4}],[Wt.DebugLevel,{name:"DEBUG",colorClass:"debug-level-color",levelFilterName:"filter-debug",importance:3}],[Wt.TraceLevel,{name:"TRACE",colorClass:"trace-level-color",levelFilterName:"filter-all",importance:2}],[Wt.Unknown,{name:"UNKNOWN LOG",colorClass:"unknown-level-color",levelFilterName:"filter-all",importance:1}]]),this.currentMinimumLevel=Wt.Unknown,this.loading=!0,this.LoadingMoment=0,this.maxElementsPerPage=1e3,this.logEntries=[],this.filteredLogEntries=[],this.hasMoreLogMessages=!1,this.totalLogs=0,this.shouldShowError=!0}ngOnInit(){this.loadData(0)}ngOnDestroy(){this.removeSubscription(),this.removeTimeSubscription()}showFilters(){const e=[{icon:"",label:"node.logs.filter-all"},{icon:"",label:"node.logs.filter-debug"},{icon:"",label:"node.logs.filter-info"},{icon:"",label:"node.logs.filter-warning"},{icon:"",label:"node.logs.filter-error"},{icon:"",label:"node.logs.filter-faltal"},{icon:"",label:"node.logs.filter-panic"}],i=[Wt.Unknown,Wt.DebugLevel,Wt.InfoLevel,Wt.WarnLevel,Wt.ErrorLevel,Wt.FatalLevel,Wt.PanicLevel];for(let o=0;o<=i.length;o++)this.currentMinimumLevel===i[o]&&(e[o].icon="check");qr.openDialog(this.dialog,e,"node.logs.filter-title").afterClosed().subscribe(o=>{this.currentMinimumLevel=i[o-1],this.filter()})}loadData(e){this.removeSubscription(),this.loading=!0,this.subscription=$e(1).pipe(Ti(e),Ye(()=>this.nodeService.getRuntimeLogs(Ct.getCurrentNodeKey()))).subscribe(i=>this.onLogsReceived(i),i=>this.onLogsError(i))}removeSubscription(){this.subscription&&this.subscription.unsubscribe()}removeTimeSubscription(){this.timeUpdateSubscription&&this.timeUpdateSubscription.unsubscribe()}onLogsReceived(e){let i=0;this.totalLogs=e.length,this.hasMoreLogMessages=this.totalLogs-this.maxElementsPerPage>0,e.forEach(o=>{const s=new QX;s.time=o.time,s._module=o._module,s.msg=o.msg,s.func=o.func;const a=o.level?o.level.toLowerCase():"";if(s.level=a.includes("panic")?Wt.PanicLevel:a.includes("fatal")?Wt.FatalLevel:a.includes("error")?Wt.ErrorLevel:a.includes("warn")?Wt.WarnLevel:a.includes("info")?Wt.InfoLevel:a.includes("debug")?Wt.DebugLevel:a.includes("trace")?Wt.TraceLevel:Wt.Unknown,o.current_backoff){const d=Math.floor(o.current_backoff/1e9),_=Math.floor(d/60),E=Math.floor(d%60);s.extra.push(_?{name:"current_backoff",value:_+"m"+E+"s"}:{name:"current_backoff",value:E+"s"})}o.error&&s.extra.push({name:"error",value:o.error});const l=new Set;l.add("time"),l.add("_module"),l.add("msg"),l.add("func"),l.add("level"),l.add("current_backoff"),l.add("error"),l.add("log_line");for(const d in o)l.has(d)||s.extra.push({name:d,value:o[d]});this.totalLogs-i<=this.maxElementsPerPage&&this.logEntries.push(s),i+=1}),this.loading=!1,this.LoadingMoment=Date.now(),this.startUpdatingTime(),this.filter()}filter(){this.filteredLogEntries=[];const e=this.levelDetails.get(this.currentMinimumLevel).importance;this.logEntries.forEach(i=>{const o=this.levelDetails.get(i.level).importance;e<=o&&this.filteredLogEntries.push(i)}),setTimeout(()=>{this.content.nativeElement.scrollTop=this.content.nativeElement.scrollHeight})}startUpdatingTime(){this.elapsedTime=Pg.getElapsedTime(Math.floor((Date.now()-this.LoadingMoment)/1e3)),this.removeTimeSubscription(),this.timeUpdateSubscription=Sh(5e3,5e3).subscribe(()=>this.ngZone.run(()=>{this.elapsedTime=Pg.getElapsedTime(Math.floor((Date.now()-this.LoadingMoment)/1e3))}))}getFullLogsUrl(){return window.location.origin+"/api/visors/"+Ct.getCurrentNodeKey()+"/runtime-logs"}onLogsError(e){e=en(e),this.shouldShowError&&(this.snackbarService.showError("common.loading-error",null,!0,e),this.shouldShowError=!1),this.loadData(Vt.connectionRetryDelay)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(ua),Y(Dn),Y(ft),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-node-logs"]],viewQuery:function(e,i){if(1&e&&_t(FX,5),2&e){let o;rt(o=ot())&&(i.content=o.first)}},decls:13,vars:14,consts:[[3,"headline","includeVerticalMargins","includeScrollableArea","dialog"],["class","filter-area",3,"click",4,"ngIf"],["content",""],["class","log-entry",4,"ngIf"],[4,"ngIf"],["class","log-empty-msg",4,"ngIf"],[3,"showWhite",4,"ngIf"],[1,"update-button","subtle-transparent-button",3,"click"],["class","update-time",4,"ngIf"],[1,"filter-area",3,"click"],[1,"filter-content"],[1,"actual-value"],["class","small",4,"ngIf"],[1,"filter-margin"],[1,"small"],[1,"log-entry"],["target","_blank",1,"view-raw-link",3,"href"],["class","log-entry",4,"ngFor","ngForOf"],[1,"transparent"],[1,"module-color"],[4,"ngFor","ngForOf"],[1,"extra-data-color"],[1,"log-empty-msg"],[3,"showWhite"],[1,"update-time"],["class","icon",3,"inline",4,"ngIf"],[1,"icon",3,"inline"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),V(2,NX,11,7,"div",1),D(3,"mat-dialog-content",null,2),V(5,YX,4,7,"div",3),V(6,zX,2,1,"ng-container",4),V(7,$X,4,3,"div",3),V(8,GX,3,3,"div",5),V(9,qX,3,3,"div",5),V(10,KX,1,1,"app-loading-indicator",6),D(11,"div",7),ye("click",function(){return i.loadData(0)}),V(12,JX,5,7,"div",8),C()()()),2&e&&(w("headline",H(1,12,"node.logs.title"))("includeVerticalMargins",!1)("includeScrollableArea",!1)("dialog",i.dialogRef),c(2),w("ngIf",!i.loading&&i.logEntries&&i.logEntries.length>0),c(3),w("ngIf",!i.loading&&i.hasMoreLogMessages),c(1),w("ngIf",!i.loading),c(1),w("ngIf",!i.loading&&i.logEntries&&i.logEntries.length>0),c(1),w("ngIf",!(i.loading||i.logEntries&&0!==i.logEntries.length)),c(1),w("ngIf",!i.loading&&i.logEntries&&i.logEntries.length>0&&i.filteredLogEntries.length<1),c(1),w("ngIf",i.loading),c(2),w("ngIf",!i.loading))},dependencies:[gi,Ft,r1,Cn,ei,as,wt],styles:[".filter-area[_ngcontent-%COMP%]{margin-left:-24px;margin-right:-24px;font-size:.8rem;color:#777;background-color:#d9deeb;cursor:pointer}.filter-area[_ngcontent-%COMP%]:hover{background-color:#cfd5e6}.filter-area[_ngcontent-%COMP%] .filter-content[_ngcontent-%COMP%]{padding:10px 24px;text-align:center}.filter-area[_ngcontent-%COMP%] .filter-content[_ngcontent-%COMP%] .actual-value[_ngcontent-%COMP%]{color:#202226}.filter-area[_ngcontent-%COMP%] .filter-content[_ngcontent-%COMP%] .small[_ngcontent-%COMP%]{font-size:.6rem}.filter-area[_ngcontent-%COMP%] .filter-margin[_ngcontent-%COMP%]{height:1px;background-color:#215f9e33;margin:0 12px}.log-entry[_ngcontent-%COMP%]{margin-top:15px;word-break:break-word}.log-entry[_ngcontent-%COMP%] .transparent[_ngcontent-%COMP%]{color:#999}.log-entry[_ngcontent-%COMP%]:first-of-type{margin-top:0}.log-entry[_ngcontent-%COMP%]:last-of-type{margin-bottom:24px}.log-empty-msg[_ngcontent-%COMP%]{text-align:center}.view-raw-link[_ngcontent-%COMP%]{color:#215f9e}.update-button[_ngcontent-%COMP%]{display:flex;justify-content:center;cursor:pointer}.update-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:5px;margin-right:5px}.update-button[_ngcontent-%COMP%] .update-time[_ngcontent-%COMP%]{text-align:center;font-size:.7rem;color:#202226;margin:0 5px}.panic-level-color[_ngcontent-%COMP%], .fatal-level-color[_ngcontent-%COMP%]{color:red}.error-level-color[_ngcontent-%COMP%]{color:#d10000}.warning-level-color[_ngcontent-%COMP%]{color:#e27505}.info-level-color[_ngcontent-%COMP%]{color:#0d9519}.debug-level-color[_ngcontent-%COMP%]{color:#0065ff}.trace-level-color[_ngcontent-%COMP%]{color:#468cf5}.unknown-level-color[_ngcontent-%COMP%]{color:#e27505}.module-color[_ngcontent-%COMP%]{color:#a119fc}.extra-data-color[_ngcontent-%COMP%]{color:#ad8021}"]}),t})();class cP{constructor(n,e){this.canBeUpdated=!1,this.canBeRestarted=!1,this.canOpenTerminal=!1,this.options=[],this.dialog=n.get(In),this.router=n.get(hn),this.snackbarService=n.get(Dn),this.nodeService=n.get(ua),this.storageService=n.get(Ji),this.showingFullList=e,this.returnButtonText=e?"node.title":"nodes.title",this.updateOptions()}updateOptions(){this.options=[],this.canOpenTerminal&&this.options.push({name:"actions.menu.terminal",actionName:"terminal",icon:"laptop"}),this.options.push({name:"actions.menu.logs",actionName:"logs",icon:"subject"}),this.canBeRestarted&&this.options.push({name:"actions.menu.reboot",actionName:"reboot",icon:"rotate_right"})}setCurrentNode(n){this.currentNode=n,Jt.checkIfTagIsUpdatable(n.buildTag)?(this.canBeUpdated=!0,this.canBeRestarted=!0):(this.canBeUpdated=!1,this.canBeRestarted=!1),this.canOpenTerminal=Jt.checkIfTagCanOpenterminal(n.buildTag),this.updateOptions()}setCurrentNodeKey(n){this.currentNodeKey=n}performAction(n,e){"terminal"===n?this.terminal():"update"===n?this.update():"logs"===n?this.runtimeLogs():"reboot"===n?this.reboot():null===n&&this.back()}dispose(){this.rebootSubscription&&this.rebootSubscription.unsubscribe(),this.updateSubscription&&this.updateSubscription.unsubscribe()}reboot(){const n=Jt.createConfirmationDialog(this.dialog,"actions.reboot.confirmation");n.componentInstance.operationAccepted.subscribe(()=>{n.componentInstance.showProcessing(),this.rebootSubscription=this.nodeService.reboot(this.currentNodeKey).subscribe(()=>{this.snackbarService.showDone("actions.reboot.done"),n.close()},e=>{e=en(e),n.componentInstance.showDone("confirmation.error-header-text",e.translatableErrorMsg)})})}update(){const n=Jt.createConfirmationDialog(this.dialog,"actions.update.confirmation");n.componentInstance.operationAccepted.subscribe(()=>{const e=window.location.protocol,i=window.location.host.replace("localhost:4200","127.0.0.1:8000");window.open(e+"//"+i+"/pty/"+this.currentNodeKey+"?commands=update","_blank","noopener noreferrer"),n.close()})}terminal(){const n=window.location.protocol,e=window.location.host.replace("localhost:4200","127.0.0.1:8000");window.open(n+"//"+e+"/pty/"+this.currentNodeKey,"_blank","noopener noreferrer")}runtimeLogs(){eJ.openDialog(this.dialog)}back(){this.router.navigate(this.showingFullList?["nodes",this.currentNodeKey]:["nodes"])}}class tJ{constructor(){this.trafficData=new nJ}}class nJ{constructor(){this.totalSent=0,this.totalReceived=0,this.sentHistory=[],this.receivedHistory=[]}}class iJ{constructor(){this.lastEmitedData=new tJ,this.dataSubject=new Or(null),this.whenUpdateWasScheduled=0,this.stopRequestedDate=-1}}let rJ=(()=>{class t{constructor(e,i){this.storageService=e,this.nodeService=i,this.maxTrafficHistorySlots=10,this.expirationTime=6e4,this.nodesMap=new Map,this.storageService.getRefreshTimeObservable().subscribe(o=>{this.dataRefreshDelay=1e3*o,this.nodesMap.forEach(s=>{this.forceSpecificNodeRefresh(s.pk)})}),this.checkForExpired()}checkForExpired(){$e(1).pipe(Ti(5e3)).subscribe(()=>{try{this.nodesMap.forEach(e=>{this.finishIfExpired(e)})}catch{}this.checkForExpired()})}startRequestingData(e){let i=this.nodesMap.get(e);return i?i.stopRequestedDate=-1:(i=new iJ,i.pk=e,this.nodesMap.set(e,i),this.startDataSubscription(0,i)),i.dataSubject.asObservable()}stopRequestingSpecificNode(e){const i=this.nodesMap.get(e);i&&(i.stopRequestedDate=Date.now())}startDataSubscription(e,i){i.updateSubscription&&i.updateSubscription.unsubscribe(),i.updateSubscription=$e(1).pipe(Ti(e),bi(()=>{i.lastEmitedData.updating=!0,i.dataSubject.next(i.lastEmitedData)}),Ti(120),Ye(()=>this.nodeService.getNode(i.pk))).subscribe(o=>{this.updateTrafficData(o.transports,i.lastEmitedData.trafficData,i.whenUpdateWasScheduled);let s=this.calculateRemainingTime(i.whenUpdateWasScheduled);s<1e3&&(i.whenUpdateWasScheduled=Date.now(),s=this.dataRefreshDelay),i.lastEmitedData={data:o,error:null,momentOfLastCorrectUpdate:Date.now(),updating:!1,trafficData:i.lastEmitedData.trafficData},i.dataSubject.next(i.lastEmitedData),this.startDataSubscription(s,i)},o=>{o=en(o),i.lastEmitedData={data:i.lastEmitedData.data,error:o,momentOfLastCorrectUpdate:i.lastEmitedData.momentOfLastCorrectUpdate,updating:!1,trafficData:i.lastEmitedData.trafficData},i.dataSubject.next(i.lastEmitedData),o.originalError&&400===o.originalError.status?(i.dataSubject.complete(),i.updateSubscription.unsubscribe(),this.nodesMap.delete(i.pk)):this.startDataSubscription(Vt.connectionRetryDelay,i)})}calculateRemainingTime(e){if(e<1)return 0;let i=this.dataRefreshDelay-(Date.now()-e);return i<0&&(i=0),i}updateTrafficData(e,i,o){if(i.totalSent=0,i.totalReceived=0,e&&e.length>0&&(i.totalSent=e.reduce((s,a)=>s+a.sent,0),i.totalReceived=e.reduce((s,a)=>s+a.recv,0)),0===i.sentHistory.length)for(let s=0;sthis.maxTrafficHistorySlots&&(a=this.maxTrafficHistorySlots),0===a)i.sentHistory[i.sentHistory.length-1]=i.totalSent,i.receivedHistory[i.receivedHistory.length-1]=i.totalReceived;else for(let l=0;lthis.maxTrafficHistorySlots&&(i.sentHistory.splice(0,i.sentHistory.length-this.maxTrafficHistorySlots),i.receivedHistory.splice(0,i.receivedHistory.length-this.maxTrafficHistorySlots))}}forceSpecificNodeRefresh(e){const i=this.nodesMap.get(e);i&&this.startDataSubscription(0,i)}finishIfExpired(e){e.stopRequestedDate>0&&Date.now()-e.stopRequestedDate>this.expirationTime&&(e.dataSubject.complete(),e.updateSubscription.unsubscribe(),this.nodesMap.delete(e.pk))}}return t.\u0275fac=function(e){return new(e||t)(we(Ji),we(ua))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function oJ(t,n){1&t&&xe(0,"app-loading-indicator")}function sJ(t,n){1&t&&(D(0,"div",6)(1,"div")(2,"mat-icon",7),I(3,"error"),C(),I(4),R(5,"translate"),C()()),2&t&&(c(2),w("inline",!0),c(2),ce(" ",H(5,2,"node.not-found")," "))}function aJ(t,n){if(1&t){const e=et();D(0,"div",2)(1,"div")(2,"app-top-bar",3),ye("optionSelected",function(o){return Pe(e),Oe(z().performAction(o))}),C()(),V(3,oJ,1,0,"app-loading-indicator",4),V(4,sJ,6,4,"div",5),C()}if(2&t){const e=z();c(2),w("titleParts",e.titleParts)("tabsData",e.tabsData)("selectedTabIndex",e.selectedTabIndex)("showUpdateButton",!1)("optionsData",e.nodeActionsHelper?e.nodeActionsHelper.options:null)("returnText",e.nodeActionsHelper?e.nodeActionsHelper.returnButtonText:""),c(1),w("ngIf",!e.notFound),c(1),w("ngIf",e.notFound)}}function lJ(t,n){if(1&t&&xe(0,"app-node-info-content",15),2&t){const e=z(2);w("nodeInfo",e.node)("trafficData",e.trafficData)}}const cJ=function(t,n){return{"main-area":t,"full-size-main-area":n}},dJ=function(t){return{"d-none":t}};function uJ(t,n){if(1&t){const e=et();D(0,"div",8)(1,"div",9)(2,"app-top-bar",10),ye("optionSelected",function(o){return Pe(e),Oe(z().performAction(o))})("refreshRequested",function(){return Pe(e),Oe(z().forceDataRefresh(!0))}),C()(),D(3,"div",9)(4,"div",11)(5,"div",12),xe(6,"router-outlet"),C()(),D(7,"div",13),V(8,lJ,1,2,"app-node-info-content",14),C()()()}if(2&t){const e=z();c(2),w("titleParts",e.titleParts)("tabsData",e.tabsData)("selectedTabIndex",e.selectedTabIndex)("secondsSinceLastUpdate",e.secondsSinceLastUpdate)("showLoading",e.updating)("showAlert",e.errorsUpdating)("refeshRate",e.storageService.getRefreshTime())("optionsData",e.nodeActionsHelper?e.nodeActionsHelper.options:null)("returnText",e.nodeActionsHelper?e.nodeActionsHelper.returnButtonText:""),c(2),w("ngClass",mn(12,cJ,!e.showingInfo&&!e.showingFullList,e.showingInfo||e.showingFullList)),c(3),w("ngClass",He(15,dJ,e.showingInfo||e.showingFullList)),c(1),w("ngIf",!e.showingInfo&&!e.showingFullList)}}let Ct=(()=>{class t extends er{static refreshCurrentDisplayedData(){t.currentInstanceInternal&&t.currentInstanceInternal.forceDataRefresh(!1)}static getCurrentNodeKey(){return t.currentNodeKey}static get currentNode(){return t.nodeSubject.asObservable()}static get currentTrafficData(){return t.trafficDataSubject.asObservable()}constructor(e,i,o,s,a,l,d){super(),this.storageService=e,this.singleNodeDataService=i,this.route=o,this.ngZone=s,this.snackbarService=a,this.injector=l,this.persistentDataResponseKey="serv-dat-response",this.notFound=!1,this.titleParts=[],this.tabsData=[],this.selectedTabIndex=-1,this.showingInfo=!1,this.showingFullList=!1,this.initialRouteEventFired=!1,this.secondsSinceLastUpdate=0,this.lastUpdate=Date.now(),this.updating=!1,this.errorsUpdating=!1,this.lastUpdateRequestedManually=!1,t.nodeSubject=new ko(1),t.trafficDataSubject=new ko(1),t.currentInstanceInternal=this,this.navigationsSubscription=d.events.subscribe(_=>{_.urlAfterRedirects&&(this.lastUrl=_.urlAfterRedirects,this.processRouteUpdate(),this.initialRouteEventFired=!0)})}ngOnInit(){return this.ngZone.runOutsideAngular(()=>{this.updateTimeSubscription=Sh(5e3,5e3).subscribe(()=>this.ngZone.run(()=>{this.secondsSinceLastUpdate=Math.floor((Date.now()-this.lastUpdate)/1e3)}))}),this.initSubscription=$e(0).pipe(Ti(500)).subscribe(()=>{this.initialRouteEventFired||(this.lastUrl=window.location.href,this.processRouteUpdate())}),super.ngOnInit()}processRouteUpdate(){t.currentNodeKey=this.route.snapshot.params.key,this.nodeActionsHelper&&this.nodeActionsHelper.setCurrentNodeKey(t.currentNodeKey),this.updateTabBar(),this.navigationsSubscription.unsubscribe(),this.startGettingData(!0)}updateTabBar(){if(this.lastUrl&&(this.lastUrl.includes("/info")||this.lastUrl.includes("/routing")||this.lastUrl.includes("/apps")&&!this.lastUrl.includes("/apps-list")))this.titleParts=["nodes.title","node.title"],this.tabsData=[{icon:"info",label:"node.tabs.info",onlyIfLessThanLg:!0,linkParts:t.currentNodeKey?["/nodes",t.currentNodeKey,"info"]:null},{icon:"shuffle",label:"node.tabs.routing",linkParts:t.currentNodeKey?["/nodes",t.currentNodeKey,"routing"]:null},{icon:"apps",label:"node.tabs.apps",linkParts:t.currentNodeKey?["/nodes",t.currentNodeKey,"apps"]:null}],this.selectedTabIndex=1,this.showingInfo=!1,this.lastUrl.includes("/info")&&(this.selectedTabIndex=0,this.showingInfo=!0),this.lastUrl.includes("/apps")&&(this.selectedTabIndex=2),this.showingFullList=!1,this.nodeActionsHelper=new cP(this.injector,this.showingFullList),this.nodeActionsHelper.setCurrentNodeKey(t.currentNodeKey),this.node&&this.nodeActionsHelper.setCurrentNode(this.node);else if(this.lastUrl&&(this.lastUrl.includes("/transports")||this.lastUrl.includes("/routes")||this.lastUrl.includes("/apps-list"))){this.showingFullList=!0,this.showingInfo=!1,this.nodeActionsHelper=new cP(this.injector,this.showingFullList),this.nodeActionsHelper.setCurrentNodeKey(t.currentNodeKey),this.node&&this.nodeActionsHelper.setCurrentNode(this.node);let e="transports";this.lastUrl.includes("/routes")?e="routes":this.lastUrl.includes("/apps-list")&&(e="apps.apps-list"),this.titleParts=["nodes.title","node.title",e+".title"],this.tabsData=[{icon:"view_headline",label:e+".list-title",linkParts:[]}],this.selectedTabIndex=0}else this.titleParts=[],this.tabsData=[]}performAction(e){this.nodeActionsHelper.performAction(e,t.currentNodeKey)}forceDataRefresh(e=!1){e&&(this.lastUpdateRequestedManually=!0),this.singleNodeDataService.forceSpecificNodeRefresh(t.currentNodeKey)}startGettingData(e){const i=e?this.getLocalValue(this.persistentDataResponseKey):null;let o=this.singleNodeDataService.startRequestingData(t.currentNodeKey);i&&(o=$e(JSON.parse(i.value))),this.dataSubscription=o.subscribe(s=>{if(i||this.saveLocalValue(this.persistentDataResponseKey,JSON.stringify(s)),this.updating=!s||s.updating,s&&!s.updating)if(s.data&&!s.error)this.node=s.data,this.trafficData=s.trafficData,t.nodeSubject.next(this.node),t.trafficDataSubject.next(this.trafficData),this.nodeActionsHelper&&this.nodeActionsHelper.setCurrentNode(this.node),this.snackbarService.closeCurrentIfTemporaryError(),this.lastUpdate=s.momentOfLastCorrectUpdate,this.secondsSinceLastUpdate=Math.floor((Date.now()-s.momentOfLastCorrectUpdate)/1e3),this.errorsUpdating=!1,this.lastUpdateRequestedManually&&(this.snackbarService.showDone("common.refreshed",null),this.lastUpdateRequestedManually=!1);else if(s.error){if(s.error.originalError&&400===s.error.originalError.status)return void(this.notFound=!0);this.errorsUpdating||this.snackbarService.showError(this.node?"node.error-load":"common.loading-error",null,!0,s.error),this.errorsUpdating=!0}i&&this.startGettingData(!1)})}ngOnDestroy(){this.singleNodeDataService.stopRequestingSpecificNode(t.currentNodeKey),this.dataSubscription.unsubscribe(),this.updateTimeSubscription.unsubscribe(),this.navigationsSubscription.unsubscribe(),this.initSubscription.unsubscribe(),t.currentInstanceInternal=void 0,t.currentNodeKey=void 0,t.nodeSubject.complete(),t.nodeSubject=void 0,t.trafficDataSubject.complete(),t.trafficDataSubject=void 0,this.nodeActionsHelper.dispose()}}return t.\u0275fac=function(e){return new(e||t)(Y(Ji),Y(rJ),Y(Mr),Y(ft),Y(Dn),Y(Si),Y(hn))},t.\u0275cmp=Ze({type:t,selectors:[["app-node"]],features:[nt],decls:2,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["class","row",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","optionsData","returnText","optionSelected"],[4,"ngIf"],["class","w-100 h-100 d-flex not-found-label",4,"ngIf"],[1,"w-100","h-100","d-flex","not-found-label"],[3,"inline"],[1,"row"],[1,"col-12"],[3,"titleParts","tabsData","selectedTabIndex","secondsSinceLastUpdate","showLoading","showAlert","refeshRate","optionsData","returnText","optionSelected","refreshRequested"],[3,"ngClass"],[1,"d-flex","flex-column","h-100"],[1,"right-bar",3,"ngClass"],[3,"nodeInfo","trafficData",4,"ngIf"],[3,"nodeInfo","trafficData"]],template:function(e,i){1&e&&(V(0,aJ,5,8,"div",0),V(1,uJ,9,17,"div",1)),2&e&&(w("ngIf",!i.node),c(1),w("ngIf",i.node))},styles:[".not-found-label[_ngcontent-%COMP%]{align-items:center;justify-content:center;font-size:1rem;position:relative}.not-found-label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:5px;font-size:22px;opacity:.5;margin-right:3px}.full-size-main-area[_ngcontent-%COMP%], .main-area[_ngcontent-%COMP%]{width:100%}@media (min-width: 992px){.main-area[_ngcontent-%COMP%]{width:73%;padding-right:20px;float:left}}.right-bar[_ngcontent-%COMP%]{width:27%;float:right;display:none}@media (min-width: 992px){.right-bar[_ngcontent-%COMP%]{display:block;width:27%;float:right}}"]}),t})();function hJ(t,n){if(1&t&&(D(0,"mat-option",10),I(1),R(2,"translate"),C()),2&t){const e=n.$implicit;Ln("value",e),c(1),vo(" ",e," ",H(2,3,"settings.seconds")," ")}}let fJ=(()=>{class t{constructor(e,i,o){this.formBuilder=e,this.storageService=i,this.snackbarService=o,this.timesList=["3","5","10","15","30","60","90","150","300"]}ngOnInit(){this.form=this.formBuilder.group({refreshRate:[this.storageService.getRefreshTime().toString()]}),this.subscription=this.form.get("refreshRate").valueChanges.subscribe(e=>{this.storageService.setRefreshTime(e),this.snackbarService.showDone("settings.refresh-rate-confirmation")})}ngOnDestroy(){this.subscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(xr),Y(Ji),Y(Dn))},t.\u0275cmp=Ze({type:t,selectors:[["app-refresh-rate"]],decls:14,vars:9,consts:[[1,"rounded-elevated-box"],[1,"box-internal-container","overflow"],[1,"white-form-help-icon-container"],[1,"help-icon",3,"inline","matTooltip"],[3,"formGroup"],[1,"white-form-field"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","refreshRate"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1)(2,"div",2)(3,"mat-icon",3),R(4,"translate"),I(5," help "),C()(),D(6,"form",4)(7,"mat-form-field",5)(8,"div",6)(9,"label",7),I(10),R(11,"translate"),C(),D(12,"mat-select",8),V(13,hJ,3,5,"mat-option",9),C()()()()()()),2&e&&(c(3),w("inline",!0)("matTooltip",H(4,5,"settings.refresh-rate-help")),c(3),w("formGroup",i.form),c(4),se(H(11,7,"settings.refresh-rate")),c(3),w("ngForOf",i.timesList))},dependencies:[gi,zi,Vi,ji,ii,Ei,ar,Cn,vi,tf,Pd,wt],styles:[".help-icon[_ngcontent-%COMP%]{display:inline}mat-form-field[_ngcontent-%COMP%]{margin-right:32px}mat-form-field[_ngcontent-%COMP%] .mat-mdc-form-field-bottom-align{margin-bottom:0!important}"]}),t})();const pJ=function(t){return{number:t}};let Og=(()=>{class t{constructor(){this.numberOfElements=0,this.linkParts=[""],this.queryParams={}}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["app-view-all-link"]],inputs:{numberOfElements:"numberOfElements",linkParts:"linkParts",queryParams:"queryParams"},decls:6,vars:9,consts:[[1,"main-container"],[3,"routerLink","queryParams"],[3,"inline"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"a",1),I(2),R(3,"translate"),D(4,"mat-icon",2),I(5,"chevron_right"),C()()()),2&e&&(c(1),w("routerLink",i.linkParts)("queryParams",i.queryParams),c(1),ce(" ",kt(3,4,"view-all-link.label",He(7,pJ,i.numberOfElements))," "),c(2),w("inline",!0))},dependencies:[qa,Cn,wt],styles:[".main-container[_ngcontent-%COMP%]{padding-top:20px;margin-bottom:4px;text-align:right;font-size:.875rem}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.main-container[_ngcontent-%COMP%]{margin:0;padding:16px}}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#f8f9f9;text-decoration:none}.main-container[_ngcontent-%COMP%] a[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:7px}"]}),t})();function mJ(t,n){1&t&&(D(0,"span",14),I(1),R(2,"translate"),D(3,"mat-icon",15),R(4,"translate"),I(5,"help"),C()()),2&t&&(c(1),ce(" ",H(2,3,"labels.title")," "),c(2),w("inline",!0)("matTooltip",H(4,5,"labels.info")))}function gJ(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.translatableValue))}}function _J(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e.value)}}function bJ(t,n){if(1&t&&(D(0,"div",19)(1,"span"),I(2),R(3,"translate"),C(),V(4,gJ,3,3,"ng-container",20),V(5,_J,2,1,"ng-container",20),C()),2&t){const e=n.$implicit;c(2),ce("",H(3,3,e.filterName),": "),c(2),w("ngIf",e.translatableValue),c(1),w("ngIf",e.value)}}function vJ(t,n){if(1&t){const e=et();D(0,"div",16),ye("click",function(){return Pe(e),Oe(z().dataFilterer.removeFilters())}),V(1,bJ,6,5,"div",17),D(2,"div",18),I(3),R(4,"translate"),C()()}if(2&t){const e=z();c(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),c(2),se(H(4,2,"filters.press-to-remove"))}}function yJ(t,n){if(1&t){const e=et();D(0,"mat-icon",21),ye("click",function(){return Pe(e),Oe(z().dataFilterer.changeFilters())}),R(1,"translate"),I(2,"filter_list"),C()}2&t&&w("inline",!0)("matTooltip",H(1,2,"filters.filter-action"))}function MJ(t,n){if(1&t&&(D(0,"mat-icon",22),I(1,"more_horiz"),C()),2&t){z();const e=ci(9);w("inline",!0)("matMenuTriggerFor",e)}}const B1=function(){return["/settings","labels"]};function wJ(t,n){if(1&t&&xe(0,"app-paginator",23),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",qn(4,B1))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function CJ(t,n){if(1&t&&(D(0,"mat-icon",36),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function xJ(t,n){if(1&t&&(D(0,"mat-icon",36),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function kJ(t,n){if(1&t&&(D(0,"mat-icon",36),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function SJ(t,n){if(1&t){const e=et();D(0,"tr")(1,"td",38)(2,"mat-checkbox",39),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(3,"td"),I(4),C(),D(5,"td"),I(6),C(),D(7,"td"),I(8),R(9,"translate"),C(),D(10,"td",29)(11,"button",40),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).delete(s.id))}),R(12,"translate"),D(13,"mat-icon",36),I(14,"close"),C()()()()}if(2&t){const e=n.$implicit,i=z(2);c(2),w("checked",i.selections.get(e.id)),c(2),ce(" ",e.label," "),c(2),ce(" ",e.id," "),c(2),vo(" ",i.getLabelTypeIdentification(e)[0]," - ",H(9,7,i.getLabelTypeIdentification(e)[1])," "),c(3),w("matTooltip",H(12,9,"labels.delete")),c(2),w("inline",!0)}}function DJ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.label")))}function TJ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.inverted-order")))}function LJ(t,n){if(1&t){const e=et();D(0,"tr")(1,"td")(2,"div",33)(3,"div",41)(4,"mat-checkbox",39),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(5,"div",34)(6,"div",42)(7,"span",1),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",43)(12,"span",1),I(13),R(14,"translate"),C(),I(15),C(),D(16,"div",42)(17,"span",1),I(18),R(19,"translate"),C(),I(20),R(21,"translate"),C()(),xe(22,"div",44),D(23,"div",35)(24,"button",45),ye("click",function(o){const a=Pe(e).$implicit,l=z(2);return o.stopPropagation(),Oe(l.showOptionsDialog(a))}),R(25,"translate"),D(26,"mat-icon"),I(27),C()()()()()()}if(2&t){const e=n.$implicit,i=z(2);c(4),w("checked",i.selections.get(e.id)),c(4),se(H(9,10,"labels.label")),c(2),ce(": ",e.label," "),c(3),se(H(14,12,"labels.id")),c(2),ce(": ",e.id," "),c(3),se(H(19,14,"labels.type")),c(2),vo(": ",i.getLabelTypeIdentification(e)[0]," - ",H(21,16,i.getLabelTypeIdentification(e)[1])," "),c(4),w("matTooltip",H(25,18,"common.options")),c(3),se("add")}}function EJ(t,n){if(1&t&&xe(0,"app-view-all-link",46),2&t){const e=z(2);w("numberOfElements",e.filteredLabels.length)("linkParts",qn(3,B1))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const IJ=function(t,n){return{"small-node-list-margins":t,"full-node-list-margins":n}},PJ=function(t){return{"d-lg-none d-xl-table":t}},OJ=function(t){return{"d-lg-table d-xl-none":t}};function AJ(t,n){if(1&t){const e=et();D(0,"div",24)(1,"div",25)(2,"table",26)(3,"tr"),xe(4,"th"),D(5,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.labelSortData))}),I(6),R(7,"translate"),V(8,CJ,2,2,"mat-icon",28),C(),D(9,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.idSortData))}),I(10),R(11,"translate"),V(12,xJ,2,2,"mat-icon",28),C(),D(13,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.typeSortData))}),I(14),R(15,"translate"),V(16,kJ,2,2,"mat-icon",28),C(),xe(17,"th",29),C(),V(18,SJ,15,11,"tr",30),C(),D(19,"table",31)(20,"tr",32),ye("click",function(){return Pe(e),Oe(z().dataSorter.openSortingOrderModal())}),D(21,"td")(22,"div",33)(23,"div",34)(24,"div",1),I(25),R(26,"translate"),C(),D(27,"div"),I(28),R(29,"translate"),V(30,DJ,3,3,"ng-container",20),V(31,TJ,3,3,"ng-container",20),C()(),D(32,"div",35)(33,"mat-icon",36),I(34,"keyboard_arrow_down"),C()()()()(),V(35,LJ,28,20,"tr",30),C(),V(36,EJ,1,4,"app-view-all-link",37),C()()}if(2&t){const e=z();c(1),w("ngClass",mn(27,IJ,e.showShortList_,!e.showShortList_)),c(1),w("ngClass",He(30,PJ,e.showShortList_)),c(4),ce(" ",H(7,17,"labels.label")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.labelSortData),c(2),ce(" ",H(11,19,"labels.id")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.idSortData),c(2),ce(" ",H(15,21,"labels.type")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.typeSortData),c(2),w("ngForOf",e.dataSource),c(1),w("ngClass",He(32,OJ,e.showShortList_)),c(6),se(H(26,23,"tables.sorting-title")),c(3),ce("",H(29,25,e.dataSorter.currentSortingColumn.label)," "),c(2),w("ngIf",e.dataSorter.currentlySortingByLabel),c(1),w("ngIf",e.dataSorter.sortingInReverseOrder),c(2),w("inline",!0),c(2),w("ngForOf",e.dataSource),c(1),w("ngIf",e.showShortList_&&e.numberOfPages>1)}}function FJ(t,n){1&t&&(D(0,"span",50),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"labels.empty")))}function RJ(t,n){1&t&&(D(0,"span",50),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"labels.empty-with-filter")))}function NJ(t,n){if(1&t&&(D(0,"div",24)(1,"div",47)(2,"mat-icon",48),I(3,"warning"),C(),V(4,FJ,3,3,"span",49),V(5,RJ,3,3,"span",49),C()()),2&t){const e=z();c(2),w("inline",!0),c(2),w("ngIf",0===e.allLabels.length),c(1),w("ngIf",0!==e.allLabels.length)}}function YJ(t,n){if(1&t&&xe(0,"app-paginator",23),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",qn(4,B1))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const HJ=function(t){return{"paginator-icons-fixer":t}};let dP=(()=>{class t{set showShortList(e){this.showShortList_=e,this.dataSorter.setData(this.filteredLabels)}constructor(e,i,o,s,a,l){this.dialog=e,this.route=i,this.router=o,this.snackbarService=s,this.translateService=a,this.storageService=l,this.listId="ll",this.labelSortData=new Vn(["label"],"labels.label",Zt.Text),this.idSortData=new Vn(["id"],"labels.id",Zt.Text),this.typeSortData=new Vn(["identifiedElementType_sort"],"labels.type",Zt.Text),this.selections=new Map,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"labels.filter-dialog.label",keyNameInElementsArray:"label",type:$n.TextInput,maxlength:100},{filterName:"labels.filter-dialog.id",keyNameInElementsArray:"id",type:$n.TextInput,maxlength:66},{filterName:"labels.filter-dialog.type",keyNameInElementsArray:"identifiedElementType",type:$n.Select,printableLabelsForValues:[{value:"",label:"labels.filter-dialog.type-options.any"},{value:Xi.Node,label:"labels.filter-dialog.type-options.visor"},{value:Xi.DmsgServer,label:"labels.filter-dialog.type-options.dmsg-server"},{value:Xi.Transport,label:"labels.filter-dialog.type-options.transport"}]}],this.dataSorter=new Rd(this.dialog,this.translateService,this.storageService,[this.labelSortData,this.idSortData,this.typeSortData],0,this.listId),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataFilterer=new Nd(this.dialog,this.route,this.router,this.filterProperties,this.listId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(_=>{this.filteredLabels=_,this.dataSorter.setData(this.filteredLabels)}),this.loadData(),this.navigationsSubscription=this.route.paramMap.subscribe(_=>{if(_.has("page")){let E=Number.parseInt(_.get("page"),10);(isNaN(E)||E<1)&&(E=1),this.currentPageInUrl=E,this.recalculateElementsToShow()}})}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.dataSortedSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFiltererSubscription.unsubscribe(),this.dataFilterer.dispose()}loadData(){this.allLabels=this.storageService.getSavedLabels(),this.allLabels.forEach(e=>{e.identifiedElementType_sort=this.getLabelTypeIdentification(e)[0]}),this.dataFilterer.setData(this.allLabels)}getLabelTypeIdentification(e){return e.identifiedElementType===Xi.Node?["1","labels.filter-dialog.type-options.visor"]:e.identifiedElementType===Xi.DmsgServer?["2","labels.filter-dialog.type-options.dmsg-server"]:e.identifiedElementType===Xi.Transport?["3","labels.filter-dialog.type-options.transport"]:void 0}changeSelection(e){this.selections.get(e.id)?this.selections.set(e.id,!1):this.selections.set(e.id,!0)}hasSelectedElements(){if(!this.selections)return!1;let e=!1;return this.selections.forEach(i=>{i&&(e=!0)}),e}changeAllSelections(e){this.selections.forEach((i,o)=>{this.selections.set(o,e)})}deleteSelected(){const e=Jt.createConfirmationDialog(this.dialog,"labels.delete-selected-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.close(),this.selections.forEach((i,o)=>{i&&this.storageService.saveLabel(o,"",null)}),this.snackbarService.showDone("labels.deleted"),this.loadData()})}showOptionsDialog(e){qr.openDialog(this.dialog,[{icon:"close",label:"labels.delete"}],"common.options").afterClosed().subscribe(o=>{1===o&&this.delete(e.id)})}delete(e){const i=Jt.createConfirmationDialog(this.dialog,"labels.delete-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.close(),this.storageService.saveLabel(e,"",null),this.snackbarService.showDone("labels.deleted"),this.loadData()})}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredLabels){const e=this.showShortList_?Vt.maxShortListElements:Vt.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredLabels.length/e),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const i=e*(this.currentPage-1);this.labelsToShow=this.filteredLabels.slice(i,i+e);const s=new Map;this.labelsToShow.forEach(l=>{s.set(l.id,!0),this.selections.has(l.id)||this.selections.set(l.id,!1)});const a=[];this.selections.forEach((l,d)=>{s.has(d)||a.push(d)}),a.forEach(l=>{this.selections.delete(l)})}else this.labelsToShow=null,this.selections=new Map;this.dataSource=this.labelsToShow}}return t.\u0275fac=function(e){return new(e||t)(Y(In),Y(Mr),Y(hn),Y(Dn),Y(To),Y(Ji))},t.\u0275cmp=Ze({type:t,selectors:[["app-label-list"]],inputs:{showShortList:"showShortList"},decls:23,vars:22,consts:[[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","uppercase",4,"ngIf"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],["class","small-icon",3,"inline","matTooltip","click",4,"ngIf"],[3,"inline","matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"uppercase"],[1,"help","d-none","d-md-inline",3,"inline","matTooltip"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","matTooltip","click"],[3,"inline","matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow",3,"ngClass"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table",3,"ngClass"],[1,"sortable-column",3,"click"],[3,"inline",4,"ngIf"],[1,"actions"],[4,"ngFor","ngForOf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none",3,"ngClass"],[1,"selectable",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],[3,"inline"],[3,"numberOfElements","linkParts","queryParams",4,"ngIf"],[1,"selection-col"],[3,"checked","change"],["mat-button","",1,"action-button","transparent-button",3,"matTooltip","click"],[1,"check-part"],[1,"list-row"],[1,"list-row","long-content"],[1,"margin-part"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],[3,"numberOfElements","linkParts","queryParams"],[1,"box-internal-container"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1),V(2,mJ,6,7,"span",2),V(3,vJ,5,4,"div",3),C(),D(4,"div",4)(5,"div",5),V(6,yJ,3,4,"mat-icon",6),V(7,MJ,2,2,"mat-icon",7),D(8,"mat-menu",8,9)(10,"div",10),ye("click",function(){return i.changeAllSelections(!0)}),I(11),R(12,"translate"),C(),D(13,"div",10),ye("click",function(){return i.changeAllSelections(!1)}),I(14),R(15,"translate"),C(),D(16,"div",11),ye("click",function(){return i.deleteSelected()}),I(17),R(18,"translate"),C()()(),V(19,wJ,1,5,"app-paginator",12),C()(),V(20,AJ,37,34,"div",13),V(21,NJ,6,3,"div",13),V(22,YJ,1,5,"app-paginator",12)),2&e&&(w("ngClass",He(20,HJ,!i.showShortList_&&i.numberOfPages>1&&i.dataSource)),c(2),w("ngIf",i.showShortList_),c(1),w("ngIf",i.dataFilterer.currentFiltersTexts&&i.dataFilterer.currentFiltersTexts.length>0),c(3),w("ngIf",i.allLabels&&i.allLabels.length>0),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("overlapTrigger",!1),c(3),ce(" ",H(12,14,"selection.select-all")," "),c(3),ce(" ",H(15,16,"selection.unselect-all")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(18,18,"selection.delete-all")," "),c(2),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("ngIf",!i.dataSource||0===i.dataSource.length),c(1),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource))},dependencies:[Nn,gi,Ft,Wr,el,Cn,vi,Yd,pa,Hd,fa,Og,Bd,wt],styles:[".overflow[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto}.overflow[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%}.actions[_ngcontent-%COMP%]{text-align:right;width:90px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}"]}),t})();function BJ(t,n){1&t&&xe(0,"app-password")}function VJ(t,n){1&t&&(D(0,"div",8),xe(1,"mat-spinner",9),I(2),R(3,"translate"),C()),2&t&&(c(1),w("diameter",11),c(1),ce(" ",H(3,2,"settings.checking-auth")," "))}const jJ=function(){return["start.title"]};let zJ=(()=>{class t extends er{constructor(e,i,o,s){super(),this.authService=e,this.router=i,this.snackbarService=o,this.dialog=s,this.persistentAuthDataResponseKey="serv-aut-response",this.tabsData=[],this.options=[],this.waitBeforeShowingLoading=!0,this.authChecked=!1,this.authActive=!1,this.tabsData=[{icon:"view_headline",label:"nodes.title",linkParts:["/nodes"]},{icon:"language",label:"nodes.dmsg-title",linkParts:["/nodes","dmsg"]},{icon:"settings",label:"settings.title",linkParts:["/settings"]}],this.updateOptionsMenu()}ngOnInit(){return setTimeout(()=>{this.waitBeforeShowingLoading=!1},500),this.checkAuth(0,!0),super.ngOnInit()}checkAuth(e,i){const o=i?this.getLocalValue(this.persistentAuthDataResponseKey):null;let s=this.authService.checkLogin();o&&(s=$e(JSON.parse(o.value))),this.authSubscription=$e(1).pipe(Ti(e),Ye(()=>s)).subscribe(a=>{o||this.saveLocalValue(this.persistentAuthDataResponseKey,JSON.stringify(a)),this.authChecked=!0,this.authActive=a===Fr.Logged,this.updateOptionsMenu(),o&&this.checkAuth(0,!1)},()=>{this.checkAuth(15e3,!1)})}ngOnDestroy(){this.authSubscription.unsubscribe()}updateOptionsMenu(){this.options=[],this.authActive&&(this.options=[{name:"common.logout",actionName:"logout",icon:"power_settings_new"}])}performAction(e){"logout"===e&&this.logout()}logout(){const e=Jt.createConfirmationDialog(this.dialog,"common.logout-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.closeModal(),this.authService.logout().subscribe(()=>this.router.navigate(["login"]),()=>this.snackbarService.showError("common.logout-error"))})}}return t.\u0275fac=function(e){return new(e||t)(Y(Wh),Y(hn),Y(Dn),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-settings"]],features:[nt],decls:8,vars:9,consts:[[1,"row"],[1,"col-12"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","optionsData","optionSelected"],[1,"content","col-12","mt-4.5"],[1,"d-block","mb-4"],[4,"ngIf"],["class","white-theme checking-container",4,"ngIf"],[3,"showShortList"],[1,"white-theme","checking-container"],[3,"diameter"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1)(2,"app-top-bar",2),ye("optionSelected",function(s){return i.performAction(s)}),C()(),D(3,"div",3),xe(4,"app-refresh-rate",4),V(5,BJ,1,0,"app-password",5),V(6,VJ,4,4,"div",6),xe(7,"app-label-list",7),C()()),2&e&&(c(2),w("titleParts",qn(8,jJ))("tabsData",i.tabsData)("selectedTabIndex",2)("showUpdateButton",!1)("optionsData",i.options),c(3),w("ngIf",i.authChecked&&i.authActive),c(1),w("ngIf",!i.authChecked&&!i.waitBeforeShowingLoading),c(1),w("showShortList",!0))},dependencies:[Ft,ec,FI,fJ,sc,dP,wt],styles:[".checking-container[_ngcontent-%COMP%]{font-size:10px;opacity:.5}.checking-container[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%]{display:inline-block}.show-link[_ngcontent-%COMP%]{cursor:pointer;font-size:.8rem}"]}),t})(),V1=(()=>{class t{constructor(e){this.apiService=e}create(e,i,o){const s={remote_pk:i};return o&&(s.transport_type=o),this.apiService.post(`visors/${e}/transports`,s)}delete(e,i){return this.apiService.delete(`visors/${e}/transports/${i}`)}savePersistentTransportsData(e,i){return this.apiService.put(`visors/${e}/persistent-transports`,i)}getPersistentTransports(e){return this.apiService.get(`visors/${e}/persistent-transports`)}types(e){return this.apiService.get(`visors/${e}/transport-types`)}changeAutoconnectSetting(e,i){const o={};return o.public_autoconnect=i,this.apiService.put(`visors/${e}/public-autoconnect`,o)}}return t.\u0275fac=function(e){return new(e||t)(we(il))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();const UJ=["button"],WJ=["firstInput"];function $J(t,n){1&t&&xe(0,"app-loading-indicator",5),2&t&&w("showWhite",!1)}function GJ(t,n){1&t&&(Ue(0),D(1,"span"),I(2),R(3,"translate"),C(),We()),2&t&&(c(2),se(H(3,1,"transports.dialog.errors.remote-key-length-error")))}function qJ(t,n){1&t&&(D(0,"span"),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"transports.dialog.errors.remote-key-chars-error")))}function KJ(t,n){if(1&t&&(D(0,"mat-option",19),I(1),C()),2&t){const e=n.$implicit;w("value",e),c(1),se(e)}}const Ag=function(t){return{"element-disabled":t}};function ZJ(t,n){if(1&t){const e=et();D(0,"form",6)(1,"mat-form-field",7)(2,"div",8)(3,"label",9),I(4),R(5,"translate"),C(),xe(6,"input",10,11),C(),D(8,"mat-error"),V(9,GJ,4,3,"ng-container",12),C(),V(10,qJ,3,3,"ng-template",null,13,Es),C(),D(12,"mat-form-field",7)(13,"div",8)(14,"label",9),I(15),R(16,"translate"),C(),xe(17,"input",14),C()(),D(18,"mat-form-field",7)(19,"div",8)(20,"label",9),I(21),R(22,"translate"),C(),D(23,"mat-select",15),V(24,KJ,2,2,"mat-option",16),C()(),D(25,"mat-error")(26,"span"),I(27),R(28,"translate"),C()()(),D(29,"mat-checkbox",17),ye("change",function(o){return Pe(e),Oe(z().setMakePersistent(o))}),I(30),R(31,"translate"),D(32,"mat-icon",18),R(33,"translate"),I(34,"help"),C()()()}if(2&t){const e=ci(11),i=z();w("formGroup",i.form),c(1),w("ngClass",He(28,Ag,i.disableDismiss)),c(3),se(H(5,16,"transports.dialog.remote-key")),c(5),w("ngIf",!i.form.get("remoteKey").hasError("pattern"))("ngIfElse",e),c(3),w("ngClass",He(30,Ag,i.disableDismiss)),c(3),se(H(16,18,"transports.dialog.label")),c(3),w("ngClass",He(32,Ag,i.disableDismiss)),c(3),se(H(22,20,"transports.dialog.transport-type")),c(3),w("ngForOf",i.types),c(3),se(H(28,22,"transports.dialog.errors.transport-type-error")),c(2),w("checked",i.makePersistent)("ngClass",He(34,Ag,i.disableDismiss)),c(1),ce(" ",H(31,24,"transports.dialog.make-persistent")," "),c(2),w("inline",!0)("matTooltip",H(33,26,"transports.dialog.persistent-tooltip"))}}let XJ=(()=>{class t{static openDialog(e){const i=new En;return i.autoFocus=!1,i.width=Vt.mediumModalWidth,e.open(t,i)}constructor(e,i,o,s,a,l){this.transportService=e,this.formBuilder=i,this.dialogRef=o,this.snackbarService=s,this.storageService=a,this.nodeService=l,this.makePersistent=!1,this.shouldShowError=!0}ngOnInit(){this.form=this.formBuilder.group({remoteKey:["",Gt.compose([Gt.required,Gt.minLength(66),Gt.maxLength(66),Gt.pattern("^[0-9a-fA-F]+$")])],label:[""],type:["",Gt.required]}),this.loadData(0)}ngOnDestroy(){this.dataSubscription.unsubscribe(),this.operationSubscription&&this.operationSubscription.unsubscribe()}get disableDismiss(){return!!this.button&&this.button.isLoading}setMakePersistent(e){this.makePersistent=!!e.checked}create(){if(!this.form.valid||this.button.disabled)return;this.button.showLoading();const e=this.form.get("remoteKey").value,i=this.form.get("type").value,o=this.form.get("label").value;if(this.makePersistent){const s=this.transportService.getPersistentTransports(Ct.getCurrentNodeKey());this.operationSubscription=s.subscribe(a=>{const l=a||[];let d=!1;l.forEach(_=>{_.pk.toUpperCase()===e.toUpperCase()&&_.type.toUpperCase()===i.toUpperCase()&&(d=!0)}),d?this.createTransport(e,i,o,!0):this.createPersistent(l,e,i,o)},a=>{this.onError(a)})}else this.createTransport(e,i,o,!1)}createPersistent(e,i,o,s){e.push({pk:i,type:o}),this.operationSubscription=this.transportService.savePersistentTransportsData(Ct.getCurrentNodeKey(),e).subscribe(()=>{this.createTransport(i,o,s,!0)},a=>{this.onError(a)})}createTransport(e,i,o,s){this.operationSubscription=this.transportService.create(Ct.getCurrentNodeKey(),e,i).subscribe(a=>{let l=!1;o&&(a&&a.id?this.storageService.saveLabel(a.id,o,Xi.Transport):l=!0),Ct.refreshCurrentDisplayedData(),this.dialogRef.close(),l?this.snackbarService.showWarning("transports.dialog.success-without-label"):this.snackbarService.showDone("transports.dialog.success")},a=>{s?(Ct.refreshCurrentDisplayedData(),this.dialogRef.close(),this.snackbarService.showWarning("transports.dialog.only-persistent-created")):this.onError(a)})}onError(e){this.button.showError(),e=en(e),this.snackbarService.showError(e)}loadData(e){this.dataSubscription&&this.dataSubscription.unsubscribe(),this.dataSubscription=$e(1).pipe(Ti(e),Ye(()=>this.transportService.types(Ct.getCurrentNodeKey()))).subscribe(i=>{i.sort((s,a)=>"stcp"===s.toLowerCase()?1:"stcp"===a.toLowerCase()?-1:s.localeCompare(a));let o=i.findIndex(s=>"dmsg"===s.toLowerCase());o=-1!==o?o:0,this.types=i,this.form.get("type").setValue(i[o]),this.snackbarService.closeCurrentIfTemporaryError(),setTimeout(()=>this.firstInput.nativeElement.focus())},i=>{i=en(i),this.shouldShowError&&(this.snackbarService.showError("common.loading-error",null,!0,i),this.shouldShowError=!1),this.loadData(Vt.connectionRetryDelay)})}}return t.\u0275fac=function(e){return new(e||t)(Y(V1),Y(xr),Y(Bn),Y(Dn),Y(Ji),Y(ua))},t.\u0275cmp=Ze({type:t,selectors:[["app-create-transport"]],viewQuery:function(e,i){if(1&e&&(_t(UJ,5),_t(WJ,5)),2&e){let o;rt(o=ot())&&(i.button=o.first),rt(o=ot())&&(i.firstInput=o.first)}},decls:8,vars:11,consts:[[3,"headline","dialog","disableDismiss"],[3,"showWhite",4,"ngIf"],[3,"formGroup",4,"ngIf"],["color","primary",1,"float-right",3,"disabled","action"],["button",""],[3,"showWhite"],[3,"formGroup"],[3,"ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","remoteKey","maxlength","66","matInput",""],["firstInput",""],[4,"ngIf","ngIfElse"],["hexError",""],["formControlName","label","maxlength","66","matInput",""],["formControlName","type"],[3,"value",4,"ngFor","ngForOf"],["color","primary",3,"checked","ngClass","change"],[1,"help-icon",3,"inline","matTooltip"],[3,"value"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),V(2,$J,1,1,"app-loading-indicator",1),V(3,ZJ,35,36,"form",2),D(4,"app-button",3,4),ye("action",function(){return i.create()}),I(6),R(7,"translate"),C()()),2&e&&(w("headline",H(1,7,"transports.create"))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(2),w("ngIf",!i.types),c(1),w("ngIf",i.types),c(1),w("disabled",!i.form.valid),c(2),ce(" ",H(7,9,"transports.create")," "))},dependencies:[Nn,gi,Ft,zi,Bi,Vi,ji,Cr,ii,Ei,ar,sl,kr,Cn,vi,tf,Pd,fa,Ui,ei,as,wt],styles:["mat-checkbox[_ngcontent-%COMP%]{margin-bottom:15px}"]}),t})();function JJ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),D(3,"mat-icon",6),R(4,"translate"),I(5,"help"),C(),We()),2&t&&(c(1),ce(" ",H(2,3,"common.yes")," "),c(2),w("inline",!0)("matTooltip",H(4,5,"transports.persistent-transport-tooltip")))}function QJ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"common.no")))}let eQ=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.largeModalWidth,e.open(t,o)}constructor(e,i){this.data=e,this.dialogRef=i}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn))},t.\u0275cmp=Ze({type:t,selectors:[["app-transport-details"]],decls:51,vars:45,consts:[[1,"info-dialog",3,"headline","dialog"],[1,"title","mt-0"],[3,"inline"],[1,"item"],[4,"ngIf"],[1,"title"],[1,"help-icon","d-none","d-md-inline",3,"inline","matTooltip"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div")(3,"div",1)(4,"mat-icon",2),I(5,"list"),C(),I(6),R(7,"translate"),C(),D(8,"div",3)(9,"span"),I(10),R(11,"translate"),C(),V(12,JJ,6,7,"ng-container",4),V(13,QJ,3,3,"ng-container",4),C(),D(14,"div",3)(15,"span"),I(16),R(17,"translate"),C(),I(18),C(),D(19,"div",3)(20,"span"),I(21),R(22,"translate"),C(),I(23),C(),D(24,"div",3)(25,"span"),I(26),R(27,"translate"),C(),I(28),C(),D(29,"div",3)(30,"span"),I(31),R(32,"translate"),C(),I(33),C(),D(34,"div",5)(35,"mat-icon",2),I(36,"import_export"),C(),I(37),R(38,"translate"),C(),D(39,"div",3)(40,"span"),I(41),R(42,"translate"),C(),I(43),R(44,"autoScale"),C(),D(45,"div",3)(46,"span"),I(47),R(48,"translate"),C(),I(49),R(50,"autoScale"),C()()()),2&e&&(w("headline",H(1,21,"transports.details.title"))("dialog",i.dialogRef),c(4),w("inline",!0),c(2),ce("",H(7,23,"transports.details.basic.title")," "),c(4),se(H(11,25,"transports.details.basic.persistent")),c(2),w("ngIf",i.data.isPersistent),c(1),w("ngIf",!i.data.isPersistent),c(3),se(H(17,27,"transports.details.basic.id")),c(2),ce(" ",i.data.id," "),c(3),se(H(22,29,"transports.details.basic.local-pk")),c(2),ce(" ",i.data.localPk," "),c(3),se(H(27,31,"transports.details.basic.remote-pk")),c(2),ce(" ",i.data.remotePk," "),c(3),se(H(32,33,"transports.details.basic.type")),c(2),ce(" ",i.data.type," "),c(2),w("inline",!0),c(2),ce("",H(38,35,"transports.details.data.title")," "),c(4),se(H(42,37,"transports.details.data.uploaded")),c(2),ce(" ",H(44,39,i.data.sent)," "),c(4),se(H(48,41,"transports.details.data.downloaded")),c(2),ce(" ",H(50,43,i.data.recv)," "))},dependencies:[Ft,Cn,vi,ei,wt,sf],styles:[".help-icon[_ngcontent-%COMP%]{opacity:.5;font-size:14px;cursor:default}"]}),t})();function tQ(t,n){1&t&&(D(0,"span",15),I(1),R(2,"translate"),D(3,"mat-icon",16),R(4,"translate"),I(5,"help"),C()()),2&t&&(c(1),ce(" ",H(2,3,"transports.title")," "),c(2),w("inline",!0)("matTooltip",H(4,5,"transports.info")))}function nQ(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.translatableValue))}}function iQ(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e.value)}}function rQ(t,n){if(1&t&&(D(0,"div",20)(1,"span"),I(2),R(3,"translate"),C(),V(4,nQ,3,3,"ng-container",21),V(5,iQ,2,1,"ng-container",21),C()),2&t){const e=n.$implicit;c(2),ce("",H(3,3,e.filterName),": "),c(2),w("ngIf",e.translatableValue),c(1),w("ngIf",e.value)}}function oQ(t,n){if(1&t){const e=et();D(0,"div",17),ye("click",function(){return Pe(e),Oe(z().dataFilterer.removeFilters())}),V(1,rQ,6,5,"div",18),D(2,"div",19),I(3),R(4,"translate"),C()()}if(2&t){const e=z();c(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),c(2),se(H(4,2,"filters.press-to-remove"))}}function sQ(t,n){if(1&t){const e=et();D(0,"mat-icon",22),ye("click",function(){return Pe(e),Oe(z().dataFilterer.changeFilters())}),I(1,"filter_list"),C()}2&t&&w("inline",!0)}function aQ(t,n){if(1&t&&(D(0,"mat-icon",23),I(1,"more_horiz"),C()),2&t){z();const e=ci(11);w("inline",!0)("matMenuTriggerFor",e)}}const j1=function(t){return["/nodes",t,"transports"]};function lQ(t,n){if(1&t&&xe(0,"app-paginator",24),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",He(4,j1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function cQ(t,n){if(1&t&&(D(0,"mat-icon",39),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function dQ(t,n){1&t&&(Ue(0),I(1,"*"),We())}function uQ(t,n){if(1&t&&(Ue(0),D(1,"mat-icon",39),I(2),C(),V(3,dQ,2,0,"ng-container",21),We()),2&t){const e=z(2);c(1),w("inline",!0),c(1),se(e.dataSorter.sortingArrow),c(1),w("ngIf",e.dataSorter.currentlySortingByLabel)}}function hQ(t,n){1&t&&(Ue(0),I(1,"*"),We())}function fQ(t,n){if(1&t&&(Ue(0),D(1,"mat-icon",39),I(2),C(),V(3,hQ,2,0,"ng-container",21),We()),2&t){const e=z(2);c(1),w("inline",!0),c(1),se(e.dataSorter.sortingArrow),c(1),w("ngIf",e.dataSorter.currentlySortingByLabel)}}function pQ(t,n){if(1&t&&(D(0,"mat-icon",39),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function mQ(t,n){if(1&t&&(D(0,"mat-icon",39),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function gQ(t,n){if(1&t&&(D(0,"mat-icon",39),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function _Q(t,n){if(1&t){const e=et();D(0,"button",48),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).changeIfPersistent([o],!1))}),R(1,"translate"),D(2,"mat-icon",49),I(3,"star"),C()()}2&t&&(w("matTooltip",H(1,2,"transports.persistent-transport-button-tooltip")),c(2),w("inline",!0))}function bQ(t,n){if(1&t){const e=et();D(0,"button",48),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).changeIfPersistent([o],!0))}),R(1,"translate"),D(2,"mat-icon",50),I(3,"star_outline"),C()()}2&t&&(w("matTooltip",H(1,2,"transports.non-persistent-transport-button-tooltip")),c(2),w("inline",!0))}function vQ(t,n){1&t&&(D(0,"span"),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"transports.offline")))}function yQ(t,n){if(1&t){const e=et();D(0,"td")(1,"app-labeled-element-text",51),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C(),V(2,vQ,3,3,"span",21),C()}if(2&t){const e=z().$implicit,i=z(2);c(1),Ln("id",e.id),w("short",!0)("elementType",i.labeledElementTypes.Transport),c(1),w("ngIf",e.notFound)}}function MQ(t,n){1&t&&(D(0,"td"),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"transports.offline")," "))}function wQ(t,n){if(1&t&&(D(0,"td"),I(1),R(2,"autoScale"),C()),2&t){const e=z().$implicit;c(1),ce(" ",H(2,1,e.sent)," ")}}function CQ(t,n){if(1&t&&(D(0,"td"),I(1),R(2,"autoScale"),C()),2&t){const e=z().$implicit;c(1),ce(" ",H(2,1,e.recv)," ")}}function xQ(t,n){1&t&&(D(0,"td"),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"transports.offline")," "))}function kQ(t,n){1&t&&(D(0,"td"),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"transports.offline")," "))}function SQ(t,n){if(1&t){const e=et();D(0,"button",52),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).details(o))}),R(1,"translate"),D(2,"mat-icon",39),I(3,"visibility"),C()()}2&t&&(w("matTooltip",H(1,2,"transports.details.title")),c(2),w("inline",!0))}function DQ(t,n){if(1&t){const e=et();D(0,"button",52),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).delete(o))}),R(1,"translate"),D(2,"mat-icon",39),I(3,"close"),C()()}2&t&&(w("matTooltip",H(1,2,"transports.delete")),c(2),w("inline",!0))}const uP=function(t){return{offline:t}};function TQ(t,n){if(1&t){const e=et();D(0,"tr",42)(1,"td",43)(2,"mat-checkbox",44),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(3,"td"),V(4,_Q,4,4,"button",45),V(5,bQ,4,4,"button",45),C(),V(6,yQ,3,4,"td",21),V(7,MQ,3,3,"td",21),D(8,"td")(9,"app-labeled-element-text",46),ye("labelEdited",function(){return Pe(e),Oe(z(2).refreshData())}),C()(),D(10,"td"),I(11),C(),V(12,wQ,3,3,"td",21),V(13,CQ,3,3,"td",21),V(14,xQ,3,3,"td",21),V(15,kQ,3,3,"td",21),D(16,"td",32),V(17,SQ,4,4,"button",47),V(18,DQ,4,4,"button",47),C()()}if(2&t){const e=n.$implicit,i=z(2);w("ngClass",He(15,uP,e.notFound)),c(2),w("checked",i.selections.get(e.id)),c(2),w("ngIf",e.isPersistent),c(1),w("ngIf",!e.isPersistent),c(1),w("ngIf",!e.notFound),c(1),w("ngIf",e.notFound),c(2),Ln("id",e.remotePk),w("short",!0),c(2),ce(" ",e.type," "),c(1),w("ngIf",!e.notFound),c(1),w("ngIf",!e.notFound),c(1),w("ngIf",e.notFound),c(1),w("ngIf",e.notFound),c(2),w("ngIf",!e.notFound),c(1),w("ngIf",!e.notFound)}}function LQ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.label")))}function EQ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.inverted-order")))}function IQ(t,n){1&t&&(D(0,"div",59)(1,"div",59)(2,"mat-icon",62),I(3,"star"),C(),I(4,"\xa0 "),D(5,"span",63),I(6),R(7,"translate"),C()()()),2&t&&(c(2),w("inline",!0),c(4),se(H(7,2,"transports.persistent")))}function PQ(t,n){if(1&t){const e=et();D(0,"app-labeled-element-text",64),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()}if(2&t){const e=z().$implicit,i=z(2);Ln("id",e.id),w("elementType",i.labeledElementTypes.Transport)}}function OQ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"transports.offline")))}function AQ(t,n){if(1&t&&(Ue(0),I(1),R(2,"autoScale"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.sent))}}function FQ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"transports.offline")))}function RQ(t,n){if(1&t&&(Ue(0),I(1),R(2,"autoScale"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.recv))}}function NQ(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"transports.offline")))}function YQ(t,n){if(1&t){const e=et();D(0,"tr")(1,"td")(2,"div",53)(3,"div",54)(4,"mat-checkbox",44),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(5,"div",37),V(6,IQ,8,4,"div",55),D(7,"div",56)(8,"span",1),I(9),R(10,"translate"),C(),I(11,": "),V(12,PQ,1,2,"app-labeled-element-text",57),V(13,OQ,3,3,"ng-container",21),C(),D(14,"div",56)(15,"span",1),I(16),R(17,"translate"),C(),I(18,": "),D(19,"app-labeled-element-text",58),ye("labelEdited",function(){return Pe(e),Oe(z(2).refreshData())}),C()(),D(20,"div",59)(21,"span",1),I(22),R(23,"translate"),C(),I(24),C(),D(25,"div",59)(26,"span",1),I(27),R(28,"translate"),C(),I(29,": "),V(30,AQ,3,3,"ng-container",21),V(31,FQ,3,3,"ng-container",21),C(),D(32,"div",59)(33,"span",1),I(34),R(35,"translate"),C(),I(36,": "),V(37,RQ,3,3,"ng-container",21),V(38,NQ,3,3,"ng-container",21),C()(),xe(39,"div",60),D(40,"div",38)(41,"button",61),ye("click",function(o){const a=Pe(e).$implicit,l=z(2);return o.stopPropagation(),Oe(l.showOptionsDialog(a))}),R(42,"translate"),D(43,"mat-icon"),I(44),C()()()()()()}if(2&t){const e=n.$implicit,i=z(2);c(2),w("ngClass",He(30,uP,e.notFound)),c(2),w("checked",i.selections.get(e.id)),c(2),w("ngIf",e.isPersistent),c(3),se(H(10,18,"transports.id")),c(3),w("ngIf",!e.notFound),c(1),w("ngIf",e.notFound),c(3),se(H(17,20,"transports.remote-node")),c(3),Ln("id",e.remotePk),c(3),se(H(23,22,"transports.type")),c(2),ce(": ",e.type," "),c(3),se(H(28,24,"common.uploaded")),c(3),w("ngIf",!e.notFound),c(1),w("ngIf",e.notFound),c(3),se(H(35,26,"common.downloaded")),c(3),w("ngIf",!e.notFound),c(1),w("ngIf",e.notFound),c(3),w("matTooltip",H(42,28,"common.options")),c(3),se("add")}}function HQ(t,n){if(1&t&&xe(0,"app-view-all-link",65),2&t){const e=z(2);w("numberOfElements",e.filteredTransports.length)("linkParts",He(3,j1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const BQ=function(t,n){return{"small-node-list-margins":t,"full-node-list-margins":n}},VQ=function(t){return{"d-lg-none d-xl-table":t}},jQ=function(t){return{"d-lg-table d-xl-none":t}};function zQ(t,n){if(1&t){const e=et();D(0,"div",25)(1,"div",26)(2,"table",27)(3,"tr"),xe(4,"th"),D(5,"th",28),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.persistentSortData))}),R(6,"translate"),D(7,"mat-icon",29),I(8,"star_outline"),C(),V(9,cQ,2,2,"mat-icon",30),C(),D(10,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.idSortData))}),I(11),R(12,"translate"),V(13,uQ,4,3,"ng-container",21),C(),D(14,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.remotePkSortData))}),I(15),R(16,"translate"),V(17,fQ,4,3,"ng-container",21),C(),D(18,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.typeSortData))}),I(19),R(20,"translate"),V(21,pQ,2,2,"mat-icon",30),C(),D(22,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.uploadedSortData))}),I(23),R(24,"translate"),V(25,mQ,2,2,"mat-icon",30),C(),D(26,"th",31),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.downloadedSortData))}),I(27),R(28,"translate"),V(29,gQ,2,2,"mat-icon",30),C(),xe(30,"th",32),C(),V(31,TQ,19,17,"tr",33),C(),D(32,"table",34)(33,"tr",35),ye("click",function(){return Pe(e),Oe(z().dataSorter.openSortingOrderModal())}),D(34,"td")(35,"div",36)(36,"div",37)(37,"div",1),I(38),R(39,"translate"),C(),D(40,"div"),I(41),R(42,"translate"),V(43,LQ,3,3,"ng-container",21),V(44,EQ,3,3,"ng-container",21),C()(),D(45,"div",38)(46,"mat-icon",39),I(47,"keyboard_arrow_down"),C()()()()(),V(48,YQ,45,32,"tr",40),C(),V(49,HQ,1,5,"app-view-all-link",41),C()()}if(2&t){const e=z();c(1),w("ngClass",mn(39,BQ,e.showShortList_,!e.showShortList_)),c(1),w("ngClass",He(42,VQ,e.showShortList_)),c(3),w("matTooltip",H(6,23,"transports.persistent-tooltip")),c(4),w("ngIf",e.dataSorter.currentSortingColumn===e.persistentSortData),c(2),ce(" ",H(12,25,"transports.id")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.idSortData),c(2),ce(" ",H(16,27,"transports.remote-node")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.remotePkSortData),c(2),ce(" ",H(20,29,"transports.type")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.typeSortData),c(2),ce(" ",H(24,31,"common.uploaded")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.uploadedSortData),c(2),ce(" ",H(28,33,"common.downloaded")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.downloadedSortData),c(2),w("ngForOf",e.dataSource),c(1),w("ngClass",He(44,jQ,e.showShortList_)),c(6),se(H(39,35,"tables.sorting-title")),c(3),ce("",H(42,37,e.dataSorter.currentSortingColumn.label)," "),c(2),w("ngIf",e.dataSorter.currentlySortingByLabel),c(1),w("ngIf",e.dataSorter.sortingInReverseOrder),c(2),w("inline",!0),c(2),w("ngForOf",e.dataSource),c(1),w("ngIf",e.showShortList_&&e.numberOfPages>1)}}function UQ(t,n){1&t&&(D(0,"span",69),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"transports.empty")))}function WQ(t,n){1&t&&(D(0,"span",69),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"transports.empty-with-filter")))}function $Q(t,n){if(1&t&&(D(0,"div",25)(1,"div",66)(2,"mat-icon",67),I(3,"warning"),C(),V(4,UQ,3,3,"span",68),V(5,WQ,3,3,"span",68),C()()),2&t){const e=z();c(2),w("inline",!0),c(2),w("ngIf",0===e.allTransports.length),c(1),w("ngIf",0!==e.allTransports.length)}}function GQ(t,n){if(1&t&&xe(0,"app-paginator",24),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",He(4,j1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const qQ=function(t){return{"paginator-icons-fixer":t}};let hP=(()=>{class t{set showShortList(e){this.showShortList_=e,this.dataSorter.setData(this.filteredTransports)}set node(e){this.currentNode=e,this.allTransports=e.transports,this.nodePK=e.localPk;const i=new Map;e.persistentTransports.forEach(o=>i.set(this.getPersistentTransportID(o.pk,o.type),o)),this.allTransports.forEach(o=>{i.has(this.getPersistentTransportID(o.remotePk,o.type))?(o.isPersistent=!0,i.delete(this.getPersistentTransportID(o.remotePk,o.type))):o.isPersistent=!1}),i.forEach((o,s)=>{this.allTransports.push({id:this.getPersistentTransportID(o.pk,o.type),localPk:e.localPk,remotePk:o.pk,type:o.type,recv:0,sent:0,isPersistent:!0,notFound:!0})}),this.allTransports.forEach(o=>{o.id_label=ha.getCompleteLabel(this.storageService,this.translateService,o.id),o.remote_pk_label=ha.getCompleteLabel(this.storageService,this.translateService,o.remotePk)}),this.dataFilterer.setData(this.allTransports)}constructor(e,i,o,s,a,l,d,_){this.dialog=e,this.transportService=i,this.route=o,this.router=s,this.snackbarService=a,this.translateService=l,this.storageService=d,this.nodeService=_,this.listId="tr",this.persistentSortData=new Vn(["isPersistent"],"transports.persistent",Zt.Boolean),this.idSortData=new Vn(["id"],"transports.id",Zt.Text,["id_label"]),this.remotePkSortData=new Vn(["remotePk"],"transports.remote-node",Zt.Text,["remote_pk_label"]),this.typeSortData=new Vn(["type"],"transports.type",Zt.Text),this.uploadedSortData=new Vn(["sent"],"common.uploaded",Zt.NumberReversed),this.downloadedSortData=new Vn(["recv"],"common.downloaded",Zt.NumberReversed),this.selections=new Map,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"transports.filter-dialog.persistent",keyNameInElementsArray:"isPersistent",type:$n.Select,printableLabelsForValues:[{value:"",label:"transports.filter-dialog.persistent-options.any"},{value:"true",label:"transports.filter-dialog.persistent-options.persistent"},{value:"false",label:"transports.filter-dialog.persistent-options.non-persistent"}]},{filterName:"transports.filter-dialog.id",keyNameInElementsArray:"id",secondaryKeyNameInElementsArray:"id_label",type:$n.TextInput,maxlength:36},{filterName:"transports.filter-dialog.remote-node",keyNameInElementsArray:"remotePk",secondaryKeyNameInElementsArray:"remote_pk_label",type:$n.TextInput,maxlength:66}],this.labeledElementTypes=Xi,this.operationSubscriptionsGroup=[],this.dataSorter=new Rd(this.dialog,this.translateService,this.storageService,[this.persistentSortData,this.idSortData,this.remotePkSortData,this.typeSortData,this.uploadedSortData,this.downloadedSortData],1,this.listId),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataFilterer=new Nd(this.dialog,this.route,this.router,this.filterProperties,this.listId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(F=>{this.filteredTransports=F,this.dataSorter.setData(this.filteredTransports)}),this.navigationsSubscription=this.route.paramMap.subscribe(F=>{if(F.has("page")){let G=Number.parseInt(F.get("page"),10);(isNaN(G)||G<1)&&(G=1),this.currentPageInUrl=G,this.recalculateElementsToShow()}}),this.languageSubscription=this.translateService.onLangChange.subscribe(()=>{this.node=this.currentNode})}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.operationSubscriptionsGroup.forEach(e=>e.unsubscribe()),this.languageSubscription.unsubscribe(),this.dataSortedSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFiltererSubscription.unsubscribe(),this.dataFilterer.dispose(),this.persistentTransportSubscription&&this.persistentTransportSubscription.unsubscribe()}changeSelection(e){this.selections.get(e.id)?this.selections.set(e.id,!1):this.selections.set(e.id,!0)}hasSelectedElements(){if(!this.selections)return!1;let e=!1;return this.selections.forEach(i=>{i&&(e=!0)}),e}changeAllSelections(e){this.selections.forEach((i,o)=>{this.selections.set(o,e)})}deleteSelected(){const e=Jt.createConfirmationDialog(this.dialog,"transports.delete-selected-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.showProcessing();const i=[];this.selections.forEach((o,s)=>{o&&i.push(s)}),this.deleteRecursively(i,e)})}create(){XJ.openDialog(this.dialog)}showOptionsDialog(e){const i=[];i.push(e.isPersistent?{icon:"star_outline",label:"transports.make-non-persistent"}:{icon:"star",label:"transports.make-persistent"}),e.notFound||(i.push({icon:"visibility",label:"transports.details.title"}),i.push({icon:"close",label:"transports.delete"})),qr.openDialog(this.dialog,i,"common.options").afterClosed().subscribe(o=>{1===o?this.changeIfPersistent([e],!e.isPersistent):2===o?this.details(e):3===o&&this.delete(e)})}changeIfPersistentOfSelected(e){const i=[];this.allTransports.forEach(o=>{this.selections.has(o.id)&&this.selections.get(o.id)&&i.push(o)}),this.changeIfPersistent(i,e)}changeIfPersistent(e,i){if(e.length<1)return;let o="transports.";o+=1===e.length?i?"make-persistent-confirmation":"make"+(e[0].notFound?"-offline":"")+"-non-persistent-confirmation":i?"make-selected-persistent-confirmation":"make-selected-non-persistent-confirmation";const s=Jt.createConfirmationDialog(this.dialog,o);s.componentInstance.operationAccepted.subscribe(()=>{s.componentInstance.showProcessing(),this.persistentTransportSubscription=this.transportService.getPersistentTransports(this.nodePK).subscribe(a=>{const l=a||[];let d=!1;const _=new Map;if(e.forEach(E=>_.set(this.getPersistentTransportID(E.remotePk,E.type),E)),i)l.forEach(E=>{_.has(this.getPersistentTransportID(E.pk,E.type))&&_.delete(this.getPersistentTransportID(E.pk,E.type))}),d=0===_.size,d||_.forEach(E=>{l.push({pk:E.remotePk,type:E.type})});else{d=!0;for(let E=0;E{s.close(),Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("transports.changes-made")},E=>{E=en(E),s.componentInstance.showDone("confirmation.error-header-text",E.translatableErrorMsg)})},a=>{a=en(a),s.componentInstance.showDone("confirmation.error-header-text",a.translatableErrorMsg)})})}details(e){eQ.openDialog(this.dialog,e)}delete(e){const o=Jt.createConfirmationDialog(this.dialog,"transports.delete-"+(e.isPersistent?"persistent-":"")+"confirmation");o.componentInstance.operationAccepted.subscribe(()=>{o.componentInstance.showProcessing(),this.operationSubscriptionsGroup.push(this.startDeleting(e.id).subscribe(()=>{o.close(),Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("transports.deleted")},s=>{s=en(s),o.componentInstance.showDone("confirmation.error-header-text",s.translatableErrorMsg)}))})}refreshData(){Ct.refreshCurrentDisplayedData()}getPersistentTransportID(e,i){return e.toUpperCase()+i.toUpperCase()}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredTransports){const e=this.showShortList_?Vt.maxShortListElements:Vt.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredTransports.length/e),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const i=e*(this.currentPage-1);this.transportsToShow=this.filteredTransports.slice(i,i+e);const s=new Map;this.transportsToShow.forEach(l=>{s.set(l.id,!0),this.selections.has(l.id)||this.selections.set(l.id,!1)});const a=[];this.selections.forEach((l,d)=>{s.has(d)||a.push(d)}),a.forEach(l=>{this.selections.delete(l)})}else this.transportsToShow=null,this.selections=new Map;this.dataSource=this.transportsToShow}startDeleting(e){return this.transportService.delete(Ct.getCurrentNodeKey(),e)}deleteRecursively(e,i){this.operationSubscriptionsGroup.push(this.startDeleting(e[e.length-1]).subscribe(()=>{e.pop(),0===e.length?(i.close(),Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("transports.deleted")):this.deleteRecursively(e,i)},o=>{Ct.refreshCurrentDisplayedData(),o=en(o),i.componentInstance.showDone("confirmation.error-header-text",o.translatableErrorMsg)}))}}return t.\u0275fac=function(e){return new(e||t)(Y(In),Y(V1),Y(Mr),Y(hn),Y(Dn),Y(To),Y(Ji),Y(ua))},t.\u0275cmp=Ze({type:t,selectors:[["app-transport-list"]],inputs:{showShortList:"showShortList",node:"node"},decls:31,vars:31,consts:[[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","uppercase",4,"ngIf"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],[3,"inline","click"],["class","small-icon",3,"inline","click",4,"ngIf"],[3,"inline","matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"uppercase"],[1,"help","d-none","d-md-inline",3,"inline","matTooltip"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","click"],[3,"inline","matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow",3,"ngClass"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table",3,"ngClass"],[1,"sortable-column","small-column",3,"matTooltip","click"],[1,"persistent-icon","grey-text"],[3,"inline",4,"ngIf"],[1,"sortable-column",3,"click"],[1,"actions"],[3,"ngClass",4,"ngFor","ngForOf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none",3,"ngClass"],[1,"selectable",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],[3,"inline"],[4,"ngFor","ngForOf"],[3,"numberOfElements","linkParts","queryParams",4,"ngIf"],[3,"ngClass"],[1,"selection-col"],[3,"checked","change"],["mat-button","","class","action-button subtle-transparent-button",3,"matTooltip","click",4,"ngIf"],["shortTextLength","4",3,"short","id","labelEdited"],["mat-button","","class","action-button transparent-button",3,"matTooltip","click",4,"ngIf"],["mat-button","",1,"action-button","subtle-transparent-button",3,"matTooltip","click"],[1,"persistent-icon","default-cursor",3,"inline"],[1,"persistent-icon","grey-text",3,"inline"],["shortTextLength","4",3,"short","id","elementType","labelEdited"],["mat-button","",1,"action-button","transparent-button",3,"matTooltip","click"],[1,"list-item-container",3,"ngClass"],[1,"check-part"],["class","list-row",4,"ngIf"],[1,"list-row","long-content"],[3,"id","elementType","labelEdited",4,"ngIf"],[3,"id","labelEdited"],[1,"list-row"],[1,"margin-part"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],[1,"persistent-icon",3,"inline"],[1,"yellow-clear-text","title"],[3,"id","elementType","labelEdited"],[3,"numberOfElements","linkParts","queryParams"],[1,"box-internal-container"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1),V(2,tQ,6,7,"span",2),V(3,oQ,5,4,"div",3),C(),D(4,"div",4)(5,"div",5)(6,"mat-icon",6),ye("click",function(){return i.create()}),I(7,"add"),C(),V(8,sQ,2,1,"mat-icon",7),V(9,aQ,2,2,"mat-icon",8),D(10,"mat-menu",9,10)(12,"div",11),ye("click",function(){return i.changeAllSelections(!0)}),I(13),R(14,"translate"),C(),D(15,"div",11),ye("click",function(){return i.changeAllSelections(!1)}),I(16),R(17,"translate"),C(),D(18,"div",12),ye("click",function(){return i.changeIfPersistentOfSelected(!0)}),I(19),R(20,"translate"),C(),D(21,"div",12),ye("click",function(){return i.changeIfPersistentOfSelected(!1)}),I(22),R(23,"translate"),C(),D(24,"div",12),ye("click",function(){return i.deleteSelected()}),I(25),R(26,"translate"),C()()(),V(27,lQ,1,6,"app-paginator",13),C()(),V(28,zQ,50,46,"div",14),V(29,$Q,6,3,"div",14),V(30,GQ,1,6,"app-paginator",13)),2&e&&(w("ngClass",He(29,qQ,!i.showShortList_&&i.numberOfPages>1&&i.dataSource)),c(2),w("ngIf",i.showShortList_),c(1),w("ngIf",i.dataFilterer.currentFiltersTexts&&i.dataFilterer.currentFiltersTexts.length>0),c(3),w("inline",!0),c(2),w("ngIf",i.allTransports&&i.allTransports.length>0),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("overlapTrigger",!1),c(3),ce(" ",H(14,19,"selection.select-all")," "),c(3),ce(" ",H(17,21,"selection.unselect-all")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(20,23,"transports.make-selected-persistent")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(23,25,"transports.make-selected-non-persistent")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(26,27,"selection.delete-all")," "),c(2),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("ngIf",!i.dataSource||0===i.dataSource.length),c(1),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource))},dependencies:[Nn,gi,Ft,Wr,el,Cn,vi,Yd,pa,Hd,fa,Og,Bd,ha,wt,sf],styles:[".overflow[_ngcontent-%COMP%]{display:block;width:100%;overflow-x:auto}.overflow[_ngcontent-%COMP%] table[_ngcontent-%COMP%]{width:100%}.actions[_ngcontent-%COMP%]{text-align:right;width:90px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}.small-column[_ngcontent-%COMP%]{width:1px;text-align:center}.persistent-icon[_ngcontent-%COMP%]{font-size:14px!important;color:#d48b05}.offline[_ngcontent-%COMP%]{opacity:.35}"]}),t})();function KQ(t,n){1&t&&(D(0,"div",5)(1,"mat-icon",2),I(2,"settings"),C(),I(3),R(4,"translate"),C()),2&t&&(c(1),w("inline",!0),c(2),ce("",H(4,2,"routes.details.specific-fields-titles.app")," "))}function ZQ(t,n){1&t&&(D(0,"div",5)(1,"mat-icon",2),I(2,"swap_horiz"),C(),I(3),R(4,"translate"),C()),2&t&&(c(1),w("inline",!0),c(2),ce("",H(4,2,"routes.details.specific-fields-titles.forward")," "))}function XQ(t,n){1&t&&(D(0,"div",5)(1,"mat-icon",2),I(2,"arrow_forward"),C(),I(3),R(4,"translate"),C()),2&t&&(c(1),w("inline",!0),c(2),ce("",H(4,2,"routes.details.specific-fields-titles.intermediary-forward")," "))}function JQ(t,n){if(1&t&&(D(0,"div")(1,"div",3)(2,"span"),I(3),R(4,"translate"),C(),I(5),C(),D(6,"div",3)(7,"span"),I(8),R(9,"translate"),C(),I(10),C()()),2&t){const e=z(2);c(3),se(H(4,5,"routes.details.specific-fields.route-id")),c(2),ce(" ",e.routeRule.forwardFields?e.routeRule.forwardFields.nextRid:e.routeRule.intermediaryForwardFields.nextRid," "),c(3),se(H(9,7,"routes.details.specific-fields.transport-id")),c(2),vo(" ",e.routeRule.forwardFields?e.routeRule.forwardFields.nextTid:e.routeRule.intermediaryForwardFields.nextTid," ",e.getLabel(e.routeRule.forwardFields?e.routeRule.forwardFields.nextTid:e.routeRule.intermediaryForwardFields.nextTid)," ")}}function QQ(t,n){if(1&t&&(D(0,"div")(1,"div",3)(2,"span"),I(3),R(4,"translate"),C(),I(5),C(),D(6,"div",3)(7,"span"),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",3)(12,"span"),I(13),R(14,"translate"),C(),I(15),C(),D(16,"div",3)(17,"span"),I(18),R(19,"translate"),C(),I(20),C()()),2&t){const e=z(2);c(3),se(H(4,10,"routes.details.specific-fields.destination-pk")),c(2),vo(" ",e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.dstPk:e.routeRule.forwardFields.routeDescriptor.dstPk," ",e.getLabel(e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.dstPk:e.routeRule.forwardFields.routeDescriptor.dstPk)," "),c(3),se(H(9,12,"routes.details.specific-fields.source-pk")),c(2),vo(" ",e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.srcPk:e.routeRule.forwardFields.routeDescriptor.srcPk," ",e.getLabel(e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.srcPk:e.routeRule.forwardFields.routeDescriptor.srcPk)," "),c(3),se(H(14,14,"routes.details.specific-fields.destination-port")),c(2),ce(" ",e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.dstPort:e.routeRule.forwardFields.routeDescriptor.dstPort," "),c(3),se(H(19,16,"routes.details.specific-fields.source-port")),c(2),ce(" ",e.routeRule.appFields?e.routeRule.appFields.routeDescriptor.srcPort:e.routeRule.forwardFields.routeDescriptor.srcPort," ")}}function eee(t,n){if(1&t&&(D(0,"div")(1,"div",5)(2,"mat-icon",2),I(3,"list"),C(),I(4),R(5,"translate"),C(),D(6,"div",3)(7,"span"),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",3)(12,"span"),I(13),R(14,"translate"),C(),I(15),C(),D(16,"div",3)(17,"span"),I(18),R(19,"translate"),C(),I(20),C(),V(21,KQ,5,4,"div",6),V(22,ZQ,5,4,"div",6),V(23,XQ,5,4,"div",6),V(24,JQ,11,9,"div",4),V(25,QQ,21,18,"div",4),C()),2&t){const e=z();c(2),w("inline",!0),c(2),ce("",H(5,13,"routes.details.summary.title")," "),c(4),se(H(9,15,"routes.details.summary.keep-alive")),c(2),ce(" ",e.routeRule.ruleSummary.keepAlive," "),c(3),se(H(14,17,"routes.details.summary.type")),c(2),ce(" ",e.getRuleTypeName(e.routeRule.ruleSummary.ruleType)," "),c(3),se(H(19,19,"routes.details.summary.key-route-id")),c(2),ce(" ",e.routeRule.ruleSummary.keyRouteId," "),c(1),w("ngIf",e.routeRule.appFields),c(1),w("ngIf",e.routeRule.forwardFields),c(1),w("ngIf",e.routeRule.intermediaryForwardFields),c(1),w("ngIf",e.routeRule.forwardFields||e.routeRule.intermediaryForwardFields),c(1),w("ngIf",e.routeRule.appFields&&e.routeRule.appFields.routeDescriptor||e.routeRule.forwardFields&&e.routeRule.forwardFields.routeDescriptor)}}let tee=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.largeModalWidth,e.open(t,o)}constructor(e,i,o){this.dialogRef=i,this.storageService=o,this.ruleTypes=new Map([[0,"App"],[1,"Forward"],[2,"Intermediary forward"]]),this.routeRule=e}getRuleTypeName(e){return this.ruleTypes.has(e)?this.ruleTypes.get(e):e.toString()}closePopup(){this.dialogRef.close()}getLabel(e){const i=this.storageService.getLabelInfo(e);return i?" ("+i.label+")":""}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn),Y(Ji))},t.\u0275cmp=Ze({type:t,selectors:[["app-route-details"]],decls:19,vars:17,consts:[[1,"info-dialog",3,"headline","dialog"],[1,"title","mt-0"],[3,"inline"],[1,"item"],[4,"ngIf"],[1,"title"],["class","title",4,"ngIf"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div")(3,"div",1)(4,"mat-icon",2),I(5,"list"),C(),I(6),R(7,"translate"),C(),D(8,"div",3)(9,"span"),I(10),R(11,"translate"),C(),I(12),C(),D(13,"div",3)(14,"span"),I(15),R(16,"translate"),C(),I(17),C(),V(18,eee,26,21,"div",4),C()()),2&e&&(w("headline",H(1,9,"routes.details.title"))("dialog",i.dialogRef),c(4),w("inline",!0),c(2),ce("",H(7,11,"routes.details.basic.title")," "),c(4),se(H(11,13,"routes.details.basic.key")),c(2),ce(" ",i.routeRule.key," "),c(3),se(H(16,15,"routes.details.basic.rule")),c(2),ce(" ",i.routeRule.rule," "),c(1),w("ngIf",i.routeRule.ruleSummary))},dependencies:[Ft,Cn,ei,wt]}),t})(),fP=(()=>{class t{constructor(e){this.apiService=e}get(e,i){return this.apiService.get(`visors/${e}/routes/${i}`)}delete(e,i){return this.apiService.delete(`visors/${e}/routes/${i}`)}setMinHops(e,i){return this.apiService.post(`visors/${e}/min-hops`,{min_hops:i})}}return t.\u0275fac=function(e){return new(e||t)(we(il))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function nee(t,n){1&t&&(D(0,"span",14),I(1),R(2,"translate"),D(3,"mat-icon",15),R(4,"translate"),I(5,"help"),C()()),2&t&&(c(1),ce(" ",H(2,3,"routes.title")," "),c(2),w("inline",!0)("matTooltip",H(4,5,"routes.info")))}function iee(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.translatableValue))}}function ree(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e.value)}}function oee(t,n){if(1&t&&(D(0,"div",19)(1,"span"),I(2),R(3,"translate"),C(),V(4,iee,3,3,"ng-container",20),V(5,ree,2,1,"ng-container",20),C()),2&t){const e=n.$implicit;c(2),ce("",H(3,3,e.filterName),": "),c(2),w("ngIf",e.translatableValue),c(1),w("ngIf",e.value)}}function see(t,n){if(1&t){const e=et();D(0,"div",16),ye("click",function(){return Pe(e),Oe(z().dataFilterer.removeFilters())}),V(1,oee,6,5,"div",17),D(2,"div",18),I(3),R(4,"translate"),C()()}if(2&t){const e=z();c(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),c(2),se(H(4,2,"filters.press-to-remove"))}}function aee(t,n){if(1&t){const e=et();D(0,"mat-icon",21),ye("click",function(){return Pe(e),Oe(z().dataFilterer.changeFilters())}),R(1,"translate"),I(2,"filter_list"),C()}2&t&&w("inline",!0)("matTooltip",H(1,2,"filters.filter-action"))}function lee(t,n){1&t&&(D(0,"mat-icon",22),I(1,"more_horiz"),C()),2&t&&(z(),w("matMenuTriggerFor",ci(9)))}const z1=function(t){return["/nodes",t,"routes"]};function cee(t,n){if(1&t&&xe(0,"app-paginator",23),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",He(4,z1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function dee(t,n){if(1&t&&(D(0,"mat-icon",36),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function uee(t,n){if(1&t&&(D(0,"mat-icon",36),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function hee(t,n){if(1&t&&(D(0,"mat-icon",36),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function fee(t,n){if(1&t&&(D(0,"mat-icon",36),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function pee(t,n){if(1&t){const e=et();Ue(0),D(1,"td")(2,"app-labeled-element-text",41),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),D(3,"td")(4,"app-labeled-element-text",41),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),We()}if(2&t){const e=z().$implicit,i=z(2);c(2),Ln("id",e.src),w("short",!0)("elementType",i.labeledElementTypes.Node),c(2),Ln("id",e.dst),w("short",!0)("elementType",i.labeledElementTypes.Node)}}function mee(t,n){if(1&t){const e=et();Ue(0),D(1,"td"),I(2,"---"),C(),D(3,"td")(4,"app-labeled-element-text",42),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),We()}if(2&t){const e=z().$implicit,i=z(2);c(4),Ln("id",e.dst),w("short",!0)("elementType",i.labeledElementTypes.Transport)}}function gee(t,n){1&t&&(Ue(0),D(1,"td"),I(2,"---"),C(),D(3,"td"),I(4,"---"),C(),We())}function _ee(t,n){if(1&t){const e=et();D(0,"tr")(1,"td",38)(2,"mat-checkbox",39),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(3,"td"),I(4),C(),D(5,"td"),I(6),C(),V(7,pee,5,6,"ng-container",20),V(8,mee,5,3,"ng-container",20),V(9,gee,5,0,"ng-container",20),D(10,"td",29)(11,"button",40),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).details(s))}),R(12,"translate"),D(13,"mat-icon",36),I(14,"visibility"),C()(),D(15,"button",40),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).delete(s.key))}),R(16,"translate"),D(17,"mat-icon",36),I(18,"close"),C()()()()}if(2&t){const e=n.$implicit,i=z(2);c(2),w("checked",i.selections.get(e.key)),c(2),ce(" ",e.key," "),c(2),ce(" ",i.getTypeName(e.type)," "),c(1),w("ngIf",e.appFields||e.forwardFields),c(1),w("ngIf",!e.appFields&&!e.forwardFields&&e.intermediaryForwardFields),c(1),w("ngIf",!e.appFields&&!e.forwardFields&&!e.intermediaryForwardFields),c(2),w("matTooltip",H(12,10,"routes.details.title")),c(2),w("inline",!0),c(2),w("matTooltip",H(16,12,"routes.delete")),c(2),w("inline",!0)}}function bee(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.label")))}function vee(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.inverted-order")))}function yee(t,n){if(1&t){const e=et();Ue(0),D(1,"div",44)(2,"span",1),I(3),R(4,"translate"),C(),I(5,": "),D(6,"app-labeled-element-text",47),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),D(7,"div",44)(8,"span",1),I(9),R(10,"translate"),C(),I(11,": "),D(12,"app-labeled-element-text",47),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),We()}if(2&t){const e=z().$implicit,i=z(2);c(3),se(H(4,6,"routes.source")),c(3),Ln("id",e.src),w("elementType",i.labeledElementTypes.Node),c(3),se(H(10,8,"routes.destination")),c(3),Ln("id",e.dst),w("elementType",i.labeledElementTypes.Node)}}function Mee(t,n){if(1&t){const e=et();Ue(0),D(1,"div",44)(2,"span",1),I(3),R(4,"translate"),C(),I(5,": --- "),C(),D(6,"div",44)(7,"span",1),I(8),R(9,"translate"),C(),I(10,": "),D(11,"app-labeled-element-text",47),ye("labelEdited",function(){return Pe(e),Oe(z(3).refreshData())}),C()(),We()}if(2&t){const e=z().$implicit,i=z(2);c(3),se(H(4,4,"routes.source")),c(5),se(H(9,6,"routes.destination")),c(3),Ln("id",e.dst),w("elementType",i.labeledElementTypes.Transport)}}function wee(t,n){1&t&&(Ue(0),D(1,"div",44)(2,"span",1),I(3),R(4,"translate"),C(),I(5,": --- "),C(),D(6,"div",44)(7,"span",1),I(8),R(9,"translate"),C(),I(10,": --- "),C(),We()),2&t&&(c(3),se(H(4,2,"routes.source")),c(5),se(H(9,4,"routes.destination")))}function Cee(t,n){if(1&t){const e=et();D(0,"tr")(1,"td")(2,"div",33)(3,"div",43)(4,"mat-checkbox",39),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(5,"div",34)(6,"div",44)(7,"span",1),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",44)(12,"span",1),I(13),R(14,"translate"),C(),I(15),C(),V(16,yee,13,10,"ng-container",20),V(17,Mee,12,8,"ng-container",20),V(18,wee,11,6,"ng-container",20),C(),xe(19,"div",45),D(20,"div",35)(21,"button",46),ye("click",function(o){const a=Pe(e).$implicit,l=z(2);return o.stopPropagation(),Oe(l.showOptionsDialog(a))}),R(22,"translate"),D(23,"mat-icon"),I(24),C()()()()()()}if(2&t){const e=n.$implicit,i=z(2);c(4),w("checked",i.selections.get(e.key)),c(4),se(H(9,10,"routes.key")),c(2),ce(": ",e.key," "),c(3),se(H(14,12,"routes.type")),c(2),ce(": ",i.getTypeName(e.type)," "),c(1),w("ngIf",e.appFields||e.forwardFields),c(1),w("ngIf",!e.appFields&&!e.forwardFields&&e.intermediaryForwardFields),c(1),w("ngIf",!e.appFields&&!e.forwardFields&&!e.intermediaryForwardFields),c(3),w("matTooltip",H(22,14,"common.options")),c(3),se("add")}}function xee(t,n){if(1&t&&xe(0,"app-view-all-link",48),2&t){const e=z(2);w("numberOfElements",e.filteredRoutes.length)("linkParts",He(3,z1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const kee=function(t,n){return{"small-node-list-margins":t,"full-node-list-margins":n}},See=function(t){return{"d-lg-none d-xl-table":t}},Dee=function(t){return{"d-lg-table d-xl-none":t}};function Tee(t,n){if(1&t){const e=et();D(0,"div",24)(1,"div",25)(2,"table",26)(3,"tr"),xe(4,"th"),D(5,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.keySortData))}),I(6),R(7,"translate"),V(8,dee,2,2,"mat-icon",28),C(),D(9,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.typeSortData))}),I(10),R(11,"translate"),V(12,uee,2,2,"mat-icon",28),C(),D(13,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.sourceSortData))}),I(14),R(15,"translate"),V(16,hee,2,2,"mat-icon",28),C(),D(17,"th",27),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.destinationSortData))}),I(18),R(19,"translate"),V(20,fee,2,2,"mat-icon",28),C(),xe(21,"th",29),C(),V(22,_ee,19,14,"tr",30),C(),D(23,"table",31)(24,"tr",32),ye("click",function(){return Pe(e),Oe(z().dataSorter.openSortingOrderModal())}),D(25,"td")(26,"div",33)(27,"div",34)(28,"div",1),I(29),R(30,"translate"),C(),D(31,"div"),I(32),R(33,"translate"),V(34,bee,3,3,"ng-container",20),V(35,vee,3,3,"ng-container",20),C()(),D(36,"div",35)(37,"mat-icon",36),I(38,"keyboard_arrow_down"),C()()()()(),V(39,Cee,25,16,"tr",30),C(),V(40,xee,1,5,"app-view-all-link",37),C()()}if(2&t){const e=z();c(1),w("ngClass",mn(31,kee,e.showShortList_,!e.showShortList_)),c(1),w("ngClass",He(34,See,e.showShortList_)),c(4),ce(" ",H(7,19,"routes.key")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.keySortData),c(2),ce(" ",H(11,21,"routes.type")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.typeSortData),c(2),ce(" ",H(15,23,"routes.source")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.sourceSortData),c(2),ce(" ",H(19,25,"routes.destination")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.destinationSortData),c(2),w("ngForOf",e.dataSource),c(1),w("ngClass",He(36,Dee,e.showShortList_)),c(6),se(H(30,27,"tables.sorting-title")),c(3),ce("",H(33,29,e.dataSorter.currentSortingColumn.label)," "),c(2),w("ngIf",e.dataSorter.currentlySortingByLabel),c(1),w("ngIf",e.dataSorter.sortingInReverseOrder),c(2),w("inline",!0),c(2),w("ngForOf",e.dataSource),c(1),w("ngIf",e.showShortList_&&e.numberOfPages>1)}}function Lee(t,n){1&t&&(D(0,"span",52),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"routes.empty")))}function Eee(t,n){1&t&&(D(0,"span",52),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"routes.empty-with-filter")))}function Iee(t,n){if(1&t&&(D(0,"div",24)(1,"div",49)(2,"mat-icon",50),I(3,"warning"),C(),V(4,Lee,3,3,"span",51),V(5,Eee,3,3,"span",51),C()()),2&t){const e=z();c(2),w("inline",!0),c(2),w("ngIf",0===e.allRoutes.length),c(1),w("ngIf",0!==e.allRoutes.length)}}function Pee(t,n){if(1&t&&xe(0,"app-paginator",23),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",He(4,z1,e.nodePK))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const Oee=function(t){return{"paginator-icons-fixer":t}};let pP=(()=>{class t{set showShortList(e){this.showShortList_=e,this.dataSorter.setData(this.filteredRoutes)}set routes(e){this.allRoutes=e,this.allRoutes.forEach(i=>{if(i.type=i.ruleSummary.ruleType||0===i.ruleSummary.ruleType?i.ruleSummary.ruleType:"",i.appFields||i.forwardFields){const o=i.appFields?i.appFields.routeDescriptor:i.forwardFields.routeDescriptor;i.src=o.srcPk,i.src_label=ha.getCompleteLabel(this.storageService,this.translateService,i.src),i.dst=o.dstPk,i.dst_label=ha.getCompleteLabel(this.storageService,this.translateService,i.dst)}else i.intermediaryForwardFields?(i.src="",i.src_label="",i.dst=i.intermediaryForwardFields.nextTid,i.dst_label=ha.getCompleteLabel(this.storageService,this.translateService,i.dst)):(i.src="",i.src_label="",i.dst="",i.dst_label="")}),this.dataFilterer.setData(this.allRoutes)}constructor(e,i,o,s,a,l,d){this.routeService=e,this.dialog=i,this.route=o,this.router=s,this.snackbarService=a,this.translateService=l,this.storageService=d,this.listId="rl",this.keySortData=new Vn(["key"],"routes.key",Zt.Number),this.typeSortData=new Vn(["type"],"routes.type",Zt.Number),this.sourceSortData=new Vn(["src"],"routes.source",Zt.Text,["src_label"]),this.destinationSortData=new Vn(["dst"],"routes.destination",Zt.Text,["dst_label"]),this.labeledElementTypes=Xi,this.selections=new Map,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"routes.filter-dialog.key",keyNameInElementsArray:"key",type:$n.TextInput,maxlength:8},{filterName:"routes.filter-dialog.source",keyNameInElementsArray:"src",secondaryKeyNameInElementsArray:"src_label",type:$n.TextInput,maxlength:66},{filterName:"routes.filter-dialog.destination",keyNameInElementsArray:"dst",secondaryKeyNameInElementsArray:"dst_label",type:$n.TextInput,maxlength:66}],this.ruleTypes=new Map([[0,"App"],[1,"Forward"],[2,"Int. forward"]]),this.operationSubscriptionsGroup=[],this.dataSorter=new Rd(this.dialog,this.translateService,this.storageService,[this.keySortData,this.typeSortData,this.sourceSortData,this.destinationSortData],0,this.listId),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()});const E={filterName:"routes.filter-dialog.type",keyNameInElementsArray:"type",type:$n.Select,printableLabelsForValues:[{value:"",label:"routes.filter-dialog.any-type-option"}]};this.ruleTypes.forEach((F,G)=>{E.printableLabelsForValues.push({value:G+"",label:F})}),this.filterProperties=[E].concat(this.filterProperties),this.dataFilterer=new Nd(this.dialog,this.route,this.router,this.filterProperties,this.listId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(F=>{this.filteredRoutes=F,this.dataSorter.setData(this.filteredRoutes)}),this.navigationsSubscription=this.route.paramMap.subscribe(F=>{if(F.has("page")){let G=Number.parseInt(F.get("page"),10);(isNaN(G)||G<1)&&(G=1),this.currentPageInUrl=G,this.recalculateElementsToShow()}})}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.operationSubscriptionsGroup.forEach(e=>e.unsubscribe()),this.dataSortedSubscription.unsubscribe(),this.dataFiltererSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFilterer.dispose()}refreshData(){Ct.refreshCurrentDisplayedData()}getTypeName(e){return this.ruleTypes.has(e)?this.ruleTypes.get(e):"Unknown"}changeSelection(e){this.selections.get(e.key)?this.selections.set(e.key,!1):this.selections.set(e.key,!0)}hasSelectedElements(){if(!this.selections)return!1;let e=!1;return this.selections.forEach(i=>{i&&(e=!0)}),e}changeAllSelections(e){this.selections.forEach((i,o)=>{this.selections.set(o,e)})}deleteSelected(){const e=Jt.createConfirmationDialog(this.dialog,"routes.delete-selected-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.showProcessing();const i=[];this.selections.forEach((o,s)=>{o&&i.push(s)}),this.deleteRecursively(i,e)})}showOptionsDialog(e){qr.openDialog(this.dialog,[{icon:"visibility",label:"routes.details.title"},{icon:"close",label:"routes.delete"}],"common.options").afterClosed().subscribe(o=>{1===o?this.details(e):2===o&&this.delete(e.key)})}details(e){tee.openDialog(this.dialog,e)}delete(e){const i=Jt.createConfirmationDialog(this.dialog,"routes.delete-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.showProcessing(),this.operationSubscriptionsGroup.push(this.startDeleting(e).subscribe(()=>{i.close(),Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("routes.deleted")},o=>{o=en(o),i.componentInstance.showDone("confirmation.error-header-text",o.translatableErrorMsg)}))})}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredRoutes){const e=this.showShortList_?Vt.maxShortListElements:Vt.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredRoutes.length/e),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const i=e*(this.currentPage-1);this.routesToShow=this.filteredRoutes.slice(i,i+e);const s=new Map;this.routesToShow.forEach(l=>{s.set(l.key,!0),this.selections.has(l.key)||this.selections.set(l.key,!1)});const a=[];this.selections.forEach((l,d)=>{s.has(d)||a.push(d)}),a.forEach(l=>{this.selections.delete(l)})}else this.routesToShow=null,this.selections=new Map;this.dataSource=this.routesToShow}startDeleting(e){return this.routeService.delete(Ct.getCurrentNodeKey(),e.toString())}deleteRecursively(e,i){this.operationSubscriptionsGroup.push(this.startDeleting(e[e.length-1]).subscribe(()=>{e.pop(),0===e.length?(i.close(),Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("routes.deleted")):this.deleteRecursively(e,i)},o=>{Ct.refreshCurrentDisplayedData(),o=en(o),i.componentInstance.showDone("confirmation.error-header-text",o.translatableErrorMsg)}))}}return t.\u0275fac=function(e){return new(e||t)(Y(fP),Y(In),Y(Mr),Y(hn),Y(Dn),Y(To),Y(Ji))},t.\u0275cmp=Ze({type:t,selectors:[["app-route-list"]],inputs:{nodePK:"nodePK",showShortList:"showShortList",routes:"routes"},decls:23,vars:22,consts:[[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","uppercase",4,"ngIf"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],["class","small-icon",3,"inline","matTooltip","click",4,"ngIf"],[3,"matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"uppercase"],[1,"help","d-none","d-md-inline",3,"inline","matTooltip"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","matTooltip","click"],[3,"matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow",3,"ngClass"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table",3,"ngClass"],[1,"sortable-column",3,"click"],[3,"inline",4,"ngIf"],[1,"actions"],[4,"ngFor","ngForOf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none",3,"ngClass"],[1,"selectable",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],[3,"inline"],[3,"numberOfElements","linkParts","queryParams",4,"ngIf"],[1,"selection-col"],[3,"checked","change"],["mat-button","",1,"action-button","transparent-button",3,"matTooltip","click"],["shortTextLength","7",3,"short","id","elementType","labelEdited"],["shortTextLength","5",3,"short","id","elementType","labelEdited"],[1,"check-part"],[1,"list-row","long-content"],[1,"margin-part"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],[3,"id","elementType","labelEdited"],[3,"numberOfElements","linkParts","queryParams"],[1,"box-internal-container"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1),V(2,nee,6,7,"span",2),V(3,see,5,4,"div",3),C(),D(4,"div",4)(5,"div",5),V(6,aee,3,4,"mat-icon",6),V(7,lee,2,1,"mat-icon",7),D(8,"mat-menu",8,9)(10,"div",10),ye("click",function(){return i.changeAllSelections(!0)}),I(11),R(12,"translate"),C(),D(13,"div",10),ye("click",function(){return i.changeAllSelections(!1)}),I(14),R(15,"translate"),C(),D(16,"div",11),ye("click",function(){return i.deleteSelected()}),I(17),R(18,"translate"),C()()(),V(19,cee,1,6,"app-paginator",12),C()(),V(20,Tee,41,38,"div",13),V(21,Iee,6,3,"div",13),V(22,Pee,1,6,"app-paginator",12)),2&e&&(w("ngClass",He(20,Oee,!i.showShortList_&&i.numberOfPages>1&&i.dataSource)),c(2),w("ngIf",i.showShortList_),c(1),w("ngIf",i.dataFilterer.currentFiltersTexts&&i.dataFilterer.currentFiltersTexts.length>0),c(3),w("ngIf",i.allRoutes&&i.allRoutes.length>0),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("overlapTrigger",!1),c(3),ce(" ",H(12,14,"selection.select-all")," "),c(3),ce(" ",H(15,16,"selection.unselect-all")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(18,18,"selection.delete-all")," "),c(2),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("ngIf",!i.dataSource||0===i.dataSource.length),c(1),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource))},dependencies:[Nn,gi,Ft,Wr,el,Cn,vi,Yd,pa,Hd,fa,Og,Bd,ha,wt],styles:[".actions[_ngcontent-%COMP%]{text-align:right;width:90px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}"]}),t})(),Aee=(()=>{class t extends er{ngOnInit(){return this.dataSubscription=Ct.currentNode.subscribe(e=>{this.nodePK=e.localPk,this.node=e,this.routes=e.routes}),super.ngOnInit()}ngOnDestroy(){this.dataSubscription.unsubscribe()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["app-routing"]],features:[nt],decls:2,vars:5,consts:[[3,"node","showShortList"],[3,"routes","showShortList","nodePK"]],template:function(e,i){1&e&&xe(0,"app-transport-list",0)(1,"app-route-list",1),2&e&&(w("node",i.node)("showShortList",!0),c(1),w("routes",i.routes)("showShortList",!0)("nodePK",i.nodePK))},dependencies:[hP,pP]}),t})();function Fee(t,n){if(1&t&&(D(0,"mat-option",6),I(1),R(2,"translate"),C()),2&t){const e=n.$implicit;w("value",e.days),c(1),se(H(2,2,e.text))}}let Ree=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o){this.data=e,this.dialogRef=i,this.formBuilder=o}ngOnInit(){this.filters=[{text:"apps.log.filter.7-days",days:7},{text:"apps.log.filter.1-month",days:30},{text:"apps.log.filter.3-months",days:90},{text:"apps.log.filter.6-months",days:180},{text:"apps.log.filter.1-year",days:365},{text:"apps.log.filter.all",days:-1}],this.form=this.formBuilder.group({filter:[this.data.days]}),this.formSubscription=this.form.get("filter").valueChanges.subscribe(e=>{this.dialogRef.close(this.filters.find(i=>i.days===e))})}ngOnDestroy(){this.formSubscription.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn),Y(xr))},t.\u0275cmp=Ze({type:t,selectors:[["app-log-filter"]],decls:10,vars:9,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","filter"],[3,"value",4,"ngFor","ngForOf"],[3,"value"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),D(8,"mat-select",4),V(9,Fee,3,4,"mat-option",5),C()()()()()),2&e&&(w("headline",H(1,5,"apps.log.filter.title"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(4),se(H(7,7,"apps.log.filter.filter")),c(3),w("ngForOf",i.filters))},dependencies:[gi,zi,Vi,ji,ii,Ei,ar,tf,Pd,ei,wt],styles:["mat-form-field[_ngcontent-%COMP%]{margin-bottom:-24px}"]}),t})();const Nee=["content"],Yee=function(t){return{totalLogs:t}};function Hee(t,n){if(1&t&&(D(0,"app-button",10)(1,"div",11),I(2),R(3,"translate"),C()()),2&t){const e=z();c(2),ce(" ",kt(3,1,"apps.log.view-all",He(4,Yee,e.totalLogs))," ")}}function Bee(t,n){if(1&t&&(D(0,"div",12)(1,"span",3),I(2),C(),I(3),C()),2&t){const e=n.$implicit;c(2),ce(" ",e.time," "),c(1),ce(" ",e.msg," ")}}function Vee(t,n){1&t&&(D(0,"div",13),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"apps.log.empty")," "))}function jee(t,n){1&t&&xe(0,"app-loading-indicator",14),2&t&&w("showWhite",!1)}let zee=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.largeModalWidth,e.open(t,o)}constructor(e,i,o,s,a,l){this.data=e,this.dialogRef=i,this.appsService=o,this.dialog=s,this.snackbarService=a,this.apiService=l,this.logMessages=[],this.hasMoreLogMessages=!1,this.totalLogs=0,this.loading=!1,this.currentFilter={text:"apps.log.filter.7-days",days:7},this.shouldShowError=!0}ngOnInit(){this.loadData(0)}ngOnDestroy(){this.removeSubscription()}filter(){Ree.openDialog(this.dialog,this.currentFilter).afterClosed().subscribe(e=>{e&&(this.currentFilter=e,this.logMessages=[],this.loadData(0))})}getLogsUrl(){return"/"+this.apiService.apiPrefix+this.appsService.getLogMessagesUrl(Ct.getCurrentNodeKey(),this.data.name)}loadData(e){this.removeSubscription(),this.loading=!0,this.subscription=$e(1).pipe(Ti(e),Ye(()=>this.appsService.getLogMessages(Ct.getCurrentNodeKey(),this.data.name,this.currentFilter.days))).subscribe(i=>this.onLogsReceived(i),i=>this.onLogsError(i))}removeSubscription(){this.subscription&&this.subscription.unsubscribe()}onLogsReceived(e=[]){this.loading=!1,this.shouldShowError=!0,this.snackbarService.closeCurrentIfTemporaryError();let i=0;this.hasMoreLogMessages=!1,this.totalLogs=e.length,e.forEach(o=>{if(i<5e3){const s=o.startsWith("[")?0:-1,a=-1!==s?o.indexOf("]"):-1;this.logMessages.push(-1!==s&&-1!==a?{time:o.substr(s,a+1),msg:o.substr(a+1)}:{time:"",msg:o})}else this.hasMoreLogMessages=!0;i+=1}),setTimeout(()=>{this.content.nativeElement.scrollTop=this.content.nativeElement.scrollHeight})}onLogsError(e){e=en(e),this.shouldShowError&&(this.snackbarService.showError("common.loading-error",null,!0,e),this.shouldShowError=!1),this.loadData(Vt.connectionRetryDelay)}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn),Y(ll),Y(In),Y(Dn),Y(il))},t.\u0275cmp=Ze({type:t,selectors:[["app-log"]],viewQuery:function(e,i){if(1&e&&_t(Nee,5),2&e){let o;rt(o=ot())&&(i.content=o.first)}},decls:18,vars:17,consts:[[3,"headline","includeVerticalMargins","includeScrollableArea","dialog"],[1,"filter-link-container"],[1,"filter-link","subtle-transparent-button",3,"click"],[1,"transparent"],["content",""],["target","_blank",3,"href"],["class","full-logs-button","color","primary",4,"ngIf"],["class","app-log-message",4,"ngFor","ngForOf"],["class","app-log-empty mt-3",4,"ngIf"],[3,"showWhite",4,"ngIf"],["color","primary",1,"full-logs-button"],[1,"text-container"],[1,"app-log-message"],[1,"app-log-empty","mt-3"],[3,"showWhite"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1)(3,"div",2),ye("click",function(){return i.filter()}),D(4,"span",3),I(5),R(6,"translate"),C(),I(7,"\xa0 "),D(8,"span"),I(9),R(10,"translate"),C()()(),D(11,"mat-dialog-content",null,4)(13,"a",5),V(14,Hee,4,6,"app-button",6),C(),V(15,Bee,4,2,"div",7),V(16,Vee,3,3,"div",8),V(17,jee,1,1,"app-loading-indicator",9),C()()),2&e&&(w("headline",H(1,11,"apps.log.title"))("includeVerticalMargins",!1)("includeScrollableArea",!1)("dialog",i.dialogRef),c(5),se(H(6,13,"apps.log.filter-button")),c(4),se(H(10,15,i.currentFilter.text)),c(4),w("href",i.getLogsUrl(),Vo),c(1),w("ngIf",i.hasMoreLogMessages),c(1),w("ngForOf",i.logMessages),c(1),w("ngIf",!(i.loading||i.logMessages&&0!==i.logMessages.length)),c(1),w("ngIf",i.loading))},dependencies:[gi,Ft,r1,Ui,ei,as,wt],styles:[".mat-mdc-dialog-content[_ngcontent-%COMP%]{font-size:.875rem}.app-log-message[_ngcontent-%COMP%]{margin-top:15px;word-break:break-word}.app-log-message[_ngcontent-%COMP%] .transparent[_ngcontent-%COMP%]{color:#999}.app-log-message[_ngcontent-%COMP%]:first-of-type{margin-top:0}.app-log-message[_ngcontent-%COMP%]:last-of-type{margin-bottom:24px}.filter-link-container[_ngcontent-%COMP%]{text-align:center;margin:15px 0}.filter-link-container[_ngcontent-%COMP%] .filter-link[_ngcontent-%COMP%]{display:inline-block;background:#F8F9F9;padding:5px 10px;border-radius:1000px;font-size:.875rem;text-align:center;color:#215f9e;cursor:pointer}.filter-link-container[_ngcontent-%COMP%] .filter-link[_ngcontent-%COMP%] .transparent[_ngcontent-%COMP%]{color:#215f9e80}.full-logs-button[_ngcontent-%COMP%] button{width:100%!important;display:block;text-align:center;margin-bottom:15px}.full-logs-button[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]{width:100%}"]}),t})();const Uee=["button"],Wee=["firstInput"],Fg=function(t){return{"element-disabled":t}};function $ee(t,n){if(1&t&&(D(0,"mat-form-field",2)(1,"div",3)(2,"label",4),I(3),R(4,"translate"),C(),xe(5,"input",12),C()()),2&t){const e=z();w("ngClass",He(4,Fg,e.disableDismiss)),c(3),se(H(4,2,"apps.vpn-socks-server-settings.netifc"))}}function Gee(t,n){if(1&t){const e=et();D(0,"div",13)(1,"mat-checkbox",14),ye("change",function(o){return Pe(e),Oe(z().setSecureMode(o))}),I(2),R(3,"translate"),D(4,"mat-icon",15),R(5,"translate"),I(6,"help"),C()()()}if(2&t){const e=z();c(1),w("checked",e.secureMode)("ngClass",He(9,Fg,e.disableDismiss)),c(1),ce(" ",H(3,5,"apps.vpn-socks-server-settings.secure-mode-check")," "),c(2),w("inline",!0)("matTooltip",H(5,7,"apps.vpn-socks-server-settings.secure-mode-info"))}}let qee=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.mediumModalWidth,e.open(t,o)}constructor(e,i,o,s,a,l){this.data=e,this.appsService=i,this.formBuilder=o,this.dialogRef=s,this.snackbarService=a,this.dialog=l,this.configuringVpn=!1,this.secureMode=!1,-1!==e.name.toLocaleLowerCase().indexOf("vpn")&&(this.configuringVpn=!0)}ngOnInit(){if(this.form=this.formBuilder.group({password:[""],passwordConfirmation:["",this.validatePasswords.bind(this)],netifc:[""]}),this.formSubscription=this.form.get("password").valueChanges.subscribe(()=>{this.form.get("passwordConfirmation").updateValueAndValidity()}),this.data.args&&this.data.args.length>0)for(let e=0;ethis.firstInput.nativeElement.focus())}ngOnDestroy(){this.formSubscription.unsubscribe(),this.operationSubscription&&this.operationSubscription.unsubscribe()}get disableDismiss(){return!!this.button&&this.button.isLoading}setSecureMode(e){this.button.disabled||(this.secureMode=!!e.checked)}saveChanges(){if(!this.form.valid||this.button.disabled)return;const e=this.form.get("password").value?"apps.vpn-socks-server-settings.change-passowrd-confirmation":"apps.vpn-socks-server-settings.remove-passowrd-confirmation",i=Jt.createConfirmationDialog(this.dialog,e);i.componentInstance.operationAccepted.subscribe(()=>{i.close(),this.continueSavingChanges()})}continueSavingChanges(){this.button.showLoading();const e={passcode:this.form.get("password").value};this.configuringVpn&&(e.secure=this.secureMode,e.netifc=this.form.get("netifc").value),this.operationSubscription=this.appsService.changeAppSettings(Ct.getCurrentNodeKey(),this.data.name,e).subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)})}onSuccess(){Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("apps.vpn-socks-server-settings.changes-made"),this.dialogRef.close()}onError(e){this.button.showError(),e=en(e),this.snackbarService.showError(e)}validatePasswords(){return this.form&&this.form.get("password").value!==this.form.get("passwordConfirmation").value?{invalid:!0}:null}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(ll),Y(xr),Y(Bn),Y(Dn),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-skysocks-settings"]],viewQuery:function(e,i){if(1&e&&(_t(Uee,5),_t(Wee,5)),2&e){let o;rt(o=ot())&&(i.button=o.first),rt(o=ot())&&(i.firstInput=o.first)}},decls:27,vars:27,consts:[[3,"headline","dialog","disableDismiss"],[3,"formGroup"],[3,"ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["id","password","type","password","formControlName","password","maxlength","100","matInput",""],["firstInput",""],["id","passwordConfirmation","type","password","formControlName","passwordConfirmation","maxlength","100","matInput",""],[3,"ngClass",4,"ngIf"],["class","main-theme settings-option",4,"ngIf"],["color","primary",1,"float-right",3,"disabled","action"],["button",""],["id","netifc","type","text","formControlName","netifc","matInput",""],[1,"main-theme","settings-option"],["color","primary",3,"checked","ngClass","change"],[1,"help-icon",3,"inline","matTooltip"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field",2)(4,"div",3)(5,"label",4),I(6),R(7,"translate"),C(),xe(8,"input",5,6),C()(),D(10,"mat-form-field",2)(11,"div",3)(12,"label",4),I(13),R(14,"translate"),C(),xe(15,"input",7,6),C(),D(17,"mat-error")(18,"span"),I(19),R(20,"translate"),C()()(),V(21,$ee,6,6,"mat-form-field",8),V(22,Gee,7,11,"div",9),C(),D(23,"app-button",10,11),ye("action",function(){return i.saveChanges()}),I(25),R(26,"translate"),C()()),2&e&&(w("headline",H(1,13,"apps.vpn-socks-server-settings."+(i.configuringVpn?"vpn-title":"socks-title")))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(2),w("formGroup",i.form),c(1),w("ngClass",He(23,Fg,i.disableDismiss)),c(3),se(H(7,15,"apps.vpn-socks-server-settings.new-password")),c(4),w("ngClass",He(25,Fg,i.disableDismiss)),c(3),se(H(14,17,"apps.vpn-socks-server-settings.repeat-password")),c(6),se(H(20,19,"apps.vpn-socks-server-settings.passwords-not-match")),c(2),w("ngIf",i.configuringVpn),c(1),w("ngIf",i.configuringVpn),c(1),w("disabled",!i.form.valid),c(2),ce(" ",H(26,21,"apps.vpn-socks-server-settings.save")," "))},dependencies:[Nn,Ft,zi,Bi,Vi,ji,Cr,ii,Ei,ar,sl,kr,Cn,vi,fa,Ui,ei,wt],styles:["mat-checkbox[_ngcontent-%COMP%]{margin-bottom:15px}"]}),t})();const Kee=["firstInput"];let Zee=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i||"",o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o){this.dialogRef=e,this.data=i,this.formBuilder=o}ngOnInit(){this.form=this.formBuilder.group({note:[this.data]}),setTimeout(()=>this.firstInput.nativeElement.focus())}finish(){const e=this.form.get("note").value.trim();this.dialogRef.close("-"+e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(xr))},t.\u0275cmp=Ze({type:t,selectors:[["app-edit-skysocks-client-note"]],viewQuery:function(e,i){if(1&e&&_t(Kee,5),2&e){let o;rt(o=ot())&&(i.firstInput=o.first)}},decls:13,vars:11,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","note","maxlength","100","matInput",""],["firstInput",""],["color","primary","type","mat-raised-button",1,"float-right",3,"action"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6),ye("action",function(){return i.finish()}),I(11),R(12,"translate"),C()()),2&e&&(w("headline",H(1,5,"apps.vpn-socks-client-settings.change-note-dialog.title"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(4),se(H(7,7,"apps.vpn-socks-client-settings.change-note-dialog.note")),c(5),se(H(12,9,"common.save")))},dependencies:[zi,Bi,Vi,ji,Cr,ii,Ei,ar,kr,Ui,ei,wt]}),t})();const ma={AF:"Afghanistan",AX:"Aland Islands",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo",CD:"Congo, Democratic Republic",CK:"Cook Islands",CR:"Costa Rica",CI:"Cote D'Ivoire",HR:"Croatia",CU:"Cuba",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands (Malvinas)",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GG:"Guernsey",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and Mcdonald Islands",VA:"Holy See (Vatican City State)",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran",IQ:"Iraq",IE:"Ireland",IM:"Isle of Man",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JE:"Jersey",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"Korea (North)",KR:"Korea (South)",XK:"Kosovo",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Laos",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libyan Arab Jamahiriya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MK:"Macedonia",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia",MD:"Moldova",MC:"Monaco",MN:"Mongolia",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",AN:"Netherlands Antilles",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestinian Territory, Occupied",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"Reunion",RO:"Romania",RU:"Russian Federation",RW:"Rwanda",SH:"Saint Helena",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",RS:"Serbia",ME:"Montenegro",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Swaziland",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan, Province of China",TJ:"Tajikistan",TZ:"Tanzania",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"Turkey",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela",VN:"Viet Nam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe",ZZ:"Unknown"};function Xee(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit,i=z(2);c(1),se(i.completeCountriesList[e.toUpperCase()])}}function Jee(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e.toUpperCase())}}function Qee(t,n){if(1&t&&(D(0,"mat-option",10)(1,"div",12),xe(2,"div"),C(),V(3,Xee,2,1,"ng-container",2),V(4,Jee,2,1,"ng-container",2),C()),2&t){const e=n.$implicit,i=z(2);w("value",e.toUpperCase()),c(2),di("background-image: url('assets/img/flags/"+e.toLocaleLowerCase()+".png');"),c(1),w("ngIf",i.completeCountriesList[e.toUpperCase()]),c(1),w("ngIf",!i.completeCountriesList[e.toUpperCase()])}}function ete(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),ce(" ",H(2,1,"apps.vpn-socks-client-settings.filter-dialog.any-country")," "))}function tte(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z(3);c(1),se(e.completeCountriesList[e.form.get("country").value])}}function nte(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z(3);c(1),se(e.form.get("country").value)}}function ite(t,n){if(1&t&&(Ue(0),D(1,"div",12),xe(2,"div"),C(),V(3,tte,2,1,"ng-container",2),V(4,nte,2,1,"ng-container",2),We()),2&t){const e=z(2);c(2),di("background-image: url('assets/img/flags/"+e.form.get("country").value.toLocaleLowerCase()+".png');"),c(1),w("ngIf",e.completeCountriesList[e.form.get("country").value]),c(1),w("ngIf",!e.completeCountriesList[e.form.get("country").value])}}function rte(t,n){if(1&t&&(D(0,"mat-form-field")(1,"div",3)(2,"label",4),I(3),R(4,"translate"),C(),D(5,"mat-select",9)(6,"mat-option",10),I(7),R(8,"translate"),C(),V(9,Qee,5,5,"mat-option",11),D(10,"mat-select-trigger"),V(11,ete,3,3,"ng-container",2),V(12,ite,5,4,"ng-container",2),C()()()()),2&t){const e=z();c(3),se(H(4,6,"apps.vpn-socks-client-settings.filter-dialog.country")),c(3),w("value","-"),c(1),se(H(8,8,"apps.vpn-socks-client-settings.filter-dialog.any-country")),c(2),w("ngForOf",e.data.availableCountries),c(2),w("ngIf","-"===e.form.get("country").value),c(1),w("ngIf","-"!==e.form.get("country").value)}}class mP{constructor(){this.country="",this.location="",this.key=""}}let ote=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o){this.data=e,this.dialogRef=i,this.formBuilder=o,this.completeCountriesList=ma}ngOnInit(){this.form=this.formBuilder.group({country:[this.data.currentFilters.country?this.data.currentFilters.country:"-"],"location-text":[this.data.currentFilters.location],"key-text":[this.data.currentFilters.key]})}apply(){const e=new mP;let i=this.form.get("country").value.trim();"-"===i&&(i=""),e.country=i,e.location=this.form.get("location-text").value.trim(),e.key=this.form.get("key-text").value.trim(),this.dialogRef.close(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn),Y(xr))},t.\u0275cmp=Ze({type:t,selectors:[["app-skysocks-client-filter"]],decls:20,vars:15,consts:[[3,"headline","dialog"],[3,"formGroup"],[4,"ngIf"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","location-text","maxlength","100","matInput",""],["formControlName","key-text","maxlength","66","matInput",""],["type","mat-raised-button","color","primary",1,"float-right",3,"action"],["button",""],["formControlName","country","id","country"],[3,"value"],[3,"value",4,"ngFor","ngForOf"],[1,"flag-container"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1),V(3,rte,13,10,"mat-form-field",2),D(4,"mat-form-field")(5,"div",3)(6,"label",4),I(7),R(8,"translate"),C(),xe(9,"input",5),C()(),D(10,"mat-form-field")(11,"div",3)(12,"label",4),I(13),R(14,"translate"),C(),xe(15,"input",6),C()()(),D(16,"app-button",7,8),ye("action",function(){return i.apply()}),I(18),R(19,"translate"),C()()),2&e&&(w("headline",H(1,7,"apps.vpn-socks-client-settings.filter-dialog.title"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(1),w("ngIf",i.data.availableCountries.length>0),c(4),se(H(8,9,"apps.vpn-socks-client-settings.filter-dialog.location")),c(6),se(H(14,11,"apps.vpn-socks-client-settings.filter-dialog.pub-key")),c(5),ce(" ",H(19,13,"apps.vpn-socks-client-settings.filter-dialog.apply")," "))},dependencies:[gi,Ft,zi,Bi,Vi,ji,Cr,ii,Ei,ar,kr,tf,Bq,Pd,Ui,ei,wt]}),t})();const ste=["firstInput"];let ate=(()=>{class t{static openDialog(e){const i=new En;return i.autoFocus=!1,i.width=Vt.smallModalWidth,e.open(t,i)}constructor(e,i){this.dialogRef=e,this.formBuilder=i}ngOnInit(){this.form=this.formBuilder.group({password:[""]}),setTimeout(()=>this.firstInput.nativeElement.focus())}finish(){const e=this.form.get("password").value;this.dialogRef.close("-"+e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(xr))},t.\u0275cmp=Ze({type:t,selectors:[["app-skysocks-client-password"]],viewQuery:function(e,i){if(1&e&&_t(ste,5),2&e){let o;rt(o=ot())&&(i.firstInput=o.first)}},decls:16,vars:14,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"info"],[1,"field-container"],["for","remoteKey",1,"field-label"],["type","password","id","password","formControlName","password","maxlength","100","matInput",""],["firstInput",""],["color","primary","type","mat-raised-button",1,"float-right",3,"action"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"div",2),I(4),R(5,"translate"),C(),D(6,"mat-form-field")(7,"div",3)(8,"label",4),I(9),R(10,"translate"),C(),xe(11,"input",5,6),C()()(),D(13,"app-button",7),ye("action",function(){return i.finish()}),I(14),R(15,"translate"),C()()),2&e&&(w("headline",H(1,6,"apps.vpn-socks-client-settings.password-dialog.title"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(2),se(H(5,8,"apps.vpn-socks-client-settings.password-dialog.info")),c(5),se(H(10,10,"apps.vpn-socks-client-settings.password-dialog.password")),c(5),ce(" ",H(15,12,"apps.vpn-socks-client-settings.password-dialog.continue-button")," "))},dependencies:[zi,Bi,Vi,ji,Cr,ii,Ei,ar,kr,Ui,ei,wt],styles:[".info[_ngcontent-%COMP%]{font-size:.7rem;margin-bottom:15px}"]}),t})(),lte=(()=>{class t{constructor(e){this.http=e,this.discoveryServiceUrl="https://sd.skycoin.com/api/services?type="}getServices(e){const i=[];return this.http.get(this.discoveryServiceUrl+(e?"proxy":"vpn")).pipe(rf(o=>o.pipe(Ti(4e3))),ke(o=>(o||(o=[]),o.forEach(s=>{const a=new KG,l=s.address.split(":");2===l.length&&(a.address=s.address,a.pk=l[0],a.port=l[1],a.location="",s.geo&&(s.geo.country&&(a.country=s.geo.country,a.location+=ma[s.geo.country.toUpperCase()]?ma[s.geo.country.toUpperCase()]:s.geo.country),s.geo.region&&s.geo.country&&(a.location+=", "),s.geo.region&&(a.region=s.geo.region,a.location+=a.region)),i.push(a))}),i)))}}return t.\u0275fac=function(e){return new(e||t)(we(Vl))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function cte(t,n){}const dte=function(t){return{animationDuration:t}},ute=function(t,n){return{value:t,params:n}};function hte(t,n){1&t&&Sn(0)}const gP=["*"],fte=["tabListContainer"],pte=["tabList"],mte=["tabListInner"],gte=["nextPaginator"],_te=["previousPaginator"],bte=["tabBodyWrapper"],vte=["tabHeader"];function yte(t,n){}function Mte(t,n){1&t&&V(0,yte,0,0,"ng-template",14),2&t&&w("cdkPortalOutlet",z().$implicit.templateLabel)}function wte(t,n){1&t&&I(0),2&t&&se(z().$implicit.textLabel)}function Cte(t,n){if(1&t){const e=et();D(0,"div",6,7),ye("click",function(){const o=Pe(e),s=o.$implicit,a=o.index,l=z(),d=ci(1);return Oe(l._handleClick(s,d,a))})("cdkFocusChange",function(o){const a=Pe(e).index;return Oe(z()._tabFocusChanged(o,a))}),xe(2,"span",8)(3,"div",9),D(4,"span",10)(5,"span",11),V(6,Mte,1,1,"ng-template",12),V(7,wte,1,1,"ng-template",null,13,Es),C()()()}if(2&t){const e=n.$implicit,i=n.index,o=ci(1),s=ci(8),a=z();nn("mdc-tab--active",a.selectedIndex===i),w("id",a._getTabLabelId(i))("ngClass",e.labelClass)("disabled",e.disabled)("fitInkBarToContent",a.fitInkBarToContent),Xt("tabIndex",a._getTabIndex(i))("aria-posinset",i+1)("aria-setsize",a._tabs.length)("aria-controls",a._getTabContentId(i))("aria-selected",a.selectedIndex===i)("aria-label",e.ariaLabel||null)("aria-labelledby",!e.ariaLabel&&e.ariaLabelledby?e.ariaLabelledby:null),c(3),w("matRippleTrigger",o)("matRippleDisabled",e.disabled||a.disableRipple),c(3),w("ngIf",e.templateLabel)("ngIfElse",s)}}function xte(t,n){if(1&t){const e=et();D(0,"mat-tab-body",15),ye("_onCentered",function(){return Pe(e),Oe(z()._removeTabBodyWrapperHeight())})("_onCentering",function(o){return Pe(e),Oe(z()._setTabBodyWrapperHeight(o))}),C()}if(2&t){const e=n.$implicit,i=n.index,o=z();nn("mat-mdc-tab-body-active",o.selectedIndex===i),w("id",o._getTabContentId(i))("ngClass",e.bodyClass)("content",e.content)("position",e.position)("origin",e.origin)("animationDuration",o.animationDuration)("preserveContent",o.preserveContent),Xt("tabindex",null!=o.contentTabIndex&&o.selectedIndex===i?o.contentTabIndex:null)("aria-labelledby",o._getTabLabelId(i))}}const kte={translateTab:ia("translateTab",[yo("center, void, left-origin-center, right-origin-center",Qn({transform:"none"})),yo("left",Qn({transform:"translate3d(-100%, 0, 0)",minHeight:"1px",visibility:"hidden"})),yo("right",Qn({transform:"translate3d(100%, 0, 0)",minHeight:"1px",visibility:"hidden"})),Pr("* => left, * => right, left => center, right => center",Ur("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")),Pr("void => left-origin-center",[Qn({transform:"translate3d(-100%, 0, 0)",visibility:"hidden"}),Ur("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")]),Pr("void => right-origin-center",[Qn({transform:"translate3d(100%, 0, 0)",visibility:"hidden"}),Ur("{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)")])])};let Ste=(()=>{class t extends Ja{constructor(e,i,o,s){super(e,i,s),this._host=o,this._centeringSub=T.EMPTY,this._leavingSub=T.EMPTY}ngOnInit(){super.ngOnInit(),this._centeringSub=this._host._beforeCentering.pipe(Go(this._host._isCenterPosition(this._host._position))).subscribe(e=>{e&&!this.hasAttached()&&this.attach(this._host._content)}),this._leavingSub=this._host._afterLeavingCenter.subscribe(()=>{this._host.preserveContent||this.detach()})}ngOnDestroy(){super.ngOnDestroy(),this._centeringSub.unsubscribe(),this._leavingSub.unsubscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(Tl),Y(rr),Y(pn(()=>_P)),Y(It))},t.\u0275dir=Ke({type:t,selectors:[["","matTabBodyHost",""]],features:[nt]}),t})(),Dte=(()=>{class t{set position(e){this._positionIndex=e,this._computePositionAnimationState()}constructor(e,i,o){this._elementRef=e,this._dir=i,this._dirChangeSubscription=T.EMPTY,this._translateTabComplete=new J,this._onCentering=new ht,this._beforeCentering=new ht,this._afterLeavingCenter=new ht,this._onCentered=new ht(!0),this.animationDuration="500ms",this.preserveContent=!1,i&&(this._dirChangeSubscription=i.change.subscribe(s=>{this._computePositionAnimationState(s),o.markForCheck()})),this._translateTabComplete.pipe(V0((s,a)=>s.fromState===a.fromState&&s.toState===a.toState)).subscribe(s=>{this._isCenterPosition(s.toState)&&this._isCenterPosition(this._position)&&this._onCentered.emit(),this._isCenterPosition(s.fromState)&&!this._isCenterPosition(this._position)&&this._afterLeavingCenter.emit()})}ngOnInit(){"center"==this._position&&null!=this.origin&&(this._position=this._computePositionFromOrigin(this.origin))}ngOnDestroy(){this._dirChangeSubscription.unsubscribe(),this._translateTabComplete.complete()}_onTranslateTabStarted(e){const i=this._isCenterPosition(e.toState);this._beforeCentering.emit(i),i&&this._onCentering.emit(this._elementRef.nativeElement.clientHeight)}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_isCenterPosition(e){return"center"==e||"left-origin-center"==e||"right-origin-center"==e}_computePositionAnimationState(e=this._getLayoutDirection()){this._position=this._positionIndex<0?"ltr"==e?"left":"right":this._positionIndex>0?"ltr"==e?"right":"left":"center"}_computePositionFromOrigin(e){const i=this._getLayoutDirection();return"ltr"==i&&e<=0||"rtl"==i&&e>0?"left-origin-center":"right-origin-center"}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(Do,8),Y(pi))},t.\u0275dir=Ke({type:t,inputs:{_content:["content","_content"],origin:"origin",animationDuration:"animationDuration",preserveContent:"preserveContent",position:"position"},outputs:{_onCentering:"_onCentering",_beforeCentering:"_beforeCentering",_afterLeavingCenter:"_afterLeavingCenter",_onCentered:"_onCentered"}}),t})(),_P=(()=>{class t extends Dte{constructor(e,i,o){super(e,i,o)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(Do,8),Y(pi))},t.\u0275cmp=Ze({type:t,selectors:[["mat-tab-body"]],viewQuery:function(e,i){if(1&e&&_t(Ja,5),2&e){let o;rt(o=ot())&&(i._portalHost=o.first)}},hostAttrs:[1,"mat-mdc-tab-body"],features:[nt],decls:3,vars:6,consts:[["cdkScrollable","",1,"mat-mdc-tab-body-content"],["content",""],["matTabBodyHost",""]],template:function(e,i){1&e&&(D(0,"div",0,1),ye("@translateTab.start",function(s){return i._onTranslateTabStarted(s)})("@translateTab.done",function(s){return i._translateTabComplete.next(s)}),V(2,cte,0,0,"ng-template",2),C()),2&e&&w("@translateTab",mn(3,ute,i._position,He(1,dte,i.animationDuration)))},dependencies:[Ste],styles:['.mat-mdc-tab-body{top:0;left:0;right:0;bottom:0;position:absolute;display:block;overflow:hidden;outline:0;flex-basis:100%}.mat-mdc-tab-body.mat-mdc-tab-body-active{position:relative;overflow-x:hidden;overflow-y:auto;z-index:1;flex-grow:1}.mat-mdc-tab-group.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body.mat-mdc-tab-body-active{overflow-y:hidden}.mat-mdc-tab-body-content{height:100%;overflow:auto}.mat-mdc-tab-group-dynamic-height .mat-mdc-tab-body-content{overflow:hidden}.mat-mdc-tab-body-content[style*="visibility: hidden"]{display:none}'],encapsulation:2,data:{animation:[kte.translateTab]}}),t})();const Tte=new Re("MatTabContent");let Lte=(()=>{class t{constructor(e){this.template=e}}return t.\u0275fac=function(e){return new(e||t)(Y(mr))},t.\u0275dir=Ke({type:t,selectors:[["","matTabContent",""]],features:[un([{provide:Tte,useExisting:t}])]}),t})();const Ete=new Re("MatTabLabel"),bP=new Re("MAT_TAB");let Ite=(()=>{class t extends T9{constructor(e,i,o){super(e,i),this._closestTab=o}}return t.\u0275fac=function(e){return new(e||t)(Y(mr),Y(rr),Y(bP,8))},t.\u0275dir=Ke({type:t,selectors:[["","mat-tab-label",""],["","matTabLabel",""]],features:[un([{provide:Ete,useExisting:t}]),nt]}),t})();const U1="mdc-tab-indicator--active",vP="mdc-tab-indicator--no-transition";class Pte{constructor(n){this._items=n}hide(){this._items.forEach(n=>n.deactivateInkBar())}alignToElement(n){const e=this._items.find(o=>o.elementRef.nativeElement===n),i=this._currentItem;if(e!==i&&(i?.deactivateInkBar(),e)){const o=i?.elementRef.nativeElement.getBoundingClientRect?.();e.activateInkBar(o),this._currentItem=e}}}function Ote(t){return class extends t{constructor(...n){super(...n),this._fitToContent=!1}get fitInkBarToContent(){return this._fitToContent}set fitInkBarToContent(n){const e=_n(n);this._fitToContent!==e&&(this._fitToContent=e,this._inkBarElement&&this._appendInkBarElement())}activateInkBar(n){const e=this.elementRef.nativeElement;if(!n||!e.getBoundingClientRect||!this._inkBarContentElement)return void e.classList.add(U1);const i=e.getBoundingClientRect(),o=n.width/i.width,s=n.left-i.left;e.classList.add(vP),this._inkBarContentElement.style.setProperty("transform",`translateX(${s}px) scaleX(${o})`),e.getBoundingClientRect(),e.classList.remove(vP),e.classList.add(U1),this._inkBarContentElement.style.setProperty("transform","")}deactivateInkBar(){this.elementRef.nativeElement.classList.remove(U1)}ngOnInit(){this._createInkBarElement()}ngOnDestroy(){this._inkBarElement?.remove(),this._inkBarElement=this._inkBarContentElement=null}_createInkBarElement(){const n=this.elementRef.nativeElement.ownerDocument||document;this._inkBarElement=n.createElement("span"),this._inkBarContentElement=n.createElement("span"),this._inkBarElement.className="mdc-tab-indicator",this._inkBarContentElement.className="mdc-tab-indicator__content mdc-tab-indicator__content--underline",this._inkBarElement.appendChild(this._inkBarContentElement),this._appendInkBarElement()}_appendInkBarElement(){(this._fitToContent?this.elementRef.nativeElement.querySelector(".mdc-tab__content"):this.elementRef.nativeElement).appendChild(this._inkBarElement)}}}const Fte=Ed(class{}),Rte=Ote((()=>{class t extends Fte{constructor(e){super(),this.elementRef=e}focus(){this.elementRef.nativeElement.focus()}getOffsetLeft(){return this.elementRef.nativeElement.offsetLeft}getOffsetWidth(){return this.elementRef.nativeElement.offsetWidth}}return t.\u0275fac=function(e){return new(e||t)(Y(vt))},t.\u0275dir=Ke({type:t,features:[nt]}),t})());let yP=(()=>{class t extends Rte{}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275dir=Ke({type:t,selectors:[["","matTabLabelWrapper",""]],hostVars:3,hostBindings:function(e,i){2&e&&(Xt("aria-disabled",!!i.disabled),nn("mat-mdc-tab-disabled",i.disabled))},inputs:{disabled:"disabled",fitInkBarToContent:"fitInkBarToContent"},features:[nt]}),t})();const Nte=Ed(class{}),MP=new Re("MAT_TAB_GROUP");let Yte=(()=>{class t extends Nte{get content(){return this._contentPortal}constructor(e,i){super(),this._viewContainerRef=e,this._closestTabGroup=i,this.textLabel="",this._contentPortal=null,this._stateChanges=new J,this.position=null,this.origin=null,this.isActive=!1}ngOnChanges(e){(e.hasOwnProperty("textLabel")||e.hasOwnProperty("disabled"))&&this._stateChanges.next()}ngOnDestroy(){this._stateChanges.complete()}ngOnInit(){this._contentPortal=new Gl(this._explicitContent||this._implicitContent,this._viewContainerRef)}_setTemplateLabelInput(e){e&&e._closestTab===this&&(this._templateLabel=e)}}return t.\u0275fac=function(e){return new(e||t)(Y(rr),Y(MP,8))},t.\u0275dir=Ke({type:t,viewQuery:function(e,i){if(1&e&&_t(mr,7),2&e){let o;rt(o=ot())&&(i._implicitContent=o.first)}},inputs:{textLabel:["label","textLabel"],ariaLabel:["aria-label","ariaLabel"],ariaLabelledby:["aria-labelledby","ariaLabelledby"],labelClass:"labelClass",bodyClass:"bodyClass"},features:[nt,Gi]}),t})(),wP=(()=>{class t extends Yte{constructor(){super(...arguments),this._explicitContent=void 0}get templateLabel(){return this._templateLabel}set templateLabel(e){this._setTemplateLabelInput(e)}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["mat-tab"]],contentQueries:function(e,i,o){if(1&e&&(or(o,Lte,7,mr),or(o,Ite,5)),2&e){let s;rt(s=ot())&&(i._explicitContent=s.first),rt(s=ot())&&(i.templateLabel=s.first)}},inputs:{disabled:"disabled"},exportAs:["matTab"],features:[un([{provide:bP,useExisting:t}]),nt],ngContentSelectors:gP,decls:1,vars:0,template:function(e,i){1&e&&(Ir(),V(0,hte,1,0,"ng-template"))},encapsulation:2}),t})();const CP=Za({passive:!0});let Vte=(()=>{class t{get disablePagination(){return this._disablePagination}set disablePagination(e){this._disablePagination=_n(e)}get selectedIndex(){return this._selectedIndex}set selectedIndex(e){e=So(e),this._selectedIndex!=e&&(this._selectedIndexChanged=!0,this._selectedIndex=e,this._keyManager&&this._keyManager.updateActiveItem(e))}constructor(e,i,o,s,a,l,d){this._elementRef=e,this._changeDetectorRef=i,this._viewportRuler=o,this._dir=s,this._ngZone=a,this._platform=l,this._animationMode=d,this._scrollDistance=0,this._selectedIndexChanged=!1,this._destroyed=new J,this._showPaginationControls=!1,this._disableScrollAfter=!0,this._disableScrollBefore=!0,this._stopScrolling=new J,this._disablePagination=!1,this._selectedIndex=0,this.selectFocusedIndex=new ht,this.indexFocused=new ht,a.runOutsideAngular(()=>{kh(e.nativeElement,"mouseleave").pipe(Hn(this._destroyed)).subscribe(()=>{this._stopInterval()})})}ngAfterViewInit(){kh(this._previousPaginator.nativeElement,"touchstart",CP).pipe(Hn(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("before")}),kh(this._nextPaginator.nativeElement,"touchstart",CP).pipe(Hn(this._destroyed)).subscribe(()=>{this._handlePaginatorPress("after")})}ngAfterContentInit(){const e=this._dir?this._dir.change:$e("ltr"),i=this._viewportRuler.change(150),o=()=>{this.updatePagination(),this._alignInkBarToSelectedTab()};this._keyManager=new _L(this._items).withHorizontalOrientation(this._getLayoutDirection()).withHomeAndEnd().withWrap().skipPredicate(()=>!1),this._keyManager.updateActiveItem(this._selectedIndex),this._ngZone.onStable.pipe(Kn(1)).subscribe(o),bt(e,i,this._items.changes,this._itemsResized()).pipe(Hn(this._destroyed)).subscribe(()=>{this._ngZone.run(()=>{Promise.resolve().then(()=>{this._scrollDistance=Math.max(0,Math.min(this._getMaxScrollDistance(),this._scrollDistance)),o()})}),this._keyManager.withHorizontalOrientation(this._getLayoutDirection())}),this._keyManager.change.subscribe(s=>{this.indexFocused.emit(s),this._setTabFocus(s)})}_itemsResized(){return"function"!=typeof ResizeObserver?oa:this._items.changes.pipe(Go(this._items),gr(e=>new he(i=>this._ngZone.runOutsideAngular(()=>{const o=new ResizeObserver(s=>i.next(s));return e.forEach(s=>o.observe(s.elementRef.nativeElement)),()=>{o.disconnect()}}))),B0(1),_i(e=>e.some(i=>i.contentRect.width>0&&i.contentRect.height>0)))}ngAfterContentChecked(){this._tabLabelCount!=this._items.length&&(this.updatePagination(),this._tabLabelCount=this._items.length,this._changeDetectorRef.markForCheck()),this._selectedIndexChanged&&(this._scrollToLabel(this._selectedIndex),this._checkScrollingControls(),this._alignInkBarToSelectedTab(),this._selectedIndexChanged=!1,this._changeDetectorRef.markForCheck()),this._scrollDistanceChanged&&(this._updateTabScrollPosition(),this._scrollDistanceChanged=!1,this._changeDetectorRef.markForCheck())}ngOnDestroy(){this._keyManager?.destroy(),this._destroyed.next(),this._destroyed.complete(),this._stopScrolling.complete()}_handleKeydown(e){if(!Fs(e))switch(e.keyCode){case 13:case 32:if(this.focusIndex!==this.selectedIndex){const i=this._items.get(this.focusIndex);i&&!i.disabled&&(this.selectFocusedIndex.emit(this.focusIndex),this._itemSelected(e))}break;default:this._keyManager.onKeydown(e)}}_onContentChanges(){const e=this._elementRef.nativeElement.textContent;e!==this._currentTextContent&&(this._currentTextContent=e||"",this._ngZone.run(()=>{this.updatePagination(),this._alignInkBarToSelectedTab(),this._changeDetectorRef.markForCheck()}))}updatePagination(){this._checkPaginationEnabled(),this._checkScrollingControls(),this._updateTabScrollPosition()}get focusIndex(){return this._keyManager?this._keyManager.activeItemIndex:0}set focusIndex(e){!this._isValidIndex(e)||this.focusIndex===e||!this._keyManager||this._keyManager.setActiveItem(e)}_isValidIndex(e){return!this._items||!!this._items.toArray()[e]}_setTabFocus(e){if(this._showPaginationControls&&this._scrollToLabel(e),this._items&&this._items.length){this._items.toArray()[e].focus();const i=this._tabListContainer.nativeElement;i.scrollLeft="ltr"==this._getLayoutDirection()?0:i.scrollWidth-i.offsetWidth}}_getLayoutDirection(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"}_updateTabScrollPosition(){if(this.disablePagination)return;const e=this.scrollDistance,i="ltr"===this._getLayoutDirection()?-e:e;this._tabList.nativeElement.style.transform=`translateX(${Math.round(i)}px)`,(this._platform.TRIDENT||this._platform.EDGE)&&(this._tabListContainer.nativeElement.scrollLeft=0)}get scrollDistance(){return this._scrollDistance}set scrollDistance(e){this._scrollTo(e)}_scrollHeader(e){return this._scrollTo(this._scrollDistance+("before"==e?-1:1)*this._tabListContainer.nativeElement.offsetWidth/3)}_handlePaginatorClick(e){this._stopInterval(),this._scrollHeader(e)}_scrollToLabel(e){if(this.disablePagination)return;const i=this._items?this._items.toArray()[e]:null;if(!i)return;const o=this._tabListContainer.nativeElement.offsetWidth,{offsetLeft:s,offsetWidth:a}=i.elementRef.nativeElement;let l,d;"ltr"==this._getLayoutDirection()?(l=s,d=l+a):(d=this._tabListInner.nativeElement.offsetWidth-s,l=d-a);const _=this.scrollDistance,E=this.scrollDistance+o;l<_?this.scrollDistance-=_-l:d>E&&(this.scrollDistance+=Math.min(d-E,l-_))}_checkPaginationEnabled(){if(this.disablePagination)this._showPaginationControls=!1;else{const e=this._tabListInner.nativeElement.scrollWidth>this._elementRef.nativeElement.offsetWidth;e||(this.scrollDistance=0),e!==this._showPaginationControls&&this._changeDetectorRef.markForCheck(),this._showPaginationControls=e}}_checkScrollingControls(){this.disablePagination?this._disableScrollAfter=this._disableScrollBefore=!0:(this._disableScrollBefore=0==this.scrollDistance,this._disableScrollAfter=this.scrollDistance==this._getMaxScrollDistance(),this._changeDetectorRef.markForCheck())}_getMaxScrollDistance(){return this._tabListInner.nativeElement.scrollWidth-this._tabListContainer.nativeElement.offsetWidth||0}_alignInkBarToSelectedTab(){const e=this._items&&this._items.length?this._items.toArray()[this.selectedIndex]:null,i=e?e.elementRef.nativeElement:null;i?this._inkBar.alignToElement(i):this._inkBar.hide()}_stopInterval(){this._stopScrolling.next()}_handlePaginatorPress(e,i){i&&null!=i.button&&0!==i.button||(this._stopInterval(),Sh(650,100).pipe(Hn(bt(this._stopScrolling,this._destroyed))).subscribe(()=>{const{maxScrollDistance:o,distance:s}=this._scrollHeader(e);(0===s||s>=o)&&this._stopInterval()}))}_scrollTo(e){if(this.disablePagination)return{maxScrollDistance:0,distance:0};const i=this._getMaxScrollDistance();return this._scrollDistance=Math.max(0,Math.min(i,e)),this._scrollDistanceChanged=!0,this._checkScrollingControls(),{maxScrollDistance:i,distance:this._scrollDistance}}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(kd),Y(Do,8),Y(ft),Y(ui),Y(Ri,8))},t.\u0275dir=Ke({type:t,inputs:{disablePagination:"disablePagination"}}),t})(),jte=(()=>{class t extends Vte{get disableRipple(){return this._disableRipple}set disableRipple(e){this._disableRipple=_n(e)}constructor(e,i,o,s,a,l,d){super(e,i,o,s,a,l,d),this._disableRipple=!1}_itemSelected(e){e.preventDefault()}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(kd),Y(Do,8),Y(ft),Y(ui),Y(Ri,8))},t.\u0275dir=Ke({type:t,inputs:{disableRipple:"disableRipple"},features:[nt]}),t})(),zte=(()=>{class t extends jte{constructor(e,i,o,s,a,l,d){super(e,i,o,s,a,l,d)}ngAfterContentInit(){this._inkBar=new Pte(this._items),super.ngAfterContentInit()}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(kd),Y(Do,8),Y(ft),Y(ui),Y(Ri,8))},t.\u0275cmp=Ze({type:t,selectors:[["mat-tab-header"]],contentQueries:function(e,i,o){if(1&e&&or(o,yP,4),2&e){let s;rt(s=ot())&&(i._items=s)}},viewQuery:function(e,i){if(1&e&&(_t(fte,7),_t(pte,7),_t(mte,7),_t(gte,5),_t(_te,5)),2&e){let o;rt(o=ot())&&(i._tabListContainer=o.first),rt(o=ot())&&(i._tabList=o.first),rt(o=ot())&&(i._tabListInner=o.first),rt(o=ot())&&(i._nextPaginator=o.first),rt(o=ot())&&(i._previousPaginator=o.first)}},hostAttrs:[1,"mat-mdc-tab-header"],hostVars:4,hostBindings:function(e,i){2&e&&nn("mat-mdc-tab-header-pagination-controls-enabled",i._showPaginationControls)("mat-mdc-tab-header-rtl","rtl"==i._getLayoutDirection())},inputs:{selectedIndex:"selectedIndex"},outputs:{selectFocusedIndex:"selectFocusedIndex",indexFocused:"indexFocused"},features:[nt],ngContentSelectors:gP,decls:13,vars:10,consts:[["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-before",3,"matRippleDisabled","disabled","click","mousedown","touchend"],["previousPaginator",""],[1,"mat-mdc-tab-header-pagination-chevron"],[1,"mat-mdc-tab-label-container",3,"keydown"],["tabListContainer",""],["role","tablist",1,"mat-mdc-tab-list",3,"cdkObserveContent"],["tabList",""],[1,"mat-mdc-tab-labels"],["tabListInner",""],["aria-hidden","true","type","button","mat-ripple","","tabindex","-1",1,"mat-mdc-tab-header-pagination","mat-mdc-tab-header-pagination-after",3,"matRippleDisabled","disabled","mousedown","click","touchend"],["nextPaginator",""]],template:function(e,i){1&e&&(Ir(),D(0,"button",0,1),ye("click",function(){return i._handlePaginatorClick("before")})("mousedown",function(s){return i._handlePaginatorPress("before",s)})("touchend",function(){return i._stopInterval()}),xe(2,"div",2),C(),D(3,"div",3,4),ye("keydown",function(s){return i._handleKeydown(s)}),D(5,"div",5,6),ye("cdkObserveContent",function(){return i._onContentChanges()}),D(7,"div",7,8),Sn(9),C()()(),D(10,"button",9,10),ye("mousedown",function(s){return i._handlePaginatorPress("after",s)})("click",function(){return i._handlePaginatorClick("after")})("touchend",function(){return i._stopInterval()}),xe(12,"div",2),C()),2&e&&(nn("mat-mdc-tab-header-pagination-disabled",i._disableScrollBefore),w("matRippleDisabled",i._disableScrollBefore||i.disableRipple)("disabled",i._disableScrollBefore||null),c(3),nn("_mat-animation-noopable","NoopAnimations"===i._animationMode),c(7),nn("mat-mdc-tab-header-pagination-disabled",i._disableScrollAfter),w("matRippleDisabled",i._disableScrollAfter||i.disableRipple)("disabled",i._disableScrollAfter||null))},dependencies:[Zl,dL],styles:[".mat-mdc-tab-header{display:flex;overflow:hidden;position:relative;flex-shrink:0;--mdc-tab-indicator-active-indicator-height:2px;--mdc-tab-indicator-active-indicator-shape:0;--mdc-secondary-navigation-tab-container-height:48px}.mat-mdc-tab-header-pagination{-webkit-user-select:none;user-select:none;position:relative;display:none;justify-content:center;align-items:center;min-width:32px;cursor:pointer;z-index:2;-webkit-tap-highlight-color:rgba(0,0,0,0);touch-action:none;box-sizing:content-box;background:none;border:none;outline:0;padding:0}.mat-mdc-tab-header-pagination::-moz-focus-inner{border:0}.mat-mdc-tab-header-pagination .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-header-pagination-controls-enabled .mat-mdc-tab-header-pagination{display:flex}.mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after{padding-left:4px}.mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(-135deg)}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before,.mat-mdc-tab-header-pagination-after{padding-right:4px}.mat-mdc-tab-header-rtl .mat-mdc-tab-header-pagination-before .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-header-pagination-after .mat-mdc-tab-header-pagination-chevron{transform:rotate(45deg)}.mat-mdc-tab-header-pagination-chevron{border-style:solid;border-width:2px 2px 0 0;height:8px;width:8px;border-color:var(--mat-tab-header-pagination-icon-color)}.mat-mdc-tab-header-pagination-disabled{box-shadow:none;cursor:default;pointer-events:none}.mat-mdc-tab-header-pagination-disabled .mat-mdc-tab-header-pagination-chevron{opacity:.4}.mat-mdc-tab-list{flex-grow:1;position:relative;transition:transform 500ms cubic-bezier(0.35, 0, 0.25, 1)}._mat-animation-noopable .mat-mdc-tab-list{transition:none}._mat-animation-noopable span.mdc-tab-indicator__content,._mat-animation-noopable span.mdc-tab__text-label{transition:none}.mat-mdc-tab-label-container{display:flex;flex-grow:1;overflow:hidden;z-index:1}.mat-mdc-tab-labels{display:flex;flex:1 0 auto}[mat-align-tabs=center]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:center}[mat-align-tabs=end]>.mat-mdc-tab-header .mat-mdc-tab-labels{justify-content:flex-end}.mat-mdc-tab::before{margin:5px}.cdk-high-contrast-active .mat-mdc-tab[aria-disabled=true]{color:GrayText}"],encapsulation:2}),t})();const xP=new Re("MAT_TABS_CONFIG");let Ute=0;const Wte=Fh(Rh(class{constructor(t){this._elementRef=t}}),"primary");let $te=(()=>{class t extends Wte{get dynamicHeight(){return this._dynamicHeight}set dynamicHeight(e){this._dynamicHeight=_n(e)}get selectedIndex(){return this._selectedIndex}set selectedIndex(e){this._indexToSelect=So(e,null)}get animationDuration(){return this._animationDuration}set animationDuration(e){this._animationDuration=/^\d+$/.test(e+"")?e+"ms":e}get contentTabIndex(){return this._contentTabIndex}set contentTabIndex(e){this._contentTabIndex=So(e,null)}get disablePagination(){return this._disablePagination}set disablePagination(e){this._disablePagination=_n(e)}get preserveContent(){return this._preserveContent}set preserveContent(e){this._preserveContent=_n(e)}get backgroundColor(){return this._backgroundColor}set backgroundColor(e){const i=this._elementRef.nativeElement.classList;i.remove("mat-tabs-with-background",`mat-background-${this.backgroundColor}`),e&&i.add("mat-tabs-with-background",`mat-background-${e}`),this._backgroundColor=e}constructor(e,i,o,s){super(e),this._changeDetectorRef=i,this._animationMode=s,this._tabs=new Al,this._indexToSelect=0,this._lastFocusedTabIndex=null,this._tabBodyWrapperHeight=0,this._tabsSubscription=T.EMPTY,this._tabLabelSubscription=T.EMPTY,this._dynamicHeight=!1,this._selectedIndex=null,this.headerPosition="above",this._disablePagination=!1,this._preserveContent=!1,this.selectedIndexChange=new ht,this.focusChange=new ht,this.animationDone=new ht,this.selectedTabChange=new ht(!0),this._groupId=Ute++,this.animationDuration=o&&o.animationDuration?o.animationDuration:"500ms",this.disablePagination=!(!o||null==o.disablePagination)&&o.disablePagination,this.dynamicHeight=!(!o||null==o.dynamicHeight)&&o.dynamicHeight,this.contentTabIndex=o?.contentTabIndex??null,this.preserveContent=!!o?.preserveContent}ngAfterContentChecked(){const e=this._indexToSelect=this._clampTabIndex(this._indexToSelect);if(this._selectedIndex!=e){const i=null==this._selectedIndex;if(!i){this.selectedTabChange.emit(this._createChangeEvent(e));const o=this._tabBodyWrapper.nativeElement;o.style.minHeight=o.clientHeight+"px"}Promise.resolve().then(()=>{this._tabs.forEach((o,s)=>o.isActive=s===e),i||(this.selectedIndexChange.emit(e),this._tabBodyWrapper.nativeElement.style.minHeight="")})}this._tabs.forEach((i,o)=>{i.position=o-e,null!=this._selectedIndex&&0==i.position&&!i.origin&&(i.origin=e-this._selectedIndex)}),this._selectedIndex!==e&&(this._selectedIndex=e,this._lastFocusedTabIndex=null,this._changeDetectorRef.markForCheck())}ngAfterContentInit(){this._subscribeToAllTabChanges(),this._subscribeToTabLabels(),this._tabsSubscription=this._tabs.changes.subscribe(()=>{const e=this._clampTabIndex(this._indexToSelect);if(e===this._selectedIndex){const i=this._tabs.toArray();let o;for(let s=0;s{i[e].isActive=!0,this.selectedTabChange.emit(this._createChangeEvent(e))})}this._changeDetectorRef.markForCheck()})}_subscribeToAllTabChanges(){this._allTabs.changes.pipe(Go(this._allTabs)).subscribe(e=>{this._tabs.reset(e.filter(i=>i._closestTabGroup===this||!i._closestTabGroup)),this._tabs.notifyOnChanges()})}ngOnDestroy(){this._tabs.destroy(),this._tabsSubscription.unsubscribe(),this._tabLabelSubscription.unsubscribe()}realignInkBar(){this._tabHeader&&this._tabHeader._alignInkBarToSelectedTab()}updatePagination(){this._tabHeader&&this._tabHeader.updatePagination()}focusTab(e){const i=this._tabHeader;i&&(i.focusIndex=e)}_focusChanged(e){this._lastFocusedTabIndex=e,this.focusChange.emit(this._createChangeEvent(e))}_createChangeEvent(e){const i=new qte;return i.index=e,this._tabs&&this._tabs.length&&(i.tab=this._tabs.toArray()[e]),i}_subscribeToTabLabels(){this._tabLabelSubscription&&this._tabLabelSubscription.unsubscribe(),this._tabLabelSubscription=bt(...this._tabs.map(e=>e._stateChanges)).subscribe(()=>this._changeDetectorRef.markForCheck())}_clampTabIndex(e){return Math.min(this._tabs.length-1,Math.max(e||0,0))}_getTabLabelId(e){return`mat-tab-label-${this._groupId}-${e}`}_getTabContentId(e){return`mat-tab-content-${this._groupId}-${e}`}_setTabBodyWrapperHeight(e){if(!this._dynamicHeight||!this._tabBodyWrapperHeight)return;const i=this._tabBodyWrapper.nativeElement;i.style.height=this._tabBodyWrapperHeight+"px",this._tabBodyWrapper.nativeElement.offsetHeight&&(i.style.height=e+"px")}_removeTabBodyWrapperHeight(){const e=this._tabBodyWrapper.nativeElement;this._tabBodyWrapperHeight=e.clientHeight,e.style.height="",this.animationDone.emit()}_handleClick(e,i,o){i.focusIndex=o,e.disabled||(this.selectedIndex=o)}_getTabIndex(e){return e===(this._lastFocusedTabIndex??this.selectedIndex)?0:-1}_tabFocusChanged(e,i){e&&"mouse"!==e&&"touch"!==e&&(this._tabHeader.focusIndex=i)}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(xP,8),Y(Ri,8))},t.\u0275dir=Ke({type:t,inputs:{dynamicHeight:"dynamicHeight",selectedIndex:"selectedIndex",headerPosition:"headerPosition",animationDuration:"animationDuration",contentTabIndex:"contentTabIndex",disablePagination:"disablePagination",preserveContent:"preserveContent",backgroundColor:"backgroundColor"},outputs:{selectedIndexChange:"selectedIndexChange",focusChange:"focusChange",animationDone:"animationDone",selectedTabChange:"selectedTabChange"},features:[nt]}),t})(),Gte=(()=>{class t extends $te{get fitInkBarToContent(){return this._fitInkBarToContent}set fitInkBarToContent(e){this._fitInkBarToContent=_n(e),this._changeDetectorRef.markForCheck()}get stretchTabs(){return this._stretchTabs}set stretchTabs(e){this._stretchTabs=_n(e)}constructor(e,i,o,s){super(e,i,o,s),this._fitInkBarToContent=!1,this._stretchTabs=!0,this.fitInkBarToContent=!(!o||null==o.fitInkBarToContent)&&o.fitInkBarToContent,this.stretchTabs=!o||null==o.stretchTabs||o.stretchTabs}}return t.\u0275fac=function(e){return new(e||t)(Y(vt),Y(pi),Y(xP,8),Y(Ri,8))},t.\u0275cmp=Ze({type:t,selectors:[["mat-tab-group"]],contentQueries:function(e,i,o){if(1&e&&or(o,wP,5),2&e){let s;rt(s=ot())&&(i._allTabs=s)}},viewQuery:function(e,i){if(1&e&&(_t(bte,5),_t(vte,5)),2&e){let o;rt(o=ot())&&(i._tabBodyWrapper=o.first),rt(o=ot())&&(i._tabHeader=o.first)}},hostAttrs:["ngSkipHydration","true",1,"mat-mdc-tab-group"],hostVars:6,hostBindings:function(e,i){2&e&&nn("mat-mdc-tab-group-dynamic-height",i.dynamicHeight)("mat-mdc-tab-group-inverted-header","below"===i.headerPosition)("mat-mdc-tab-group-stretch-tabs",i.stretchTabs)},inputs:{color:"color",disableRipple:"disableRipple",fitInkBarToContent:"fitInkBarToContent",stretchTabs:["mat-stretch-tabs","stretchTabs"]},exportAs:["matTabGroup"],features:[un([{provide:MP,useExisting:t}]),nt],decls:6,vars:7,consts:[[3,"selectedIndex","disableRipple","disablePagination","indexFocused","selectFocusedIndex"],["tabHeader",""],["class","mdc-tab mat-mdc-tab mat-mdc-focus-indicator","role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",3,"id","mdc-tab--active","ngClass","disabled","fitInkBarToContent","click","cdkFocusChange",4,"ngFor","ngForOf"],[1,"mat-mdc-tab-body-wrapper"],["tabBodyWrapper",""],["role","tabpanel",3,"id","mat-mdc-tab-body-active","ngClass","content","position","origin","animationDuration","preserveContent","_onCentered","_onCentering",4,"ngFor","ngForOf"],["role","tab","matTabLabelWrapper","","cdkMonitorElementFocus","",1,"mdc-tab","mat-mdc-tab","mat-mdc-focus-indicator",3,"id","ngClass","disabled","fitInkBarToContent","click","cdkFocusChange"],["tabNode",""],[1,"mdc-tab__ripple"],["mat-ripple","",1,"mat-mdc-tab-ripple",3,"matRippleTrigger","matRippleDisabled"],[1,"mdc-tab__content"],[1,"mdc-tab__text-label"],[3,"ngIf","ngIfElse"],["tabTextLabel",""],[3,"cdkPortalOutlet"],["role","tabpanel",3,"id","ngClass","content","position","origin","animationDuration","preserveContent","_onCentered","_onCentering"]],template:function(e,i){1&e&&(D(0,"mat-tab-header",0,1),ye("indexFocused",function(s){return i._focusChanged(s)})("selectFocusedIndex",function(s){return i.selectedIndex=s}),V(2,Cte,9,17,"div",2),C(),D(3,"div",3,4),V(5,xte,1,11,"mat-tab-body",5),C()),2&e&&(w("selectedIndex",i.selectedIndex||0)("disableRipple",i.disableRipple)("disablePagination",i.disablePagination),c(2),w("ngForOf",i._tabs),c(1),nn("_mat-animation-noopable","NoopAnimations"===i._animationMode),c(2),w("ngForOf",i._tabs))},dependencies:[Nn,gi,Ft,Ja,Zl,Yz,_P,yP,zte],styles:['.mdc-tab{min-width:90px;padding-right:24px;padding-left:24px;display:flex;flex:1 0 auto;justify-content:center;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border:none;outline:none;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1}.mdc-tab::-moz-focus-inner{padding:0;border:0}.mdc-tab[hidden]{display:none}.mdc-tab--min-width{flex:0 1 auto}.mdc-tab__content{display:flex;align-items:center;justify-content:center;height:inherit;pointer-events:none}.mdc-tab__text-label{transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.mdc-tab__icon{transition:150ms color linear;z-index:2}.mdc-tab--stacked .mdc-tab__content{flex-direction:column;align-items:center;justify-content:center}.mdc-tab--stacked .mdc-tab__text-label{padding-top:6px;padding-bottom:4px}.mdc-tab--active .mdc-tab__text-label,.mdc-tab--active .mdc-tab__icon{transition-delay:100ms}.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label{padding-left:8px;padding-right:0}[dir=rtl] .mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label,.mdc-tab:not(.mdc-tab--stacked) .mdc-tab__icon+.mdc-tab__text-label[dir=rtl]{padding-left:0;padding-right:8px}.mdc-tab-indicator{display:flex;position:absolute;top:0;left:0;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator .mdc-tab-indicator__content{transition:250ms transform cubic-bezier(0.4, 0, 0.2, 1)}.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{transition:none}.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content{transition-delay:100ms}.mat-mdc-tab-ripple{position:absolute;top:0;left:0;bottom:0;right:0;pointer-events:none}.mat-mdc-tab{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;background:none;font-family:var(--mat-tab-header-label-text-font);font-size:var(--mat-tab-header-label-text-size);letter-spacing:var(--mat-tab-header-label-text-letter-spacing);line-height:var(--mat-tab-header-label-text-line-height);font-weight:var(--mat-tab-header-label-text-weight)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-color:var(--mdc-tab-indicator-active-indicator-color)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-top-width:var(--mdc-tab-indicator-active-indicator-height)}.mat-mdc-tab .mdc-tab-indicator__content--underline{border-radius:var(--mdc-tab-indicator-active-indicator-shape)}.mat-mdc-tab:not(.mdc-tab--stacked){height:var(--mdc-secondary-navigation-tab-container-height)}.mat-mdc-tab:not(:disabled).mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):hover.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):focus.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):active.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:disabled.mdc-tab--active .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):hover:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):focus:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:not(:disabled):active:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab:disabled:not(.mdc-tab--active) .mdc-tab__icon{fill:currentColor}.mat-mdc-tab.mdc-tab{flex-grow:0}.mat-mdc-tab:hover .mdc-tab__text-label{color:var(--mat-tab-header-inactive-hover-label-text-color)}.mat-mdc-tab:focus .mdc-tab__text-label{color:var(--mat-tab-header-inactive-focus-label-text-color)}.mat-mdc-tab.mdc-tab--active .mdc-tab__text-label{color:var(--mat-tab-header-active-label-text-color)}.mat-mdc-tab.mdc-tab--active .mdc-tab__ripple::before,.mat-mdc-tab.mdc-tab--active .mat-ripple-element{background-color:var(--mat-tab-header-active-ripple-color)}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab__text-label{color:var(--mat-tab-header-active-hover-label-text-color)}.mat-mdc-tab.mdc-tab--active:hover .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-hover-indicator-color)}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab__text-label{color:var(--mat-tab-header-active-focus-label-text-color)}.mat-mdc-tab.mdc-tab--active:focus .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-active-focus-indicator-color)}.mat-mdc-tab.mat-mdc-tab-disabled{opacity:.4;pointer-events:none}.mat-mdc-tab.mat-mdc-tab-disabled .mdc-tab__ripple::before,.mat-mdc-tab.mat-mdc-tab-disabled .mat-ripple-element{background-color:var(--mat-tab-header-disabled-ripple-color)}.mat-mdc-tab .mdc-tab__ripple::before{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-header-inactive-label-text-color);display:inline-flex;align-items:center}.mat-mdc-tab .mdc-tab__content{position:relative;pointer-events:auto}.mat-mdc-tab:hover .mdc-tab__ripple::before{opacity:.04}.mat-mdc-tab.cdk-program-focused .mdc-tab__ripple::before,.mat-mdc-tab.cdk-keyboard-focused .mdc-tab__ripple::before{opacity:.12}.mat-mdc-tab .mat-ripple-element{opacity:.12;background-color:var(--mat-tab-header-inactive-ripple-color)}.mat-mdc-tab-group.mat-mdc-tab-group-stretch-tabs>.mat-mdc-tab-header .mat-mdc-tab{flex-grow:1}.mat-mdc-tab-group{display:flex;flex-direction:column;max-width:100%}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination{background-color:var(--mat-tab-header-with-background-background-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mat-mdc-tab .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background.mat-primary>.mat-mdc-tab-header .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab__text-label{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background:not(.mat-primary)>.mat-mdc-tab-header .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab-indicator__content--underline{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-focus-indicator::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-focus-indicator::before{border-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mdc-tab__ripple::before,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-ripple-element,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mdc-tab__ripple::before{background-color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header .mat-mdc-tab-header-pagination-chevron,.mat-mdc-tab-group.mat-tabs-with-background>.mat-mdc-tab-header-pagination .mat-mdc-tab-header-pagination-chevron{color:var(--mat-tab-header-with-background-foreground-color)}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header{flex-direction:column-reverse}.mat-mdc-tab-group.mat-mdc-tab-group-inverted-header .mdc-tab-indicator__content--underline{align-self:flex-start}.mat-mdc-tab-body-wrapper{position:relative;overflow:hidden;display:flex;transition:height 500ms cubic-bezier(0.35, 0, 0.25, 1)}.mat-mdc-tab-body-wrapper._mat-animation-noopable{transition:none !important;animation:none !important}'],encapsulation:2}),t})();class qte{}let Kte=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[ta,Wn,Dd,Yh,j0,X0,Wn]}),t})();const Zte=["button"],Xte=["settingsButton"],Jte=["firstInput"];function Qte(t,n){1&t&&(Ue(0),D(1,"span"),I(2),R(3,"translate"),C(),We()),2&t&&(c(2),se(H(3,1,"apps.vpn-socks-client-settings.remote-key-length-error")))}function ene(t,n){1&t&&(D(0,"span"),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"apps.vpn-socks-client-settings.remote-key-chars-error")))}const ac=function(t){return{"element-disabled":t}};function tne(t,n){if(1&t&&(D(0,"mat-form-field",3)(1,"div",4)(2,"label",5),I(3),R(4,"translate"),C(),xe(5,"input",20),C()()),2&t){const e=z();w("ngClass",He(4,ac,e.disableDismiss)),c(3),se(H(4,2,"apps.vpn-socks-client-settings.password"))}}function nne(t,n){1&t&&(D(0,"div",21)(1,"mat-icon",22),I(2,"warning"),C(),I(3),R(4,"translate"),C()),2&t&&(c(1),w("inline",!0),c(2),ce(" ",H(4,2,"apps.vpn-socks-client-settings.password-history-warning")," "))}function ine(t,n){1&t&&xe(0,"app-loading-indicator",23),2&t&&w("showWhite",!1)}function rne(t,n){1&t&&(D(0,"div",24)(1,"mat-icon",22),I(2,"error"),C(),I(3),R(4,"translate"),C()),2&t&&(c(1),w("inline",!0),c(2),ce(" ",H(4,2,"apps.vpn-socks-client-settings.no-elements")," "))}function one(t,n){1&t&&(D(0,"div",31),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"apps.vpn-socks-client-settings.no-filter")," "))}function sne(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e[1]))}}function ane(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e[2])}}function lne(t,n){if(1&t&&(D(0,"div",31)(1,"span"),I(2),R(3,"translate"),C(),V(4,sne,3,3,"ng-container",16),V(5,ane,2,1,"ng-container",16),C()),2&t){const e=n.$implicit;c(2),ce("",H(3,3,e[0])," "),c(2),w("ngIf",e[1]),c(1),w("ngIf",e[2])}}function cne(t,n){1&t&&(D(0,"div",24)(1,"mat-icon",22),I(2,"error"),C(),I(3),R(4,"translate"),C()),2&t&&(c(1),w("inline",!0),c(2),ce(" ",H(4,2,"apps.vpn-socks-client-settings.no-elements-for-filters")," "))}const kP=function(t){return{highlighted:t}};function dne(t,n){if(1&t&&(Ue(0),D(1,"span",3),I(2),C(),We()),2&t){const e=n.$implicit,i=n.index;c(1),w("ngClass",He(2,kP,i%2!=0)),c(1),se(e)}}function une(t,n){if(1&t&&(Ue(0),D(1,"div",38),xe(2,"div"),C(),We()),2&t){const e=z(2).$implicit;c(2),di("background-image: url('assets/img/flags/"+e.country.toLocaleLowerCase()+".png');")}}function hne(t,n){if(1&t&&(Ue(0),D(1,"span",3),I(2),C(),We()),2&t){const e=n.$implicit,i=n.index;c(1),w("ngClass",He(2,kP,i%2!=0)),c(1),se(e)}}function fne(t,n){if(1&t&&(D(0,"div",31)(1,"span"),I(2),R(3,"translate"),C(),D(4,"span"),I(5,"\xa0 "),V(6,une,3,2,"ng-container",16),V(7,hne,3,4,"ng-container",35),C()()),2&t){const e=z().$implicit,i=z(2);c(2),se(H(3,3,"apps.vpn-socks-client-settings.location")),c(4),w("ngIf",e.country),c(1),w("ngForOf",i.getHighlightedTextParts(e.location,i.currentFilters.location))}}function pne(t,n){if(1&t){const e=et();D(0,"div",32)(1,"button",33),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).saveChanges(s.pk,null,!1,s.location))}),D(2,"div",34)(3,"div",31)(4,"span"),I(5),R(6,"translate"),C(),D(7,"span"),I(8,"\xa0"),V(9,dne,3,4,"ng-container",35),C()(),V(10,fne,8,5,"div",28),C()(),D(11,"button",36),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).copyPk(s.pk))}),R(12,"translate"),D(13,"mat-icon",37),I(14,"filter_none"),C()()()}if(2&t){const e=n.$implicit,i=z(2);c(1),w("ngClass",He(10,ac,i.disableDismiss)),c(4),se(H(6,6,"apps.vpn-socks-client-settings.key")),c(4),w("ngForOf",i.getHighlightedTextParts(e.pk,i.currentFilters.key)),c(1),w("ngIf",e.location),c(1),w("matTooltip",H(12,8,"apps.vpn-socks-client-settings.copy-pk-info")),c(2),w("inline",!0)}}function mne(t,n){if(1&t){const e=et();Ue(0),D(1,"button",25),ye("click",function(){return Pe(e),Oe(z().changeFilters())}),D(2,"div",26)(3,"div",27)(4,"mat-icon",22),I(5,"filter_list"),C()(),D(6,"div"),V(7,one,3,3,"div",28),V(8,lne,6,5,"div",29),D(9,"div",30),I(10),R(11,"translate"),C()()()(),V(12,cne,5,4,"div",15),V(13,pne,15,12,"div",18),We()}if(2&t){const e=z();c(4),w("inline",!0),c(3),w("ngIf",0===e.currentFiltersTexts.length),c(1),w("ngForOf",e.currentFiltersTexts),c(2),se(H(11,6,"apps.vpn-socks-client-settings.click-to-change")),c(2),w("ngIf",0===e.filteredProxiesFromDiscovery.length),c(1),w("ngForOf",e.proxiesFromDiscoveryToShow)}}const gne=function(t,n){return{currentElementsRange:t,totalElements:n}};function _ne(t,n){if(1&t){const e=et();D(0,"div",39)(1,"span"),I(2),R(3,"translate"),C(),D(4,"button",40),ye("click",function(){return Pe(e),Oe(z().goToPreviousPage())}),D(5,"mat-icon"),I(6,"chevron_left"),C()(),D(7,"button",40),ye("click",function(){return Pe(e),Oe(z().goToNextPage())}),D(8,"mat-icon"),I(9,"chevron_right"),C()()()}if(2&t){const e=z();c(2),se(kt(3,1,"apps.vpn-socks-client-settings.pagination-info",mn(4,gne,e.currentRange,e.filteredProxiesFromDiscovery.length)))}}const bne=function(t){return{number:t}};function vne(t,n){if(1&t&&(D(0,"div")(1,"div",24)(2,"mat-icon",22),I(3,"error"),C(),I(4),R(5,"translate"),C()()),2&t){const e=z();c(2),w("inline",!0),c(2),ce(" ",kt(5,2,"apps.vpn-socks-client-settings.no-history",He(5,bne,e.maxHistoryElements))," ")}}function yne(t,n){1&t&&Jo(0)}function Mne(t,n){1&t&&Jo(0)}function wne(t,n){if(1&t&&(Ue(0),D(1,"span"),I(2),C(),We()),2&t){const e=z(2).$implicit;c(2),ce(" ",e.note,"")}}function Cne(t,n){1&t&&(Ue(0),D(1,"span"),I(2),R(3,"translate"),C(),We()),2&t&&(c(2),ce(" ",H(3,1,"apps.vpn-socks-client-settings.note-entered-manually"),""))}function xne(t,n){if(1&t&&(Ue(0),D(1,"span"),I(2),C(),We()),2&t){const e=z(4).$implicit;c(2),ce(" (",e.location,")")}}function kne(t,n){if(1&t&&(Ue(0),D(1,"span"),I(2),R(3,"translate"),C(),V(4,xne,3,1,"ng-container",16),We()),2&t){const e=z(3).$implicit;c(2),ce(" ",H(3,2,"apps.vpn-socks-client-settings.note-obtained"),""),c(2),w("ngIf",e.location)}}function Sne(t,n){if(1&t&&(Ue(0),V(1,Cne,4,3,"ng-container",16),V(2,kne,5,4,"ng-container",16),We()),2&t){const e=z(2).$implicit;c(1),w("ngIf",e.enteredManually),c(1),w("ngIf",!e.enteredManually)}}function Dne(t,n){if(1&t&&(D(0,"div",46)(1,"div",47)(2,"div",31)(3,"span"),I(4),R(5,"translate"),C(),D(6,"span"),I(7),C()(),D(8,"div",31)(9,"span"),I(10),R(11,"translate"),C(),V(12,wne,3,1,"ng-container",16),V(13,Sne,3,2,"ng-container",16),C()(),D(14,"div",48)(15,"div",49)(16,"mat-icon",22),I(17,"add"),C()()()()),2&t){const e=z().$implicit;c(4),se(H(5,6,"apps.vpn-socks-client-settings.key")),c(3),ce(" ",e.key,""),c(3),se(H(11,8,"apps.vpn-socks-client-settings.note")),c(2),w("ngIf",e.note),c(1),w("ngIf",!e.note),c(3),w("inline",!0)}}function Tne(t,n){if(1&t){const e=et();D(0,"div",32)(1,"button",41),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().useFromHistory(s))}),V(2,yne,1,0,"ng-container",42),C(),D(3,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().changeNote(s))}),R(4,"translate"),D(5,"mat-icon",37),I(6,"edit"),C()(),D(7,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().removeFromHistory(s.key))}),R(8,"translate"),D(9,"mat-icon",37),I(10,"close"),C()(),D(11,"button",44),ye("click",function(){const s=Pe(e).$implicit;return Oe(z().openHistoryOptions(s))}),V(12,Mne,1,0,"ng-container",42),C(),V(13,Dne,18,10,"ng-template",null,45,Es),C()}if(2&t){const e=ci(14),i=z();c(1),w("ngClass",He(12,ac,i.disableDismiss)),c(1),w("ngTemplateOutlet",e),c(1),w("matTooltip",H(4,8,"apps.vpn-socks-client-settings.change-note")),c(2),w("inline",!0),c(2),w("matTooltip",H(8,10,"apps.vpn-socks-client-settings.remove-entry")),c(2),w("inline",!0),c(2),w("ngClass",He(14,ac,i.disableDismiss)),c(1),w("ngTemplateOutlet",e)}}function Lne(t,n){1&t&&(Ue(0),D(1,"span"),I(2),R(3,"translate"),C(),We()),2&t&&(c(2),se(H(3,1,"apps.vpn-socks-client-settings.dns-error")))}function Ene(t,n){1&t&&(D(0,"div",56)(1,"mat-icon",22),I(2,"warning"),C(),I(3),R(4,"translate"),C()),2&t&&(c(1),w("inline",!0),c(2),ce(" ",H(4,2,"apps.vpn-socks-client-settings.settings-changed-alert")," "))}function Ine(t,n){if(1&t){const e=et();D(0,"mat-tab",1),R(1,"translate"),D(2,"form",2)(3,"mat-form-field",3)(4,"div",4)(5,"label",5),I(6),R(7,"translate"),C(),xe(8,"input",50),C(),D(9,"mat-error"),V(10,Lne,4,3,"ng-container",16),C()(),D(11,"div",51)(12,"mat-checkbox",52),I(13),R(14,"translate"),D(15,"mat-icon",53),R(16,"translate"),I(17,"help"),C()()(),V(18,Ene,5,4,"div",54),D(19,"app-button",12,55),ye("action",function(){return Pe(e),Oe(z().saveSettings())}),I(21),R(22,"translate"),C()()()}if(2&t){const e=z();w("label",H(1,12,"apps.vpn-socks-client-settings.settings-tab")),c(2),w("formGroup",e.settingsForm),c(1),w("ngClass",He(22,ac,e.disableDismiss)),c(3),se(H(7,14,"apps.vpn-socks-client-settings.dns")),c(4),w("ngIf",!e.settingsForm.get("dns").valid),c(2),w("ngClass",He(24,ac,e.disableDismiss)),c(1),ce(" ",H(14,16,"apps.vpn-socks-client-settings.killswitch-check")," "),c(2),w("inline",!0)("matTooltip",H(16,18,"apps.vpn-socks-client-settings.killswitch-info")),c(3),w("ngIf",e.settingsChanged),c(1),w("disabled",!e.settingsForm.valid||!e.settingsChanged||e.working),c(2),ce(" ",H(22,20,"apps.vpn-socks-client-settings.save-settings")," ")}}let Pne=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.largeModalWidth,e.open(t,o)}constructor(e,i,o,s,a,l,d,_,E){this.data=e,this.dialogRef=i,this.appsService=o,this.formBuilder=s,this.snackbarService=a,this.dialog=l,this.proxyDiscoveryService=d,this.clipboardService=_,this.storageService=E,this.socksHistoryStorageKey="SkysocksClientHistory_",this.vpnHistoryStorageKey="VpnClientHistory_",this.maxHistoryElements=10,this.maxElementsPerPage=10,this.countriesFromDiscovery=new Set,this.loadingFromDiscovery=!0,this.numberOfPages=1,this.currentPage=1,this.currentRange="1 - 1",this.currentFilters=new mP,this.currentFiltersTexts=[],this.configuringVpn=!1,this.initialKillswitchSetting=!1,this.initialDnsSetting="",this.working=!1,-1!==e.name.toLocaleLowerCase().indexOf("vpn")&&(this.configuringVpn=!0)}ngOnInit(){this.migrateDataToHvStorage(),this.discoverySubscription=this.proxyDiscoveryService.getServices(!this.configuringVpn).subscribe(o=>{this.proxiesFromDiscovery=o,this.proxiesFromDiscovery.forEach(s=>{s.country&&this.countriesFromDiscovery.add(s.country.toUpperCase())}),this.filterProxies(),this.loadingFromDiscovery=!1});const e=this.storageService.getDataForHv(this.configuringVpn?this.vpnHistoryStorageKey:this.socksHistoryStorageKey);this.history=e?JSON.parse(e):[];let i="";if(this.data.args&&this.data.args.length>0)for(let o=0;othis.firstInput.nativeElement.focus())}ngOnDestroy(){this.discoverySubscription.unsubscribe(),this.operationSubscription&&this.operationSubscription.unsubscribe()}migrateDataToHvStorage(){const e=localStorage.getItem(this.socksHistoryStorageKey);e&&(this.storageService.setDataForHv(this.socksHistoryStorageKey,e),localStorage.removeItem(this.socksHistoryStorageKey));const i=localStorage.getItem(this.vpnHistoryStorageKey);i&&(this.storageService.setDataForHv(this.vpnHistoryStorageKey,i),localStorage.removeItem(this.vpnHistoryStorageKey))}get disableDismiss(){return this.button&&this.button.isLoading||this.settingsButton&&this.settingsButton.isLoading}validateIp(){if(this.settingsForm){const e=this.settingsForm.get("dns").value;return Jt.checkIfIpValidOrEmpty(e)?null:{invalid:!0}}return null}get settingsChanged(){return this.initialKillswitchSetting!==this.settingsForm.get("killswitch").value||this.initialDnsSetting!==this.settingsForm.get("dns").value}changeFilters(){const e=[];this.countriesFromDiscovery.forEach(o=>e.push(o)),ote.openDialog(this.dialog,{currentFilters:this.currentFilters,availableCountries:e}).afterClosed().subscribe(o=>{o&&(this.currentFilters=o,this.filterProxies())})}getHighlightedTextParts(e,i){if(!i)return[e];const o=e.toLowerCase(),s=i.toLowerCase();let a=!0,l=0;const d=[];for(;a;){const _=o.indexOf(s,l);-1===_?a=!1:(d.push(e.substring(l,_)),d.push(e.substring(_,_+i.length)),l=_+i.length)}return d.push(e.substring(l)),d}filterProxies(){this.filteredProxiesFromDiscovery=this.currentFilters.country||this.currentFilters.location||this.currentFilters.key?this.proxiesFromDiscovery.filter(e=>!(this.currentFilters.country&&(!e.country||!e.country.toUpperCase().includes(this.currentFilters.country.toUpperCase()))||this.currentFilters.location&&!e.location.toLowerCase().includes(this.currentFilters.location.toLowerCase())||this.currentFilters.key&&!e.address.toLowerCase().includes(this.currentFilters.key.toLowerCase()))):this.proxiesFromDiscovery,this.updateCurrentFilters(),this.updatePagination()}updateCurrentFilters(){if(this.currentFiltersTexts=[],this.currentFilters.country){const e=ma[this.currentFilters.country.toUpperCase()]?ma[this.currentFilters.country.toUpperCase()]:this.currentFilters.country.toUpperCase();this.currentFiltersTexts.push(["apps.vpn-socks-client-settings.filter-dialog.country","",e])}this.currentFilters.location&&this.currentFiltersTexts.push(["apps.vpn-socks-client-settings.filter-dialog.location","",this.currentFilters.location]),this.currentFilters.key&&this.currentFiltersTexts.push(["apps.vpn-socks-client-settings.filter-dialog.pub-key","",this.currentFilters.key])}updatePagination(){this.currentPage=1,this.numberOfPages=Math.ceil(this.filteredProxiesFromDiscovery.length/this.maxElementsPerPage),this.showCurrentPage()}goToNextPage(){this.currentPage>=this.numberOfPages||(this.currentPage+=1,this.showCurrentPage())}goToPreviousPage(){this.currentPage<=1||(this.currentPage-=1,this.showCurrentPage())}showCurrentPage(){this.proxiesFromDiscoveryToShow=this.filteredProxiesFromDiscovery.slice((this.currentPage-1)*this.maxElementsPerPage,this.currentPage*this.maxElementsPerPage),this.currentRange=(this.currentPage-1)*this.maxElementsPerPage+1+" - ",this.currentRange+=this.currentPage{1===o?this.useFromHistory(e):2===o?this.changeNote(e):3===o&&this.removeFromHistory(e.key)})}removeFromHistory(e){const o=Jt.createConfirmationDialog(this.dialog,"apps.vpn-socks-client-settings.remove-from-history-confirmation");o.componentInstance.operationAccepted.subscribe(()=>{this.history=this.history.filter(a=>a.key!==e);const s=JSON.stringify(this.history);this.storageService.setDataForHv(this.configuringVpn?this.vpnHistoryStorageKey:this.socksHistoryStorageKey,s),o.close()})}changeNote(e){Zee.openDialog(this.dialog,e.note).afterClosed().subscribe(i=>{if(i){i=i.substr(1,i.length-1),this.history.forEach(s=>{s.key===e.key&&(s.note=i)});const o=JSON.stringify(this.history);this.storageService.setDataForHv(this.configuringVpn?this.vpnHistoryStorageKey:this.socksHistoryStorageKey,o),i?this.snackbarService.showDone("apps.vpn-socks-client-settings.changes-made"):this.snackbarService.showWarning("apps.vpn-socks-client-settings.default-note-warning")}})}useFromHistory(e){e.hasPassword?ate.openDialog(this.dialog).afterClosed().subscribe(i=>{i&&(i=i.substr(1,i.length-1),this.saveChanges(e.key,i,e.enteredManually,e.location,e.note))}):this.saveChanges(e.key,null,e.enteredManually,e.location,e.note)}saveChanges(e=null,i=null,o=null,s=null,a=null){if(!this.form.valid&&!e||this.working)return;o=!e||o,i=e?i:this.form.get("password").value,e=e||this.form.get("pk").value;const d=Jt.createConfirmationDialog(this.dialog,"apps.vpn-socks-client-settings.change-key-confirmation");d.componentInstance.operationAccepted.subscribe(()=>{d.close(),this.continueSavingChanges(e,i,o,s,a)})}saveSettings(){if(this.working)return;const e={killswitch:this.settingsForm.get("killswitch").value,dns:this.settingsForm.get("dns").value};this.settingsButton.showLoading(!1),this.button.showLoading(!1),this.working=!0,this.operationSubscription=this.appsService.changeAppSettings(Ct.getCurrentNodeKey(),this.data.name,e).subscribe(()=>{this.initialKillswitchSetting=e.killswitch,this.initialDnsSetting=e.dns,this.snackbarService.showDone("apps.vpn-socks-client-settings.changes-made"),this.working=!1,this.settingsButton.reset(!1),this.button.reset(!1),Ct.refreshCurrentDisplayedData()},i=>{this.working=!1,this.settingsButton.showError(!1),this.button.reset(!1),i=en(i),this.snackbarService.showError(i)})}copyPk(e){this.clipboardService.copy(e)?this.snackbarService.showDone("apps.vpn-socks-client-settings.copied-pk-info"):this.snackbarService.showError("apps.vpn-socks-client-settings.copy-pk-error")}continueSavingChanges(e,i,o,s,a){if(this.working)return;this.button.showLoading(!1),this.settingsButton&&this.settingsButton.showLoading(!1),this.working=!0;const l={pk:e};this.configuringVpn&&(l.passcode=i||""),this.operationSubscription=this.appsService.changeAppSettings(Ct.getCurrentNodeKey(),this.data.name,l).subscribe(()=>this.onServerDataChangeSuccess(e,!!i,o,s,a),d=>this.onServerDataChangeError(d))}onServerDataChangeSuccess(e,i,o,s,a){this.history=this.history.filter(_=>_.key!==e);const l={key:e,enteredManually:o};if(i&&(l.hasPassword=i),s&&(l.location=s),a&&(l.note=a),this.history=[l].concat(this.history),this.history.length>this.maxHistoryElements){const _=this.history.length-this.maxHistoryElements;this.history.splice(this.history.length-_,_)}this.form.get("pk").setValue(e);const d=JSON.stringify(this.history);this.storageService.setDataForHv(this.configuringVpn?this.vpnHistoryStorageKey:this.socksHistoryStorageKey,d),Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("apps.vpn-socks-client-settings.changes-made"),this.working=!1,this.button.reset(!1),this.settingsButton&&this.settingsButton.reset(!1)}onServerDataChangeError(e){this.working=!1,this.button.showError(!1),this.settingsButton&&this.settingsButton.reset(!1),e=en(e),this.snackbarService.showError(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(Bn),Y(ll),Y(xr),Y(Dn),Y(In),Y(lte),Y(ef),Y(Ji))},t.\u0275cmp=Ze({type:t,selectors:[["app-skysocks-client-settings"]],viewQuery:function(e,i){if(1&e&&(_t(Zte,5),_t(Xte,5),_t(Jte,5)),2&e){let o;rt(o=ot())&&(i.button=o.first),rt(o=ot())&&(i.settingsButton=o.first),rt(o=ot())&&(i.firstInput=o.first)}},decls:34,vars:36,consts:[[3,"headline","dialog","disableDismiss"],[3,"label"],[3,"formGroup"],[3,"ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["id","pk","formControlName","pk","maxlength","66","matInput",""],["firstInput",""],[4,"ngIf","ngIfElse"],["hexError",""],[3,"ngClass",4,"ngIf"],["class","password-history-warning",4,"ngIf"],["color","primary",1,"float-right",3,"disabled","action"],["button",""],["class","loading-indicator",3,"showWhite",4,"ngIf"],["class","info-text",4,"ngIf"],[4,"ngIf"],["class","paginator",4,"ngIf"],["class","d-flex",4,"ngFor","ngForOf"],[3,"label",4,"ngIf"],["id","password","type","password","formControlName","password","maxlength","100","matInput",""],[1,"password-history-warning"],[3,"inline"],[1,"loading-indicator",3,"showWhite"],[1,"info-text"],["mat-button","",1,"list-button","grey-button-background","w-100",3,"click"],[1,"filter-button-content"],[1,"icon-area"],["class","item",4,"ngIf"],["class","item",4,"ngFor","ngForOf"],[1,"blue-part"],[1,"item"],[1,"d-flex"],["mat-button","",1,"list-button","grey-button-background","w-100",3,"ngClass","click"],[1,"button-content"],[4,"ngFor","ngForOf"],["mat-button","",1,"list-button","grey-button-background",3,"matTooltip","click"],[1,"option-button-icon",3,"inline"],[1,"flag-container"],[1,"paginator"],["mat-icon-button","",1,"hard-grey-button-background",3,"click"],["mat-button","",1,"list-button","grey-button-background","w-100","d-none","d-md-inline",3,"ngClass","click"],[4,"ngTemplateOutlet"],["mat-button","",1,"list-button","grey-button-background","d-none","d-md-inline",3,"matTooltip","click"],["mat-button","",1,"list-button","grey-button-background","w-100","d-md-none",3,"ngClass","click"],["content",""],[1,"button-content","d-flex"],[1,"full-size-area"],[1,"options-container"],[1,"small-button","d-md-none"],["formControlName","dns","maxlength","15","matInput",""],[1,"main-theme","settings-option"],["color","primary","formControlName","killswitch",3,"ngClass"],[1,"help-icon",3,"inline","matTooltip"],["class","settings-changed-warning",4,"ngIf"],["settingsButton",""],[1,"settings-changed-warning"]],template:function(e,i){if(1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"mat-tab-group")(3,"mat-tab",1),R(4,"translate"),D(5,"form",2)(6,"mat-form-field",3)(7,"div",4)(8,"label",5),I(9),R(10,"translate"),C(),xe(11,"input",6,7),C(),D(13,"mat-error"),V(14,Qte,4,3,"ng-container",8),C(),V(15,ene,3,3,"ng-template",null,9,Es),C(),V(17,tne,6,6,"mat-form-field",10),V(18,nne,5,4,"div",11),D(19,"app-button",12,13),ye("action",function(){return i.saveChanges()}),I(21),R(22,"translate"),C()()(),D(23,"mat-tab",1),R(24,"translate"),V(25,ine,1,1,"app-loading-indicator",14),V(26,rne,5,4,"div",15),V(27,mne,14,8,"ng-container",16),V(28,_ne,10,7,"div",17),C(),D(29,"mat-tab",1),R(30,"translate"),V(31,vne,6,7,"div",16),V(32,Tne,15,16,"div",18),C(),V(33,Ine,23,26,"mat-tab",19),C()()),2&e){const o=ci(16);w("headline",H(1,22,"apps.vpn-socks-client-settings."+(i.configuringVpn?"vpn-title":"socks-title")))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(3),w("label",H(4,24,"apps.vpn-socks-client-settings.remote-visor-tab")),c(2),w("formGroup",i.form),c(1),w("ngClass",He(34,ac,i.disableDismiss)),c(3),se(H(10,26,"apps.vpn-socks-client-settings.public-key")),c(5),w("ngIf",!i.form.get("pk").hasError("pattern"))("ngIfElse",o),c(3),w("ngIf",i.configuringVpn),c(1),w("ngIf",i.form&&i.form.get("password").value),c(1),w("disabled",!i.form.valid||i.working),c(2),ce(" ",H(22,28,"apps.vpn-socks-client-settings.save")," "),c(2),w("label",H(24,30,"apps.vpn-socks-client-settings.discovery-tab")),c(2),w("ngIf",i.loadingFromDiscovery),c(1),w("ngIf",!i.loadingFromDiscovery&&0===i.proxiesFromDiscovery.length),c(1),w("ngIf",!i.loadingFromDiscovery&&i.proxiesFromDiscovery.length>0),c(1),w("ngIf",i.numberOfPages>1),c(1),w("label",H(30,32,"apps.vpn-socks-client-settings.history-tab")),c(2),w("ngIf",0===i.history.length),c(1),w("ngForOf",i.history),c(1),w("ngIf",i.configuringVpn)}},dependencies:[Nn,gi,Ft,hd,zi,Bi,Vi,ji,Cr,ii,Ei,ar,sl,kr,wP,Gte,Wr,el,Cn,vi,fa,Ui,ei,as,wt],styles:["mat-tab-header{border-bottom:solid 1px rgba(0,0,0,.12)}form[_ngcontent-%COMP%]{margin-top:15px}.info-text[_ngcontent-%COMP%]{margin-top:20px;margin-bottom:2px;text-align:center;color:#202226}.info-text[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:2px}.loading-indicator[_ngcontent-%COMP%]{height:100px}.password-history-warning[_ngcontent-%COMP%]{font-size:.7rem;opacity:.7;position:relative;top:-5px}.list-button[_ngcontent-%COMP%]{border-bottom:solid 1px rgba(0,0,0,.12);height:auto;justify-content:left}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%]{padding:15px 0;white-space:normal;line-height:1.3;color:#202226;text-align:left;display:flex;font-size:.8rem;word-break:break-word}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%] .icon-area[_ngcontent-%COMP%]{font-size:20px;margin-right:15px;color:#999;opacity:.4;align-self:center}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{margin:4px 0}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-of-type{color:#999}.list-button[_ngcontent-%COMP%] .filter-button-content[_ngcontent-%COMP%] .blue-part[_ngcontent-%COMP%]{color:#215f9e}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%]{text-align:left;padding:15px 0;white-space:normal}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .full-size-area[_ngcontent-%COMP%]{flex-grow:1}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{line-height:1.3;margin:4px 0;font-size:.8rem;color:#202226;word-break:break-all}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]:first-of-type{color:#999}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .highlighted[_ngcontent-%COMP%]{background-color:#ff0}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .options-container[_ngcontent-%COMP%]{flex-shrink:0;margin-left:5px;text-align:right;line-height:1}.list-button[_ngcontent-%COMP%] .button-content[_ngcontent-%COMP%] .options-container[_ngcontent-%COMP%] .small-button[_ngcontent-%COMP%]{width:24px;height:24px;line-height:14px;font-size:14px;margin-left:5px}.list-button[_ngcontent-%COMP%] .option-button-icon[_ngcontent-%COMP%]{font-size:14px;margin:0!important;overflow:visible!important}.paginator[_ngcontent-%COMP%]{float:right;margin-top:15px;display:flex;align-items:center}@media (max-width: 767px){.paginator[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{font-size:.7rem}}.paginator[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin-left:5px;display:flex}.settings-option[_ngcontent-%COMP%]{margin-top:20px}.settings-option[_ngcontent-%COMP%] mat-checkbox[_ngcontent-%COMP%]{margin-bottom:15px}.settings-changed-warning[_ngcontent-%COMP%]{font-size:.7rem;opacity:.7;position:relative}"]}),t})();const One=["button"],SP=function(t){return{"element-disabled":t}},DP=function(t){return{number:t}};function Ane(t,n){if(1&t){const e=et();Ue(0,7),D(1,"div",8)(2,"mat-form-field",9)(3,"div",10)(4,"label",11),I(5),R(6,"translate"),C(),xe(7,"input",12),C()(),D(8,"mat-form-field",9)(9,"div",10)(10,"label",13),I(11),R(12,"translate"),C(),xe(13,"input",14),C()(),D(14,"button",15),ye("click",function(){const s=Pe(e).index;return Oe(z().removeSetting(s))}),R(15,"translate"),D(16,"mat-icon",16),I(17,"close"),C()()(),We()}if(2&t){const e=n.index,i=z();c(1),w("formGroupName",e),c(1),w("ngClass",He(15,SP,i.disableDismiss)),c(3),se(kt(6,7,"apps.user-app-settings.name",He(17,DP,e+1))),c(3),w("ngClass",He(19,SP,i.disableDismiss)),c(3),se(kt(12,10,"apps.user-app-settings.value",He(21,DP,e+1))),c(3),w("matTooltip",H(15,13,"apps.user-app-settings.remove")),c(2),w("inline",!0)}}const Fne=function(t){return{name:t}};let Rne=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.mediumModalWidth,e.open(t,o)}constructor(e,i,o,s,a,l){this.data=e,this.appsService=i,this.formBuilder=o,this.dialogRef=s,this.snackbarService=a,this.dialog=l,this.appName="",this.appName=e.name}ngOnInit(){if(this.form=this.formBuilder.group({settings:this.formBuilder.array([])}),this.data.args&&this.data.args.length>0)for(let e=0;e{let a=s.get("name").value,l=s.get("value").value;a=a&&a.trim(),l=l&&l.trim(),a?(o[a]=l,i+=1):e=!0}),e||0===i){const a=Jt.createConfirmationDialog(this.dialog,"apps.user-app-settings."+(0===i?"empty-confirmation":"invalid-confirmation"));a.componentInstance.operationAccepted.subscribe(()=>{a.close(),this.continueSavingChanges(o)})}else this.continueSavingChanges(o)}continueSavingChanges(e){this.button.showLoading();const i={custom_setting:e};this.operationSubscription=this.appsService.changeAppSettings(Ct.getCurrentNodeKey(),this.data.name,i).subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)})}onSuccess(){Ct.refreshCurrentDisplayedData(),this.snackbarService.showDone("apps.user-app-settings.changes-made"),this.dialogRef.close()}onError(e){this.button.showError(),e=en(e),this.snackbarService.showError(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Li),Y(ll),Y(xr),Y(Bn),Y(Dn),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-user-app-settings"]],viewQuery:function(e,i){if(1&e&&_t(One,5),2&e){let o;rt(o=ot())&&(i.button=o.first)}},decls:15,vars:20,consts:[[3,"headline","dialog","disableDismiss"],[1,"info-container"],[3,"formGroup"],["formArrayName","settings",4,"ngFor","ngForOf"],[1,"add-setting",3,"click"],["color","primary",1,"float-right",3,"disabled","action"],["button",""],["formArrayName","settings"],[1,"settings-row",3,"formGroupName"],[3,"ngClass"],[1,"field-container"],["for","name",1,"field-label"],["id","name","formControlName","name","matInput",""],["for","value",1,"field-label"],["id","value","formControlName","value","matInput",""],["mat-button","",1,"transparent-button",3,"matTooltip","click"],[3,"inline"]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1),I(3),R(4,"translate"),C(),D(5,"form",2),V(6,Ane,18,23,"ng-container",3),C(),D(7,"div")(8,"a",4),ye("click",function(){return i.addSetting()}),I(9),R(10,"translate"),C()(),D(11,"app-button",5,6),ye("action",function(){return i.saveChanges()}),I(13),R(14,"translate"),C()()),2&e&&(w("headline",kt(1,9,"apps.user-app-settings.title",He(18,Fne,i.appName)))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(3),se(H(4,12,"apps.user-app-settings.info")),c(2),w("formGroup",i.form),c(1),w("ngForOf",i.settingsControls),c(3),ce("+ ",H(10,14,"apps.user-app-settings.add"),""),c(2),w("disabled",!i.form.valid),c(2),ce(" ",H(14,16,"apps.user-app-settings.save")," "))},dependencies:[Nn,gi,zi,Bi,Vi,ji,ii,Ei,Jh,Qh,ar,kr,Wr,Cn,vi,Ui,ei,wt],styles:[".info-container[_ngcontent-%COMP%]{margin-bottom:10px}.settings-row[_ngcontent-%COMP%]{display:flex}mat-form-field[_ngcontent-%COMP%]{flex-grow:1;margin-right:10px}button[_ngcontent-%COMP%]{flex-shrink:0;width:50px;padding:0!important;align-self:center;border-radius:10px}button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin:0!important}.add-setting[_ngcontent-%COMP%]{color:#215f9e!important;cursor:pointer}"]}),t})();function Nne(t,n){1&t&&(D(0,"span",14),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"apps.apps-list.title-official")))}function Yne(t,n){1&t&&(D(0,"span",14),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"apps.apps-list.title-user")))}function Hne(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.translatableValue))}}function Bne(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e.value)}}function Vne(t,n){if(1&t&&(D(0,"div",18)(1,"span"),I(2),R(3,"translate"),C(),V(4,Hne,3,3,"ng-container",19),V(5,Bne,2,1,"ng-container",19),C()),2&t){const e=n.$implicit;c(2),ce("",H(3,3,e.filterName),": "),c(2),w("ngIf",e.translatableValue),c(1),w("ngIf",e.value)}}function jne(t,n){if(1&t){const e=et();D(0,"div",15),ye("click",function(){return Pe(e),Oe(z().dataFilterer.removeFilters())}),V(1,Vne,6,5,"div",16),D(2,"div",17),I(3),R(4,"translate"),C()()}if(2&t){const e=z();c(1),w("ngForOf",e.dataFilterer.currentFiltersTexts),c(2),se(H(4,2,"filters.press-to-remove"))}}function zne(t,n){if(1&t){const e=et();D(0,"mat-icon",20),ye("click",function(){return Pe(e),Oe(z().dataFilterer.changeFilters())}),R(1,"translate"),I(2,"filter_list"),C()}2&t&&w("inline",!0)("matTooltip",H(1,2,"filters.filter-action"))}function Une(t,n){1&t&&(D(0,"mat-icon",21),I(1,"more_horiz"),C()),2&t&&(z(),w("matMenuTriggerFor",ci(10)))}const TP=function(t,n){return["/nodes",t,"apps-list",n]};function Wne(t,n){if(1&t&&xe(0,"app-paginator",22),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",mn(4,TP,e.nodePK,e.showOfficialApps))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function $ne(t,n){if(1&t&&(D(0,"mat-icon",37),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Gne(t,n){if(1&t&&(D(0,"mat-icon",37),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function qne(t,n){if(1&t&&(D(0,"mat-icon",37),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Kne(t,n){if(1&t&&(D(0,"mat-icon",37),I(1),C()),2&t){const e=z(2);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Zne(t,n){if(1&t&&(xe(0,"i",46),R(1,"translate")),2&t){const e=z().$implicit,i=z(2);eo(i.getStateClass(e)),w("matTooltip",H(1,3,i.getStateTooltip(e)))}}const LP=function(t){return{error:t}};function Xne(t,n){if(1&t&&(D(0,"mat-icon",47),R(1,"translate"),I(2,"warning"),C()),2&t){const e=z().$implicit;w("inline",!0)("matTooltip",kt(1,2,"apps.status-failed-tooltip",He(5,LP,e.detailedStatus?e.detailedStatus:"")))}}function Jne(t,n){if(1&t&&(D(0,"a",48)(1,"button",49),R(2,"translate"),D(3,"mat-icon",37),I(4,"open_in_browser"),C()()()),2&t){const e=z().$implicit;w("href",z(2).getLink(e),Vo),c(1),w("matTooltip",H(2,3,"apps.open")),c(2),w("inline",!0)}}function Qne(t,n){if(1&t){const e=et();D(0,"button",43),ye("click",function(){Pe(e);const o=z().$implicit;return Oe(z(2).config(o))}),R(1,"translate"),D(2,"mat-icon",37),I(3,"settings"),C()()}2&t&&(w("matTooltip",H(1,2,"apps.settings")),c(2),w("inline",!0))}function eie(t,n){if(1&t){const e=et();D(0,"tr")(1,"td",39)(2,"mat-checkbox",40),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(3,"td"),V(4,Zne,2,5,"i",41),V(5,Xne,3,7,"mat-icon",42),C(),D(6,"td"),I(7),C(),D(8,"td"),I(9),C(),D(10,"td")(11,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).changeAppAutostart(s))}),R(12,"translate"),D(13,"mat-icon",37),I(14),C()()(),D(15,"td",30),V(16,Jne,5,5,"a",44),V(17,Qne,4,4,"button",45),D(18,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).viewLogs(s))}),R(19,"translate"),D(20,"mat-icon",37),I(21,"list"),C()(),D(22,"button",43),ye("click",function(){const s=Pe(e).$implicit;return Oe(z(2).changeAppState(s))}),R(23,"translate"),D(24,"mat-icon",37),I(25),C()()()()}if(2&t){const e=n.$implicit,i=z(2);c(2),w("checked",i.selections.get(e.name)),c(2),w("ngIf",2!==e.status),c(1),w("ngIf",2===e.status),c(2),ce(" ",e.name," "),c(2),ce(" ",e.port," "),c(2),w("matTooltip",H(12,15,e.autostart?"apps.apps-list.disable-autostart":"apps.apps-list.enable-autostart")),c(2),w("inline",!0),c(1),se(e.autostart?"done":"close"),c(2),w("ngIf",i.getLink(e)),c(1),w("ngIf",!i.appsWithoutConfig.has(e.name)),c(1),w("matTooltip",H(19,17,"apps.view-logs")),c(2),w("inline",!0),c(2),w("matTooltip",H(23,19,"apps."+(0===e.status||2===e.status?"start-app":"stop-app"))),c(2),w("inline",!0),c(1),se(0===e.status||2===e.status?"play_arrow":"stop")}}function tie(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.label")))}function nie(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"tables.inverted-order")))}function iie(t,n){if(1&t&&(D(0,"a",55),ye("click",function(i){return i.stopPropagation()}),D(1,"button",56),R(2,"translate"),D(3,"mat-icon"),I(4,"open_in_browser"),C()()()),2&t){const e=z().$implicit;w("href",z(2).getLink(e),Vo),c(1),w("matTooltip",H(2,2,"apps.open"))}}function rie(t,n){if(1&t){const e=et();D(0,"tr")(1,"td")(2,"div",34)(3,"div",50)(4,"mat-checkbox",40),ye("change",function(){const s=Pe(e).$implicit;return Oe(z(2).changeSelection(s))}),C()(),D(5,"div",35)(6,"div",51)(7,"span",1),I(8),R(9,"translate"),C(),I(10),C(),D(11,"div",51)(12,"span",1),I(13),R(14,"translate"),C(),I(15),C(),D(16,"div",51)(17,"span",1),I(18),R(19,"translate"),C(),I(20,": "),D(21,"span"),I(22),R(23,"translate"),C()(),D(24,"div",51)(25,"span",1),I(26),R(27,"translate"),C(),I(28,": "),D(29,"span"),I(30),R(31,"translate"),C()()(),xe(32,"div",52),D(33,"div",36),V(34,iie,5,4,"a",53),D(35,"button",54),ye("click",function(o){const a=Pe(e).$implicit,l=z(2);return o.stopPropagation(),Oe(l.showOptionsDialog(a))}),R(36,"translate"),D(37,"mat-icon"),I(38),C()()()()()()}if(2&t){const e=n.$implicit,i=z(2);c(4),w("checked",i.selections.get(e.name)),c(4),se(H(9,16,"apps.apps-list.app-name")),c(2),ce(": ",e.name," "),c(3),se(H(14,18,"apps.apps-list.port")),c(2),ce(": ",e.port," "),c(3),se(H(19,20,"apps.apps-list.state")),c(3),eo(i.getSmallScreenStateClass(e)+" title"),c(1),ce(" ",kt(23,22,i.getSmallScreenStateTextVar(e),He(31,LP,e.detailedStatus?e.detailedStatus:""))," "),c(4),se(H(27,25,"apps.apps-list.auto-start")),c(3),eo((e.autostart?"green-clear-text":"red-clear-text")+" title"),c(1),ce(" ",H(31,27,e.autostart?"apps.apps-list.autostart-enabled":"apps.apps-list.autostart-disabled")," "),c(4),w("ngIf",i.getLink(e)),c(1),w("matTooltip",H(36,29,"common.options")),c(3),se("add")}}const oie=function(t,n){return["/nodes",t,"apps-list",n,"1"]};function sie(t,n){if(1&t&&xe(0,"app-view-all-link",57),2&t){const e=z(2);w("numberOfElements",e.filteredApps.length)("linkParts",mn(3,oie,e.nodePK,e.showOfficialApps))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const aie=function(t,n){return{"small-node-list-margins":t,"full-node-list-margins":n}},lie=function(t){return{"d-lg-none d-xl-table":t}},cie=function(t){return{"d-lg-table d-xl-none":t}};function die(t,n){if(1&t){const e=et();D(0,"div",23)(1,"div",24)(2,"table",25)(3,"tr"),xe(4,"th"),D(5,"th",26),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.stateSortData))}),R(6,"translate"),xe(7,"span",27),V(8,$ne,2,2,"mat-icon",28),C(),D(9,"th",29),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.nameSortData))}),I(10),R(11,"translate"),V(12,Gne,2,2,"mat-icon",28),C(),D(13,"th",29),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.portSortData))}),I(14),R(15,"translate"),V(16,qne,2,2,"mat-icon",28),C(),D(17,"th",29),ye("click",function(){Pe(e);const o=z();return Oe(o.dataSorter.changeSortingOrder(o.autoStartSortData))}),I(18),R(19,"translate"),V(20,Kne,2,2,"mat-icon",28),C(),xe(21,"th",30),C(),V(22,eie,26,21,"tr",31),C(),D(23,"table",32)(24,"tr",33),ye("click",function(){return Pe(e),Oe(z().dataSorter.openSortingOrderModal())}),D(25,"td")(26,"div",34)(27,"div",35)(28,"div",1),I(29),R(30,"translate"),C(),D(31,"div"),I(32),R(33,"translate"),V(34,tie,3,3,"ng-container",19),V(35,nie,3,3,"ng-container",19),C()(),D(36,"div",36)(37,"mat-icon",37),I(38,"keyboard_arrow_down"),C()()()()(),V(39,rie,39,33,"tr",31),C(),V(40,sie,1,6,"app-view-all-link",38),C()()}if(2&t){const e=z();c(1),w("ngClass",mn(31,aie,e.showShortList_,!e.showShortList_)),c(1),w("ngClass",He(34,lie,e.showShortList_)),c(3),w("matTooltip",H(6,19,"apps.apps-list.state-tooltip")),c(3),w("ngIf",e.dataSorter.currentSortingColumn===e.stateSortData),c(2),ce(" ",H(11,21,"apps.apps-list.app-name")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.nameSortData),c(2),ce(" ",H(15,23,"apps.apps-list.port")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.portSortData),c(2),ce(" ",H(19,25,"apps.apps-list.auto-start")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.autoStartSortData),c(2),w("ngForOf",e.dataSource),c(1),w("ngClass",He(36,cie,e.showShortList_)),c(6),se(H(30,27,"tables.sorting-title")),c(3),ce("",H(33,29,e.dataSorter.currentSortingColumn.label)," "),c(2),w("ngIf",e.dataSorter.currentlySortingByLabel),c(1),w("ngIf",e.dataSorter.sortingInReverseOrder),c(2),w("inline",!0),c(2),w("ngForOf",e.dataSource),c(1),w("ngIf",e.showShortList_&&e.numberOfPages>1)}}function uie(t,n){1&t&&(D(0,"span",61),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"apps.apps-list.empty-official")))}function hie(t,n){1&t&&(D(0,"span",61),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"apps.apps-list.empty-user")))}function fie(t,n){1&t&&(D(0,"span",61),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"apps.apps-list.empty-with-filter")))}function pie(t,n){if(1&t&&(D(0,"div",23)(1,"div",58)(2,"mat-icon",59),I(3,"warning"),C(),V(4,uie,3,3,"span",60),V(5,hie,3,3,"span",60),V(6,fie,3,3,"span",60),C()()),2&t){const e=z();c(2),w("inline",!0),c(2),w("ngIf",0===e.allAppsForType.length&&e.showOfficialApps),c(1),w("ngIf",0===e.allAppsForType.length&&!e.showOfficialApps),c(1),w("ngIf",0!==e.allAppsForType.length)}}function mie(t,n){if(1&t&&xe(0,"app-paginator",22),2&t){const e=z();w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",mn(4,TP,e.nodePK,e.showOfficialApps))("queryParams",e.dataFilterer.currentUrlQueryParams)}}const gie=function(t){return{"paginator-icons-fixer":t}};let EP=(()=>{class t{set showShortList(e){this.showShortList_=e,this.dataSorter&&this.dataSorter.setData(this.filteredApps)}set apps(e){this.allApps=e||[],this.allApps&&(this.allAppsForType=[],this.allApps.forEach(i=>{(this.showOfficialApps&&this.officialAppsList.has(i.name)||!this.showOfficialApps&&!this.officialAppsList.has(i.name))&&this.allAppsForType.push(i)}),this.dataFilterer&&this.dataFilterer.setData(this.allAppsForType))}constructor(e,i,o,s,a,l,d){this.appsService=e,this.dialog=i,this.route=o,this.router=s,this.snackbarService=a,this.translateService=l,this.storageService=d,this.listIdForOfficialApps="op",this.listIdForUserApps="up",this.officialAppsList=new Set(["skychat","skysocks","skysocks-client","vpn-client","vpn-server"]),this.showOfficialApps=!0,this.stateSortData=new Vn(["status"],"apps.apps-list.state",Zt.NumberReversed),this.nameSortData=new Vn(["name"],"apps.apps-list.app-name",Zt.Text),this.portSortData=new Vn(["port"],"apps.apps-list.port",Zt.Number),this.autoStartSortData=new Vn(["autostart"],"apps.apps-list.auto-start",Zt.Boolean),this.selections=new Map,this.appsWithoutConfig=new Set(["skychat"]),this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.filterProperties=[{filterName:"apps.apps-list.filter-dialog.state",keyNameInElementsArray:"status",type:$n.Select,printableLabelsForValues:[{value:"",label:"apps.apps-list.filter-dialog.state-options.any"},{value:"1",label:"apps.apps-list.filter-dialog.state-options.running"},{value:"0",label:"apps.apps-list.filter-dialog.state-options.stopped"}]},{filterName:"apps.apps-list.filter-dialog.name",keyNameInElementsArray:"name",type:$n.TextInput,maxlength:50},{filterName:"apps.apps-list.filter-dialog.port",keyNameInElementsArray:"port",type:$n.TextInput,maxlength:8},{filterName:"apps.apps-list.filter-dialog.autostart",keyNameInElementsArray:"autostart",type:$n.Select,printableLabelsForValues:[{value:"",label:"apps.apps-list.filter-dialog.autostart-options.any"},{value:"true",label:"apps.apps-list.filter-dialog.autostart-options.enabled"},{value:"false",label:"apps.apps-list.filter-dialog.autostart-options.disabled"}]}],this.refreshAgain=!1,this.operationSubscriptionsGroup=[],this.navigationsSubscription=this.route.paramMap.subscribe(_=>{if(_.has("showOfficialApps")&&(this.showOfficialApps=_.get("showOfficialApps").toUpperCase()==="true".toUpperCase()),_.has("page")){let E=Number.parseInt(_.get("page"),10);(isNaN(E)||E<1)&&(E=1),this.currentPageInUrl=E,this.recalculateElementsToShow()}})}ngOnInit(){const e=this.showOfficialApps?this.listIdForOfficialApps:this.listIdForUserApps;this.dataSorter=new Rd(this.dialog,this.translateService,this.storageService,[this.stateSortData,this.nameSortData,this.portSortData,this.autoStartSortData],1,e),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataSorter&&this.dataSorter.setData(this.filteredApps),this.dataFilterer=new Nd(this.dialog,this.route,this.router,this.filterProperties,e),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(o=>{this.filteredApps=o,this.dataSorter.setData(this.filteredApps)}),this.allAppsForType&&this.dataFilterer.setData(this.allAppsForType)}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.operationSubscriptionsGroup.forEach(e=>e.unsubscribe()),this.dataSortedSubscription.unsubscribe(),this.dataFiltererSubscription.unsubscribe(),this.dataSorter.dispose(),this.dataFilterer.dispose()}getLink(e){if("skychat"===e.name.toLocaleLowerCase()&&this.nodeIp&&0!==e.status&&2!==e.status){let i="8001";if(e.args)for(let o=0;o{i&&(e=!0)}),e}changeAllSelections(e){this.selections.forEach((i,o)=>{this.selections.set(o,e)})}changeStateOfSelected(e){const i=[];if(this.selections.forEach((o,s)=>{o&&(e&&(0===this.appsMap.get(s).status||2===this.appsMap.get(s).status)||!e&&0!==this.appsMap.get(s).status&&2!==this.appsMap.get(s).status)&&i.push(s)}),e)this.changeAppsValRecursively(i,!1,e);else{const o=Jt.createConfirmationDialog(this.dialog,"apps.stop-selected-confirmation");o.componentInstance.operationAccepted.subscribe(()=>{o.componentInstance.showProcessing(),this.changeAppsValRecursively(i,!1,e,o)})}}changeAutostartOfSelected(e){const i=[];this.selections.forEach((s,a)=>{s&&(e&&!this.appsMap.get(a).autostart||!e&&this.appsMap.get(a).autostart)&&i.push(a)});const o=Jt.createConfirmationDialog(this.dialog,e?"apps.enable-autostart-selected-confirmation":"apps.disable-autostart-selected-confirmation");o.componentInstance.operationAccepted.subscribe(()=>{o.componentInstance.showProcessing(),this.changeAppsValRecursively(i,!0,e,o)})}showOptionsDialog(e){const i=[{icon:"list",label:"apps.view-logs"},{icon:0===e.status||2===e.status?"play_arrow":"stop",label:"apps."+(0===e.status||2===e.status?"start-app":"stop-app")},{icon:e.autostart?"close":"done",label:e.autostart?"apps.apps-list.disable-autostart":"apps.apps-list.enable-autostart"}];this.appsWithoutConfig.has(e.name)||i.push({icon:"settings",label:"apps.settings"}),qr.openDialog(this.dialog,i,"common.options").afterClosed().subscribe(o=>{1===o?this.viewLogs(e):2===o?this.changeAppState(e):3===o?this.changeAppAutostart(e):4===o&&this.config(e)})}changeAppState(e){if(0===e.status||2===e.status)this.changeSingleAppVal(this.startChangingAppState(e.name,!0));else{const i=Jt.createConfirmationDialog(this.dialog,"apps.stop-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.showProcessing(),this.changeSingleAppVal(this.startChangingAppState(e.name,!1),i)})}}changeAppAutostart(e){const i=Jt.createConfirmationDialog(this.dialog,e.autostart?"apps.disable-autostart-confirmation":"apps.enable-autostart-confirmation");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.showProcessing(),this.changeSingleAppVal(this.startChangingAppAutostart(e.name,!e.autostart),i)})}changeSingleAppVal(e,i=null){this.operationSubscriptionsGroup.push(e.subscribe(()=>{i&&i.close(),setTimeout(()=>{this.refreshAgain=!0,Ct.refreshCurrentDisplayedData()},50),this.snackbarService.showDone("apps.operation-completed")},o=>{o=en(o),setTimeout(()=>{this.refreshAgain=!0,Ct.refreshCurrentDisplayedData()},50),i?i.componentInstance.showDone("confirmation.error-header-text",o.translatableErrorMsg):this.snackbarService.showError(o)}))}viewLogs(e){0!==e.status&&2!==e.status?zee.openDialog(this.dialog,e):this.snackbarService.showError("apps.apps-list.unavailable-logs-error")}config(e){"skysocks"===e.name||"vpn-server"===e.name?qee.openDialog(this.dialog,e):"skysocks-client"===e.name||"vpn-client"===e.name?Pne.openDialog(this.dialog,e):"skychat"===e.name?this.snackbarService.showError("apps.error"):Rne.openDialog(this.dialog,e)}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredApps){const e=this.showShortList_?Vt.maxShortListElements:Vt.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredApps.length/e),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const i=e*(this.currentPage-1);this.appsToShow=this.filteredApps.slice(i,i+e),this.appsMap=new Map,this.appsToShow.forEach(a=>{this.appsMap.set(a.name,a),this.selections.has(a.name)||this.selections.set(a.name,!1)});const s=[];this.selections.forEach((a,l)=>{this.appsMap.has(l)||s.push(l)}),s.forEach(a=>{this.selections.delete(a)})}else this.appsToShow=null,this.selections=new Map;this.dataSource=this.appsToShow,this.refreshAgain&&(this.refreshAgain=!1,setTimeout(()=>Ct.refreshCurrentDisplayedData(),2e3))}startChangingAppState(e,i){return this.appsService.changeAppState(Ct.getCurrentNodeKey(),e,i).pipe(ke(o=>(null!=o.status&&this.dataSource.forEach(s=>{s.name===e&&(s.status=o.status,s.detailedStatus=o.detailed_status)}),o)))}startChangingAppAutostart(e,i){return this.appsService.changeAppAutostart(Ct.getCurrentNodeKey(),e,i)}changeAppsValRecursively(e,i,o,s=null){if(!e||0===e.length)return setTimeout(()=>Ct.refreshCurrentDisplayedData(),50),this.snackbarService.showWarning("apps.operation-unnecessary"),void(s&&s.close());let a;a=i?this.startChangingAppAutostart(e[e.length-1],o):this.startChangingAppState(e[e.length-1],o),this.operationSubscriptionsGroup.push(a.subscribe(()=>{e.pop(),0===e.length?(s&&s.close(),setTimeout(()=>{this.refreshAgain=!0,Ct.refreshCurrentDisplayedData()},50),this.snackbarService.showDone("apps.operation-completed")):this.changeAppsValRecursively(e,i,o,s)},l=>{l=en(l),setTimeout(()=>{this.refreshAgain=!0,Ct.refreshCurrentDisplayedData()},50),s?s.componentInstance.showDone("confirmation.error-header-text",l.translatableErrorMsg):this.snackbarService.showError(l)}))}}return t.\u0275fac=function(e){return new(e||t)(Y(ll),Y(In),Y(Mr),Y(hn),Y(Dn),Y(To),Y(Ji))},t.\u0275cmp=Ze({type:t,selectors:[["app-node-app-list"]],inputs:{nodePK:"nodePK",nodeIp:"nodeIp",showOfficialApps:"showOfficialApps",showShortList:"showShortList",apps:"apps"},decls:33,vars:35,consts:[[1,"generic-title-container","mt-4.5","d-flex",3,"ngClass"],[1,"title"],["class","uppercase",4,"ngIf"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"options"],[1,"options-container"],["class","small-icon",3,"inline","matTooltip","click",4,"ngIf"],[3,"matMenuTriggerFor",4,"ngIf"],[3,"overlapTrigger"],["selectionMenu","matMenu"],["mat-menu-item","",3,"click"],["mat-menu-item","",3,"disabled","click"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],["class","rounded-elevated-box mt-3",4,"ngIf"],[1,"uppercase"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],["class","item",4,"ngFor","ngForOf"],[1,"transparent-50"],[1,"item"],[4,"ngIf"],[1,"small-icon",3,"inline","matTooltip","click"],[3,"matMenuTriggerFor"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","overflow",3,"ngClass"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table",3,"ngClass"],[1,"sortable-column",3,"matTooltip","click"],[1,"dot-outline-white"],[3,"inline",4,"ngIf"],[1,"sortable-column",3,"click"],[1,"actions"],[4,"ngFor","ngForOf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-md-none",3,"ngClass"],[1,"selectable",3,"click"],[1,"list-item-container"],[1,"left-part"],[1,"right-part"],[3,"inline"],[3,"numberOfElements","linkParts","queryParams",4,"ngIf"],[1,"selection-col"],[3,"checked","change"],[3,"class","matTooltip",4,"ngIf"],["class","red-text",3,"inline","matTooltip",4,"ngIf"],["mat-button","",1,"big-action-button","transparent-button",3,"matTooltip","click"],["target","_blank","rel","noreferrer nofollow noopener","class","skychat-link",3,"href",4,"ngIf"],["mat-button","","class","big-action-button transparent-button",3,"matTooltip","click",4,"ngIf"],[3,"matTooltip"],[1,"red-text",3,"inline","matTooltip"],["target","_blank","rel","noreferrer nofollow noopener",1,"skychat-link",3,"href"],["mat-button","",1,"big-action-button","transparent-button",3,"matTooltip"],[1,"check-part"],[1,"list-row"],[1,"margin-part"],["target","_blank","rel","noreferrer nofollow noopener","class","skychat-link",3,"href","click",4,"ngIf"],["mat-icon-button","",1,"transparent-button",3,"matTooltip","click"],["target","_blank","rel","noreferrer nofollow noopener",1,"skychat-link",3,"href","click"],["mat-icon-button","",1,"transparent-button",3,"matTooltip"],[3,"numberOfElements","linkParts","queryParams"],[1,"box-internal-container"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1),V(2,Nne,3,3,"span",2),V(3,Yne,3,3,"span",2),V(4,jne,5,4,"div",3),C(),D(5,"div",4)(6,"div",5),V(7,zne,3,4,"mat-icon",6),V(8,Une,2,1,"mat-icon",7),D(9,"mat-menu",8,9)(11,"div",10),ye("click",function(){return i.changeAllSelections(!0)}),I(12),R(13,"translate"),C(),D(14,"div",10),ye("click",function(){return i.changeAllSelections(!1)}),I(15),R(16,"translate"),C(),D(17,"div",11),ye("click",function(){return i.changeStateOfSelected(!0)}),I(18),R(19,"translate"),C(),D(20,"div",11),ye("click",function(){return i.changeStateOfSelected(!1)}),I(21),R(22,"translate"),C(),D(23,"div",11),ye("click",function(){return i.changeAutostartOfSelected(!0)}),I(24),R(25,"translate"),C(),D(26,"div",11),ye("click",function(){return i.changeAutostartOfSelected(!1)}),I(27),R(28,"translate"),C()()(),V(29,Wne,1,7,"app-paginator",12),C()(),V(30,die,41,38,"div",13),V(31,pie,7,4,"div",13),V(32,mie,1,7,"app-paginator",12)),2&e&&(w("ngClass",He(33,gie,!i.showShortList_&&i.numberOfPages>1&&i.dataSource)),c(2),w("ngIf",i.showShortList_&&i.showOfficialApps),c(1),w("ngIf",i.showShortList_&&!i.showOfficialApps),c(1),w("ngIf",i.dataFilterer.currentFiltersTexts&&i.dataFilterer.currentFiltersTexts.length>0),c(3),w("ngIf",i.allAppsForType&&i.allAppsForType.length>0),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("overlapTrigger",!1),c(3),ce(" ",H(13,21,"selection.select-all")," "),c(3),ce(" ",H(16,23,"selection.unselect-all")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(19,25,"selection.start-all")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(22,27,"selection.stop-all")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(25,29,"selection.enable-autostart-all")," "),c(2),Ln("disabled",!i.hasSelectedElements()),c(1),ce(" ",H(28,31,"selection.disable-autostart-all")," "),c(2),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource),c(1),w("ngIf",i.dataSource&&i.dataSource.length>0),c(1),w("ngIf",!i.dataSource||0===i.dataSource.length),c(1),w("ngIf",!i.showShortList_&&i.numberOfPages>1&&i.dataSource))},dependencies:[Nn,gi,Ft,Wr,el,Cn,vi,Yd,pa,Hd,fa,Og,Bd,wt],styles:[".actions[_ngcontent-%COMP%]{text-align:right;width:150px}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}.skychat-link[_ngcontent-%COMP%]{color:#f8f9f9;text-decoration:none}.skychat-link[_ngcontent-%COMP%] .big-action-button[_ngcontent-%COMP%]{margin-right:5px}"]}),t})(),_ie=(()=>{class t extends er{ngOnInit(){return this.dataSubscription=Ct.currentNode.subscribe(e=>{this.nodePK=e.localPk,this.apps=e.apps,this.nodeIp=e.ip}),super.ngOnInit()}ngOnDestroy(){this.dataSubscription.unsubscribe()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["app-apps"]],features:[nt],decls:2,vars:10,consts:[[3,"showOfficialApps","apps","showShortList","nodePK","nodeIp"]],template:function(e,i){1&e&&xe(0,"app-node-app-list",0)(1,"app-node-app-list",0),2&e&&(w("showOfficialApps",!0)("apps",i.apps)("showShortList",!0)("nodePK",i.nodePK)("nodeIp",i.nodeIp),c(1),w("showOfficialApps",!1)("apps",i.apps)("showShortList",!0)("nodePK",i.nodePK)("nodeIp",i.nodeIp))},dependencies:[EP]}),t})();function bie(t,n){1&t&&xe(0,"app-transport-list",1),2&t&&w("node",z().node)("showShortList",!1)}let vie=(()=>{class t extends er{ngOnInit(){return this.dataSubscription=Ct.currentNode.subscribe(e=>this.node=e),super.ngOnInit()}ngOnDestroy(){this.dataSubscription.unsubscribe()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["app-all-transports"]],features:[nt],decls:1,vars:1,consts:[[3,"node","showShortList",4,"ngIf"],[3,"node","showShortList"]],template:function(e,i){1&e&&V(0,bie,1,2,"app-transport-list",0),2&e&&w("ngIf",i.node)},dependencies:[Ft,hP]}),t})();function yie(t,n){if(1&t&&xe(0,"app-route-list",1),2&t){const e=z();w("routes",e.routes)("showShortList",!1)("nodePK",e.nodePK)}}let Mie=(()=>{class t extends er{ngOnInit(){return this.dataSubscription=Ct.currentNode.subscribe(e=>{this.nodePK=e.localPk,this.routes=e.routes}),super.ngOnInit()}ngOnDestroy(){this.dataSubscription.unsubscribe()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["app-all-routes"]],features:[nt],decls:1,vars:1,consts:[[3,"routes","showShortList","nodePK",4,"ngIf"],[3,"routes","showShortList","nodePK"]],template:function(e,i){1&e&&V(0,yie,1,3,"app-route-list",0),2&e&&w("ngIf",i.routes)},dependencies:[Ft,pP]}),t})();function wie(t,n){if(1&t&&xe(0,"app-node-app-list",1),2&t){const e=z();w("apps",e.apps)("showShortList",!1)("nodePK",e.nodePK)}}let Cie=(()=>{class t extends er{ngOnInit(){return this.dataSubscription=Ct.currentNode.subscribe(e=>{this.nodePK=e.localPk,this.apps=e.apps}),super.ngOnInit()}ngOnDestroy(){this.dataSubscription.unsubscribe()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["app-all-apps"]],features:[nt],decls:1,vars:1,consts:[[3,"apps","showShortList","nodePK",4,"ngIf"],[3,"apps","showShortList","nodePK"]],template:function(e,i){1&e&&V(0,wie,1,3,"app-node-app-list",0),2&e&&w("ngIf",i.apps)},dependencies:[Ft,EP]}),t})();const xie=["button"],kie=["firstInput"],Sie=function(t){return{"element-disabled":t}};let IP=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o,s,a){this.dialogRef=e,this.data=i,this.formBuilder=o,this.snackbarService=s,this.routeService=a}ngOnInit(){this.form=this.formBuilder.group({min:[this.data.minHops,Gt.compose([Gt.required,Gt.maxLength(3),Gt.pattern("^[0-9]+$")])]}),setTimeout(()=>this.firstInput.nativeElement.focus())}ngOnDestroy(){this.operationSubscription&&this.operationSubscription.unsubscribe()}get disableDismiss(){return!!this.button&&this.button.isLoading}save(){!this.form.valid||this.operationSubscription||(this.button.showLoading(),this.operationSubscription=this.routeService.setMinHops(this.data.nodePk,Number.parseInt(this.form.get("min").value,10)).subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)}))}onSuccess(e){this.dialogRef.close(!0),this.snackbarService.showDone("router-config.done")}onError(e){this.button.showError(),this.operationSubscription=null,e=en(e),this.snackbarService.showError(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(xr),Y(Dn),Y(fP))},t.\u0275cmp=Ze({type:t,selectors:[["app-router-config"]],viewQuery:function(e,i){if(1&e&&(_t(xie,5),_t(kie,5)),2&e){let o;rt(o=ot())&&(i.button=o.first),rt(o=ot())&&(i.firstInput=o.first)}},decls:21,vars:22,consts:[[3,"headline","dialog","disableDismiss"],[1,"info-container"],[3,"formGroup","ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","min","maxlength","3","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"disabled","action"],["button",""]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1),I(3),R(4,"translate"),C(),D(5,"form",2)(6,"mat-form-field")(7,"div",3)(8,"label",4),I(9),R(10,"translate"),C(),xe(11,"input",5,6),C(),D(13,"mat-error")(14,"span"),I(15),R(16,"translate"),C()()()(),D(17,"app-button",7,8),ye("action",function(){return i.save()}),I(19),R(20,"translate"),C()()),2&e&&(w("headline",H(1,10,"router-config.title"))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(3),se(H(4,12,"router-config.info")),c(2),w("formGroup",i.form)("ngClass",He(20,Sie,i.disableDismiss)),c(4),se(H(10,14,"router-config.min-hops")),c(6),se(H(16,16,"router-config.min-hops-error")),c(2),w("disabled",!i.form.valid),c(2),ce(" ",H(20,18,"router-config.save-config-button")," "))},dependencies:[Nn,zi,Bi,Vi,ji,Cr,ii,Ei,ar,sl,kr,Ui,ei,wt],styles:[".info-container[_ngcontent-%COMP%]{margin-bottom:10px}"]}),t})();const Die=["button"],Tie=["firstInput"],Lie=function(t){return{"element-disabled":t}};let Eie=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o,s,a,l){this.dialogRef=e,this.data=i,this.formBuilder=o,this.snackbarService=s,this.nodeService=a,this.dialog=l}ngOnInit(){this.form=this.formBuilder.group({address:[this.data.currentAddress,Gt.compose([Gt.minLength(20),Gt.maxLength(40)])]}),setTimeout(()=>this.firstInput.nativeElement.focus())}ngOnDestroy(){this.operationSubscription&&this.operationSubscription.unsubscribe()}get disableDismiss(){return!!this.button&&this.button.isLoading}startSaving(){if(this.form.valid&&!this.operationSubscription)if(this.form.get("address").value)this.finishSaving();else{const i=Jt.createConfirmationDialog(this.dialog,"rewards-address-config.empty-warning");i.componentInstance.operationAccepted.subscribe(()=>{i.componentInstance.closeModal(),this.finishSaving()})}}finishSaving(){this.button.showLoading();const e=this.form.get("address").value;let i=this.nodeService.setRewardsAddress(this.data.nodePk,e);e||(i=this.nodeService.deleteRewardsAddress(this.data.nodePk)),this.operationSubscription=i.subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)})}onSuccess(e){this.dialogRef.close(!0),this.snackbarService.showDone("rewards-address-config.done")}onError(e){this.button.showError(),this.operationSubscription=null,e=en(e),this.snackbarService.showError(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(xr),Y(Dn),Y(ua),Y(In))},t.\u0275cmp=Ze({type:t,selectors:[["app-rewards-address-config"]],viewQuery:function(e,i){if(1&e&&(_t(Die,5),_t(Tie,5)),2&e){let o;rt(o=ot())&&(i.button=o.first),rt(o=ot())&&(i.firstInput=o.first)}},decls:25,vars:25,consts:[[3,"headline","dialog","disableDismiss"],[1,"info-container"],["href","https://github.com/skycoin/skywire/blob/master/mainnet_rules.md","target","_blank","rel","noreferrer nofollow noopener"],[3,"formGroup","ngClass"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","address","maxlength","40","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"disabled","action"],["button",""]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"div",1)(3,"span"),I(4),R(5,"translate"),C(),D(6,"a",2),I(7),R(8,"translate"),C()(),D(9,"form",3)(10,"mat-form-field")(11,"div",4)(12,"label",5),I(13),R(14,"translate"),C(),xe(15,"input",6,7),C(),D(17,"mat-error")(18,"span"),I(19),R(20,"translate"),C()()()(),D(21,"app-button",8,9),ye("action",function(){return i.startSaving()}),I(23),R(24,"translate"),C()()),2&e&&(w("headline",H(1,11,"rewards-address-config.title"))("dialog",i.dialogRef)("disableDismiss",i.disableDismiss),c(4),ce("",H(5,13,"rewards-address-config.info")," "),c(3),ce(" ",H(8,15,"rewards-address-config.more-info-link")," "),c(2),w("formGroup",i.form)("ngClass",He(23,Lie,i.disableDismiss)),c(4),se(H(14,17,"rewards-address-config.address")),c(6),se(H(20,19,"rewards-address-config.address-error")),c(2),w("disabled",!i.form.valid),c(2),ce(" ",H(24,21,"rewards-address-config.save-config-button")," "))},dependencies:[Nn,zi,Bi,Vi,ji,Cr,ii,Ei,ar,sl,kr,Ui,ei,wt],styles:[".info-container[_ngcontent-%COMP%]{margin-bottom:10px}"]}),t})(),Iie=(()=>{class t{constructor(e){this.clipboardService=e,this.copyEvent=new ht,this.errorEvent=new ht,this.value=""}ngOnDestroy(){this.copyEvent.complete(),this.errorEvent.complete()}copyToClipboard(){this.clipboardService.copy(this.value)?this.copyEvent.emit(this.value):this.errorEvent.emit()}}return t.\u0275fac=function(e){return new(e||t)(Y(ef))},t.\u0275dir=Ke({type:t,selectors:[["","clipboard",""]],hostBindings:function(e,i){1&e&&ye("click",function(){return i.copyToClipboard()})},inputs:{value:["clipboard","value"]},outputs:{copyEvent:"copyEvent",errorEvent:"errorEvent"}}),t})();function Pie(t,n){if(1&t&&(Ue(0),xe(1,"app-truncated-text",3),D(2,"mat-icon",4),I(3,"filter_none"),C(),We()),2&t){const e=z();c(1),w("short",e.short)("showTooltip",!1)("shortTextLength",e.shortTextLength)("text",e.text),c(1),w("inline",!0)}}function Oie(t,n){if(1&t&&(D(0,"div",5)(1,"div",6),I(2),C(),D(3,"mat-icon",4),I(4,"filter_none"),C()()),2&t){const e=z();c(2),se(e.text),c(1),w("inline",!0)}}const Aie=function(t){return{text:t}},Fie=function(){return{"tooltip-word-break":!0}};let W1=(()=>{class t{constructor(e){this.snackbarService=e,this.short=!1,this.shortSimple=!1,this.shortTextLength=5}onCopyToClipboardClicked(){this.snackbarService.showDone("copy.copied")}}return t.\u0275fac=function(e){return new(e||t)(Y(Dn))},t.\u0275cmp=Ze({type:t,selectors:[["app-copy-to-clipboard-text"]],inputs:{text:"text",short:"short",shortSimple:"shortSimple",shortTextLength:"shortTextLength"},decls:4,vars:11,consts:[[1,"wrapper","highlight-internal-icon",3,"clipboard","matTooltip","matTooltipClass","copyEvent"],[4,"ngIf"],["class","d-flex",4,"ngIf"],[1,"text-margin",3,"short","showTooltip","shortTextLength","text"],[3,"inline"],[1,"d-flex"],[1,"single-line","text-margin"]],template:function(e,i){1&e&&(D(0,"div",0),ye("copyEvent",function(){return i.onCopyToClipboardClicked()}),R(1,"translate"),V(2,Pie,4,5,"ng-container",1),V(3,Oie,5,2,"div",2),C()),2&e&&(w("clipboard",i.text)("matTooltip",kt(1,5,i.short||i.shortSimple?"copy.tooltip-with-text":"copy.tooltip",He(8,Aie,i.text)))("matTooltipClass",qn(10,Fie)),c(2),w("ngIf",!i.shortSimple),c(1),w("ngIf",i.shortSimple))},dependencies:[Ft,Cn,vi,Iie,BI,wt],styles:['.cursor-pointer[_ngcontent-%COMP%], .highlight-internal-icon[_ngcontent-%COMP%]{cursor:pointer}.reactivate-mouse[_ngcontent-%COMP%], .wrapper[_ngcontent-%COMP%]{touch-action:initial!important;-webkit-user-select:initial!important;user-select:initial!important;-webkit-user-drag:auto!important;-webkit-tap-highlight-color:initial!important}.mouse-disabled[_ngcontent-%COMP%]{pointer-events:none}.clearfix[_ngcontent-%COMP%]:after{content:"";display:block;clear:both}.mt-4\\.5[_ngcontent-%COMP%]{margin-top:2rem!important}.highlight-internal-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{opacity:.5}.highlight-internal-icon[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{opacity:.8}.transparent-button[_ngcontent-%COMP%]{opacity:.5}.transparent-button[_ngcontent-%COMP%]:hover{opacity:1}.subtle-transparent-button[_ngcontent-%COMP%]{opacity:.85}.subtle-transparent-button[_ngcontent-%COMP%]:hover{opacity:1}@media (max-width: 767px),(min-width: 992px) and (max-width: 1299px){.small-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}@media (max-width: 767px){.full-node-list-margins[_ngcontent-%COMP%]{padding:0!important}}.wrapper[_ngcontent-%COMP%]{display:inline}.wrapper[_ngcontent-%COMP%] .text-margin[_ngcontent-%COMP%]{margin-right:5px}.wrapper[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:.6rem;-webkit-user-select:none;user-select:none;flex-shrink:0;display:inline!important}']}),t})();var Rie=N(6149);const Nie=["chart"];let $1=(()=>{class t{constructor(e){this.height=100,this.animated=!1,this.min=void 0,this.max=void 0,this.differ=e.find([]).create(null)}ngAfterViewInit(){this.chart=new Rie.Chart(this.chartElement.nativeElement,{type:"line",data:{labels:Array.from(Array(this.data.length).keys()),datasets:[{data:this.data,backgroundColor:["rgba(10, 15, 22, 0.4)"],borderColor:["rgba(10, 15, 22, 0.4)"],borderWidth:1}]},options:{maintainAspectRatio:!1,events:[],legend:{display:!1},tooltips:{enabled:!1},scales:{yAxes:[{display:!1,ticks:{suggestedMin:0}}],xAxes:[{display:!1}]},elements:{point:{radius:0}},layout:{padding:{left:0,right:0,top:t.topInternalMargin,bottom:0}}}}),void 0!==this.min&&void 0!==this.max&&(this.updateMinAndMax(),this.chart.update(0))}ngDoCheck(){this.differ.diff(this.data)&&this.chart&&(void 0!==this.min&&void 0!==this.max&&this.updateMinAndMax(),this.animated?this.chart.update():this.chart.update(0))}ngOnDestroy(){this.chart&&this.chart.destroy()}updateMinAndMax(){this.chart.options.scales={yAxes:[{display:!1,ticks:{min:this.min,max:this.max}}],xAxes:[{display:!1}]}}}return t.topInternalMargin=5,t.\u0275fac=function(e){return new(e||t)(Y(Ku))},t.\u0275cmp=Ze({type:t,selectors:[["app-line-chart"]],viewQuery:function(e,i){if(1&e&&_t(Nie,5),2&e){let o;rt(o=ot())&&(i.chartElement=o.first)}},inputs:{data:"data",height:"height",animated:"animated",min:"min",max:"max"},decls:3,vars:2,consts:[[1,"chart-container"],["chart",""]],template:function(e,i){1&e&&(D(0,"div",0),xe(1,"canvas",null,1),C()),2&e&&di("height: "+i.height+"px;")},styles:[".chart-container[_ngcontent-%COMP%]{position:relative;width:100%;overflow:hidden;border-radius:10px}"]}),t})();const PP=function(){return{showValue:!0}},OP=function(){return{showUnit:!0}};function Yie(t,n){if(1&t&&(D(0,"div",1),xe(1,"app-line-chart",2),D(2,"div",3)(3,"span",4),I(4),R(5,"translate"),C(),D(6,"span",5)(7,"span",6),I(8),R(9,"autoScale"),C(),D(10,"span",7),I(11),R(12,"autoScale"),C()()()()),2&t){const e=z();c(1),w("data",e.trafficData.sentHistory),c(3),se(H(5,4,"common.uploaded")),c(4),se(kt(9,6,e.trafficData.totalSent,qn(12,PP))),c(3),se(kt(12,9,e.trafficData.totalSent,qn(13,OP)))}}function Hie(t,n){if(1&t&&(D(0,"div",1),xe(1,"app-line-chart",2),D(2,"div",3)(3,"span",4),I(4),R(5,"translate"),C(),D(6,"span",5)(7,"span",6),I(8),R(9,"autoScale"),C(),D(10,"span",7),I(11),R(12,"autoScale"),C()()()()),2&t){const e=z();c(1),w("data",e.trafficData.receivedHistory),c(3),se(H(5,4,"common.downloaded")),c(4),se(kt(9,6,e.trafficData.totalReceived,qn(12,PP))),c(3),se(kt(12,9,e.trafficData.totalReceived,qn(13,OP)))}}let Bie=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["app-charts"]],inputs:{trafficData:"trafficData"},decls:2,vars:2,consts:[["class","small-rounded-elevated-box chart",4,"ngIf"],[1,"small-rounded-elevated-box","chart"],[3,"data"],[1,"info"],[1,"text"],[1,"rate"],[1,"value"],[1,"unit"]],template:function(e,i){1&e&&(V(0,Yie,13,14,"div",0),V(1,Hie,13,14,"div",0)),2&e&&(w("ngIf",i.trafficData),c(1),w("ngIf",i.trafficData))},dependencies:[Ft,$1,wt,sf],styles:[".chart[_ngcontent-%COMP%]{position:relative;margin-bottom:20px}.chart[_ngcontent-%COMP%]:last-child{margin-bottom:10px}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{position:absolute;bottom:0;left:0;display:flex;justify-content:space-between;align-items:flex-end;padding:10px;width:100%}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{color:#f8f9f9}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] span.text[_ngcontent-%COMP%]{font-size:.8rem;text-transform:uppercase;font-weight:700}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] span.rate[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:700}.chart[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] span.rate[_ngcontent-%COMP%] .unit[_ngcontent-%COMP%]{font-size:.8rem;padding-left:5px}"]}),t})();function Vie(t,n){if(1&t&&(D(0,"span",4)(1,"span",5),I(2),R(3,"translate"),C(),xe(4,"app-copy-to-clipboard-text",9),C()),2&t){const e=z(2);c(2),ce("",H(3,2,"node.details.node-info.public-ip")," "),c(2),Ln("text",e.node.publicIp)}}function jie(t,n){if(1&t&&(D(0,"span",4)(1,"span",5),I(2),R(3,"translate"),C(),xe(4,"app-copy-to-clipboard-text",9),C()),2&t){const e=z(2);c(2),ce("",H(3,2,"node.details.node-info.ip")," "),c(2),Ln("text",e.node.ip)}}function zie(t,n){if(1&t&&(Ue(0),xe(1,"app-copy-to-clipboard-text",9),We()),2&t){const e=z(2);c(1),Ln("text",e.node.dmsgServerPk)}}function Uie(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),ce(" ",H(2,1,"node.details.node-info.no-dmsg-server")," "))}function Wie(t,n){if(1&t&&(D(0,"span",4)(1,"span",5),I(2),R(3,"translate"),C(),I(4),C()),2&t){const e=z(2);c(2),ce("",H(3,2,"node.details.node-info.skybian-version")," "),c(2),ce(" ",e.node.skybianBuildVersion," ")}}const G1=function(t){return{time:t}};function $ie(t,n){if(1&t&&(D(0,"mat-icon",16),R(1,"translate"),I(2," info "),C()),2&t){const e=z(2);w("inline",!0)("matTooltip",kt(1,2,"node.details.node-info.time.minutes",He(5,G1,e.timeOnline.totalMinutes)))}}function Gie(t,n){if(1&t&&(Ue(0),xe(1,"app-copy-to-clipboard-text",18),D(2,"a",19)(3,"mat-icon",20),R(4,"translate"),I(5," open_in_browser "),C()(),We()),2&t){const e=z(2);c(1),Ln("text",e.node.rewardsAddress),c(1),w("href","https://explorer.skycoin.com/app/address/"+e.node.rewardsAddress,Vo),c(1),w("inline",!0)("matTooltip",H(4,4,"node.details.rewards-info.open-in-explorer"))}}function qie(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),D(3,"mat-icon",16),R(4,"translate"),I(5,"info"),C(),We()),2&t&&(c(1),ce(" ",H(2,3,"node.details.rewards-info.not-registered")," "),c(2),w("inline",!0)("matTooltip",H(4,5,"node.details.rewards-info.not-registered-info")))}function Kie(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),ce(" ",H(2,1,"node.details.rewards-info.change-address-button")," "))}function Zie(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),ce(" ",H(2,1,"node.details.rewards-info.set-address-button")," "))}function Xie(t,n){if(1&t){const e=et();D(0,"div",1)(1,"div",2)(2,"span",3),I(3),R(4,"translate"),C(),D(5,"span",4)(6,"span",5),I(7),R(8,"translate"),C(),D(9,"span",6),ye("click",function(){return Pe(e),Oe(z().showEditLabelDialog())}),D(10,"span",7),I(11),C(),D(12,"mat-icon",8),I(13,"edit"),C()()(),D(14,"span",4)(15,"span",5),I(16),R(17,"translate"),C(),xe(18,"app-copy-to-clipboard-text",9),C(),D(19,"span",4)(20,"span",5),I(21),R(22,"translate"),C(),I(23),R(24,"translate"),C(),V(25,Vie,5,4,"span",10),V(26,jie,5,4,"span",10),D(27,"span",4)(28,"span",5),I(29),R(30,"translate"),C(),V(31,zie,2,1,"ng-container",11),V(32,Uie,3,3,"ng-container",11),C(),D(33,"span",4)(34,"span",5),I(35),R(36,"translate"),C(),I(37),R(38,"translate"),C(),D(39,"span",4)(40,"span",5),I(41),R(42,"translate"),C(),I(43),R(44,"translate"),C(),D(45,"span",4)(46,"span",5),I(47),R(48,"translate"),C(),I(49),R(50,"translate"),C(),V(51,Wie,5,4,"span",10),D(52,"span",4)(53,"span",5),I(54),R(55,"translate"),C(),I(56),R(57,"translate"),V(58,$ie,3,7,"mat-icon",12),C()(),xe(59,"div",13),D(60,"div",2)(61,"span",3),I(62),R(63,"translate"),C(),D(64,"span",4)(65,"span",5),I(66),R(67,"translate"),C(),V(68,Gie,6,6,"ng-container",11),V(69,qie,6,7,"ng-container",11),C(),D(70,"div",14)(71,"app-button",15),ye("action",function(){return Pe(e),Oe(z().changeRewardsAddressConfig())}),V(72,Kie,3,3,"ng-container",11),V(73,Zie,3,3,"ng-container",11),C()()(),xe(74,"div",13),D(75,"div",2)(76,"span",3),I(77),R(78,"translate"),C(),D(79,"span",4)(80,"span",5),I(81),R(82,"translate"),C(),I(83),R(84,"translate"),D(85,"mat-icon",16),R(86,"translate"),I(87,"info"),C()(),D(88,"div",14)(89,"app-button",15),ye("action",function(){return Pe(e),Oe(z().changeTransportsConfig())}),I(90),R(91,"translate"),C()()(),xe(92,"div",13),D(93,"div",2)(94,"span",3),I(95),R(96,"translate"),C(),D(97,"span",4)(98,"span",5),I(99),R(100,"translate"),C(),I(101),C(),D(102,"div",14)(103,"app-button",15),ye("action",function(){return Pe(e),Oe(z().changeRouterConfig())}),I(104),R(105,"translate"),C()()(),xe(106,"div",13),D(107,"div",2)(108,"span",3),I(109),R(110,"translate"),C(),D(111,"span",4)(112,"span",5),I(113),R(114,"translate"),C(),xe(115,"i"),I(116),R(117,"translate"),C()(),xe(118,"div",13),D(119,"div",2)(120,"span",3),I(121),R(122,"translate"),C(),xe(123,"app-charts",17),C()()}if(2&t){const e=z();c(3),se(H(4,49,"node.details.node-info.title")),c(4),ce("",H(8,51,"node.details.node-info.label")," "),c(4),se(e.node.label),c(1),w("inline",!0),c(4),ce("",H(17,53,"node.details.node-info.public-key")," "),c(2),Ln("text",e.node.localPk),c(3),ce("",H(22,55,"node.details.node-info.symmetic-nat")," "),c(2),ce(" ",H(24,57,e.node.isSymmeticNat?"common.yes":"common.no")," "),c(2),w("ngIf",!e.node.isSymmeticNat),c(1),w("ngIf",e.node.ip),c(3),ce("",H(30,59,"node.details.node-info.dmsg-server")," "),c(2),w("ngIf",e.hasDmsgServer()),c(1),w("ngIf",!e.hasDmsgServer()),c(3),ce("",H(36,61,"node.details.node-info.ping")," "),c(2),ce(" ",kt(38,63,"common.time-in-ms",He(107,G1,e.node.roundTripPing))," "),c(4),ce("",H(42,66,"node.details.node-info.node-version")," "),c(2),ce(" ",e.node.version?e.node.version:H(44,68,"common.unknown")," "),c(4),ce("",H(48,70,"node.details.node-info.build-type")," "),c(2),ce(" ",e.node.buildTag?e.node.buildTag:H(50,72,"node.details.node-info.unknown-build")," "),c(2),w("ngIf",e.node.skybianBuildVersion),c(3),ce("",H(55,74,"node.details.node-info.time.title")," "),c(2),ce(" ",kt(57,76,"node.details.node-info.time."+e.timeOnline.translationVarName,He(109,G1,e.timeOnline.elapsedTime))," "),c(2),w("ngIf",e.timeOnline.totalMinutes>60),c(4),se(H(63,79,"node.details.rewards-info.title")),c(4),ce("",H(67,81,"node.details.rewards-info.rewards-address")," "),c(2),w("ngIf",e.node.rewardsAddress),c(1),w("ngIf",!e.node.rewardsAddress),c(2),w("forDarkBackground",!0),c(1),w("ngIf",e.node.rewardsAddress),c(1),w("ngIf",!e.node.rewardsAddress),c(4),se(H(78,83,"node.details.transports-info.title")),c(4),ce("",H(82,85,"node.details.transports-info.autoconnect")," "),c(2),ce(" ",H(84,87,"node.details.transports-info."+(e.node.autoconnectTransports?"enabled":"disabled"))," "),c(2),w("inline",!0)("matTooltip",H(86,89,"node.details.transports-info.autoconnect-info")),c(4),w("forDarkBackground",!0),c(1),ce(" ",H(91,91,"node.details.transports-info."+(e.node.autoconnectTransports?"disable":"enable")+"-button")," "),c(5),se(H(96,93,"node.details.router-info.title")),c(4),ce("",H(100,95,"node.details.router-info.min-hops")," "),c(2),ce(" ",e.node.minHops," "),c(2),w("forDarkBackground",!0),c(1),ce(" ",H(105,97,"node.details.router-info.change-config-button")," "),c(5),ce("",H(110,99,"node.details.node-health.title")," "),c(4),se(H(114,101,"node.details.node-health.uptime-tracker")),c(2),eo(e.nodeHealthClass),c(1),ce(" ",H(117,103,e.nodeHealthText)," "),c(5),se(H(122,105,"node.details.node-traffic-data")),c(2),w("trafficData",e.trafficData)}}let AP=(()=>{class t{set nodeInfo(e){this.node=e,this.timeOnline=Pg.getElapsedTime(e.secondsOnline),e.health&&e.health.servicesHealth===ro.Healthy?(this.nodeHealthText="node.statuses.online",this.nodeHealthClass="dot-green"):e.health&&e.health.servicesHealth===ro.Unhealthy?(this.nodeHealthText="node.statuses.partially-online",this.nodeHealthClass="dot-yellow blinking"):e.health&&e.health.servicesHealth===ro.Connecting?(this.nodeHealthText="node.statuses.connecting",this.nodeHealthClass="dot-outline-gray"):(this.nodeHealthText="node.statuses.unknown",this.nodeHealthClass="dot-outline-gray")}constructor(e,i,o,s){this.dialog=e,this.storageService=i,this.transportService=o,this.snackbarService=s}ngOnDestroy(){this.autoconnectSubscription&&this.autoconnectSubscription.unsubscribe()}showEditLabelDialog(){let e=this.storageService.getLabelInfo(this.node.localPk);e||(e={id:this.node.localPk,label:"",identifiedElementType:Xi.Node}),N1.openDialog(this.dialog,e).afterClosed().subscribe(i=>{i&&Ct.refreshCurrentDisplayedData()})}changeRewardsAddressConfig(){Eie.openDialog(this.dialog,{nodePk:this.node.localPk,currentAddress:this.node.rewardsAddress}).afterClosed().subscribe(i=>{i&&Ct.refreshCurrentDisplayedData()})}changeRouterConfig(){IP.openDialog(this.dialog,{nodePk:this.node.localPk,minHops:this.node.minHops}).afterClosed().subscribe(i=>{i&&Ct.refreshCurrentDisplayedData()})}hasDmsgServer(){return!(!this.node||0===this.node.dmsgServerPk.replace(/0/g,"").length)}changeTransportsConfig(){const e=Jt.createConfirmationDialog(this.dialog,this.node.autoconnectTransports?"node.details.transports-info.disable-confirmation":"node.details.transports-info.enable-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.showProcessing();const i=this.transportService.changeAutoconnectSetting(this.node.localPk,!this.node.autoconnectTransports);this.autoconnectSubscription=i.subscribe(()=>{e.close(),this.snackbarService.showDone(this.node.autoconnectTransports?"node.details.transports-info.disable-done":"node.details.transports-info.enable-done"),Ct.refreshCurrentDisplayedData()},o=>{o=en(o),e.componentInstance.showDone("confirmation.error-header-text",o.translatableErrorMsg)})})}}return t.\u0275fac=function(e){return new(e||t)(Y(In),Y(Ji),Y(V1),Y(Dn))},t.\u0275cmp=Ze({type:t,selectors:[["app-node-info-content"]],inputs:{nodeInfo:"nodeInfo",trafficData:"trafficData"},decls:1,vars:1,consts:[["class","font-smaller d-flex flex-column mt-4.5",4,"ngIf"],[1,"font-smaller","d-flex","flex-column","mt-4.5"],[1,"d-flex","flex-column"],[1,"section-title"],[1,"info-line"],[1,"title"],[1,"highlight-internal-icon",3,"click"],[1,"text-with-small-right-margin"],[1,"edit-icon",3,"inline"],[3,"text"],["class","info-line",4,"ngIf"],[4,"ngIf"],[3,"inline","matTooltip",4,"ngIf"],[1,"separator"],[1,"config-button-container"],["color","primary",3,"forDarkBackground","action"],[3,"inline","matTooltip"],[1,"d-flex","flex-column","justify-content-end","mt-3",3,"trafficData"],[1,"text-with-right-margin",3,"text"],["target","_blank","rel","noreferrer nofollow noopener",3,"href"],[1,"link-icon","transparent-button",3,"inline","matTooltip"]],template:function(e,i){1&e&&V(0,Xie,124,111,"div",0),2&e&&w("ngIf",i.node)},dependencies:[Ft,Cn,vi,W1,Ui,Bie,wt],styles:[".section-title[_ngcontent-%COMP%]{font-size:1rem;font-weight:700;text-transform:uppercase}.info-line[_ngcontent-%COMP%]{word-break:break-word;margin-top:7px}.info-line[_ngcontent-%COMP%] .text-with-right-margin[_ngcontent-%COMP%]{margin-right:5px}.info-line[_ngcontent-%COMP%] .text-with-small-right-margin[_ngcontent-%COMP%]{margin-right:3px}.info-line[_ngcontent-%COMP%] .link-icon[_ngcontent-%COMP%]{font-size:20px;line-height:1;color:#fff!important;cursor:pointer}.info-line[_ngcontent-%COMP%] .edit-icon[_ngcontent-%COMP%]{display:inline!important}.info-line[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:3px;-webkit-user-select:none;user-select:none}.info-line[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-left:7px}.info-line[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{opacity:.75}.separator[_ngcontent-%COMP%]{width:100%;height:0px;margin:1rem 0;border-top:1px solid rgba(255,255,255,.15)}.config-button-container[_ngcontent-%COMP%]{margin-top:10px;margin-left:-4px}"]}),t})(),Jie=(()=>{class t extends er{ngOnInit(){return this.nodeSubscription=Ct.currentNode.subscribe(e=>{this.node=e}),this.trafficDataSubscription=Ct.currentTrafficData.subscribe(e=>{this.trafficData=e}),super.ngOnInit()}ngOnDestroy(){this.nodeSubscription.unsubscribe(),this.trafficDataSubscription.unsubscribe()}}return t.\u0275fac=function(){let n;return function(i){return(n||(n=bn(t)))(i||t)}}(),t.\u0275cmp=Ze({type:t,selectors:[["app-node-info"]],features:[nt],decls:1,vars:2,consts:[[3,"nodeInfo","trafficData"]],template:function(e,i){1&e&&xe(0,"app-node-info-content",0),2&e&&w("nodeInfo",i.node)("trafficData",i.trafficData)},dependencies:[AP]}),t})();const Qie=function(){return["settings.title","labels.title"]};let ere=(()=>{class t{constructor(e){this.router=e,this.tabsData=[],this.returnButtonText="settings.title",this.tabsData=[{icon:"view_headline",label:"labels.list-title",linkParts:[]}]}performAction(e){null===e&&this.router.navigate(["settings"])}}return t.\u0275fac=function(e){return new(e||t)(Y(hn))},t.\u0275cmp=Ze({type:t,selectors:[["app-all-labels"]],decls:5,vars:6,consts:[[1,"row"],[1,"col-12"],[3,"titleParts","tabsData","showUpdateButton","returnText","optionSelected"],[1,"content","col-12"],[3,"showShortList"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1)(2,"app-top-bar",2),ye("optionSelected",function(s){return i.performAction(s)}),C()(),D(3,"div",3),xe(4,"app-label-list",4),C()()),2&e&&(c(2),w("titleParts",qn(5,Qie))("tabsData",i.tabsData)("showUpdateButton",!1)("returnText",i.returnButtonText),c(2),w("showShortList",!1))},dependencies:[sc,dP]}),t})();const tre=["firstInput"];function nre(t,n){1&t&&(Ue(0),D(1,"span"),I(2),R(3,"translate"),C(),We()),2&t&&(c(2),se(H(3,1,"vpn.server-list.add-server-dialog.pk-length-error")))}function ire(t,n){1&t&&(D(0,"span"),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"vpn.server-list.add-server-dialog.pk-chars-error")))}let rre=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.mediumModalWidth,e.open(t,o)}constructor(e,i,o,s,a,l,d,_){this.dialogRef=e,this.data=i,this.formBuilder=o,this.dialog=s,this.router=a,this.vpnClientService=l,this.vpnSavedDataService=d,this.snackbarService=_}ngOnInit(){this.form=this.formBuilder.group({pk:["",Gt.compose([Gt.required,Gt.minLength(66),Gt.maxLength(66),Gt.pattern("^[0-9a-fA-F]+$")])],password:[""],name:[""],note:[""]}),setTimeout(()=>this.firstInput.nativeElement.focus())}process(){if(!this.form.valid)return;const e={pk:this.form.get("pk").value,name:this.form.get("name").value,note:this.form.get("note").value};lr.processServerChange(this.router,this.vpnClientService,this.vpnSavedDataService,this.snackbarService,this.dialog,this.dialogRef,this.data,null,null,e,this.form.get("password").value)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(xr),Y(In),Y(hn),Y(oc),Y(rc),Y(Dn))},t.\u0275cmp=Ze({type:t,selectors:[["app-add-vpn-server"]],viewQuery:function(e,i){if(1&e&&_t(tre,5),2&e){let o;rt(o=ot())&&(i.firstInput=o.first)}},decls:35,vars:23,consts:[[3,"headline","dialog"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","pk","maxlength","66","matInput",""],["firstInput",""],[4,"ngIf","ngIfElse"],["hexError",""],["formControlName","password","type","password","matInput",""],["formControlName","name","maxlength","100","matInput",""],["formControlName","note","maxlength","100","matInput",""],["color","primary",1,"float-right",3,"disabled","action"]],template:function(e,i){if(1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C(),D(10,"mat-error"),V(11,nre,4,3,"ng-container",6),C(),V(12,ire,3,3,"ng-template",null,7,Es),C(),D(14,"mat-form-field")(15,"div",2)(16,"label",3),I(17),R(18,"translate"),C(),xe(19,"input",8),C()(),D(20,"mat-form-field")(21,"div",2)(22,"label",3),I(23),R(24,"translate"),C(),xe(25,"input",9),C()(),D(26,"mat-form-field")(27,"div",2)(28,"label",3),I(29),R(30,"translate"),C(),xe(31,"input",10),C()()(),D(32,"app-button",11),ye("action",function(){return i.process()}),I(33),R(34,"translate"),C()()),2&e){const o=ci(13);w("headline",H(1,11,"vpn.server-list.add-server-dialog.title"))("dialog",i.dialogRef),c(2),w("formGroup",i.form),c(4),se(H(7,13,"vpn.server-list.add-server-dialog.pk-label")),c(5),w("ngIf",!i.form.get("pk").hasError("pattern"))("ngIfElse",o),c(6),se(H(18,15,"vpn.server-list.add-server-dialog.password-label")),c(6),se(H(24,17,"vpn.server-list.add-server-dialog.name-label")),c(6),se(H(30,19,"vpn.server-list.add-server-dialog.note-label")),c(3),w("disabled",!i.form.valid),c(1),ce(" ",H(34,21,"vpn.server-list.add-server-dialog.use-server-button")," ")}},dependencies:[Ft,zi,Bi,Vi,ji,Cr,ii,Ei,ar,sl,kr,Ui,ei,wt]}),t})();class ore{constructor(){this.countryCode="ZZ"}}let sre=(()=>{class t{constructor(e){this.http=e,this.discoveryServiceUrl="https://sd.skycoin.com/api/services?type=vpn"}getServers(){return this.servers?$e(this.servers):this.http.get(this.discoveryServiceUrl).pipe(rf(e=>e.pipe(Ti(4e3))),ke(e=>{const i=[];return e&&e.forEach(o=>{const s=new ore,a=o.address.split(":");2===a.length&&(s.pk=a[0],s.location="",o.geo&&(o.geo.country&&(s.countryCode=o.geo.country),o.geo.region&&(s.location=o.geo.region)),s.name=a[0],s.note="",i.push(s))}),this.servers=i,i}))}}return t.\u0275fac=function(e){return new(e||t)(we(Vl))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();function are(t,n){1&t&&Jo(0)}const FP=function(){return["vpn.title"]};function lre(t,n){if(1&t&&(D(0,"div",3)(1,"div",4),xe(2,"app-top-bar",5),D(3,"div",6)(4,"div",7)(5,"div",8),V(6,are,1,0,"ng-container",9),C()()()(),xe(7,"app-loading-indicator",10),C()),2&t){const e=z(),i=ci(2);c(2),w("titleParts",qn(6,FP))("tabsData",e.tabsData)("selectedTabIndex",1)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk),c(4),w("ngTemplateOutlet",i)}}function cre(t,n){1&t&&(D(0,"div",22)(1,"span"),I(2),R(3,"translate"),C()()),2&t&&(c(2),se(H(3,1,"vpn.server-list.tabs.public")))}const Rg=function(t,n){return["/vpn",t,"servers",n,1]};function dre(t,n){if(1&t&&(D(0,"a",23)(1,"span"),I(2),R(3,"translate"),C()()),2&t){const e=z(2);w("routerLink",mn(4,Rg,e.currentLocalPk,e.lists.Public)),c(2),se(H(3,2,"vpn.server-list.tabs.public"))}}function ure(t,n){1&t&&(D(0,"div",22)(1,"span"),I(2),R(3,"translate"),C()()),2&t&&(c(2),se(H(3,1,"vpn.server-list.tabs.history")))}function hre(t,n){if(1&t&&(D(0,"a",23)(1,"span"),I(2),R(3,"translate"),C()()),2&t){const e=z(2);w("routerLink",mn(4,Rg,e.currentLocalPk,e.lists.History)),c(2),se(H(3,2,"vpn.server-list.tabs.history"))}}function fre(t,n){1&t&&(D(0,"div",22)(1,"span"),I(2),R(3,"translate"),C()()),2&t&&(c(2),se(H(3,1,"vpn.server-list.tabs.favorites")))}function pre(t,n){if(1&t&&(D(0,"a",23)(1,"span"),I(2),R(3,"translate"),C()()),2&t){const e=z(2);w("routerLink",mn(4,Rg,e.currentLocalPk,e.lists.Favorites)),c(2),se(H(3,2,"vpn.server-list.tabs.favorites"))}}function mre(t,n){1&t&&(D(0,"div",22)(1,"span"),I(2),R(3,"translate"),C()()),2&t&&(c(2),se(H(3,1,"vpn.server-list.tabs.blocked")))}function gre(t,n){if(1&t&&(D(0,"a",23)(1,"span"),I(2),R(3,"translate"),C()()),2&t){const e=z(2);w("routerLink",mn(4,Rg,e.currentLocalPk,e.lists.Blocked)),c(2),se(H(3,2,"vpn.server-list.tabs.blocked"))}}function _re(t,n){1&t&&xe(0,"br")}function bre(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z().$implicit;c(1),se(H(2,1,e.translatableValue))}}function vre(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),se(e.value)}}function yre(t,n){if(1&t&&(D(0,"div",28)(1,"span"),I(2),R(3,"translate"),C(),V(4,bre,3,3,"ng-container",21),V(5,vre,2,1,"ng-container",21),C()),2&t){const e=n.$implicit;c(2),ce("",H(3,3,e.filterName),": "),c(2),w("ngIf",e.translatableValue),c(1),w("ngIf",e.value)}}function Mre(t,n){if(1&t){const e=et();D(0,"div",25),ye("click",function(){return Pe(e),Oe(z(3).dataFilterer.removeFilters())}),D(1,"div",26)(2,"mat-icon",19),I(3,"search"),C(),I(4),R(5,"translate"),C(),V(6,yre,6,5,"div",27),C()}if(2&t){const e=z(3);c(2),w("inline",!0),c(2),ce(" ",H(5,3,"vpn.server-list.current-filters"),""),c(2),w("ngForOf",e.dataFilterer.currentFiltersTexts)}}function wre(t,n){if(1&t&&(Ue(0),V(1,_re,1,0,"br",21),V(2,Mre,7,5,"div",24),We()),2&t){const e=z(2);c(1),w("ngIf",e.dataFilterer.currentFiltersTexts&&e.dataFilterer.currentFiltersTexts.length>0),c(1),w("ngIf",e.dataFilterer.currentFiltersTexts&&e.dataFilterer.currentFiltersTexts.length>0)}}const Cre=function(t){return{deactivated:t}};function xre(t,n){if(1&t){const e=et();D(0,"div",11)(1,"div",12)(2,"div",13)(3,"div",14),V(4,cre,4,3,"div",15),V(5,dre,4,7,"a",16),V(6,ure,4,3,"div",15),V(7,hre,4,7,"a",16),V(8,fre,4,3,"div",15),V(9,pre,4,7,"a",16),V(10,mre,4,3,"div",15),V(11,gre,4,7,"a",16),C()()()(),D(12,"div",17)(13,"div",12)(14,"div",13)(15,"div",14)(16,"div",18),ye("click",function(){Pe(e);const o=z();return Oe(o.dataFilterer?o.dataFilterer.changeFilters():null)}),R(17,"translate"),D(18,"span")(19,"mat-icon",19),I(20,"search"),C()()()()()()(),D(21,"div",20)(22,"div",12)(23,"div",13)(24,"div",14)(25,"div",18),ye("click",function(){return Pe(e),Oe(z().enterManually())}),R(26,"translate"),D(27,"span")(28,"mat-icon",19),I(29,"add"),C()()()()()()(),V(30,wre,3,2,"ng-container",21)}if(2&t){const e=z();c(4),w("ngIf",e.currentList===e.lists.Public),c(1),w("ngIf",e.currentList!==e.lists.Public),c(1),w("ngIf",e.currentList===e.lists.History),c(1),w("ngIf",e.currentList!==e.lists.History),c(1),w("ngIf",e.currentList===e.lists.Favorites),c(1),w("ngIf",e.currentList!==e.lists.Favorites),c(1),w("ngIf",e.currentList===e.lists.Blocked),c(1),w("ngIf",e.currentList!==e.lists.Blocked),c(1),w("ngClass",He(18,Cre,e.loading)),c(4),w("matTooltip",H(17,14,"filters.filter-info")),c(3),w("inline",!0),c(6),w("matTooltip",H(26,16,"vpn.server-list.add-manually-info")),c(3),w("inline",!0),c(2),w("ngIf",e.dataFilterer)}}function kre(t,n){1&t&&Jo(0)}function Sre(t,n){if(1&t&&(D(0,"mat-icon",19),I(1),C()),2&t){const e=z(5);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Dre(t,n){if(1&t){const e=et();D(0,"th",50),ye("click",function(){Pe(e);const o=z(4);return Oe(o.dataSorter.changeSortingOrder(o.dateSortData))}),R(1,"translate"),D(2,"div",43)(3,"div",44),I(4),R(5,"translate"),C(),V(6,Sre,2,2,"mat-icon",41),C()()}if(2&t){const e=z(4);w("matTooltip",H(1,3,"vpn.server-list.date-info")),c(4),ce(" ",H(5,5,"vpn.server-list.date-small-table-label")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.dateSortData)}}function Tre(t,n){if(1&t&&(D(0,"mat-icon",19),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Lre(t,n){if(1&t&&(D(0,"mat-icon",19),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Ere(t,n){if(1&t&&(D(0,"mat-icon",19),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Ire(t,n){if(1&t&&(D(0,"mat-icon",19),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Pre(t,n){if(1&t&&(D(0,"mat-icon",19),I(1),C()),2&t){const e=z(4);w("inline",!0),c(1),se(e.dataSorter.sortingArrow)}}function Ore(t,n){if(1&t&&(D(0,"td",64),I(1),R(2,"date"),C()),2&t){const e=z().$implicit;c(1),ce(" ",kt(2,1,e.lastUsed,"yyyy/MM/dd, H:mm a")," ")}}function Are(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z().$implicit;c(1),ce(" ",e.location," ")}}function Fre(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),ce(" ",H(2,1,"vpn.server-list.unknown")," "))}const Rre=function(t,n){return{custom:t,original:n}};function Nre(t,n){if(1&t&&(D(0,"mat-icon",65),ye("click",function(i){return i.stopPropagation()}),R(1,"translate"),I(2,"info_outline"),C()),2&t){const e=z().$implicit,i=z(4);w("inline",!0)("matTooltip",kt(1,2,i.getNoteVar(e),mn(5,Rre,e.personalNote,e.note)))}}const Yre=function(t){return{"selectable click-effect":t}};function Hre(t,n){if(1&t){const e=et();D(0,"tr",51),ye("click",function(){const s=Pe(e).$implicit,a=z(4);return Oe(a.currentList!==a.lists.Blocked?a.selectServer(s):null)}),V(1,Ore,3,4,"td",52),D(2,"td",53)(3,"div",54),xe(4,"div",55),C()(),D(5,"td",56),xe(6,"app-vpn-server-name",57),C(),D(7,"td",58),V(8,Are,2,1,"ng-container",21),V(9,Fre,3,3,"ng-container",21),C(),D(10,"td",59)(11,"app-copy-to-clipboard-text",60),ye("click",function(o){return o.stopPropagation()}),C()(),D(12,"td",61),V(13,Nre,3,8,"mat-icon",62),C(),D(14,"td",48)(15,"button",63),ye("click",function(o){const a=Pe(e).$implicit,l=z(4);return o.stopPropagation(),Oe(l.openOptions(a))}),R(16,"translate"),D(17,"mat-icon",19),I(18,"settings"),C()()()()}if(2&t){const e=n.$implicit,i=z(4);w("ngClass",He(23,Yre,i.currentList!==i.lists.Blocked)),c(1),w("ngIf",i.currentList===i.lists.History),c(3),di("background-image: url('assets/img/big-flags/"+e.countryCode.toLocaleLowerCase()+".png');"),w("matTooltip",i.getCountryName(e.countryCode)),c(2),w("isCurrentServer",i.currentServer&&e.pk===i.currentServer.pk)("isFavorite",e.flag===i.serverFlags.Favorite&&i.currentList!==i.lists.Favorites)("isBlocked",e.flag===i.serverFlags.Blocked&&i.currentList!==i.lists.Blocked)("isInHistory",e.inHistory&&i.currentList!==i.lists.History)("hasPassword",e.usedWithPassword)("name",e.name)("pk",e.pk)("customName",e.customName)("defaultName","vpn.server-list.none"),c(2),w("ngIf",e.location),c(1),w("ngIf",!e.location),c(2),w("shortSimple",!0)("text",e.pk),c(2),w("ngIf",e.note||e.personalNote),c(2),w("matTooltip",H(16,21,"vpn.server-options.tooltip")),c(2),w("inline",!0)}}const Bre=function(t,n){return{"public-pk-column":t,"history-pk-column":n}};function Vre(t,n){if(1&t){const e=et();D(0,"table",38)(1,"tr"),V(2,Dre,7,7,"th",39),D(3,"th",40),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.countrySortData))}),R(4,"translate"),D(5,"mat-icon",19),I(6,"flag"),C(),V(7,Tre,2,2,"mat-icon",41),C(),D(8,"th",42),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.nameSortData))}),D(9,"div",43)(10,"div",44),I(11),R(12,"translate"),C(),V(13,Lre,2,2,"mat-icon",41),C()(),D(14,"th",45),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.locationSortData))}),D(15,"div",43)(16,"div",44),I(17),R(18,"translate"),C(),V(19,Ere,2,2,"mat-icon",41),C()(),D(20,"th",46),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.pkSortData))}),R(21,"translate"),D(22,"div",43)(23,"div",44),I(24),R(25,"translate"),C(),V(26,Ire,2,2,"mat-icon",41),C()(),D(27,"th",47),ye("click",function(){Pe(e);const o=z(3);return Oe(o.dataSorter.changeSortingOrder(o.noteSortData))}),R(28,"translate"),D(29,"div",43)(30,"mat-icon",19),I(31,"info_outline"),C(),V(32,Pre,2,2,"mat-icon",41),C()(),xe(33,"th",48),C(),V(34,Hre,19,25,"tr",49),C()}if(2&t){const e=z(3);c(2),w("ngIf",e.currentList===e.lists.History),c(1),w("matTooltip",H(4,16,"vpn.server-list.country-info")),c(2),w("inline",!0),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.countrySortData),c(4),ce(" ",H(12,18,"vpn.server-list.name-small-table-label")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.nameSortData),c(4),ce(" ",H(18,20,"vpn.server-list.location-small-table-label")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.locationSortData),c(1),w("ngClass",mn(28,Bre,e.currentList===e.lists.Public,e.currentList===e.lists.History))("matTooltip",H(21,22,"vpn.server-list.public-key-info")),c(4),ce(" ",H(25,24,"vpn.server-list.public-key-small-table-label")," "),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.pkSortData),c(1),w("matTooltip",H(28,26,"vpn.server-list.note-info")),c(3),w("inline",!0),c(2),w("ngIf",e.dataSorter.currentSortingColumn===e.noteSortData),c(2),w("ngForOf",e.dataSource)}}function jre(t,n){if(1&t&&(D(0,"div",35)(1,"div",36),V(2,Vre,35,31,"table",37),C()()),2&t){const e=z(2);c(2),w("ngIf",e.dataSource.length>0)}}const zre=function(t,n){return["/vpn",t,"servers",n]};function Ure(t,n){if(1&t&&xe(0,"app-paginator",66),2&t){const e=z(2);w("currentPage",e.currentPage)("numberOfPages",e.numberOfPages)("linkParts",mn(4,zre,e.currentLocalPk,e.currentList))("queryParams",e.dataFilterer.currentUrlQueryParams)}}function Wre(t,n){1&t&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"vpn.server-list.empty-discovery")))}function $re(t,n){1&t&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"vpn.server-list.empty-history")))}function Gre(t,n){1&t&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"vpn.server-list.empty-favorites")))}function qre(t,n){1&t&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"vpn.server-list.empty-blocked")))}function Kre(t,n){1&t&&(D(0,"span",70),I(1),R(2,"translate"),C()),2&t&&(c(1),se(H(2,1,"vpn.server-list.empty-with-filter")))}function Zre(t,n){if(1&t&&(D(0,"div",35)(1,"div",67)(2,"mat-icon",68),I(3,"warning"),C(),V(4,Wre,3,3,"span",69),V(5,$re,3,3,"span",69),V(6,Gre,3,3,"span",69),V(7,qre,3,3,"span",69),V(8,Kre,3,3,"span",69),C()()),2&t){const e=z(2);c(2),w("inline",!0),c(2),w("ngIf",0===e.allServers.length&&e.currentList===e.lists.Public),c(1),w("ngIf",0===e.allServers.length&&e.currentList===e.lists.History),c(1),w("ngIf",0===e.allServers.length&&e.currentList===e.lists.Favorites),c(1),w("ngIf",0===e.allServers.length&&e.currentList===e.lists.Blocked),c(1),w("ngIf",0!==e.allServers.length)}}const Xre=function(t){return{"mb-3":t}};function Jre(t,n){if(1&t&&(D(0,"div",29)(1,"div",30),xe(2,"app-top-bar",5),C(),D(3,"div",31)(4,"div",7)(5,"div",32),V(6,kre,1,0,"ng-container",9),C(),V(7,jre,3,1,"div",33),V(8,Ure,1,7,"app-paginator",34),V(9,Zre,9,6,"div",33),C()()()),2&t){const e=z(),i=ci(2);c(2),w("titleParts",qn(10,FP))("tabsData",e.tabsData)("selectedTabIndex",1)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk),c(3),w("ngClass",He(11,Xre,!e.dataFilterer.currentFiltersTexts||e.dataFilterer.currentFiltersTexts.length<1)),c(1),w("ngTemplateOutlet",i),c(1),w("ngIf",0!==e.dataSource.length),c(1),w("ngIf",e.numberOfPages>1),c(1),w("ngIf",0===e.dataSource.length)}}var ri=(()=>((ri=ri||{}).Public="public",ri.History="history",ri.Favorites="favorites",ri.Blocked="blocked",ri))();let RP=(()=>{class t extends er{constructor(e,i,o,s,a,l,d,_,E){super(),this.dialog=e,this.router=i,this.translateService=o,this.route=s,this.vpnClientDiscoveryService=a,this.vpnClientService=l,this.vpnSavedDataService=d,this.snackbarService=_,this.storageService=E,this.persistentServerDataResponseKey="serv-dat-response",this.maxFullListElements=50,this.dateSortData=new Vn(["lastUsed"],"vpn.server-list.date-small-table-label",Zt.NumberReversed),this.countrySortData=new Vn(["countryName"],"vpn.server-list.country-small-table-label",Zt.Text),this.nameSortData=new Vn(["name"],"vpn.server-list.name-small-table-label",Zt.Text),this.locationSortData=new Vn(["location"],"vpn.server-list.location-small-table-label",Zt.Text),this.pkSortData=new Vn(["pk"],"vpn.server-list.public-key-small-table-label",Zt.Text),this.noteSortData=new Vn(["note"],"vpn.server-list.note-small-table-label",Zt.Text),this.loading=!0,this.loadingBackendData=!0,this.tabsData=lr.vpnTabsData,this.numberOfPages=1,this.currentPage=1,this.currentPageInUrl=1,this.currentList=ri.Public,this.vpnRunning=!1,this.serverFlags=Pn,this.lists=ri,this.initialLoadStarted=!1,this.navigationsSubscription=s.paramMap.subscribe(F=>{if(F.has("type")?F.get("type")===ri.Favorites?(this.currentList=ri.Favorites,this.listId="vfs"):F.get("type")===ri.Blocked?(this.currentList=ri.Blocked,this.listId="vbs"):F.get("type")===ri.History?(this.currentList=ri.History,this.listId="vhs"):(this.currentList=ri.Public,this.listId="vps"):(this.currentList=ri.Public,this.listId="vps"),lr.setDefaultTabForServerList(this.currentList),F.has("key")&&(this.currentLocalPk=F.get("key"),lr.changeCurrentPk(this.currentLocalPk),this.tabsData=lr.vpnTabsData),F.has("page")){let G=Number.parseInt(F.get("page"),10);(isNaN(G)||G<1)&&(G=1),this.currentPageInUrl=G,this.recalculateElementsToShow()}this.initialLoadStarted||(this.initialLoadStarted=!0,this.loadData(!0))}),this.currentServerSubscription=this.vpnSavedDataService.currentServerObservable.subscribe(F=>this.currentServer=F),this.backendDataSubscription=this.vpnClientService.backendState.subscribe(F=>{F&&(this.loadingBackendData=!1,this.vpnRunning=F.vpnClientAppData.running)})}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.currentServerSubscription.unsubscribe(),this.backendDataSubscription.unsubscribe(),this.dataSortedSubscription&&this.dataSortedSubscription.unsubscribe(),this.dataFiltererSubscription&&this.dataFiltererSubscription.unsubscribe(),this.dataSubscription&&this.dataSubscription.unsubscribe(),this.dataFilterer&&this.dataFilterer.dispose(),this.dataSorter&&this.dataSorter.dispose()}enterManually(){rre.openDialog(this.dialog,this.currentLocalPk)}getNoteVar(e){return e.note&&e.personalNote?"vpn.server-list.notes-info":!e.note&&e.personalNote?e.personalNote:e.note}selectServer(e){const i=this.vpnSavedDataService.getSavedVersion(e.pk,!0);if(this.snackbarService.closeCurrentIfTemporaryError(),i&&i.flag===Pn.Blocked)this.snackbarService.showError("vpn.starting-blocked-server-error",{},!0);else{if(this.currentServer&&this.currentServer.pk===e.pk){if(this.vpnRunning)this.snackbarService.showWarning("vpn.server-change.already-selected-warning");else{const o=Jt.createConfirmationDialog(this.dialog,"vpn.server-change.start-same-server-confirmation");o.componentInstance.operationAccepted.subscribe(()=>{o.componentInstance.closeModal(),this.vpnClientService.start(),lr.redirectAfterServerChange(this.router,null,this.currentLocalPk)})}return}if(i&&i.usedWithPassword)return void JI.openDialog(this.dialog,!0).afterClosed().subscribe(o=>{o&&this.makeServerChange(e,"-"===o?null:o.substr(1))});this.makeServerChange(e,null)}}makeServerChange(e,i){lr.processServerChange(this.router,this.vpnClientService,this.vpnSavedDataService,this.snackbarService,this.dialog,null,this.currentLocalPk,e.originalLocalData,e.originalDiscoveryData,null,i)}openOptions(e){let i=this.vpnSavedDataService.getSavedVersion(e.pk,!0);i||(i=this.vpnSavedDataService.processFromDiscovery(e.originalDiscoveryData)),i?lr.openServerOptions(i,this.router,this.vpnSavedDataService,this.vpnClientService,this.snackbarService,this.dialog).subscribe(o=>{o&&this.processAllServers()}):this.snackbarService.showError("vpn.unexpedted-error")}loadData(e){if(this.currentList===ri.Public){const i=e?this.getLocalValue(this.persistentServerDataResponseKey):null;let o=this.vpnClientDiscoveryService.getServers();i&&(o=$e(JSON.parse(i.value))),this.dataSubscription=o.subscribe(s=>{i||this.saveLocalValue(this.persistentServerDataResponseKey,JSON.stringify(s)),this.allServers=s.map(a=>({countryCode:a.countryCode,countryName:this.getCountryName(a.countryCode),name:a.name,customName:null,location:a.location,pk:a.pk,note:a.note,personalNote:null,originalDiscoveryData:a})),this.vpnSavedDataService.updateFromDiscovery(s),this.loading=!1,this.processAllServers(),i&&this.loadData(!1)})}else{let i;i=this.currentList===ri.History?this.vpnSavedDataService.history:this.currentList===ri.Favorites?this.vpnSavedDataService.favorites:this.vpnSavedDataService.blocked,this.dataSubscription=i.subscribe(o=>{const s=[];o.forEach(a=>{s.push({countryCode:a.countryCode,countryName:this.getCountryName(a.countryCode),name:a.name,customName:null,location:a.location,pk:a.pk,note:a.note,personalNote:null,lastUsed:a.lastUsed,inHistory:a.inHistory,flag:a.flag,originalLocalData:a})}),this.allServers=s,this.loading=!1,this.processAllServers()})}}processAllServers(){this.fillFilterPropertiesArray();const e=new Set;this.allServers.forEach((_,E)=>{e.add(_.countryCode);const F=this.vpnSavedDataService.getSavedVersion(_.pk,0===E);_.customName=F?F.customName:null,_.personalNote=F?F.personalNote:null,_.inHistory=!!F&&F.inHistory,_.flag=F?F.flag:Pn.None,_.enteredManually=!!F&&F.enteredManually,_.usedWithPassword=!!F&&F.usedWithPassword});let i=[];e.forEach(_=>{i.push({label:this.getCountryName(_),value:_,image:"/assets/img/big-flags/"+_.toLowerCase()+".png"})}),i.sort((_,E)=>_.label.localeCompare(E.label)),i=[{label:"vpn.server-list.filter-dialog.country-options.any",value:""}].concat(i),this.filterProperties=[{filterName:"vpn.server-list.filter-dialog.country",keyNameInElementsArray:"countryCode",type:$n.Select,printableLabelsForValues:i,printableLabelGeneralSettings:{defaultImage:"/assets/img/big-flags/unknown.png",imageWidth:20,imageHeight:15}}].concat(this.filterProperties);const s=[];let a,l,d;this.currentList===ri.Public?(s.push(this.countrySortData),s.push(this.nameSortData),s.push(this.locationSortData),s.push(this.pkSortData),s.push(this.noteSortData),a=0,l=1):(this.currentList===ri.History&&s.push(this.dateSortData),s.push(this.countrySortData),s.push(this.nameSortData),s.push(this.locationSortData),s.push(this.pkSortData),s.push(this.noteSortData),a=this.currentList===ri.History?0:1,l=this.currentList===ri.History?2:3),this.dataSorter=new Rd(this.dialog,this.translateService,this.storageService,s,a,this.listId),this.dataSorter.setTieBreakerColumnIndex(l),this.dataSortedSubscription=this.dataSorter.dataSorted.subscribe(()=>{this.recalculateElementsToShow()}),this.dataFilterer=new Nd(this.dialog,this.route,this.router,this.filterProperties,this.listId),this.dataFiltererSubscription=this.dataFilterer.dataFiltered.subscribe(_=>{this.filteredServers=_,this.dataSorter.setData(this.filteredServers)}),d=this.currentList===ri.Public?this.allServers.filter(_=>_.flag!==Pn.Blocked):this.allServers,this.dataFilterer.setData(d)}fillFilterPropertiesArray(){this.filterProperties=[{filterName:"vpn.server-list.filter-dialog.name",keyNameInElementsArray:"name",secondaryKeyNameInElementsArray:"customName",type:$n.TextInput,maxlength:100},{filterName:"vpn.server-list.filter-dialog.location",keyNameInElementsArray:"location",type:$n.TextInput,maxlength:100},{filterName:"vpn.server-list.filter-dialog.public-key",keyNameInElementsArray:"pk",type:$n.TextInput,maxlength:100}]}recalculateElementsToShow(){if(this.currentPage=this.currentPageInUrl,this.filteredServers){const e=this.maxFullListElements;this.numberOfPages=Math.ceil(this.filteredServers.length/e),this.currentPage>this.numberOfPages&&(this.currentPage=this.numberOfPages);const i=e*(this.currentPage-1);this.serversToShow=this.filteredServers.slice(i,i+e)}else this.serversToShow=null;this.dataSource=this.serversToShow}getCountryName(e){return ma[e.toUpperCase()]?ma[e.toUpperCase()]:e}}return t.\u0275fac=function(e){return new(e||t)(Y(In),Y(hn),Y(To),Y(Mr),Y(sre),Y(oc),Y(rc),Y(Dn),Y(Ji))},t.\u0275cmp=Ze({type:t,selectors:[["app-vpn-server-list"]],features:[nt],decls:4,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["topPart",""],["class","row",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[1,"loading-top-container"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","localVpnKey"],[1,"main-container"],[1,"width-limiter"],[1,"center-container","mt-4.5"],[4,"ngTemplateOutlet"],[1,"h-100","loading-indicator"],[1,"option-bar-container"],[1,"rounded-elevated-box","mt-3"],[1,"box-internal-container","allow-overflow"],[1,"option-bar"],["class","text-option selected",4,"ngIf"],["class","text-option",3,"routerLink",4,"ngIf"],[1,"option-bar-container","option-bar-margin",3,"ngClass"],[1,"icon-option",3,"matTooltip","click"],[3,"inline"],[1,"option-bar-container","option-bar-margin"],[4,"ngIf"],[1,"text-option","selected"],[1,"text-option",3,"routerLink"],["class","filter-label subtle-transparent-button cursor-pointer",3,"click",4,"ngIf"],[1,"filter-label","subtle-transparent-button","cursor-pointer",3,"click"],[1,"transparent-50"],["class","item",4,"ngFor","ngForOf"],[1,"item"],[1,"row"],[1,"col-12"],[1,"col-12","vpn-table-container"],[1,"center-container","mt-4.5",3,"ngClass"],["class","rounded-elevated-box",4,"ngIf"],[3,"currentPage","numberOfPages","linkParts","queryParams",4,"ngIf"],[1,"rounded-elevated-box"],[1,"box-internal-container"],["class","responsive-table-translucid d-none d-md-table","cellspacing","0","cellpadding","0",4,"ngIf"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table"],["class","sortable-column date-column click-effect",3,"matTooltip","click",4,"ngIf"],[1,"sortable-column","flag-column","center","click-effect",3,"matTooltip","click"],[3,"inline",4,"ngIf"],[1,"sortable-column","name-column","click-effect",3,"click"],[1,"header-container"],[1,"header-text"],[1,"sortable-column","location-column","click-effect",3,"click"],[1,"sortable-column","pk-column","click-effect",3,"ngClass","matTooltip","click"],[1,"sortable-column","note-column","center","click-effect",3,"matTooltip","click"],[1,"actions"],[3,"ngClass","click",4,"ngFor","ngForOf"],[1,"sortable-column","date-column","click-effect",3,"matTooltip","click"],[3,"ngClass","click"],["class","date-column",4,"ngIf"],[1,"flag-column","icon-fixer"],[1,"flag"],[3,"matTooltip"],[1,"name-column"],[3,"isCurrentServer","isFavorite","isBlocked","isInHistory","hasPassword","name","pk","customName","defaultName"],[1,"location-column"],[1,"pk-column","history-pk-column"],[1,"d-inline-block","w-100",3,"shortSimple","text","click"],[1,"center","note-column"],["class","note-icon",3,"inline","matTooltip","click",4,"ngIf"],["mat-button","",1,"big-action-button","transparent-button","vpn-small-button",3,"matTooltip","click"],[1,"date-column"],[1,"note-icon",3,"inline","matTooltip","click"],[3,"currentPage","numberOfPages","linkParts","queryParams"],[1,"box-internal-container","font-sm"],[1,"alert-icon",3,"inline"],["class","font-sm",4,"ngIf"],[1,"font-sm"]],template:function(e,i){1&e&&(V(0,lre,8,7,"div",0),V(1,xre,31,20,"ng-template",null,1,Es),V(3,Jre,10,13,"div",2)),2&e&&(w("ngIf",i.loading||i.loadingBackendData),c(3),w("ngIf",!i.loading&&!i.loadingBackendData))},styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .header-container[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%], .note-column[_ngcontent-%COMP%], .pk-column[_ngcontent-%COMP%], .location-column[_ngcontent-%COMP%], .name-column[_ngcontent-%COMP%], .date-column[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}.center-container[_ngcontent-%COMP%]{text-align:center}.center-container[_ngcontent-%COMP%] app-paginator[_ngcontent-%COMP%]{display:inline-block}.loading-top-container[_ngcontent-%COMP%]{z-index:1}.loading-indicator[_ngcontent-%COMP%]{padding-top:30px;padding-bottom:20px}.deactivated[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}.option-bar-container[_ngcontent-%COMP%]{display:inline-block}.option-bar-container[_ngcontent-%COMP%] .allow-overflow[_ngcontent-%COMP%]{overflow:visible}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%]{display:flex;margin:-17px}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] > div[_ngcontent-%COMP%], .option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{height:55px;line-height:55px;cursor:pointer;color:#fff;text-decoration:none;-webkit-user-select:none;user-select:none}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:hover, .option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background:rgba(0,0,0,.2)}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] > .icon-option[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{display:inline-block}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] > .icon-option[_ngcontent-%COMP%]:active span[_ngcontent-%COMP%], .option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:active span[_ngcontent-%COMP%]{transform:scale(.95)}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] .text-option[_ngcontent-%COMP%]{padding:0 40px;font-size:1rem}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] .icon-option[_ngcontent-%COMP%]{width:55px;font-size:24px}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]{background:rgba(0,0,0,.36);cursor:unset!important}.option-bar-container[_ngcontent-%COMP%] .option-bar[_ngcontent-%COMP%] .selected[_ngcontent-%COMP%]:hover{background:rgba(0,0,0,.6)}.option-bar-margin[_ngcontent-%COMP%]{margin-left:10px}.filter-label[_ngcontent-%COMP%]{font-size:.7rem;display:inline-block;padding:5px 10px;margin-bottom:7px}.filter-label[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{vertical-align:middle}table[_ngcontent-%COMP%]{width:100%}tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:2px 5px!important;font-size:12px!important;font-weight:400!important}tr[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{padding-left:5px!important;padding-right:5px!important}.date-column[_ngcontent-%COMP%]{width:150px}.name-column[_ngcontent-%COMP%]{max-width:0;width:20%}.location-column[_ngcontent-%COMP%]{max-width:0;min-width:72px}.pk-column[_ngcontent-%COMP%]{max-width:0;width:25%}.history-pk-column[_ngcontent-%COMP%]{width:20%!important}.icon-fixer[_ngcontent-%COMP%]{line-height:0px}.note-column[_ngcontent-%COMP%]{max-width:0;width:3%;min-width:60px}.note-column[_ngcontent-%COMP%] .note-icon[_ngcontent-%COMP%]{opacity:.55;font-size:16px!important;display:inline}.flag-column[_ngcontent-%COMP%]{width:1px;line-height:0px}.actions[_ngcontent-%COMP%]{width:1px}.header-container[_ngcontent-%COMP%]{max-width:100%;display:inline-flex}.header-container[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%]{flex-grow:1}.flag[_ngcontent-%COMP%]{width:20px;height:15px;display:inline-block;margin-right:5px;background-image:url(/assets/img/big-flags/unknown.png);background-size:contain}.flag[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{width:20px;height:15px;background-size:contain}.center[_ngcontent-%COMP%]{text-align:center}.alert-icon[_ngcontent-%COMP%]{vertical-align:middle;margin-right:10px}"]}),t})();function eoe(t){const{subscriber:n,counter:e,period:i}=t;n.next(e),this.schedule({subscriber:n,counter:e+1,period:i},i)}const af=function(t,n){return{"small-text-icon":t,"big-text-icon":n}};function toe(t,n){if(1&t&&(D(0,"mat-icon",4),R(1,"translate"),I(2,"done"),C()),2&t){const e=z();w("ngClass",mn(5,af,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",H(1,3,"vpn.server-conditions.selected-info"))}}function noe(t,n){if(1&t&&(D(0,"mat-icon",5),R(1,"translate"),I(2,"clear"),C()),2&t){const e=z();w("ngClass",mn(5,af,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",H(1,3,"vpn.server-conditions.blocked-info"))}}function ioe(t,n){if(1&t&&(D(0,"mat-icon",6),R(1,"translate"),I(2,"star"),C()),2&t){const e=z();w("ngClass",mn(5,af,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",H(1,3,"vpn.server-conditions.favorite-info"))}}function roe(t,n){if(1&t&&(D(0,"mat-icon",4),R(1,"translate"),I(2,"history"),C()),2&t){const e=z();w("ngClass",mn(5,af,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",H(1,3,"vpn.server-conditions.history-info"))}}function ooe(t,n){if(1&t&&(D(0,"mat-icon",4),R(1,"translate"),I(2,"lock_outlined"),C()),2&t){const e=z();w("ngClass",mn(5,af,!e.adjustIconsForBigText,e.adjustIconsForBigText))("inline",!0)("matTooltip",H(1,3,"vpn.server-conditions.has-password-info"))}}function soe(t,n){if(1&t&&(Ue(0),I(1),D(2,"mat-icon",7),I(3,"fiber_manual_record"),C(),I(4),We()),2&t){const e=z();c(1),ce(" ",e.customName," "),c(1),w("inline",!0),c(2),ce(" ",e.name,"\n")}}function aoe(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z();c(1),se(e.customName)}}function loe(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z();c(1),se(e.name)}}function coe(t,n){if(1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t){const e=z();c(1),se(H(2,1,e.defaultName))}}let NP=(()=>{class t{constructor(){this.isCurrentServer=!1,this.isFavorite=!1,this.isBlocked=!1,this.isInHistory=!1,this.hasPassword=!1,this.name="",this.customName="",this.pk="",this.defaultName="",this.adjustIconsForBigText=!1}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275cmp=Ze({type:t,selectors:[["app-vpn-server-name"]],inputs:{isCurrentServer:"isCurrentServer",isFavorite:"isFavorite",isBlocked:"isBlocked",isInHistory:"isInHistory",hasPassword:"hasPassword",name:"name",customName:"customName",pk:"pk",defaultName:"defaultName",adjustIconsForBigText:"adjustIconsForBigText"},decls:9,vars:9,consts:[["class","server-condition-icon",3,"ngClass","inline","matTooltip",4,"ngIf"],["class","server-condition-icon red-clear-text",3,"ngClass","inline","matTooltip",4,"ngIf"],["class","server-condition-icon yellow-clear-text",3,"ngClass","inline","matTooltip",4,"ngIf"],[4,"ngIf"],[1,"server-condition-icon",3,"ngClass","inline","matTooltip"],[1,"server-condition-icon","red-clear-text",3,"ngClass","inline","matTooltip"],[1,"server-condition-icon","yellow-clear-text",3,"ngClass","inline","matTooltip"],[1,"name-separator",3,"inline"]],template:function(e,i){1&e&&(V(0,toe,3,8,"mat-icon",0),V(1,noe,3,8,"mat-icon",1),V(2,ioe,3,8,"mat-icon",2),V(3,roe,3,8,"mat-icon",0),V(4,ooe,3,8,"mat-icon",0),V(5,soe,5,3,"ng-container",3),V(6,aoe,2,1,"ng-container",3),V(7,loe,2,1,"ng-container",3),V(8,coe,3,3,"ng-container",3)),2&e&&(w("ngIf",i.isCurrentServer),c(1),w("ngIf",i.isBlocked),c(1),w("ngIf",i.isFavorite),c(1),w("ngIf",i.isInHistory),c(1),w("ngIf",i.hasPassword),c(1),w("ngIf",i.customName&&i.name&&(!i.pk||i.name!==i.pk)),c(1),w("ngIf",(!i.name||i.pk&&i.name===i.pk)&&i.customName),c(1),w("ngIf",i.name&&(!i.pk||i.name!==i.pk)&&!i.customName),c(1),w("ngIf",(!i.name||i.pk&&i.name===i.pk)&&!i.customName))},dependencies:[Nn,Ft,Cn,vi,wt],styles:[".server-condition-icon[_ngcontent-%COMP%]{font-size:14px!important;line-height:14px!important;margin-right:3px;position:relative;width:14px!important;-webkit-user-select:none;user-select:none;cursor:default}.small-text-icon[_ngcontent-%COMP%]{top:2px}.big-text-icon[_ngcontent-%COMP%]{top:0}.name-separator[_ngcontent-%COMP%]{display:inline!important;font-size:8px!important;opacity:.5!important}"]}),t})();const YP=function(){return["vpn.title"]};function doe(t,n){if(1&t&&(D(0,"div",2)(1,"div"),xe(2,"app-top-bar",3),C(),xe(3,"app-loading-indicator"),C()),2&t){const e=z();c(2),w("titleParts",qn(5,YP))("tabsData",e.tabsData)("selectedTabIndex",0)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk)}}function uoe(t,n){1&t&&xe(0,"mat-spinner",32),2&t&&w("diameter",40)}function hoe(t,n){1&t&&(D(0,"mat-icon",33),I(1,"power_settings_new"),C()),2&t&&w("inline",!0)}function foe(t,n){if(1&t){const e=et();Ue(0),D(1,"div",34),xe(2,"div",35),C(),D(3,"div",36)(4,"div",37),xe(5,"app-vpn-server-name",38),C(),D(6,"div",39),xe(7,"app-copy-to-clipboard-text",40),C()(),D(8,"div",41),xe(9,"div"),C(),D(10,"div",42)(11,"mat-icon",43),ye("click",function(){return Pe(e),Oe(z(3).openServerOptions())}),R(12,"translate"),I(13,"settings"),C()(),We()}if(2&t){const e=z(3);c(2),di("background-image: url('assets/img/big-flags/"+e.currentRemoteServer.countryCode.toLocaleLowerCase()+".png');"),w("matTooltip",e.getCountryName(e.currentRemoteServer.countryCode)),c(3),w("isFavorite",e.currentRemoteServer.flag===e.serverFlags.Favorite)("isBlocked",e.currentRemoteServer.flag===e.serverFlags.Blocked)("hasPassword",e.currentRemoteServer.usedWithPassword)("name",e.currentRemoteServer.name)("pk",e.currentRemoteServer.pk)("customName",e.currentRemoteServer.customName),c(2),w("shortSimple",!0)("text",e.currentRemoteServer.pk),c(4),w("inline",!0)("matTooltip",H(12,13,"vpn.server-options.tooltip"))}}function poe(t,n){1&t&&(Ue(0),D(1,"div",44),I(2),R(3,"translate"),C(),We()),2&t&&(c(2),se(H(3,1,"vpn.status-page.no-server")))}const moe=function(t,n){return{custom:t,original:n}};function goe(t,n){if(1&t&&(D(0,"div",45)(1,"mat-icon",33),I(2,"info_outline"),C(),I(3),R(4,"translate"),C()),2&t){const e=z(3);c(1),w("inline",!0),c(2),ce(" ",kt(4,2,e.getNoteVar(),mn(5,moe,e.currentRemoteServer.personalNote,e.currentRemoteServer.note))," ")}}function _oe(t,n){if(1&t&&(D(0,"div",46)(1,"mat-icon",33),I(2,"cancel"),C(),I(3),R(4,"translate"),C()),2&t){const e=z(3);c(1),w("inline",!0),c(2),vo(" ",H(4,3,"vpn.status-page.last-error")," ",e.backendState.vpnClientAppData.lastErrorMsg," ")}}const HP=function(t){return{"disabled-button":t}};function boe(t,n){if(1&t){const e=et();D(0,"div",22)(1,"div",11)(2,"div",13),I(3),R(4,"translate"),C(),D(5,"div")(6,"div",23),ye("click",function(){return Pe(e),Oe(z(2).start())}),D(7,"div",24),xe(8,"div",25),C(),D(9,"div",24),xe(10,"div",26),C(),V(11,uoe,1,1,"mat-spinner",27),V(12,hoe,2,1,"mat-icon",28),C()(),D(13,"div",29),V(14,foe,14,15,"ng-container",18),V(15,poe,4,3,"ng-container",18),C(),D(16,"div"),V(17,goe,5,8,"div",30),C(),D(18,"div"),V(19,_oe,5,5,"div",31),C()()()}if(2&t){const e=z(2);c(3),se(H(4,8,"vpn.status-page.start-title")),c(3),w("ngClass",He(10,HP,e.showBusy)),c(5),w("ngIf",e.showBusy),c(1),w("ngIf",!e.showBusy),c(2),w("ngIf",e.currentRemoteServer),c(1),w("ngIf",!e.currentRemoteServer),c(2),w("ngIf",e.currentRemoteServer&&(e.currentRemoteServer.note||e.currentRemoteServer.personalNote)),c(2),w("ngIf",e.backendState&&e.backendState.vpnClientAppData&&e.backendState.vpnClientAppData.lastErrorMsg)}}function voe(t,n){if(1&t&&(D(0,"div",77)(1,"mat-icon",33),I(2,"cancel"),C(),I(3),R(4,"translate"),C()),2&t){const e=z(3);c(1),w("inline",!0),c(2),vo(" ",H(4,3,"vpn.status-page.last-error")," ",e.backendState.vpnClientAppData.connectionData.error," ")}}function yoe(t,n){1&t&&(D(0,"div"),xe(1,"mat-spinner",32),C()),2&t&&(c(1),w("diameter",24))}function Moe(t,n){1&t&&(D(0,"mat-icon",33),I(1,"power_settings_new"),C()),2&t&&w("inline",!0)}const Vd=function(t){return{showValue:!0,showUnit:!0,showPerSecond:!0,limitDecimals:!0,useBits:t}},BP=function(t){return{showValue:!0,showUnit:!0,showPerSecond:!0,useBits:t}},VP=function(t){return{showValue:!0,showUnit:!0,useBits:t}},Ng=function(t){return{time:t}};function woe(t,n){if(1&t){const e=et();D(0,"div",47)(1,"div",11)(2,"div",48)(3,"div",49)(4,"mat-icon",33),I(5,"timer"),C(),D(6,"span"),I(7),C()()(),D(8,"div",50),I(9),R(10,"translate"),C(),D(11,"div",51)(12,"div",52),I(13),R(14,"translate"),C(),xe(15,"div"),C(),D(16,"div",53),I(17),R(18,"translate"),C(),V(19,voe,5,5,"div",54),D(20,"div",55)(21,"div",56),R(22,"translate"),D(23,"div",57),xe(24,"app-line-chart",58),C(),D(25,"div",59)(26,"div",60)(27,"div",61),I(28),R(29,"autoScale"),C(),xe(30,"div",62),C()(),D(31,"div",59)(32,"div",63)(33,"div",61),I(34),R(35,"autoScale"),C(),xe(36,"div",62),C()(),D(37,"div",59)(38,"div",64)(39,"div",61),I(40),R(41,"autoScale"),C()()(),D(42,"div",65)(43,"mat-icon",66),I(44,"keyboard_backspace"),C(),D(45,"div",67),I(46),R(47,"autoScale"),C(),D(48,"div",68),I(49),R(50,"autoScale"),R(51,"translate"),C()()(),D(52,"div",56),R(53,"translate"),D(54,"div",57),xe(55,"app-line-chart",58),C(),D(56,"div",69)(57,"div",60)(58,"div",61),I(59),R(60,"autoScale"),C(),xe(61,"div",62),C()(),D(62,"div",59)(63,"div",63)(64,"div",61),I(65),R(66,"autoScale"),C(),xe(67,"div",62),C()(),D(68,"div",59)(69,"div",64)(70,"div",61),I(71),R(72,"autoScale"),C()()(),D(73,"div",65)(74,"mat-icon",70),I(75,"keyboard_backspace"),C(),D(76,"div",67),I(77),R(78,"autoScale"),C(),D(79,"div",68),I(80),R(81,"autoScale"),R(82,"translate"),C()()()(),D(83,"div",71)(84,"div",72),R(85,"translate"),D(86,"div",57),xe(87,"app-line-chart",73),C(),D(88,"div",69)(89,"div",60)(90,"div",61),I(91),R(92,"translate"),C(),xe(93,"div",62),C()(),D(94,"div",59)(95,"div",63)(96,"div",61),I(97),R(98,"translate"),C(),xe(99,"div",62),C()(),D(100,"div",59)(101,"div",64)(102,"div",61),I(103),R(104,"translate"),C()()(),D(105,"div",65)(106,"mat-icon",33),I(107,"swap_horiz"),C(),D(108,"div"),I(109),R(110,"translate"),C()()()(),D(111,"div",74),ye("click",function(){return Pe(e),Oe(z(2).stop())}),D(112,"div",75)(113,"div",76),V(114,yoe,2,1,"div",18),V(115,Moe,2,1,"mat-icon",28),D(116,"span"),I(117),R(118,"translate"),C()()()()()()}if(2&t){const e=z(2);c(4),w("inline",!0),c(3),se(e.connectionTimeString),c(2),se(H(10,58,"vpn.connection-info.state-title")),c(4),se(H(14,60,e.currentStateText)),c(2),eo("state-line "+e.currentStateLineClass),c(2),se(H(18,62,e.currentStateText+"-info")),c(2),w("ngIf",e.backendState&&e.backendState.vpnClientAppData&&e.backendState.vpnClientAppData.connectionData&&e.backendState.vpnClientAppData.connectionData.error),c(2),w("matTooltip",H(22,64,"vpn.status-page.upload-info")),c(3),w("animated",!1)("data",e.sentHistory)("min",e.minUploadInGraph)("max",e.maxUploadInGraph),c(4),ce(" ",kt(29,66,e.maxUploadInGraph,He(118,Vd,e.showSpeedsInBits))," "),c(2),di("margin-top: "+e.graphsTopInternalMargin+"px;"),c(4),ce(" ",kt(35,69,e.midUploadInGraph,He(120,Vd,e.showSpeedsInBits))," "),c(2),di("margin-top: "+e.graphsTopInternalMargin/2+"px;"),c(4),ce(" ",kt(41,72,e.minUploadInGraph,He(122,Vd,e.showSpeedsInBits))," "),c(3),w("inline",!0),c(3),se(kt(47,75,e.uploadSpeed,He(124,BP,e.showSpeedsInBits))),c(3),vo(" ",kt(50,78,e.totalUploaded,He(126,VP,e.showTotalsInBits))," ",H(51,81,"vpn.status-page.total-data-label")," "),c(3),w("matTooltip",H(53,83,"vpn.status-page.download-info")),c(3),w("animated",!1)("data",e.receivedHistory)("min",e.minDownloadInGraph)("max",e.maxDownloadInGraph),c(4),ce(" ",kt(60,85,e.maxDownloadInGraph,He(128,Vd,e.showSpeedsInBits))," "),c(2),di("margin-top: "+e.graphsTopInternalMargin+"px;"),c(4),ce(" ",kt(66,88,e.midDownloadInGraph,He(130,Vd,e.showSpeedsInBits))," "),c(2),di("margin-top: "+e.graphsTopInternalMargin/2+"px;"),c(4),ce(" ",kt(72,91,e.minDownloadInGraph,He(132,Vd,e.showSpeedsInBits))," "),c(3),w("inline",!0),c(3),se(kt(78,94,e.downloadSpeed,He(134,BP,e.showSpeedsInBits))),c(3),vo(" ",kt(81,97,e.totalDownloaded,He(136,VP,e.showTotalsInBits))," ",H(82,100,"vpn.status-page.total-data-label")," "),c(4),w("matTooltip",H(85,102,"vpn.status-page.latency-info")),c(3),w("animated",!1)("data",e.latencyHistory)("min",e.minLatencyInGraph)("max",e.maxLatencyInGraph),c(4),ce(" ",kt(92,104,"common."+e.getLatencyValueString(e.maxLatencyInGraph),He(138,Ng,e.getPrintableLatency(e.maxLatencyInGraph)))," "),c(2),di("margin-top: "+e.graphsTopInternalMargin+"px;"),c(4),ce(" ",kt(98,107,"common."+e.getLatencyValueString(e.midLatencyInGraph),He(140,Ng,e.getPrintableLatency(e.midLatencyInGraph)))," "),c(2),di("margin-top: "+e.graphsTopInternalMargin/2+"px;"),c(4),ce(" ",kt(104,110,"common."+e.getLatencyValueString(e.minLatencyInGraph),He(142,Ng,e.getPrintableLatency(e.minLatencyInGraph)))," "),c(3),w("inline",!0),c(3),se(kt(110,113,"common."+e.getLatencyValueString(e.latency),He(144,Ng,e.getPrintableLatency(e.latency)))),c(2),w("ngClass",He(146,HP,e.showBusy)),c(3),w("ngIf",e.showBusy),c(1),w("ngIf",!e.showBusy),c(2),se(H(118,116,"vpn.status-page.disconnect"))}}function Coe(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z(3);c(1),se(e.currentIp)}}function xoe(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"common.unknown")))}function koe(t,n){1&t&&xe(0,"mat-spinner",32),2&t&&w("diameter",20)}function Soe(t,n){1&t&&(D(0,"mat-icon",81),R(1,"translate"),I(2,"warning"),C()),2&t&&w("inline",!0)("matTooltip",H(1,2,"vpn.status-page.data.ip-problem-info"))}function Doe(t,n){if(1&t){const e=et();D(0,"mat-icon",82),ye("click",function(){return Pe(e),Oe(z(3).getIp())}),R(1,"translate"),I(2,"refresh"),C()}2&t&&w("inline",!0)("matTooltip",H(1,2,"vpn.status-page.data.ip-refresh-info"))}function Toe(t,n){if(1&t&&(D(0,"div",78),V(1,Coe,2,1,"ng-container",18),V(2,xoe,3,3,"ng-container",18),V(3,koe,1,1,"mat-spinner",27),V(4,Soe,3,4,"mat-icon",79),V(5,Doe,3,4,"mat-icon",80),C()),2&t){const e=z(2);c(1),w("ngIf",e.currentIp),c(1),w("ngIf",!e.currentIp&&!e.loadingCurrentIp),c(1),w("ngIf",e.loadingCurrentIp),c(1),w("ngIf",e.problemGettingIp),c(1),w("ngIf",!e.loadingCurrentIp)}}function Loe(t,n){1&t&&(D(0,"div",78),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"vpn.status-page.data.unavailable")," "))}function Eoe(t,n){if(1&t&&(Ue(0),I(1),We()),2&t){const e=z(3);c(1),se(e.ipCountry)}}function Ioe(t,n){1&t&&(Ue(0),I(1),R(2,"translate"),We()),2&t&&(c(1),se(H(2,1,"common.unknown")))}function Poe(t,n){1&t&&xe(0,"mat-spinner",32),2&t&&w("diameter",20)}function Ooe(t,n){1&t&&(D(0,"mat-icon",81),R(1,"translate"),I(2,"warning"),C()),2&t&&w("inline",!0)("matTooltip",H(1,2,"vpn.status-page.data.ip-country-problem-info"))}function Aoe(t,n){if(1&t&&(D(0,"div",78),V(1,Eoe,2,1,"ng-container",18),V(2,Ioe,3,3,"ng-container",18),V(3,Poe,1,1,"mat-spinner",27),V(4,Ooe,3,4,"mat-icon",79),C()),2&t){const e=z(2);c(1),w("ngIf",e.ipCountry),c(1),w("ngIf",!e.ipCountry&&!e.loadingCurrentIp),c(1),w("ngIf",e.loadingCurrentIp),c(1),w("ngIf",e.problemGettingIp)}}function Foe(t,n){1&t&&(D(0,"div",78),I(1),R(2,"translate"),C()),2&t&&(c(1),ce(" ",H(2,1,"vpn.status-page.data.unavailable")," "))}function Roe(t,n){if(1&t){const e=et();D(0,"div")(1,"div",13),I(2),R(3,"translate"),C(),D(4,"div",78),xe(5,"app-vpn-server-name",83),D(6,"mat-icon",82),ye("click",function(){return Pe(e),Oe(z(2).openServerOptions())}),R(7,"translate"),I(8,"settings"),C()()()}if(2&t){const e=z(2);c(2),se(H(3,10,"vpn.status-page.data.server")),c(3),w("isFavorite",e.currentRemoteServer.flag===e.serverFlags.Favorite)("isBlocked",e.currentRemoteServer.flag===e.serverFlags.Blocked)("hasPassword",e.currentRemoteServer.usedWithPassword)("adjustIconsForBigText",!0)("name",e.currentRemoteServer.name)("pk",e.currentRemoteServer.pk)("customName",e.currentRemoteServer.customName),c(1),w("inline",!0)("matTooltip",H(7,12,"vpn.server-options.tooltip"))}}function Noe(t,n){1&t&&xe(0,"div",15)}function Yoe(t,n){if(1&t&&(D(0,"div")(1,"div",13),I(2),R(3,"translate"),C(),D(4,"div",20),I(5),C()()),2&t){const e=z(2);c(2),se(H(3,2,"vpn.status-page.data.server-note")),c(3),ce(" ",e.currentRemoteServer.personalNote," ")}}function Hoe(t,n){1&t&&xe(0,"div",15)}function Boe(t,n){if(1&t&&(D(0,"div")(1,"div",13),I(2),R(3,"translate"),C(),D(4,"div",20),I(5),C()()),2&t){const e=z(2);c(2),se(H(3,2,"vpn.status-page.data."+(e.currentRemoteServer.personalNote?"original-":"")+"server-note")),c(3),ce(" ",e.currentRemoteServer.note," ")}}function Voe(t,n){1&t&&xe(0,"div",15)}function joe(t,n){if(1&t&&(D(0,"div")(1,"div",13),I(2),R(3,"translate"),C(),D(4,"div",20),xe(5,"app-copy-to-clipboard-text",21),C()()),2&t){const e=z(2);c(2),se(H(3,2,"vpn.status-page.data.remote-pk")),c(3),w("text",e.currentRemoteServer.pk)}}function zoe(t,n){1&t&&xe(0,"div",15)}function Uoe(t,n){if(1&t&&(D(0,"div",4)(1,"div",5)(2,"div",6),xe(3,"app-top-bar",3),C()(),D(4,"div",7),V(5,boe,20,12,"div",8),V(6,woe,119,148,"div",9),D(7,"div",10)(8,"div",11)(9,"div",12)(10,"div")(11,"div",13),I(12),R(13,"translate"),C(),V(14,Toe,6,5,"div",14),V(15,Loe,3,3,"div",14),C(),xe(16,"div",15),D(17,"div")(18,"div",13),I(19),R(20,"translate"),C(),V(21,Aoe,5,4,"div",14),V(22,Foe,3,3,"div",14),C(),xe(23,"div",16)(24,"div",17)(25,"div",16),V(26,Roe,9,14,"div",18),V(27,Noe,1,0,"div",19),V(28,Yoe,6,4,"div",18),V(29,Hoe,1,0,"div",19),V(30,Boe,6,4,"div",18),V(31,Voe,1,0,"div",19),V(32,joe,6,4,"div",18),V(33,zoe,1,0,"div",19),D(34,"div")(35,"div",13),I(36),R(37,"translate"),C(),D(38,"div",20),xe(39,"app-copy-to-clipboard-text",21),C()()()()()()()),2&t){const e=z();c(3),w("titleParts",qn(29,YP))("tabsData",e.tabsData)("selectedTabIndex",0)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk),c(2),w("ngIf",!e.showStarted),c(1),w("ngIf",e.showStarted),c(6),se(H(13,23,"vpn.status-page.data.ip")),c(2),w("ngIf",e.ipInfoAllowed),c(1),w("ngIf",!e.ipInfoAllowed),c(4),se(H(20,25,"vpn.status-page.data.country")),c(2),w("ngIf",e.ipInfoAllowed),c(1),w("ngIf",!e.ipInfoAllowed),c(4),w("ngIf",e.showStarted&&e.currentRemoteServer),c(1),w("ngIf",e.showStarted&&e.currentRemoteServer),c(1),w("ngIf",e.showStarted&&e.currentRemoteServer&&e.currentRemoteServer.personalNote),c(1),w("ngIf",e.showStarted&&e.currentRemoteServer&&e.currentRemoteServer.personalNote),c(1),w("ngIf",e.showStarted&&e.currentRemoteServer&&e.currentRemoteServer.note),c(1),w("ngIf",e.showStarted&&e.currentRemoteServer&&e.currentRemoteServer.note),c(1),w("ngIf",e.showStarted&&e.currentRemoteServer),c(1),w("ngIf",e.showStarted&&e.currentRemoteServer),c(3),se(H(37,27,"vpn.status-page.data.local-pk")),c(3),w("text",e.currentLocalPk)}}let Woe=(()=>{class t extends er{constructor(e,i,o,s,a,l,d){super(),this.vpnClientService=e,this.vpnSavedDataService=i,this.snackbarService=o,this.translateService=s,this.route=a,this.dialog=l,this.router=d,this.persistentServerDataResponseKey="serv-dat-response",this.persistentIpResponseKey="serv-ip-response",this.tabsData=lr.vpnTabsData,this.sentHistory=[0,0,0,0,0,0,0,0,0,0],this.receivedHistory=[0,0,0,0,0,0,0,0,0,0],this.latencyHistory=[0,0,0,0,0,0,0,0,0,0],this.minUploadInGraph=0,this.midUploadInGraph=0,this.maxUploadInGraph=0,this.minDownloadInGraph=0,this.midDownloadInGraph=0,this.maxDownloadInGraph=0,this.minLatencyInGraph=0,this.midLatencyInGraph=0,this.maxLatencyInGraph=0,this.graphsTopInternalMargin=$1.topInternalMargin,this.connectionTimeString="00:00:00",this.calculatedSegs=-1,this.uploadSpeed=0,this.downloadSpeed=0,this.totalUploaded=0,this.totalDownloaded=0,this.latency=0,this.showSpeedsInBits=!0,this.showTotalsInBits=!1,this.loading=!0,this.showStartedLastValue=!1,this.showStarted=!1,this.lastAppState=null,this.showBusy=!1,this.stopRequested=!1,this.loadingCurrentIp=!0,this.problemGettingIp=!1,this.lastIpRefresDate=0,this.serverFlags=Pn,this.ipInfoAllowed=this.vpnSavedDataService.getCheckIpSetting();const _=this.vpnSavedDataService.getDataUnitsSetting();_===Sr.OnlyBits?(this.showSpeedsInBits=!0,this.showTotalsInBits=!0):_===Sr.OnlyBytes?(this.showSpeedsInBits=!1,this.showTotalsInBits=!1):(this.showSpeedsInBits=!0,this.showTotalsInBits=!1)}ngOnInit(){return this.navigationsSubscription=this.route.paramMap.subscribe(e=>{e.has("key")&&(this.currentLocalPk=e.get("key"),lr.changeCurrentPk(this.currentLocalPk),this.tabsData=lr.vpnTabsData),setTimeout(()=>this.navigationsSubscription.unsubscribe()),this.startGettingData(!0),this.currentRemoteServerSubscription=this.vpnSavedDataService.currentServerObservable.subscribe(i=>{this.currentRemoteServer=i})}),super.ngOnInit()}startGettingData(e){const i=e?this.getLocalValue(this.persistentServerDataResponseKey):null;let o=this.vpnClientService.backendState;i&&(o=$e(JSON.parse(i.value))),this.dataSubscription=o.subscribe(s=>{if(i||this.saveLocalValue(this.persistentServerDataResponseKey,JSON.stringify(s)),s&&s.serviceState!==jn.PerformingInitialCheck){const a=!this.backendState;if(this.backendState=s,a?(this.getIp(!0,e),console.info(2),console.info(e)):(this.lastAppState===on.Running&&s.vpnClientAppData.appState!==on.Running||this.lastAppState!==on.Running&&s.vpnClientAppData.appState===on.Running)&&(this.getIp(!0,e),console.info(1)),this.showStarted=s.vpnClientAppData.running||s.vpnClientAppData.appState!==on.Stopped,this.showStartedLastValue!==this.showStarted){for(let l=0;l<10;l++)this.receivedHistory[l]=0,this.sentHistory[l]=0,this.latencyHistory[l]=0;this.updateGraphLimits(),this.uploadSpeed=0,this.downloadSpeed=0,this.totalUploaded=0,this.totalDownloaded=0,this.latency=0}if(this.lastAppState=s.vpnClientAppData.appState,this.showStartedLastValue=this.showStarted,this.stopRequested?this.showStarted||(this.stopRequested=!1,this.showBusy=s.busy):this.showBusy=s.busy,s.vpnClientAppData.connectionData){for(let l=0;l<10;l++)this.receivedHistory[l]=s.vpnClientAppData.connectionData.downloadSpeedHistory[l],this.sentHistory[l]=s.vpnClientAppData.connectionData.uploadSpeedHistory[l],this.latencyHistory[l]=s.vpnClientAppData.connectionData.latencyHistory[l];this.updateGraphLimits(),this.uploadSpeed=s.vpnClientAppData.connectionData.uploadSpeed,this.downloadSpeed=s.vpnClientAppData.connectionData.downloadSpeed,this.totalUploaded=s.vpnClientAppData.connectionData.totalUploaded,this.totalDownloaded=s.vpnClientAppData.connectionData.totalDownloaded,this.latency=s.vpnClientAppData.connectionData.latency}s.vpnClientAppData.running&&s.vpnClientAppData.appState===on.Running&&s.vpnClientAppData.connectionData&&s.vpnClientAppData.connectionData.connectionDuration?(-1===this.calculatedSegs||s.vpnClientAppData.connectionData.connectionDuration>this.calculatedSegs+2||s.vpnClientAppData.connectionData.connectionDuration(e.add(n.schedule(eoe,t,{subscriber:e,counter:0,period:t})),e))}(1e3).subscribe(()=>{this.calculatedSegs+=1,this.refreshConnectionTimeString()})):this.timeUpdateSubscription&&(this.timeUpdateSubscription.unsubscribe(),this.timeUpdateSubscription=null,this.calculatedSegs=-1,this.connectionTimeString="00:00:00"),this.loading=!1}i&&this.startGettingData(!1)})}refreshConnectionTimeString(){const e=this.calculatedSegs%60,i=Math.floor(this.calculatedSegs/60),o=i%60,s=Math.floor(i/60);this.connectionTimeString=String(s).padStart(2,"0")+":"+String(o).padStart(2,"0")+":"+String(e).padStart(2,"0")}ngOnDestroy(){this.dataSubscription.unsubscribe(),this.navigationsSubscription.unsubscribe(),this.currentRemoteServerSubscription.unsubscribe(),this.closeOperationSubscription(),this.ipSubscription&&this.ipSubscription.unsubscribe(),this.timeUpdateSubscription&&this.timeUpdateSubscription.unsubscribe()}start(){if(!this.currentRemoteServer)return this.router.navigate(["vpn",this.currentLocalPk,"servers"]),void setTimeout(()=>this.snackbarService.showWarning("vpn.status-page.select-server-warning"),100);this.currentRemoteServer.flag!==Pn.Blocked?(this.showBusy=!0,this.vpnClientService.start()):this.snackbarService.showError("vpn.starting-blocked-server-error")}stop(){if(!this.backendState.vpnClientAppData.killswitch)return void this.finishStoppingVpn();const e=Jt.createConfirmationDialog(this.dialog,"vpn.status-page.disconnect-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.closeModal(),this.finishStoppingVpn()})}finishStoppingVpn(){this.stopRequested=!0,this.showBusy=!0,this.vpnClientService.stop()}openServerOptions(){lr.openServerOptions(this.currentRemoteServer,this.router,this.vpnSavedDataService,this.vpnClientService,this.snackbarService,this.dialog).subscribe()}getCountryName(e){return ma[e.toUpperCase()]?ma[e.toUpperCase()]:e}getNoteVar(){return this.currentRemoteServer.note&&this.currentRemoteServer.personalNote?"vpn.server-list.notes-info":!this.currentRemoteServer.note&&this.currentRemoteServer.personalNote?this.currentRemoteServer.personalNote:this.currentRemoteServer.note}getLatencyValueString(e){return lr.getLatencyValueString(e)}getPrintableLatency(e){return lr.getPrintableLatency(e)}get currentStateText(){return this.backendState.vpnClientAppData.appState===on.Stopped?"vpn.connection-info.state-disconnected":this.backendState.vpnClientAppData.appState===on.Connecting?"vpn.connection-info.state-connecting":this.backendState.vpnClientAppData.appState===on.Running?"vpn.connection-info.state-connected":this.backendState.vpnClientAppData.appState===on.ShuttingDown?"vpn.connection-info.state-disconnecting":this.backendState.vpnClientAppData.appState===on.Reconnecting?"vpn.connection-info.state-reconnecting":void 0}get currentStateLineClass(){return this.backendState.vpnClientAppData.appState===on.Stopped?"red-line":this.backendState.vpnClientAppData.appState===on.Connecting?"yellow-line":this.backendState.vpnClientAppData.appState===on.Running?"green-line":"yellow-line"}closeOperationSubscription(){this.operationSubscription&&this.operationSubscription.unsubscribe()}updateGraphLimits(){const e=this.calculateGraphLimits(this.sentHistory);this.minUploadInGraph=e[0],this.midUploadInGraph=e[1],this.maxUploadInGraph=e[2];const i=this.calculateGraphLimits(this.receivedHistory);this.minDownloadInGraph=i[0],this.midDownloadInGraph=i[1],this.maxDownloadInGraph=i[2];const o=this.calculateGraphLimits(this.latencyHistory);this.minLatencyInGraph=o[0],this.midLatencyInGraph=o[1],this.maxLatencyInGraph=o[2]}calculateGraphLimits(e){let o=0,s=0;return e.forEach(a=>{a>o&&(o=a)}),0===o&&(o+=1),s=new(Eg())(o).minus(0).dividedBy(2).plus(0).decimalPlaces(1).toNumber(),[0,s,o]}getIp(e=!1,i=!1){if(!this.ipInfoAllowed)return;if(!e){if(this.loadingCurrentIp)return void this.snackbarService.showWarning("vpn.status-page.data.ip-refresh-loading-warning");const a=1e4;if(Date.now()-this.lastIpRefresDate{o||this.saveLocalValue(this.persistentIpResponseKey,JSON.stringify(a)),this.loadingCurrentIp=!1,this.lastIpRefresDate=Date.now(),a?(this.problemGettingIp=!1,this.currentIp=a[0],this.ipCountry=a[1]):this.problemGettingIp=!0,o&&this.getIp(e,!1)},()=>{this.lastIpRefresDate=Date.now(),this.loadingCurrentIp=!1,this.problemGettingIp=!1})}}return t.\u0275fac=function(e){return new(e||t)(Y(oc),Y(rc),Y(Dn),Y(To),Y(Mr),Y(In),Y(hn))},t.\u0275cmp=Ze({type:t,selectors:[["app-vpn-status"]],features:[nt],decls:2,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["class","general-container",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","localVpnKey"],[1,"general-container"],[1,"row"],[1,"col-12"],[1,"row","flex-1"],["class","col-7 column left-area",4,"ngIf"],["class","col-7 column left-area-connected",4,"ngIf"],[1,"col-5","column","right-area"],[1,"column-container"],[1,"content-area"],[1,"title"],["class","big-text",4,"ngIf"],[1,"margin"],[1,"big-margin"],[1,"separator"],[4,"ngIf"],["class","margin",4,"ngIf"],[1,"small-text"],[3,"text"],[1,"col-7","column","left-area"],[1,"start-button",3,"ngClass","click"],[1,"start-button-img-container"],[1,"start-button-img"],[1,"start-button-img","animated-button"],[3,"diameter",4,"ngIf"],[3,"inline",4,"ngIf"],[1,"current-server"],["class","lower-text current-server-note",4,"ngIf"],["class","lower-text last-error",4,"ngIf"],[3,"diameter"],[3,"inline"],[1,"flag"],[3,"matTooltip"],[1,"text-container"],[1,"top-line"],["defaultName","vpn.unnamed",3,"isFavorite","isBlocked","hasPassword","name","pk","customName"],[1,"bottom-line"],[3,"shortSimple","text"],[1,"icon-button-separator"],[1,"icon-button"],[1,"transparent-button","vpn-small-button",3,"inline","matTooltip","click"],[1,"none"],[1,"lower-text","current-server-note"],[1,"lower-text","last-error"],[1,"col-7","column","left-area-connected"],[1,"time-container"],[1,"time-content"],[1,"state-title"],[1,"d-inline-block"],[1,"state-text"],[1,"state-explanation"],["class","last-connected-error",4,"ngIf"],[1,"data-container"],[1,"rounded-elevated-box","data-box","big-box",3,"matTooltip"],[1,"chart-container"],["height","140","color","#00000080",3,"animated","data","min","max"],[1,"chart-label"],[1,"label-container","label-top"],[1,"label"],[1,"line"],[1,"label-container","label-mid"],[1,"label-container","label-bottom"],[1,"content"],[1,"upload",3,"inline"],[1,"speed"],[1,"total"],[1,"chart-label","top-chart-label"],[1,"download",3,"inline"],[1,"latency-container"],[1,"rounded-elevated-box","data-box","small-box",3,"matTooltip"],["height","50","color","#00000080",3,"animated","data","min","max"],[1,"disconnect-button",3,"ngClass","click"],[1,"disconnect-button-container"],[1,"d-inline-flex"],[1,"last-connected-error"],[1,"big-text"],["class","small-icon blinking",3,"inline","matTooltip",4,"ngIf"],["class","big-icon transparent-button vpn-small-button",3,"inline","matTooltip","click",4,"ngIf"],[1,"small-icon","blinking",3,"inline","matTooltip"],[1,"big-icon","transparent-button","vpn-small-button",3,"inline","matTooltip","click"],["defaultName","vpn.unnamed",3,"isFavorite","isBlocked","hasPassword","adjustIconsForBigText","name","pk","customName"]],template:function(e,i){1&e&&(V(0,doe,4,6,"div",0),V(1,Uoe,40,30,"div",1)),2&e&&(w("ngIf",i.loading),c(1),w("ngIf",!i.loading))},dependencies:[Nn,Ft,Cn,vi,ec,W1,$1,as,sc,NP,wt,sf],styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .bottom-line[_ngcontent-%COMP%], .left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .top-line[_ngcontent-%COMP%], .left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .none[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}.general-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100%}.column[_ngcontent-%COMP%]{height:100%;display:flex;align-items:center;padding-top:40px;padding-bottom:20px}.column[_ngcontent-%COMP%] .column-container[_ngcontent-%COMP%]{width:100%;text-align:center}.left-area-connected[_ngcontent-%COMP%] .time-container[_ngcontent-%COMP%]{background:rgba(0,0,0,.7);border-radius:100px;font-size:.8rem;padding:8px 15px;display:inline-block}.left-area-connected[_ngcontent-%COMP%] .time-container[_ngcontent-%COMP%] .time-content[_ngcontent-%COMP%]{color:#bbb}.left-area-connected[_ngcontent-%COMP%] .time-container[_ngcontent-%COMP%] .time-content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:10px}.left-area-connected[_ngcontent-%COMP%] .time-container[_ngcontent-%COMP%] .time-content[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{vertical-align:top}.left-area-connected[_ngcontent-%COMP%] .state-title[_ngcontent-%COMP%]{font-size:1rem;color:#bbb}.left-area-connected[_ngcontent-%COMP%] .state-text[_ngcontent-%COMP%]{font-size:2rem;text-transform:uppercase}.left-area-connected[_ngcontent-%COMP%] .state-line[_ngcontent-%COMP%]{height:1px;width:100%;margin-bottom:5px}.left-area-connected[_ngcontent-%COMP%] .green-line[_ngcontent-%COMP%]{background-color:#2ecc54}.left-area-connected[_ngcontent-%COMP%] .yellow-line[_ngcontent-%COMP%]{background-color:#d48b05}.left-area-connected[_ngcontent-%COMP%] .red-line[_ngcontent-%COMP%]{background-color:#da3439}.left-area-connected[_ngcontent-%COMP%] .state-explanation[_ngcontent-%COMP%]{font-size:.7rem}.left-area-connected[_ngcontent-%COMP%] .last-connected-error[_ngcontent-%COMP%]{margin-top:15px;font-size:.8rem;color:#ff393f}.left-area-connected[_ngcontent-%COMP%] .last-connected-error[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:2px;display:inline;-webkit-user-select:none;user-select:none}.left-area-connected[_ngcontent-%COMP%] .data-container[_ngcontent-%COMP%]{margin-top:20px}.left-area-connected[_ngcontent-%COMP%] .latency-container[_ngcontent-%COMP%]{margin-bottom:20px}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%]{cursor:default;display:inline-block}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%]{height:0px;position:relative;top:-3px;left:-3px}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%]{height:0px;text-align:left}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%]{position:relative;top:-3px;left:-3px;display:flex;margin-right:-6px}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:.6rem;margin-left:5px;opacity:.2}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%] .line[_ngcontent-%COMP%]{height:1px;width:10px;background-color:#fff;flex-grow:1;opacity:.1;margin-left:10px;margin-right:5px}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-top[_ngcontent-%COMP%]{align-items:flex-start}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-mid[_ngcontent-%COMP%]{align-items:center}.left-area-connected[_ngcontent-%COMP%] .data-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-bottom[_ngcontent-%COMP%]{align-items:flex-end;position:relative;top:-6px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%]{width:170px;height:140px;margin:5px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%]{width:170px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{width:170px;height:140px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:20px;position:relative;top:-3px;left:-3px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:25px;transform:rotate(-90deg);width:40px;height:40px}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .download[_ngcontent-%COMP%]{transform:rotate(-90deg)}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .upload[_ngcontent-%COMP%]{transform:rotate(90deg)}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .speed[_ngcontent-%COMP%]{font-size:.875rem}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] .total[_ngcontent-%COMP%]{font-size:.8rem;color:#bbb}.left-area-connected[_ngcontent-%COMP%] .big-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%]{height:140px}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%]{width:352px;height:50px}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%] .chart-container[_ngcontent-%COMP%]{width:352px}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{display:inline-flex;align-items:center;height:100%;font-size:.875rem;position:relative}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:18px;height:25px;margin-right:5px}.left-area-connected[_ngcontent-%COMP%] .small-box[_ngcontent-%COMP%] .chart-label[_ngcontent-%COMP%] .label-container[_ngcontent-%COMP%]{height:50px}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%]{background:linear-gradient(#940000,#7b0000) no-repeat!important;box-shadow:5px 5px 7px #00000080;width:352px;font-size:24px;display:inline-block;border-radius:10px;overflow:hidden;cursor:pointer;-webkit-user-select:none;user-select:none}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%]:hover{background:linear-gradient(#a10000,#900000) no-repeat!important}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%]:active{transform:scale(.98);box-shadow:0 0 7px #00000080}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%]{background-image:url(/assets/img/background-pattern.png);padding:12px}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{margin-right:10px;align-self:center}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%]{display:inline-block;position:relative;top:4px;margin-right:10px;align-self:center}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}.left-area-connected[_ngcontent-%COMP%] .disconnect-button[_ngcontent-%COMP%] .disconnect-button-container[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{position:relative;top:-2px;line-height:1.7}.left-area[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:700;text-align:center;text-transform:uppercase}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%]{text-align:center;margin:10px 0;cursor:pointer;display:inline-block;width:140px;height:140px}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%]:active mat-icon[_ngcontent-%COMP%]{transform:scale(.9)}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%]:hover .start-button-img-container[_ngcontent-%COMP%]{opacity:1}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%]:hover mat-icon[_ngcontent-%COMP%]{text-shadow:0px 0px 5px white}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .start-button-img-container[_ngcontent-%COMP%]{width:0px;height:0px;opacity:.7}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .start-button-img-container[_ngcontent-%COMP%] .start-button-img[_ngcontent-%COMP%]{display:inline-block;background-image:url(/assets/img/start-button.png);background-size:contain;width:140px;height:140px}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .start-button-img-container[_ngcontent-%COMP%] .animated-button[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_button-animation 4s linear infinite;pointer-events:none}@keyframes _ngcontent-%COMP%_button-animation{0%{transform:scale(1.5);opacity:0}25%{transform:scale(1);opacity:.8}50%{transform:scale(1.5);opacity:0}to{transform:scale(1.5);opacity:0}}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{line-height:140px;font-size:50px;-webkit-user-select:none;user-select:none;text-shadow:0px 0px 2px white}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%]{display:inline-block;margin-top:50px;opacity:.5}.left-area[_ngcontent-%COMP%] .start-button[_ngcontent-%COMP%] .mat-mdc-progress-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%]{display:inline-flex;background:rgba(0,0,0,.7);border-radius:10px;padding:10px 15px;max-width:280px;text-align:left}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .none[_ngcontent-%COMP%]{font-size:.875rem}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .flag[_ngcontent-%COMP%]{background-image:url(/assets/img/big-flags/unknown.png);width:20px;height:15px;background-size:contain;align-self:center;flex-shrink:0;margin-right:12px}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .flag[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{width:20px;height:15px;background-size:contain}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]{overflow:hidden}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .top-line[_ngcontent-%COMP%]{font-size:.875rem}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .bottom-line[_ngcontent-%COMP%]{font-size:.7rem;color:#bbb}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .icon-button-separator[_ngcontent-%COMP%]{display:flex;align-items:center}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .icon-button-separator[_ngcontent-%COMP%] div[_ngcontent-%COMP%]{width:1px;height:30px;background:rgba(255,255,255,.15);margin-left:12px}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .icon-button[_ngcontent-%COMP%]{font-size:22px;line-height:1;display:flex;align-items:center;padding-left:12px}.left-area[_ngcontent-%COMP%] .current-server[_ngcontent-%COMP%] .icon-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{cursor:pointer}.left-area[_ngcontent-%COMP%] .lower-text[_ngcontent-%COMP%]{display:inline-block;max-width:280px;margin-top:10px}.left-area[_ngcontent-%COMP%] .lower-text[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{position:relative;top:2px;display:inline;-webkit-user-select:none;user-select:none}.left-area[_ngcontent-%COMP%] .current-server-note[_ngcontent-%COMP%]{font-size:.8rem;color:#bbb}.left-area[_ngcontent-%COMP%] .last-error[_ngcontent-%COMP%]{font-size:.8rem;color:#ff393f}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%]{background:rgba(61,103,162,.1490196078);padding:30px;text-align:left;max-width:420px;opacity:.95}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .title[_ngcontent-%COMP%]{font-size:.8rem;color:#bbb}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%]{font-size:1.25rem;overflow-wrap:break-word}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%]{display:inline-block;opacity:.5;margin-left:5px;position:relative;top:2px}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%] mat-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%] .small-icon[_ngcontent-%COMP%]{color:#d48b05;opacity:.7;font-size:.875rem;cursor:default;margin-left:5px}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-text[_ngcontent-%COMP%] .big-icon[_ngcontent-%COMP%]{font-size:1.125rem;margin-left:5px;position:relative;top:2px;line-height:1}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .small-text[_ngcontent-%COMP%]{font-size:.7rem;margin-top:1px;overflow-wrap:break-word}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .margin[_ngcontent-%COMP%]{height:12px}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .big-margin[_ngcontent-%COMP%]{height:15px}.right-area[_ngcontent-%COMP%] .content-area[_ngcontent-%COMP%] .separator[_ngcontent-%COMP%]{height:1px;width:100%;background:rgba(255,255,255,.15)}.disabled-button[_ngcontent-%COMP%]{opacity:.5;pointer-events:none}"]}),t})(),q1=(()=>{class t{set lastError(e){this.lastErrorInternal=e}constructor(e){this.router=e}canActivate(e,i){return this.checkIfCanActivate()}canActivateChild(e,i){return this.checkIfCanActivate()}checkIfCanActivate(){return this.lastErrorInternal?(this.router.navigate(["vpn","unavailable"],{queryParams:{problem:this.lastErrorInternal}}),$e(!1)):$e(!0)}}return t.\u0275fac=function(e){return new(e||t)(we(hn))},t.\u0275prov=Ne({token:t,factory:t.\u0275fac,providedIn:"root"}),t})();var so=(()=>((so=so||{}).UnableToConnectWithTheVpnClientApp="unavailable",so.NoLocalVisorPkProvided="pk",so.InvalidStorageState="storage",so.LocalVisorPkChangedDuringUsage="pkChange",so))();let $oe=(()=>{class t extends er{constructor(e,i,o){super(),this.route=e,this.vpnAuthGuardService=i,this.vpnClientService=o,this.problem=null,this.navigationsSubscription=this.route.queryParamMap.subscribe(s=>{this.problem=s.get("problem"),this.problem||(this.problem=so.UnableToConnectWithTheVpnClientApp),this.vpnAuthGuardService.lastError=this.problem,this.vpnClientService.stopContinuallyUpdatingData(),setTimeout(()=>this.navigationsSubscription.unsubscribe())})}getTitle(){return this.problem===so.NoLocalVisorPkProvided?"vpn.error-page.text-pk":this.problem===so.InvalidStorageState?"vpn.error-page.text-storage":this.problem===so.LocalVisorPkChangedDuringUsage?"vpn.error-page.text-pk-change":"vpn.error-page.text"}getInfo(){return this.problem===so.NoLocalVisorPkProvided?"vpn.error-page.more-info-pk":this.problem===so.InvalidStorageState?"vpn.error-page.more-info-storage":this.problem===so.LocalVisorPkChangedDuringUsage?"vpn.error-page.more-info-pk-change":"vpn.error-page.more-info"}}return t.\u0275fac=function(e){return new(e||t)(Y(Mr),Y(q1),Y(oc))},t.\u0275cmp=Ze({type:t,selectors:[["app-vpn-error"]],features:[nt],decls:12,vars:7,consts:[[1,"main-container"],[1,"text-container"],[1,"inner-container"],[1,"error-icon"],[3,"inline"],[1,"more-info"]],template:function(e,i){1&e&&(D(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"mat-icon",4),I(5,"error_outline"),C()(),D(6,"div"),I(7),R(8,"translate"),C(),D(9,"div",5),I(10),R(11,"translate"),C()()()()),2&e&&(c(4),w("inline",!0),c(3),se(H(8,3,i.getTitle())),c(3),se(H(11,5,i.getInfo())))},dependencies:[Cn,wt],styles:[".main-container[_ngcontent-%COMP%]{height:100%;display:flex}.main-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%]{width:100%;align-self:center;text-align:center}.main-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .inner-container[_ngcontent-%COMP%]{max-width:550px;display:inline-block;font-size:1.25rem}.main-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .inner-container[_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%]{font-size:80px}.main-container[_ngcontent-%COMP%] .text-container[_ngcontent-%COMP%] .inner-container[_ngcontent-%COMP%] .more-info[_ngcontent-%COMP%]{font-size:.8rem;opacity:.75;margin-top:10px}"]}),t})();const Goe=["button"],qoe=["firstInput"];let Koe=(()=>{class t{static openDialog(e,i){const o=new En;return o.data=i,o.autoFocus=!1,o.width=Vt.smallModalWidth,e.open(t,o)}constructor(e,i,o,s,a,l){this.dialogRef=e,this.data=i,this.formBuilder=o,this.snackbarService=s,this.appsService=a,this.vpnClientService=l}ngOnInit(){this.form=this.formBuilder.group({ip:[this.data.ip,Gt.compose([Gt.maxLength(15),this.validateIp.bind(this)])]}),setTimeout(()=>this.firstInput.nativeElement.focus())}ngOnDestroy(){this.operationSubscription&&this.operationSubscription.unsubscribe()}validateIp(){if(this.form){const e=this.form.get("ip").value;return Jt.checkIfIpValidOrEmpty(e)?null:{invalid:!0}}return null}save(){!this.form.valid||this.operationSubscription||(this.button.showLoading(),this.operationSubscription=this.appsService.changeAppSettings(this.data.nodePk,this.vpnClientService.vpnClientAppName,{dns:this.form.get("ip").value}).subscribe({next:this.onSuccess.bind(this),error:this.onError.bind(this)}))}onSuccess(e){this.dialogRef.close(!0),this.snackbarService.showDone("vpn.dns-config.done")}onError(e){this.button.showError(),this.operationSubscription=null,e=en(e),this.snackbarService.showError(e)}}return t.\u0275fac=function(e){return new(e||t)(Y(Bn),Y(Li),Y(vI),Y(Dn),Y(ll),Y(oc))},t.\u0275cmp=Ze({type:t,selectors:[["app-vpn-dns-config"]],viewQuery:function(e,i){if(1&e&&(_t(Goe,5),_t(qoe,5)),2&e){let o;rt(o=ot())&&(i.button=o.first),rt(o=ot())&&(i.firstInput=o.first)}},decls:14,vars:11,consts:[[3,"headline"],[3,"formGroup"],[1,"field-container"],["for","remoteKey",1,"field-label"],["formControlName","ip","maxlength","15","matInput",""],["firstInput",""],["color","primary",1,"float-right",3,"disabled","action"],["button",""]],template:function(e,i){1&e&&(D(0,"app-dialog",0),R(1,"translate"),D(2,"form",1)(3,"mat-form-field")(4,"div",2)(5,"label",3),I(6),R(7,"translate"),C(),xe(8,"input",4,5),C()()(),D(10,"app-button",6,7),ye("action",function(){return i.save()}),I(12),R(13,"translate"),C()()),2&e&&(w("headline",H(1,5,"vpn.dns-config.title")),c(2),w("formGroup",i.form),c(4),se(H(7,7,"vpn.dns-config.ip")),c(4),w("disabled",!i.form.valid),c(2),ce(" ",H(13,9,"vpn.dns-config.save-config-button")," "))},dependencies:[zi,Bi,Vi,ji,Cr,ii,Ei,ar,kr,Ui,ei,wt]}),t})();const Zoe=["topBarLoading"],Xoe=["topBarLoaded"],jP=function(){return["vpn.title"]};function Joe(t,n){if(1&t&&(D(0,"div",2)(1,"div"),xe(2,"app-top-bar",3,4),C(),xe(4,"app-loading-indicator",5),C()),2&t){const e=z();c(2),w("titleParts",qn(5,jP))("tabsData",e.tabsData)("selectedTabIndex",2)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk)}}function Qoe(t,n){1&t&&xe(0,"mat-spinner",20),2&t&&w("diameter",12)}function ese(t,n){if(1&t){const e=et();D(0,"div",6)(1,"div",7),xe(2,"app-top-bar",3,8),C(),D(4,"div",9)(5,"div",10)(6,"div",11)(7,"div",12)(8,"table",13)(9,"tr")(10,"th",14)(11,"div",15)(12,"div",16),I(13),R(14,"translate"),C()()(),D(15,"th",14),I(16),R(17,"translate"),C()(),D(18,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeKillswitchOption())}),D(19,"td",14)(20,"div"),I(21),R(22,"translate"),D(23,"mat-icon",18),R(24,"translate"),I(25,"help"),C()()(),D(26,"td",14),xe(27,"span"),I(28),R(29,"translate"),V(30,Qoe,1,1,"mat-spinner",19),C()(),D(31,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeGetIpOption())}),D(32,"td",14)(33,"div"),I(34),R(35,"translate"),D(36,"mat-icon",18),R(37,"translate"),I(38,"help"),C()()(),D(39,"td",14),xe(40,"span"),I(41),R(42,"translate"),C()(),D(43,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeDataUnits())}),D(44,"td",14)(45,"div"),I(46),R(47,"translate"),D(48,"mat-icon",18),R(49,"translate"),I(50,"help"),C()()(),D(51,"td",14),I(52),R(53,"translate"),C()(),D(54,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeHops())}),D(55,"td",14)(56,"div"),I(57),R(58,"translate"),D(59,"mat-icon",18),R(60,"translate"),I(61,"help"),C()()(),D(62,"td",14),I(63),C()(),D(64,"tr",17),ye("click",function(){return Pe(e),Oe(z().changeDns())}),D(65,"td",14)(66,"div"),I(67),R(68,"translate"),D(69,"mat-icon",18),R(70,"translate"),I(71,"help"),C()()(),D(72,"td",14),I(73),R(74,"translate"),C()()()()()()()()}if(2&t){const e=z();c(2),w("titleParts",qn(64,jP))("tabsData",e.tabsData)("selectedTabIndex",2)("showUpdateButton",!1)("localVpnKey",e.currentLocalPk),c(11),ce(" ",H(14,32,"vpn.settings-page.setting-small-table-label")," "),c(3),ce(" ",H(17,34,"vpn.settings-page.value-small-table-label")," "),c(5),ce(" ",H(22,36,"vpn.settings-page.killswitch")," "),c(2),w("inline",!0)("matTooltip",H(24,38,"vpn.settings-page.killswitch-info")),c(4),eo(e.getStatusClass(e.backendData.vpnClientAppData.killswitch)),c(1),ce(" ",H(29,40,e.getStatusText(e.backendData.vpnClientAppData.killswitch))," "),c(2),w("ngIf",e.working===e.workingOptions.Killswitch),c(4),ce(" ",H(35,42,"vpn.settings-page.get-ip")," "),c(2),w("inline",!0)("matTooltip",H(37,44,"vpn.settings-page.get-ip-info")),c(4),eo(e.getStatusClass(e.getIpOption)),c(1),ce(" ",H(42,46,e.getStatusText(e.getIpOption))," "),c(5),ce(" ",H(47,48,"vpn.settings-page.data-units")," "),c(2),w("inline",!0)("matTooltip",H(49,50,"vpn.settings-page.data-units-info")),c(4),ce(" ",H(53,52,e.getUnitsOptionText(e.dataUnitsOption))," "),c(5),ce(" ",H(58,54,"vpn.settings-page.minimum-hops")," "),c(2),w("inline",!0)("matTooltip",H(60,56,"vpn.settings-page.minimum-hops-info")),c(4),ce(" ",e.backendData.vpnClientAppData.minHops," "),c(4),ce(" ",H(68,58,"vpn.settings-page.dns")," "),c(2),w("inline",!0)("matTooltip",H(70,60,"vpn.settings-page.dns-info")),c(4),ce(" ",e.backendData.vpnClientAppData.dns?e.backendData.vpnClientAppData.dns:H(74,62,"vpn.settings-page.setting-none")," ")}}var Lo=(()=>((Lo=Lo||{})[Lo.None=0]="None",Lo[Lo.Killswitch=1]="Killswitch",Lo))();const tse=[{path:"",component:OW},{path:"login",component:HI},{path:"nodes",canActivate:[Uh],canActivateChild:[Uh],children:[{path:"",redirectTo:"list/1",pathMatch:"full"},{path:"list",redirectTo:"list/1",pathMatch:"full"},{path:"list/:page",component:lP},{path:"dmsg",redirectTo:"dmsg/1",pathMatch:"full"},{path:"dmsg/:page",component:lP},{path:":key",component:Ct,children:[{path:"",redirectTo:"routing",pathMatch:"full"},{path:"info",component:Jie},{path:"routing",component:Aee},{path:"apps",component:_ie},{path:"transports",redirectTo:"transports/1",pathMatch:"full"},{path:"transports/:page",component:vie},{path:"routes",redirectTo:"routes/1",pathMatch:"full"},{path:"routes/:page",component:Mie},{path:"apps-list/:showOfficialApps/:page",component:Cie}]}]},{path:"settings",canActivate:[Uh],canActivateChild:[Uh],children:[{path:"",component:zJ},{path:"labels",redirectTo:"labels/1",pathMatch:"full"},{path:"labels/:page",component:ere}]},{path:"vpnlogin/:key",component:HI},{path:"vpn",canActivate:[q1],canActivateChild:[q1],children:[{path:"unavailable",component:$oe},{path:":key",children:[{path:"status",component:Woe},{path:"servers",redirectTo:"servers/public/1",pathMatch:"full"},{path:"servers/:type/:page",component:RP},{path:"settings",component:(()=>{class t extends er{constructor(e,i,o,s,a,l){super(),this.vpnClientService=e,this.snackbarService=i,this.appsService=o,this.vpnSavedDataService=s,this.dialog=a,this.loading=!0,this.tabsData=lr.vpnTabsData,this.working=Lo.None,this.workingOptions=Lo,this.navigationsSubscription=l.paramMap.subscribe(d=>{d.has("key")&&(this.currentLocalPk=d.get("key"),lr.changeCurrentPk(this.currentLocalPk),this.tabsData=lr.vpnTabsData)}),this.dataSubscription=this.vpnClientService.backendState.subscribe(d=>{d&&d.serviceState!==jn.PerformingInitialCheck&&(this.backendData=d,this.loading=!1)}),this.getIpOption=this.vpnSavedDataService.getCheckIpSetting(),this.dataUnitsOption=this.vpnSavedDataService.getDataUnitsSetting()}ngOnDestroy(){this.navigationsSubscription.unsubscribe(),this.dataSubscription.unsubscribe(),this.operationSubscription&&this.operationSubscription.unsubscribe()}getStatusClass(e){return!0===e?"dot-green":"dot-red"}getStatusText(e){return!0===e?"vpn.settings-page.setting-on":"vpn.settings-page.setting-off"}getUnitsOptionText(e){switch(e){case Sr.OnlyBits:return"vpn.settings-page.data-units-modal.only-bits";case Sr.OnlyBytes:return"vpn.settings-page.data-units-modal.only-bytes";default:return"vpn.settings-page.data-units-modal.bits-speed-and-bytes-volume"}}changeKillswitchOption(){if(this.working===Lo.None)if(this.backendData.vpnClientAppData.running){const e=Jt.createConfirmationDialog(this.dialog,"vpn.settings-page.change-while-connected-confirmation");e.componentInstance.operationAccepted.subscribe(()=>{e.componentInstance.closeModal(),this.finishChangingKillswitchOption()})}else this.finishChangingKillswitchOption();else this.snackbarService.showWarning("vpn.settings-page.working-warning")}finishChangingKillswitchOption(){this.working=Lo.Killswitch,this.operationSubscription=this.appsService.changeAppSettings(this.currentLocalPk,this.vpnClientService.vpnClientAppName,{killswitch:!this.backendData.vpnClientAppData.killswitch}).subscribe(()=>{this.working=Lo.None,this.vpnClientService.updateData()},e=>{this.working=Lo.None,e=en(e),this.snackbarService.showError(e)})}changeGetIpOption(){this.getIpOption=!this.getIpOption,this.vpnSavedDataService.setCheckIpSetting(this.getIpOption)}changeDataUnits(){const e=[],i=[];Object.keys(Sr).forEach(o=>{const s={label:this.getUnitsOptionText(Sr[o])};this.dataUnitsOption===Sr[o]&&(s.icon="done"),e.push(s),i.push(Sr[o])}),qr.openDialog(this.dialog,e,"vpn.settings-page.data-units-modal.title").afterClosed().subscribe(o=>{o&&(this.dataUnitsOption=i[o-1],this.vpnSavedDataService.setDataUnitsSetting(this.dataUnitsOption),this.topBarLoading&&this.topBarLoading.updateVpnDataStatsUnit(),this.topBarLoaded&&this.topBarLoaded.updateVpnDataStatsUnit())})}changeHops(){IP.openDialog(this.dialog,{nodePk:this.currentLocalPk,minHops:this.backendData.vpnClientAppData.minHops}).afterClosed().subscribe()}changeDns(){Koe.openDialog(this.dialog,{nodePk:this.currentLocalPk,ip:this.backendData.vpnClientAppData.dns}).afterClosed().subscribe()}}return t.\u0275fac=function(e){return new(e||t)(Y(oc),Y(Dn),Y(ll),Y(rc),Y(In),Y(Mr))},t.\u0275cmp=Ze({type:t,selectors:[["app-vpn-settings-list"]],viewQuery:function(e,i){if(1&e&&(_t(Zoe,5),_t(Xoe,5)),2&e){let o;rt(o=ot())&&(i.topBarLoading=o.first),rt(o=ot())&&(i.topBarLoaded=o.first)}},features:[nt],decls:2,vars:2,consts:[["class","d-flex flex-column h-100 w-100",4,"ngIf"],["class","row",4,"ngIf"],[1,"d-flex","flex-column","h-100","w-100"],[3,"titleParts","tabsData","selectedTabIndex","showUpdateButton","localVpnKey"],["topBarLoading",""],[1,"h-100"],[1,"row"],[1,"col-12"],["topBarLoaded",""],[1,"col-12","mt-4.5","vpn-table-container"],[1,"width-limiter"],[1,"rounded-elevated-box"],[1,"box-internal-container"],["cellspacing","0","cellpadding","0",1,"responsive-table-translucid","d-none","d-md-table"],[1,"data-column"],[1,"header-container"],[1,"header-text"],[1,"selectable",3,"click"],[1,"help-icon",3,"inline","matTooltip"],[3,"diameter",4,"ngIf"],[3,"diameter"]],template:function(e,i){1&e&&(V(0,Joe,5,6,"div",0),V(1,ese,75,65,"div",1)),2&e&&(w("ngIf",i.loading),c(1),w("ngIf",!i.loading))},dependencies:[Ft,Cn,vi,ec,as,sc,wt],styles:["span[_ngcontent-%COMP%]{overflow-wrap:break-word}.font-sm[_ngcontent-%COMP%]{font-size:.875rem!important;font-weight:lighter!important}.font-smaller[_ngcontent-%COMP%]{font-size:.8rem!important;font-weight:lighter!important}.uppercase[_ngcontent-%COMP%]{text-transform:uppercase}.single-line[_ngcontent-%COMP%], .header-container[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%], .data-column[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.green-text[_ngcontent-%COMP%]{color:#2ecc54}.green-clear-text[_ngcontent-%COMP%]{color:#84c826}.yellow-text[_ngcontent-%COMP%]{color:#d48b05}.yellow-clear-text[_ngcontent-%COMP%]{color:orange}.red-text[_ngcontent-%COMP%]{color:#da3439}.red-clear-text[_ngcontent-%COMP%]{color:#ff393f}.grey-text[_ngcontent-%COMP%]{color:#777!important}table[_ngcontent-%COMP%]{width:100%}table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding-top:7px!important;padding-bottom:7px!important;font-size:12px!important;font-weight:400!important}.data-column[_ngcontent-%COMP%]{max-width:0;width:50%}.header-container[_ngcontent-%COMP%]{max-width:100%;display:inline-flex}.header-container[_ngcontent-%COMP%] .header-text[_ngcontent-%COMP%]{flex-grow:1}mat-spinner[_ngcontent-%COMP%]{display:inline-block;opacity:.5;margin-left:2px;position:relative;top:2px}mat-spinner[_ngcontent-%COMP%] circle{stroke:#f8f9f9}"]}),t})()},{path:"**",redirectTo:"status"}]},{path:"**",redirectTo:"/vpn/unavailable?problem=pk"}]},{path:"**",redirectTo:""}];let nse=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[H2.forRoot(tse,{useHash:!0}),H2]}),t})(),rse=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[Wn]}),t})();class ose{getTranslation(n){return ue(N(6297)(`./${n}.json`))}}let sse=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t}),t.\u0275inj=Nt({imports:[pE.forRoot({loader:{provide:jh,useClass:ose}}),pE]}),t})(),ase=(()=>{class t{shouldDetach(e){return!1}store(e,i){}shouldAttach(e){return!1}retrieve(e){return null}shouldReuseRoute(e,i){return!1}}return t.\u0275fac=function(e){return new(e||t)},t.\u0275prov=Ne({token:t,factory:t.\u0275fac}),t})();const lse={disabled:!0};let cse=(()=>{class t{}return t.\u0275fac=function(e){return new(e||t)},t.\u0275mod=Ht({type:t,bootstrap:[g1]}),t.\u0275inj=Nt({providers:[ef,{provide:a1,useValue:{duration:3e3,verticalPosition:"top"}},{provide:UL,useValue:{width:"600px",hasBackdrop:!0}},{provide:e1,useClass:tU},{provide:E2,useClass:ase},{provide:t1,useValue:lse}],imports:[ID,f8,D$,j8,nse,sse,tE,kU,Lg,fG,Kte,eE,cW,TG,VK,S$,rse,Vq,SW,uK]}),t})();Mc(Ct,[Nn,Ft,Am,Cn,as,sc,AP],[wt]),Mc(RP,[Nn,gi,Ft,hd,qa,Wr,Cn,vi,W1,as,Bd,sc,NP],[cD,wt]),dB().bootstrapModule(cse).catch(t=>console.log(t))},9774:function(de,ge,N){var O;!function(v){"use strict";var u,f=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,h=Math.ceil,M=Math.floor,p="[BigNumber Error] ",y=p+"Number primitive has more than 15 significant digits: ",x=1e14,T=14,S=9007199254740991,k=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],L=1e7,A=1e9;function B(Q){var ee=0|Q;return Q>0||Q===ee?ee:ee-1}function K(Q){for(var ee,ae,le=1,J=Q.length,Te=Q[0]+"";lett^ae?1:-1;for(ke=(Be=J.length)<(tt=Te.length)?Be:tt,Se=0;SeTe[Se]^ae?1:-1;return Be==tt?0:Be>tt^ae?1:-1}function ve(Q,ee,ae,le){if(Qae||Q!==(Q<0?h(Q):M(Q)))throw Error(p+(le||"Argument")+("number"==typeof Q?Qae?" out of range: ":" not an integer: ":" not a primitive number: ")+Q)}function Z(Q){return"[object Array]"==Object.prototype.toString.call(Q)}function X(Q){var ee=Q.c.length-1;return B(Q.e/T)==ee&&Q.c[ee]%2!=0}function he(Q,ee){return(Q.length>1?Q.charAt(0)+"."+Q.slice(1):Q)+(ee<0?"e":"e+")+ee}function q(Q,ee,ae){var le,J;if(ee<0){for(J=ae+".";++ee;J+=ae);Q=J+Q}else if(++ee>(le=Q.length)){for(J=ae,ee-=le;--ee;J+=ae);Q+=J}else ee=10;be/=10,ue++);return Ie.e=ue,void(Ie.c=[W])}De=W+""}else{if(!f.test(De=W+""))return le(Ie,De,me);Ie.s=45==De.charCodeAt(0)?(De=De.slice(1),-1):1}(ue=De.indexOf("."))>-1&&(De=De.replace(".","")),(be=De.search(/e/i))>0?(ue<0&&(ue=be),ue+=+De.slice(be+1),De=De.substring(0,be)):ue<0&&(ue=De.length)}else{if(ve(oe,2,zn.length,"Base"),De=W+"",10==oe)return Xe(Ie=new Ge(W instanceof Ge?W:De),Se+Ie.e+1,ke);if(me="number"==typeof W){if(0*W!=0)return le(Ie,De,me,oe);if(Ie.s=1/W<0?(De=De.slice(1),-1):1,Ge.DEBUG&&De.replace(/^0\.0*|\./,"").length>15)throw Error(y+W);me=!1}else Ie.s=45===De.charCodeAt(0)?(De=De.slice(1),-1):1;for(te=zn.slice(0,oe),ue=be=0,Me=De.length;beue){ue=Me;continue}}else if(!fe&&(De==De.toUpperCase()&&(De=De.toLowerCase())||De==De.toLowerCase()&&(De=De.toUpperCase()))){fe=!0,be=-1,ue=0;continue}return le(Ie,W+"",me,oe)}(ue=(De=ae(De,oe,10,Ie.s)).indexOf("."))>-1?De=De.replace(".",""):ue=De.length}for(be=0;48===De.charCodeAt(be);be++);for(Me=De.length;48===De.charCodeAt(--Me););if(De=De.slice(be,++Me)){if(Me-=be,me&&Ge.DEBUG&&Me>15&&(W>S||W!==M(W)))throw Error(y+Ie.s*W);if((ue=ue-be-1)>at)Ie.c=Ie.e=null;else if(ueme){if(--oe>0)for(Me+=".";oe--;Me+="0");}else if((oe+=ue-me)>0)for(ue+1==me&&(Me+=".");oe--;Me+="0");return W.s<0&&fe?"-"+Me:Me}function Oi(W,oe){var te,pe,fe=0;for(Z(W[0])&&(W=W[0]),te=new Ge(W[0]);++fe=10;fe/=10,pe++);return(te=pe+te*T-1)>at?W.c=W.e=null:te=10;me/=10,fe++);if((ue=oe-fe)<0)ue+=T,Ie=(Me=Ye[De=0])/ut[fe-(be=oe)-1]%10|0;else if((De=h((ue+1)/T))>=Ye.length){if(!pe)break e;for(;Ye.length<=De;Ye.push(0));Me=Ie=0,fe=1,be=(ue%=T)-T+1}else{for(Me=me=Ye[De],fe=1;me>=10;me/=10,fe++);Ie=(be=(ue%=T)-T+fe)<0?0:Me/ut[fe-be-1]%10|0}if(pe=pe||oe<0||null!=Ye[De+1]||(be<0?Me:Me%ut[fe-be-1]),pe=te<4?(Ie||pe)&&(0==te||te==(W.s<0?3:2)):Ie>5||5==Ie&&(4==te||pe||6==te&&(ue>0?be>0?Me/ut[fe-be]:0:Ye[De-1])%10&1||te==(W.s<0?8:7)),oe<1||!Ye[0])return Ye.length=0,pe?(Ye[0]=ut[(T-(oe-=W.e+1)%T)%T],W.e=-oe||0):Ye[0]=W.e=0,W;if(0==ue?(Ye.length=De,me=1,De--):(Ye.length=De+1,me=ut[T-ue],Ye[De]=be>0?M(Me/ut[fe-be]%ut[be])*me:0),pe)for(;;){if(0==De){for(ue=1,be=Ye[0];be>=10;be/=10,ue++);for(be=Ye[0]+=me,me=1;be>=10;be/=10,me++);ue!=me&&(W.e++,Ye[0]==x&&(Ye[0]=1));break}if(Ye[De]+=me,Ye[De]!=x)break;Ye[De--]=0,me=1}for(ue=Ye.length;0===Ye[--ue];Ye.pop());}W.e>at?W.c=W.e=null:W.e>>11))>=9e15?(fe=crypto.getRandomValues(new Uint32Array(2)),pe[Me]=fe[0],pe[Me+1]=fe[1]):(De.push(me%1e14),Me+=2);Me=be/2}else{if(!crypto.randomBytes)throw jt=!1,Error(p+"crypto unavailable");for(pe=crypto.randomBytes(be*=7);Me=9e15?crypto.randomBytes(7).copy(pe,Me):(De.push(me%1e14),Me+=7);Me=be/7}if(!jt)for(;Me=10;me/=10,Me++);Mefe-1&&(null==me[be+1]&&(me[be+1]=0),me[be+1]+=me[be]/fe|0,me[be]%=fe)}return me.reverse()}return function(te,pe,fe,ue,be){var me,Me,De,Ie,Ye,ut,mt,it,fn=te.indexOf("."),An=Se,bt=ke;for(fn>=0&&(Ie=Zn,Zn=0,te=te.replace(".",""),ut=(it=new Ge(pe)).pow(te.length-fn),Zn=Ie,it.c=oe(q(K(ut.c),ut.e,"0"),10,fe,W),it.e=it.c.length),De=Ie=(mt=oe(te,pe,fe,be?(me=zn,W):(me=W,zn))).length;0==mt[--Ie];mt.pop());if(!mt[0])return me.charAt(0);if(fn<0?--De:(ut.c=mt,ut.e=De,ut.s=ue,mt=(ut=ee(ut,it,An,bt,fe)).c,Ye=ut.r,De=ut.e),fn=mt[Me=De+An+1],Ie=fe/2,Ye=Ye||Me<0||null!=mt[Me+1],Ye=bt<4?(null!=fn||Ye)&&(0==bt||bt==(ut.s<0?3:2)):fn>Ie||fn==Ie&&(4==bt||Ye||6==bt&&1&mt[Me-1]||bt==(ut.s<0?8:7)),Me<1||!mt[0])te=Ye?q(me.charAt(1),-An,me.charAt(0)):me.charAt(0);else{if(mt.length=Me,Ye)for(--fe;++mt[--Me]>fe;)mt[Me]=0,Me||(++De,mt=[1].concat(mt));for(Ie=mt.length;!mt[--Ie];);for(fn=0,te="";fn<=Ie;te+=me.charAt(mt[fn++]));te=q(te,De,me.charAt(0))}return te}}(),ee=function(){function W(pe,fe,ue){var be,me,Me,De,Ie=0,Ye=pe.length,ut=fe%L,mt=fe/L|0;for(pe=pe.slice();Ye--;)Ie=((me=ut*(Me=pe[Ye]%L)+(be=mt*Me+(De=pe[Ye]/L|0)*ut)%L*L+Ie)/ue|0)+(be/L|0)+mt*De,pe[Ye]=me%ue;return Ie&&(pe=[Ie].concat(pe)),pe}function oe(pe,fe,ue,be){var me,Me;if(ue!=be)Me=ue>be?1:-1;else for(me=Me=0;mefe[me]?1:-1;break}return Me}function te(pe,fe,ue,be){for(var me=0;ue--;)pe[ue]-=me,pe[ue]=(me=pe[ue]1;pe.splice(0,1));}return function(pe,fe,ue,be,me){var Me,De,Ie,Ye,ut,mt,it,fn,An,bt,qt,Gn,oi,Kr,Io,Ai,ln,wi=pe.s==fe.s?1:-1,si=pe.c,Fn=fe.c;if(!(si&&si[0]&&Fn&&Fn[0]))return new Ge(pe.s&&fe.s&&(si?!Fn||si[0]!=Fn[0]:Fn)?si&&0==si[0]||!Fn?0*wi:wi/0:NaN);for(An=(fn=new Ge(wi)).c=[],wi=ue+(De=pe.e-fe.e)+1,me||(me=x,De=B(pe.e/T)-B(fe.e/T),wi=wi/T|0),Ie=0;Fn[Ie]==(si[Ie]||0);Ie++);if(Fn[Ie]>(si[Ie]||0)&&De--,wi<0)An.push(1),Ye=!0;else{for(Kr=si.length,Ai=Fn.length,Ie=0,wi+=2,(ut=M(me/(Fn[0]+1)))>1&&(Fn=W(Fn,ut,me),si=W(si,ut,me),Ai=Fn.length,Kr=si.length),oi=Ai,qt=(bt=si.slice(0,Ai)).length;qt=me/2&&Io++;do{if(ut=0,(Me=oe(Fn,bt,Ai,qt))<0){if(Gn=bt[0],Ai!=qt&&(Gn=Gn*me+(bt[1]||0)),(ut=M(Gn/Io))>1)for(ut>=me&&(ut=me-1),it=(mt=W(Fn,ut,me)).length,qt=bt.length;1==oe(mt,bt,it,qt);)ut--,te(mt,Ai=10;wi/=10,Ie++);Xe(fn,ue+(fn.e=Ie+De*T-1)+1,be,Ye)}else fn.e=De,fn.r=+Ye;return fn}}(),le=function(){var W=/^(-?)0([xbo])(?=\w[\w.]*$)/i,oe=/^([^.]+)\.$/,te=/^\.([^.]+)$/,pe=/^-?(Infinity|NaN)$/,fe=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(ue,be,me,Me){var De,Ie=me?be:be.replace(fe,"");if(pe.test(Ie))ue.s=isNaN(Ie)?null:Ie<0?-1:1,ue.c=ue.e=null;else{if(!me&&(Ie=Ie.replace(W,function(Ye,ut,mt){return De="x"==(mt=mt.toLowerCase())?16:"b"==mt?2:8,Me&&Me!=De?Ye:ut}),Me&&(De=Me,Ie=Ie.replace(oe,"$1").replace(te,"0.$1")),be!=Ie))return new Ge(Ie,De);if(Ge.DEBUG)throw Error(p+"Not a"+(Me?" base "+Me:"")+" number: "+be);ue.c=ue.e=ue.s=null}}}(),J.absoluteValue=J.abs=function(){var W=new Ge(this);return W.s<0&&(W.s=1),W},J.comparedTo=function(W,oe){return re(this,new Ge(W,oe))},J.decimalPlaces=J.dp=function(W,oe){var te,pe,fe;if(null!=W)return ve(W,0,A),null==oe?oe=ke:ve(oe,0,8),Xe(new Ge(this),W+this.e+1,oe);if(!(te=this.c))return null;if(pe=((fe=te.length-1)-B(this.e/T))*T,fe=te[fe])for(;fe%10==0;fe/=10,pe--);return pe<0&&(pe=0),pe},J.dividedBy=J.div=function(W,oe){return ee(this,new Ge(W,oe),Se,ke)},J.dividedToIntegerBy=J.idiv=function(W,oe){return ee(this,new Ge(W,oe),0,1)},J.exponentiatedBy=J.pow=function(W,oe){var te,pe,fe,be,me,Me,De,Ie=this;if((W=new Ge(W)).c&&!W.isInteger())throw Error(p+"Exponent not an integer: "+W);if(null!=oe&&(oe=new Ge(oe)),be=W.e>14,!Ie.c||!Ie.c[0]||1==Ie.c[0]&&!Ie.e&&1==Ie.c.length||!W.c||!W.c[0])return De=new Ge(Math.pow(+Ie.valueOf(),be?2-X(W):+W)),oe?De.mod(oe):De;if(me=W.s<0,oe){if(oe.c?!oe.c[0]:!oe.s)return new Ge(NaN);(pe=!me&&Ie.isInteger()&&oe.isInteger())&&(Ie=Ie.mod(oe))}else{if(W.e>9&&(Ie.e>0||Ie.e<-1||(0==Ie.e?Ie.c[0]>1||be&&Ie.c[1]>=24e7:Ie.c[0]<8e13||be&&Ie.c[0]<=9999975e7)))return fe=Ie.s<0&&X(W)?-0:0,Ie.e>-1&&(fe=1/fe),new Ge(me?1/fe:fe);Zn&&(fe=h(Zn/T+2))}for(be?(te=new Ge(.5),Me=X(W)):Me=W%2,me&&(W.s=1),De=new Ge(Te);;){if(Me){if(!(De=De.times(Ie)).c)break;fe?De.c.length>fe&&(De.c.length=fe):pe&&(De=De.mod(oe))}if(be){if(Xe(W=W.times(te),W.e+1,1),!W.c[0])break;be=W.e>14,Me=X(W)}else{if(!(W=M(W/2)))break;Me=W%2}Ie=Ie.times(Ie),fe?Ie.c&&Ie.c.length>fe&&(Ie.c.length=fe):pe&&(Ie=Ie.mod(oe))}return pe?De:(me&&(De=Te.div(De)),oe?De.mod(oe):fe?Xe(De,Zn,ke,void 0):De)},J.integerValue=function(W){var oe=new Ge(this);return null==W?W=ke:ve(W,0,8),Xe(oe,oe.e+1,W)},J.isEqualTo=J.eq=function(W,oe){return 0===re(this,new Ge(W,oe))},J.isFinite=function(){return!!this.c},J.isGreaterThan=J.gt=function(W,oe){return re(this,new Ge(W,oe))>0},J.isGreaterThanOrEqualTo=J.gte=function(W,oe){return 1===(oe=re(this,new Ge(W,oe)))||0===oe},J.isInteger=function(){return!!this.c&&B(this.e/T)>this.c.length-2},J.isLessThan=J.lt=function(W,oe){return re(this,new Ge(W,oe))<0},J.isLessThanOrEqualTo=J.lte=function(W,oe){return-1===(oe=re(this,new Ge(W,oe)))||0===oe},J.isNaN=function(){return!this.s},J.isNegative=function(){return this.s<0},J.isPositive=function(){return this.s>0},J.isZero=function(){return!!this.c&&0==this.c[0]},J.minus=function(W,oe){var te,pe,fe,ue,be=this,me=be.s;if(oe=(W=new Ge(W,oe)).s,!me||!oe)return new Ge(NaN);if(me!=oe)return W.s=-oe,be.plus(W);var Me=be.e/T,De=W.e/T,Ie=be.c,Ye=W.c;if(!Me||!De){if(!Ie||!Ye)return Ie?(W.s=-oe,W):new Ge(Ye?be:NaN);if(!Ie[0]||!Ye[0])return Ye[0]?(W.s=-oe,W):new Ge(Ie[0]?be:3==ke?-0:0)}if(Me=B(Me),De=B(De),Ie=Ie.slice(),me=Me-De){for((ue=me<0)?(me=-me,fe=Ie):(De=Me,fe=Ye),fe.reverse(),oe=me;oe--;fe.push(0));fe.reverse()}else for(pe=(ue=(me=Ie.length)<(oe=Ye.length))?me:oe,me=oe=0;oe0)for(;oe--;Ie[te++]=0);for(oe=x-1;pe>me;){if(Ie[--pe]=0;){for(te=0,ut=Gn[fe]%An,mt=Gn[fe]/An|0,ue=fe+(be=Me);ue>fe;)te=((De=ut*(De=qt[--be]%An)+(me=mt*De+(Ie=qt[be]/An|0)*ut)%An*An+it[ue]+te)/fn|0)+(me/An|0)+mt*Ie,it[ue--]=De%fn;it[ue]=te}return te?++pe:it.splice(0,1),dr(W,it,pe)},J.negated=function(){var W=new Ge(this);return W.s=-W.s||null,W},J.plus=function(W,oe){var te,pe=this,fe=pe.s;if(oe=(W=new Ge(W,oe)).s,!fe||!oe)return new Ge(NaN);if(fe!=oe)return W.s=-oe,pe.minus(W);var ue=pe.e/T,be=W.e/T,me=pe.c,Me=W.c;if(!ue||!be){if(!me||!Me)return new Ge(fe/0);if(!me[0]||!Me[0])return Me[0]?W:new Ge(me[0]?pe:0*fe)}if(ue=B(ue),be=B(be),me=me.slice(),fe=ue-be){for(fe>0?(be=ue,te=Me):(fe=-fe,te=me),te.reverse();fe--;te.push(0));te.reverse()}for((fe=me.length)-(oe=Me.length)<0&&(te=Me,Me=me,me=te,oe=fe),fe=0;oe;)fe=(me[--oe]=me[oe]+Me[oe]+fe)/x|0,me[oe]=x===me[oe]?0:me[oe]%x;return fe&&(me=[fe].concat(me),++be),dr(W,me,be)},J.precision=J.sd=function(W,oe){var te,pe,fe;if(null!=W&&W!==!!W)return ve(W,1,A),null==oe?oe=ke:ve(oe,0,8),Xe(new Ge(this),W,oe);if(!(te=this.c))return null;if(pe=(fe=te.length-1)*T+1,fe=te[fe]){for(;fe%10==0;fe/=10,pe--);for(fe=te[0];fe>=10;fe/=10,pe++);}return W&&this.e+1>pe&&(pe=this.e+1),pe},J.shiftedBy=function(W){return ve(W,-S,S),this.times("1e"+W)},J.squareRoot=J.sqrt=function(){var W,oe,te,pe,fe,ue=this,be=ue.c,me=ue.s,Me=ue.e,De=Se+4,Ie=new Ge("0.5");if(1!==me||!be||!be[0])return new Ge(!me||me<0&&(!be||be[0])?NaN:be?ue:1/0);if(0==(me=Math.sqrt(+ue))||me==1/0?(((oe=K(be)).length+Me)%2==0&&(oe+="0"),me=Math.sqrt(oe),Me=B((Me+1)/2)-(Me<0||Me%2),te=new Ge(oe=me==1/0?"1e"+Me:(oe=me.toExponential()).slice(0,oe.indexOf("e")+1)+Me)):te=new Ge(me+""),te.c[0])for((me=(Me=te.e)+De)<3&&(me=0);;)if(te=Ie.times((fe=te).plus(ee(ue,fe,De,1))),K(fe.c).slice(0,me)===(oe=K(te.c)).slice(0,me)){if(te.e0&&ut>0){for(Me=Ye.substr(0,pe=ut%ue||ue);pe0&&(Me+=me+Ye.slice(pe)),Ie&&(Me="-"+Me)}te=De?Me+On.decimalSeparator+((be=+On.fractionGroupSize)?De.replace(new RegExp("\\d{"+be+"}\\B","g"),"$&"+On.fractionGroupSeparator):De):Me}return te},J.toFraction=function(W){var oe,te,pe,fe,ue,be,me,Me,De,Ie,Ye,ut,mt=this,it=mt.c;if(null!=W&&(!(Me=new Ge(W)).isInteger()&&(Me.c||1!==Me.s)||Me.lt(Te)))throw Error(p+"Argument "+(Me.isInteger()?"out of range: ":"not an integer: ")+W);if(!it)return mt.toString();for(te=new Ge(Te),Ie=pe=new Ge(Te),fe=De=new Ge(Te),ut=K(it),be=te.e=ut.length-mt.e-1,te.c[0]=k[(me=be%T)<0?T+me:me],W=!W||Me.comparedTo(te)>0?be>0?te:Ie:Me,me=at,at=1/0,Me=new Ge(ut),De.c[0]=0;Ye=ee(Me,te,0,1),1!=(ue=pe.plus(Ye.times(fe))).comparedTo(W);)pe=fe,fe=ue,Ie=De.plus(Ye.times(ue=Ie)),De=ue,te=Me.minus(Ye.times(ue=te)),Me=ue;return ue=ee(W.minus(pe),fe,0,1),De=De.plus(ue.times(Ie)),pe=pe.plus(ue.times(fe)),De.s=Ie.s=mt.s,oe=ee(Ie,fe,be*=2,ke).minus(mt).abs().comparedTo(ee(De,pe,be,ke).minus(mt).abs())<1?[Ie.toString(),fe.toString()]:[De.toString(),pe.toString()],at=me,oe},J.toNumber=function(){return+this},J.toPrecision=function(W,oe){return null!=W&&ve(W,1,A),Pi(this,W,oe,2)},J.toString=function(W){var oe,pe=this.s,fe=this.e;return null===fe?pe?(oe="Infinity",pe<0&&(oe="-"+oe)):oe="NaN":(oe=K(this.c),null==W?oe=fe<=Be||fe>=tt?he(oe,fe):q(oe,fe,"0"):(ve(W,2,zn.length,"Base"),oe=ae(q(oe,fe,"0"),10,W,pe,!0)),pe<0&&this.c[0]&&(oe="-"+oe)),oe},J.valueOf=J.toJSON=function(){var W,te=this.e;return null===te?this.toString():(W=K(this.c),W=te<=Be||te>=tt?he(W,te):q(W,te,"0"),this.s<0?"-"+W:W)},J._isBigNumber=!0,null!=Q&&Ge.set(Q),Ge}(),u.default=u.BigNumber=u,void 0!==(O=function(){return u}.call(ge,N,ge,de))&&(de.exports=O)}()},6149:(de,ge,N)=>{var O=N(5979)();O.helpers=N(3305),N(3533)(O),O.defaults=N(9800),O.Element=N(8839),O.elements=N(9931),O.Interaction=N(2814),O.layouts=N(2294),O.platform=N(8244),O.plugins=N(2445),O.Ticks=N(8347),N(8103)(O),N(1047)(O),N(7897)(O),N(5464)(O),N(6308)(O),N(480)(O),N(8351)(O),N(4977)(O),N(1704)(O),N(1486)(O),N(8726)(O),N(4215)(O),N(2690)(O),N(4033)(O),N(787)(O),N(6769)(O),N(6580)(O),N(4657)(O),N(1895)(O),N(6038)(O),N(2898)(O),N(3414)(O),N(6667)(O),N(402)(O),N(846)(O),N(9377)(O);var v=N(6747);for(var u in v)v.hasOwnProperty(u)&&O.plugins.register(v[u]);O.platform.initialize(),de.exports=O,typeof window<"u"&&(window.Chart=O),O.Legend=v.legend._element,O.Title=v.title._element,O.pluginService=O.plugins,O.PluginBase=O.Element.extend({}),O.canvasHelpers=O.helpers.canvas,O.layoutService=O.layouts},6038:de=>{"use strict";de.exports=function(ge){ge.Bar=function(N,O){return O.type="bar",new ge(N,O)}}},2898:de=>{"use strict";de.exports=function(ge){ge.Bubble=function(N,O){return O.type="bubble",new ge(N,O)}}},3414:de=>{"use strict";de.exports=function(ge){ge.Doughnut=function(N,O){return O.type="doughnut",new ge(N,O)}}},6667:de=>{"use strict";de.exports=function(ge){ge.Line=function(N,O){return O.type="line",new ge(N,O)}}},402:de=>{"use strict";de.exports=function(ge){ge.PolarArea=function(N,O){return O.type="polarArea",new ge(N,O)}}},846:de=>{"use strict";de.exports=function(ge){ge.Radar=function(N,O){return O.type="radar",new ge(N,O)}}},9377:de=>{"use strict";de.exports=function(ge){ge.Scatter=function(N,O){return O.type="scatter",new ge(N,O)}}},2690:(de,ge,N)=>{"use strict";var O=N(9800),v=N(9931),u=N(3305);O._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}}),O._set("horizontalBar",{hover:{mode:"index",axis:"y"},scales:{xAxes:[{type:"linear",position:"bottom"}],yAxes:[{position:"left",type:"category",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:"left"}},tooltips:{callbacks:{title:function(p,y){var x="";return p.length>0&&(p[0].yLabel?x=p[0].yLabel:y.labels.length>0&&p[0].index0?Math.min(x,k-S):x,S=k;return x}(x,U):-1,{min:re,pixels:U,start:L,end:A,stackCount:T,scale:x}},calculateBarValuePixels:function(y,x){var ve,Z,X,he,q,Q,T=this,S=T.chart,k=T.getMeta(),L=T.getValueScale(),A=S.data.datasets,U=L.getRightValue(A[y].data[x]),B=L.options.stacked,K=k.stack,re=0;if(B||void 0===B&&void 0!==K)for(ve=0;ve=0&&X>0)&&(re+=X));return he=L.getPixelForValue(re),{size:Q=((q=L.getPixelForValue(re+U))-he)/2,base:he,head:q,center:q+Q/2}},calculateBarIndexPixels:function(y,x,T){var k=T.scale.options,L="flex"===k.barThickness?function M(p,y,x){var T=y.pixels,S=T[p],k=p>0?T[p-1]:null,L=p{"use strict";var O=N(9800),v=N(9931),u=N(3305);O._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(f,h){return(h.datasets[f.datasetIndex].label||"")+": ("+f.xLabel+", "+f.yLabel+", "+h.datasets[f.datasetIndex].data[f.index].r+")"}}}}),de.exports=function(f){f.controllers.bubble=f.DatasetController.extend({dataElementType:v.Point,update:function(h){var M=this,p=M.getMeta();u.each(p.data,function(x,T){M.updateElement(x,T,h)})},updateElement:function(h,M,p){var y=this,x=y.getMeta(),T=h.custom||{},S=y.getScaleForId(x.xAxisID),k=y.getScaleForId(x.yAxisID),L=y._resolveElementOptions(h,M),A=y.getDataset().data[M],U=y.index,B=p?S.getPixelForDecimal(.5):S.getPixelForValue("object"==typeof A?A:NaN,M,U),K=p?k.getBasePixel():k.getPixelForValue(A,M,U);h._xScale=S,h._yScale=k,h._options=L,h._datasetIndex=U,h._index=M,h._model={backgroundColor:L.backgroundColor,borderColor:L.borderColor,borderWidth:L.borderWidth,hitRadius:L.hitRadius,pointStyle:L.pointStyle,radius:p?0:L.radius,skip:T.skip||isNaN(B)||isNaN(K),x:B,y:K},h.pivot()},setHoverStyle:function(h){var M=h._model,p=h._options;M.backgroundColor=u.valueOrDefault(p.hoverBackgroundColor,u.getHoverColor(p.backgroundColor)),M.borderColor=u.valueOrDefault(p.hoverBorderColor,u.getHoverColor(p.borderColor)),M.borderWidth=u.valueOrDefault(p.hoverBorderWidth,p.borderWidth),M.radius=p.radius+p.hoverRadius},removeHoverStyle:function(h){var M=h._model,p=h._options;M.backgroundColor=p.backgroundColor,M.borderColor=p.borderColor,M.borderWidth=p.borderWidth,M.radius=p.radius},_resolveElementOptions:function(h,M){var B,K,re,p=this,y=p.chart,T=y.data.datasets[p.index],S=h.custom||{},k=y.options.elements.point,L=u.options.resolve,A=T.data[M],U={},ve={chart:y,dataIndex:M,dataset:T,datasetIndex:p.index},Z=["backgroundColor","borderColor","borderWidth","hoverBackgroundColor","hoverBorderColor","hoverBorderWidth","hoverRadius","hitRadius","pointStyle"];for(B=0,K=Z.length;B{"use strict";var O=N(9800),v=N(9931),u=N(3305);O._set("doughnut",{animation:{animateRotate:!0,animateScale:!1},hover:{mode:"single"},legendCallback:function(f){var h=[];h.push('
    ');var M=f.data,p=M.datasets,y=M.labels;if(p.length)for(var x=0;x'),y[x]&&h.push(y[x]),h.push("");return h.push("
"),h.join("")},legend:{labels:{generateLabels:function(f){var h=f.data;return h.labels.length&&h.datasets.length?h.labels.map(function(M,p){var y=f.getDatasetMeta(0),x=h.datasets[0],T=y.data[p],S=T&&T.custom||{},k=u.valueAtIndexOrDefault,L=f.options.elements.arc;return{text:M,fillStyle:S.backgroundColor?S.backgroundColor:k(x.backgroundColor,p,L.backgroundColor),strokeStyle:S.borderColor?S.borderColor:k(x.borderColor,p,L.borderColor),lineWidth:S.borderWidth?S.borderWidth:k(x.borderWidth,p,L.borderWidth),hidden:isNaN(x.data[p])||y.data[p].hidden,index:p}}):[]}},onClick:function(f,h){var y,x,T,M=h.index,p=this.chart;for(y=0,x=(p.data.datasets||[]).length;y=Math.PI?-1:re<-Math.PI?1:0))+K,Z={x:Math.cos(re),y:Math.sin(re)},X={x:Math.cos(ve),y:Math.sin(ve)},he=re<=0&&ve>=0||re<=2*Math.PI&&2*Math.PI<=ve,q=re<=.5*Math.PI&&.5*Math.PI<=ve||re<=2.5*Math.PI&&2.5*Math.PI<=ve,Q=re<=-Math.PI&&-Math.PI<=ve||re<=Math.PI&&Math.PI<=ve,ee=re<=.5*-Math.PI&&.5*-Math.PI<=ve||re<=1.5*Math.PI&&1.5*Math.PI<=ve,ae=B/100,le={x:Q?-1:Math.min(Z.x*(Z.x<0?1:ae),X.x*(X.x<0?1:ae)),y:ee?-1:Math.min(Z.y*(Z.y<0?1:ae),X.y*(X.y<0?1:ae))},J={x:he?1:Math.max(Z.x*(Z.x>0?1:ae),X.x*(X.x>0?1:ae)),y:q?1:Math.max(Z.y*(Z.y>0?1:ae),X.y*(X.y>0?1:ae))},Te={width:.5*(J.x-le.x),height:.5*(J.y-le.y)};L=Math.min(S/Te.width,k/Te.height),A={x:-.5*(J.x+le.x),y:-.5*(J.y+le.y)}}p.borderWidth=M.getMaxBorderWidth(U.data),p.outerRadius=Math.max((L-p.borderWidth)/2,0),p.innerRadius=Math.max(B?p.outerRadius/100*B:0,0),p.radiusLength=(p.outerRadius-p.innerRadius)/p.getVisibleDatasetCount(),p.offsetX=A.x*p.outerRadius,p.offsetY=A.y*p.outerRadius,U.total=M.calculateTotal(),M.outerRadius=p.outerRadius-p.radiusLength*M.getRingIndex(M.index),M.innerRadius=Math.max(M.outerRadius-p.radiusLength,0),u.each(U.data,function(Se,ke){M.updateElement(Se,ke,h)})},updateElement:function(h,M,p){var y=this,x=y.chart,T=x.chartArea,S=x.options,k=S.animation,L=(T.left+T.right)/2,A=(T.top+T.bottom)/2,U=S.rotation,B=S.rotation,K=y.getDataset(),re=p&&k.animateRotate||h.hidden?0:y.calculateCircumference(K.data[M])*(S.circumference/(2*Math.PI));u.extend(h,{_datasetIndex:y.index,_index:M,_model:{x:L+x.offsetX,y:A+x.offsetY,startAngle:U,endAngle:B,circumference:re,outerRadius:p&&k.animateScale?0:y.outerRadius,innerRadius:p&&k.animateScale?0:y.innerRadius,label:(0,u.valueAtIndexOrDefault)(K.label,M,x.data.labels[M])}});var he=h._model;this.removeHoverStyle(h),(!p||!k.animateRotate)&&(he.startAngle=0===M?S.rotation:y.getMeta().data[M-1]._model.endAngle,he.endAngle=he.startAngle+he.circumference),h.pivot()},removeHoverStyle:function(h){f.DatasetController.prototype.removeHoverStyle.call(this,h,this.chart.options.elements.arc)},calculateTotal:function(){var y,h=this.getDataset(),M=this.getMeta(),p=0;return u.each(M.data,function(x,T){y=h.data[T],!isNaN(y)&&!x.hidden&&(p+=Math.abs(y))}),p},calculateCircumference:function(h){var M=this.getMeta().total;return M>0&&!isNaN(h)?2*Math.PI*(Math.abs(h)/M):0},getMaxBorderWidth:function(h){for(var x,T,M=0,p=this.index,y=h.length,S=0;S(M=(x=h[S]._model?h[S]._model.borderWidth:0)>M?x:M)?T:M;return M}})}},6769:(de,ge,N)=>{"use strict";var O=N(9800),v=N(9931),u=N(3305);O._set("line",{showLines:!0,spanGaps:!1,hover:{mode:"label"},scales:{xAxes:[{type:"category",id:"x-axis-0"}],yAxes:[{type:"linear",id:"y-axis-0"}]}}),de.exports=function(f){function h(M,p){return u.valueOrDefault(M.showLine,p.showLines)}f.controllers.line=f.DatasetController.extend({datasetElementType:v.Line,dataElementType:v.Point,update:function(M){var A,U,B,p=this,y=p.getMeta(),x=y.dataset,T=y.data||[],S=p.chart.options,k=S.elements.line,L=p.getScaleForId(y.yAxisID),K=p.getDataset(),re=h(K,S);for(re&&(B=x.custom||{},void 0!==K.tension&&void 0===K.lineTension&&(K.lineTension=K.tension),x._scale=L,x._datasetIndex=p.index,x._children=T,x._model={spanGaps:K.spanGaps?K.spanGaps:S.spanGaps,tension:B.tension?B.tension:u.valueOrDefault(K.lineTension,k.tension),backgroundColor:B.backgroundColor?B.backgroundColor:K.backgroundColor||k.backgroundColor,borderWidth:B.borderWidth?B.borderWidth:K.borderWidth||k.borderWidth,borderColor:B.borderColor?B.borderColor:K.borderColor||k.borderColor,borderCapStyle:B.borderCapStyle?B.borderCapStyle:K.borderCapStyle||k.borderCapStyle,borderDash:B.borderDash?B.borderDash:K.borderDash||k.borderDash,borderDashOffset:B.borderDashOffset?B.borderDashOffset:K.borderDashOffset||k.borderDashOffset,borderJoinStyle:B.borderJoinStyle?B.borderJoinStyle:K.borderJoinStyle||k.borderJoinStyle,fill:B.fill?B.fill:void 0!==K.fill?K.fill:k.fill,steppedLine:B.steppedLine?B.steppedLine:u.valueOrDefault(K.steppedLine,k.stepped),cubicInterpolationMode:B.cubicInterpolationMode?B.cubicInterpolationMode:u.valueOrDefault(K.cubicInterpolationMode,k.cubicInterpolationMode)},x.pivot()),A=0,U=T.length;A{"use strict";var O=N(9800),v=N(9931),u=N(3305);O._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(f){var h=[];h.push('
    ');var M=f.data,p=M.datasets,y=M.labels;if(p.length)for(var x=0;x'),y[x]&&h.push(y[x]),h.push("");return h.push("
"),h.join("")},legend:{labels:{generateLabels:function(f){var h=f.data;return h.labels.length&&h.datasets.length?h.labels.map(function(M,p){var y=f.getDatasetMeta(0),x=h.datasets[0],S=y.data[p].custom||{},k=u.valueAtIndexOrDefault,L=f.options.elements.arc;return{text:M,fillStyle:S.backgroundColor?S.backgroundColor:k(x.backgroundColor,p,L.backgroundColor),strokeStyle:S.borderColor?S.borderColor:k(x.borderColor,p,L.borderColor),lineWidth:S.borderWidth?S.borderWidth:k(x.borderWidth,p,L.borderWidth),hidden:isNaN(x.data[p])||y.data[p].hidden,index:p}}):[]}},onClick:function(f,h){var y,x,T,M=h.index,p=this.chart;for(y=0,x=(p.data.datasets||[]).length;y0&&!isNaN(h)?2*Math.PI/M:0}})}},4657:(de,ge,N)=>{"use strict";var O=N(9800),v=N(9931),u=N(3305);O._set("radar",{scale:{type:"radialLinear"},elements:{line:{tension:0}}}),de.exports=function(f){f.controllers.radar=f.DatasetController.extend({datasetElementType:v.Line,dataElementType:v.Point,linkScales:u.noop,update:function(h){var M=this,p=M.getMeta(),x=p.data,T=p.dataset.custom||{},S=M.getDataset(),k=M.chart.options.elements.line,L=M.chart.scale;void 0!==S.tension&&void 0===S.lineTension&&(S.lineTension=S.tension),u.extend(p.dataset,{_datasetIndex:M.index,_scale:L,_children:x,_loop:!0,_model:{tension:T.tension?T.tension:u.valueOrDefault(S.lineTension,k.tension),backgroundColor:T.backgroundColor?T.backgroundColor:S.backgroundColor||k.backgroundColor,borderWidth:T.borderWidth?T.borderWidth:S.borderWidth||k.borderWidth,borderColor:T.borderColor?T.borderColor:S.borderColor||k.borderColor,fill:T.fill?T.fill:void 0!==S.fill?S.fill:k.fill,borderCapStyle:T.borderCapStyle?T.borderCapStyle:S.borderCapStyle||k.borderCapStyle,borderDash:T.borderDash?T.borderDash:S.borderDash||k.borderDash,borderDashOffset:T.borderDashOffset?T.borderDashOffset:S.borderDashOffset||k.borderDashOffset,borderJoinStyle:T.borderJoinStyle?T.borderJoinStyle:S.borderJoinStyle||k.borderJoinStyle}}),p.dataset.pivot(),u.each(x,function(A,U){M.updateElement(A,U,h)},M),M.updateBezierControlPoints()},updateElement:function(h,M,p){var y=this,x=h.custom||{},T=y.getDataset(),S=y.chart.scale,k=y.chart.options.elements.point,L=S.getPointPositionForValue(M,T.data[M]);void 0!==T.radius&&void 0===T.pointRadius&&(T.pointRadius=T.radius),void 0!==T.hitRadius&&void 0===T.pointHitRadius&&(T.pointHitRadius=T.hitRadius),u.extend(h,{_datasetIndex:y.index,_index:M,_scale:S,_model:{x:p?S.xCenter:L.x,y:p?S.yCenter:L.y,tension:x.tension?x.tension:u.valueOrDefault(T.lineTension,y.chart.options.elements.line.tension),radius:x.radius?x.radius:u.valueAtIndexOrDefault(T.pointRadius,M,k.radius),backgroundColor:x.backgroundColor?x.backgroundColor:u.valueAtIndexOrDefault(T.pointBackgroundColor,M,k.backgroundColor),borderColor:x.borderColor?x.borderColor:u.valueAtIndexOrDefault(T.pointBorderColor,M,k.borderColor),borderWidth:x.borderWidth?x.borderWidth:u.valueAtIndexOrDefault(T.pointBorderWidth,M,k.borderWidth),pointStyle:x.pointStyle?x.pointStyle:u.valueAtIndexOrDefault(T.pointStyle,M,k.pointStyle),hitRadius:x.hitRadius?x.hitRadius:u.valueAtIndexOrDefault(T.pointHitRadius,M,k.hitRadius)}}),h._model.skip=x.skip?x.skip:isNaN(h._model.x)||isNaN(h._model.y)},updateBezierControlPoints:function(){var h=this.chart.chartArea,M=this.getMeta();u.each(M.data,function(p,y){var x=p._model,T=u.splineCurve(u.previousItem(M.data,y,!0)._model,x,u.nextItem(M.data,y,!0)._model,x.tension);x.controlPointPreviousX=Math.max(Math.min(T.previous.x,h.right),h.left),x.controlPointPreviousY=Math.max(Math.min(T.previous.y,h.bottom),h.top),x.controlPointNextX=Math.max(Math.min(T.next.x,h.right),h.left),x.controlPointNextY=Math.max(Math.min(T.next.y,h.bottom),h.top),p.pivot()})},setHoverStyle:function(h){var M=this.chart.data.datasets[h._datasetIndex],p=h.custom||{},y=h._index,x=h._model;x.radius=p.hoverRadius?p.hoverRadius:u.valueAtIndexOrDefault(M.pointHoverRadius,y,this.chart.options.elements.point.hoverRadius),x.backgroundColor=p.hoverBackgroundColor?p.hoverBackgroundColor:u.valueAtIndexOrDefault(M.pointHoverBackgroundColor,y,u.getHoverColor(x.backgroundColor)),x.borderColor=p.hoverBorderColor?p.hoverBorderColor:u.valueAtIndexOrDefault(M.pointHoverBorderColor,y,u.getHoverColor(x.borderColor)),x.borderWidth=p.hoverBorderWidth?p.hoverBorderWidth:u.valueAtIndexOrDefault(M.pointHoverBorderWidth,y,x.borderWidth)},removeHoverStyle:function(h){var M=this.chart.data.datasets[h._datasetIndex],p=h.custom||{},y=h._index,x=h._model,T=this.chart.options.elements.point;x.radius=p.radius?p.radius:u.valueAtIndexOrDefault(M.pointRadius,y,T.radius),x.backgroundColor=p.backgroundColor?p.backgroundColor:u.valueAtIndexOrDefault(M.pointBackgroundColor,y,T.backgroundColor),x.borderColor=p.borderColor?p.borderColor:u.valueAtIndexOrDefault(M.pointBorderColor,y,T.borderColor),x.borderWidth=p.borderWidth?p.borderWidth:u.valueAtIndexOrDefault(M.pointBorderWidth,y,T.borderWidth)}})}},1895:(de,ge,N)=>{"use strict";N(9800)._set("scatter",{hover:{mode:"single"},scales:{xAxes:[{id:"x-axis-1",type:"linear",position:"bottom"}],yAxes:[{id:"y-axis-1",type:"linear",position:"left"}]},showLines:!1,tooltips:{callbacks:{title:function(){return""},label:function(v){return"("+v.xLabel+", "+v.yLabel+")"}}}}),de.exports=function(v){v.controllers.scatter=v.controllers.line}},8103:(de,ge,N)=>{"use strict";var O=N(9800),v=N(8839),u=N(3305);O._set("global",{animation:{duration:1e3,easing:"easeOutQuart",onProgress:u.noop,onComplete:u.noop}}),de.exports=function(f){f.Animation=v.extend({chart:null,currentStep:0,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),f.animationService={frameDuration:17,animations:[],dropFrames:0,request:null,addAnimation:function(h,M,p,y){var T,S,x=this.animations;for(M.chart=h,y||(h.animating=!0),T=0,S=x.length;T1&&(p=Math.floor(h.dropFrames),h.dropFrames=h.dropFrames%1),h.advance(1+p);var y=Date.now();h.dropFrames+=(y-M)/h.frameDuration,h.animations.length>0&&h.requestAnimationFrame()},advance:function(h){for(var p,y,M=this.animations,x=0;x=p.numSteps?(u.callback(p.onAnimationComplete,[p],y),y.animating=!1,M.splice(x,1)):++x}},Object.defineProperty(f.Animation.prototype,"animationObject",{get:function(){return this}}),Object.defineProperty(f.Animation.prototype,"chartInstance",{get:function(){return this.chart},set:function(h){this.chart=h}})}},1047:(de,ge,N)=>{"use strict";var O=N(9800),v=N(3305),u=N(2814),f=N(2294),h=N(8244),M=N(2445);de.exports=function(p){function T(S){return"top"===S||"bottom"===S}p.types={},p.instances={},p.controllers={},v.extend(p.prototype,{construct:function(S,k){var L=this;k=function y(S){var k=(S=S||{}).data=S.data||{};return k.datasets=k.datasets||[],k.labels=k.labels||[],S.options=v.configMerge(O.global,O[S.type],S.options||{}),S}(k);var A=h.acquireContext(S,k),U=A&&A.canvas,B=U&&U.height,K=U&&U.width;L.id=v.uid(),L.ctx=A,L.canvas=U,L.config=k,L.width=K,L.height=B,L.aspectRatio=B?K/B:null,L.options=k.options,L._bufferedRender=!1,L.chart=L,L.controller=L,p.instances[L.id]=L,Object.defineProperty(L,"data",{get:function(){return L.config.data},set:function(re){L.config.data=re}}),A&&U?(L.initialize(),L.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var S=this;return M.notify(S,"beforeInit"),v.retinaScale(S,S.options.devicePixelRatio),S.bindEvents(),S.options.responsive&&S.resize(!0),S.ensureScalesHaveIDs(),S.buildOrUpdateScales(),S.initToolTip(),M.notify(S,"afterInit"),S},clear:function(){return v.canvas.clear(this),this},stop:function(){return p.animationService.cancelAnimation(this),this},resize:function(S){var k=this,L=k.options,A=k.canvas,U=L.maintainAspectRatio&&k.aspectRatio||null,B=Math.max(0,Math.floor(v.getMaximumWidth(A))),K=Math.max(0,Math.floor(U?B/U:v.getMaximumHeight(A)));if((k.width!==B||k.height!==K)&&(A.width=k.width=B,A.height=k.height=K,A.style.width=B+"px",A.style.height=K+"px",v.retinaScale(k,L.devicePixelRatio),!S)){var re={width:B,height:K};M.notify(k,"resize",[re]),k.options.onResize&&k.options.onResize(k,re),k.stop(),k.update(k.options.responsiveAnimationDuration)}},ensureScalesHaveIDs:function(){var S=this.options,k=S.scales||{},L=S.scale;v.each(k.xAxes,function(A,U){A.id=A.id||"x-axis-"+U}),v.each(k.yAxes,function(A,U){A.id=A.id||"y-axis-"+U}),L&&(L.id=L.id||"scale")},buildOrUpdateScales:function(){var S=this,k=S.options,L=S.scales||{},A=[],U=Object.keys(L).reduce(function(B,K){return B[K]=!1,B},{});k.scales&&(A=A.concat((k.scales.xAxes||[]).map(function(B){return{options:B,dtype:"category",dposition:"bottom"}}),(k.scales.yAxes||[]).map(function(B){return{options:B,dtype:"linear",dposition:"left"}}))),k.scale&&A.push({options:k.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),v.each(A,function(B){var K=B.options,re=K.id,ve=v.valueOrDefault(K.type,B.dtype);T(K.position)!==T(B.dposition)&&(K.position=B.dposition),U[re]=!0;var Z=null;if(re in L&&L[re].type===ve)(Z=L[re]).options=K,Z.ctx=S.ctx,Z.chart=S;else{var X=p.scaleService.getScaleConstructor(ve);if(!X)return;Z=new X({id:re,type:ve,options:K,ctx:S.ctx,chart:S}),L[Z.id]=Z}Z.mergeTicksOptions(),B.isDefault&&(S.scale=Z)}),v.each(U,function(B,K){B||delete L[K]}),S.scales=L,p.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var S=this,k=[],L=[];return v.each(S.data.datasets,function(A,U){var B=S.getDatasetMeta(U),K=A.type||S.config.type;if(B.type&&B.type!==K&&(S.destroyDatasetMeta(U),B=S.getDatasetMeta(U)),B.type=K,k.push(B.type),B.controller)B.controller.updateIndex(U),B.controller.linkScales();else{var re=p.controllers[B.type];if(void 0===re)throw new Error('"'+B.type+'" is not a chart type.');B.controller=new re(S,U),L.push(B.controller)}},S),L},resetElements:function(){var S=this;v.each(S.data.datasets,function(k,L){S.getDatasetMeta(L).controller.reset()},S)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(S){var k=this;if((!S||"object"!=typeof S)&&(S={duration:S,lazy:arguments[1]}),function x(S){var k=S.options;v.each(S.scales,function(L){f.removeBox(S,L)}),k=v.configMerge(p.defaults.global,p.defaults[S.config.type],k),S.options=S.config.options=k,S.ensureScalesHaveIDs(),S.buildOrUpdateScales(),S.tooltip._options=k.tooltips,S.tooltip.initialize()}(k),M._invalidate(k),!1!==M.notify(k,"beforeUpdate")){k.tooltip._data=k.data;var L=k.buildOrUpdateControllers();v.each(k.data.datasets,function(A,U){k.getDatasetMeta(U).controller.buildOrUpdateElements()},k),k.updateLayout(),k.options.animation&&k.options.animation.duration&&v.each(L,function(A){A.reset()}),k.updateDatasets(),k.tooltip.initialize(),k.lastActive=[],M.notify(k,"afterUpdate"),k._bufferedRender?k._bufferedRequest={duration:S.duration,easing:S.easing,lazy:S.lazy}:k.render(S)}},updateLayout:function(){var S=this;!1!==M.notify(S,"beforeLayout")&&(f.update(this,this.width,this.height),M.notify(S,"afterScaleUpdate"),M.notify(S,"afterLayout"))},updateDatasets:function(){var S=this;if(!1!==M.notify(S,"beforeDatasetsUpdate")){for(var k=0,L=S.data.datasets.length;k"u"&&0!==U.duration)){var K=new p.Animation({numSteps:(L||U.duration)/16.66,easing:S.easing||U.easing,render:function(re,ve){var X=ve.currentStep,he=X/ve.numSteps;re.draw((0,v.easing.effects[ve.easing])(he),he,X)},onAnimationProgress:U.onProgress,onAnimationComplete:B});p.animationService.addAnimation(k,K,L,A)}else k.draw(),B(new p.Animation({numSteps:0,chart:k}));return k}},draw:function(S){var k=this;k.clear(),v.isNullOrUndef(S)&&(S=1),k.transition(S),!1!==M.notify(k,"beforeDraw",[S])&&(v.each(k.boxes,function(L){L.draw(k.chartArea)},k),k.scale&&k.scale.draw(),k.drawDatasets(S),k._drawTooltip(S),M.notify(k,"afterDraw",[S]))},transition:function(S){for(var k=this,L=0,A=(k.data.datasets||[]).length;L=0;--L)k.isDatasetVisible(L)&&k.drawDataset(L,S);M.notify(k,"afterDatasetsDraw",[S])}},drawDataset:function(S,k){var L=this,A=L.getDatasetMeta(S),U={meta:A,index:S,easingValue:k};!1!==M.notify(L,"beforeDatasetDraw",[U])&&(A.controller.draw(k),M.notify(L,"afterDatasetDraw",[U]))},_drawTooltip:function(S){var k=this,L=k.tooltip,A={tooltip:L,easingValue:S};!1!==M.notify(k,"beforeTooltipDraw",[A])&&(L.draw(),M.notify(k,"afterTooltipDraw",[A]))},getElementAtEvent:function(S){return u.modes.single(this,S)},getElementsAtEvent:function(S){return u.modes.label(this,S,{intersect:!0})},getElementsAtXAxis:function(S){return u.modes["x-axis"](this,S,{intersect:!0})},getElementsAtEventForMode:function(S,k,L){var A=u.modes[k];return"function"==typeof A?A(this,S,L):[]},getDatasetAtEvent:function(S){return u.modes.dataset(this,S,{intersect:!0})},getDatasetMeta:function(S){var k=this,L=k.data.datasets[S];L._meta||(L._meta={});var A=L._meta[k.id];return A||(A=L._meta[k.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),A},getVisibleDatasetCount:function(){for(var S=0,k=0,L=this.data.datasets.length;k{"use strict";var O=N(3305);de.exports=function(v){var u=["push","pop","shift","splice","unshift"];function h(M,p){var y=M._chartjs;if(y){var x=y.listeners,T=x.indexOf(p);-1!==T&&x.splice(T,1),!(x.length>0)&&(u.forEach(function(S){delete M[S]}),delete M._chartjs)}}v.DatasetController=function(M,p){this.initialize(M,p)},O.extend(v.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(M,p){var y=this;y.chart=M,y.index=p,y.linkScales(),y.addElements()},updateIndex:function(M){this.index=M},linkScales:function(){var M=this,p=M.getMeta(),y=M.getDataset();(null===p.xAxisID||!(p.xAxisID in M.chart.scales))&&(p.xAxisID=y.xAxisID||M.chart.options.scales.xAxes[0].id),(null===p.yAxisID||!(p.yAxisID in M.chart.scales))&&(p.yAxisID=y.yAxisID||M.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(M){return this.chart.scales[M]},reset:function(){this.update(!0)},destroy:function(){this._data&&h(this._data,this)},createMetaDataset:function(){var M=this,p=M.datasetElementType;return p&&new p({_chart:M.chart,_datasetIndex:M.index})},createMetaData:function(M){var p=this,y=p.dataElementType;return y&&new y({_chart:p.chart,_datasetIndex:p.index,_index:M})},addElements:function(){var T,S,M=this,p=M.getMeta(),y=M.getDataset().data||[],x=p.data;for(T=0,S=y.length;Tx&&M.insertElements(x,T-x)},insertElements:function(M,p){for(var y=0;y{"use strict";var O=N(3305);de.exports={_set:function(v,u){return O.merge(this[v]||(this[v]={}),u)}}},8839:(de,ge,N)=>{"use strict";var O=N(7726),v=N(3305),f=function(h){v.extend(this,h),this.initialize.apply(this,arguments)};v.extend(f.prototype,{initialize:function(){this.hidden=!1},pivot:function(){var h=this;return h._view||(h._view=v.clone(h._model)),h._start={},h},transition:function(h){var M=this,p=M._model,y=M._start,x=M._view;return p&&1!==h?(x||(x=M._view={}),y||(y=M._start={}),function u(h,M,p,y){var T,S,k,L,A,U,B,K,re,x=Object.keys(p);for(T=0,S=x.length;T{"use strict";var O=N(7726),v=N(9800),u=N(3305);de.exports=function(f){function h(y,x,T){var S;return"string"==typeof y?(S=parseInt(y,10),-1!==y.indexOf("%")&&(S=S/100*x.parentNode[T])):S=y,S}function M(y){return null!=y&&"none"!==y}function p(y,x,T){var S=document.defaultView,k=y.parentNode,L=S.getComputedStyle(y)[x],A=S.getComputedStyle(k)[x],U=M(L),B=M(A),K=Number.POSITIVE_INFINITY;return U||B?Math.min(U?h(L,y,T):K,B?h(A,k,T):K):"none"}u.configMerge=function(){return u.merge(u.clone(arguments[0]),[].slice.call(arguments,1),{merger:function(y,x,T,S){var k=x[y]||{},L=T[y];"scales"===y?x[y]=u.scaleMerge(k,L):"scale"===y?x[y]=u.merge(k,[f.scaleService.getScaleDefaults(L.type),L]):u._merger(y,x,T,S)}})},u.scaleMerge=function(){return u.merge(u.clone(arguments[0]),[].slice.call(arguments,1),{merger:function(y,x,T,S){if("xAxes"===y||"yAxes"===y){var L,A,U,k=T[y].length;for(x[y]||(x[y]=[]),L=0;L=x[y].length&&x[y].push({}),u.merge(x[y][L],!x[y][L].type||U.type&&U.type!==x[y][L].type?[f.scaleService.getScaleDefaults(A),U]:U)}else u._merger(y,x,T,S)}})},u.where=function(y,x){if(u.isArray(y)&&Array.prototype.filter)return y.filter(x);var T=[];return u.each(y,function(S){x(S)&&T.push(S)}),T},u.findIndex=Array.prototype.findIndex?function(y,x,T){return y.findIndex(x,T)}:function(y,x,T){T=void 0===T?y:T;for(var S=0,k=y.length;S=0;S--){var k=y[S];if(x(k))return k}},u.isNumber=function(y){return!isNaN(parseFloat(y))&&isFinite(y)},u.almostEquals=function(y,x,T){return Math.abs(y-x)y},u.max=function(y){return y.reduce(function(x,T){return isNaN(T)?x:Math.max(x,T)},Number.NEGATIVE_INFINITY)},u.min=function(y){return y.reduce(function(x,T){return isNaN(T)?x:Math.min(x,T)},Number.POSITIVE_INFINITY)},u.sign=Math.sign?function(y){return Math.sign(y)}:function(y){return 0==(y=+y)||isNaN(y)?y:y>0?1:-1},u.log10=Math.log10?function(y){return Math.log10(y)}:function(y){var x=Math.log(y)*Math.LOG10E,T=Math.round(x);return y===Math.pow(10,T)?T:x},u.toRadians=function(y){return y*(Math.PI/180)},u.toDegrees=function(y){return y*(180/Math.PI)},u.getAngleFromPoint=function(y,x){var T=x.x-y.x,S=x.y-y.y,k=Math.sqrt(T*T+S*S),L=Math.atan2(S,T);return L<-.5*Math.PI&&(L+=2*Math.PI),{angle:L,distance:k}},u.distanceBetweenPoints=function(y,x){return Math.sqrt(Math.pow(x.x-y.x,2)+Math.pow(x.y-y.y,2))},u.aliasPixel=function(y){return y%2==0?0:.5},u.splineCurve=function(y,x,T,S){var k=y.skip?x:y,L=x,A=T.skip?x:T,U=Math.sqrt(Math.pow(L.x-k.x,2)+Math.pow(L.y-k.y,2)),B=Math.sqrt(Math.pow(A.x-L.x,2)+Math.pow(A.y-L.y,2)),K=U/(U+B),re=B/(U+B),ve=S*(K=isNaN(K)?0:K),Z=S*(re=isNaN(re)?0:re);return{previous:{x:L.x-ve*(A.x-k.x),y:L.y-ve*(A.y-k.y)},next:{x:L.x+Z*(A.x-k.x),y:L.y+Z*(A.y-k.y)}}},u.EPSILON=Number.EPSILON||1e-14,u.splineCurveMonotone=function(y){var S,k,L,A,B,K,re,ve,Z,x=(y||[]).map(function(X){return{model:X._model,deltaK:0,mK:0}}),T=x.length;for(S=0;S0?x[S-1]:null,(A=S0?x[S-1]:null)&&!k.model.skip&&(L.model.controlPointPreviousX=L.model.x-(Z=(L.model.x-k.model.x)/3),L.model.controlPointPreviousY=L.model.y-Z*L.mK),A&&!A.model.skip&&(L.model.controlPointNextX=L.model.x+(Z=(A.model.x-L.model.x)/3),L.model.controlPointNextY=L.model.y+Z*L.mK))},u.nextItem=function(y,x,T){return T?x>=y.length-1?y[0]:y[x+1]:x>=y.length-1?y[y.length-1]:y[x+1]},u.previousItem=function(y,x,T){return T?x<=0?y[y.length-1]:y[x-1]:x<=0?y[0]:y[x-1]},u.niceNum=function(y,x){var T=Math.floor(u.log10(y)),S=y/Math.pow(10,T);return(x?S<1.5?1:S<3?2:S<7?5:10:S<=1?1:S<=2?2:S<=5?5:10)*Math.pow(10,T)},u.requestAnimFrame=typeof window>"u"?function(y){y()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(y){return window.setTimeout(y,1e3/60)},u.getRelativePosition=function(y,x){var T,S,k=y.originalEvent||y,L=y.currentTarget||y.srcElement,A=L.getBoundingClientRect(),U=k.touches;U&&U.length>0?(T=U[0].clientX,S=U[0].clientY):(T=k.clientX,S=k.clientY);var B=parseFloat(u.getStyle(L,"padding-left")),K=parseFloat(u.getStyle(L,"padding-top")),re=parseFloat(u.getStyle(L,"padding-right")),ve=parseFloat(u.getStyle(L,"padding-bottom")),X=A.bottom-A.top-K-ve;return{x:T=Math.round((T-A.left-B)/(A.right-A.left-B-re)*L.width/x.currentDevicePixelRatio),y:S=Math.round((S-A.top-K)/X*L.height/x.currentDevicePixelRatio)}},u.getConstraintWidth=function(y){return p(y,"max-width","clientWidth")},u.getConstraintHeight=function(y){return p(y,"max-height","clientHeight")},u.getMaximumWidth=function(y){var x=y.parentNode;if(!x)return y.clientWidth;var T=parseInt(u.getStyle(x,"padding-left"),10),S=parseInt(u.getStyle(x,"padding-right"),10),k=x.clientWidth-T-S,L=u.getConstraintWidth(y);return isNaN(L)?k:Math.min(k,L)},u.getMaximumHeight=function(y){var x=y.parentNode;if(!x)return y.clientHeight;var T=parseInt(u.getStyle(x,"padding-top"),10),S=parseInt(u.getStyle(x,"padding-bottom"),10),k=x.clientHeight-T-S,L=u.getConstraintHeight(y);return isNaN(L)?k:Math.min(k,L)},u.getStyle=function(y,x){return y.currentStyle?y.currentStyle[x]:document.defaultView.getComputedStyle(y,null).getPropertyValue(x)},u.retinaScale=function(y,x){var T=y.currentDevicePixelRatio=x||window.devicePixelRatio||1;if(1!==T){var S=y.canvas,k=y.height,L=y.width;S.height=k*T,S.width=L*T,y.ctx.scale(T,T),!S.style.height&&!S.style.width&&(S.style.height=k+"px",S.style.width=L+"px")}},u.fontString=function(y,x,T){return x+" "+y+"px "+T},u.longestText=function(y,x,T,S){var k=(S=S||{}).data=S.data||{},L=S.garbageCollect=S.garbageCollect||[];S.font!==x&&(k=S.data={},L=S.garbageCollect=[],S.font=x),y.font=x;var A=0;u.each(T,function(K){null!=K&&!0!==u.isArray(K)?A=u.measureText(y,k,L,A,K):u.isArray(K)&&u.each(K,function(re){null!=re&&!u.isArray(re)&&(A=u.measureText(y,k,L,A,re))})});var U=L.length/2;if(U>T.length){for(var B=0;BS&&(S=L),S},u.numberOfLabelLines=function(y){var x=1;return u.each(y,function(T){u.isArray(T)&&T.length>x&&(x=T.length)}),x},u.color=O?function(y){return y instanceof CanvasGradient&&(y=v.global.defaultColor),O(y)}:function(y){return console.error("Color.js not found!"),y},u.getHoverColor=function(y){return y instanceof CanvasPattern?y:u.color(y).saturate(.5).darken(.1).rgbString()}}},2814:(de,ge,N)=>{"use strict";var O=N(3305);function v(y,x){return y.native?{x:y.x,y:y.y}:O.getRelativePosition(y,x)}function u(y,x){var S,k,L,A,U;for(k=0,A=y.data.datasets.length;k0&&(L=y.getDatasetMeta(L[0]._datasetIndex).data),L},"x-axis":function(y,x){return p(y,x,{intersect:!1})},point:function(y,x){return f(y,v(x,y))},nearest:function(y,x,T){var S=v(x,y);T.axis=T.axis||"xy";var k=M(T.axis),L=h(y,S,T.intersect,k);return L.length>1&&L.sort(function(A,U){var re=A.getArea()-U.getArea();return 0===re&&(re=A._datasetIndex-U._datasetIndex),re}),L.slice(0,1)},x:function(y,x,T){var S=v(x,y),k=[],L=!1;return u(y,function(A){A.inXRange(S.x)&&k.push(A),A.inRange(S.x,S.y)&&(L=!0)}),T.intersect&&!L&&(k=[]),k},y:function(y,x,T){var S=v(x,y),k=[],L=!1;return u(y,function(A){A.inYRange(S.y)&&k.push(A),A.inRange(S.x,S.y)&&(L=!0)}),T.intersect&&!L&&(k=[]),k}}}},5979:(de,ge,N)=>{"use strict";N(9800)._set("global",{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,defaultColor:"rgba(0,0,0,0.1)",defaultFontColor:"#666",defaultFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",defaultFontSize:12,defaultFontStyle:"normal",showLines:!0,elements:{},layout:{padding:{top:0,right:0,bottom:0,left:0}}}),de.exports=function(){var v=function(u,f){return this.construct(u,f),this};return v.Chart=v,v}},2294:(de,ge,N)=>{"use strict";var O=N(3305);function v(f,h){return O.where(f,function(M){return M.position===h})}function u(f,h){f.forEach(function(M,p){return M._tmpIndex_=p,M}),f.sort(function(M,p){var y=h?p:M,x=h?M:p;return y.weight===x.weight?y._tmpIndex_-x._tmpIndex_:y.weight-x.weight}),f.forEach(function(M){delete M._tmpIndex_})}de.exports={defaults:{},addBox:function(f,h){f.boxes||(f.boxes=[]),h.fullWidth=h.fullWidth||!1,h.position=h.position||"top",h.weight=h.weight||0,f.boxes.push(h)},removeBox:function(f,h){var M=f.boxes?f.boxes.indexOf(h):-1;-1!==M&&f.boxes.splice(M,1)},configure:function(f,h,M){for(var T,p=["fullWidth","position","weight"],y=p.length,x=0;x{"use strict";var O=N(9800),v=N(3305);O._set("global",{plugins:{}}),de.exports={_plugins:[],_cacheId:0,register:function(u){var f=this._plugins;[].concat(u).forEach(function(h){-1===f.indexOf(h)&&f.push(h)}),this._cacheId++},unregister:function(u){var f=this._plugins;[].concat(u).forEach(function(h){var M=f.indexOf(h);-1!==M&&f.splice(M,1)}),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(u,f,h){var y,x,T,S,k,M=this.descriptors(u),p=M.length;for(y=0;y{"use strict";var O=N(9800),v=N(8839),u=N(3305),f=N(8347);function h(p){var x,T,y=[];for(x=0,T=p.length;x"u"&&(S.minor[k]=S[k]),typeof S.major[k]>"u"&&(S.major[k]=S[k]))},beforeUpdate:function(){u.callback(this.options.beforeUpdate,[this])},update:function(S,k,L){var U,B,K,re,ve,Z,A=this;for(A.beforeUpdate(),A.maxWidth=S,A.maxHeight=k,A.margins=u.extend({left:0,right:0,top:0,bottom:0},L),A.longestTextCache=A.longestTextCache||{},A.beforeSetDimensions(),A.setDimensions(),A.afterSetDimensions(),A.beforeDataLimits(),A.determineDataLimits(),A.afterDataLimits(),A.beforeBuildTicks(),ve=A.buildTicks()||[],A.afterBuildTicks(),A.beforeTickToLabelConversion(),K=A.convertTicksToLabels(ve)||A.ticks,A.afterTickToLabelConversion(),A.ticks=K,U=0,B=K.length;UX&&BS.maxHeight){B--;break}B++,re=ve*K}S.labelRotation=B},afterCalculateTickRotation:function(){u.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){u.callback(this.options.beforeFit,[this])},fit:function(){var S=this,k=S.minSize={width:0,height:0},L=h(S._ticks),A=S.options,U=A.ticks,B=A.scaleLabel,K=A.gridLines,re=A.display,ve=S.isHorizontal(),Z=x(U),X=A.gridLines.tickMarkLength;if(k.width=ve?S.isFullWidth()?S.maxWidth-S.margins.left-S.margins.right:S.maxWidth:re&&K.drawTicks?X:0,k.height=ve?re&&K.drawTicks?X:0:S.maxHeight,B.display&&re){var Q=T(B)+u.options.toPadding(B.padding).height;ve?k.height+=Q:k.width+=Q}if(U.display&&re){var ee=u.longestText(S.ctx,Z.font,L,S.longestTextCache),ae=u.numberOfLabelLines(L),le=.5*Z.size,J=S.options.ticks.padding;if(ve){S.longestLabelWidth=ee;var Te=u.toRadians(S.labelRotation),Se=Math.cos(Te),ke=Math.sin(Te);k.height=Math.min(S.maxHeight,k.height+(ke*ee+Z.size*ae+le*(ae-1)+le)+J),S.ctx.font=Z.font;var tt=y(S.ctx,L[0],Z.font),st=y(S.ctx,L[L.length-1],Z.font);0!==S.labelRotation?(S.paddingLeft="bottom"===A.position?Se*tt+3:Se*le+3,S.paddingRight="bottom"===A.position?Se*le+3:Se*st+3):(S.paddingLeft=tt/2+3,S.paddingRight=st/2+3)}else U.mirror?ee=0:ee+=J+le,k.width=Math.min(S.maxWidth,k.width+ee),S.paddingTop=Z.size/2,S.paddingBottom=Z.size/2}S.handleMargins(),S.width=k.width,S.height=k.height},handleMargins:function(){var S=this;S.margins&&(S.paddingLeft=Math.max(S.paddingLeft-S.margins.left,0),S.paddingTop=Math.max(S.paddingTop-S.margins.top,0),S.paddingRight=Math.max(S.paddingRight-S.margins.right,0),S.paddingBottom=Math.max(S.paddingBottom-S.margins.bottom,0))},afterFit:function(){u.callback(this.options.afterFit,[this])},isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(S){if(u.isNullOrUndef(S))return NaN;if("number"==typeof S&&!isFinite(S))return NaN;if(S)if(this.isHorizontal()){if(void 0!==S.x)return this.getRightValue(S.x)}else if(void 0!==S.y)return this.getRightValue(S.y);return S},getLabelForIndex:u.noop,getPixelForValue:u.noop,getValueForPixel:u.noop,getPixelForTick:function(S){var k=this,L=k.options.offset;if(k.isHorizontal()){var U=(k.width-(k.paddingLeft+k.paddingRight))/Math.max(k._ticks.length-(L?0:1),1),B=U*S+k.paddingLeft;return L&&(B+=U/2),k.left+Math.round(B)+(k.isFullWidth()?k.margins.left:0)}return k.top+S*((k.height-(k.paddingTop+k.paddingBottom))/(k._ticks.length-1))},getPixelForDecimal:function(S){var k=this;return k.isHorizontal()?k.left+Math.round((k.width-(k.paddingLeft+k.paddingRight))*S+k.paddingLeft)+(k.isFullWidth()?k.margins.left:0):k.top+S*k.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var S=this,k=S.min,L=S.max;return S.beginAtZero?0:k<0&&L<0?L:k>0&&L>0?k:0},_autoSkip:function(S){var k,X,he,Q,L=this,A=L.isHorizontal(),U=L.options.ticks.minor,B=S.length,K=u.toRadians(L.labelRotation),re=Math.cos(K),ve=L.longestLabelWidth*re,Z=[];for(U.maxTicksLimit&&(Q=U.maxTicksLimit),A&&(k=!1,(ve+U.autoSkipPadding)*B>L.width-(L.paddingLeft+L.paddingRight)&&(k=1+Math.floor((ve+U.autoSkipPadding)*B/(L.width-(L.paddingLeft+L.paddingRight)))),Q&&B>Q&&(k=Math.max(k,Math.floor(B/Q)))),X=0;X1&&X%k>0||X%k==0&&X+k>=B)&&X!==B-1&&delete he.label,Z.push(he);return Z},draw:function(S){var k=this,L=k.options;if(L.display){var A=k.ctx,U=O.global,B=L.ticks.minor,K=L.ticks.major||B,re=L.gridLines,ve=L.scaleLabel,Z=0!==k.labelRotation,X=k.isHorizontal(),he=B.autoSkip?k._autoSkip(k.getTicks()):k.getTicks(),q=u.valueOrDefault(B.fontColor,U.defaultFontColor),Q=x(B),ee=u.valueOrDefault(K.fontColor,U.defaultFontColor),ae=x(K),le=re.drawTicks?re.tickMarkLength:0,J=u.valueOrDefault(ve.fontColor,U.defaultFontColor),Te=x(ve),Se=u.options.toPadding(ve.padding),ke=u.toRadians(k.labelRotation),Be=[],tt=k.options.gridLines.lineWidth,st="right"===L.position?k.right:k.right-tt-le,at="right"===L.position?k.right+le:k.right,jt="bottom"===L.position?k.top+tt:k.bottom-le-tt,an="bottom"===L.position?k.top+tt+le:k.bottom+tt;if(u.each(he,function(te,pe){if(!u.isNullOrUndef(te.label)){var ue,be,me,Me,fe=te.label;pe===k.zeroLineIndex&&L.offset===re.offsetGridLines?(ue=re.zeroLineWidth,be=re.zeroLineColor,me=re.zeroLineBorderDash,Me=re.zeroLineBorderDashOffset):(ue=u.valueAtIndexOrDefault(re.lineWidth,pe),be=u.valueAtIndexOrDefault(re.color,pe),me=u.valueOrDefault(re.borderDash,U.borderDash),Me=u.valueOrDefault(re.borderDashOffset,U.borderDashOffset));var De,Ie,Ye,ut,mt,it,fn,An,bt,qt,Gn="middle",oi="middle",Kr=B.padding;if(X){var Io=le+Kr;"bottom"===L.position?(oi=Z?"middle":"top",Gn=Z?"right":"center",qt=k.top+Io):(oi=Z?"middle":"bottom",Gn=Z?"left":"center",qt=k.bottom-Io);var Ai=M(k,pe,re.offsetGridLines&&he.length>1);Ai1);si{"use strict";var O=N(9800),v=N(3305),u=N(2294);de.exports=function(f){f.scaleService={constructors:{},defaults:{},registerScaleType:function(h,M,p){this.constructors[h]=M,this.defaults[h]=v.clone(p)},getScaleConstructor:function(h){return this.constructors.hasOwnProperty(h)?this.constructors[h]:void 0},getScaleDefaults:function(h){return this.defaults.hasOwnProperty(h)?v.merge({},[O.scale,this.defaults[h]]):{}},updateScaleDefaults:function(h,M){var p=this;p.defaults.hasOwnProperty(h)&&(p.defaults[h]=v.extend(p.defaults[h],M))},addScalesToLayout:function(h){v.each(h.scales,function(M){M.fullWidth=M.options.fullWidth,M.position=M.options.position,M.weight=M.options.weight,u.addBox(h,M)})}}}},8347:(de,ge,N)=>{"use strict";var O=N(3305);de.exports={formatters:{values:function(v){return O.isArray(v)?v:""+v},linear:function(v,u,f){var h=f.length>3?f[2]-f[1]:f[1]-f[0];Math.abs(h)>1&&v!==Math.floor(v)&&(h=v-Math.floor(v));var M=O.log10(Math.abs(h)),p="";if(0!==v){var y=-1*Math.floor(M);y=Math.max(Math.min(y,20),0),p=v.toFixed(y)}else p="0";return p},logarithmic:function(v,u,f){var h=v/Math.pow(10,Math.floor(O.log10(v)));return 0===v?"0":1===h||2===h||5===h||0===u||u===f.length-1?v.toExponential():""}}}},480:(de,ge,N)=>{"use strict";var O=N(9800),v=N(8839),u=N(3305);O._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:u.noop,title:function(f,h){var M="",p=h.labels,y=p?p.length:0;if(f.length>0){var x=f[0];x.xLabel?M=x.xLabel:y>0&&x.indexU.height-L.height&&(re="bottom");var ve,Z,X,he,q,Q=(B.left+B.right)/2,ee=(B.top+B.bottom)/2;"center"===re?(ve=function(le){return le<=Q},Z=function(le){return le>Q}):(ve=function(le){return le<=L.width/2},Z=function(le){return le>=U.width-L.width/2}),X=function(le){return le+L.width+A.caretSize+A.caretPadding>U.width},he=function(le){return le-L.width-A.caretSize-A.caretPadding<0},q=function(le){return le<=ee?"top":"bottom"},ve(A.x)?(K="left",X(A.x)&&(K="center",re=q(A.y))):Z(A.x)&&(K="right",he(A.x)&&(K="center",re=q(A.y)));var ae=k._options;return{xAlign:ae.xAlign?ae.xAlign:K,yAlign:ae.yAlign?ae.yAlign:re}}(this,X),Z=function S(k,L,A,U){var B=k.x,K=k.y,ve=k.caretPadding,X=A.xAlign,he=A.yAlign,q=k.caretSize+ve,Q=k.cornerRadius+ve;return"right"===X?B-=L.width:"center"===X&&((B-=L.width/2)+L.width>U.width&&(B=U.width-L.width),B<0&&(B=0)),"top"===he?K+=q:K-="bottom"===he?L.height+q:L.height/2,"center"===he?"left"===X?B+=q:"right"===X&&(B-=q):"left"===X?B-=Q:"right"===X&&(B+=Q),{x:B,y:K}}(B,X,ve,L._chart)}else B.opacity=0;return B.xAlign=ve.xAlign,B.yAlign=ve.yAlign,B.x=Z.x,B.y=Z.y,B.width=X.width,B.height=X.height,B.caretX=he.x,B.caretY=he.y,L._model=B,k&&A.custom&&A.custom.call(L,B),L},drawCaret:function(k,L){var A=this._chart.ctx,B=this.getCaretPosition(k,L,this._view);A.lineTo(B.x1,B.y1),A.lineTo(B.x2,B.y2),A.lineTo(B.x3,B.y3)},getCaretPosition:function(k,L,A){var U,B,K,re,ve,Z,X=A.caretSize,he=A.cornerRadius,q=A.xAlign,Q=A.yAlign,ee=k.x,ae=k.y,le=L.width,J=L.height;if("center"===Q)ve=ae+J/2,"left"===q?(B=(U=ee)-X,K=U,re=ve+X,Z=ve-X):(B=(U=ee+le)+X,K=U,re=ve-X,Z=ve+X);else if("left"===q?(U=(B=ee+he+X)-X,K=B+X):"right"===q?(U=(B=ee+le-he-X)-X,K=B+X):(U=(B=A.caretX)-X,K=B+X),"top"===Q)ve=(re=ae)-X,Z=re;else{ve=(re=ae+J)+X,Z=re;var Te=K;K=U,U=Te}return{x1:U,x2:B,x3:K,y1:re,y2:ve,y3:Z}},drawTitle:function(k,L,A,U){var B=L.title;if(B.length){A.textAlign=L._titleAlign,A.textBaseline="top";var ve,Z,K=L.titleFontSize,re=L.titleSpacing;for(A.fillStyle=h(L.titleFontColor,U),A.font=u.fontString(K,L._titleFontStyle,L._titleFontFamily),ve=0,Z=B.length;ve0&&A.stroke()},draw:function(){var k=this._chart.ctx,L=this._view;if(0!==L.opacity){var A={width:L.width,height:L.height},U={x:L.x,y:L.y},B=Math.abs(L.opacity<.001)?0:L.opacity;this._options.enabled&&(L.title.length||L.beforeBody.length||L.body.length||L.afterBody.length||L.footer.length)&&(this.drawBackground(U,L,k,A,B),U.x+=L.xPadding,U.y+=L.yPadding,this.drawTitle(U,L,k,B),this.drawBody(U,L,k,B),this.drawFooter(U,L,k,B))}},handleEvent:function(k){var U,L=this,A=L._options;return L._lastActive=L._lastActive||[],L._active="mouseout"===k.type?[]:L._chart.getElementsAtEventForMode(k,A.mode,A),(U=!u.arrayEquals(L._active,L._lastActive))&&(L._lastActive=L._active,(A.enabled||A.custom)&&(L._eventPosition={x:k.x,y:k.y},L.update(!0),L.pivot())),U}}),f.Tooltip.positioners={average:function(k){if(!k.length)return!1;var L,A,U=0,B=0,K=0;for(L=0,A=k.length;L{"use strict";var O=N(9800),v=N(8839),u=N(3305);O._set("global",{elements:{arc:{backgroundColor:O.global.defaultColor,borderColor:"#fff",borderWidth:2}}}),de.exports=v.extend({inLabelRange:function(f){var h=this._view;return!!h&&Math.pow(f-h.x,2)S;)y-=2*Math.PI;for(;y=T&&y<=S&&x>=M.innerRadius&&x<=M.outerRadius}return!1},getCenterPoint:function(){var f=this._view,h=(f.startAngle+f.endAngle)/2,M=(f.innerRadius+f.outerRadius)/2;return{x:f.x+Math.cos(h)*M,y:f.y+Math.sin(h)*M}},getArea:function(){var f=this._view;return Math.PI*((f.endAngle-f.startAngle)/(2*Math.PI))*(Math.pow(f.outerRadius,2)-Math.pow(f.innerRadius,2))},tooltipPosition:function(){var f=this._view,h=f.startAngle+(f.endAngle-f.startAngle)/2,M=(f.outerRadius-f.innerRadius)/2+f.innerRadius;return{x:f.x+Math.cos(h)*M,y:f.y+Math.sin(h)*M}},draw:function(){var f=this._chart.ctx,h=this._view,M=h.startAngle,p=h.endAngle;f.beginPath(),f.arc(h.x,h.y,h.outerRadius,M,p),f.arc(h.x,h.y,h.innerRadius,p,M,!0),f.closePath(),f.strokeStyle=h.borderColor,f.lineWidth=h.borderWidth,f.fillStyle=h.backgroundColor,f.fill(),f.lineJoin="bevel",h.borderWidth&&f.stroke()}})},3819:(de,ge,N)=>{"use strict";var O=N(9800),v=N(8839),u=N(3305),f=O.global;O._set("global",{elements:{line:{tension:.4,backgroundColor:f.defaultColor,borderWidth:3,borderColor:f.defaultColor,borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",capBezierPoints:!0,fill:!0}}}),de.exports=v.extend({draw:function(){var k,L,A,U,h=this,M=h._view,p=h._chart.ctx,y=M.spanGaps,x=h._children.slice(),T=f.elements.line,S=-1;for(h._loop&&x.length&&x.push(x[0]),p.save(),p.lineCap=M.borderCapStyle||T.borderCapStyle,p.setLineDash&&p.setLineDash(M.borderDash||T.borderDash),p.lineDashOffset=M.borderDashOffset||T.borderDashOffset,p.lineJoin=M.borderJoinStyle||T.borderJoinStyle,p.lineWidth=M.borderWidth||T.borderWidth,p.strokeStyle=M.borderColor||f.defaultColor,p.beginPath(),S=-1,k=0;k{"use strict";var O=N(9800),v=N(8839),u=N(3305),f=O.global.defaultColor;function h(p){var y=this._view;return!!y&&Math.abs(p-y.x){"use strict";var O=N(9800),v=N(8839);function u(h){return void 0!==h._view.width}function f(h){var p,y,x,T,M=h._view;if(u(h)){var S=M.width/2;p=M.x-S,y=M.x+S,x=Math.min(M.y,M.base),T=Math.max(M.y,M.base)}else{var k=M.height/2;p=Math.min(M.x,M.base),y=Math.max(M.x,M.base),x=M.y-k,T=M.y+k}return{left:p,top:x,right:y,bottom:T}}O._set("global",{elements:{rectangle:{backgroundColor:O.global.defaultColor,borderColor:O.global.defaultColor,borderSkipped:"bottom",borderWidth:0}}}),de.exports=v.extend({draw:function(){var p,y,x,T,S,k,L,h=this._chart.ctx,M=this._view,A=M.borderWidth;if(M.horizontal?(x=M.y-M.height/2,T=M.y+M.height/2,S=(y=M.x)>(p=M.base)?1:-1,k=1,L=M.borderSkipped||"left"):(p=M.x-M.width/2,y=M.x+M.width/2,S=1,k=(T=M.base)>(x=M.y)?1:-1,L=M.borderSkipped||"bottom"),A){var U=Math.min(Math.abs(p-y),Math.abs(x-T)),B=(A=A>U?U:A)/2,K=p+("left"!==L?B*S:0),re=y+("right"!==L?-B*S:0),ve=x+("top"!==L?B*k:0),Z=T+("bottom"!==L?-B*k:0);K!==re&&(x=ve,T=Z),ve!==Z&&(p=K,y=re)}h.beginPath(),h.fillStyle=M.backgroundColor,h.strokeStyle=M.borderColor,h.lineWidth=A;var X=[[p,T],[p,x],[y,x],[y,T]],q=["bottom","left","top","right"].indexOf(L,0);function Q(le){return X[(q+le)%4]}-1===q&&(q=0);var ee=Q(0);h.moveTo(ee[0],ee[1]);for(var ae=1;ae<4;ae++)ee=Q(ae),h.lineTo(ee[0],ee[1]);h.fill(),A&&h.stroke()},height:function(){var h=this._view;return h.base-h.y},inRange:function(h,M){var p=!1;if(this._view){var y=f(this);p=h>=y.left&&h<=y.right&&M>=y.top&&M<=y.bottom}return p},inLabelRange:function(h,M){var p=this;if(!p._view)return!1;var x=f(p);return u(p)?h>=x.left&&h<=x.right:M>=x.top&&M<=x.bottom},inXRange:function(h){var M=f(this);return h>=M.left&&h<=M.right},inYRange:function(h){var M=f(this);return h>=M.top&&h<=M.bottom},getCenterPoint:function(){var M,p,h=this._view;return u(this)?(M=h.x,p=(h.y+h.base)/2):(M=(h.x+h.base)/2,p=h.y),{x:M,y:p}},getArea:function(){var h=this._view;return h.width*Math.abs(h.y-h.base)},tooltipPosition:function(){var h=this._view;return{x:h.x,y:h.y}}})},9931:(de,ge,N)=>{"use strict";de.exports={},de.exports.Arc=N(280),de.exports.Line=N(3819),de.exports.Point=N(4674),de.exports.Rectangle=N(8667)},2397:(de,ge,N)=>{"use strict";var O=N(4396),v=de.exports={clear:function(u){u.ctx.clearRect(0,0,u.width,u.height)},roundedRect:function(u,f,h,M,p,y){if(y){var x=Math.min(y,M/2),T=Math.min(y,p/2);u.moveTo(f+x,h),u.lineTo(f+M-x,h),u.quadraticCurveTo(f+M,h,f+M,h+T),u.lineTo(f+M,h+p-T),u.quadraticCurveTo(f+M,h+p,f+M-x,h+p),u.lineTo(f+x,h+p),u.quadraticCurveTo(f,h+p,f,h+p-T),u.lineTo(f,h+T),u.quadraticCurveTo(f,h,f+x,h)}else u.rect(f,h,M,p)},drawPoint:function(u,f,h,M,p){var y,x,T,S,k,L;if(!f||"object"!=typeof f||"[object HTMLImageElement]"!==(y=f.toString())&&"[object HTMLCanvasElement]"!==y){if(!(isNaN(h)||h<=0)){switch(f){default:u.beginPath(),u.arc(M,p,h,0,2*Math.PI),u.closePath(),u.fill();break;case"triangle":u.beginPath(),k=(x=3*h/Math.sqrt(3))*Math.sqrt(3)/2,u.moveTo(M-x/2,p+k/3),u.lineTo(M+x/2,p+k/3),u.lineTo(M,p-2*k/3),u.closePath(),u.fill();break;case"rect":L=1/Math.SQRT2*h,u.beginPath(),u.fillRect(M-L,p-L,2*L,2*L),u.strokeRect(M-L,p-L,2*L,2*L);break;case"rectRounded":var A=h/Math.SQRT2,U=M-A,B=p-A,K=Math.SQRT2*h;u.beginPath(),this.roundedRect(u,U,B,K,K,h/2),u.closePath(),u.fill();break;case"rectRot":L=1/Math.SQRT2*h,u.beginPath(),u.moveTo(M-L,p),u.lineTo(M,p+L),u.lineTo(M+L,p),u.lineTo(M,p-L),u.closePath(),u.fill();break;case"cross":u.beginPath(),u.moveTo(M,p+h),u.lineTo(M,p-h),u.moveTo(M-h,p),u.lineTo(M+h,p),u.closePath();break;case"crossRot":u.beginPath(),T=Math.cos(Math.PI/4)*h,S=Math.sin(Math.PI/4)*h,u.moveTo(M-T,p-S),u.lineTo(M+T,p+S),u.moveTo(M-T,p+S),u.lineTo(M+T,p-S),u.closePath();break;case"star":u.beginPath(),u.moveTo(M,p+h),u.lineTo(M,p-h),u.moveTo(M-h,p),u.lineTo(M+h,p),T=Math.cos(Math.PI/4)*h,S=Math.sin(Math.PI/4)*h,u.moveTo(M-T,p-S),u.lineTo(M+T,p+S),u.moveTo(M-T,p+S),u.lineTo(M+T,p-S),u.closePath();break;case"line":u.beginPath(),u.moveTo(M-h,p),u.lineTo(M+h,p),u.closePath();break;case"dash":u.beginPath(),u.moveTo(M,p),u.lineTo(M+h,p),u.closePath()}u.stroke()}}else u.drawImage(f,M-f.width/2,p-f.height/2,f.width,f.height)},clipArea:function(u,f){u.save(),u.beginPath(),u.rect(f.left,f.top,f.right-f.left,f.bottom-f.top),u.clip()},unclipArea:function(u){u.restore()},lineTo:function(u,f,h,M){if(h.steppedLine)return"after"===h.steppedLine&&!M||"after"!==h.steppedLine&&M?u.lineTo(f.x,h.y):u.lineTo(h.x,f.y),void u.lineTo(h.x,h.y);h.tension?u.bezierCurveTo(M?f.controlPointPreviousX:f.controlPointNextX,M?f.controlPointPreviousY:f.controlPointNextY,M?h.controlPointNextX:h.controlPointPreviousX,M?h.controlPointNextY:h.controlPointPreviousY,h.x,h.y):u.lineTo(h.x,h.y)}};O.clear=v.clear,O.drawRoundedRectangle=function(u){u.beginPath(),v.roundedRect.apply(v,arguments),u.closePath()}},4396:de=>{"use strict";var N,ge={noop:function(){},uid:(N=0,function(){return N++}),isNullOrUndef:function(N){return null===N||typeof N>"u"},isArray:Array.isArray?Array.isArray:function(N){return"[object Array]"===Object.prototype.toString.call(N)},isObject:function(N){return null!==N&&"[object Object]"===Object.prototype.toString.call(N)},valueOrDefault:function(N,O){return typeof N>"u"?O:N},valueAtIndexOrDefault:function(N,O,v){return ge.valueOrDefault(ge.isArray(N)?N[O]:N,v)},callback:function(N,O,v){if(N&&"function"==typeof N.call)return N.apply(v,O)},each:function(N,O,v,u){var f,h,M;if(ge.isArray(N))if(h=N.length,u)for(f=h-1;f>=0;f--)O.call(v,N[f],f);else for(f=0;f{"use strict";var O=N(4396),v={linear:function(u){return u},easeInQuad:function(u){return u*u},easeOutQuad:function(u){return-u*(u-2)},easeInOutQuad:function(u){return(u/=.5)<1?.5*u*u:-.5*(--u*(u-2)-1)},easeInCubic:function(u){return u*u*u},easeOutCubic:function(u){return(u-=1)*u*u+1},easeInOutCubic:function(u){return(u/=.5)<1?.5*u*u*u:.5*((u-=2)*u*u+2)},easeInQuart:function(u){return u*u*u*u},easeOutQuart:function(u){return-((u-=1)*u*u*u-1)},easeInOutQuart:function(u){return(u/=.5)<1?.5*u*u*u*u:-.5*((u-=2)*u*u*u-2)},easeInQuint:function(u){return u*u*u*u*u},easeOutQuint:function(u){return(u-=1)*u*u*u*u+1},easeInOutQuint:function(u){return(u/=.5)<1?.5*u*u*u*u*u:.5*((u-=2)*u*u*u*u+2)},easeInSine:function(u){return 1-Math.cos(u*(Math.PI/2))},easeOutSine:function(u){return Math.sin(u*(Math.PI/2))},easeInOutSine:function(u){return-.5*(Math.cos(Math.PI*u)-1)},easeInExpo:function(u){return 0===u?0:Math.pow(2,10*(u-1))},easeOutExpo:function(u){return 1===u?1:1-Math.pow(2,-10*u)},easeInOutExpo:function(u){return 0===u?0:1===u?1:(u/=.5)<1?.5*Math.pow(2,10*(u-1)):.5*(2-Math.pow(2,-10*--u))},easeInCirc:function(u){return u>=1?u:-(Math.sqrt(1-u*u)-1)},easeOutCirc:function(u){return Math.sqrt(1-(u-=1)*u)},easeInOutCirc:function(u){return(u/=.5)<1?-.5*(Math.sqrt(1-u*u)-1):.5*(Math.sqrt(1-(u-=2)*u)+1)},easeInElastic:function(u){var f=1.70158,h=0,M=1;return 0===u?0:1===u?1:(h||(h=.3),M<1?(M=1,f=h/4):f=h/(2*Math.PI)*Math.asin(1/M),-M*Math.pow(2,10*(u-=1))*Math.sin((u-f)*(2*Math.PI)/h))},easeOutElastic:function(u){var f=1.70158,h=0,M=1;return 0===u?0:1===u?1:(h||(h=.3),M<1?(M=1,f=h/4):f=h/(2*Math.PI)*Math.asin(1/M),M*Math.pow(2,-10*u)*Math.sin((u-f)*(2*Math.PI)/h)+1)},easeInOutElastic:function(u){var f=1.70158,h=0,M=1;return 0===u?0:2==(u/=.5)?1:(h||(h=.45),M<1?(M=1,f=h/4):f=h/(2*Math.PI)*Math.asin(1/M),u<1?M*Math.pow(2,10*(u-=1))*Math.sin((u-f)*(2*Math.PI)/h)*-.5:M*Math.pow(2,-10*(u-=1))*Math.sin((u-f)*(2*Math.PI)/h)*.5+1)},easeInBack:function(u){var f=1.70158;return u*u*((f+1)*u-f)},easeOutBack:function(u){var f=1.70158;return(u-=1)*u*((f+1)*u+f)+1},easeInOutBack:function(u){var f=1.70158;return(u/=.5)<1?u*u*((1+(f*=1.525))*u-f)*.5:.5*((u-=2)*u*((1+(f*=1.525))*u+f)+2)},easeInBounce:function(u){return 1-v.easeOutBounce(1-u)},easeOutBounce:function(u){return u<1/2.75?7.5625*u*u:u<2/2.75?7.5625*(u-=1.5/2.75)*u+.75:u<2.5/2.75?7.5625*(u-=2.25/2.75)*u+.9375:7.5625*(u-=2.625/2.75)*u+.984375},easeInOutBounce:function(u){return u<.5?.5*v.easeInBounce(2*u):.5*v.easeOutBounce(2*u-1)+.5}};de.exports={effects:v},O.easingEffects=v},5347:(de,ge,N)=>{"use strict";var O=N(4396);de.exports={toLineHeight:function(v,u){var f=(""+v).match(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/);if(!f||"normal"===f[1])return 1.2*u;switch(v=+f[2],f[3]){case"px":return v;case"%":v/=100}return u*v},toPadding:function(v){var u,f,h,M;return O.isObject(v)?(u=+v.top||0,f=+v.right||0,h=+v.bottom||0,M=+v.left||0):u=f=h=M=+v||0,{top:u,right:f,bottom:h,left:M,height:u+h,width:M+f}},resolve:function(v,u,f){var h,M,p;for(h=0,M=v.length;h{"use strict";de.exports=N(4396),de.exports.easing=N(4317),de.exports.canvas=N(2397),de.exports.options=N(5347)},1607:de=>{de.exports={acquireContext:function(ge){return ge&&ge.canvas&&(ge=ge.canvas),ge&&ge.getContext("2d")||null}}},8005:(de,ge,N)=>{"use strict";var O=N(3305),v="$chartjs",u="chartjs-",f=u+"render-monitor",h=u+"render-animation",M=["animationstart","webkitAnimationStart"],p={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function y(q,Q){var ee=O.getStyle(q,Q),ae=ee&&ee.match(/^(\d+)(\.\d+)?px$/);return ae?Number(ae[1]):void 0}var S=!!function(){var q=!1;try{var Q=Object.defineProperty({},"passive",{get:function(){q=!0}});window.addEventListener("e",null,Q)}catch{}return q}()&&{passive:!0};function k(q,Q,ee){q.addEventListener(Q,ee,S)}function L(q,Q,ee){q.removeEventListener(Q,ee,S)}function A(q,Q,ee,ae,le){return{type:q,chart:Q,native:le||null,x:void 0!==ee?ee:null,y:void 0!==ae?ae:null}}de.exports={_enabled:typeof window<"u"&&typeof document<"u",initialize:function(){var q="from{opacity:0.99}to{opacity:1}";!function he(q,Q){var ee=q._style||document.createElement("style");q._style||(q._style=ee,Q="/* Chart.js */\n"+Q,ee.setAttribute("type","text/css"),document.getElementsByTagName("head")[0].appendChild(ee)),ee.appendChild(document.createTextNode(Q))}(this,"@-webkit-keyframes "+h+"{"+q+"}@keyframes "+h+"{"+q+"}."+f+"{-webkit-animation:"+h+" 0.001s;animation:"+h+" 0.001s;}")},acquireContext:function(q,Q){"string"==typeof q?q=document.getElementById(q):q.length&&(q=q[0]),q&&q.canvas&&(q=q.canvas);var ee=q&&q.getContext&&q.getContext("2d");return ee&&ee.canvas===q?(function x(q,Q){var ee=q.style,ae=q.getAttribute("height"),le=q.getAttribute("width");if(q[v]={initial:{height:ae,width:le,style:{display:ee.display,height:ee.height,width:ee.width}}},ee.display=ee.display||"block",null===le||""===le){var J=y(q,"width");void 0!==J&&(q.width=J)}if(null===ae||""===ae)if(""===q.style.height)q.height=q.width/(Q.options.aspectRatio||2);else{var Te=y(q,"height");void 0!==J&&(q.height=Te)}}(q,Q),ee):null},releaseContext:function(q){var Q=q.canvas;if(Q[v]){var ee=Q[v].initial;["height","width"].forEach(function(ae){var le=ee[ae];O.isNullOrUndef(le)?Q.removeAttribute(ae):Q.setAttribute(ae,le)}),O.each(ee.style||{},function(ae,le){Q.style[le]=ae}),Q.width=Q.width,delete Q[v]}},addEventListener:function(q,Q,ee){var ae=q.canvas;if("resize"!==Q){var le=ee[v]||(ee[v]={}),Te=(le.proxies||(le.proxies={}))[q.id+"_"+Q]=function(Se){ee(function U(q,Q){var ee=p[q.type]||q.type,ae=O.getRelativePosition(q,Q);return A(ee,Q,ae.x,ae.y,q)}(Se,q))};k(ae,Q,Te)}else!function Z(q,Q,ee){var ae=q[v]||(q[v]={}),le=ae.resizer=function K(q){var Q=document.createElement("div"),ee=u+"size-monitor",ae=1e6,le="position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1;";Q.style.cssText=le,Q.className=ee,Q.innerHTML='
';var J=Q.childNodes[0],Te=Q.childNodes[1];Q._reset=function(){J.scrollLeft=ae,J.scrollTop=ae,Te.scrollLeft=ae,Te.scrollTop=ae};var Se=function(){Q._reset(),q()};return k(J,"scroll",Se.bind(J,"expand")),k(Te,"scroll",Se.bind(Te,"shrink")),Q}(function B(q,Q){var ee=!1,ae=[];return function(){ae=Array.prototype.slice.call(arguments),Q=Q||this,ee||(ee=!0,O.requestAnimFrame.call(window,function(){ee=!1,q.apply(Q,ae)}))}}(function(){if(ae.resizer)return Q(A("resize",ee))}));!function re(q,Q){var ee=q[v]||(q[v]={}),ae=ee.renderProxy=function(le){le.animationName===h&&Q()};O.each(M,function(le){k(q,le,ae)}),ee.reflow=!!q.offsetParent,q.classList.add(f)}(q,function(){if(ae.resizer){var J=q.parentNode;J&&J!==le.parentNode&&J.insertBefore(le,J.firstChild),le._reset()}})}(ae,ee,q)},removeEventListener:function(q,Q,ee){var ae=q.canvas;if("resize"!==Q){var Te=((ee[v]||{}).proxies||{})[q.id+"_"+Q];Te&&L(ae,Q,Te)}else!function X(q){var Q=q[v]||{},ee=Q.resizer;delete Q.resizer,function ve(q){var Q=q[v]||{},ee=Q.renderProxy;ee&&(O.each(M,function(ae){L(q,ae,ee)}),delete Q.renderProxy),q.classList.remove(f)}(q),ee&&ee.parentNode&&ee.parentNode.removeChild(ee)}(ae)}},O.addEvent=k,O.removeEvent=L},8244:(de,ge,N)=>{"use strict";var O=N(3305),v=N(1607),u=N(8005);de.exports=O.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},u._enabled?u:v)},6747:(de,ge,N)=>{"use strict";de.exports={},de.exports.filler=N(6579),de.exports.legend=N(2230),de.exports.title=N(7412)},6579:(de,ge,N)=>{"use strict";var O=N(9800),v=N(9931),u=N(3305);O._set("global",{plugins:{filler:{propagate:!0}}});var f={dataset:function(k){var L=k.fill,A=k.chart,U=A.getDatasetMeta(L),K=U&&A.isDatasetVisible(L)&&U.dataset._children||[],re=K.length||0;return re?function(ve,Z){return Z=A)&&K;switch(B){case"bottom":return"start";case"top":return"end";case"zero":return"origin";case"origin":case"start":case"end":return B;default:return!1}}function M(k){var K,L=k.el._model||{},A=k.el._scale||{},U=k.fill,B=null;if(isFinite(U))return null;if("start"===U?B=void 0===L.scaleBottom?A.bottom:L.scaleBottom:"end"===U?B=void 0===L.scaleTop?A.top:L.scaleTop:void 0!==L.scaleZero?B=L.scaleZero:A.getBasePosition?B=A.getBasePosition():A.getBasePixel&&(B=A.getBasePixel()),null!=B){if(void 0!==B.x&&void 0!==B.y)return B;if("number"==typeof B&&isFinite(B))return{x:(K=A.isHorizontal())?B:null,y:K?null:B}}return null}function p(k,L,A){var re,B=k[L].fill,K=[L];if(!A)return B;for(;!1!==B&&-1===K.indexOf(B);){if(!isFinite(B))return B;if(!(re=k[B]))return!1;if(re.visible)return B;K.push(B),B=re.fill}return!1}function y(k){var L=k.fill,A="dataset";return!1===L?null:(isFinite(L)||(A="boundary"),f[A](k))}function x(k){return k&&!k.skip}function T(k,L,A,U,B){var K;if(U&&B){for(k.moveTo(L[0].x,L[0].y),K=1;K0;--K)u.canvas.lineTo(k,A[K],A[K-1],!0)}}de.exports={id:"filler",afterDatasetsUpdate:function(k,L){var K,re,ve,Z,A=(k.data.datasets||[]).length,U=L.propagate,B=[];for(re=0;re{"use strict";var O=N(9800),v=N(8839),u=N(3305),f=N(2294),h=u.noop;function M(x,T){return x.usePointStyle?T*Math.SQRT2:x.boxWidth}O._set("global",{legend:{display:!0,position:"top",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(x,T){var S=T.datasetIndex,k=this.chart,L=k.getDatasetMeta(S);L.hidden=null===L.hidden?!k.data.datasets[S].hidden:null,k.update()},onHover:null,labels:{boxWidth:40,padding:10,generateLabels:function(x){var T=x.data;return u.isArray(T.datasets)?T.datasets.map(function(S,k){return{text:S.label,fillStyle:u.isArray(S.backgroundColor)?S.backgroundColor[0]:S.backgroundColor,hidden:!x.isDatasetVisible(k),lineCap:S.borderCapStyle,lineDash:S.borderDash,lineDashOffset:S.borderDashOffset,lineJoin:S.borderJoinStyle,lineWidth:S.borderWidth,strokeStyle:S.borderColor,pointStyle:S.pointStyle,datasetIndex:k}},this):[]}}},legendCallback:function(x){var T=[];T.push('
    ');for(var S=0;S'),x.data.datasets[S].label&&T.push(x.data.datasets[S].label),T.push("");return T.push("
"),T.join("")}});var p=v.extend({initialize:function(x){u.extend(this,x),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:h,update:function(x,T,S){var k=this;return k.beforeUpdate(),k.maxWidth=x,k.maxHeight=T,k.margins=S,k.beforeSetDimensions(),k.setDimensions(),k.afterSetDimensions(),k.beforeBuildLabels(),k.buildLabels(),k.afterBuildLabels(),k.beforeFit(),k.fit(),k.afterFit(),k.afterUpdate(),k.minSize},afterUpdate:h,beforeSetDimensions:h,setDimensions:function(){var x=this;x.isHorizontal()?(x.width=x.maxWidth,x.left=0,x.right=x.width):(x.height=x.maxHeight,x.top=0,x.bottom=x.height),x.paddingLeft=0,x.paddingTop=0,x.paddingRight=0,x.paddingBottom=0,x.minSize={width:0,height:0}},afterSetDimensions:h,beforeBuildLabels:h,buildLabels:function(){var x=this,T=x.options.labels||{},S=u.callback(T.generateLabels,[x.chart],x)||[];T.filter&&(S=S.filter(function(k){return T.filter(k,x.chart.data)})),x.options.reverse&&S.reverse(),x.legendItems=S},afterBuildLabels:h,beforeFit:h,fit:function(){var x=this,T=x.options,S=T.labels,k=T.display,L=x.ctx,A=O.global,U=u.valueOrDefault,B=U(S.fontSize,A.defaultFontSize),K=U(S.fontStyle,A.defaultFontStyle),re=U(S.fontFamily,A.defaultFontFamily),ve=u.fontString(B,K,re),Z=x.legendHitBoxes=[],X=x.minSize,he=x.isHorizontal();if(he?(X.width=x.maxWidth,X.height=k?10:0):(X.width=k?10:0,X.height=x.maxHeight),k)if(L.font=ve,he){var q=x.lineWidths=[0],Q=x.legendItems.length?B+S.padding:0;L.textAlign="left",L.textBaseline="top",u.each(x.legendItems,function(ke,Be){var st=M(S,B)+B/2+L.measureText(ke.text).width;q[q.length-1]+st+S.padding>=x.width&&(Q+=B+S.padding,q[q.length]=x.left),Z[Be]={left:0,top:0,width:st,height:B},q[q.length-1]+=st+S.padding}),X.height+=Q}else{var ee=S.padding,ae=x.columnWidths=[],le=S.padding,J=0,Te=0,Se=B+ee;u.each(x.legendItems,function(ke,Be){var st=M(S,B)+B/2+L.measureText(ke.text).width;Te+Se>X.height&&(le+=J+S.padding,ae.push(J),J=0,Te=0),J=Math.max(J,st),Te+=Se,Z[Be]={left:0,top:0,width:st,height:B}}),le+=J,ae.push(J),X.width+=le}x.width=X.width,x.height=X.height},afterFit:h,isHorizontal:function(){return"top"===this.options.position||"bottom"===this.options.position},draw:function(){var x=this,T=x.options,S=T.labels,k=O.global,L=k.elements.line,A=x.width,U=x.lineWidths;if(T.display){var q,B=x.ctx,K=u.valueOrDefault,re=K(S.fontColor,k.defaultFontColor),ve=K(S.fontSize,k.defaultFontSize),Z=K(S.fontStyle,k.defaultFontStyle),X=K(S.fontFamily,k.defaultFontFamily),he=u.fontString(ve,Z,X);B.textAlign="left",B.textBaseline="middle",B.lineWidth=.5,B.strokeStyle=re,B.fillStyle=re,B.font=he;var Q=M(S,ve),ee=x.legendHitBoxes,J=x.isHorizontal();q=J?{x:x.left+(A-U[0])/2,y:x.top+S.padding,line:0}:{x:x.left+S.padding,y:x.top+S.padding,line:0};var Te=ve+S.padding;u.each(x.legendItems,function(Se,ke){var Be=B.measureText(Se.text).width,tt=Q+ve/2+Be,st=q.x,at=q.y;J?st+tt>=A&&(at=q.y+=Te,q.line++,st=q.x=x.left+(A-U[q.line])/2):at+Te>x.bottom&&(st=q.x=st+x.columnWidths[q.line]+S.padding,at=q.y=x.top+S.padding,q.line++),function(Se,ke,Be){if(!(isNaN(Q)||Q<=0)){B.save(),B.fillStyle=K(Be.fillStyle,k.defaultColor),B.lineCap=K(Be.lineCap,L.borderCapStyle),B.lineDashOffset=K(Be.lineDashOffset,L.borderDashOffset),B.lineJoin=K(Be.lineJoin,L.borderJoinStyle),B.lineWidth=K(Be.lineWidth,L.borderWidth),B.strokeStyle=K(Be.strokeStyle,k.defaultColor);var tt=0===K(Be.lineWidth,L.borderWidth);if(B.setLineDash&&B.setLineDash(K(Be.lineDash,L.borderDash)),T.labels&&T.labels.usePointStyle){var st=ve*Math.SQRT2/2,at=st/Math.SQRT2;u.canvas.drawPoint(B,Be.pointStyle,st,Se+at,ke+at)}else tt||B.strokeRect(Se,ke,Q,ve),B.fillRect(Se,ke,Q,ve);B.restore()}}(st,at,Se),ee[ke].left=st,ee[ke].top=at,function(Se,ke,Be,tt){var st=ve/2,at=Q+st+Se,jt=ke+st;B.fillText(Be.text,at,jt),Be.hidden&&(B.beginPath(),B.lineWidth=2,B.moveTo(at,jt),B.lineTo(at+tt,jt),B.stroke())}(st,at,Se,Be),J?q.x+=tt+S.padding:q.y+=Te})}},handleEvent:function(x){var T=this,S=T.options,k="mouseup"===x.type?"click":x.type,L=!1;if("mousemove"===k){if(!S.onHover)return}else{if("click"!==k)return;if(!S.onClick)return}var A=x.x,U=x.y;if(A>=T.left&&A<=T.right&&U>=T.top&&U<=T.bottom)for(var B=T.legendHitBoxes,K=0;K=re.left&&A<=re.left+re.width&&U>=re.top&&U<=re.top+re.height){if("click"===k){S.onClick.call(T,x.native,T.legendItems[K]),L=!0;break}if("mousemove"===k){S.onHover.call(T,x.native,T.legendItems[K]),L=!0;break}}}return L}});function y(x,T){var S=new p({ctx:x.ctx,options:T,chart:x});f.configure(x,S,T),f.addBox(x,S),x.legend=S}de.exports={id:"legend",_element:p,beforeInit:function(x){var T=x.options.legend;T&&y(x,T)},beforeUpdate:function(x){var T=x.options.legend,S=x.legend;T?(u.mergeIf(T,O.global.legend),S?(f.configure(x,S,T),S.options=T):y(x,T)):S&&(f.removeBox(x,S),delete x.legend)},afterEvent:function(x,T){var S=x.legend;S&&S.handleEvent(T)}}},7412:(de,ge,N)=>{"use strict";var O=N(9800),v=N(8839),u=N(3305),f=N(2294),h=u.noop;O._set("global",{title:{display:!1,fontStyle:"bold",fullWidth:!0,lineHeight:1.2,padding:10,position:"top",text:"",weight:2e3}});var M=v.extend({initialize:function(y){u.extend(this,y),this.legendHitBoxes=[]},beforeUpdate:h,update:function(y,x,T){var S=this;return S.beforeUpdate(),S.maxWidth=y,S.maxHeight=x,S.margins=T,S.beforeSetDimensions(),S.setDimensions(),S.afterSetDimensions(),S.beforeBuildLabels(),S.buildLabels(),S.afterBuildLabels(),S.beforeFit(),S.fit(),S.afterFit(),S.afterUpdate(),S.minSize},afterUpdate:h,beforeSetDimensions:h,setDimensions:function(){var y=this;y.isHorizontal()?(y.width=y.maxWidth,y.left=0,y.right=y.width):(y.height=y.maxHeight,y.top=0,y.bottom=y.height),y.paddingLeft=0,y.paddingTop=0,y.paddingRight=0,y.paddingBottom=0,y.minSize={width:0,height:0}},afterSetDimensions:h,beforeBuildLabels:h,buildLabels:h,afterBuildLabels:h,beforeFit:h,fit:function(){var y=this,T=y.options,S=T.display,k=(0,u.valueOrDefault)(T.fontSize,O.global.defaultFontSize),L=y.minSize,A=u.isArray(T.text)?T.text.length:1,U=u.options.toLineHeight(T.lineHeight,k),B=S?A*U+2*T.padding:0;y.isHorizontal()?(L.width=y.maxWidth,L.height=B):(L.width=B,L.height=y.maxHeight),y.width=L.width,y.height=L.height},afterFit:h,isHorizontal:function(){var y=this.options.position;return"top"===y||"bottom"===y},draw:function(){var y=this,x=y.ctx,T=u.valueOrDefault,S=y.options,k=O.global;if(S.display){var Q,ee,ae,L=T(S.fontSize,k.defaultFontSize),A=T(S.fontStyle,k.defaultFontStyle),U=T(S.fontFamily,k.defaultFontFamily),B=u.fontString(L,A,U),K=u.options.toLineHeight(S.lineHeight,L),re=K/2+S.padding,ve=0,Z=y.top,X=y.left,he=y.bottom,q=y.right;x.fillStyle=T(S.fontColor,k.defaultFontColor),x.font=B,y.isHorizontal()?(ee=X+(q-X)/2,ae=Z+re,Q=q-X):(ee="left"===S.position?X+re:q-re,ae=Z+(he-Z)/2,Q=he-Z,ve=Math.PI*("left"===S.position?-.5:.5)),x.save(),x.translate(ee,ae),x.rotate(ve),x.textAlign="center",x.textBaseline="middle";var le=S.text;if(u.isArray(le))for(var J=0,Te=0;Te{"use strict";de.exports=function(ge){var O=ge.Scale.extend({getLabels:function(){var v=this.chart.data;return this.options.labels||(this.isHorizontal()?v.xLabels:v.yLabels)||v.labels},determineDataLimits:function(){var f,v=this,u=v.getLabels();v.minIndex=0,v.maxIndex=u.length-1,void 0!==v.options.ticks.min&&(f=u.indexOf(v.options.ticks.min),v.minIndex=-1!==f?f:v.minIndex),void 0!==v.options.ticks.max&&(f=u.indexOf(v.options.ticks.max),v.maxIndex=-1!==f?f:v.maxIndex),v.min=u[v.minIndex],v.max=u[v.maxIndex]},buildTicks:function(){var v=this,u=v.getLabels();v.ticks=0===v.minIndex&&v.maxIndex===u.length-1?u:u.slice(v.minIndex,v.maxIndex+1)},getLabelForIndex:function(v,u){var f=this,h=f.chart.data,M=f.isHorizontal();return h.yLabels&&!M?f.getRightValue(h.datasets[u].data[v]):f.ticks[v-f.minIndex]},getPixelForValue:function(v,u){var p,f=this,h=f.options.offset,M=Math.max(f.maxIndex+1-f.minIndex-(h?0:1),1);if(null!=v&&(p=f.isHorizontal()?v.x:v.y),void 0!==p||void 0!==v&&isNaN(u)){var x=f.getLabels().indexOf(v=p||v);u=-1!==x?x:u}if(f.isHorizontal()){var T=f.width/M,S=T*(u-f.minIndex);return h&&(S+=T/2),f.left+Math.round(S)}var k=f.height/M,L=k*(u-f.minIndex);return h&&(L+=k/2),f.top+Math.round(L)},getPixelForTick:function(v){return this.getPixelForValue(this.ticks[v],v+this.minIndex,null)},getValueForPixel:function(v){var u=this,f=u.options.offset,M=Math.max(u._ticks.length-(f?0:1),1),p=u.isHorizontal(),y=(p?u.width:u.height)/M;return v-=p?u.left:u.top,f&&(v-=y/2),(v<=0?0:Math.round(v/y))+u.minIndex},getBasePixel:function(){return this.bottom}});ge.scaleService.registerScaleType("category",O,{position:"bottom"})}},1704:(de,ge,N)=>{"use strict";var O=N(9800),v=N(3305),u=N(8347);de.exports=function(f){var h={position:"left",ticks:{callback:u.formatters.linear}},M=f.LinearScaleBase.extend({determineDataLimits:function(){var p=this,y=p.options,x=p.chart,S=x.data.datasets,k=p.isHorizontal();function U(re){return k?re.xAxisID===p.id:re.yAxisID===p.id}p.min=null,p.max=null;var B=y.stacked;if(void 0===B&&v.each(S,function(re,ve){if(!B){var Z=x.getDatasetMeta(ve);x.isDatasetVisible(ve)&&U(Z)&&void 0!==Z.stack&&(B=!0)}}),y.stacked||B){var K={};v.each(S,function(re,ve){var Z=x.getDatasetMeta(ve),X=[Z.type,void 0===y.stacked&&void 0===Z.stack?ve:"",Z.stack].join(".");void 0===K[X]&&(K[X]={positiveValues:[],negativeValues:[]});var he=K[X].positiveValues,q=K[X].negativeValues;x.isDatasetVisible(ve)&&U(Z)&&v.each(re.data,function(Q,ee){var ae=+p.getRightValue(Q);isNaN(ae)||Z.data[ee].hidden||(he[ee]=he[ee]||0,q[ee]=q[ee]||0,y.relativePoints?he[ee]=100:ae<0?q[ee]+=ae:he[ee]+=ae)})}),v.each(K,function(re){var ve=re.positiveValues.concat(re.negativeValues),Z=v.min(ve),X=v.max(ve);p.min=null===p.min?Z:Math.min(p.min,Z),p.max=null===p.max?X:Math.max(p.max,X)})}else v.each(S,function(re,ve){var Z=x.getDatasetMeta(ve);x.isDatasetVisible(ve)&&U(Z)&&v.each(re.data,function(X,he){var q=+p.getRightValue(X);isNaN(q)||Z.data[he].hidden||((null===p.min||qp.max)&&(p.max=q))})});p.min=isFinite(p.min)&&!isNaN(p.min)?p.min:0,p.max=isFinite(p.max)&&!isNaN(p.max)?p.max:1,this.handleTickRangeOptions()},getTickLimit:function(){var p,y=this,x=y.options.ticks;if(y.isHorizontal())p=Math.min(x.maxTicksLimit?x.maxTicksLimit:11,Math.ceil(y.width/50));else{var T=v.valueOrDefault(x.fontSize,O.global.defaultFontSize);p=Math.min(x.maxTicksLimit?x.maxTicksLimit:11,Math.ceil(y.height/(2*T)))}return p},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(p,y){return+this.getRightValue(this.chart.data.datasets[y].data[p])},getPixelForValue:function(p){var y=this,x=y.start,T=+y.getRightValue(p),k=y.end-x;return y.isHorizontal()?y.left+y.width/k*(T-x):y.bottom-y.height/k*(T-x)},getValueForPixel:function(p){var y=this,x=y.isHorizontal();return y.start+(x?p-y.left:y.bottom-p)/(x?y.width:y.height)*(y.end-y.start)},getPixelForTick:function(p){return this.getPixelForValue(this.ticksAsNumbers[p])}});f.scaleService.registerScaleType("linear",M,h)}},8351:(de,ge,N)=>{"use strict";var O=N(3305);de.exports=function(u){var f=O.noop;u.LinearScaleBase=u.Scale.extend({getRightValue:function(h){return"string"==typeof h?+h:u.Scale.prototype.getRightValue.call(this,h)},handleTickRangeOptions:function(){var h=this,p=h.options.ticks;if(p.beginAtZero){var y=O.sign(h.min),x=O.sign(h.max);y<0&&x<0?h.max=0:y>0&&x>0&&(h.min=0)}var T=void 0!==p.min||void 0!==p.suggestedMin,S=void 0!==p.max||void 0!==p.suggestedMax;void 0!==p.min?h.min=p.min:void 0!==p.suggestedMin&&(h.min=null===h.min?p.suggestedMin:Math.min(h.min,p.suggestedMin)),void 0!==p.max?h.max=p.max:void 0!==p.suggestedMax&&(h.max=null===h.max?p.suggestedMax:Math.max(h.max,p.suggestedMax)),T!==S&&h.min>=h.max&&(T?h.max=h.min+1:h.min=h.max-1),h.min===h.max&&(h.max++,p.beginAtZero||h.min--)},getTickLimit:f,handleDirectionalChanges:f,buildTicks:function(){var h=this,p=h.options.ticks,y=h.getTickLimit(),x={maxTicks:y=Math.max(2,y),min:p.min,max:p.max,stepSize:O.valueOrDefault(p.fixedStepSize,p.stepSize)},T=h.ticks=function v(u,f){var M,h=[];if(u.stepSize&&u.stepSize>0)M=u.stepSize;else{var p=O.niceNum(f.max-f.min,!1);M=O.niceNum(p/(u.maxTicks-1),!0)}var y=Math.floor(f.min/M)*M,x=Math.ceil(f.max/M)*M;u.min&&u.max&&u.stepSize&&O.almostWhole((u.max-u.min)/u.stepSize,M/1e3)&&(y=u.min,x=u.max);var T=(x-y)/M;T=O.almostEquals(T,Math.round(T),M/1e3)?Math.round(T):Math.ceil(T);var S=1;M<1&&(S=Math.pow(10,M.toString().length-2),y=Math.round(y*S)/S,x=Math.round(x*S)/S),h.push(void 0!==u.min?u.min:y);for(var k=1;k{"use strict";var O=N(3305),v=N(8347);de.exports=function(f){var h={position:"left",ticks:{callback:v.formatters.logarithmic}},M=f.Scale.extend({determineDataLimits:function(){var p=this,y=p.options,x=p.chart,S=x.data.datasets,k=p.isHorizontal();function L(B){return k?B.xAxisID===p.id:B.yAxisID===p.id}p.min=null,p.max=null,p.minNotZero=null;var A=y.stacked;if(void 0===A&&O.each(S,function(B,K){if(!A){var re=x.getDatasetMeta(K);x.isDatasetVisible(K)&&L(re)&&void 0!==re.stack&&(A=!0)}}),y.stacked||A){var U={};O.each(S,function(B,K){var re=x.getDatasetMeta(K),ve=[re.type,void 0===y.stacked&&void 0===re.stack?K:"",re.stack].join(".");x.isDatasetVisible(K)&&L(re)&&(void 0===U[ve]&&(U[ve]=[]),O.each(B.data,function(Z,X){var he=U[ve],q=+p.getRightValue(Z);isNaN(q)||re.data[X].hidden||q<0||(he[X]=he[X]||0,he[X]+=q)}))}),O.each(U,function(B){if(B.length>0){var K=O.min(B),re=O.max(B);p.min=null===p.min?K:Math.min(p.min,K),p.max=null===p.max?re:Math.max(p.max,re)}})}else O.each(S,function(B,K){var re=x.getDatasetMeta(K);x.isDatasetVisible(K)&&L(re)&&O.each(B.data,function(ve,Z){var X=+p.getRightValue(ve);isNaN(X)||re.data[Z].hidden||X<0||((null===p.min||Xp.max)&&(p.max=X),0!==X&&(null===p.minNotZero||X0?p.min:p.max<1?Math.pow(10,Math.floor(O.log10(p.max))):1)},buildTicks:function(){var p=this,x=p.options.ticks,T=!p.isHorizontal(),k=p.ticks=function u(f,h){var S,k,M=[],p=O.valueOrDefault,y=p(f.min,Math.pow(10,Math.floor(O.log10(h.min)))),x=Math.floor(O.log10(h.max)),T=Math.ceil(h.max/Math.pow(10,x));0===y?(S=Math.floor(O.log10(h.minNotZero)),k=Math.floor(h.minNotZero/Math.pow(10,S)),M.push(y),y=k*Math.pow(10,S)):(S=Math.floor(O.log10(y)),k=Math.floor(y/Math.pow(10,S)));var L=S<0?Math.pow(10,Math.abs(S)):1;do{M.push(y),10==++k&&(k=1,L=++S>=0?1:L),y=Math.round(k*Math.pow(10,S)*L)/L}while(S{"use strict";var O=N(9800),v=N(3305),u=N(8347);de.exports=function(f){var h=O.global,M={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0, 0, 0, 0.1)",lineWidth:1},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:u.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(Z){return Z}}};function p(Z){var X=Z.options;return X.angleLines.display||X.pointLabels.display?Z.chart.data.labels.length:0}function y(Z){var X=Z.options.pointLabels,he=v.valueOrDefault(X.fontSize,h.defaultFontSize),q=v.valueOrDefault(X.fontStyle,h.defaultFontStyle),Q=v.valueOrDefault(X.fontFamily,h.defaultFontFamily);return{size:he,style:q,family:Q,font:v.fontString(he,q,Q)}}function x(Z,X,he){return v.isArray(he)?{w:v.longestText(Z,Z.font,he),h:he.length*X+1.5*(he.length-1)*X}:{w:Z.measureText(he).width,h:X}}function T(Z,X,he,q,Q){return Z===q||Z===Q?{start:X-he/2,end:X+he/2}:ZQ?{start:X-he-5,end:X}:{start:X,end:X+he+5}}function L(Z){return 0===Z||180===Z?"center":Z<180?"left":"right"}function A(Z,X,he,q){if(v.isArray(X))for(var Q=he.y,ee=1.5*q,ae=0;ae270||Z<90)&&(he.y-=X.h)}function re(Z){return v.isNumber(Z)?Z:0}var ve=f.LinearScaleBase.extend({setDimensions:function(){var Z=this,X=Z.options,he=X.ticks;Z.width=Z.maxWidth,Z.height=Z.maxHeight,Z.xCenter=Math.round(Z.width/2),Z.yCenter=Math.round(Z.height/2);var q=v.min([Z.height,Z.width]),Q=v.valueOrDefault(he.fontSize,h.defaultFontSize);Z.drawingArea=X.display?q/2-(Q/2+he.backdropPaddingY):q/2},determineDataLimits:function(){var Z=this,X=Z.chart,he=Number.POSITIVE_INFINITY,q=Number.NEGATIVE_INFINITY;v.each(X.data.datasets,function(Q,ee){if(X.isDatasetVisible(ee)){var ae=X.getDatasetMeta(ee);v.each(Q.data,function(le,J){var Te=+Z.getRightValue(le);isNaN(Te)||ae.data[J].hidden||(he=Math.min(Te,he),q=Math.max(Te,q))})}}),Z.min=he===Number.POSITIVE_INFINITY?0:he,Z.max=q===Number.NEGATIVE_INFINITY?0:q,Z.handleTickRangeOptions()},getTickLimit:function(){var Z=this.options.ticks,X=v.valueOrDefault(Z.fontSize,h.defaultFontSize);return Math.min(Z.maxTicksLimit?Z.maxTicksLimit:11,Math.ceil(this.drawingArea/(1.5*X)))},convertTicksToLabels:function(){var Z=this;f.LinearScaleBase.prototype.convertTicksToLabels.call(Z),Z.pointLabels=Z.chart.data.labels.map(Z.options.pointLabels.callback,Z)},getLabelForIndex:function(Z,X){return+this.getRightValue(this.chart.data.datasets[X].data[Z])},fit:function(){this.options.pointLabels.display?function S(Z){var ee,ae,le,X=y(Z),he=Math.min(Z.height/2,Z.width/2),q={r:Z.width,l:0,t:Z.height,b:0},Q={};Z.ctx.font=X.font,Z._pointLabelSizes=[];var J=p(Z);for(ee=0;eeq.r&&(q.r=ke.end,Q.r=Te),Be.startq.b&&(q.b=Be.end,Q.b=Te)}Z.setReductions(he,q,Q)}(this):function k(Z){var X=Math.min(Z.height/2,Z.width/2);Z.drawingArea=Math.round(X),Z.setCenterPoint(0,0,0,0)}(this)},setReductions:function(Z,X,he){var q=this,Q=X.l/Math.sin(he.l),ee=Math.max(X.r-q.width,0)/Math.sin(he.r),ae=-X.t/Math.cos(he.t),le=-Math.max(X.b-q.height,0)/Math.cos(he.b);Q=re(Q),ee=re(ee),ae=re(ae),le=re(le),q.drawingArea=Math.min(Math.round(Z-(Q+ee)/2),Math.round(Z-(ae+le)/2)),q.setCenterPoint(Q,ee,ae,le)},setCenterPoint:function(Z,X,he,q){var Q=this,le=he+Q.drawingArea,J=Q.height-q-Q.drawingArea;Q.xCenter=Math.round((Z+Q.drawingArea+(Q.width-X-Q.drawingArea))/2+Q.left),Q.yCenter=Math.round((le+J)/2+Q.top)},getIndexAngle:function(Z){return Z*(2*Math.PI/p(this))+(this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0)*Math.PI*2/360},getDistanceFromCenterForValue:function(Z){var X=this;if(null===Z)return 0;var he=X.drawingArea/(X.max-X.min);return X.options.ticks.reverse?(X.max-Z)*he:(Z-X.min)*he},getPointPosition:function(Z,X){var q=this.getIndexAngle(Z)-Math.PI/2;return{x:Math.round(Math.cos(q)*X)+this.xCenter,y:Math.round(Math.sin(q)*X)+this.yCenter}},getPointPositionForValue:function(Z,X){return this.getPointPosition(Z,this.getDistanceFromCenterForValue(X))},getBasePosition:function(){var Z=this,X=Z.min,he=Z.max;return Z.getPointPositionForValue(0,Z.beginAtZero?0:X<0&&he<0?he:X>0&&he>0?X:0)},draw:function(){var Z=this,X=Z.options,he=X.gridLines,q=X.ticks,Q=v.valueOrDefault;if(X.display){var ee=Z.ctx,ae=this.getIndexAngle(0),le=Q(q.fontSize,h.defaultFontSize),J=Q(q.fontStyle,h.defaultFontStyle),Te=Q(q.fontFamily,h.defaultFontFamily),Se=v.fontString(le,J,Te);v.each(Z.ticks,function(ke,Be){if(Be>0||q.reverse){var tt=Z.getDistanceFromCenterForValue(Z.ticksAsNumbers[Be]);if(he.display&&0!==Be&&function K(Z,X,he,q){var Q=Z.ctx;if(Q.strokeStyle=v.valueAtIndexOrDefault(X.color,q-1),Q.lineWidth=v.valueAtIndexOrDefault(X.lineWidth,q-1),Z.options.gridLines.circular)Q.beginPath(),Q.arc(Z.xCenter,Z.yCenter,he,0,2*Math.PI),Q.closePath(),Q.stroke();else{var ee=p(Z);if(0===ee)return;Q.beginPath();var ae=Z.getPointPosition(0,he);Q.moveTo(ae.x,ae.y);for(var le=1;le=0;le--){if(q.display){var J=Z.getPointPosition(le,ee);X.beginPath(),X.moveTo(Z.xCenter,Z.yCenter),X.lineTo(J.x,J.y),X.stroke(),X.closePath()}if(Q.display){var Te=Z.getPointPosition(le,ee+5),Se=v.valueAtIndexOrDefault(Q.fontColor,le,h.defaultFontColor);X.font=ae.font,X.fillStyle=Se;var ke=Z.getIndexAngle(le),Be=v.toDegrees(ke);X.textAlign=L(Be),U(Be,Z._pointLabelSizes[le],Te),A(X,Z.pointLabels[le]||"",Te,ae.size)}}}(Z)}}});f.scaleService.registerScaleType("radialLinear",ve,M)}},4215:(de,ge,N)=>{"use strict";var O=N(5439);O="function"==typeof O?O:window.moment;var v=N(9800),u=N(3305),f=Number.MIN_SAFE_INTEGER||-9007199254740991,h=Number.MAX_SAFE_INTEGER||9007199254740991,M={millisecond:{common:!0,size:1,steps:[1,2,5,10,20,50,100,250,500]},second:{common:!0,size:1e3,steps:[1,2,5,10,30]},minute:{common:!0,size:6e4,steps:[1,2,5,10,30]},hour:{common:!0,size:36e5,steps:[1,2,3,6,12]},day:{common:!0,size:864e5,steps:[1,2,5]},week:{common:!1,size:6048e5,steps:[1,2,3,4]},month:{common:!0,size:2628e6,steps:[1,2,3]},quarter:{common:!1,size:7884e6,steps:[1,2,3,4]},year:{common:!0,size:3154e7}},p=Object.keys(M);function y(q,Q){return q-Q}function x(q){var ae,le,J,Q={},ee=[];for(ae=0,le=q.length;ae=0&&ae<=le;){if(Se=q[J=ae+le>>1],!(Te=q[J-1]||null))return{lo:null,hi:Se};if(Se[Q]ee))return{lo:Te,hi:Se};le=J-1}}return{lo:Se,hi:null}}(q,Q,ee),J=le.lo?le.hi?le.lo:q[q.length-2]:q[0],Te=le.lo?le.hi?le.hi:q[q.length-1]:q[1],Se=Te[Q]-J[Q];return J[ae]+(Te[ae]-J[ae])*(Se?(ee-J[Q])/Se:0)}function L(q,Q){var ee=Q.parser,ae=Q.parser||Q.format;return"function"==typeof ee?ee(q):"string"==typeof q&&"string"==typeof ae?O(q,ae):(q instanceof O||(q=O(q)),q.isValid()?q:"function"==typeof ae?ae(q):q)}function A(q,Q){if(u.isNullOrUndef(q))return null;var ee=Q.options.time,ae=L(Q.getRightValue(q),ee);return ae.isValid()?(ee.round&&ae.startOf(ee.round),ae.valueOf()):null}function re(q){for(var Q=p.indexOf(q)+1,ee=p.length;Q=le&&at<=J&&Be.push(at);return ae.min=le,ae.max=J,ae._unit=Se.unit||function K(q,Q,ee,ae){var Te,Se,le=O.duration(O(ae).diff(O(ee)));for(Te=p.length-1;Te>=p.indexOf(Q);Te--)if(M[Se=p[Te]].common&&le.as(Se)>=q.length)return Se;return p[Q?p.indexOf(Q):0]}(Be,Se.minUnit,ae.min,ae.max),ae._majorUnit=re(ae._unit),ae._table=function T(q,Q,ee,ae){if("linear"===ae||!q.length)return[{time:Q,pos:0},{time:ee,pos:1}];var Te,Se,ke,Be,tt,le=[],J=[Q];for(Te=0,Se=q.length;TeQ&&Be1?Q[1]:ae,"pos")-k(q,"time",ke,"pos"))/2),le.time.max||(ke=Q.length>1?Q[Q.length-2]:ee,Te=(k(q,"time",Q[Q.length-1],"pos")-k(q,"time",ke,"pos"))/2)),{left:J,right:Te}}(ae._table,Be,le,J,Te),ae._labelFormat=function he(q,Q){var ee,ae,le,J=q.length;for(ee=0;ee=0&&ae0?Be:1}});q.scaleService.registerScaleType("time",ee,{position:"bottom",distribution:"linear",bounds:"data",time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{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"}},ticks:{autoSkip:!1,source:"auto",major:{enabled:!1}}})}},3207:(de,ge,N)=>{var O=N(9914);function v(X){if(X){var le=[0,0,0],J=1,Te=X.match(/^#([a-fA-F0-9]{3})$/i);if(Te){Te=Te[1];for(var Se=0;Se{var O=N(7227),v=N(3207),u=function(f){return f instanceof u?f:this instanceof u?(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 f?(h=v.getRgba(f))?this.setValues("rgb",h):(h=v.getHsla(f))?this.setValues("hsl",h):(h=v.getHwb(f))&&this.setValues("hwb",h):"object"==typeof f&&(void 0!==(h=f).r||void 0!==h.red?this.setValues("rgb",h):void 0!==h.l||void 0!==h.lightness?this.setValues("hsl",h):void 0!==h.v||void 0!==h.value?this.setValues("hsv",h):void 0!==h.w||void 0!==h.whiteness?this.setValues("hwb",h):(void 0!==h.c||void 0!==h.cyan)&&this.setValues("cmyk",h)))):new u(f);var h};u.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 f=this.values;return 1!==f.alpha?f.hwb.concat([f.alpha]):f.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var f=this.values;return f.rgb.concat([f.alpha])},hslaArray:function(){var f=this.values;return f.hsl.concat([f.alpha])},alpha:function(f){return void 0===f?this.values.alpha:(this.setValues("alpha",f),this)},red:function(f){return this.setChannel("rgb",0,f)},green:function(f){return this.setChannel("rgb",1,f)},blue:function(f){return this.setChannel("rgb",2,f)},hue:function(f){return f&&(f=(f%=360)<0?360+f:f),this.setChannel("hsl",0,f)},saturation:function(f){return this.setChannel("hsl",1,f)},lightness:function(f){return this.setChannel("hsl",2,f)},saturationv:function(f){return this.setChannel("hsv",1,f)},whiteness:function(f){return this.setChannel("hwb",1,f)},blackness:function(f){return this.setChannel("hwb",2,f)},value:function(f){return this.setChannel("hsv",2,f)},cyan:function(f){return this.setChannel("cmyk",0,f)},magenta:function(f){return this.setChannel("cmyk",1,f)},yellow:function(f){return this.setChannel("cmyk",2,f)},black:function(f){return this.setChannel("cmyk",3,f)},hexString:function(){return v.hexString(this.values.rgb)},rgbString:function(){return v.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return v.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return v.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return v.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return v.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return v.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return v.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var f=this.values.rgb;return f[0]<<16|f[1]<<8|f[2]},luminosity:function(){for(var f=this.values.rgb,h=[],M=0;MM?(h+.05)/(M+.05):(M+.05)/(h+.05)},level:function(f){var h=this.contrast(f);return h>=7.1?"AAA":h>=4.5?"AA":""},dark:function(){var f=this.values.rgb;return(299*f[0]+587*f[1]+114*f[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var f=[],h=0;h<3;h++)f[h]=255-this.values.rgb[h];return this.setValues("rgb",f),this},lighten:function(f){var h=this.values.hsl;return h[2]+=h[2]*f,this.setValues("hsl",h),this},darken:function(f){var h=this.values.hsl;return h[2]-=h[2]*f,this.setValues("hsl",h),this},saturate:function(f){var h=this.values.hsl;return h[1]+=h[1]*f,this.setValues("hsl",h),this},desaturate:function(f){var h=this.values.hsl;return h[1]-=h[1]*f,this.setValues("hsl",h),this},whiten:function(f){var h=this.values.hwb;return h[1]+=h[1]*f,this.setValues("hwb",h),this},blacken:function(f){var h=this.values.hwb;return h[2]+=h[2]*f,this.setValues("hwb",h),this},greyscale:function(){var f=this.values.rgb,h=.3*f[0]+.59*f[1]+.11*f[2];return this.setValues("rgb",[h,h,h]),this},clearer:function(f){var h=this.values.alpha;return this.setValues("alpha",h-h*f),this},opaquer:function(f){var h=this.values.alpha;return this.setValues("alpha",h+h*f),this},rotate:function(f){var h=this.values.hsl,M=(h[0]+f)%360;return h[0]=M<0?360+M:M,this.setValues("hsl",h),this},mix:function(f,h){var M=this,p=f,y=void 0===h?.5:h,x=2*y-1,T=M.alpha()-p.alpha(),S=((x*T==-1?x:(x+T)/(1+x*T))+1)/2,k=1-S;return this.rgb(S*M.red()+k*p.red(),S*M.green()+k*p.green(),S*M.blue()+k*p.blue()).alpha(M.alpha()*y+p.alpha()*(1-y))},toJSON:function(){return this.rgb()},clone:function(){var p,y,f=new u,h=this.values,M=f.values;for(var x in h)h.hasOwnProperty(x)&&("[object Array]"===(y={}.toString.call(p=h[x]))?M[x]=p.slice(0):"[object Number]"===y?M[x]=p:console.error("unexpected color value:",p));return f}},u.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},u.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},u.prototype.getValues=function(f){for(var h=this.values,M={},p=0;p{function ge(W){var me,De,oe=W[0]/255,te=W[1]/255,pe=W[2]/255,fe=Math.min(oe,te,pe),ue=Math.max(oe,te,pe),be=ue-fe;return ue==fe?me=0:oe==ue?me=(te-pe)/be:te==ue?me=2+(pe-oe)/be:pe==ue&&(me=4+(oe-te)/be),(me=Math.min(60*me,360))<0&&(me+=360),De=(fe+ue)/2,[me,100*(ue==fe?0:De<=.5?be/(ue+fe):be/(2-ue-fe)),100*De]}function N(W){var me,Me,oe=W[0],te=W[1],pe=W[2],fe=Math.min(oe,te,pe),ue=Math.max(oe,te,pe),be=ue-fe;return Me=0==ue?0:be/ue*1e3/10,ue==fe?me=0:oe==ue?me=(te-pe)/be:te==ue?me=2+(pe-oe)/be:pe==ue&&(me=4+(oe-te)/be),(me=Math.min(60*me,360))<0&&(me+=360),[me,Me,ue/255*1e3/10]}function O(W){var oe=W[0],te=W[1],ue=W[2];return[ge(W)[0],1/255*Math.min(oe,Math.min(te,ue))*100,100*(ue=1-1/255*Math.max(oe,Math.max(te,ue)))]}function v(W){var me,oe=W[0]/255,te=W[1]/255,pe=W[2]/255;return[100*((1-oe-(me=Math.min(1-oe,1-te,1-pe)))/(1-me)||0),100*((1-te-me)/(1-me)||0),100*((1-pe-me)/(1-me)||0),100*me]}function u(W){return dr[JSON.stringify(W)]}function f(W){var oe=W[0]/255,te=W[1]/255,pe=W[2]/255;return[100*(.4124*(oe=oe>.04045?Math.pow((oe+.055)/1.055,2.4):oe/12.92)+.3576*(te=te>.04045?Math.pow((te+.055)/1.055,2.4):te/12.92)+.1805*(pe=pe>.04045?Math.pow((pe+.055)/1.055,2.4):pe/12.92)),100*(.2126*oe+.7152*te+.0722*pe),100*(.0193*oe+.1192*te+.9505*pe)]}function h(W){var oe=f(W),te=oe[0],pe=oe[1],fe=oe[2];return pe/=100,fe/=108.883,te=(te/=95.047)>.008856?Math.pow(te,1/3):7.787*te+16/116,[116*(pe=pe>.008856?Math.pow(pe,1/3):7.787*pe+16/116)-16,500*(te-pe),200*(pe-(fe=fe>.008856?Math.pow(fe,1/3):7.787*fe+16/116))]}function p(W){var fe,ue,be,me,Me,oe=W[0]/360,te=W[1]/100,pe=W[2]/100;if(0==te)return[Me=255*pe,Me,Me];fe=2*pe-(ue=pe<.5?pe*(1+te):pe+te-pe*te),me=[0,0,0];for(var De=0;De<3;De++)(be=oe+1/3*-(De-1))<0&&be++,be>1&&be--,me[De]=255*(Me=6*be<1?fe+6*(ue-fe)*be:2*be<1?ue:3*be<2?fe+(ue-fe)*(2/3-be)*6:fe);return me}function k(W){var oe=W[0]/60,te=W[1]/100,Me=W[2]/100,pe=Math.floor(oe)%6,fe=oe-Math.floor(oe),ue=255*Me*(1-te),be=255*Me*(1-te*fe),me=255*Me*(1-te*(1-fe));switch(Me*=255,pe){case 0:return[Me,me,ue];case 1:return[be,Me,ue];case 2:return[ue,Me,me];case 3:return[ue,be,Me];case 4:return[me,ue,Me];case 5:return[Me,ue,be]}}function K(W){var ue,be,me,Me,oe=W[0]/360,te=W[1]/100,pe=W[2]/100,fe=te+pe;switch(fe>1&&(te/=fe,pe/=fe),me=6*oe-(ue=Math.floor(6*oe)),1&ue&&(me=1-me),Me=te+me*((be=1-pe)-te),ue){default:case 6:case 0:r=be,g=Me,b=te;break;case 1:r=Me,g=be,b=te;break;case 2:r=te,g=be,b=Me;break;case 3:r=te,g=Me,b=be;break;case 4:r=Me,g=te,b=be;break;case 5:r=be,g=te,b=Me}return[255*r,255*g,255*b]}function he(W){var te=W[1]/100,pe=W[2]/100,fe=W[3]/100;return[255*(1-Math.min(1,W[0]/100*(1-fe)+fe)),255*(1-Math.min(1,te*(1-fe)+fe)),255*(1-Math.min(1,pe*(1-fe)+fe))]}function le(W){var fe,ue,be,oe=W[0]/100,te=W[1]/100,pe=W[2]/100;return ue=-.9689*oe+1.8758*te+.0415*pe,be=.0557*oe+-.204*te+1.057*pe,fe=(fe=3.2406*oe+-1.5372*te+-.4986*pe)>.0031308?1.055*Math.pow(fe,1/2.4)-.055:fe*=12.92,ue=ue>.0031308?1.055*Math.pow(ue,1/2.4)-.055:ue*=12.92,be=be>.0031308?1.055*Math.pow(be,1/2.4)-.055:be*=12.92,[255*(fe=Math.min(Math.max(0,fe),1)),255*(ue=Math.min(Math.max(0,ue),1)),255*(be=Math.min(Math.max(0,be),1))]}function J(W){var oe=W[0],te=W[1],pe=W[2];return te/=100,pe/=108.883,oe=(oe/=95.047)>.008856?Math.pow(oe,1/3):7.787*oe+16/116,[116*(te=te>.008856?Math.pow(te,1/3):7.787*te+16/116)-16,500*(oe-te),200*(te-(pe=pe>.008856?Math.pow(pe,1/3):7.787*pe+16/116))]}function Se(W){var fe,ue,be,me,oe=W[0],te=W[1],pe=W[2];return oe<=8?me=(ue=100*oe/903.3)/100*7.787+16/116:(ue=100*Math.pow((oe+16)/116,3),me=Math.pow(ue/100,1/3)),[fe=fe/95.047<=.008856?fe=95.047*(te/500+me-16/116)/7.787:95.047*Math.pow(te/500+me,3),ue,be=be/108.883<=.008859?be=108.883*(me-pe/200-16/116)/7.787:108.883*Math.pow(me-pe/200,3)]}function ke(W){var ue,oe=W[0],te=W[1],pe=W[2];return(ue=360*Math.atan2(pe,te)/2/Math.PI)<0&&(ue+=360),[oe,Math.sqrt(te*te+pe*pe),ue]}function Be(W){return le(Se(W))}function tt(W){var be,te=W[1];return be=W[2]/360*2*Math.PI,[W[0],te*Math.cos(be),te*Math.sin(be)]}function jt(W){return Oi[W]}de.exports={rgb2hsl:ge,rgb2hsv:N,rgb2hwb:O,rgb2cmyk:v,rgb2keyword:u,rgb2xyz:f,rgb2lab:h,rgb2lch:function M(W){return ke(h(W))},hsl2rgb:p,hsl2hsv:function y(W){var te=W[1]/100,pe=W[2]/100;return 0===pe?[0,0,0]:[W[0],2*(te*=(pe*=2)<=1?pe:2-pe)/(pe+te)*100,(pe+te)/2*100]},hsl2hwb:function x(W){return O(p(W))},hsl2cmyk:function T(W){return v(p(W))},hsl2keyword:function S(W){return u(p(W))},hsv2rgb:k,hsv2hsl:function L(W){var fe,ue,te=W[1]/100,pe=W[2]/100;return fe=te*pe,[W[0],100*(fe=(fe/=(ue=(2-te)*pe)<=1?ue:2-ue)||0),100*(ue/=2)]},hsv2hwb:function A(W){return O(k(W))},hsv2cmyk:function U(W){return v(k(W))},hsv2keyword:function B(W){return u(k(W))},hwb2rgb:K,hwb2hsl:function re(W){return ge(K(W))},hwb2hsv:function ve(W){return N(K(W))},hwb2cmyk:function Z(W){return v(K(W))},hwb2keyword:function X(W){return u(K(W))},cmyk2rgb:he,cmyk2hsl:function q(W){return ge(he(W))},cmyk2hsv:function Q(W){return N(he(W))},cmyk2hwb:function ee(W){return O(he(W))},cmyk2keyword:function ae(W){return u(he(W))},keyword2rgb:jt,keyword2hsl:function an(W){return ge(jt(W))},keyword2hsv:function Zn(W){return N(jt(W))},keyword2hwb:function On(W){return O(jt(W))},keyword2cmyk:function zn(W){return v(jt(W))},keyword2lab:function Ge(W){return h(jt(W))},keyword2xyz:function Pi(W){return f(jt(W))},xyz2rgb:le,xyz2lab:J,xyz2lch:function Te(W){return ke(J(W))},lab2xyz:Se,lab2rgb:Be,lab2lch:ke,lch2lab:tt,lch2xyz:function st(W){return Se(tt(W))},lch2rgb:function at(W){return Be(tt(W))}};var Oi={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]},dr={};for(var Xe in Oi)dr[JSON.stringify(Oi[Xe])]=Xe},7227:(de,ge,N)=>{var O=N(4126),v=function(){return new p};for(var u in O){v[u+"Raw"]=function(y){return function(x){return"number"==typeof x&&(x=Array.prototype.slice.call(arguments)),O[y](x)}}(u);var f=/(\w+)2(\w+)/.exec(u),h=f[1],M=f[2];(v[h]=v[h]||{})[M]=v[u]=function(y){return function(x){"number"==typeof x&&(x=Array.prototype.slice.call(arguments));var T=O[y](x);if("string"==typeof T||void 0===T)return T;for(var S=0;S{"use strict";de.exports={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]}},7088:function(de,ge,N){!function(O){"use strict";O.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(u){return/^nm$/i.test(u)},meridiem:function(u,f,h){return u<12?h?"vm":"VM":h?"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(u){return u+(1===u||8===u||u>=20?"ste":"de")},week:{dow:1,doy:4}})}(N(5439))},2502:function(de,ge,N){!function(O){"use strict";O.defineLocale("ar-dz",{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:"\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:"\u0623\u062d_\u0625\u062b_\u062b\u0644\u0627_\u0623\u0631_\u062e\u0645_\u062c\u0645_\u0633\u0628".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:4}})}(N(5439))},128:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},4519:function(de,ge,N){!function(O){"use strict";var v={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},u=function(y){return 0===y?0:1===y?1:2===y?2:y%100>=3&&y%100<=10?3:y%100>=11?4:5},f={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"]},h=function(y){return function(x,T,S,k){var L=u(x),A=f[y][u(x)];return 2===L&&(A=A[T?0:1]),A.replace(/%d/i,x)}},M=["\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"];O.defineLocale("ar-ly",{months:M,monthsShort:M,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(y){return"\u0645"===y},meridiem:function(y,x,T){return y<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:h("s"),ss:h("s"),m:h("m"),mm:h("m"),h:h("h"),hh:h("h"),d:h("d"),dd:h("d"),M:h("M"),MM:h("M"),y:h("y"),yy:h("y")},preparse:function(y){return y.replace(/\u060c/g,",")},postformat:function(y){return y.replace(/\d/g,function(x){return v[x]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(N(5439))},5443:function(de,ge,N){!function(O){"use strict";O.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\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:6,doy:12}})}(N(5439))},7642:function(de,ge,N){!function(O){"use strict";var v={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},u={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"};O.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(h){return"\u0645"===h},meridiem:function(h,M,p){return h<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(h){return h.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(M){return u[M]}).replace(/\u060c/g,",")},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}})}(N(5439))},8592:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},7038:function(de,ge,N){!function(O){"use strict";var v={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},u={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},f=function(x){return 0===x?0:1===x?1:2===x?2:x%100>=3&&x%100<=10?3:x%100>=11?4:5},h={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"]},M=function(x){return function(T,S,k,L){var A=f(T),U=h[x][f(T)];return 2===A&&(U=U[S?0:1]),U.replace(/%d/i,T)}},p=["\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"];O.defineLocale("ar",{months:p,monthsShort:p,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(x){return"\u0645"===x},meridiem:function(x,T,S){return x<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:M("s"),ss:M("s"),m:M("m"),mm:M("m"),h:M("h"),hh:M("h"),d:M("d"),dd:M("d"),M:M("M"),MM:M("M"),y:M("y"),yy:M("y")},preparse:function(x){return x.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(T){return u[T]}).replace(/\u060c/g,",")},postformat:function(x){return x.replace(/\d/g,function(T){return v[T]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}})}(N(5439))},1213:function(de,ge,N){!function(O){"use strict";var v={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"};O.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:"birne\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(f){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(f)},meridiem:function(f,h,M){return f<4?"gec\u0259":f<12?"s\u0259h\u0259r":f<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(f){if(0===f)return f+"-\u0131nc\u0131";var h=f%10;return f+(v[h]||v[f%100-h]||v[f>=100?100:null])},week:{dow:1,doy:7}})}(N(5439))},9191:function(de,ge,N){!function(O){"use strict";function u(h,M,p){return"m"===p?M?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===p?M?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":h+" "+function v(h,M){var p=h.split("_");return M%10==1&&M%100!=11?p[0]:M%10>=2&&M%10<=4&&(M%100<10||M%100>=20)?p[1]:p[2]}({ss:M?"\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:M?"\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:M?"\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"}[p],+h)}O.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:u,mm:u,h:u,hh:u,d:"\u0434\u0437\u0435\u043d\u044c",dd:u,M:"\u043c\u0435\u0441\u044f\u0446",MM:u,y:"\u0433\u043e\u0434",yy:u},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(h){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(h)},meridiem:function(h,M,p){return h<4?"\u043d\u043e\u0447\u044b":h<12?"\u0440\u0430\u043d\u0456\u0446\u044b":h<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(h,M){switch(M){case"M":case"d":case"DDD":case"w":case"W":return h%10!=2&&h%10!=3||h%100==12||h%100==13?h+"-\u044b":h+"-\u0456";case"D":return h+"-\u0433\u0430";default:return h}},week:{dow:1,doy:7}})}(N(5439))},322:function(de,ge,N){!function(O){"use strict";O.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\u0440_\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"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u0412 \u0438\u0437\u043c\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\u043d\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(u){var f=u%10,h=u%100;return 0===u?u+"-\u0435\u0432":0===h?u+"-\u0435\u043d":h>10&&h<20?u+"-\u0442\u0438":1===f?u+"-\u0432\u0438":2===f?u+"-\u0440\u0438":7===f||8===f?u+"-\u043c\u0438":u+"-\u0442\u0438"},week:{dow:1,doy:7}})}(N(5439))},8042:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},9620:function(de,ge,N){!function(O){"use strict";var v={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},u={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};O.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09c0_\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_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2_\u0986\u0997_\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_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u0983_\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(h){return h.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(h,M){return 12===h&&(h=0),"\u09b0\u09be\u09a4"===M&&h>=4||"\u09a6\u09c1\u09aa\u09c1\u09b0"===M&&h<5||"\u09ac\u09bf\u0995\u09be\u09b2"===M?h+12:h},meridiem:function(h,M,p){return h<4?"\u09b0\u09be\u09a4":h<10?"\u09b8\u0995\u09be\u09b2":h<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":h<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}})}(N(5439))},9645:function(de,ge,N){!function(O){"use strict";var v={1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"},u={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};O.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\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("_"),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\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("_"),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(h){return h.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},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(h,M){return 12===h&&(h=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===M&&h>=4||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===M&&h<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===M?h+12:h},meridiem:function(h,M,p){return h<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":h<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":h<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":h<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}})}(N(5439))},5020:function(de,ge,N){!function(O){"use strict";function v(y,x,T){return y+" "+function h(y,x){return 2===x?function M(y){var x={m:"v",b:"v",d:"z"};return void 0===x[y.charAt(0)]?y:x[y.charAt(0)]+y.substring(1)}(y):y}({mm:"munutenn",MM:"miz",dd:"devezh"}[T],y)}function f(y){return y>9?f(y%10):y}O.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:v,h:"un eur",hh:"%d eur",d:"un devezh",dd:v,M:"ur miz",MM:v,y:"ur bloaz",yy:function u(y){switch(f(y)){case 1:case 3:case 4:case 5:case 9:return y+" bloaz";default:return y+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(y){return y+(1===y?"a\xf1":"vet")},week:{dow:1,doy:4}})}(N(5439))},4792:function(de,ge,N){!function(O){"use strict";function v(f,h,M){var p=f+" ";switch(M){case"ss":return p+(1===f?"sekunda":2===f||3===f||4===f?"sekunde":"sekundi");case"m":return h?"jedna minuta":"jedne minute";case"mm":return p+(1===f?"minuta":2===f||3===f||4===f?"minute":"minuta");case"h":return h?"jedan sat":"jednog sata";case"hh":return p+(1===f?"sat":2===f||3===f||4===f?"sata":"sati");case"dd":return p+(1===f?"dan":"dana");case"MM":return p+(1===f?"mjesec":2===f||3===f||4===f?"mjeseca":"mjeseci");case"yy":return p+(1===f?"godina":2===f||3===f||4===f?"godine":"godina")}}O.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:v,m:v,mm:v,h:v,hh:v,d:"dan",dd:v,M:"mjesec",MM:v,y:"godinu",yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},7980:function(de,ge,N){!function(O){"use strict";O.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(u,f){var h=1===u?"r":2===u?"n":3===u?"r":4===u?"t":"\xe8";return("w"===f||"W"===f)&&(h="a"),u+h},week:{dow:1,doy:4}})}(N(5439))},7322:function(de,ge,N){!function(O){"use strict";var v="leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),u="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_");function f(p){return p>1&&p<5&&1!=~~(p/10)}function h(p,y,x,T){var S=p+" ";switch(x){case"s":return y||T?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return y||T?S+(f(p)?"sekundy":"sekund"):S+"sekundami";case"m":return y?"minuta":T?"minutu":"minutou";case"mm":return y||T?S+(f(p)?"minuty":"minut"):S+"minutami";case"h":return y?"hodina":T?"hodinu":"hodinou";case"hh":return y||T?S+(f(p)?"hodiny":"hodin"):S+"hodinami";case"d":return y||T?"den":"dnem";case"dd":return y||T?S+(f(p)?"dny":"dn\xed"):S+"dny";case"M":return y||T?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return y||T?S+(f(p)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):S+"m\u011bs\xedci";case"y":return y||T?"rok":"rokem";case"yy":return y||T?S+(f(p)?"roky":"let"):S+"lety"}}O.defineLocale("cs",{months:v,monthsShort:u,monthsParse:function(p,y){var x,T=[];for(x=0;x<12;x++)T[x]=new RegExp("^"+p[x]+"$|^"+y[x]+"$","i");return T}(v,u),shortMonthsParse:function(p){var y,x=[];for(y=0;y<12;y++)x[y]=new RegExp("^"+p[y]+"$","i");return x}(u),longMonthsParse:function(p){var y,x=[];for(y=0;y<12;y++)x[y]=new RegExp("^"+p[y]+"$","i");return x}(v),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}})}(N(5439))},365:function(de,ge,N){!function(O){"use strict";O.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(u){return u+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(u)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(u)?"\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}})}(N(5439))},2092:function(de,ge,N){!function(O){"use strict";O.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(u){var h="";return u>20?h=40===u||50===u||60===u||80===u||100===u?"fed":"ain":u>0&&(h=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][u]),u+h},week:{dow:1,doy:4}})}(N(5439))},7387:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},9459:function(de,ge,N){!function(O){"use strict";function v(f,h,M,p){var y={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[f+" Tage",f+" Tagen"],M:["ein Monat","einem Monat"],MM:[f+" Monate",f+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[f+" Jahre",f+" Jahren"]};return h?y[M][0]:y[M][1]}O.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:v,mm:"%d Minuten",h:v,hh:"%d Stunden",d:v,dd:v,M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},3694:function(de,ge,N){!function(O){"use strict";function v(f,h,M,p){var y={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[f+" Tage",f+" Tagen"],M:["ein Monat","einem Monat"],MM:[f+" Monate",f+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[f+" Jahre",f+" Jahren"]};return h?y[M][0]:y[M][1]}O.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:v,mm:"%d Minuten",h:v,hh:"%d Stunden",d:v,dd:v,M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},4307:function(de,ge,N){!function(O){"use strict";function v(f,h,M,p){var y={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[f+" Tage",f+" Tagen"],M:["ein Monat","einem Monat"],MM:[f+" Monate",f+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[f+" Jahre",f+" Jahren"]};return h?y[M][0]:y[M][1]}O.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:v,mm:"%d Minuten",h:v,hh:"%d Stunden",d:v,dd:v,M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},9659:function(de,ge,N){!function(O){"use strict";var v=["\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"],u=["\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"];O.defineLocale("dv",{months:v,monthsShort:v,weekdays:u,weekdaysShort:u,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(h){return"\u0789\u078a"===h},meridiem:function(h,M,p){return h<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(h){return h.replace(/\u060c/g,",")},postformat:function(h){return h.replace(/,/g,"\u060c")},week:{dow:7,doy:12}})}(N(5439))},3460:function(de,ge,N){!function(O){"use strict";O.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(f,h){return f?"string"==typeof h&&/D/.test(h.substring(0,h.indexOf("MMMM")))?this._monthsGenitiveEl[f.month()]:this._monthsNominativeEl[f.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(f,h,M){return f>11?M?"\u03bc\u03bc":"\u039c\u039c":M?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(f){return"\u03bc"===(f+"").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(){return 6===this.day()?"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT":"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"},sameElse:"L"},calendar:function(f,h){var M=this._calendarEl[f],p=h&&h.hours();return function v(f){return f instanceof Function||"[object Function]"===Object.prototype.toString.call(f)}(M)&&(M=M.apply(h)),M.replace("{}",p%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}})}(N(5439))},4369:function(de,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},530:function(de,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")}})}(N(5439))},9998:function(de,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},3391:function(de,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},5414:function(de,ge,N){!function(O){"use strict";O.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",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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")}})}(N(5439))},1248:function(de,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},4530:function(de,ge,N){!function(O){"use strict";O.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_a\u016dg_sep_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:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(u){return"p"===u.charAt(0).toLowerCase()},meridiem:function(u,f,h){return u>11?h?"p.t.m.":"P.T.M.":h?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(N(5439))},8944:function(de,ge,N){!function(O){"use strict";var v="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),u="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),f=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],h=/^(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;O.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(p,y){return p?/-MMM-/.test(y)?u[p.month()]:v[p.month()]:v},monthsRegex:h,monthsShortRegex:h,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:f,longMonthsParse:f,shortMonthsParse:f,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",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}})}(N(5439))},3609:function(de,ge,N){!function(O){"use strict";var v="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),u="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");O.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(h,M){return h?/-MMM-/.test(M)?u[h.month()]:v[h.month()]:v},monthsParseExact:!0,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:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY h:mm A",LLLL:"dddd, MMMM [de] D [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",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}})}(N(5439))},6866:function(de,ge,N){!function(O){"use strict";var v="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),u="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),f=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],h=/^(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;O.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(p,y){return p?/-MMM-/.test(y)?u[p.month()]:v[p.month()]:v},monthsRegex:h,monthsShortRegex:h,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:f,longMonthsParse:f,shortMonthsParse:f,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",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}})}(N(5439))},6725:function(de,ge,N){!function(O){"use strict";function v(f,h,M,p){var y={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[f+"sekundi",f+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[f+" minuti",f+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[f+" tunni",f+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[f+" kuu",f+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[f+" aasta",f+" aastat"]};return h?y[M][2]?y[M][2]:y[M][1]:p?y[M][0]:y[M][1]}O.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:v,ss:v,m:v,mm:v,h:v,hh:v,d:v,dd:"%d p\xe4eva",M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},7931:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},6417:function(de,ge,N){!function(O){"use strict";var v={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},u={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};O.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(h){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(h)},meridiem:function(h,M,p){return h<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:"\u062b\u0627\u0646\u06cc\u0647 d%",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(h){return h.replace(/[\u06f0-\u06f9]/g,function(M){return u[M]}).replace(/\u060c/g,",")},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}})}(N(5439))},944:function(de,ge,N){!function(O){"use strict";var v="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),u=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",v[7],v[8],v[9]];function f(p,y,x,T){var S="";switch(x){case"s":return T?"muutaman sekunnin":"muutama sekunti";case"ss":return T?"sekunnin":"sekuntia";case"m":return T?"minuutin":"minuutti";case"mm":S=T?"minuutin":"minuuttia";break;case"h":return T?"tunnin":"tunti";case"hh":S=T?"tunnin":"tuntia";break;case"d":return T?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":S=T?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return T?"kuukauden":"kuukausi";case"MM":S=T?"kuukauden":"kuukautta";break;case"y":return T?"vuoden":"vuosi";case"yy":S=T?"vuoden":"vuotta"}return function h(p,y){return p<10?y?u[p]:v[p]:p}(p,T)+" "+S}O.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:f,ss:f,m:f,mm:f,h:f,hh:f,d:f,dd:f,M:f,MM:f,y:f,yy:f},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},5867:function(de,ge,N){!function(O){"use strict";O.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 minutt",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0i",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},6848:function(de,ge,N){!function(O){"use strict";O.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(u,f){switch(f){default:case"M":case"Q":case"D":case"DDD":case"d":return u+(1===u?"er":"e");case"w":case"W":return u+(1===u?"re":"e")}}})}(N(5439))},7773:function(de,ge,N){!function(O){"use strict";O.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(u,f){switch(f){default:case"M":case"Q":case"D":case"DDD":case"d":return u+(1===u?"er":"e");case"w":case"W":return u+(1===u?"re":"e")}},week:{dow:1,doy:4}})}(N(5439))},1636:function(de,ge,N){!function(O){"use strict";O.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("_"),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|)/,ordinal:function(u,f){switch(f){case"D":return u+(1===u?"er":"");default:case"M":case"Q":case"DDD":case"d":return u+(1===u?"er":"e");case"w":case"W":return u+(1===u?"re":"e")}},week:{dow:1,doy:4}})}(N(5439))},4940:function(de,ge,N){!function(O){"use strict";var v="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),u="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");O.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(h,M){return h?/-MMM-/.test(M)?u[h.month()]:v[h.month()]:v},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(h){return h+(1===h||8===h||h>=20?"ste":"de")},week:{dow:1,doy:4}})}(N(5439))},6924:function(de,ge,N){!function(O){"use strict";O.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(y){return y+(1===y?"d":y%10==2?"na":"mh")},week:{dow:1,doy:4}})}(N(5439))},6398:function(de,ge,N){!function(O){"use strict";O.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(u){return 0===u.indexOf("un")?"n"+u:"en "+u},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}})}(N(5439))},2545:function(de,ge,N){!function(O){"use strict";function v(f,h,M,p){var y={s:["thodde secondanim","thodde second"],ss:[f+" secondanim",f+" second"],m:["eka mintan","ek minute"],mm:[f+" mintanim",f+" mintam"],h:["eka horan","ek hor"],hh:[f+" horanim",f+" horam"],d:["eka disan","ek dis"],dd:[f+" disanim",f+" dis"],M:["eka mhoinean","ek mhoino"],MM:[f+" mhoineanim",f+" mhoine"],y:["eka vorsan","ek voros"],yy:[f+" vorsanim",f+" vorsam"]};return h?y[M][0]:y[M][1]}O.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_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[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:v,ss:v,m:v,mm:v,h:v,hh:v,d:v,dd:v,M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(f,h){return"D"===h?f+"er":f},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(f,h){return 12===f&&(f=0),"rati"===h?f<4?f:f+12:"sokalli"===h?f:"donparam"===h?f>12?f:f+12:"sanje"===h?f+12:void 0},meridiem:function(f,h,M){return f<4?"rati":f<12?"sokalli":f<16?"donparam":f<20?"sanje":"rati"}})}(N(5439))},2641:function(de,ge,N){!function(O){"use strict";var v={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},u={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"};O.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\u0ac7\u0ab9\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(h){return h.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(h,M){return 12===h&&(h=0),"\u0ab0\u0abe\u0aa4"===M?h<4?h:h+12:"\u0ab8\u0ab5\u0abe\u0ab0"===M?h:"\u0aac\u0aaa\u0acb\u0ab0"===M?h>=10?h:h+12:"\u0ab8\u0abe\u0a82\u0a9c"===M?h+12:void 0},meridiem:function(h,M,p){return h<4?"\u0ab0\u0abe\u0aa4":h<10?"\u0ab8\u0ab5\u0abe\u0ab0":h<17?"\u0aac\u0aaa\u0acb\u0ab0":h<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}})}(N(5439))},7536:function(de,ge,N){!function(O){"use strict";O.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(u){return 2===u?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":u+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(u){return 2===u?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":u+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(u){return 2===u?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":u+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(u){return 2===u?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":u%10==0&&10!==u?u+" \u05e9\u05e0\u05d4":u+" \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(u){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(u)},meridiem:function(u,f,h){return u<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":u<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":u<12?h?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":u<18?h?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}})}(N(5439))},6335:function(de,ge,N){!function(O){"use strict";var v={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},u={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};O.defineLocale("hi",{months:"\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("_"),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("_"),monthsParseExact:!0,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"},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(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(h,M){return 12===h&&(h=0),"\u0930\u093e\u0924"===M?h<4?h:h+12:"\u0938\u0941\u092c\u0939"===M?h:"\u0926\u094b\u092a\u0939\u0930"===M?h>=10?h:h+12:"\u0936\u093e\u092e"===M?h+12:void 0},meridiem:function(h,M,p){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}})}(N(5439))},7458:function(de,ge,N){!function(O){"use strict";function v(f,h,M){var p=f+" ";switch(M){case"ss":return p+(1===f?"sekunda":2===f||3===f||4===f?"sekunde":"sekundi");case"m":return h?"jedna minuta":"jedne minute";case"mm":return p+(1===f?"minuta":2===f||3===f||4===f?"minute":"minuta");case"h":return h?"jedan sat":"jednog sata";case"hh":return p+(1===f?"sat":2===f||3===f||4===f?"sata":"sati");case"dd":return p+(1===f?"dan":"dana");case"MM":return p+(1===f?"mjesec":2===f||3===f||4===f?"mjeseca":"mjeseci");case"yy":return p+(1===f?"godina":2===f||3===f||4===f?"godine":"godina")}}O.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:"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:v,m:v,mm:v,h:v,hh:v,d:"dan",dd:v,M:"mjesec",MM:v,y:"godinu",yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},6540:function(de,ge,N){!function(O){"use strict";var v="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function u(M,p,y,x){var T=M;switch(y){case"s":return x||p?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return T+(x||p)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(x||p?" perc":" perce");case"mm":return T+(x||p?" perc":" perce");case"h":return"egy"+(x||p?" \xf3ra":" \xf3r\xe1ja");case"hh":return T+(x||p?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(x||p?" nap":" napja");case"dd":return T+(x||p?" nap":" napja");case"M":return"egy"+(x||p?" h\xf3nap":" h\xf3napja");case"MM":return T+(x||p?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(x||p?" \xe9v":" \xe9ve");case"yy":return T+(x||p?" \xe9v":" \xe9ve")}return""}function f(M){return(M?"":"[m\xfalt] ")+"["+v[this.day()]+"] LT[-kor]"}O.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("_"),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(M){return"u"===M.charAt(1).toLowerCase()},meridiem:function(M,p,y){return M<12?!0===y?"de":"DE":!0===y?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return f.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return f.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:u,ss:u,m:u,mm:u,h:u,hh:u,d:u,dd:u,M:u,MM:u,y:u,yy:u},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},5283:function(de,ge,N){!function(O){"use strict";O.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(u){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(u)},meridiem:function(u){return u<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":u<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":u<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(u,f){switch(f){case"DDD":case"w":case"W":case"DDDo":return 1===u?u+"-\u056b\u0576":u+"-\u0580\u0564";default:return u}},week:{dow:1,doy:7}})}(N(5439))},8780:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"pagi"===f?u:"siang"===f?u>=11?u:u+12:"sore"===f||"malam"===f?u+12:void 0},meridiem:function(u,f,h){return u<11?"pagi":u<15?"siang":u<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:1,doy:7}})}(N(5439))},4205:function(de,ge,N){!function(O){"use strict";function v(h){return h%100==11||h%10!=1}function u(h,M,p,y){var x=h+" ";switch(p){case"s":return M||y?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return v(h)?x+(M||y?"sek\xfandur":"sek\xfandum"):x+"sek\xfanda";case"m":return M?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return v(h)?x+(M||y?"m\xedn\xfatur":"m\xedn\xfatum"):M?x+"m\xedn\xfata":x+"m\xedn\xfatu";case"hh":return v(h)?x+(M||y?"klukkustundir":"klukkustundum"):x+"klukkustund";case"d":return M?"dagur":y?"dag":"degi";case"dd":return v(h)?M?x+"dagar":x+(y?"daga":"d\xf6gum"):M?x+"dagur":x+(y?"dag":"degi");case"M":return M?"m\xe1nu\xf0ur":y?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return v(h)?M?x+"m\xe1nu\xf0ir":x+(y?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):M?x+"m\xe1nu\xf0ur":x+(y?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return M||y?"\xe1r":"\xe1ri";case"yy":return v(h)?x+(M||y?"\xe1r":"\xe1rum"):x+(M||y?"\xe1r":"\xe1ri")}}O.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:u,ss:u,m:u,mm:u,h:"klukkustund",hh:u,d:u,dd:u,M:u,MM:u,y:u,yy:u},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},4211:function(de,ge,N){!function(O){"use strict";O.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:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){return 0===this.day()?"[la scorsa] dddd [alle] LT":"[lo scorso] dddd [alle] LT"},sameElse:"L"},relativeTime:{future:function(u){return(/^[0-9].+$/.test(u)?"tra":"in")+" "+u},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}})}(N(5439))},1003:function(de,ge,N){!function(O){"use strict";O.defineLocale("ja",{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(u){return"\u5348\u5f8c"===u},meridiem:function(u,f,h){return u<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(u){return u.week()=11?u:u+12:"sonten"===f||"ndalu"===f?u+12:void 0},meridiem:function(u,f,h){return u<11?"enjing":u<15?"siyang":u<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}})}(N(5439))},851:function(de,ge,N){!function(O){"use strict";O.defineLocale("ka",{months:{standalone:"\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("_"),format:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10e1_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10e1_\u10db\u10d0\u10e0\u10e2\u10e1_\u10d0\u10de\u10e0\u10d8\u10da\u10d8\u10e1_\u10db\u10d0\u10d8\u10e1\u10e1_\u10d8\u10d5\u10dc\u10d8\u10e1\u10e1_\u10d8\u10d5\u10da\u10d8\u10e1\u10e1_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10e1_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10e1_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10e1".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:"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:"[\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(u){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10ec\u10d4\u10da\u10d8)/.test(u)?u.replace(/\u10d8$/,"\u10e8\u10d8"):u+"\u10e8\u10d8"},past:function(u){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(u)?u.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(u)?u.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):void 0},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(u){return 0===u?u:1===u?u+"-\u10da\u10d8":u<20||u<=100&&u%20==0||u%100==0?"\u10db\u10d4-"+u:u+"-\u10d4"},week:{dow:1,doy:7}})}(N(5439))},6074:function(de,ge,N){!function(O){"use strict";var v={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"};O.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(f){return f+(v[f]||v[f%10]||v[f>=100?100:null])},week:{dow:1,doy:7}})}(N(5439))},3343:function(de,ge,N){!function(O){"use strict";var v={1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"},u={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"};O.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(h){return"\u179b\u17d2\u1784\u17b6\u1785"===h},meridiem:function(h,M,p){return h<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(h){return h.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},week:{dow:1,doy:4}})}(N(5439))},4799:function(de,ge,N){!function(O){"use strict";var v={1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"},u={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};O.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(h){return h.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},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(h,M){return 12===h&&(h=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===M?h<4?h:h+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===M?h:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===M?h>=10?h:h+12:"\u0cb8\u0c82\u0c9c\u0cc6"===M?h+12:void 0},meridiem:function(h,M,p){return h<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":h<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":h<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":h<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(h){return h+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}})}(N(5439))},3549:function(de,ge,N){!function(O){"use strict";O.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(u,f){switch(f){case"d":case"D":case"DDD":return u+"\uc77c";case"M":return u+"\uc6d4";case"w":case"W":return u+"\uc8fc";default:return u}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(u){return"\uc624\ud6c4"===u},meridiem:function(u,f,h){return u<12?"\uc624\uc804":"\uc624\ud6c4"}})}(N(5439))},3125:function(de,ge,N){!function(O){"use strict";var v={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"};O.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\u0435 \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\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(f){return f+(v[f]||v[f%10]||v[f>=100?100:null])},week:{dow:1,doy:7}})}(N(5439))},9586:function(de,ge,N){!function(O){"use strict";function v(p,y,x,T){var S={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 y?S[x][0]:S[x][1]}function h(p){if(p=parseInt(p,10),isNaN(p))return!1;if(p<0)return!0;if(p<10)return 4<=p&&p<=7;if(p<100){var y=p%10;return h(0===y?p/10:y)}if(p<1e4){for(;p>=10;)p/=10;return h(p)}return h(p/=1e3)}O.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 u(p){return h(p.substr(0,p.indexOf(" ")))?"a "+p:"an "+p},past:function f(p){return h(p.substr(0,p.indexOf(" ")))?"viru "+p:"virun "+p},s:"e puer Sekonnen",ss:"%d Sekonnen",m:v,mm:"%d Minutten",h:v,hh:"%d Stonnen",d:v,dd:"%d Deeg",M:v,MM:"%d M\xe9int",y:v,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},2349:function(de,ge,N){!function(O){"use strict";O.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(u){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===u},meridiem:function(u,f,h){return u<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(u){return"\u0e97\u0eb5\u0ec8"+u}})}(N(5439))},2400:function(de,ge,N){!function(O){"use strict";var v={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 f(x,T,S,k){return T?M(S)[0]:k?M(S)[1]:M(S)[2]}function h(x){return x%10==0||x>10&&x<20}function M(x){return v[x].split("_")}function p(x,T,S,k){var L=x+" ";return 1===x?L+f(0,T,S[0],k):T?L+(h(x)?M(S)[1]:M(S)[0]):k?L+M(S)[1]:L+(h(x)?M(S)[1]:M(S)[2])}O.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 u(x,T,S,k){return T?"kelios sekund\u0117s":k?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:p,m:f,mm:p,h:f,hh:p,d:f,dd:p,M:f,MM:p,y:f,yy:p},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(x){return x+"-oji"},week:{dow:1,doy:4}})}(N(5439))},9991:function(de,ge,N){!function(O){"use strict";var v={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 u(y,x,T){return T?x%10==1&&x%100!=11?y[2]:y[3]:x%10==1&&x%100!=11?y[0]:y[1]}function f(y,x,T){return y+" "+u(v[T],y,x)}function h(y,x,T){return u(v[T],y,x)}O.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(y,x){return x?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:f,m:h,mm:f,h,hh:f,d:h,dd:f,M:h,MM:f,y:h,yy:f},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},8477:function(de,ge,N){!function(O){"use strict";var v={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(f,h){return 1===f?h[0]:f>=2&&f<=4?h[1]:h[2]},translate:function(f,h,M){var p=v.words[M];return 1===M.length?h?p[0]:p[1]:f+" "+v.correctGrammaticalCase(f,p)}};O.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:v.translate,m:v.translate,mm:v.translate,h:v.translate,hh:v.translate,d:"dan",dd:v.translate,M:"mjesec",MM:v.translate,y:"godinu",yy:v.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},5118:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},5943:function(de,ge,N){!function(O){"use strict";O.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:"\u043f\u043e\u0441\u043b\u0435 %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:"\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",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",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(u){var f=u%10,h=u%100;return 0===u?u+"-\u0435\u0432":0===h?u+"-\u0435\u043d":h>10&&h<20?u+"-\u0442\u0438":1===f?u+"-\u0432\u0438":2===f?u+"-\u0440\u0438":7===f||8===f?u+"-\u043c\u0438":u+"-\u0442\u0438"},week:{dow:1,doy:7}})}(N(5439))},3849:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===f&&u>=4||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===f||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===f?u+12:u},meridiem:function(u,f,h){return u<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":u<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":u<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":u<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}})}(N(5439))},1977:function(de,ge,N){!function(O){"use strict";function v(f,h,M,p){switch(M){case"s":return h?"\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 f+(h?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return f+(h?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return f+(h?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return f+(h?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return f+(h?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return f+(h?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return f}}O.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(f){return"\u04ae\u0425"===f},meridiem:function(f,h,M){return f<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:v,ss:v,m:v,mm:v,h:v,hh:v,d:v,dd:v,M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(f,h){switch(h){case"d":case"D":case"DDD":return f+" \u04e9\u0434\u04e9\u0440";default:return f}}})}(N(5439))},6184:function(de,ge,N){!function(O){"use strict";var v={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},u={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function f(M,p,y,x){var T="";if(p)switch(y){case"s":T="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":T="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":T="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":T="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":T="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":T="%d \u0924\u093e\u0938";break;case"d":T="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":T="%d \u0926\u093f\u0935\u0938";break;case"M":T="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":T="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":T="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":T="%d \u0935\u0930\u094d\u0937\u0947"}else switch(y){case"s":T="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":T="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":T="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":T="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":T="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":T="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":T="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":T="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":T="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":T="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":T="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":T="%d \u0935\u0930\u094d\u0937\u093e\u0902"}return T.replace(/%d/i,M)}O.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:f,ss:f,m:f,mm:f,h:f,hh:f,d:f,dd:f,M:f,MM:f,y:f,yy:f},preparse:function(M){return M.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(p){return u[p]})},postformat:function(M){return M.replace(/\d/g,function(p){return v[p]})},meridiemParse:/\u0930\u093e\u0924\u094d\u0930\u0940|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940/,meridiemHour:function(M,p){return 12===M&&(M=0),"\u0930\u093e\u0924\u094d\u0930\u0940"===p?M<4?M:M+12:"\u0938\u0915\u093e\u0933\u0940"===p?M:"\u0926\u0941\u092a\u093e\u0930\u0940"===p?M>=10?M:M+12:"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===p?M+12:void 0},meridiem:function(M,p,y){return M<4?"\u0930\u093e\u0924\u094d\u0930\u0940":M<10?"\u0938\u0915\u093e\u0933\u0940":M<17?"\u0926\u0941\u092a\u093e\u0930\u0940":M<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}})}(N(5439))},4524:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"pagi"===f?u:"tengahari"===f?u>=11?u:u+12:"petang"===f||"malam"===f?u+12:void 0},meridiem:function(u,f,h){return u<11?"pagi":u<15?"tengahari":u<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}})}(N(5439))},485:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"pagi"===f?u:"tengahari"===f?u>=11?u:u+12:"petang"===f||"malam"===f?u+12:void 0},meridiem:function(u,f,h){return u<11?"pagi":u<15?"tengahari":u<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}})}(N(5439))},6681:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},2024:function(de,ge,N){!function(O){"use strict";var v={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},u={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"};O.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(h){return h.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},week:{dow:1,doy:4}})}(N(5439))},2688:function(de,ge,N){!function(O){"use strict";O.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_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",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}})}(N(5439))},8914:function(de,ge,N){!function(O){"use strict";var v={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},u={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};O.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(h){return h.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(h,M){return 12===h&&(h=0),"\u0930\u093e\u0924\u093f"===M?h<4?h:h+12:"\u092c\u093f\u0939\u093e\u0928"===M?h:"\u0926\u093f\u0909\u0901\u0938\u094b"===M?h>=10?h:h+12:"\u0938\u093e\u0901\u091d"===M?h+12:void 0},meridiem:function(h,M,p){return h<3?"\u0930\u093e\u0924\u093f":h<12?"\u092c\u093f\u0939\u093e\u0928":h<16?"\u0926\u093f\u0909\u0901\u0938\u094b":h<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}})}(N(5439))},2272:function(de,ge,N){!function(O){"use strict";var v="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),u="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),f=[/^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],h=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;O.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(p,y){return p?/-MMM-/.test(y)?u[p.month()]:v[p.month()]:v},monthsRegex:h,monthsShortRegex:h,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:f,longMonthsParse:f,shortMonthsParse:f,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(p){return p+(1===p||8===p||p>=20?"ste":"de")},week:{dow:1,doy:4}})}(N(5439))},1758:function(de,ge,N){!function(O){"use strict";var v="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),u="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),f=[/^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],h=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;O.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(p,y){return p?/-MMM-/.test(y)?u[p.month()]:v[p.month()]:v},monthsRegex:h,monthsShortRegex:h,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:f,longMonthsParse:f,shortMonthsParse:f,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(p){return p+(1===p||8===p||p>=20?"ste":"de")},week:{dow:1,doy:4}})}(N(5439))},1510:function(de,ge,N){!function(O){"use strict";O.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_m\xe5n_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_m\xe5_ty_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 [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",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}})}(N(5439))},7944:function(de,ge,N){!function(O){"use strict";var v={1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"},u={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"};O.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(h){return h.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(h,M){return 12===h&&(h=0),"\u0a30\u0a3e\u0a24"===M?h<4?h:h+12:"\u0a38\u0a35\u0a47\u0a30"===M?h:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===M?h>=10?h:h+12:"\u0a38\u0a3c\u0a3e\u0a2e"===M?h+12:void 0},meridiem:function(h,M,p){return h<4?"\u0a30\u0a3e\u0a24":h<10?"\u0a38\u0a35\u0a47\u0a30":h<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":h<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}})}(N(5439))},1605:function(de,ge,N){!function(O){"use strict";var v="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),u="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_");function f(p){return p%10<5&&p%10>1&&~~(p/10)%10!=1}function h(p,y,x){var T=p+" ";switch(x){case"ss":return T+(f(p)?"sekundy":"sekund");case"m":return y?"minuta":"minut\u0119";case"mm":return T+(f(p)?"minuty":"minut");case"h":return y?"godzina":"godzin\u0119";case"hh":return T+(f(p)?"godziny":"godzin");case"MM":return T+(f(p)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return T+(f(p)?"lata":"lat")}}O.defineLocale("pl",{months:function(p,y){return p?""===y?"("+u[p.month()]+"|"+v[p.month()]+")":/D MMMM/.test(y)?u[p.month()]:v[p.month()]:v},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),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:h,m:h,mm:h,h,hh:h,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:h,y:"rok",yy:h},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},3840:function(de,ge,N){!function(O){"use strict";O.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"})}(N(5439))},4225:function(de,ge,N){!function(O){"use strict";O.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",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}})}(N(5439))},5128:function(de,ge,N){!function(O){"use strict";function v(f,h,M){var y=" ";return(f%100>=20||f>=100&&f%100==0)&&(y=" de "),f+y+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[M]}O.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._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:v,m:"un minut",mm:v,h:"o or\u0103",hh:v,d:"o zi",dd:v,M:"o lun\u0103",MM:v,y:"un an",yy:v},week:{dow:1,doy:7}})}(N(5439))},5127:function(de,ge,N){!function(O){"use strict";function u(M,p,y){return"m"===y?p?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":M+" "+function v(M,p){var y=M.split("_");return p%10==1&&p%100!=11?y[0]:p%10>=2&&p%10<=4&&(p%100<10||p%100>=20)?y[1]:y[2]}({ss:p?"\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:p?"\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",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"}[y],+M)}var f=[/^\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];O.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:f,longMonthsParse:f,shortMonthsParse:f,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(M){if(M.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(M){if(M.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:u,m:u,mm:u,h:"\u0447\u0430\u0441",hh:u,d:"\u0434\u0435\u043d\u044c",dd:u,M:"\u043c\u0435\u0441\u044f\u0446",MM:u,y:"\u0433\u043e\u0434",yy:u},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(M){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(M)},meridiem:function(M,p,y){return M<4?"\u043d\u043e\u0447\u0438":M<12?"\u0443\u0442\u0440\u0430":M<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(M,p){switch(p){case"M":case"d":case"DDD":return M+"-\u0439";case"D":return M+"-\u0433\u043e";case"w":case"W":return M+"-\u044f";default:return M}},week:{dow:1,doy:4}})}(N(5439))},2525:function(de,ge,N){!function(O){"use strict";var v=["\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"],u=["\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"];O.defineLocale("sd",{months:v,monthsShort:v,weekdays:u,weekdaysShort:u,weekdaysMin:u,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(h){return"\u0634\u0627\u0645"===h},meridiem:function(h,M,p){return h<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(h){return h.replace(/\u060c/g,",")},postformat:function(h){return h.replace(/,/g,"\u060c")},week:{dow:1,doy:4}})}(N(5439))},9893:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},3123:function(de,ge,N){!function(O){"use strict";O.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(u){return u+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(u){return"\u0db4.\u0dc0."===u||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===u},meridiem:function(u,f,h){return u>11?h?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":h?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}})}(N(5439))},9635:function(de,ge,N){!function(O){"use strict";var v="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),u="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function f(p){return p>1&&p<5}function h(p,y,x,T){var S=p+" ";switch(x){case"s":return y||T?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return y||T?S+(f(p)?"sekundy":"sek\xfand"):S+"sekundami";case"m":return y?"min\xfata":T?"min\xfatu":"min\xfatou";case"mm":return y||T?S+(f(p)?"min\xfaty":"min\xfat"):S+"min\xfatami";case"h":return y?"hodina":T?"hodinu":"hodinou";case"hh":return y||T?S+(f(p)?"hodiny":"hod\xedn"):S+"hodinami";case"d":return y||T?"de\u0148":"d\u0148om";case"dd":return y||T?S+(f(p)?"dni":"dn\xed"):S+"d\u0148ami";case"M":return y||T?"mesiac":"mesiacom";case"MM":return y||T?S+(f(p)?"mesiace":"mesiacov"):S+"mesiacmi";case"y":return y||T?"rok":"rokom";case"yy":return y||T?S+(f(p)?"roky":"rokov"):S+"rokmi"}}O.defineLocale("sk",{months:v,monthsShort:u,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:case 4:case 5:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %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}})}(N(5439))},8106:function(de,ge,N){!function(O){"use strict";function v(f,h,M,p){var y=f+" ";switch(M){case"s":return h||p?"nekaj sekund":"nekaj sekundami";case"ss":return y+(1===f?h?"sekundo":"sekundi":2===f?h||p?"sekundi":"sekundah":f<5?h||p?"sekunde":"sekundah":"sekund");case"m":return h?"ena minuta":"eno minuto";case"mm":return y+(1===f?h?"minuta":"minuto":2===f?h||p?"minuti":"minutama":f<5?h||p?"minute":"minutami":h||p?"minut":"minutami");case"h":return h?"ena ura":"eno uro";case"hh":return y+(1===f?h?"ura":"uro":2===f?h||p?"uri":"urama":f<5?h||p?"ure":"urami":h||p?"ur":"urami");case"d":return h||p?"en dan":"enim dnem";case"dd":return y+(1===f?h||p?"dan":"dnem":2===f?h||p?"dni":"dnevoma":h||p?"dni":"dnevi");case"M":return h||p?"en mesec":"enim mesecem";case"MM":return y+(1===f?h||p?"mesec":"mesecem":2===f?h||p?"meseca":"mesecema":f<5?h||p?"mesece":"meseci":h||p?"mesecev":"meseci");case"y":return h||p?"eno leto":"enim letom";case"yy":return y+(1===f?h||p?"leto":"letom":2===f?h||p?"leti":"letoma":f<5?h||p?"leta":"leti":h||p?"let":"leti")}}O.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:v,ss:v,m:v,mm:v,h:v,hh:v,d:v,dd:v,M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},8799:function(de,ge,N){!function(O){"use strict";O.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(u){return"M"===u.charAt(0)},meridiem:function(u,f,h){return u<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}})}(N(5439))},2872:function(de,ge,N){!function(O){"use strict";var v={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(f,h){return 1===f?h[0]:f>=2&&f<=4?h[1]:h[2]},translate:function(f,h,M){var p=v.words[M];return 1===M.length?h?p[0]:p[1]:f+" "+v.correctGrammaticalCase(f,p)}};O.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:"DD.MM.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:v.translate,m:v.translate,mm:v.translate,h:v.translate,hh:v.translate,d:"\u0434\u0430\u043d",dd:v.translate,M:"\u043c\u0435\u0441\u0435\u0446",MM:v.translate,y:"\u0433\u043e\u0434\u0438\u043d\u0443",yy:v.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},7949:function(de,ge,N){!function(O){"use strict";var v={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(f,h){return 1===f?h[0]:f>=2&&f<=4?h[1]:h[2]},translate:function(f,h,M){var p=v.words[M];return 1===M.length?h?p[0]:p[1]:f+" "+v.correctGrammaticalCase(f,p)}};O.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:"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] [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:v.translate,m:v.translate,mm:v.translate,h:v.translate,hh:v.translate,d:"dan",dd:v.translate,M:"mesec",MM:v.translate,y:"godinu",yy:v.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(N(5439))},6167:function(de,ge,N){!function(O){"use strict";O.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(u,f,h){return u<11?"ekuseni":u<15?"emini":u<19?"entsambama":"ebusuku"},meridiemHour:function(u,f){return 12===u&&(u=0),"ekuseni"===f?u:"emini"===f?u>=11?u:u+12:"entsambama"===f||"ebusuku"===f?0===u?0:u+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(N(5439))},9713:function(de,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"e":1===f||2===f?"a":"e")},week:{dow:1,doy:4}})}(N(5439))},1982:function(de,ge,N){!function(O){"use strict";O.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",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:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(N(5439))},2732:function(de,ge,N){!function(O){"use strict";var v={1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"},u={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"};O.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(h){return h+"\u0bb5\u0ba4\u0bc1"},preparse:function(h){return h.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(M){return u[M]})},postformat:function(h){return h.replace(/\d/g,function(M){return v[M]})},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(h,M,p){return h<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":h<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":h<10?" \u0b95\u0bbe\u0bb2\u0bc8":h<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":h<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":h<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(h,M){return 12===h&&(h=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===M?h<2?h:h+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===M||"\u0b95\u0bbe\u0bb2\u0bc8"===M||"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===M&&h>=10?h:h+12},week:{dow:0,doy:6}})}(N(5439))},3636:function(de,ge,N){!function(O){"use strict";O.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\u0c42\u0c32\u0c46\u0c56_\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\u0c42\u0c32\u0c46\u0c56_\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(u,f){return 12===u&&(u=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===f?u<4?u:u+12:"\u0c09\u0c26\u0c2f\u0c02"===f?u:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===f?u>=10?u:u+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===f?u+12:void 0},meridiem:function(u,f,h){return u<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":u<10?"\u0c09\u0c26\u0c2f\u0c02":u<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":u<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}})}(N(5439))},2115:function(de,ge,N){!function(O){"use strict";O.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:"minutu balun",ss:"minutu %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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},9801:function(de,ge,N){!function(O){"use strict";var v={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"};O.defineLocale("tg",{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:"\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:"[\u041f\u0430\u0433\u043e\u04b3 \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(f,h){return 12===f&&(f=0),"\u0448\u0430\u0431"===h?f<4?f:f+12:"\u0441\u0443\u0431\u04b3"===h?f:"\u0440\u04ef\u0437"===h?f>=11?f:f+12:"\u0431\u0435\u0433\u043e\u04b3"===h?f+12:void 0},meridiem:function(f,h,M){return f<4?"\u0448\u0430\u0431":f<11?"\u0441\u0443\u0431\u04b3":f<16?"\u0440\u04ef\u0437":f<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(f){return f+(v[f]||v[f%10]||v[f>=100?100:null])},week:{dow:1,doy:7}})}(N(5439))},2868:function(de,ge,N){!function(O){"use strict";O.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(u){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===u},meridiem:function(u,f,h){return u<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",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}})}(N(5439))},2360:function(de,ge,N){!function(O){"use strict";O.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(u){return u},week:{dow:1,doy:4}})}(N(5439))},6645:function(de,ge,N){!function(O){"use strict";var v="pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function h(y,x,T,S){var k=function M(y){var x=Math.floor(y%1e3/100),T=Math.floor(y%100/10),S=y%10,k="";return x>0&&(k+=v[x]+"vatlh"),T>0&&(k+=(""!==k?" ":"")+v[T]+"maH"),S>0&&(k+=(""!==k?" ":"")+v[S]),""===k?"pagh":k}(y);switch(T){case"ss":return k+" lup";case"mm":return k+" tup";case"hh":return k+" rep";case"dd":return k+" jaj";case"MM":return k+" jar";case"yy":return k+" DIS"}}O.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 u(y){var x=y;return-1!==y.indexOf("jaj")?x.slice(0,-3)+"leS":-1!==y.indexOf("jar")?x.slice(0,-3)+"waQ":-1!==y.indexOf("DIS")?x.slice(0,-3)+"nem":x+" pIq"},past:function f(y){var x=y;return-1!==y.indexOf("jaj")?x.slice(0,-3)+"Hu\u2019":-1!==y.indexOf("jar")?x.slice(0,-3)+"wen":-1!==y.indexOf("DIS")?x.slice(0,-3)+"ben":x+" ret"},s:"puS lup",ss:h,m:"wa\u2019 tup",mm:h,h:"wa\u2019 rep",hh:h,d:"wa\u2019 jaj",dd:h,M:"wa\u2019 jar",MM:h,y:"wa\u2019 DIS",yy:h},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},8374:function(de,ge,N){!function(O){"use strict";var v={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"};O.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("_"),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",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(f,h){switch(h){case"d":case"D":case"Do":case"DD":return f;default:if(0===f)return f+"'\u0131nc\u0131";var M=f%10;return f+(v[M]||v[f%100-M]||v[f>=100?100:null])}},week:{dow:1,doy:7}})}(N(5439))},256:function(de,ge,N){!function(O){"use strict";function u(f,h,M,p){var y={s:["viensas secunds","'iensas secunds"],ss:[f+" secunds",f+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[f+" m\xeduts",f+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[f+" \xfeoras",f+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[f+" ziuas",f+" ziuas"],M:["'n mes","'iens mes"],MM:[f+" mesen",f+" mesen"],y:["'n ar","'iens ar"],yy:[f+" ars",f+" ars"]};return p||h?y[M][0]:y[M][1]}O.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(f){return"d'o"===f.toLowerCase()},meridiem:function(f,h,M){return f>11?M?"d'o":"D'O":M?"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:u,ss:u,m:u,mm:u,h:u,hh:u,d:u,dd:u,M:u,MM:u,y:u,yy:u},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(N(5439))},1631:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},1595:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},6050:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===f||"\u0633\u06d5\u06be\u06d5\u0631"===f||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===f?u:"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"===f||"\u0643\u06d5\u0686"===f?u+12:u>=11?u:u+12},meridiem:function(u,f,h){var M=100*u+f;return M<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":M<900?"\u0633\u06d5\u06be\u06d5\u0631":M<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":M<1230?"\u0686\u06c8\u0634":M<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(u,f){switch(f){case"d":case"D":case"DDD":return u+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return u+"-\u06be\u06d5\u067e\u062a\u06d5";default:return u}},preparse:function(u){return u.replace(/\u060c/g,",")},postformat:function(u){return u.replace(/,/g,"\u060c")},week:{dow:1,doy:7}})}(N(5439))},5610:function(de,ge,N){!function(O){"use strict";function u(p,y,x){return"m"===x?y?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===x?y?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":p+" "+function v(p,y){var x=p.split("_");return y%10==1&&y%100!=11?x[0]:y%10>=2&&y%10<=4&&(y%100<10||y%100>=20)?x[1]:x[2]}({ss:y?"\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:y?"\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:y?"\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"}[x],+p)}function h(p){return function(){return p+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}O.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 f(p,y){var x={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 p?x[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(y)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(y)?"genitive":"nominative"][p.day()]:x.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:h("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:h("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:h("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:h("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return h("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return h("[\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:u,m:u,mm:u,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:u,d:"\u0434\u0435\u043d\u044c",dd:u,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:u,y:"\u0440\u0456\u043a",yy:u},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(p){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(p)},meridiem:function(p,y,x){return p<4?"\u043d\u043e\u0447\u0456":p<12?"\u0440\u0430\u043d\u043a\u0443":p<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(p,y){switch(y){case"M":case"d":case"DDD":case"w":case"W":return p+"-\u0439";case"D":return p+"-\u0433\u043e";default:return p}},week:{dow:1,doy:7}})}(N(5439))},6077:function(de,ge,N){!function(O){"use strict";var v=["\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"],u=["\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"];O.defineLocale("ur",{months:v,monthsShort:v,weekdays:u,weekdaysShort:u,weekdaysMin:u,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(h){return"\u0634\u0627\u0645"===h},meridiem:function(h,M,p){return h<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(h){return h.replace(/\u060c/g,",")},postformat:function(h){return h.replace(/,/g,"\u060c")},week:{dow:1,doy:4}})}(N(5439))},2207:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},2862:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},8093:function(de,ge,N){!function(O){"use strict";O.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:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".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(u){return/^ch$/i.test(u)},meridiem:function(u,f,h){return u<12?h?"sa":"SA":h?"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 r\u1ed3i 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",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(u){return u},week:{dow:1,doy:4}})}(N(5439))},5590:function(de,ge,N){!function(O){"use strict";O.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(u){var f=u%10;return u+(1==~~(u%100/10)?"th":1===f?"st":2===f?"nd":3===f?"rd":"th")},week:{dow:1,doy:4}})}(N(5439))},9058:function(de,ge,N){!function(O){"use strict";O.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}})}(N(5439))},7908:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u51cc\u6668"===f||"\u65e9\u4e0a"===f||"\u4e0a\u5348"===f?u:"\u4e0b\u5348"===f||"\u665a\u4e0a"===f?u+12:u>=11?u:u+12},meridiem:function(u,f,h){var M=100*u+f;return M<600?"\u51cc\u6668":M<900?"\u65e9\u4e0a":M<1130?"\u4e0a\u5348":M<1230?"\u4e2d\u5348":M<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|\u5468)/,ordinal:function(u,f){switch(f){case"d":case"D":case"DDD":return u+"\u65e5";case"M":return u+"\u6708";case"w":case"W":return u+"\u5468";default:return u}},relativeTime:{future:"%s\u5185",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",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}})}(N(5439))},8867:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u51cc\u6668"===f||"\u65e9\u4e0a"===f||"\u4e0a\u5348"===f?u:"\u4e2d\u5348"===f?u>=11?u:u+12:"\u4e0b\u5348"===f||"\u665a\u4e0a"===f?u+12:void 0},meridiem:function(u,f,h){var M=100*u+f;return M<600?"\u51cc\u6668":M<900?"\u65e9\u4e0a":M<1130?"\u4e0a\u5348":M<1230?"\u4e2d\u5348":M<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(u,f){switch(f){case"d":case"D":case"DDD":return u+"\u65e5";case"M":return u+"\u6708";case"w":case"W":return u+"\u9031";default:return u}},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"}})}(N(5439))},3291:function(de,ge,N){!function(O){"use strict";O.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(u,f){return 12===u&&(u=0),"\u51cc\u6668"===f||"\u65e9\u4e0a"===f||"\u4e0a\u5348"===f?u:"\u4e2d\u5348"===f?u>=11?u:u+12:"\u4e0b\u5348"===f||"\u665a\u4e0a"===f?u+12:void 0},meridiem:function(u,f,h){var M=100*u+f;return M<600?"\u51cc\u6668":M<900?"\u65e9\u4e0a":M<1130?"\u4e0a\u5348":M<1230?"\u4e2d\u5348":M<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(u,f){switch(f){case"d":case"D":case"DDD":return u+"\u65e5";case"M":return u+"\u6708";case"w":case"W":return u+"\u9031";default:return u}},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"}})}(N(5439))},5439:function(de,ge,N){(de=N.nmd(de)).exports=function(){"use strict";var O,B;function v(){return O.apply(null,arguments)}function f(m){return m instanceof Array||"[object Array]"===Object.prototype.toString.call(m)}function h(m){return null!=m&&"[object Object]"===Object.prototype.toString.call(m)}function p(m){return void 0===m}function y(m){return"number"==typeof m||"[object Number]"===Object.prototype.toString.call(m)}function x(m){return m instanceof Date||"[object Date]"===Object.prototype.toString.call(m)}function T(m,P){var $,j=[];for($=0;$>>0,$=0;$0)for(j=0;j=0?j?"+":"":"-")+Math.pow(10,Math.max(0,P-$.length)).toString().substr(1)+$}var Ie=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Ye=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,ut={},mt={};function it(m,P,j,$){var ne=$;"string"==typeof $&&(ne=function(){return this[$]()}),m&&(mt[m]=ne),P&&(mt[P[0]]=function(){return De(ne.apply(this,arguments),P[1],P[2])}),j&&(mt[j]=function(){return this.localeData().ordinal(ne.apply(this,arguments),m)})}function fn(m){return m.match(/\[[\s\S]/)?m.replace(/^\[|\]$/g,""):m.replace(/\\/g,"")}function bt(m,P){return m.isValid()?(P=qt(P,m.localeData()),ut[P]=ut[P]||function An(m){var j,$,P=m.match(Ie);for(j=0,$=P.length;j<$;j++)P[j]=mt[P[j]]?mt[P[j]]:fn(P[j]);return function(ne){var je,Le="";for(je=0;je<$;je++)Le+=ke(P[je])?P[je].call(ne,m):P[je];return Le}}(P),ut[P](m)):m.localeData().invalidDate()}function qt(m,P){var j=5;function $(ne){return P.longDateFormat(ne)||ne}for(Ye.lastIndex=0;j>=0&&Ye.test(m);)m=m.replace(Ye,$),Ye.lastIndex=0,j-=1;return m}var Gn=/\d/,oi=/\d\d/,Kr=/\d{3}/,Io=/\d{4}/,Ai=/[+-]?\d{6}/,ln=/\d\d?/,wi=/\d\d\d\d?/,si=/\d\d\d\d\d\d?/,Fn=/\d{1,3}/,jd=/\d{1,4}/,dl=/[+-]?\d{1,6}/,xn=/\d+/,_a=/[+-]?\d+/,Fi=/Z|[+-]\d\d:?\d\d/gi,ba=/Z|[+-]\d\d(?::?\d\d)?/gi,pn=/[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,Dt={};function gt(m,P,j){Dt[m]=ke(P)?P:function($,ne){return $&&j?j:P}}function zd(m,P){return S(Dt,m)?Dt[m](P._strict,P._locale):new RegExp(function Z1(m){return hs(m.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(P,j,$,ne,Le){return j||$||ne||Le}))}(m))}function hs(m){return m.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var Fe={};function Tn(m,P){var j,$=P;for("string"==typeof m&&(m=[m]),y(P)&&($=function(ne,Le){Le[P]=ee(ne)}),j=0;j68?1900:2e3)};var Ci,Bg=va("FullYear",!0);function va(m,P){return function(j){return null!=j?(cf(this,m,j),v.updateOffset(this,P),this):Wd(this,m)}}function Wd(m,P){return m.isValid()?m._d["get"+(m._isUTC?"UTC":"")+P]():NaN}function cf(m,P,j){m.isValid()&&!isNaN(j)&&("FullYear"===P&&Ud(m.year())&&1===m.month()&&29===m.date()?m._d["set"+(m._isUTC?"UTC":"")+P](j,m.month(),$d(j,m.month())):m._d["set"+(m._isUTC?"UTC":"")+P](j))}function $d(m,P){if(isNaN(m)||isNaN(P))return NaN;var j=function Mn(m,P){return(m%P+P)%P}(P,12);return m+=(P-j)/12,1===j?Ud(m)?29:28:31-j%7%2}Ci=Array.prototype.indexOf?Array.prototype.indexOf:function(m){var P;for(P=0;P=0&&isFinite(At.getFullYear())&&At.setFullYear(m),At}function Wi(m){var P=new Date(Date.UTC.apply(null,arguments));return m<100&&m>=0&&isFinite(P.getUTCFullYear())&&P.setUTCFullYear(m),P}function ul(m,P,j){var $=7+P-j;return-(7+Wi(m,0,$).getUTCDay()-P)%7+$-1}function Ug(m,P,j,$,ne){var Ut,ki,At=1+7*(P-1)+(7+j-$)%7+ul(m,$,ne);return At<=0?ki=dc(Ut=m-1)+At:At>dc(m)?(Ut=m+1,ki=At-dc(m)):(Ut=m,ki=At),{year:Ut,dayOfYear:ki}}function wn(m,P,j){var Le,je,$=ul(m.year(),P,j),ne=Math.floor((m.dayOfYear()-$-1)/7)+1;return ne<1?Le=ne+ya(je=m.year()-1,P,j):ne>ya(m.year(),P,j)?(Le=ne-ya(m.year(),P,j),je=m.year()+1):(je=m.year(),Le=ne),{week:Le,year:je}}function ya(m,P,j){var $=ul(m,P,j),ne=ul(m+1,P,j);return(dc(m)-$+ne)/7}it("w",["ww",2],"wo","week"),it("W",["WW",2],"Wo","isoWeek"),pe("week","w"),pe("isoWeek","W"),me("week",5),me("isoWeek",5),gt("w",ln),gt("ww",ln,oi),gt("W",ln),gt("WW",ln,oi),xt(["w","ww","W","WW"],function(m,P,j,$){P[$.substr(0,1)]=ee(m)});it("d",0,"do","day"),it("dd",0,0,function(m){return this.localeData().weekdaysMin(this,m)}),it("ddd",0,0,function(m){return this.localeData().weekdaysShort(this,m)}),it("dddd",0,0,function(m){return this.localeData().weekdays(this,m)}),it("e",0,0,"weekday"),it("E",0,0,"isoWeekday"),pe("day","d"),pe("weekday","e"),pe("isoWeekday","E"),me("day",11),me("weekday",11),me("isoWeekday",11),gt("d",ln),gt("e",ln),gt("E",ln),gt("dd",function(m,P){return P.weekdaysMinRegex(m)}),gt("ddd",function(m,P){return P.weekdaysShortRegex(m)}),gt("dddd",function(m,P){return P.weekdaysRegex(m)}),xt(["dd","ddd","dddd"],function(m,P,j,$){var ne=j._locale.weekdaysParse(m,$,j._strict);null!=ne?P.d=ne:U(j).invalidWeekday=m}),xt(["d","e","E"],function(m,P,j,$){P[$]=ee(m)});var pf="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var mf="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var qg="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function gf(m,P,j){var $,ne,Le,je=m.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],$=0;$<7;++$)Le=L([2e3,1]).day($),this._minWeekdaysParse[$]=this.weekdaysMin(Le,"").toLocaleLowerCase(),this._shortWeekdaysParse[$]=this.weekdaysShort(Le,"").toLocaleLowerCase(),this._weekdaysParse[$]=this.weekdays(Le,"").toLocaleLowerCase();return j?"dddd"===P?-1!==(ne=Ci.call(this._weekdaysParse,je))?ne:null:"ddd"===P?-1!==(ne=Ci.call(this._shortWeekdaysParse,je))?ne:null:-1!==(ne=Ci.call(this._minWeekdaysParse,je))?ne:null:"dddd"===P?-1!==(ne=Ci.call(this._weekdaysParse,je))||-1!==(ne=Ci.call(this._shortWeekdaysParse,je))||-1!==(ne=Ci.call(this._minWeekdaysParse,je))?ne:null:"ddd"===P?-1!==(ne=Ci.call(this._shortWeekdaysParse,je))||-1!==(ne=Ci.call(this._weekdaysParse,je))||-1!==(ne=Ci.call(this._minWeekdaysParse,je))?ne:null:-1!==(ne=Ci.call(this._minWeekdaysParse,je))||-1!==(ne=Ci.call(this._weekdaysParse,je))||-1!==(ne=Ci.call(this._shortWeekdaysParse,je))?ne:null}var Kg=pn;var Xg=pn;var Oo=pn;function lo(){function m(Br,bl){return bl.length-Br.length}var Le,je,At,Ut,ki,P=[],j=[],$=[],ne=[];for(Le=0;Le<7;Le++)je=L([2e3,1]).day(Le),At=this.weekdaysMin(je,""),Ut=this.weekdaysShort(je,""),ki=this.weekdays(je,""),P.push(At),j.push(Ut),$.push(ki),ne.push(At),ne.push(Ut),ne.push(ki);for(P.sort(m),j.sort(m),$.sort(m),ne.sort(m),Le=0;Le<7;Le++)j[Le]=hs(j[Le]),$[Le]=hs($[Le]),ne[Le]=hs(ne[Le]);this._weekdaysRegex=new RegExp("^("+ne.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+$.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+j.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+P.join("|")+")","i")}function cn(){return this.hours()%12||12}function _c(m,P){it(m,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),P)})}function bc(m,P){return P._meridiemParse}it("H",["HH",2],0,"hour"),it("h",["hh",2],0,cn),it("k",["kk",2],0,function gc(){return this.hours()||24}),it("hmm",0,0,function(){return""+cn.apply(this)+De(this.minutes(),2)}),it("hmmss",0,0,function(){return""+cn.apply(this)+De(this.minutes(),2)+De(this.seconds(),2)}),it("Hmm",0,0,function(){return""+this.hours()+De(this.minutes(),2)}),it("Hmmss",0,0,function(){return""+this.hours()+De(this.minutes(),2)+De(this.seconds(),2)}),_c("a",!0),_c("A",!1),pe("hour","h"),me("hour",13),gt("a",bc),gt("A",bc),gt("H",ln),gt("h",ln),gt("k",ln),gt("HH",ln,oi),gt("hh",ln,oi),gt("kk",ln,oi),gt("hmm",wi),gt("hmmss",si),gt("Hmm",wi),gt("Hmmss",si),Tn(["H","HH"],ai),Tn(["k","kk"],function(m,P,j){var $=ee(m);P[ai]=24===$?0:$}),Tn(["a","A"],function(m,P,j){j._isPm=j._locale.isPM(m),j._meridiem=m}),Tn(["h","hh"],function(m,P,j){P[ai]=ee(m),U(j).bigHour=!0}),Tn("hmm",function(m,P,j){var $=m.length-2;P[ai]=ee(m.substr(0,$)),P[ti]=ee(m.substr($)),U(j).bigHour=!0}),Tn("hmmss",function(m,P,j){var $=m.length-4,ne=m.length-2;P[ai]=ee(m.substr(0,$)),P[ti]=ee(m.substr($,2)),P[ps]=ee(m.substr(ne)),U(j).bigHour=!0}),Tn("Hmm",function(m,P,j){var $=m.length-2;P[ai]=ee(m.substr(0,$)),P[ti]=ee(m.substr($))}),Tn("Hmmss",function(m,P,j){var $=m.length-4,ne=m.length-2;P[ai]=ee(m.substr(0,$)),P[ti]=ee(m.substr($,2)),P[ps]=ee(m.substr(ne))});var Ca,bf=va("Hours",!0),Xd={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",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ne,monthsShort:Nt,week:{dow:0,doy:6},weekdays:pf,weekdaysMin:qg,weekdaysShort:mf,meridiemParse:/[ap]\.?m?\.?/i},hi={},wa={};function xa(m){return m&&m.toLowerCase().replace("_","-")}function ml(m){var P=null;if(!hi[m]&&de&&de.exports)try{P=Ca._abbr,N(6700)("./"+m),ka(P)}catch{}return hi[m]}function ka(m,P){var j;return m&&((j=p(P)?_s(m):vc(m,P))?Ca=j:typeof console<"u"&&console.warn&&console.warn("Locale "+m+" not found. Did you forget to load it?")),Ca._abbr}function vc(m,P){if(null!==P){var j,$=Xd;if(P.abbr=m,null!=hi[m])Se("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."),$=hi[m]._config;else if(null!=P.parentLocale)if(null!=hi[P.parentLocale])$=hi[P.parentLocale]._config;else{if(null==(j=ml(P.parentLocale)))return wa[P.parentLocale]||(wa[P.parentLocale]=[]),wa[P.parentLocale].push({name:m,config:P}),null;$=j._config}return hi[m]=new st(tt($,P)),wa[m]&&wa[m].forEach(function(ne){vc(ne.name,ne.config)}),ka(m),hi[m]}return delete hi[m],null}function _s(m){var P;if(m&&m._locale&&m._locale._abbr&&(m=m._locale._abbr),!m)return Ca;if(!f(m)){if(P=ml(m))return P;m=[m]}return function vf(m){for(var j,$,ne,Le,P=0;P0;){if(ne=ml(Le.slice(0,j).join("-")))return ne;if($&&$.length>=j&&ae(Le,$,!0)>=j-1)break;j--}P++}return Ca}(m)}function Jd(m){var P,j=m._a;return j&&-2===U(m).overflow&&(P=j[fs]<0||j[fs]>11?fs:j[Po]<1||j[Po]>$d(j[ao],j[fs])?Po:j[ai]<0||j[ai]>24||24===j[ai]&&(0!==j[ti]||0!==j[ps]||0!==j[Ys])?ai:j[ti]<0||j[ti]>59?ti:j[ps]<0||j[ps]>59?ps:j[Ys]<0||j[Ys]>999?Ys:-1,U(m)._overflowDayOfYear&&(PPo)&&(P=Po),U(m)._overflowWeeks&&-1===P&&(P=X1),U(m)._overflowWeekday&&-1===P&&(P=ms),U(m).overflow=P),m}function Hs(m,P,j){return m??P??j}function Qd(m){var P,j,ne,Le,je,$=[];if(!m._d){for(ne=function Qg(m){var P=new Date(v.now());return m._useUTC?[P.getUTCFullYear(),P.getUTCMonth(),P.getUTCDate()]:[P.getFullYear(),P.getMonth(),P.getDate()]}(m),m._w&&null==m._a[Po]&&null==m._a[fs]&&function e_(m){var P,j,$,ne,Le,je,At,Ut;if(null!=(P=m._w).GG||null!=P.W||null!=P.E)Le=1,je=4,j=Hs(P.GG,m._a[ao],wn(zt(),1,4).year),$=Hs(P.W,1),((ne=Hs(P.E,1))<1||ne>7)&&(Ut=!0);else{Le=m._locale._week.dow,je=m._locale._week.doy;var ki=wn(zt(),Le,je);j=Hs(P.gg,m._a[ao],ki.year),$=Hs(P.w,ki.week),null!=P.d?((ne=P.d)<0||ne>6)&&(Ut=!0):null!=P.e?(ne=P.e+Le,(P.e<0||P.e>6)&&(Ut=!0)):ne=Le}$<1||$>ya(j,Le,je)?U(m)._overflowWeeks=!0:null!=Ut?U(m)._overflowWeekday=!0:(At=Ug(j,$,ne,Le,je),m._a[ao]=At.year,m._dayOfYear=At.dayOfYear)}(m),null!=m._dayOfYear&&(je=Hs(m._a[ao],ne[ao]),(m._dayOfYear>dc(je)||0===m._dayOfYear)&&(U(m)._overflowDayOfYear=!0),j=Wi(je,0,m._dayOfYear),m._a[fs]=j.getUTCMonth(),m._a[Po]=j.getUTCDate()),P=0;P<3&&null==m._a[P];++P)m._a[P]=$[P]=ne[P];for(;P<7;P++)m._a[P]=$[P]=null==m._a[P]?2===P?1:0:m._a[P];24===m._a[ai]&&0===m._a[ti]&&0===m._a[ps]&&0===m._a[Ys]&&(m._nextDay=!0,m._a[ai]=0),m._d=(m._useUTC?Wi:ff).apply(null,$),Le=m._useUTC?m._d.getUTCDay():m._d.getDay(),null!=m._tzm&&m._d.setUTCMinutes(m._d.getUTCMinutes()-m._tzm),m._nextDay&&(m._a[ai]=24),m._w&&typeof m._w.d<"u"&&m._w.d!==Le&&(U(m).weekdayMismatch=!0)}}var t_=/^\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)?)?$/,yf=/^\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)?)?$/,n_=/Z|[+-]\d\d(?::?\d\d)?/,yc=[["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}/]],eu=[["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/]],Ze=/^\/?Date\((\-?\d+)/i;function Mc(m){var P,j,Le,je,At,Ut,$=m._i,ne=t_.exec($)||yf.exec($);if(ne){for(U(m).iso=!0,P=0,j=yc.length;P0&&U(m).unusedInput.push(je),P=P.slice(P.indexOf($)+$.length),Ut+=$.length),mt[Le]?($?U(m).empty=!1:U(m).unusedTokens.push(Le),yn(Le,$,m)):m._strict&&!$&&U(m).unusedTokens.push(Le);U(m).charsLeftOver=At-Ut,P.length>0&&U(m).unusedInput.push(P),m._a[ai]<=12&&!0===U(m).bigHour&&m._a[ai]>0&&(U(m).bigHour=void 0),U(m).parsedDateParts=m._a.slice(0),U(m).meridiem=m._meridiem,m._a[ai]=function Sa(m,P,j){var $;return null==j?P:null!=m.meridiemHour?m.meridiemHour(P,j):(null!=m.isPM&&(($=m.isPM(j))&&P<12&&(P+=12),!$&&12===P&&(P=0)),P)}(m._locale,m._a[ai],m._meridiem),Qd(m),Jd(m)}else gn(m);else Mc(m)}function gl(m){var P=m._i,j=m._f;return m._locale=m._locale||_s(m._l),null===P||void 0===j&&""===P?re({nullInput:!0}):("string"==typeof P&&(m._i=P=m._locale.preparse(P)),q(P)?new he(Jd(P)):(x(P)?m._d=P:f(j)?function Nr(m){var P,j,$,ne,Le;if(0===m._f.length)return U(m).invalidFormat=!0,void(m._d=new Date(NaN));for(ne=0;nethis?this:m:re()});function Xn(m,P){var j,$;if(1===P.length&&f(P[0])&&(P=P[0]),!P.length)return zt();for(j=P[0],$=1;$(Le=ya(m,$,ne))&&(P=Le),Lc.call(this,m,P,j,$,ne))}function Lc(m,P,j,$,ne){var Le=Ug(m,P,j,$,ne),je=Wi(Le.year,0,Le.dayOfYear);return this.year(je.getUTCFullYear()),this.month(je.getUTCMonth()),this.date(je.getUTCDate()),this}it(0,["gg",2],0,function(){return this.weekYear()%100}),it(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Gs("gggg","weekYear"),Gs("ggggg","weekYear"),Gs("GGGG","isoWeekYear"),Gs("GGGGG","isoWeekYear"),pe("weekYear","gg"),pe("isoWeekYear","GG"),me("weekYear",1),me("isoWeekYear",1),gt("G",_a),gt("g",_a),gt("GG",ln,oi),gt("gg",ln,oi),gt("GGGG",jd,Io),gt("gggg",jd,Io),gt("GGGGG",dl,Ai),gt("ggggg",dl,Ai),xt(["gggg","ggggg","GGGG","GGGGG"],function(m,P,j,$){P[$.substr(0,2)]=ee(m)}),xt(["gg","GG"],function(m,P,j,$){P[$]=v.parseTwoDigitYear(m)}),it("Q",0,"Qo","quarter"),pe("quarter","Q"),me("quarter",7),gt("Q",Gn),Tn("Q",function(m,P){P[fs]=3*(ee(m)-1)}),it("D",["DD",2],"Do","date"),pe("date","D"),me("date",9),gt("D",ln),gt("DD",ln,oi),gt("Do",function(m,P){return m?P._dayOfMonthOrdinalParse||P._ordinalParse:P._dayOfMonthOrdinalParseLenient}),Tn(["D","DD"],Po),Tn("Do",function(m,P){P[Po]=ee(m.match(ln)[0])});var b_=va("Date",!0);it("DDD",["DDDD",3],"DDDo","dayOfYear"),pe("dayOfYear","DDD"),me("dayOfYear",4),gt("DDD",Fn),gt("DDDD",Kr),Tn(["DDD","DDDD"],function(m,P,j){j._dayOfYear=ee(m)}),it("m",["mm",2],0,"minute"),pe("minute","m"),me("minute",14),gt("m",ln),gt("mm",ln,oi),Tn(["m","mm"],ti);var su=va("Minutes",!1);it("s",["ss",2],0,"second"),pe("second","s"),me("second",15),gt("s",ln),gt("ss",ln,oi),Tn(["s","ss"],ps);var po,v_=va("Seconds",!1);for(it("S",0,0,function(){return~~(this.millisecond()/100)}),it(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),it(0,["SSS",3],0,"millisecond"),it(0,["SSSS",4],0,function(){return 10*this.millisecond()}),it(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),it(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),it(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),it(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),it(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),pe("millisecond","ms"),me("millisecond",16),gt("S",Fn,Gn),gt("SS",Fn,oi),gt("SSS",Fn,Kr),po="SSSS";po.length<=9;po+="S")gt(po,xn);function y_(m,P){P[Ys]=ee(1e3*("0."+m))}for(po="S";po.length<=9;po+="S")Tn(po,y_);var yM=va("Milliseconds",!1);it("z",0,0,"zoneAbbr"),it("zz",0,0,"zoneName");var Je=he.prototype;function Gi(m){return m}Je.add=Ws,Je.calendar=function nu(m,P){var j=m||zt(),$=bs(j,this).startOf("day"),ne=v.calendarFormat(this,$)||"sameElse",Le=P&&(ke(P[ne])?P[ne].call(this,j):P[ne]);return this.format(Le||this.localeData().calendar(ne,this,zt(j)))},Je.clone=function l_(){return new he(this)},Je.diff=function lM(m,P,j){var $,ne,Le;if(!this.isValid())return NaN;if(!($=bs(m,this)).isValid())return NaN;switch(ne=6e4*($.utcOffset()-this.utcOffset()),P=fe(P)){case"year":Le=Df(this,$)/12;break;case"month":Le=Df(this,$);break;case"quarter":Le=Df(this,$)/3;break;case"second":Le=(this-$)/1e3;break;case"minute":Le=(this-$)/6e4;break;case"hour":Le=(this-$)/36e5;break;case"day":Le=(this-$-ne)/864e5;break;case"week":Le=(this-$-ne)/6048e5;break;default:Le=this-$}return j?Le:Q(Le)},Je.endOf=function $s(m){return void 0===(m=fe(m))||"millisecond"===m?this:("date"===m&&(m="day"),this.startOf(m).add(1,"isoWeek"===m?"week":m).subtract(1,"ms"))},Je.format=function hM(m){m||(m=this.isUtc()?v.defaultFormatUtc:v.defaultFormat);var P=bt(this,m);return this.localeData().postformat(P)},Je.from=function fM(m,P){return this.isValid()&&(q(m)&&m.isValid()||zt(m).isValid())?br({to:this,from:m}).locale(this.locale()).humanize(!P):this.localeData().invalidDate()},Je.fromNow=function pM(m){return this.from(zt(),m)},Je.to=function mM(m,P){return this.isValid()&&(q(m)&&m.isValid()||zt(m).isValid())?br({from:this,to:m}).locale(this.locale()).humanize(!P):this.localeData().invalidDate()},Je.toNow=function Tf(m){return this.to(zt(),m)},Je.get=function Q1(m){return ke(this[m=fe(m)])?this[m]():this},Je.invalidAt=function g_(){return U(this).overflow},Je.isAfter=function rM(m,P){var j=q(m)?m:zt(m);return!(!this.isValid()||!j.isValid())&&("millisecond"===(P=fe(p(P)?"millisecond":P))?this.valueOf()>j.valueOf():j.valueOf()9999?bt(j,P?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):ke(Date.prototype.toISOString)?P?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",bt(j,"Z")):bt(j,P?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},Je.inspect=function uM(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var m="moment",P="";this.isLocal()||(m=0===this.utcOffset()?"moment.utc":"moment.parseZone",P="Z");var j="["+m+'("]',$=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY";return this.format(j+$+"-MM-DD[T]HH:mm:ss.SSS"+P+'[")]')},Je.toJSON=function p_(){return this.isValid()?this.toISOString():null},Je.toString=function cM(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},Je.unix=function _M(){return Math.floor(this.valueOf()/1e3)},Je.valueOf=function Lf(){return this._d.valueOf()-6e4*(this._offset||0)},Je.creationData=function Fo(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},Je.year=Bg,Je.isLeapYear=function J1(){return Ud(this.year())},Je.weekYear=function $i(m){return Tc.call(this,m,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},Je.isoWeekYear=function If(m){return Tc.call(this,m,this.isoWeek(),this.isoWeekday(),1,4)},Je.quarter=Je.quarters=function __(m){return null==m?Math.ceil((this.month()+1)/3):this.month(3*(m-1)+this.month()%3)},Je.month=Gd,Je.daysInMonth=function hc(){return $d(this.year(),this.month())},Je.week=Je.weeks=function pc(m){var P=this.localeData().week(this);return null==m?P:this.add(7*(m-P),"d")},Je.isoWeek=Je.isoWeeks=function Wg(m){var P=wn(this,1,4).week;return null==m?P:this.add(7*(m-P),"d")},Je.weeksInYear=function ou(){var m=this.localeData()._week;return ya(this.year(),m.dow,m.doy)},Je.isoWeeksInYear=function vM(){return ya(this.year(),1,4)},Je.date=b_,Je.day=Je.days=function mc(m){if(!this.isValid())return null!=m?this:NaN;var P=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=m?(m=function $g(m,P){return"string"!=typeof m?m:isNaN(m)?"number"==typeof(m=P.weekdaysParse(m))?m:null:parseInt(m,10)}(m,this.localeData()),this.add(m-P,"d")):P},Je.weekday=function Zd(m){if(!this.isValid())return null!=m?this:NaN;var P=(this.day()+7-this.localeData()._week.dow)%7;return null==m?P:this.add(m-P,"d")},Je.isoWeekday=function fl(m){if(!this.isValid())return null!=m?this:NaN;if(null!=m){var P=function Gg(m,P){return"string"==typeof m?P.weekdaysParse(m)%7||7:isNaN(m)?null:m}(m,this.localeData());return this.day(this.day()%7?P:P-7)}return this.day()||7},Je.dayOfYear=function Pf(m){var P=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==m?P:this.add(m-P,"d")},Je.hour=Je.hours=bf,Je.minute=Je.minutes=su,Je.second=Je.seconds=v_,Je.millisecond=Je.milliseconds=yM,Je.utcOffset=function _l(m,P,j){var ne,$=this._offset||0;if(!this.isValid())return null!=m?this:NaN;if(null!=m){if("string"==typeof m){if(null===(m=Us(ba,m)))return this}else Math.abs(m)<16&&!j&&(m*=60);return!this._isUTC&&P&&(ne=Xr(this)),this._offset=m,this._isUTC=!0,null!=ne&&this.add(ne,"m"),$!==m&&(!P||this._changeInProgress?Sc(this,br(m-$,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,v.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?$:Xr(this)},Je.utc=function vs(m){return this.utcOffset(0,m)},Je.local=function Xo(m){return this._isUTC&&(this.utcOffset(0,m),this._isUTC=!1,m&&this.subtract(Xr(this),"m")),this},Je.parseZone=function Cc(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var m=Us(Fi,this._i);null!=m?this.utcOffset(m):this.utcOffset(0,!0)}return this},Je.hasAlignedHourOffset=function xc(m){return!!this.isValid()&&(m=m?zt(m).utcOffset():0,(this.utcOffset()-m)%60==0)},Je.isDST=function Qt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},Je.isLocal=function tu(){return!!this.isValid()&&!this._isUTC},Je.isUtcOffset=function Sf(){return!!this.isValid()&&this._isUTC},Je.isUtc=ho,Je.isUTC=ho,Je.zoneAbbr=function MM(){return this._isUTC?"UTC":""},Je.zoneName=function wM(){return this._isUTC?"Coordinated Universal Time":""},Je.dates=J("dates accessor is deprecated. Use date instead.",b_),Je.months=J("months accessor is deprecated. Use month instead",Gd),Je.years=J("years accessor is deprecated. Use year instead",Bg),Je.zone=J("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function kf(m,P){return null!=m?("string"!=typeof m&&(m=-m),this.utcOffset(m,P),this):-this.utcOffset()}),Je.isDSTShifted=J("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function iM(){if(!p(this._isDSTShifted))return this._isDSTShifted;var m={};if(Z(m,this),(m=gl(m))._a){var P=m._isUTC?L(m._a):zt(m._a);this._isDSTShifted=this.isValid()&&ae(m._a,P.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var Rn=st.prototype;function Ec(m,P,j,$){var ne=_s(),Le=L().set($,P);return ne[j](Le,m)}function Of(m,P,j){if(y(m)&&(P=m,m=void 0),m=m||"",null!=P)return Ec(m,P,j,"month");var $,ne=[];for($=0;$<12;$++)ne[$]=Ec(m,$,j,"month");return ne}function Ic(m,P,j,$){"boolean"==typeof m?(y(P)&&(j=P,P=void 0),P=P||""):(j=P=m,m=!1,y(P)&&(j=P,P=void 0),P=P||"");var ne=_s(),Le=m?ne._week.dow:0;if(null!=j)return Ec(P,(j+Le)%7,$,"day");var je,At=[];for(je=0;je<7;je++)At[je]=Ec(P,(je+Le)%7,$,"day");return At}Rn.calendar=function an(m,P,j){var $=this._calendar[m]||this._calendar.sameElse;return ke($)?$.call(P,j):$},Rn.longDateFormat=function On(m){var P=this._longDateFormat[m],j=this._longDateFormat[m.toUpperCase()];return P||!j?P:(this._longDateFormat[m]=j.replace(/MMMM|MM|DD|dddd/g,function($){return $.slice(1)}),this._longDateFormat[m])},Rn.invalidDate=function Ge(){return this._invalidDate},Rn.ordinal=function dr(m){return this._ordinal.replace("%d",m)},Rn.preparse=Gi,Rn.postformat=Gi,Rn.relativeTime=function W(m,P,j,$){var ne=this._relativeTime[j];return ke(ne)?ne(m,P,j,$):ne.replace(/%d/i,m)},Rn.pastFuture=function oe(m,P){var j=this._relativeTime[m>0?"future":"past"];return ke(j)?j(P):j.replace(/%s/i,P)},Rn.set=function Be(m){var P,j;for(j in m)ke(P=m[j])?this[j]=P:this["_"+j]=P;this._config=m,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},Rn.months=function eM(m,P){return m?f(this._months)?this._months[m.month()]:this._months[(this._months.isFormat||Vg).test(P)?"format":"standalone"][m.month()]:f(this._months)?this._months:this._months.standalone},Rn.monthsShort=function uc(m,P){return m?f(this._monthsShort)?this._monthsShort[m.month()]:this._monthsShort[Vg.test(P)?"format":"standalone"][m.month()]:f(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},Rn.monthsParse=function df(m,P,j){var $,ne,Le;if(this._monthsParseExact)return jg.call(this,m,P,j);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),$=0;$<12;$++){if(ne=L([2e3,$]),j&&!this._longMonthsParse[$]&&(this._longMonthsParse[$]=new RegExp("^"+this.months(ne,"").replace(".","")+"$","i"),this._shortMonthsParse[$]=new RegExp("^"+this.monthsShort(ne,"").replace(".","")+"$","i")),!j&&!this._monthsParse[$]&&(Le="^"+this.months(ne,"")+"|^"+this.monthsShort(ne,""),this._monthsParse[$]=new RegExp(Le.replace(".",""),"i")),j&&"MMMM"===P&&this._longMonthsParse[$].test(m))return $;if(j&&"MMM"===P&&this._shortMonthsParse[$].test(m))return $;if(!j&&this._monthsParse[$].test(m))return $}},Rn.monthsRegex=function Mt(m){return this._monthsParseExact?(S(this,"_monthsRegex")||fc.call(this),m?this._monthsStrictRegex:this._monthsRegex):(S(this,"_monthsRegex")||(this._monthsRegex=zg),this._monthsStrictRegex&&m?this._monthsStrictRegex:this._monthsRegex)},Rn.monthsShortRegex=function hf(m){return this._monthsParseExact?(S(this,"_monthsRegex")||fc.call(this),m?this._monthsShortStrictRegex:this._monthsShortRegex):(S(this,"_monthsShortRegex")||(this._monthsShortRegex=qd),this._monthsShortStrictRegex&&m?this._monthsShortStrictRegex:this._monthsShortRegex)},Rn.week=function tM(m){return wn(m,this._week.dow,this._week.doy).week},Rn.firstDayOfYear=function Kd(){return this._week.doy},Rn.firstDayOfWeek=function hl(){return this._week.dow},Rn.weekdays=function Ma(m,P){return m?f(this._weekdays)?this._weekdays[m.day()]:this._weekdays[this._weekdays.isFormat.test(P)?"format":"standalone"][m.day()]:f(this._weekdays)?this._weekdays:this._weekdays.standalone},Rn.weekdaysMin=function we(m){return m?this._weekdaysMin[m.day()]:this._weekdaysMin},Rn.weekdaysShort=function gs(m){return m?this._weekdaysShort[m.day()]:this._weekdaysShort},Rn.weekdaysParse=function Qe(m,P,j){var $,ne,Le;if(this._weekdaysParseExact)return gf.call(this,m,P,j);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),$=0;$<7;$++){if(ne=L([2e3,1]).day($),j&&!this._fullWeekdaysParse[$]&&(this._fullWeekdaysParse[$]=new RegExp("^"+this.weekdays(ne,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[$]=new RegExp("^"+this.weekdaysShort(ne,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[$]=new RegExp("^"+this.weekdaysMin(ne,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[$]||(Le="^"+this.weekdays(ne,"")+"|^"+this.weekdaysShort(ne,"")+"|^"+this.weekdaysMin(ne,""),this._weekdaysParse[$]=new RegExp(Le.replace(".",""),"i")),j&&"dddd"===P&&this._fullWeekdaysParse[$].test(m))return $;if(j&&"ddd"===P&&this._shortWeekdaysParse[$].test(m))return $;if(j&&"dd"===P&&this._minWeekdaysParse[$].test(m))return $;if(!j&&this._weekdaysParse[$].test(m))return $}},Rn.weekdaysRegex=function Zg(m){return this._weekdaysParseExact?(S(this,"_weekdaysRegex")||lo.call(this),m?this._weekdaysStrictRegex:this._weekdaysRegex):(S(this,"_weekdaysRegex")||(this._weekdaysRegex=Kg),this._weekdaysStrictRegex&&m?this._weekdaysStrictRegex:this._weekdaysRegex)},Rn.weekdaysShortRegex=function Ko(m){return this._weekdaysParseExact?(S(this,"_weekdaysRegex")||lo.call(this),m?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(S(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Xg),this._weekdaysShortStrictRegex&&m?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},Rn.weekdaysMinRegex=function Dr(m){return this._weekdaysParseExact?(S(this,"_weekdaysRegex")||lo.call(this),m?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(S(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Oo),this._weekdaysMinStrictRegex&&m?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},Rn.isPM=function _f(m){return"p"===(m+"").toLowerCase().charAt(0)},Rn.meridiem=function pl(m,P,j){return m>11?j?"pm":"PM":j?"am":"AM"},ka("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(m){var P=m%10;return m+(1===ee(m%100/10)?"th":1===P?"st":2===P?"nd":3===P?"rd":"th")}}),v.lang=J("moment.lang is deprecated. Use moment.locale instead.",ka),v.langData=J("moment.langData is deprecated. Use moment.localeData instead.",_s);var No=Math.abs;function Un(m,P,j,$){var ne=br(P,j);return m._milliseconds+=$*ne._milliseconds,m._days+=$*ne._days,m._months+=$*ne._months,m._bubble()}function yr(m){return m<0?Math.floor(m):Math.ceil(m)}function lu(m){return 4800*m/146097}function ys(m){return 146097*m/4800}function mo(m){return function(){return this.as(m)}}var T_=mo("ms"),Ms=mo("s"),Rf=mo("m"),L_=mo("h"),Nf=mo("d"),Yf=mo("w"),Hf=mo("M"),E_=mo("y");function La(m){return function(){return this.isValid()?this._data[m]:NaN}}var I_=La("milliseconds"),P_=La("seconds"),O_=La("minutes"),Vf=La("hours"),Ea=La("days"),A_=La("months"),F_=La("years");var ws=Math.round,Yo={ss:44,s:45,m:45,h:22,d:26,M:11};function Ve(m,P,j,$,ne){return ne.relativeTime(P||1,!!j,m,$)}var Oc=Math.abs;function Ho(m){return(m>0)-(m<0)||+m}function Hr(){if(!this.isValid())return this.localeData().invalidDate();var $,ne,m=Oc(this._milliseconds)/1e3,P=Oc(this._days),j=Oc(this._months);$=Q(m/60),ne=Q($/60),m%=60,$%=60;var je=Q(j/12),At=j%=12,Ut=P,ki=ne,Br=$,bl=m?m.toFixed(3).replace(/\.?0+$/,""):"",vl=this.asSeconds();if(!vl)return"P0D";var cu=vl<0?"-":"",Ac=Ho(this._months)!==Ho(vl)?"-":"",jf=Ho(this._days)!==Ho(vl)?"-":"",yl=Ho(this._milliseconds)!==Ho(vl)?"-":"";return cu+"P"+(je?Ac+je+"Y":"")+(At?Ac+At+"M":"")+(Ut?jf+Ut+"D":"")+(ki||Br||bl?"T":"")+(ki?yl+ki+"H":"")+(Br?yl+Br+"M":"")+(bl?yl+bl+"S":"")}var tn=Et.prototype;return tn.isValid=function Da(){return this._isValid},tn.abs=function Ff(){var m=this._data;return this._milliseconds=No(this._milliseconds),this._days=No(this._days),this._months=No(this._months),m.milliseconds=No(m.milliseconds),m.seconds=No(m.seconds),m.minutes=No(m.minutes),m.hours=No(m.hours),m.months=No(m.months),m.years=No(m.years),this},tn.add=function k_(m,P){return Un(this,m,P,1)},tn.subtract=function Pc(m,P){return Un(this,m,P,-1)},tn.as=function Tr(m){if(!this.isValid())return NaN;var P,j,$=this._milliseconds;if("month"===(m=fe(m))||"year"===m)return j=this._months+lu(P=this._days+$/864e5),"month"===m?j:j/12;switch(P=this._days+Math.round(ys(this._months)),m){case"week":return P/7+$/6048e5;case"day":return P+$/864e5;case"hour":return 24*P+$/36e5;case"minute":return 1440*P+$/6e4;case"second":return 86400*P+$/1e3;case"millisecond":return Math.floor(864e5*P)+$;default:throw new Error("Unknown unit "+m)}},tn.asMilliseconds=T_,tn.asSeconds=Ms,tn.asMinutes=Rf,tn.asHours=L_,tn.asDays=Nf,tn.asWeeks=Yf,tn.asMonths=Hf,tn.asYears=E_,tn.valueOf=function D_(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*ee(this._months/12):NaN},tn._bubble=function S_(){var ne,Le,je,At,Ut,m=this._milliseconds,P=this._days,j=this._months,$=this._data;return m>=0&&P>=0&&j>=0||m<=0&&P<=0&&j<=0||(m+=864e5*yr(ys(j)+P),P=0,j=0),$.milliseconds=m%1e3,ne=Q(m/1e3),$.seconds=ne%60,Le=Q(ne/60),$.minutes=Le%60,je=Q(Le/60),$.hours=je%24,P+=Q(je/24),j+=Ut=Q(lu(P)),P-=yr(ys(Ut)),At=Q(j/12),j%=12,$.days=P,$.months=j,$.years=At,this},tn.clone=function Tt(){return br(this)},tn.get=function Bf(m){return m=fe(m),this.isValid()?this[m+"s"]():NaN},tn.milliseconds=I_,tn.seconds=P_,tn.minutes=O_,tn.hours=Vf,tn.days=Ea,tn.weeks=function R_(){return Q(this.days()/7)},tn.months=A_,tn.years=F_,tn.humanize=function tr(m){if(!this.isValid())return this.localeData().invalidDate();var P=this.localeData(),j=function dn(m,P,j){var $=br(m).abs(),ne=ws($.as("s")),Le=ws($.as("m")),je=ws($.as("h")),At=ws($.as("d")),Ut=ws($.as("M")),ki=ws($.as("y")),Br=ne<=Yo.ss&&["s",ne]||ne0,Br[4]=j,Ve.apply(null,Br)}(this,!m,P);return m&&(j=P.pastFuture(+this,j)),P.postformat(j)},tn.toISOString=Hr,tn.toString=Hr,tn.toJSON=Hr,tn.locale=iu,tn.localeData=h_,tn.toIsoString=J("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Hr),tn.lang=u_,it("X",0,0,"unix"),it("x",0,0,"valueOf"),gt("x",_a),gt("X",/[+-]?\d+(\.\d{1,3})?/),Tn("X",function(m,P,j){j._d=new Date(1e3*parseFloat(m,10))}),Tn("x",function(m,P,j){j._d=new Date(ee(m))}),v.version="2.22.2",function u(m){O=m}(zt),v.fn=Je,v.min=function uo(){return Xn("isBefore",[].slice.call(arguments,0))},v.max=function Bs(){return Xn("isAfter",[].slice.call(arguments,0))},v.now=function(){return Date.now?Date.now():+new Date},v.utc=L,v.unix=function M_(m){return zt(1e3*m)},v.months=function Af(m,P){return Of(m,P,"months")},v.isDate=x,v.locale=ka,v.invalid=re,v.duration=br,v.isMoment=q,v.weekdays=function au(m,P,j){return Ic(m,P,j,"weekdays")},v.parseZone=function w_(){return zt.apply(null,arguments).parseZone()},v.localeData=_s,v.isDuration=js,v.monthsShort=function C_(m,P){return Of(m,P,"monthsShort")},v.weekdaysMin=function Ro(m,P,j){return Ic(m,P,j,"weekdaysMin")},v.defineLocale=vc,v.updateLocale=function Jg(m,P){if(null!=P){var j,$,ne=Xd;null!=($=ml(m))&&(ne=$._config),(j=new st(P=tt(ne,P))).parentLocale=hi[m],hi[m]=j,ka(m)}else null!=hi[m]&&(null!=hi[m].parentLocale?hi[m]=hi[m].parentLocale:null!=hi[m]&&delete hi[m]);return hi[m]},v.locales=function co(){return at(hi)},v.weekdaysShort=function x_(m,P,j){return Ic(m,P,j,"weekdaysShort")},v.normalizeUnits=fe,v.relativeTimeRounding=function Pe(m){return void 0===m?ws:"function"==typeof m&&(ws=m,!0)},v.relativeTimeThreshold=function Oe(m,P){return void 0!==Yo[m]&&(void 0===P?Yo[m]:(Yo[m]=P,"s"===m&&(Yo.ss=P-1),!0))},v.calendarFormat=function fo(m,P){var j=m.diff(P,"days",!0);return j<-6?"sameElse":j<-1?"lastWeek":j<0?"lastDay":j<1?"sameDay":j<2?"nextDay":j<7?"nextWeek":"sameElse"},v.prototype=Je,v.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:"YYYY-[W]WW",MONTH:"YYYY-MM"},v}()},6700:(de,ge,N)=>{var O={"./af":7088,"./af.js":7088,"./ar":7038,"./ar-dz":2502,"./ar-dz.js":2502,"./ar-kw":128,"./ar-kw.js":128,"./ar-ly":4519,"./ar-ly.js":4519,"./ar-ma":5443,"./ar-ma.js":5443,"./ar-sa":7642,"./ar-sa.js":7642,"./ar-tn":8592,"./ar-tn.js":8592,"./ar.js":7038,"./az":1213,"./az.js":1213,"./be":9191,"./be.js":9191,"./bg":322,"./bg.js":322,"./bm":8042,"./bm.js":8042,"./bn":9620,"./bn.js":9620,"./bo":9645,"./bo.js":9645,"./br":5020,"./br.js":5020,"./bs":4792,"./bs.js":4792,"./ca":7980,"./ca.js":7980,"./cs":7322,"./cs.js":7322,"./cv":365,"./cv.js":365,"./cy":2092,"./cy.js":2092,"./da":7387,"./da.js":7387,"./de":4307,"./de-at":9459,"./de-at.js":9459,"./de-ch":3694,"./de-ch.js":3694,"./de.js":4307,"./dv":9659,"./dv.js":9659,"./el":3460,"./el.js":3460,"./en-au":4369,"./en-au.js":4369,"./en-ca":530,"./en-ca.js":530,"./en-gb":9998,"./en-gb.js":9998,"./en-ie":3391,"./en-ie.js":3391,"./en-il":5414,"./en-il.js":5414,"./en-nz":1248,"./en-nz.js":1248,"./eo":4530,"./eo.js":4530,"./es":6866,"./es-do":8944,"./es-do.js":8944,"./es-us":3609,"./es-us.js":3609,"./es.js":6866,"./et":6725,"./et.js":6725,"./eu":7931,"./eu.js":7931,"./fa":6417,"./fa.js":6417,"./fi":944,"./fi.js":944,"./fo":5867,"./fo.js":5867,"./fr":1636,"./fr-ca":6848,"./fr-ca.js":6848,"./fr-ch":7773,"./fr-ch.js":7773,"./fr.js":1636,"./fy":4940,"./fy.js":4940,"./gd":6924,"./gd.js":6924,"./gl":6398,"./gl.js":6398,"./gom-latn":2545,"./gom-latn.js":2545,"./gu":2641,"./gu.js":2641,"./he":7536,"./he.js":7536,"./hi":6335,"./hi.js":6335,"./hr":7458,"./hr.js":7458,"./hu":6540,"./hu.js":6540,"./hy-am":5283,"./hy-am.js":5283,"./id":8780,"./id.js":8780,"./is":4205,"./is.js":4205,"./it":4211,"./it.js":4211,"./ja":1003,"./ja.js":1003,"./jv":420,"./jv.js":420,"./ka":851,"./ka.js":851,"./kk":6074,"./kk.js":6074,"./km":3343,"./km.js":3343,"./kn":4799,"./kn.js":4799,"./ko":3549,"./ko.js":3549,"./ky":3125,"./ky.js":3125,"./lb":9586,"./lb.js":9586,"./lo":2349,"./lo.js":2349,"./lt":2400,"./lt.js":2400,"./lv":9991,"./lv.js":9991,"./me":8477,"./me.js":8477,"./mi":5118,"./mi.js":5118,"./mk":5943,"./mk.js":5943,"./ml":3849,"./ml.js":3849,"./mn":1977,"./mn.js":1977,"./mr":6184,"./mr.js":6184,"./ms":485,"./ms-my":4524,"./ms-my.js":4524,"./ms.js":485,"./mt":6681,"./mt.js":6681,"./my":2024,"./my.js":2024,"./nb":2688,"./nb.js":2688,"./ne":8914,"./ne.js":8914,"./nl":1758,"./nl-be":2272,"./nl-be.js":2272,"./nl.js":1758,"./nn":1510,"./nn.js":1510,"./pa-in":7944,"./pa-in.js":7944,"./pl":1605,"./pl.js":1605,"./pt":4225,"./pt-br":3840,"./pt-br.js":3840,"./pt.js":4225,"./ro":5128,"./ro.js":5128,"./ru":5127,"./ru.js":5127,"./sd":2525,"./sd.js":2525,"./se":9893,"./se.js":9893,"./si":3123,"./si.js":3123,"./sk":9635,"./sk.js":9635,"./sl":8106,"./sl.js":8106,"./sq":8799,"./sq.js":8799,"./sr":7949,"./sr-cyrl":2872,"./sr-cyrl.js":2872,"./sr.js":7949,"./ss":6167,"./ss.js":6167,"./sv":9713,"./sv.js":9713,"./sw":1982,"./sw.js":1982,"./ta":2732,"./ta.js":2732,"./te":3636,"./te.js":3636,"./tet":2115,"./tet.js":2115,"./tg":9801,"./tg.js":9801,"./th":2868,"./th.js":2868,"./tl-ph":2360,"./tl-ph.js":2360,"./tlh":6645,"./tlh.js":6645,"./tr":8374,"./tr.js":8374,"./tzl":256,"./tzl.js":256,"./tzm":1595,"./tzm-latn":1631,"./tzm-latn.js":1631,"./tzm.js":1595,"./ug-cn":6050,"./ug-cn.js":6050,"./uk":5610,"./uk.js":5610,"./ur":6077,"./ur.js":6077,"./uz":2862,"./uz-latn":2207,"./uz-latn.js":2207,"./uz.js":2862,"./vi":8093,"./vi.js":8093,"./x-pseudo":5590,"./x-pseudo.js":5590,"./yo":9058,"./yo.js":9058,"./zh-cn":7908,"./zh-cn.js":7908,"./zh-hk":8867,"./zh-hk.js":8867,"./zh-tw":3291,"./zh-tw.js":3291};function v(f){var h=u(f);return N(h)}function u(f){if(!N.o(O,f)){var h=new Error("Cannot find module '"+f+"'");throw h.code="MODULE_NOT_FOUND",h}return O[f]}v.keys=function(){return Object.keys(O)},v.resolve=u,de.exports=v,v.id=6700},6297:(de,ge,N)=>{var O={"./de.json":[3634,634],"./de_base.json":[3431,431],"./en.json":[502,502],"./es.json":[4268,268],"./es_base.json":[3974,974],"./pt.json":[5733,733],"./pt_base.json":[7048,48]};function v(u){if(!N.o(O,u))return Promise.resolve().then(()=>{var M=new Error("Cannot find module '"+u+"'");throw M.code="MODULE_NOT_FOUND",M});var f=O[u],h=f[0];return N.e(f[1]).then(()=>N.t(h,19))}v.keys=()=>Object.keys(O),v.id=6297,de.exports=v}},de=>{de(de.s=4752)}]); \ No newline at end of file diff --git a/static/skywire-manager-src/dist/polyfills.951b12835e27c1a3.js b/static/skywire-manager-src/dist/polyfills.951b12835e27c1a3.js new file mode 100644 index 0000000000..437a22851c --- /dev/null +++ b/static/skywire-manager-src/dist/polyfills.951b12835e27c1a3.js @@ -0,0 +1 @@ +(self.webpackChunkskywire_manager=self.webpackChunkskywire_manager||[]).push([[429],{7435:(s,E,t)=>{"use strict";t(7795),t(8583)},8583:()=>{"use strict";!function(n){const i=n.performance;function v(at){i&&i.mark&&i.mark(at)}function l(at,F){i&&i.measure&&i.measure(at,F)}v("Zone");const y=n.__Zone_symbol_prefix||"__zone_symbol__";function x(at){return y+at}const G=!0===n[x("forceDuplicateZoneCheck")];if(n.Zone){if(G||"function"!=typeof n.Zone.__symbol__)throw new Error("Zone already loaded.");return n.Zone}let L=(()=>{class at{static assertZonePatched(){if(n.Promise!==Ht.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let e=at.current;for(;e.parent;)e=e.parent;return e}static get current(){return Tt.zone}static get currentTask(){return Lt}static __load_patch(e,f,K=!1){if(Ht.hasOwnProperty(e)){if(!K&&G)throw Error("Already loaded patch: "+e)}else if(!n["__Zone_disable_"+e]){const q="Zone:"+e;v(q),Ht[e]=f(n,at,Rt),l(q,q)}}get parent(){return this._parent}get name(){return this._name}constructor(e,f){this._parent=e,this._name=f?f.name||"unnamed":"",this._properties=f&&f.properties||{},this._zoneDelegate=new $(this,this._parent&&this._parent._zoneDelegate,f)}get(e){const f=this.getZoneWith(e);if(f)return f._properties[e]}getZoneWith(e){let f=this;for(;f;){if(f._properties.hasOwnProperty(e))return f;f=f._parent}return null}fork(e){if(!e)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,e)}wrap(e,f){if("function"!=typeof e)throw new Error("Expecting function got: "+e);const K=this._zoneDelegate.intercept(this,e,f),q=this;return function(){return q.runGuarded(K,this,arguments,f)}}run(e,f,K,q){Tt={parent:Tt,zone:this};try{return this._zoneDelegate.invoke(this,e,f,K,q)}finally{Tt=Tt.parent}}runGuarded(e,f=null,K,q){Tt={parent:Tt,zone:this};try{try{return this._zoneDelegate.invoke(this,e,f,K,q)}catch(St){if(this._zoneDelegate.handleError(this,St))throw St}}finally{Tt=Tt.parent}}runTask(e,f,K){if(e.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(e.zone||bt).name+"; Execution: "+this.name+")");if(e.state===ft&&(e.type===Dt||e.type===_))return;const q=e.state!=H;q&&e._transitionTo(H,ct),e.runCount++;const St=Lt;Lt=e,Tt={parent:Tt,zone:this};try{e.type==_&&e.data&&!e.data.isPeriodic&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,e,f,K)}catch(P){if(this._zoneDelegate.handleError(this,P))throw P}}finally{e.state!==ft&&e.state!==N&&(e.type==Dt||e.data&&e.data.isPeriodic?q&&e._transitionTo(ct,H):(e.runCount=0,this._updateTaskCount(e,-1),q&&e._transitionTo(ft,H,ft))),Tt=Tt.parent,Lt=St}}scheduleTask(e){if(e.zone&&e.zone!==this){let K=this;for(;K;){if(K===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);K=K.parent}}e._transitionTo(kt,ft);const f=[];e._zoneDelegates=f,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(K){throw e._transitionTo(N,kt,ft),this._zoneDelegate.handleError(this,K),K}return e._zoneDelegates===f&&this._updateTaskCount(e,1),e.state==kt&&e._transitionTo(ct,kt),e}scheduleMicroTask(e,f,K,q){return this.scheduleTask(new V(st,e,f,K,q,void 0))}scheduleMacroTask(e,f,K,q,St){return this.scheduleTask(new V(_,e,f,K,q,St))}scheduleEventTask(e,f,K,q,St){return this.scheduleTask(new V(Dt,e,f,K,q,St))}cancelTask(e){if(e.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(e.zone||bt).name+"; Execution: "+this.name+")");if(e.state===ct||e.state===H){e._transitionTo(ht,ct,H);try{this._zoneDelegate.cancelTask(this,e)}catch(f){throw e._transitionTo(N,ht),this._zoneDelegate.handleError(this,f),f}return this._updateTaskCount(e,-1),e._transitionTo(ft,ht),e.runCount=0,e}}_updateTaskCount(e,f){const K=e._zoneDelegates;-1==f&&(e._zoneDelegates=null);for(let q=0;qat.hasTask(e,f),onScheduleTask:(at,F,e,f)=>at.scheduleTask(e,f),onInvokeTask:(at,F,e,f,K,q)=>at.invokeTask(e,f,K,q),onCancelTask:(at,F,e,f)=>at.cancelTask(e,f)};class ${constructor(F,e,f){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=F,this._parentDelegate=e,this._forkZS=f&&(f&&f.onFork?f:e._forkZS),this._forkDlgt=f&&(f.onFork?e:e._forkDlgt),this._forkCurrZone=f&&(f.onFork?this.zone:e._forkCurrZone),this._interceptZS=f&&(f.onIntercept?f:e._interceptZS),this._interceptDlgt=f&&(f.onIntercept?e:e._interceptDlgt),this._interceptCurrZone=f&&(f.onIntercept?this.zone:e._interceptCurrZone),this._invokeZS=f&&(f.onInvoke?f:e._invokeZS),this._invokeDlgt=f&&(f.onInvoke?e:e._invokeDlgt),this._invokeCurrZone=f&&(f.onInvoke?this.zone:e._invokeCurrZone),this._handleErrorZS=f&&(f.onHandleError?f:e._handleErrorZS),this._handleErrorDlgt=f&&(f.onHandleError?e:e._handleErrorDlgt),this._handleErrorCurrZone=f&&(f.onHandleError?this.zone:e._handleErrorCurrZone),this._scheduleTaskZS=f&&(f.onScheduleTask?f:e._scheduleTaskZS),this._scheduleTaskDlgt=f&&(f.onScheduleTask?e:e._scheduleTaskDlgt),this._scheduleTaskCurrZone=f&&(f.onScheduleTask?this.zone:e._scheduleTaskCurrZone),this._invokeTaskZS=f&&(f.onInvokeTask?f:e._invokeTaskZS),this._invokeTaskDlgt=f&&(f.onInvokeTask?e:e._invokeTaskDlgt),this._invokeTaskCurrZone=f&&(f.onInvokeTask?this.zone:e._invokeTaskCurrZone),this._cancelTaskZS=f&&(f.onCancelTask?f:e._cancelTaskZS),this._cancelTaskDlgt=f&&(f.onCancelTask?e:e._cancelTaskDlgt),this._cancelTaskCurrZone=f&&(f.onCancelTask?this.zone:e._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const K=f&&f.onHasTask;(K||e&&e._hasTaskZS)&&(this._hasTaskZS=K?f:X,this._hasTaskDlgt=e,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=F,f.onScheduleTask||(this._scheduleTaskZS=X,this._scheduleTaskDlgt=e,this._scheduleTaskCurrZone=this.zone),f.onInvokeTask||(this._invokeTaskZS=X,this._invokeTaskDlgt=e,this._invokeTaskCurrZone=this.zone),f.onCancelTask||(this._cancelTaskZS=X,this._cancelTaskDlgt=e,this._cancelTaskCurrZone=this.zone))}fork(F,e){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,F,e):new L(F,e)}intercept(F,e,f){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,F,e,f):e}invoke(F,e,f,K,q){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,F,e,f,K,q):e.apply(f,K)}handleError(F,e){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,F,e)}scheduleTask(F,e){let f=e;if(this._scheduleTaskZS)this._hasTaskZS&&f._zoneDelegates.push(this._hasTaskDlgtOwner),f=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,F,e),f||(f=e);else if(e.scheduleFn)e.scheduleFn(e);else{if(e.type!=st)throw new Error("Task is missing scheduleFn.");Q(e)}return f}invokeTask(F,e,f,K){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,F,e,f,K):e.callback.apply(f,K)}cancelTask(F,e){let f;if(this._cancelTaskZS)f=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,F,e);else{if(!e.cancelFn)throw Error("Task is not cancelable");f=e.cancelFn(e)}return f}hasTask(F,e){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,F,e)}catch(f){this.handleError(F,f)}}_updateTaskCount(F,e){const f=this._taskCounts,K=f[F],q=f[F]=K+e;if(q<0)throw new Error("More tasks executed then were scheduled.");0!=K&&0!=q||this.hasTask(this.zone,{microTask:f.microTask>0,macroTask:f.macroTask>0,eventTask:f.eventTask>0,change:F})}}class V{constructor(F,e,f,K,q,St){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=F,this.source=e,this.data=K,this.scheduleFn=q,this.cancelFn=St,!f)throw new Error("callback is not defined");this.callback=f;const P=this;this.invoke=F===Dt&&K&&K.useG?V.invokeTask:function(){return V.invokeTask.call(n,P,this,arguments)}}static invokeTask(F,e,f){F||(F=this),Ct++;try{return F.runCount++,F.zone.runTask(F,e,f)}finally{1==Ct&&A(),Ct--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(ft,kt)}_transitionTo(F,e,f){if(this._state!==e&&this._state!==f)throw new Error(`${this.type} '${this.source}': can not transition to '${F}', expecting state '${e}'${f?" or '"+f+"'":""}, was '${this._state}'.`);this._state=F,F==ft&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const it=x("setTimeout"),rt=x("Promise"),ot=x("then");let Mt,yt=[],ut=!1;function Ot(at){if(Mt||n[rt]&&(Mt=n[rt].resolve(0)),Mt){let F=Mt[ot];F||(F=Mt.then),F.call(Mt,at)}else n[it](at,0)}function Q(at){0===Ct&&0===yt.length&&Ot(A),at&&yt.push(at)}function A(){if(!ut){for(ut=!0;yt.length;){const at=yt;yt=[];for(let F=0;FTt,onUnhandledError:mt,microtaskDrainDone:mt,scheduleMicroTask:Q,showUncaughtError:()=>!L[x("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:mt,patchMethod:()=>mt,bindArguments:()=>[],patchThen:()=>mt,patchMacroTask:()=>mt,patchEventPrototype:()=>mt,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>mt,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>mt,wrapWithCurrentZone:()=>mt,filterProperties:()=>[],attachOriginToPatched:()=>mt,_redefineProperty:()=>mt,patchCallbacks:()=>mt,nativeScheduleMicroTask:Ot};let Tt={parent:null,zone:new L(null,null)},Lt=null,Ct=0;function mt(){}l("Zone","Zone"),n.Zone=L}(typeof window<"u"&&window||typeof self<"u"&&self||global);const s=Object.getOwnPropertyDescriptor,E=Object.defineProperty,t=Object.getPrototypeOf,r=Object.create,o=Array.prototype.slice,c="addEventListener",u="removeEventListener",a=Zone.__symbol__(c),d=Zone.__symbol__(u),g="true",p="false",T=Zone.__symbol__("");function m(n,i){return Zone.current.wrap(n,i)}function C(n,i,v,l,y){return Zone.current.scheduleMacroTask(n,i,v,l,y)}const O=Zone.__symbol__,b=typeof window<"u",z=b?window:void 0,k=b&&z||"object"==typeof self&&self||global,D="removeAttribute";function j(n,i){for(let v=n.length-1;v>=0;v--)"function"==typeof n[v]&&(n[v]=m(n[v],i+"_"+v));return n}function Z(n){return!n||!1!==n.writable&&!("function"==typeof n.get&&typeof n.set>"u")}const M=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,I=!("nw"in k)&&typeof k.process<"u"&&"[object process]"==={}.toString.call(k.process),B=!I&&!M&&!(!b||!z.HTMLElement),J=typeof k.process<"u"&&"[object process]"==={}.toString.call(k.process)&&!M&&!(!b||!z.HTMLElement),gt={},wt=function(n){if(!(n=n||k.event))return;let i=gt[n.type];i||(i=gt[n.type]=O("ON_PROPERTY"+n.type));const v=this||n.target||k,l=v[i];let y;return B&&v===z&&"error"===n.type?(y=l&&l.call(this,n.message,n.filename,n.lineno,n.colno,n.error),!0===y&&n.preventDefault()):(y=l&&l.apply(this,arguments),null!=y&&!y&&n.preventDefault()),y};function It(n,i,v){let l=s(n,i);if(!l&&v&&s(v,i)&&(l={enumerable:!0,configurable:!0}),!l||!l.configurable)return;const y=O("on"+i+"patched");if(n.hasOwnProperty(y)&&n[y])return;delete l.writable,delete l.value;const x=l.get,G=l.set,L=i.slice(2);let X=gt[L];X||(X=gt[L]=O("ON_PROPERTY"+L)),l.set=function($){let V=this;!V&&n===k&&(V=k),V&&("function"==typeof V[X]&&V.removeEventListener(L,wt),G&&G.call(V,null),V[X]=$,"function"==typeof $&&V.addEventListener(L,wt,!1))},l.get=function(){let $=this;if(!$&&n===k&&($=k),!$)return null;const V=$[X];if(V)return V;if(x){let it=x.call(this);if(it)return l.set.call(this,it),"function"==typeof $[D]&&$.removeAttribute(i),it}return null},E(n,i,l),n[y]=!0}function Nt(n,i,v){if(i)for(let l=0;lfunction(G,L){const X=v(G,L);return X.cbIdx>=0&&"function"==typeof L[X.cbIdx]?C(X.name,L[X.cbIdx],X,y):x.apply(G,L)})}function dt(n,i){n[O("OriginalDelegate")]=i}let Et=!1,jt=!1;function le(){if(Et)return jt;Et=!0;try{const n=z.navigator.userAgent;(-1!==n.indexOf("MSIE ")||-1!==n.indexOf("Trident/")||-1!==n.indexOf("Edge/"))&&(jt=!0)}catch{}return jt}Zone.__load_patch("ZoneAwarePromise",(n,i,v)=>{const l=Object.getOwnPropertyDescriptor,y=Object.defineProperty,G=v.symbol,L=[],X=!0===n[G("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],$=G("Promise"),V=G("then"),it="__creationTrace__";v.onUnhandledError=P=>{if(v.showUncaughtError()){const R=P&&P.rejection;R?console.error("Unhandled Promise rejection:",R instanceof Error?R.message:R,"; Zone:",P.zone.name,"; Task:",P.task&&P.task.source,"; Value:",R,R instanceof Error?R.stack:void 0):console.error(P)}},v.microtaskDrainDone=()=>{for(;L.length;){const P=L.shift();try{P.zone.runGuarded(()=>{throw P.throwOriginal?P.rejection:P})}catch(R){ot(R)}}};const rt=G("unhandledPromiseRejectionHandler");function ot(P){v.onUnhandledError(P);try{const R=i[rt];"function"==typeof R&&R.call(this,P)}catch{}}function yt(P){return P&&P.then}function ut(P){return P}function Mt(P){return e.reject(P)}const Ot=G("state"),Q=G("value"),A=G("finally"),bt=G("parentPromiseValue"),ft=G("parentPromiseState"),kt="Promise.then",ct=null,H=!0,ht=!1,N=0;function st(P,R){return h=>{try{Rt(P,R,h)}catch(S){Rt(P,!1,S)}}}const _=function(){let P=!1;return function(h){return function(){P||(P=!0,h.apply(null,arguments))}}},Dt="Promise resolved with itself",Ht=G("currentTaskTrace");function Rt(P,R,h){const S=_();if(P===h)throw new TypeError(Dt);if(P[Ot]===ct){let W=null;try{("object"==typeof h||"function"==typeof h)&&(W=h&&h.then)}catch(Y){return S(()=>{Rt(P,!1,Y)})(),P}if(R!==ht&&h instanceof e&&h.hasOwnProperty(Ot)&&h.hasOwnProperty(Q)&&h[Ot]!==ct)Lt(h),Rt(P,h[Ot],h[Q]);else if(R!==ht&&"function"==typeof W)try{W.call(h,S(st(P,R)),S(st(P,!1)))}catch(Y){S(()=>{Rt(P,!1,Y)})()}else{P[Ot]=R;const Y=P[Q];if(P[Q]=h,P[A]===A&&R===H&&(P[Ot]=P[ft],P[Q]=P[bt]),R===ht&&h instanceof Error){const U=i.currentTask&&i.currentTask.data&&i.currentTask.data[it];U&&y(h,Ht,{configurable:!0,enumerable:!1,writable:!0,value:U})}for(let U=0;U{try{const tt=P[Q],et=!!h&&A===h[A];et&&(h[bt]=tt,h[ft]=Y);const nt=R.run(U,void 0,et&&U!==Mt&&U!==ut?[]:[tt]);Rt(h,!0,nt)}catch(tt){Rt(h,!1,tt)}},h)}const at=function(){},F=n.AggregateError;class e{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(R){return Rt(new this(null),H,R)}static reject(R){return Rt(new this(null),ht,R)}static any(R){if(!R||"function"!=typeof R[Symbol.iterator])return Promise.reject(new F([],"All promises were rejected"));const h=[];let S=0;try{for(let U of R)S++,h.push(e.resolve(U))}catch{return Promise.reject(new F([],"All promises were rejected"))}if(0===S)return Promise.reject(new F([],"All promises were rejected"));let W=!1;const Y=[];return new e((U,tt)=>{for(let et=0;et{W||(W=!0,U(nt))},nt=>{Y.push(nt),S--,0===S&&(W=!0,tt(new F(Y,"All promises were rejected")))})})}static race(R){let h,S,W=new this((tt,et)=>{h=tt,S=et});function Y(tt){h(tt)}function U(tt){S(tt)}for(let tt of R)yt(tt)||(tt=this.resolve(tt)),tt.then(Y,U);return W}static all(R){return e.allWithCallback(R)}static allSettled(R){return(this&&this.prototype instanceof e?this:e).allWithCallback(R,{thenCallback:S=>({status:"fulfilled",value:S}),errorCallback:S=>({status:"rejected",reason:S})})}static allWithCallback(R,h){let S,W,Y=new this((nt,vt)=>{S=nt,W=vt}),U=2,tt=0;const et=[];for(let nt of R){yt(nt)||(nt=this.resolve(nt));const vt=tt;try{nt.then(pt=>{et[vt]=h?h.thenCallback(pt):pt,U--,0===U&&S(et)},pt=>{h?(et[vt]=h.errorCallback(pt),U--,0===U&&S(et)):W(pt)})}catch(pt){W(pt)}U++,tt++}return U-=2,0===U&&S(et),Y}constructor(R){const h=this;if(!(h instanceof e))throw new Error("Must be an instanceof Promise.");h[Ot]=ct,h[Q]=[];try{const S=_();R&&R(S(st(h,H)),S(st(h,ht)))}catch(S){Rt(h,!1,S)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return e}then(R,h){let S=this.constructor?.[Symbol.species];(!S||"function"!=typeof S)&&(S=this.constructor||e);const W=new S(at),Y=i.current;return this[Ot]==ct?this[Q].push(Y,W,R,h):Ct(this,Y,W,R,h),W}catch(R){return this.then(null,R)}finally(R){let h=this.constructor?.[Symbol.species];(!h||"function"!=typeof h)&&(h=e);const S=new h(at);S[A]=A;const W=i.current;return this[Ot]==ct?this[Q].push(W,S,R,R):Ct(this,W,S,R,R),S}}e.resolve=e.resolve,e.reject=e.reject,e.race=e.race,e.all=e.all;const f=n[$]=n.Promise;n.Promise=e;const K=G("thenPatched");function q(P){const R=P.prototype,h=l(R,"then");if(h&&(!1===h.writable||!h.configurable))return;const S=R.then;R[V]=S,P.prototype.then=function(W,Y){return new e((tt,et)=>{S.call(this,tt,et)}).then(W,Y)},P[K]=!0}return v.patchThen=q,f&&(q(f),lt(n,"fetch",P=>function St(P){return function(R,h){let S=P.apply(R,h);if(S instanceof e)return S;let W=S.constructor;return W[K]||q(W),S}}(P))),Promise[i.__symbol__("uncaughtPromiseErrors")]=L,e}),Zone.__load_patch("toString",n=>{const i=Function.prototype.toString,v=O("OriginalDelegate"),l=O("Promise"),y=O("Error"),x=function(){if("function"==typeof this){const $=this[v];if($)return"function"==typeof $?i.call($):Object.prototype.toString.call($);if(this===Promise){const V=n[l];if(V)return i.call(V)}if(this===Error){const V=n[y];if(V)return i.call(V)}}return i.call(this)};x[v]=i,Function.prototype.toString=x;const G=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":G.call(this)}});let Ut=!1;if(typeof window<"u")try{const n=Object.defineProperty({},"passive",{get:function(){Ut=!0}});window.addEventListener("test",n,n),window.removeEventListener("test",n,n)}catch{Ut=!1}const de={useG:!0},Zt={},qt={},te=new RegExp("^"+T+"(\\w+)(true|false)$"),ee=O("propagationStopped");function ne(n,i){const v=(i?i(n):n)+p,l=(i?i(n):n)+g,y=T+v,x=T+l;Zt[n]={},Zt[n][p]=y,Zt[n][g]=x}function he(n,i,v,l){const y=l&&l.add||c,x=l&&l.rm||u,G=l&&l.listeners||"eventListeners",L=l&&l.rmAll||"removeAllListeners",X=O(y),$="."+y+":",V="prependListener",it="."+V+":",rt=function(Q,A,bt){if(Q.isRemoved)return;const ft=Q.callback;let kt;"object"==typeof ft&&ft.handleEvent&&(Q.callback=H=>ft.handleEvent(H),Q.originalDelegate=ft);try{Q.invoke(Q,A,[bt])}catch(H){kt=H}const ct=Q.options;return ct&&"object"==typeof ct&&ct.once&&A[x].call(A,bt.type,Q.originalDelegate?Q.originalDelegate:Q.callback,ct),kt};function ot(Q,A,bt){if(!(A=A||n.event))return;const ft=Q||A.target||n,kt=ft[Zt[A.type][bt?g:p]];if(kt){const ct=[];if(1===kt.length){const H=rt(kt[0],ft,A);H&&ct.push(H)}else{const H=kt.slice();for(let ht=0;ht{throw ht})}}}const yt=function(Q){return ot(this,Q,!1)},ut=function(Q){return ot(this,Q,!0)};function Mt(Q,A){if(!Q)return!1;let bt=!0;A&&void 0!==A.useG&&(bt=A.useG);const ft=A&&A.vh;let kt=!0;A&&void 0!==A.chkDup&&(kt=A.chkDup);let ct=!1;A&&void 0!==A.rt&&(ct=A.rt);let H=Q;for(;H&&!H.hasOwnProperty(y);)H=t(H);if(!H&&Q[y]&&(H=Q),!H||H[X])return!1;const ht=A&&A.eventNameToString,N={},st=H[X]=H[y],_=H[O(x)]=H[x],Dt=H[O(G)]=H[G],Ht=H[O(L)]=H[L];let Rt;A&&A.prepend&&(Rt=H[O(A.prepend)]=H[A.prepend]);const e=bt?function(h){if(!N.isExisting)return st.call(N.target,N.eventName,N.capture?ut:yt,N.options)}:function(h){return st.call(N.target,N.eventName,h.invoke,N.options)},f=bt?function(h){if(!h.isRemoved){const S=Zt[h.eventName];let W;S&&(W=S[h.capture?g:p]);const Y=W&&h.target[W];if(Y)for(let U=0;Ufunction(y,x){y[ee]=!0,l&&l.apply(y,x)})}function pe(n,i,v,l,y){const x=Zone.__symbol__(l);if(i[x])return;const G=i[x]=i[l];i[l]=function(L,X,$){return X&&X.prototype&&y.forEach(function(V){const it=`${v}.${l}::`+V,rt=X.prototype;try{if(rt.hasOwnProperty(V)){const ot=n.ObjectGetOwnPropertyDescriptor(rt,V);ot&&ot.value?(ot.value=n.wrapWithCurrentZone(ot.value,it),n._redefineProperty(X.prototype,V,ot)):rt[V]&&(rt[V]=n.wrapWithCurrentZone(rt[V],it))}else rt[V]&&(rt[V]=n.wrapWithCurrentZone(rt[V],it))}catch{}}),G.call(i,L,X,$)},n.attachOriginToPatched(i[l],G)}function oe(n,i,v){if(!v||0===v.length)return i;const l=v.filter(x=>x.target===n);if(!l||0===l.length)return i;const y=l[0].ignoreProperties;return i.filter(x=>-1===y.indexOf(x))}function se(n,i,v,l){n&&Nt(n,oe(n,i,v),l)}function Yt(n){return Object.getOwnPropertyNames(n).filter(i=>i.startsWith("on")&&i.length>2).map(i=>i.substring(2))}Zone.__load_patch("util",(n,i,v)=>{const l=Yt(n);v.patchOnProperties=Nt,v.patchMethod=lt,v.bindArguments=j,v.patchMacroTask=Pt;const y=i.__symbol__("BLACK_LISTED_EVENTS"),x=i.__symbol__("UNPATCHED_EVENTS");n[x]&&(n[y]=n[x]),n[y]&&(i[y]=i[x]=n[y]),v.patchEventPrototype=ve,v.patchEventTarget=he,v.isIEOrEdge=le,v.ObjectDefineProperty=E,v.ObjectGetOwnPropertyDescriptor=s,v.ObjectCreate=r,v.ArraySlice=o,v.patchClass=At,v.wrapWithCurrentZone=m,v.filterProperties=oe,v.attachOriginToPatched=dt,v._redefineProperty=Object.defineProperty,v.patchCallbacks=pe,v.getGlobalObjects=()=>({globalSources:qt,zoneSymbolEventNames:Zt,eventNames:l,isBrowser:B,isMix:J,isNode:I,TRUE_STR:g,FALSE_STR:p,ZONE_SYMBOL_PREFIX:T,ADD_EVENT_LISTENER_STR:c,REMOVE_EVENT_LISTENER_STR:u})});const Xt=O("zoneTask");function Wt(n,i,v,l){let y=null,x=null;v+=l;const G={};function L($){const V=$.data;return V.args[0]=function(){return $.invoke.apply(this,arguments)},V.handleId=y.apply(n,V.args),$}function X($){return x.call(n,$.data.handleId)}y=lt(n,i+=l,$=>function(V,it){if("function"==typeof it[0]){const rt={isPeriodic:"Interval"===l,delay:"Timeout"===l||"Interval"===l?it[1]||0:void 0,args:it},ot=it[0];it[0]=function(){try{return ot.apply(this,arguments)}finally{rt.isPeriodic||("number"==typeof rt.handleId?delete G[rt.handleId]:rt.handleId&&(rt.handleId[Xt]=null))}};const yt=C(i,it[0],rt,L,X);if(!yt)return yt;const ut=yt.data.handleId;return"number"==typeof ut?G[ut]=yt:ut&&(ut[Xt]=yt),ut&&ut.ref&&ut.unref&&"function"==typeof ut.ref&&"function"==typeof ut.unref&&(yt.ref=ut.ref.bind(ut),yt.unref=ut.unref.bind(ut)),"number"==typeof ut||ut?ut:yt}return $.apply(n,it)}),x=lt(n,v,$=>function(V,it){const rt=it[0];let ot;"number"==typeof rt?ot=G[rt]:(ot=rt&&rt[Xt],ot||(ot=rt)),ot&&"string"==typeof ot.type?"notScheduled"!==ot.state&&(ot.cancelFn&&ot.data.isPeriodic||0===ot.runCount)&&("number"==typeof rt?delete G[rt]:rt&&(rt[Xt]=null),ot.zone.cancelTask(ot)):$.apply(n,it)})}Zone.__load_patch("legacy",n=>{const i=n[Zone.__symbol__("legacyPatch")];i&&i()}),Zone.__load_patch("queueMicrotask",(n,i,v)=>{v.patchMethod(n,"queueMicrotask",l=>function(y,x){i.current.scheduleMicroTask("queueMicrotask",x[0])})}),Zone.__load_patch("timers",n=>{const i="set",v="clear";Wt(n,i,v,"Timeout"),Wt(n,i,v,"Interval"),Wt(n,i,v,"Immediate")}),Zone.__load_patch("requestAnimationFrame",n=>{Wt(n,"request","cancel","AnimationFrame"),Wt(n,"mozRequest","mozCancel","AnimationFrame"),Wt(n,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(n,i)=>{const v=["alert","prompt","confirm"];for(let l=0;lfunction(X,$){return i.current.run(x,n,$,L)})}),Zone.__load_patch("EventTarget",(n,i,v)=>{(function Te(n,i){i.patchEventPrototype(n,i)})(n,v),function Ee(n,i){if(Zone[i.symbol("patchEventTarget")])return;const{eventNames:v,zoneSymbolEventNames:l,TRUE_STR:y,FALSE_STR:x,ZONE_SYMBOL_PREFIX:G}=i.getGlobalObjects();for(let X=0;X{At("MutationObserver"),At("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(n,i,v)=>{At("IntersectionObserver")}),Zone.__load_patch("FileReader",(n,i,v)=>{At("FileReader")}),Zone.__load_patch("on_property",(n,i,v)=>{!function ye(n,i){if(I&&!J||Zone[n.symbol("patchEvents")])return;const v=i.__Zone_ignore_on_properties;let l=[];if(B){const y=window;l=l.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const x=function $t(){try{const n=z.navigator.userAgent;if(-1!==n.indexOf("MSIE ")||-1!==n.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:y,ignoreProperties:["error"]}]:[];se(y,Yt(y),v&&v.concat(x),t(y))}l=l.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let y=0;y{!function ge(n,i){const{isBrowser:v,isMix:l}=i.getGlobalObjects();(v||l)&&n.customElements&&"customElements"in n&&i.patchCallbacks(i,n.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(n,v)}),Zone.__load_patch("XHR",(n,i)=>{!function X($){const V=$.XMLHttpRequest;if(!V)return;const it=V.prototype;let ot=it[a],yt=it[d];if(!ot){const N=$.XMLHttpRequestEventTarget;if(N){const st=N.prototype;ot=st[a],yt=st[d]}}const ut="readystatechange",Mt="scheduled";function Ot(N){const st=N.data,_=st.target;_[x]=!1,_[L]=!1;const Dt=_[y];ot||(ot=_[a],yt=_[d]),Dt&&yt.call(_,ut,Dt);const Ht=_[y]=()=>{if(_.readyState===_.DONE)if(!st.aborted&&_[x]&&N.state===Mt){const Tt=_[i.__symbol__("loadfalse")];if(0!==_.status&&Tt&&Tt.length>0){const Lt=N.invoke;N.invoke=function(){const Ct=_[i.__symbol__("loadfalse")];for(let mt=0;mtfunction(N,st){return N[l]=0==st[2],N[G]=st[1],bt.apply(N,st)}),kt=O("fetchTaskAborting"),ct=O("fetchTaskScheduling"),H=lt(it,"send",()=>function(N,st){if(!0===i.current[ct]||N[l])return H.apply(N,st);{const _={target:N,url:N[G],isPeriodic:!1,args:st,aborted:!1},Dt=C("XMLHttpRequest.send",Q,_,Ot,A);N&&!0===N[L]&&!_.aborted&&Dt.state===Mt&&Dt.invoke()}}),ht=lt(it,"abort",()=>function(N,st){const _=function rt(N){return N[v]}(N);if(_&&"string"==typeof _.type){if(null==_.cancelFn||_.data&&_.data.aborted)return;_.zone.cancelTask(_)}else if(!0===i.current[kt])return ht.apply(N,st)})}(n);const v=O("xhrTask"),l=O("xhrSync"),y=O("xhrListener"),x=O("xhrScheduled"),G=O("xhrURL"),L=O("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",n=>{n.navigator&&n.navigator.geolocation&&function w(n,i){const v=n.constructor.name;for(let l=0;l{const X=function(){return L.apply(this,j(arguments,v+"."+y))};return dt(X,L),X})(x)}}}(n.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(n,i)=>{function v(l){return function(y){re(n,l).forEach(G=>{const L=n.PromiseRejectionEvent;if(L){const X=new L(l,{promise:y.promise,reason:y.rejection});G.invoke(X)}})}}n.PromiseRejectionEvent&&(i[O("unhandledPromiseRejectionHandler")]=v("unhandledrejection"),i[O("rejectionHandledHandler")]=v("rejectionhandled"))})},7795:(s,E,t)=>{t(3364),t(1432),t(6562),t(4416),t(8681),t(2213),t(3471),t(4329),t(5159),t(5645)},4963:s=>{s.exports=function(E){if("function"!=typeof E)throw TypeError(E+" is not a function!");return E}},3328:s=>{s.exports=function(E,t,r,o){if(!(E instanceof t)||void 0!==o&&o in E)throw TypeError(r+": incorrect invocation!");return E}},7007:(s,E,t)=>{var r=t(5286);s.exports=function(o){if(!r(o))throw TypeError(o+" is not an object!");return o}},9490:(s,E,t)=>{var r=t(3531);s.exports=function(o,c){var u=[];return r(o,!1,u.push,u,c),u}},9315:(s,E,t)=>{var r=t(2110),o=t(875),c=t(2337);s.exports=function(u){return function(a,d,g){var C,p=r(a),T=o(p.length),m=c(g,T);if(u&&d!=d){for(;T>m;)if((C=p[m++])!=C)return!0}else for(;T>m;m++)if((u||m in p)&&p[m]===d)return u||m||0;return!u&&-1}}},50:(s,E,t)=>{var r=t(741),o=t(9797),c=t(508),u=t(875),a=t(6886);s.exports=function(d,g){var p=1==d,T=2==d,m=3==d,C=4==d,O=6==d,b=5==d||O,z=g||a;return function(k,D,j){for(var gt,wt,w=c(k),Z=o(w),M=r(D,j,3),I=u(Z.length),B=0,J=p?z(k,I):T?z(k,0):void 0;I>B;B++)if((b||B in Z)&&(wt=M(gt=Z[B],B,w),d))if(p)J[B]=wt;else if(wt)switch(d){case 3:return!0;case 5:return gt;case 6:return B;case 2:J.push(gt)}else if(C)return!1;return O?-1:m||C?C:J}}},2736:(s,E,t)=>{var r=t(5286),o=t(4302),c=t(6314)("species");s.exports=function(u){var a;return o(u)&&("function"==typeof(a=u.constructor)&&(a===Array||o(a.prototype))&&(a=void 0),r(a)&&null===(a=a[c])&&(a=void 0)),void 0===a?Array:a}},6886:(s,E,t)=>{var r=t(2736);s.exports=function(o,c){return new(r(o))(c)}},1488:(s,E,t)=>{var r=t(2032),o=t(6314)("toStringTag"),c="Arguments"==r(function(){return arguments}());s.exports=function(a){var d,g,p;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(g=function(a,d){try{return a[d]}catch{}}(d=Object(a),o))?g:c?r(d):"Object"==(p=r(d))&&"function"==typeof d.callee?"Arguments":p}},2032:s=>{var E={}.toString;s.exports=function(t){return E.call(t).slice(8,-1)}},9824:(s,E,t)=>{"use strict";var r=t(9275).f,o=t(2503),c=t(4408),u=t(741),a=t(3328),d=t(3531),g=t(2923),p=t(5436),T=t(2974),m=t(7057),C=t(4728).fastKey,O=t(1616),b=m?"_s":"size",z=function(k,D){var w,j=C(D);if("F"!==j)return k._i[j];for(w=k._f;w;w=w.n)if(w.k==D)return w};s.exports={getConstructor:function(k,D,j,w){var Z=k(function(M,I){a(M,Z,D,"_i"),M._t=D,M._i=o(null),M._f=void 0,M._l=void 0,M[b]=0,null!=I&&d(I,j,M[w],M)});return c(Z.prototype,{clear:function(){for(var I=O(this,D),B=I._i,J=I._f;J;J=J.n)J.r=!0,J.p&&(J.p=J.p.n=void 0),delete B[J.i];I._f=I._l=void 0,I[b]=0},delete:function(M){var I=O(this,D),B=z(I,M);if(B){var J=B.n,gt=B.p;delete I._i[B.i],B.r=!0,gt&&(gt.n=J),J&&(J.p=gt),I._f==B&&(I._f=J),I._l==B&&(I._l=gt),I[b]--}return!!B},forEach:function(I){O(this,D);for(var J,B=u(I,arguments.length>1?arguments[1]:void 0,3);J=J?J.n:this._f;)for(B(J.v,J.k,this);J&&J.r;)J=J.p},has:function(I){return!!z(O(this,D),I)}}),m&&r(Z.prototype,"size",{get:function(){return O(this,D)[b]}}),Z},def:function(k,D,j){var Z,M,w=z(k,D);return w?w.v=j:(k._l=w={i:M=C(D,!0),k:D,v:j,p:Z=k._l,n:void 0,r:!1},k._f||(k._f=w),Z&&(Z.n=w),k[b]++,"F"!==M&&(k._i[M]=w)),k},getEntry:z,setStrong:function(k,D,j){g(k,D,function(w,Z){this._t=O(w,D),this._k=Z,this._l=void 0},function(){for(var w=this,Z=w._k,M=w._l;M&&M.r;)M=M.p;return w._t&&(w._l=M=M?M.n:w._t._f)?p(0,"keys"==Z?M.k:"values"==Z?M.v:[M.k,M.v]):(w._t=void 0,p(1))},j?"entries":"values",!j,!0),T(D)}}},3657:(s,E,t)=>{"use strict";var r=t(4408),o=t(4728).getWeak,c=t(7007),u=t(5286),a=t(3328),d=t(3531),g=t(50),p=t(9181),T=t(1616),m=g(5),C=g(6),O=0,b=function(D){return D._l||(D._l=new z)},z=function(){this.a=[]},k=function(D,j){return m(D.a,function(w){return w[0]===j})};z.prototype={get:function(D){var j=k(this,D);if(j)return j[1]},has:function(D){return!!k(this,D)},set:function(D,j){var w=k(this,D);w?w[1]=j:this.a.push([D,j])},delete:function(D){var j=C(this.a,function(w){return w[0]===D});return~j&&this.a.splice(j,1),!!~j}},s.exports={getConstructor:function(D,j,w,Z){var M=D(function(I,B){a(I,M,j,"_i"),I._t=j,I._i=O++,I._l=void 0,null!=B&&d(B,w,I[Z],I)});return r(M.prototype,{delete:function(I){if(!u(I))return!1;var B=o(I);return!0===B?b(T(this,j)).delete(I):B&&p(B,this._i)&&delete B[this._i]},has:function(B){if(!u(B))return!1;var J=o(B);return!0===J?b(T(this,j)).has(B):J&&p(J,this._i)}}),M},def:function(D,j,w){var Z=o(c(j),!0);return!0===Z?b(D).set(j,w):Z[D._i]=w,D},ufstore:b}},5795:(s,E,t)=>{"use strict";var r=t(3816),o=t(2985),c=t(7234),u=t(4408),a=t(4728),d=t(3531),g=t(3328),p=t(5286),T=t(4253),m=t(7462),C=t(2943),O=t(266);s.exports=function(b,z,k,D,j,w){var Z=r[b],M=Z,I=j?"set":"add",B=M&&M.prototype,J={},gt=function(lt){var Pt=B[lt];c(B,lt,"delete"==lt?function(dt){return!(w&&!p(dt))&&Pt.call(this,0===dt?0:dt)}:"has"==lt?function(Et){return!(w&&!p(Et))&&Pt.call(this,0===Et?0:Et)}:"get"==lt?function(Et){return w&&!p(Et)?void 0:Pt.call(this,0===Et?0:Et)}:"add"==lt?function(Et){return Pt.call(this,0===Et?0:Et),this}:function(Et,jt){return Pt.call(this,0===Et?0:Et,jt),this})};if("function"==typeof M&&(w||B.forEach&&!T(function(){(new M).entries().next()}))){var wt=new M,It=wt[I](w?{}:-0,1)!=wt,Nt=T(function(){wt.has(1)}),xt=m(function(lt){new M(lt)}),At=!w&&T(function(){for(var lt=new M,Pt=5;Pt--;)lt[I](Pt,Pt);return!lt.has(-0)});xt||((M=z(function(lt,Pt){g(lt,M,b);var dt=O(new Z,lt,M);return null!=Pt&&d(Pt,j,dt[I],dt),dt})).prototype=B,B.constructor=M),(Nt||At)&&(gt("delete"),gt("has"),j&>("get")),(At||It)&>(I),w&&B.clear&&delete B.clear}else M=D.getConstructor(z,b,j,I),u(M.prototype,k),a.NEED=!0;return C(M,b),J[b]=M,o(o.G+o.W+o.F*(M!=Z),J),w||D.setStrong(M,b,j),M}},5645:s=>{var E=s.exports={version:"2.5.7"};"number"==typeof __e&&(__e=E)},741:(s,E,t)=>{var r=t(4963);s.exports=function(o,c,u){if(r(o),void 0===c)return o;switch(u){case 1:return function(a){return o.call(c,a)};case 2:return function(a,d){return o.call(c,a,d)};case 3:return function(a,d,g){return o.call(c,a,d,g)}}return function(){return o.apply(c,arguments)}}},1355:s=>{s.exports=function(E){if(null==E)throw TypeError("Can't call method on "+E);return E}},7057:(s,E,t)=>{s.exports=!t(4253)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},2457:(s,E,t)=>{var r=t(5286),o=t(3816).document,c=r(o)&&r(o.createElement);s.exports=function(u){return c?o.createElement(u):{}}},4430:s=>{s.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},2985:(s,E,t)=>{var r=t(3816),o=t(5645),c=t(7728),u=t(7234),a=t(741),d="prototype",g=function(p,T,m){var Z,M,I,B,C=p&g.F,O=p&g.G,z=p&g.P,k=p&g.B,D=O?r:p&g.S?r[T]||(r[T]={}):(r[T]||{})[d],j=O?o:o[T]||(o[T]={}),w=j[d]||(j[d]={});for(Z in O&&(m=T),m)I=((M=!C&&D&&void 0!==D[Z])?D:m)[Z],B=k&&M?a(I,r):z&&"function"==typeof I?a(Function.call,I):I,D&&u(D,Z,I,p&g.U),j[Z]!=I&&c(j,Z,B),z&&w[Z]!=I&&(w[Z]=I)};r.core=o,g.F=1,g.G=2,g.S=4,g.P=8,g.B=16,g.W=32,g.U=64,g.R=128,s.exports=g},4253:s=>{s.exports=function(E){try{return!!E()}catch{return!0}}},3531:(s,E,t)=>{var r=t(741),o=t(8851),c=t(6555),u=t(7007),a=t(875),d=t(9002),g={},p={},T=s.exports=function(m,C,O,b,z){var w,Z,M,I,k=z?function(){return m}:d(m),D=r(O,b,C?2:1),j=0;if("function"!=typeof k)throw TypeError(m+" is not iterable!");if(c(k)){for(w=a(m.length);w>j;j++)if((I=C?D(u(Z=m[j])[0],Z[1]):D(m[j]))===g||I===p)return I}else for(M=k.call(m);!(Z=M.next()).done;)if((I=o(M,D,Z.value,C))===g||I===p)return I};T.BREAK=g,T.RETURN=p},3816:s=>{var E=s.exports=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=E)},9181:s=>{var E={}.hasOwnProperty;s.exports=function(t,r){return E.call(t,r)}},7728:(s,E,t)=>{var r=t(9275),o=t(681);s.exports=t(7057)?function(c,u,a){return r.f(c,u,o(1,a))}:function(c,u,a){return c[u]=a,c}},639:(s,E,t)=>{var r=t(3816).document;s.exports=r&&r.documentElement},1734:(s,E,t)=>{s.exports=!t(7057)&&!t(4253)(function(){return 7!=Object.defineProperty(t(2457)("div"),"a",{get:function(){return 7}}).a})},266:(s,E,t)=>{var r=t(5286),o=t(7375).set;s.exports=function(c,u,a){var g,d=u.constructor;return d!==a&&"function"==typeof d&&(g=d.prototype)!==a.prototype&&r(g)&&o&&o(c,g),c}},9797:(s,E,t)=>{var r=t(2032);s.exports=Object("z").propertyIsEnumerable(0)?Object:function(o){return"String"==r(o)?o.split(""):Object(o)}},6555:(s,E,t)=>{var r=t(2803),o=t(6314)("iterator"),c=Array.prototype;s.exports=function(u){return void 0!==u&&(r.Array===u||c[o]===u)}},4302:(s,E,t)=>{var r=t(2032);s.exports=Array.isArray||function(c){return"Array"==r(c)}},5286:s=>{s.exports=function(E){return"object"==typeof E?null!==E:"function"==typeof E}},8851:(s,E,t)=>{var r=t(7007);s.exports=function(o,c,u,a){try{return a?c(r(u)[0],u[1]):c(u)}catch(g){var d=o.return;throw void 0!==d&&r(d.call(o)),g}}},9988:(s,E,t)=>{"use strict";var r=t(2503),o=t(681),c=t(2943),u={};t(7728)(u,t(6314)("iterator"),function(){return this}),s.exports=function(a,d,g){a.prototype=r(u,{next:o(1,g)}),c(a,d+" Iterator")}},2923:(s,E,t)=>{"use strict";var r=t(4461),o=t(2985),c=t(7234),u=t(7728),a=t(2803),d=t(9988),g=t(2943),p=t(468),T=t(6314)("iterator"),m=!([].keys&&"next"in[].keys()),O="keys",b="values",z=function(){return this};s.exports=function(k,D,j,w,Z,M,I){d(j,D,w);var Pt,dt,Et,B=function(jt){if(!m&&jt in It)return It[jt];switch(jt){case O:case b:return function(){return new j(this,jt)}}return function(){return new j(this,jt)}},J=D+" Iterator",gt=Z==b,wt=!1,It=k.prototype,Nt=It[T]||It["@@iterator"]||Z&&It[Z],xt=Nt||B(Z),At=Z?gt?B("entries"):xt:void 0,lt="Array"==D&&It.entries||Nt;if(lt&&(Et=p(lt.call(new k)))!==Object.prototype&&Et.next&&(g(Et,J,!0),!r&&"function"!=typeof Et[T]&&u(Et,T,z)),gt&&Nt&&Nt.name!==b&&(wt=!0,xt=function(){return Nt.call(this)}),(!r||I)&&(m||wt||!It[T])&&u(It,T,xt),a[D]=xt,a[J]=z,Z)if(Pt={values:gt?xt:B(b),keys:M?xt:B(O),entries:At},I)for(dt in Pt)dt in It||c(It,dt,Pt[dt]);else o(o.P+o.F*(m||wt),D,Pt);return Pt}},7462:(s,E,t)=>{var r=t(6314)("iterator"),o=!1;try{var c=[7][r]();c.return=function(){o=!0},Array.from(c,function(){throw 2})}catch{}s.exports=function(u,a){if(!a&&!o)return!1;var d=!1;try{var g=[7],p=g[r]();p.next=function(){return{done:d=!0}},g[r]=function(){return p},u(g)}catch{}return d}},5436:s=>{s.exports=function(E,t){return{value:t,done:!!E}}},2803:s=>{s.exports={}},4461:s=>{s.exports=!1},4728:(s,E,t)=>{var r=t(3953)("meta"),o=t(5286),c=t(9181),u=t(9275).f,a=0,d=Object.isExtensible||function(){return!0},g=!t(4253)(function(){return d(Object.preventExtensions({}))}),p=function(b){u(b,r,{value:{i:"O"+ ++a,w:{}}})},O=s.exports={KEY:r,NEED:!1,fastKey:function(b,z){if(!o(b))return"symbol"==typeof b?b:("string"==typeof b?"S":"P")+b;if(!c(b,r)){if(!d(b))return"F";if(!z)return"E";p(b)}return b[r].i},getWeak:function(b,z){if(!c(b,r)){if(!d(b))return!0;if(!z)return!1;p(b)}return b[r].w},onFreeze:function(b){return g&&O.NEED&&d(b)&&!c(b,r)&&p(b),b}}},133:(s,E,t)=>{var r=t(8416),o=t(2985),c=t(3825)("metadata"),u=c.store||(c.store=new(t(147))),a=function(O,b,z){var k=u.get(O);if(!k){if(!z)return;u.set(O,k=new r)}var D=k.get(b);if(!D){if(!z)return;k.set(b,D=new r)}return D};s.exports={store:u,map:a,has:function(O,b,z){var k=a(b,z,!1);return void 0!==k&&k.has(O)},get:function(O,b,z){var k=a(b,z,!1);return void 0===k?void 0:k.get(O)},set:function(O,b,z,k){a(z,k,!0).set(O,b)},keys:function(O,b){var z=a(O,b,!1),k=[];return z&&z.forEach(function(D,j){k.push(j)}),k},key:function(O){return void 0===O||"symbol"==typeof O?O:String(O)},exp:function(O){o(o.S,"Reflect",O)}}},5345:(s,E,t)=>{"use strict";var r=t(7184),o=t(4548),c=t(4682),u=t(508),a=t(9797),d=Object.assign;s.exports=!d||t(4253)(function(){var g={},p={},T=Symbol(),m="abcdefghijklmnopqrst";return g[T]=7,m.split("").forEach(function(C){p[C]=C}),7!=d({},g)[T]||Object.keys(d({},p)).join("")!=m})?function(p,T){for(var m=u(p),C=arguments.length,O=1,b=o.f,z=c.f;C>O;)for(var Z,k=a(arguments[O++]),D=b?r(k).concat(b(k)):r(k),j=D.length,w=0;j>w;)z.call(k,Z=D[w++])&&(m[Z]=k[Z]);return m}:d},2503:(s,E,t)=>{var r=t(7007),o=t(5588),c=t(4430),u=t(9335)("IE_PROTO"),a=function(){},d="prototype",g=function(){var O,p=t(2457)("iframe"),T=c.length;for(p.style.display="none",t(639).appendChild(p),p.src="javascript:",(O=p.contentWindow.document).open(),O.write("