From 5890ce6e040ab37e027e17140d104c7c9e518ad3 Mon Sep 17 00:00:00 2001 From: amujalo2 Date: Sun, 18 May 2025 19:36:53 +0200 Subject: [PATCH 01/21] Add or update the Azure App Service build and deployment workflow config --- .../workflows/main_dating-app-htec-intern.yml | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 .github/workflows/main_dating-app-htec-intern.yml diff --git a/.github/workflows/main_dating-app-htec-intern.yml b/.github/workflows/main_dating-app-htec-intern.yml new file mode 100644 index 0000000..dd92c8a --- /dev/null +++ b/.github/workflows/main_dating-app-htec-intern.yml @@ -0,0 +1,68 @@ +# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy +# More GitHub Actions for Azure: https://github.com/Azure/actions + +name: Build and deploy ASP.Net Core app to Azure Web App - Dating-App-HTEC-Intern + +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + build: + runs-on: windows-latest + permissions: + contents: read #This is required for actions/checkout + + steps: + - uses: actions/checkout@v4 + + - name: Set up .NET Core + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '9.x' + + - name: Build with dotnet + run: dotnet build --configuration Release + + - name: dotnet publish + run: dotnet publish -c Release -o "${{env.DOTNET_ROOT}}/myapp" + + - name: Upload artifact for deployment job + uses: actions/upload-artifact@v4 + with: + name: .net-app + path: ${{env.DOTNET_ROOT}}/myapp + + deploy: + runs-on: windows-latest + needs: build + environment: + name: 'Production' + url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} + permissions: + id-token: write #This is required for requesting the JWT + contents: read #This is required for actions/checkout + + steps: + - name: Download artifact from build job + uses: actions/download-artifact@v4 + with: + name: .net-app + + - name: Login to Azure + uses: azure/login@v2 + with: + client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_208CA351617B4FA788EAE781A942B3F9 }} + tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_E47467B042204ABB9220C7F466DA4B13 }} + subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_288A10112D9A4341B4F6DAD43DAEC34F }} + + - name: Deploy to Azure Web App + id: deploy-to-webapp + uses: azure/webapps-deploy@v3 + with: + app-name: 'Dating-App-HTEC-Intern' + slot-name: 'Production' + package: . + \ No newline at end of file From f021cab079783cf89cde62845d2779f4473f214d Mon Sep 17 00:00:00 2001 From: amujalo2 Date: Sun, 18 May 2025 20:03:31 +0200 Subject: [PATCH 02/21] fix yml file and added spinner while loading messages --- .../workflows/main_dating-app-htec-intern.yml | 38 +++++++++++++------ client/src/app/_services/message.service.ts | 7 +++- .../member-messages.component.html | 7 +++- .../member-messages.component.ts | 3 +- 4 files changed, 40 insertions(+), 15 deletions(-) diff --git a/.github/workflows/main_dating-app-htec-intern.yml b/.github/workflows/main_dating-app-htec-intern.yml index dd92c8a..d7c5336 100644 --- a/.github/workflows/main_dating-app-htec-intern.yml +++ b/.github/workflows/main_dating-app-htec-intern.yml @@ -18,6 +18,20 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Set up node.js + uses: actions/setup-node@v3 + with: + node-version: '20' + + - name: Install Angular CLI + run: npm install -g @angular/cli@19 + + - name: Install deps and build angular app + run: | + cd client + npm install + ng build + - name: Set up .NET Core uses: actions/setup-dotnet@v4 with: @@ -38,25 +52,25 @@ jobs: deploy: runs-on: windows-latest needs: build - environment: - name: 'Production' + environment: + name: 'Production' url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} - permissions: - id-token: write #This is required for requesting the JWT - contents: read #This is required for actions/checkout + permissions: + id-token: write #This is required for requesting the JWT + contents: read #This is required for actions/checkout steps: - name: Download artifact from build job uses: actions/download-artifact@v4 with: name: .net-app - - - name: Login to Azure - uses: azure/login@v2 - with: - client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_208CA351617B4FA788EAE781A942B3F9 }} - tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_E47467B042204ABB9220C7F466DA4B13 }} - subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_288A10112D9A4341B4F6DAD43DAEC34F }} + + - name: Login to Azure + uses: azure/login@v2 + with: + client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_208CA351617B4FA788EAE781A942B3F9 }} + tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_E47467B042204ABB9220C7F466DA4B13 }} + subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_288A10112D9A4341B4F6DAD43DAEC34F }} - name: Deploy to Azure Web App id: deploy-to-webapp diff --git a/client/src/app/_services/message.service.ts b/client/src/app/_services/message.service.ts index f7343b0..7523f37 100644 --- a/client/src/app/_services/message.service.ts +++ b/client/src/app/_services/message.service.ts @@ -7,6 +7,7 @@ import { setPaginatedResponse, setPaginationHeaders } from './paginationHelper'; import { HubConnection, HubConnectionBuilder, HubConnectionState } from '@microsoft/signalr'; import { User } from '../_models/user'; import { Group } from '../_models/group'; +import { BusyService } from './busy.service'; @Injectable({ providedIn: 'root' @@ -15,6 +16,7 @@ export class MessageService { baseUrl = environment.apiUrl; hubUrl = environment.hubsUrl; private http = inject(HttpClient); + private busyService = inject(BusyService) hubConnection?: HubConnection; paginatedResult = signal | null>(null); messageThread = signal([]); @@ -38,13 +40,16 @@ export class MessageService { return this.http.delete(this.baseUrl + 'messages/' + id); } createHubConnection(user: User, otherUsername: string) { + this.busyService.busy(); this.hubConnection = new HubConnectionBuilder() .withUrl(this.hubUrl + 'message?user=' + otherUsername, { accessTokenFactory: () => user.token }) .withAutomaticReconnect() .build(); - this.hubConnection.start().catch(error => console.error(error)); + this.hubConnection.start() + .catch(error => console.error(error)) + .finally(() => this.busyService.idle()); this.hubConnection.on('ReceiveMessageThread', messages => { this.messageThread.set(messages) }); diff --git a/client/src/app/members/member-messages/member-messages.component.html b/client/src/app/members/member-messages/member-messages.component.html index 7eaba2e..2cf9d23 100644 --- a/client/src/app/members/member-messages/member-messages.component.html +++ b/client/src/app/members/member-messages/member-messages.component.html @@ -57,7 +57,12 @@ class="form-control input-sm" placeholder="Send a private message">
- +
diff --git a/client/src/app/members/member-messages/member-messages.component.ts b/client/src/app/members/member-messages/member-messages.component.ts index a62c7c7..cf8a6a2 100644 --- a/client/src/app/members/member-messages/member-messages.component.ts +++ b/client/src/app/members/member-messages/member-messages.component.ts @@ -21,10 +21,11 @@ export class MemberMessagesComponent implements AfterViewChecked { this.scrollToBottom(); } sendMessage(){ + this.loading = true; this.messageService.sendMessage(this.username(), this.messageContent)?.then(() => { this.messageForm?.reset(); this.scrollToBottom(); - }); + }).finally(() => this.loading = false); } private scrollToBottom() { From 3a69387fd7515a686577f255f77f3fee265069b9 Mon Sep 17 00:00:00 2001 From: amujalo2 Date: Fri, 23 May 2025 09:45:46 +0200 Subject: [PATCH 03/21] refactor logic in MessageHub.cs, works the same --- API/SignalR/MessageHub.cs | 41 +++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/API/SignalR/MessageHub.cs b/API/SignalR/MessageHub.cs index 21da026..e116361 100644 --- a/API/SignalR/MessageHub.cs +++ b/API/SignalR/MessageHub.cs @@ -13,15 +13,15 @@ public class MessageHub(IUnitOfWork unitOfWork, IMapper mapper, IHubContext x.Username == recipient.UserName)) + + if (group != null && group.Connections.Any(x => x.Username == recipient.UserName)) { message.DateRead = DateTime.UtcNow; } @@ -66,12 +66,12 @@ public async Task SendMessage(CreateMessageDto createMessageDto) var connections = await PresenceTracker.GetConnectionsForUser(recipient.UserName); if (connections != null) { - await presenceHub.Clients.Clients(connections).SendAsync("NewMessageReceived", - new {username = sender.UserName, knownAs = sender.KnownAs}); + await presenceHub.Clients.Clients(connections).SendAsync("NewMessageReceived", + new { username = sender.UserName, knownAs = sender.KnownAs }); } } unitOfWork.MessageRepository.AddMessage(message); - if (await unitOfWork.Complete()) + if (await unitOfWork.Complete()) { await Clients.Group(groupName).SendAsync("NewMessage", mapper.Map(message)); } @@ -81,27 +81,30 @@ private async Task AddToGroup(string groupName) var username = Context.User?.GetUsername() ?? throw new Exception("Cannot et username"); var group = await unitOfWork.MessageRepository.GetMessageGroup(groupName); var connection = new Connection(Context.ConnectionId, username); - if(group == null) + if (group == null) { group = new Group(groupName); unitOfWork.MessageRepository.AddGroup(group); } group.Connections.Add(connection); - //kontriraj - if (await unitOfWork.Complete()) return group; - throw new HubException("Failed to join group"); + + if (!await unitOfWork.Complete()) + throw new HubException("Failed to join group"); + return group; } - + private async Task RemoveFromMessageGroup() { var group = await unitOfWork.MessageRepository.GetGroupForConnection(Context.ConnectionId); var connection = group?.Connections.FirstOrDefault(x => x.ConnectionId == Context.ConnectionId); - if(connection!=null && group != null) + if (!(connection != null && group != null)) { - unitOfWork.MessageRepository.RemoveConnection(connection); - if (await unitOfWork.Complete()) return group; + throw new Exception("Failed to remove from group!"); } - throw new Exception("Failed to remove from group!"); + unitOfWork.MessageRepository.RemoveConnection(connection); + if (!await unitOfWork.Complete()) + throw new HubException("Failed to join group"); + return group; } -} +} From e1afbce8d0c5c82763c89fb093ff38034f52df78 Mon Sep 17 00:00:00 2001 From: amujalo2 Date: Fri, 23 May 2025 15:06:21 +0200 Subject: [PATCH 04/21] ApplicationInsights Serilog implementation --- API/API.csproj | 7 +++++++ API/Extensions/ApplicationServiceExtensions.cs | 1 + API/Program.cs | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/API/API.csproj b/API/API.csproj index 852855e..7042bdc 100644 --- a/API/API.csproj +++ b/API/API.csproj @@ -9,12 +9,19 @@ + + + + + + + diff --git a/API/Extensions/ApplicationServiceExtensions.cs b/API/Extensions/ApplicationServiceExtensions.cs index 9712f27..29c88b5 100644 --- a/API/Extensions/ApplicationServiceExtensions.cs +++ b/API/Extensions/ApplicationServiceExtensions.cs @@ -13,6 +13,7 @@ public static class ApplicationServiceExtensions public static IServiceCollection AddApplicationServices(this IServiceCollection services, IConfiguration config) { services.AddControllers(); + services.AddApplicationInsightsTelemetry(); services.AddDbContext(opt => { opt.UseSqlServer(config.GetConnectionString("DefaultConnection")); diff --git a/API/Program.cs b/API/Program.cs index a0ea3f6..c23d448 100644 --- a/API/Program.cs +++ b/API/Program.cs @@ -7,7 +7,7 @@ using Microsoft.EntityFrameworkCore; using Serilog; - +//"RestrictedToMinimumLevel": "Debug" var builder = WebApplication.CreateBuilder(args); builder.Host.UseSerilog((hostContext, services, configuration) => From 8ded8a25a7fdc781b702e6cab3747a9aef3b8775 Mon Sep 17 00:00:00 2001 From: amujalo2 Date: Tue, 27 May 2025 13:12:54 +0200 Subject: [PATCH 05/21] Initial commit for Task1 built interfaces repositories and Dtos next to build: valid contollers and services --- API/API.csproj | 5 +- API/Controllers/UsersController.cs | 6 +- API/DTOs/AddPhotoDto.cs | 7 + API/DTOs/AddTagDto.cs | 6 + API/DTOs/PhotoApprovalStatisticsDto.cs | 10 + API/DTOs/PhotoDto.cs | 3 + API/DTOs/PhotoForApprovalDto.cs | 4 +- API/DTOs/TagDto.cs | 7 + API/Data/DataContext.cs | 19 + .../20250527110712_AddPhotoTags.Designer.cs | 588 ++++++++++++++++++ .../Migrations/20250527110712_AddPhotoTags.cs | 22 + .../Migrations/DataContextModelSnapshot.cs | 64 ++ API/Data/PhotoRepository.cs | 96 ++- API/Data/TagsRepository.cs | 48 ++ API/Data/UnitOfWork.cs | 12 +- API/Entities/Photo.cs | 3 +- API/Entities/PhotoTag.cs | 9 + API/Entities/Tag.cs | 8 + .../ApplicationServiceExtensions.cs | 5 +- API/Helpers/AutoMapperProfiles.cs | 10 +- API/Interfaces/ITagsRepository.cs | 10 + API/Services/_User/UserService.cs | 12 +- API/appsettings.Development copy.json | 11 - API/appsettings.Development.json | 2 +- API/dating.db | Bin 172032 -> 0 bytes 25 files changed, 924 insertions(+), 43 deletions(-) create mode 100644 API/DTOs/AddPhotoDto.cs create mode 100644 API/DTOs/AddTagDto.cs create mode 100644 API/DTOs/PhotoApprovalStatisticsDto.cs create mode 100644 API/DTOs/TagDto.cs create mode 100644 API/Data/Migrations/20250527110712_AddPhotoTags.Designer.cs create mode 100644 API/Data/Migrations/20250527110712_AddPhotoTags.cs create mode 100644 API/Data/TagsRepository.cs create mode 100644 API/Entities/PhotoTag.cs create mode 100644 API/Entities/Tag.cs create mode 100644 API/Interfaces/ITagsRepository.cs delete mode 100644 API/appsettings.Development copy.json delete mode 100644 API/dating.db diff --git a/API/API.csproj b/API/API.csproj index 7042bdc..9ee0e0f 100644 --- a/API/API.csproj +++ b/API/API.csproj @@ -17,11 +17,12 @@ - + + diff --git a/API/Controllers/UsersController.cs b/API/Controllers/UsersController.cs index 9b2dd31..1c099b6 100644 --- a/API/Controllers/UsersController.cs +++ b/API/Controllers/UsersController.cs @@ -114,12 +114,12 @@ public async Task UpdateUser(MemberUpdateDto memberUpdateDto) [ProducesResponseType(StatusCodes.Status404NotFound)] [ProducesResponseType(StatusCodes.Status500InternalServerError)] [ProducesErrorResponseType(typeof(void))] - public async Task> AddPhoto(IFormFile file) + public async Task> AddPhoto([FromForm] AddPhotoDto addPhotoDto) { try { - _logger.LogDebug($"UsersController - {nameof(AddPhoto)} invoked. (file: {file})"); - var photo = await _userHelper.AddPhoto(file, User.GetUsername()); + _logger.LogDebug($"UsersController - {nameof(AddPhoto)} invoked. (file: {addPhotoDto})"); + var photo = await _userHelper.AddPhoto(addPhotoDto, User.GetUsername()); return CreatedAtAction(nameof(GetUser), new { username = User.GetUsername() }, photo); } catch (Exception ex) diff --git a/API/DTOs/AddPhotoDto.cs b/API/DTOs/AddPhotoDto.cs new file mode 100644 index 0000000..1a23fe3 --- /dev/null +++ b/API/DTOs/AddPhotoDto.cs @@ -0,0 +1,7 @@ +namespace API.DTOs; + +public class AddPhotoDto +{ + public IFormFile File { get; set; } = null!; + public List TagIds { get; set; } = []; +} \ No newline at end of file diff --git a/API/DTOs/AddTagDto.cs b/API/DTOs/AddTagDto.cs new file mode 100644 index 0000000..b7a4c61 --- /dev/null +++ b/API/DTOs/AddTagDto.cs @@ -0,0 +1,6 @@ +namespace API.DTOs; + +public class AddTagDto +{ + public required string Name { get; set; } +} \ No newline at end of file diff --git a/API/DTOs/PhotoApprovalStatisticsDto.cs b/API/DTOs/PhotoApprovalStatisticsDto.cs new file mode 100644 index 0000000..09f7529 --- /dev/null +++ b/API/DTOs/PhotoApprovalStatisticsDto.cs @@ -0,0 +1,10 @@ +using System; + +namespace API.DTOs; + +public class PhotoApprovalStatisticsDto +{ + public string Username { get; set; } + public int ApprovedPhotos { get; set; } + public int UnapprovedPhotos { get; set; } +} diff --git a/API/DTOs/PhotoDto.cs b/API/DTOs/PhotoDto.cs index 7b11ded..871164d 100644 --- a/API/DTOs/PhotoDto.cs +++ b/API/DTOs/PhotoDto.cs @@ -1,3 +1,5 @@ +using Api.DTOs; + namespace API.DTOs; public class PhotoDto @@ -7,4 +9,5 @@ public class PhotoDto public bool IsMain { get; set; } public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public bool IsApproved { get; set; } + public List Tags { get; set; } = new List(); } \ No newline at end of file diff --git a/API/DTOs/PhotoForApprovalDto.cs b/API/DTOs/PhotoForApprovalDto.cs index a48c060..818e3c2 100644 --- a/API/DTOs/PhotoForApprovalDto.cs +++ b/API/DTOs/PhotoForApprovalDto.cs @@ -4,9 +4,9 @@ namespace API.DTOs; public class PhotoForApprovalDto { - public int Id { get; set; } + public int Id { get; set; } public required string Url { get; set; } public string? Username { get; set; } public bool IsApproved { get; set; } - + public List Tags { get; set; } = new List(); } diff --git a/API/DTOs/TagDto.cs b/API/DTOs/TagDto.cs new file mode 100644 index 0000000..74750d4 --- /dev/null +++ b/API/DTOs/TagDto.cs @@ -0,0 +1,7 @@ +namespace Api.DTOs; + +public class TagDto +{ + public int Id { get; set; } + public required string Name { get; set; } +} \ No newline at end of file diff --git a/API/Data/DataContext.cs b/API/Data/DataContext.cs index 1cad4f8..58bf1be 100644 --- a/API/Data/DataContext.cs +++ b/API/Data/DataContext.cs @@ -18,6 +18,8 @@ public class DataContext(DbContextOptions options) : IdentityDbContext public DbSet Groups { get; set; } public DbSet Connections { get; set; } public DbSet Photos { get; set; } + public DbSet Tags { get; set; } + public DbSet PhotoTags { get; set; } protected override void OnModelCreating(ModelBuilder builder) { base.OnModelCreating(builder); @@ -65,6 +67,23 @@ protected override void OnModelCreating(ModelBuilder builder) builder.Entity() .HasQueryFilter(photo => photo.IsApproved); + builder.Entity() + .HasKey(pt => new { pt.PhotoId, pt.TagId }); + + builder.Entity() + .HasOne(pt => pt.Photo) + .WithMany(p => p.PhotoTags) + .HasForeignKey(pt => pt.PhotoId); + + builder.Entity() + .HasOne(pt => pt.Tag) + .WithMany(t => t.PhotoTags) + .HasForeignKey(pt => pt.TagId); + + builder.Entity() + .HasIndex(t => t.Name) + .IsUnique(); + builder.ApplyUtcDateTimeConverter(); } } diff --git a/API/Data/Migrations/20250527110712_AddPhotoTags.Designer.cs b/API/Data/Migrations/20250527110712_AddPhotoTags.Designer.cs new file mode 100644 index 0000000..d70e1a8 --- /dev/null +++ b/API/Data/Migrations/20250527110712_AddPhotoTags.Designer.cs @@ -0,0 +1,588 @@ +// +using System; +using API.Data; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace API.Data.Migrations +{ + [DbContext(typeof(DataContext))] + [Migration("20250527110712_AddPhotoTags")] + partial class AddPhotoTags + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "9.0.2") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("API.Entities.AppRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("nvarchar(max)"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex") + .HasFilter("[NormalizedName] IS NOT NULL"); + + b.ToTable("AspNetRoles", (string)null); + }); + + modelBuilder.Entity("API.Entities.AppUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AccessFailedCount") + .HasColumnType("int"); + + b.Property("City") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("nvarchar(max)"); + + b.Property("Country") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Created") + .HasColumnType("datetime2"); + + b.Property("DateOfBirth") + .HasColumnType("date"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("EmailConfirmed") + .HasColumnType("bit"); + + b.Property("Gender") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Interests") + .HasColumnType("nvarchar(max)"); + + b.Property("Introduction") + .HasColumnType("nvarchar(max)"); + + b.Property("KnownAs") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("LastActive") + .HasColumnType("datetime2"); + + b.Property("LockoutEnabled") + .HasColumnType("bit"); + + b.Property("LockoutEnd") + .HasColumnType("datetimeoffset"); + + b.Property("LookingFor") + .HasColumnType("nvarchar(max)"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("PasswordHash") + .HasColumnType("nvarchar(max)"); + + b.Property("PhoneNumber") + .HasColumnType("nvarchar(max)"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("bit"); + + b.Property("SecurityStamp") + .HasColumnType("nvarchar(max)"); + + b.Property("TwoFactorEnabled") + .HasColumnType("bit"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex") + .HasFilter("[NormalizedUserName] IS NOT NULL"); + + b.ToTable("AspNetUsers", (string)null); + }); + + modelBuilder.Entity("API.Entities.AppUserRole", b => + { + b.Property("UserId") + .HasColumnType("int"); + + b.Property("RoleId") + .HasColumnType("int"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + }); + + modelBuilder.Entity("API.Entities.Connection", b => + { + b.Property("ConnectionId") + .HasColumnType("nvarchar(450)"); + + b.Property("GroupName") + .HasColumnType("nvarchar(450)"); + + b.Property("Username") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("ConnectionId"); + + b.HasIndex("GroupName"); + + b.ToTable("Connections"); + }); + + modelBuilder.Entity("API.Entities.Group", b => + { + b.Property("Name") + .HasColumnType("nvarchar(450)"); + + b.HasKey("Name"); + + b.ToTable("Groups"); + }); + + modelBuilder.Entity("API.Entities.Message", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Content") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("DateRead") + .HasColumnType("datetime2"); + + b.Property("MessageSent") + .HasColumnType("datetime2"); + + b.Property("RecipientDeleted") + .HasColumnType("bit"); + + b.Property("RecipientId") + .HasColumnType("int"); + + b.Property("RecipientUsername") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("SenderDeleted") + .HasColumnType("bit"); + + b.Property("SenderId") + .HasColumnType("int"); + + b.Property("SenderUsername") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("RecipientId"); + + b.HasIndex("SenderId"); + + b.ToTable("Messages"); + }); + + modelBuilder.Entity("API.Entities.Photo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("AppUserId") + .HasColumnType("int"); + + b.Property("IsApproved") + .HasColumnType("bit"); + + b.Property("IsMain") + .HasColumnType("bit"); + + b.Property("PublicId") + .HasColumnType("nvarchar(max)"); + + b.Property("Url") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("AppUserId"); + + b.ToTable("Photos"); + }); + + modelBuilder.Entity("API.Entities.PhotoTag", b => + { + b.Property("PhotoId") + .HasColumnType("int"); + + b.Property("TagId") + .HasColumnType("int"); + + b.HasKey("PhotoId", "TagId"); + + b.HasIndex("TagId"); + + b.ToTable("PhotoTags"); + }); + + modelBuilder.Entity("API.Entities.Tag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("Tags"); + }); + + modelBuilder.Entity("API.Entities.UserLike", b => + { + b.Property("SourceUserId") + .HasColumnType("int"); + + b.Property("LikedUserId") + .HasColumnType("int"); + + b.HasKey("SourceUserId", "LikedUserId"); + + b.HasIndex("LikedUserId"); + + b.ToTable("Likes"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("nvarchar(max)"); + + b.Property("ClaimValue") + .HasColumnType("nvarchar(max)"); + + b.Property("RoleId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("ClaimType") + .HasColumnType("nvarchar(max)"); + + b.Property("ClaimValue") + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("nvarchar(450)"); + + b.Property("ProviderKey") + .HasColumnType("nvarchar(450)"); + + b.Property("ProviderDisplayName") + .HasColumnType("nvarchar(max)"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("int"); + + b.Property("LoginProvider") + .HasColumnType("nvarchar(450)"); + + b.Property("Name") + .HasColumnType("nvarchar(450)"); + + b.Property("Value") + .HasColumnType("nvarchar(max)"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + + modelBuilder.Entity("API.Entities.AppUserRole", b => + { + b.HasOne("API.Entities.AppRole", "Role") + .WithMany("UserRoles") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("API.Entities.AppUser", "User") + .WithMany("UserRoles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("API.Entities.Connection", b => + { + b.HasOne("API.Entities.Group", null) + .WithMany("Connections") + .HasForeignKey("GroupName") + .OnDelete(DeleteBehavior.Cascade); + }); + + modelBuilder.Entity("API.Entities.Message", b => + { + b.HasOne("API.Entities.AppUser", "Recipient") + .WithMany("MessagesRecived") + .HasForeignKey("RecipientId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.HasOne("API.Entities.AppUser", "Sender") + .WithMany("MessagesSent") + .HasForeignKey("SenderId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.Navigation("Recipient"); + + b.Navigation("Sender"); + }); + + modelBuilder.Entity("API.Entities.Photo", b => + { + b.HasOne("API.Entities.AppUser", "AppUser") + .WithMany("Photos") + .HasForeignKey("AppUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("AppUser"); + }); + + modelBuilder.Entity("API.Entities.PhotoTag", b => + { + b.HasOne("API.Entities.Photo", "Photo") + .WithMany("PhotoTags") + .HasForeignKey("PhotoId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("API.Entities.Tag", "Tag") + .WithMany("PhotoTags") + .HasForeignKey("TagId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Photo"); + + b.Navigation("Tag"); + }); + + modelBuilder.Entity("API.Entities.UserLike", b => + { + b.HasOne("API.Entities.AppUser", "LikedUser") + .WithMany("LikedByUser") + .HasForeignKey("LikedUserId") + .OnDelete(DeleteBehavior.NoAction) + .IsRequired(); + + b.HasOne("API.Entities.AppUser", "SourceUser") + .WithMany("LikedUser") + .HasForeignKey("SourceUserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("LikedUser"); + + b.Navigation("SourceUser"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("API.Entities.AppRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("API.Entities.AppUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("API.Entities.AppUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("API.Entities.AppUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("API.Entities.AppRole", b => + { + b.Navigation("UserRoles"); + }); + + modelBuilder.Entity("API.Entities.AppUser", b => + { + b.Navigation("LikedByUser"); + + b.Navigation("LikedUser"); + + b.Navigation("MessagesRecived"); + + b.Navigation("MessagesSent"); + + b.Navigation("Photos"); + + b.Navigation("UserRoles"); + }); + + modelBuilder.Entity("API.Entities.Group", b => + { + b.Navigation("Connections"); + }); + + modelBuilder.Entity("API.Entities.Photo", b => + { + b.Navigation("PhotoTags"); + }); + + modelBuilder.Entity("API.Entities.Tag", b => + { + b.Navigation("PhotoTags"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/API/Data/Migrations/20250527110712_AddPhotoTags.cs b/API/Data/Migrations/20250527110712_AddPhotoTags.cs new file mode 100644 index 0000000..7cc85ac --- /dev/null +++ b/API/Data/Migrations/20250527110712_AddPhotoTags.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace API.Data.Migrations +{ + /// + public partial class AddPhotoTags : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + + } + } +} diff --git a/API/Data/Migrations/DataContextModelSnapshot.cs b/API/Data/Migrations/DataContextModelSnapshot.cs index 78d6d68..e162c60 100644 --- a/API/Data/Migrations/DataContextModelSnapshot.cs +++ b/API/Data/Migrations/DataContextModelSnapshot.cs @@ -276,6 +276,41 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.ToTable("Photos"); }); + modelBuilder.Entity("API.Entities.PhotoTag", b => + { + b.Property("PhotoId") + .HasColumnType("int"); + + b.Property("TagId") + .HasColumnType("int"); + + b.HasKey("PhotoId", "TagId"); + + b.HasIndex("TagId"); + + b.ToTable("PhotoTags"); + }); + + modelBuilder.Entity("API.Entities.Tag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("nvarchar(450)"); + + b.HasKey("Id"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("Tags"); + }); + modelBuilder.Entity("API.Entities.UserLike", b => { b.Property("SourceUserId") @@ -436,6 +471,25 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.Navigation("AppUser"); }); + modelBuilder.Entity("API.Entities.PhotoTag", b => + { + b.HasOne("API.Entities.Photo", "Photo") + .WithMany("PhotoTags") + .HasForeignKey("PhotoId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("API.Entities.Tag", "Tag") + .WithMany("PhotoTags") + .HasForeignKey("TagId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Photo"); + + b.Navigation("Tag"); + }); + modelBuilder.Entity("API.Entities.UserLike", b => { b.HasOne("API.Entities.AppUser", "LikedUser") @@ -515,6 +569,16 @@ protected override void BuildModel(ModelBuilder modelBuilder) { b.Navigation("Connections"); }); + + modelBuilder.Entity("API.Entities.Photo", b => + { + b.Navigation("PhotoTags"); + }); + + modelBuilder.Entity("API.Entities.Tag", b => + { + b.Navigation("PhotoTags"); + }); #pragma warning restore 612, 618 } } diff --git a/API/Data/PhotoRepository.cs b/API/Data/PhotoRepository.cs index c68c460..5d7812f 100644 --- a/API/Data/PhotoRepository.cs +++ b/API/Data/PhotoRepository.cs @@ -1,12 +1,17 @@ using System; +using System.Data; +using Api.DTOs; using API.DTOs; using API.Entities; using API.Interfaces; +using AutoMapper; +using AutoMapper.QueryableExtensions; +using Microsoft.Data.SqlClient; using Microsoft.EntityFrameworkCore; namespace API.Data; -public class PhotoRepository(DataContext context) : IPhotoRepository +public class PhotoRepository(DataContext context, IMapper mapper) : IPhotoRepository { public async Task GetPhotoById(int id) { @@ -14,21 +19,32 @@ public class PhotoRepository(DataContext context) : IPhotoRepository .IgnoreQueryFilters() .SingleOrDefaultAsync(x => x.Id == id); } - - public async Task> GetUnapprovedPhotos() + public async Task GetPhotoWithTagsById(int id) { return await context.Photos + .Include(p => p.PhotoTags) + .ThenInclude(pt => pt.Tag) + .IgnoreQueryFilters() + .FirstOrDefaultAsync(x => x.Id == id); + } + public async Task> GetPhotosByUsername(string username) + { + return await context.Photos + .Where(p => p.AppUser.UserName == username) + .Include(p => p.PhotoTags) + .ThenInclude(pt => pt.Tag) + .IgnoreQueryFilters() + .ToListAsync(); + } + public async Task> GetUnapprovedPhotos() + { + var query = context.Photos .IgnoreQueryFilters() .Where(p => p.IsApproved == false) - .Select(u => new PhotoForApprovalDto - { - Id = u.Id, - Username = u.AppUser.UserName, - Url = u.Url, - IsApproved = u.IsApproved - }).ToListAsync(); + .AsQueryable(); + return await query.ProjectTo(mapper.ConfigurationProvider) + .ToListAsync(); } - public async Task GetUserByPhotoId(int photoId) { return await context.Users @@ -37,9 +53,65 @@ public async Task> GetUnapprovedPhotos() .Where(p => p.Photos.Any(p => p.Id == photoId)) .FirstOrDefaultAsync(); } - public void RemovePhoto(Photo photo) { context.Photos.Remove(photo); } + public void AddTag(Tag tag) + { + context.Tags.Add(tag); + } + public async Task> GetTags() + { + var query = context.Tags.AsQueryable(); + return await query.ProjectTo(mapper.ConfigurationProvider).ToListAsync(); + } + public async Task> GetUsersWithoutMainPhotoAsync(int currentUserId) + { + var result = new List(); + + using var command = context.Database.GetDbConnection().CreateCommand(); + command.CommandText = "GetUsersWithoutMainPhoto"; + command.CommandType = CommandType.StoredProcedure; + + command.Parameters.Add(new SqlParameter("@CurrentUserId", currentUserId)); + + await context.Database.OpenConnectionAsync(); + + using var reader = await command.ExecuteReaderAsync(); + + while (await reader.ReadAsync()) + { + result.Add(reader.GetString(0)); + } + return result; + } + public async Task> GetPhotoApprovalStatisticsAsync(int currentUserId) + { + var result = new List(); + + using var command = context.Database.GetDbConnection().CreateCommand(); + + command.CommandText = "GetPhotoApprovalStatistics"; + command.CommandType = CommandType.StoredProcedure; + + var userIdParam = new SqlParameter("@CurrentUserId", currentUserId); + command.Parameters.Add(userIdParam); + + await context.Database.OpenConnectionAsync(); + + using var reader = await command.ExecuteReaderAsync(); + + while (await reader.ReadAsync()) + { + result.Add(new PhotoApprovalStatisticsDto + { + Username = reader.GetString(0), + ApprovedPhotos = reader.IsDBNull(1) ? 0 : reader.GetInt32(1), + UnapprovedPhotos = reader.IsDBNull(2) ? 0 : reader.GetInt32(2) + }); + } + return result; + } } + diff --git a/API/Data/TagsRepository.cs b/API/Data/TagsRepository.cs new file mode 100644 index 0000000..f45bbc9 --- /dev/null +++ b/API/Data/TagsRepository.cs @@ -0,0 +1,48 @@ +using API.DTOs; +using API.Entities; +using API.Interfaces; +using Microsoft.EntityFrameworkCore; + +namespace API.Data; + +public class TagsRepository(DataContext context) : ITagsRepository +{ + private readonly DataContext _context = context; + public async Task> GetAllTagsAsync() + { + return await _context.Tags.ToListAsync(); + } + + public async Task> GetTagsByNamesAsync(List tags) + { + if (tags == null || !tags.Any()) + return new List(); + + var distinctNames = tags + .Where(n => !string.IsNullOrWhiteSpace(n)) + .Select(n => n.Trim()) + .Distinct(StringComparer.OrdinalIgnoreCase) + .ToList(); + + var allTags = await _context.Tags.ToListAsync(); + + var matchingTags = allTags + .Where(t => distinctNames.Contains(t.Name, StringComparer.OrdinalIgnoreCase)) + .ToList(); + + var existingNames = matchingTags + .Select(t => t.Name) + .Distinct(StringComparer.OrdinalIgnoreCase) + .ToList(); + + foreach (var name in distinctNames) + { + if (!existingNames.Contains(name)) + { + matchingTags.Add(new Tag { Name = name }); + existingNames.Add(name); + } + } + return matchingTags; + } +} diff --git a/API/Data/UnitOfWork.cs b/API/Data/UnitOfWork.cs index c376b54..3d72f5d 100644 --- a/API/Data/UnitOfWork.cs +++ b/API/Data/UnitOfWork.cs @@ -2,16 +2,18 @@ namespace API.Data; -public class UnitOfWork(DataContext context, IUserRepository userRepository, - ILikesRepository likesRepository, IMessageRepository messageRepository, IPhotoRepository photoRepository) : IUnitOfWork +public class UnitOfWork(DataContext context, + IUserRepository userRepository, + ILikesRepository likesRepository, + IMessageRepository messageRepository, + IPhotoRepository photoRepository, + ITagsRepository tagsRepository) : IUnitOfWork { public IUserRepository UserRepository => userRepository; - public IMessageRepository MessageRepository => messageRepository; - public ILikesRepository LikesRepository => likesRepository; - public IPhotoRepository PhotoRepository => photoRepository; + public ITagsRepository TagsRepository => tagsRepository; public async Task Complete() { diff --git a/API/Entities/Photo.cs b/API/Entities/Photo.cs index 8a561be..62da799 100644 --- a/API/Entities/Photo.cs +++ b/API/Entities/Photo.cs @@ -2,6 +2,7 @@ using System.ComponentModel.DataAnnotations.Schema; namespace API.Entities; + [Table("Photos")] public class Photo { @@ -10,7 +11,7 @@ public class Photo public bool IsMain { get; set; } public string? PublicId { get; set; } public bool IsApproved { get; set; } = false; - + public ICollection PhotoTags { get; set; } = []; // Navigation property public int AppUserId { get; set; } public AppUser AppUser { get; set; } = null!; diff --git a/API/Entities/PhotoTag.cs b/API/Entities/PhotoTag.cs new file mode 100644 index 0000000..b2e46bd --- /dev/null +++ b/API/Entities/PhotoTag.cs @@ -0,0 +1,9 @@ +namespace API.Entities; +public class PhotoTag +{ + public int PhotoId { get; set; } + public Photo? Photo { get; set; } + + public int TagId { get; set; } + public Tag? Tag { get; set; } +} diff --git a/API/Entities/Tag.cs b/API/Entities/Tag.cs new file mode 100644 index 0000000..3aea305 --- /dev/null +++ b/API/Entities/Tag.cs @@ -0,0 +1,8 @@ +namespace API.Entities; + +public class Tag +{ + public int Id { get; set; } + public required string Name { get; set; } + public ICollection PhotoTags { get; set; } = []; +} diff --git a/API/Extensions/ApplicationServiceExtensions.cs b/API/Extensions/ApplicationServiceExtensions.cs index 29c88b5..b3619a2 100644 --- a/API/Extensions/ApplicationServiceExtensions.cs +++ b/API/Extensions/ApplicationServiceExtensions.cs @@ -13,7 +13,7 @@ public static class ApplicationServiceExtensions public static IServiceCollection AddApplicationServices(this IServiceCollection services, IConfiguration config) { services.AddControllers(); - services.AddApplicationInsightsTelemetry(); + //services.AddApplicationInsightsTelemetry(); services.AddDbContext(opt => { opt.UseSqlServer(config.GetConnectionString("DefaultConnection")); @@ -23,10 +23,11 @@ public static IServiceCollection AddApplicationServices(this IServiceCollection services.AddScoped(); services.AddScoped(); services.AddScoped(); + services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); - services.AddScoped(); + services.AddScoped(); services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); services.Configure(config.GetSection("CloudinarySettings")); services.AddSignalR(); diff --git a/API/Helpers/AutoMapperProfiles.cs b/API/Helpers/AutoMapperProfiles.cs index 3bc108d..702d296 100644 --- a/API/Helpers/AutoMapperProfiles.cs +++ b/API/Helpers/AutoMapperProfiles.cs @@ -1,4 +1,5 @@ using System; +using Api.DTOs; using API.DTOs; using API.Entities; using API.Extensions; @@ -19,11 +20,16 @@ public AutoMapperProfiles() CreateMap() .ConvertUsing(s => DateOnly.Parse(s)); CreateMap() - .ForMember(d => d.SenderPhotoUrl, + .ForMember(d => d.SenderPhotoUrl, o => o.MapFrom(s => s.Sender.Photos.FirstOrDefault(x => x.IsMain)!.Url)) - .ForMember(d => d.RecipientPhotoUrl, + .ForMember(d => d.RecipientPhotoUrl, o => o.MapFrom(s => s.Recipient.Photos.FirstOrDefault(x => x.IsMain)!.Url)); CreateMap().ConvertUsing(d => DateTime.SpecifyKind(d, DateTimeKind.Utc)); CreateMap().ConvertUsing(d => d.HasValue ? DateTime.SpecifyKind(d.Value, DateTimeKind.Utc) : null); + + CreateMap() + .ForMember(dest => dest.Username, opt => opt.MapFrom(src => src.AppUser.UserName)) + .ForMember(dest => dest.Tags, opt => opt.MapFrom(src => src.PhotoTags.Select(pt => pt.Tag!.Name).ToList())); + CreateMap(); } } diff --git a/API/Interfaces/ITagsRepository.cs b/API/Interfaces/ITagsRepository.cs new file mode 100644 index 0000000..73036e7 --- /dev/null +++ b/API/Interfaces/ITagsRepository.cs @@ -0,0 +1,10 @@ +using System; +using API.Entities; + +namespace API.Interfaces; + +public interface ITagsRepository +{ + Task> GetTagsByNamesAsync(List tags); + Task> GetAllTagsAsync(); +} diff --git a/API/Services/_User/UserService.cs b/API/Services/_User/UserService.cs index 4c06388..f0ab8f7 100644 --- a/API/Services/_User/UserService.cs +++ b/API/Services/_User/UserService.cs @@ -40,11 +40,11 @@ public async Task UpdateUser(MemberUpdateDto memberUpdateDto, string username) throw new Exception("Failed to update user"); } - public async Task AddPhoto(IFormFile file, string username) + public async Task AddPhoto(AddPhotoDto addPhotoDto, string username) { var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync(username) ?? throw new NotFoundException("User not found"); - var result = await _photoService.AddPhotoAsync(file); + var result = await _photoService.AddPhotoAsync(addPhotoDto.File); if (result.Error != null) throw new BadRequestException(result.Error.Message); @@ -54,6 +54,14 @@ public async Task AddPhoto(IFormFile file, string username) PublicId = result.PublicId }; + foreach (var tagId in addPhotoDto.TagIds) + { + photo.PhotoTags.Add(new PhotoTag + { + TagId = tagId + }); + } + user.Photos.Add(photo); if (!await _unitOfWork.Complete()) diff --git a/API/appsettings.Development copy.json b/API/appsettings.Development copy.json deleted file mode 100644 index 7d28322..0000000 --- a/API/appsettings.Development copy.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "Logging": { - "LogLevel": { - "Default": "Information", - "Microsoft.AspNetCore": "Information" - } - }, - "ConnectionStrings": { - "Connection": "Server=localhost,1433;Database=DatingDB;User Id=sa;Password=Passw0rd@1;TrustServerCertificate=True;" - } -} diff --git a/API/appsettings.Development.json b/API/appsettings.Development.json index d9542d8..7f5e064 100644 --- a/API/appsettings.Development.json +++ b/API/appsettings.Development.json @@ -27,6 +27,6 @@ } }, "ConnectionStrings": { - "DefaultConnection" : "Data source=dating.db" + "DefaultConnection" : "Server=tcp:dating-app-htec-intern.database.windows.net,1433;Initial Catalog=DatingAppDB;Persist Security Info=False;User ID=appuser;Password=Mujalo64!123;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" } } diff --git a/API/dating.db b/API/dating.db deleted file mode 100644 index 1dd9cd0ea16bba9f93eaa38cb8e8e34e0f9bfe7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172032 zcmeI5e{dsNUf3newk-eZy&tnW-!L~lnq79iv+}50zr9QjS(0sy^~;hxWBa%=ZK>sH zTT;vVF}8NT~Y@Z!rcMk z$Uy~CFm0-f1d5G3a>4F*4%# zc2RUV94`3x68w7({yE{_I{X`jfBZ$lE_%5f3l9#*Ak~QQHInv4;V*=*&HTdj`qWn@ zU-JBw=ZD7r%=6sD&pLk3@jDk4^>xIL3*$7`!`7_Zd;Ple(e<9P+fWnTc3$n3^oH8C zy%mzBbfS_LD~Y9STJ+gseBz5UlOnu)nVL_`mM4W9sY#N*5Qq=+A%sz-;NFIFpYU*9X7ID*j19w-W!A8 z%;d|!P3d-z^iFM6>E82+OWDGb#W$5+PHbc=;^qr4*ix32M(@cflUnbDW8t#mWznLN zdcW1{T#%-tDm@j%&O~&koIoHT`RV^+Ah1aPC#_6Drb2y5>-3;I7iJ|nR@7Ea?VOvK zB+0aTYDew%x;zzV9}Dj2wSKjy>8-(-wU&O=N|?#dG@cZiRl2h~+L79;FlA5e^1suAu7L-?F~4Bty3jS0sqzzi zEt@|y6p{PHl3LZ;n%e4JkPcY(AQjh{Q>75gEUC(XfDK=4G#DClUS`(Ll-f|KPdKf3 zXIgq;N><>oVdYF&Pe^1RftJ^HIQSg`s=H%yBPA>sO6kl>o(@Pa`s`8jVky0xE~WFy zbeRu-v;dGg8TjVKLS9UzvuPM3OKBMKGD$v)J-L3XkAsz);a^Y9Fv#uAxV_;k&W9ci zJm+y{)9N=bnS+=$)H#z+r8mKk4oT`Gz4P%5q|3Yz-+X)8?R^C*x^$)@8$X_P=KQ*B zsn1qtkDT9|bbF&-=ffFZV^%v*yE_%7v!_z^&(vth)S1f8CS+C7aMCS%8NT^>&$#!N z*Xf}3bPpRa7u-?$J)M5uVTDQb&*YN02`y?6$l1r4)2MOp86swz>W zCn)e>tIjxd!xrpn1`{o#BD-?|soAR|UeSikH$S8xuoqg8VJrjrPg%=A+#6BaWTKo* zq|z7HKG51zwGYI79kqkS?7H3F;GFZ}7*{J8ntFP7C(&**0kO{$XSC{cI;K-Blqi*1 zfN%cQ_PEbJB2X0LXN6iUt#<^PG3F zzuVBNL|M;P^b&E)#GY=M-eqC_eNS*|ho&45GHFwNWgX)5C<* z?Uf|wtNtNfBlFI|sz}JllR8BbSUno%E>EvD&sN|QhjgT(HDTFcTP4D(_`N>3yk~BP zERdgZIE4R7-rx%fAOR$R1dsp{Kmter2_OL^fCP{L5_o43c+Tl^6y$&$_6Nd#DJDvh zMLD`C#TR0cKrAN5ZqP3)$@Sx?$R{N+A&S$bGs5eSxAaQiE(=}n&!E2SK3Mw2n0j%olFgW4+uZG zv?`n*v)UGvq)@^fwR;gm*G6t*0rCB>hn{O*ILU z^vwREL-_B)&k8>z^n|?NhdTgYh9G<)0VIF~kN^@u0!RP}AOR$R1dsp{c$*P;-c@j3 zc(cHB&9%Z)4Zlw?@gY}&rxA&7cvG+&-2_OL^fCP{L5$;O|G*7qaof1aP z0J^WeYuf3$;^ceM&UGe7Tysvg8|5r?WX8jz$oKzq!jVJxn(!szi^Bg9ep~pg@T01wZJ3%gPav3L=F>)ED(Ju0KWYp#KjI;Isu|xPv;eQMNN%)lT z^TNLpenR+1!ru};F1!ls{9}4&;P-^j3%@1&y6_)`pA!Cw@FT(x3!i*)2Qd~2AOR$R z1dsp{Kmter2_OL^fCP{L5^y-k3Ve=SK0q#Ba(R|qF3|=0`|0(4^!i>B{2u!D8S+-3 zZ)eHd8FHB>mnj-JN#1(s+X;Gg)9X0Bj?wEVN#de!M_ewChphi61=#=ZFJYbk$HE^7 zzbkwWo(1?X@Ed?%gkXFj0VIF~kN^@u0!RP}AOR$R1dsp{Kmu_yXg9V#9aSR3BOF%|9>X@iSQNS_hBEv&%t;7zajh@1mg<{ zAOR$R1dsp{Kmter2_OL^fCP{L5_nq?7?|}b;j>`~Y|Mx-o{G1U+-jBgQd?5iO zfCP{L5G?##%C| z29N6rGhst}abz@p?b4RNvcD3{WDhEup6>bg?`~%0jXi5ef06+TeCgUHWqbXkuY_Z* zaALhB>8agg>169@FeUl@|CI294&evkss29{{#^KP@C3k52|p+NXW>WjG=O)zDr5hU z01`j~NB{{S0VIF~kN^@u0!ZMSNWkOrIuof}CO<{qr4n~C<;f}6WoLOUlh3D1o(b0_ zXD+c-n3yDc`WH%-bjeM^Duq;PoP?D&Dyy0F7zxW3GUZWHOfFGcDY(eHwL~eMA91@b zd9s;uf_(o!BK)31_$plRg#?fQ5$>K&mj5Hu zuB#q%{ZGFCcL|?zz|Mca4S(>31dsp{Kmter2_OL^fCP{L5`SB1xIW{`jeLIOBhJq{H{Xo<%reG>ar*vYYu4?(e%%azE8ZA&I3Hc_DZ33d z(QW6|UP*7LUE5nBSxP4=X|a-6%BDr1EygFlI5R22%a^J7#7w@DUP+h4e4!%dH?mnV zS;&_wr38eFzT(;r%lO?_+};o0a6Y`EwQA~dX444X=&BuB@ea9WYAmrCDjIFbv-M~7J+0N2V8I`HLK_A$o^At+w6~%0LAUpX>&}OlDF#9(uQb&Rk%>*f zSBwfb@|pFGG)S1zA4qMlibQltEqT4uR2td?wMI%MJ)RrdW0JvWIC;ydTfyIQPLHh= zhQ6F`hSg(Muy6j>v*X_N8%_u9aQCpG_0%1u-_z;mGg>H}Qoy-Ko0r_)8#kPf_iUzO zs@SR2A26CdU@~T6AY_=0p%G_H=Vc?_X#08bLk-MUO|g`L?M=4Cwe*&yelLrrF&Nd@ zi&^G&Y8GRlAx-I;u$K#^bY>-Ql*|!}rSx(dHc?5Y%iIWQHlh;XA?As3rqbCoIFn?e zoJ^$BZ=?mJMcguc;$RC5kn=-YK(n3Sf|<$rN3Qp~y?(#*wYW{Rq~T17EPG&|y~BiS zCAXye^iI*9+b*=kMx~I+Lw&h)zVehx;iIjroU~P+SV?a(U(EB;xI0RtKO}Of8dxoR zOZ5Px@ZtB3d&~Zd?X#jEsNkh-2FgO7eRS=;OpJY-7>V>*yk(;7^QB>8w31t5G<54c zBlJ-RU+n1jHTa%^GdIRS&YikJLma1~or&1XiLcS^94fW(QE3-Ib!B1 zQd+m&P)_VphY1l^h6@zRZifSs=WQO8{9wyL-nxvOKwT+={>AfxKFh68|q;%5YU_JVXc#B!+NUomxI6k0qry^f$!7TP= z$T^>Jje9>DJ#UcO*-0jZjQLU(Wvv)0&U*VL_-5z z15Nb}O=Fpe*&bpmY(8+#`s|#7Y_j7H3_MJ&U+vw2`51KcRI$MQVZ!P5N|N(c|B$X_ z_3FW3RU~BONu44ItR6j$(VwkgKnZzADq2(R+V#dj1AUlrryOqA-*ruYQ23j(e?EIM z@o%O->-u5xpYyV#=lJ66uR3ncR$L3yiRlC^&2J4X&%-Z|do$P1QP`X zPW{V~hoqbB7unkJI$b&u|3&JztsO~FciL$3;M#E@wSCb>^FWVmYe$~eH~*b4xV_h4 zwd$cYrkje^I9=VOQJt|ywbEQr2~Fsm-~Cp%Hwfs*Xbo_Gp?FX4>D`?~yG@#rsj<(V z!CHo-W7VL7V za=?9vLuU<%DvT=KWzbEvmel*L-q~AX-0vi{-g#3<@CWCOXl8Cwc<0;#I;zrBPdj^_ zHwAHp`jXb^-8<#Cc?xC_XNOuE4y~(eohB*%^zA;Le}(GuIfZ9hJ+%Wa7X)!;Z3=O0 zT(ONQwpsI9OFwEQ%#5d2QCX$iOMp+kZ!T<4Cx9_T@AuLza-;JJ%_n0GO=l9cwIQqP z2U=@ySvS{twn%HTavnk}1<@(H)3y~;RJz?Gy;ECNx~7Qi(f9P0n(vbzstsWXeuu|C zg{aCZs2Zr^>8TSJW#vd;R;nwJujNFy_sSLL_cbYa?*94T>x1xl@EdcER;~*L0IJx7F=sd?A8|<~RT*Y) zMjbG+otN1hg;HumrEc#$5t=E7%^$hOn~8`*lUe^cZDwQbg>{-k^0|t|Qarh~Q;NjF z52%vaaMHWMd!zQKH=<6ZG<>(0B z0!RP}AOR$R1dsp{Kmter2_OOd{vUM!2_OL^fCP{L5||xhffm|^pD$3|BR2*KVxI`&*&)q z<8skIBO{}u9=85>34dgK|Njl`4pxQ)kN^@u0!RP}AOR$R1dsp{Kmter3A{A~;HLoa z{Xe<7N5~HX#>wyhM;*^OrXM+;^E^BHiDA{gu8n`lG2z|F1g|+JEJ*B7VE%CnE&>){KwzRG$cGPx9 zy{EQnDl}#xr#DC>O~EVF8#*hvq3r4%D6Oiuy6RycDp!xIYP+ZQJEE%fyG^}j{)KAA zrn1*k#3n0JuT~Ycs`M7bvIeau@%vB8!r|5Q|0RP$-n6(9~m!f_Im7tEx8vu`V_>(t>Kgt<@Besn`X5Q0EKjLz8K8of|zS{sz2sw53LUyqBV0`tV<{PR zf~YUrm})gEVY{PiH5EYfeo?#%G_%pRnnn4Vg>$f^JNNZQzYRTB3CjhrCJ{;}D$^w@ zMK8QW1J!_b+tk(2?JV@H$#@dU6jG_gdIDaVL}E+XBk$5n%Qx>PH@DUfS8I8ByQkmW z4fb-|T5hS5+dS-S9k!zJEh*b;#y1k$Qfq%NaeHqo(W=%G8NE@s*;_rjb!#P^S1_&25FKGcTUCn;I-wH?wsWoT0&hSqEr3 z)7Ali3@|t}(-|;1Q3GueGZVSvwXvWUMzew$L&2;DZj|)Xg1BM0TEl-EqBK6yF~$fo zT|XT;h?}wOlqLb;+PVk?HSqRDE+)I`u^uv*Hr+CZnFW!#M^gb=7r|Td-WXbDV7Ahc zp^k`=dT=AwESBp8@sB1hUZMhn+A(+YX3xO;(4ofQVTOxFi;Us0rFVOsevP#1toty7J&&* zG$i|#Xszb2MS^mCHy~Gcqw(ZDm?-p`N>|Ku8%m1|c;IqEFy@)&AjKn58Wbm9hM=qZS?e456?Y1RFpWL`c~+oehT@*$b7XThyJ{Q8%x&IsB8J8?y&;-mY9KdA<`GDfZ3Ji& zj1-_XMZMEgI}CHgF9%J`1vYabW^U(1yTR<9mSia~LqWSl2UD%hMqA6p@L=k(&KqHA zB$;nmjtt%|hVr5k&P)mG$gBKjb*wGlp1 z>b-7w<8DZ;W#hLK-IHatDphL-w^#GkJs9veqifsIq@1d(7Q%(~l}Ku9yPV8yW=kt_ zqL?Vcyb6T%_`w($+trOAF}Atyd31{y+iQN)*jCg|Q)%_|R=qCQRVlpd4~MEjf2b~1 z{V_#W{lVRc9EqvYZX^;+w0hbeXe-#7xTJJ;`!$6xD}n)28DLov@dqTo1O?KC1%b~5 z&V_1Dyezh00X&u~+&btfQ%g&61_mY$-5B~wJ$CgQNJ}SfO#g|%N!f-ZiQs7omJkk_}xYd`TVi;8EcxCm7Di|Qh%q)8Q+JzbQ$;o9U|Nd#h7IwopB8@0qfpa>#*&g@4ZwU6 z$HQ#iES;|@3|9b70tRqcIO)c8-Wa3!#GNyvJPpsqI!MJtM>iuFrdnKUY<**s3jn=Q zS0V0_87XfzUB2`}Hhos^gJrChd!_sEBd@|6zAL zFboMG0VIF~kN^@u0!RP}AOR$R1dzbHivU^wyM)gBNNB{{S0VIF~kN^@u0!RP}AOR%s zjw3+U|I@;!9Kv4;eCJRY+Dzia#_ z98-VC{ZsG08pOBJ1M0aM--j%ztmYON%5AH@%TB39uYRiHB(B8`0{@r%tZgoiu$Ew{M%dL3l zMpM11C)RH+HP+L$l}M+woG!0a;e?FRTDBA{$(7~k($ZF8dwC<54s9l~iCnOlP6Xw= zLK^n*@0f%mGUhg}8AoJ1+VR4M*^lEUhb$ZpqPMCs*or$+gMF?;HP|gXD#Lj^;aJ=+ zhvK{Sdbn1Xc5B)GvD)0#`<*?u)ibcNZ%iMJkrOlI0NEltYdikLI3UB=p&T|iW}8-9 zdoY`uxEnjotHvoR>?jAm`~1Qk^Bfbp)$_o{*b3k9+T0M`*iV^m8clX)hW)4Mme#Ph zy8Q$Ta;QRr9)m-UU@$j}rkg<pppfNX3|H}EET*%1*&M%ZkfH-sg%Ylm^}fbHB8IGqB{P+4l}$y$p-Qnv)a3O84{V1&w=qY}`=gIPa+z4SC3=p8mkA7xP4oSsjK0qRPdyf%xI*31h>2X0FBo78!a%33V}cb05@tI1kDmX_P}Z za;Il$n7h<(m`9G88|GUZywjR^i|iUpO^=xdAn03XK~Ys^M-Lc#>D#rM_%WJ-3kBpu z4%i^O=+g@i=agn9%W&jT%Q^xhU>&?uCI>$dL$;qG!R2Rlh8(bAcntH@E53uhWmWVX zD%u3vUGrQvrWJ;hP7oJNRLT@J5xiN5;n9hY0VMX8fm<*fwsk<6xmUlr`M$!=y5fEU z%7$Zns0dgO;cyyy7#y7W0mmgUEdzhc)7#}u^McQzGT;e}Uff|vbx<{+ax~oshetzc zJa3z+zIG*my1`HJ+~8@-#32khdn2*3o;^N!a5LZBUt7BIV7GhR-wyVUbwxQy=L31Y zbg#XdJ6Wwaa`Eg@(co+i=qNW;N;Yw>jxKBXr(0xBlu!$ti}f z<;;`CRywNM+UvE4r-QzHD@w;a-tJCn~Atp zYLA8m7$?6Oj*J)=Iq@%Jo$|-E+}0`{L>g-i)m)cBVY6Bn&Qmd_&@oYh6Z>L|a(ICp zH4zI-DLN^mPSY}Zp5644V2jM*5obm`89$^XXPmm&w_F5iH=RU@IeOZk(H+u2uqJAt z&~5G!!G7W3FgRw4OuGgTP+^k`vn_P!AcfN+=y+rl&Am5wAqC^WM*HY?%ujRV?w3qI zsH@?wm5xVnspXR+`EYgVxZ7!Lrz-M;+gUg( z!{83WqOu|9P7O@$Z3=9hc*WDfpw48#$1g*uNp=XS3T18T0AVl;8%;01MWip&~6lt*sO+Np|Kl`D&bnN9*>60_m#%3(jn(1)x_Iy znlBvssJ4vL?qJDF%sb|n29Dlh%aIT}dMjy+Q{cGy+=oy!l?oq z9-EmFDFDU+f0bpS(lOQxgQ8&eOB}6D`N&XeGi)$Es?mcv=~!zoSUm=%B?B>S z7Lz;8M@JVJpbSeehaWy}aOYzznvLX4Nw{hoB$(CHaRs`{Ro14*?3_w+vK(C<9P>#$ zw;9?XGXJLj2|)2VhQ0d+QoCO;rX+)>1w(dd1s4*r8^g+Z7r~pr9BI!w08}=YpE-K8 zubm%l8ug^yZ!t4BtwuBc0o{3h?`_0A~?g2>Y1FniK4#438Dt>w=or6%Z8cP%7rW8S!D6O15 z{jw<6x3@P}xAwc;-hOj=tD88f?L9c&lR~Ba+-4%SS6#ljbze#a?v{Fo`J8L+za02O+5e32rS$>oqX*I^1-PNp*iLtOVe`M7SD>!d+J- zP=%RwOEC`OBexyw=X=B53n^e8#Ft_dNaGF`V@j375G?~`s2!OEa^TdAjcg43LYCaI zg!>7GhR_n=5J$^msLog;7*l-^JG*sfh|ipafv(XErqz(OIU9$lAeq--O=gpE>-N|& znP3_vLldkzxf%09sWw;|YRoi@9?)tmMYP|GB$EVYGDb;crav&cb3Nsr$EbweMx@p9 z7{kMYg;PVKDL^IH$hphx9wyvDkC@iXM8JpM5q@F(o&c zh@)d7Ha&x(SKxQeyV+dTpbW;B)CKO!td91EKqp)irF8zxq<*!vdb1PCq+qQdOg8EV z$(xb-Zt*apCQfc>+x>P%s^`P)&`~j0Y%TTFl9FG|YzMP+|DGI7DRg>MC6_8@J!am7|Nn@Inj@u@A)LN%}=3x#<`Ez?9=M&$h3^3b)rk zl`*&&j4a6UKr|MzXY^i_5pEm@0}HVj&6*A@1f)t2EVsiLQlmvIZ4VFT%Nobghs?7VL2K* zRUVI$gQ2)tUhcinC*D4LpIGx`a_3zRgu~L1;#ia%j!R~7#rFVOD2^gJh1M)lUI<0v zkx=k-hoLf{4#hN+nJpug88u7PV!p}rc%&G zc`+PY496E@pimJBWI8lT4w_BO&JeLA&Z-(OEEr!1!WT$#bO0i)hegR!+-zHJnhE)g z;+my_kVEm96ad>i)if|!8J65ok6B!Pis>LN4)_gpHLw^4JC7`c1A%xvFwi;{6z_4~@cc%awd`&zN3ig15%-%_a%{nb`v5yTI|m*K_h zG-JXG;b1rz4F}CGRNPaJ>rg4}LUXrXJ816Lx~<(ad1Yxq3PnO;O9xn~(qbS=WFW<& zve}i&=#=9cH_iiPzk9ECuy6Zzj5mlE3auS%E0h|B`XDqCHA{tIDL9O0Y4Uldl1Af^x7U+O2=**tX5De7*OSa z&Aj2uHQJy+Z~?3ye&`rAJ7$}RaZccI$Q`|!I5rE{_XKf1qJJFMM1?42mpn;QI#UcK3GH*}?T^S%^?M=Rh*DbdKy zCzZU=ZtX=T-43V6p?N0FdfH4p%#TB-clRP&7U1q)1Djf~O|UN7-77%1U$XB~3Vw&} z8e&b8Pe1=oc3xq-A&_VBaaXUpR@KPvQ!Pztnv)!|ONF_igt5KAH)B^XSdm|zfQxUG zod4%|#^DftMff88gDVNZ7ZN}MNB{{S0VIF~kN^@u0!RP}AOR%s<`DRxEABjqJSgVZ z>c!@Esb4O3ws(RL!pBGBBx?U~Cm>0A*akaSD>SxXOU>Q;>fR{SUCeK6u5WGc#n+Df z%}ir0nN)+v^@NM$+VWTSSAv=BK}FNkJ^%jQ&8)n!Hv+jnsBEvF^p$X|6;7w{OrG<-I@8y%y-S?J^$A8`qZPTP0uqEKjygt=aJwG2_OL^ zfCP{L5}*VgeW&F1zVL$c@%QwU-G-{xcgQC0J6Y`jw(+)qm`|3{iAq|mB$l#i(Kit1 z6JMN}6yfD7!xmUobpw8{nW_22Oumv{NteWYp(5rtve}o7RHXFU1&NY{e7RCeKoO#^ zxW*df6N{w`Y%0DbuBErc7YA#5S@hYFE7-9)1~S3miLBpDohL!RoX{k($l&eDmSJxHog%>7dni58?YWbq6-3*6HURTfQC1 z_ThzBlQ-So>(`wh%TXn?McLj?4Jx25#!^2kkf>iJy$O0}=$>d-1W+g|Dd4lI71vR# zS4KHD{UwUi0)VHg7$)z5iWo?n1bpJ4!daEh52zarr(z~@8>VYBlk;HD<)=`sv!bRN zXIDW}wdUn(r|dTO>tgh(ERUaN4MSBcEB{NW)M>9qB-7rslRh#GB>y4jd<` zJzxVAGq>-2!R@^UH8Q82ZYo;ibaj)14%A9>K_xVyZ+`b%-QFNj9HV^#cV8siNOpG; z?KWw0rp7*d25T9Tj#bA}lkS)W_~!SXhoR>R?*-(|!2u8Oq(*nAtO7i!ga=HVsfNdx zNm)HSnAF4z@y)lNb9-NbiZ1ca@MJqBwW_r>wbirga-Uz9E%n*z?2+^2`G1%2hYsQY z3V#ZJ@P!1B01`j~NB{{S0VIF~kN^@u0!RP}yyFRsx?CQoXLJOv?olUP$I0*iUBZ{i z`v0r&2VY142_OL^fCP{L5 Date: Wed, 28 May 2025 02:49:10 +0200 Subject: [PATCH 06/21] partial done neads fixing --- API/Controllers/AccountController.cs | 2 + API/Controllers/AdminController.cs | 60 ++ API/Controllers/LikesController.cs | 3 + API/Controllers/MessagesController.cs | 4 + API/Controllers/UsersController.cs | 91 +++ API/DTOs/PhotoApprovalStatisticsDto.cs | 2 +- API/DTOs/TagCreateDto.cs | 5 + API/Data/DataContext.cs | 7 +- .../20250518164536_SqlInitial.Designer.cs | 524 ------------------ .../Migrations/20250527110712_AddPhotoTags.cs | 22 - ... 20250527175823_InitialCreate.Designer.cs} | 4 +- ...ial.cs => 20250527175823_InitialCreate.cs} | 58 +- API/Data/PhotoRepository.cs | 4 + API/Data/Seed.cs | 15 +- API/Data/UnitOfWork.cs | 3 +- API/Data/UserRepository.cs | 4 +- API/Data/tags.json | 7 + .../ApplicationServiceExtensions.cs | 9 +- API/Interfaces/IPhotoRepository.cs | 10 +- API/Interfaces/IUnitOfWork.cs | 3 +- API/Interfaces/IUserService.cs | 20 + API/Program.cs | 1 + API/Services/UserService.cs | 9 +- API/Services/_Admin/AdminService.cs | 45 +- API/Services/_User/UserService.cs | 79 ++- API/wwwroot/3rdpartylicenses.txt | 10 +- API/wwwroot/index.html | 2 +- API/wwwroot/main-ODNDNOZK.js | 22 + API/wwwroot/main-XWFP3YCG.js | 20 - client/src/app/_models/Photo.ts | 1 + client/src/app/_models/Tag.ts | 4 + client/src/app/_services/admin.service.ts | 7 + client/src/app/_services/members.service.ts | 54 +- .../photo-management.component.html | 238 +++++--- .../photo-management.component.ts | 59 +- .../photo-editor/photo-editor.component.html | 235 +++++--- .../photo-editor/photo-editor.component.ts | 123 ++++ 37 files changed, 962 insertions(+), 804 deletions(-) create mode 100644 API/DTOs/TagCreateDto.cs delete mode 100644 API/Data/Migrations/20250518164536_SqlInitial.Designer.cs delete mode 100644 API/Data/Migrations/20250527110712_AddPhotoTags.cs rename API/Data/Migrations/{20250527110712_AddPhotoTags.Designer.cs => 20250527175823_InitialCreate.Designer.cs} (99%) rename API/Data/Migrations/{20250518164536_SqlInitial.cs => 20250527175823_InitialCreate.cs} (89%) create mode 100644 API/Data/tags.json create mode 100644 API/Interfaces/IUserService.cs create mode 100644 API/wwwroot/main-ODNDNOZK.js delete mode 100644 API/wwwroot/main-XWFP3YCG.js create mode 100644 client/src/app/_models/Tag.ts diff --git a/API/Controllers/AccountController.cs b/API/Controllers/AccountController.cs index 071fa11..d18b703 100644 --- a/API/Controllers/AccountController.cs +++ b/API/Controllers/AccountController.cs @@ -17,6 +17,7 @@ public class AccountController(UserManager userManager, ITokenService t /// /// POST: /api/account/register + /// Registers a new user with the provided registration details. /// /// /// @@ -45,6 +46,7 @@ public class AccountController(UserManager userManager, ITokenService t /// /// POST: /api/account/login + /// Logs in a user with the provided login credentials and returns user details along with a token. /// /// /// diff --git a/API/Controllers/AdminController.cs b/API/Controllers/AdminController.cs index 6f36299..c324bb6 100644 --- a/API/Controllers/AdminController.cs +++ b/API/Controllers/AdminController.cs @@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.SignalR; using API.SignalR; +using API.DTOs; using Serilog; namespace API.Controllers; @@ -17,6 +18,7 @@ public class AdminController(UserManager userManager, IUnitOfWork unitO /// /// GET /api/admin/users-with-roles + /// Retrieves a list of users along with their roles. /// /// ///[AllowAnonymous] @@ -45,6 +47,7 @@ public async Task GetUsersWithRoles() /// /// POST /api/admin/edit-roles/{username} + /// Edits the roles of a user specified by username. /// /// /// @@ -75,6 +78,7 @@ public async Task EditRoles(string username, string roles) /// /// GET /api/admin/photos-to-moderate + /// Retrieves a list of photos that need moderation. /// /// [HttpGet("photos-to-moderate")] @@ -103,6 +107,7 @@ public async Task GetPhotosForModeration() /// /// POST /api/admin/approve-photo/{photoId} + /// Approves a photo for publication by its ID. /// /// /// lorem ipsum @@ -134,6 +139,7 @@ public async Task ApprovePhoto(int photoId) /// /// POST /api/admin/reject-photo/{photoId} + /// Rejects a photo by its ID, removing it from moderation queue and deleting the photo. /// /// /// @@ -160,4 +166,58 @@ public async Task RejectPhoto(int photoId) throw; } } + + /// + /// POST /api/admin/create-tag + /// Creates a new tag with the specified name. + /// + /// + /// + /// + [HttpPost("create-tag")] + [ProducesResponseType(typeof(ActionResult), StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status404NotFound)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task CreateTag([FromBody] TagCreateDto tagDto) + { + try + { + _logger.LogDebug($"AdminController - {nameof(CreateTag)} invoked. (tagDto: {tagDto})"); + var createdTag = await _adminHelper.CreateTagAsync(tagDto?.Name?.Trim() ?? throw new ArgumentException("Tag name cannot be null or empty.")); + return Ok(createdTag); + } + catch (Exception ex) + { + _logger.LogError(ex, "Exception in AdminController.CreateTag"); + throw; + } + } + + /// + /// GET /api/admin/get-tags + /// Retrieves a list of all tags. + /// + /// + [HttpGet("get-tags")] + [ProducesResponseType(typeof(ActionResult), StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status404NotFound)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task GetTags() + { + try + { + _logger.LogDebug($"AdminController - {nameof(GetTags)} invoked."); + var tags = await _adminHelper.GetTagsAsync(); + return Ok(tags); + } + catch (Exception ex) + { + _logger.LogError(ex, "Exception in AdminController.GetTags"); + throw; + } + } } \ No newline at end of file diff --git a/API/Controllers/LikesController.cs b/API/Controllers/LikesController.cs index 2340cfc..da9b5a2 100644 --- a/API/Controllers/LikesController.cs +++ b/API/Controllers/LikesController.cs @@ -18,6 +18,7 @@ public class LikesController(IUnitOfWork unitOfWork, ILogger lo /// /// POST /api/likes/{targetUserId:int} + /// Toggles a like for the specified user. /// /// /// @@ -47,6 +48,7 @@ public async Task ToggleLike(int targetUserId) /// /// GET /api/likes/list + /// Retrieves a list of IDs of users that the current user has liked. /// /// /// [AllowAnonymous] @@ -75,6 +77,7 @@ public async Task>> GetCurrentUserLikeIds() /// /// GET /api/likes?predicate={likesParams} + /// Retrieves a list of users that the current user has liked or who have liked the current user based on the provided LikesParams. /// /// /// diff --git a/API/Controllers/MessagesController.cs b/API/Controllers/MessagesController.cs index f05c769..b79a95e 100644 --- a/API/Controllers/MessagesController.cs +++ b/API/Controllers/MessagesController.cs @@ -18,6 +18,7 @@ public class MessagesController(IUnitOfWork unitOfWork, IMapper mapper, ILogger< /// /// POST /api/messages + /// Creates a new message. /// /// /// @@ -47,6 +48,7 @@ public async Task CreateMessage(CreateMessageDto createMessageDto /// /// GET /api/messages?container={messageParams} + /// Retrieves messages for the current user based on the specified parameters. /// /// /// @@ -77,6 +79,7 @@ public async Task>> GetMessagesForUser([Fro /// /// GET /api/messages/thread/{username} + /// Retrieves the message thread between the current user and the specified username. /// /// /// @@ -105,6 +108,7 @@ public async Task>> GetMessageThread(string /// /// DELETE /api/messages/{id} + /// Deletes a message by its ID for the current user. /// /// /// diff --git a/API/Controllers/UsersController.cs b/API/Controllers/UsersController.cs index 1c099b6..0dddece 100644 --- a/API/Controllers/UsersController.cs +++ b/API/Controllers/UsersController.cs @@ -1,3 +1,4 @@ +using Api.DTOs; using API.DTOs; using API.Extensions; using API.Helpers; @@ -18,6 +19,7 @@ public class UsersController(IUnitOfWork unitOfWork, IMapper mapper, IPhotoServi /// /// GET /api/users?predicate={userParams} + /// Retrieves a list of users based on the provided user parameters. /// /// /// @@ -47,6 +49,7 @@ public async Task>> GetUsers([FromQuery] Use /// /// GET /api/users/{username} + /// Retrieves a user by their username. /// /// /// @@ -75,6 +78,7 @@ public async Task> GetUser(string username) /// /// PUT /api/users + /// Updates the current user's profile information. /// /// /// @@ -103,6 +107,7 @@ public async Task UpdateUser(MemberUpdateDto memberUpdateDto) /// /// POST /api/users/add-photo + /// Adds a new photo for the user. /// /// /// @@ -131,6 +136,7 @@ public async Task> AddPhoto([FromForm] AddPhotoDto addPho /// /// PUT /api/users/set-main-photo/{photoId:int} + /// Sets a user's main photo. /// /// /// @@ -159,6 +165,7 @@ public async Task SetMainPhoto(int photoId) /// /// DELETE /api/users/delete-photo/{photoId:int} + /// Deletes a user's photo by its ID. /// /// /// @@ -184,4 +191,88 @@ public async Task DeletePhoto(int photoId) throw; } } + + /// + /// POST /api/users/assign-tags/{photoId:int} + /// Assigns tags to a photo. + /// + /// + /// + /// + [HttpPost("assign-tags/{photoId:int}")] + [ProducesResponseType(typeof(ActionResult), StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status404NotFound)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + [ProducesErrorResponseType(typeof(void))] + public async Task AssignTags(int photoId, [FromBody] List tags) + { + try + { + _logger.LogDebug($"UsersController - {nameof(AssignTags)} invoked. (photoId: {photoId}, tags: {string.Join(", ", tags)})"); + await _userHelper.AssignTags(photoId, User.GetUsername(), tags); + return Ok(); + } + catch (Exception ex) + { + _logger.LogError(ex, "Exception in UsersController.AssignTags"); + throw; + } + } + + /// + /// GET /api/users/tags + /// Retrieves all tags associated with photos. + /// + /// + [HttpGet("tags")] + [ProducesResponseType(typeof(ActionResult), StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status404NotFound)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + [ProducesErrorResponseType(typeof(void))] + public async Task>> GetTags() + { + try + { + _logger.LogDebug($"UsersController - {nameof(GetTags)} invoked."); + var tags = await _userHelper.GetTags(); + return Ok(tags); + } + catch (Exception ex) + { + _logger.LogError(ex, "Exception in UsersController.GetTags"); + throw; + } + } + + /// + /// GET /api/users/tags + /// Retrieves all tags with photos. + /// + /// + [HttpGet("photos-tags")] + [ProducesResponseType(typeof(ActionResult), StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status400BadRequest)] + [ProducesResponseType(StatusCodes.Status401Unauthorized)] + [ProducesResponseType(StatusCodes.Status404NotFound)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + [ProducesErrorResponseType(typeof(void))] + public async Task>> GetPhotosWithTagsByUsername() + { + try + { + _logger.LogDebug($"UsersController - {nameof(GetPhotosWithTagsByUsername)} invoked."); + var photos = await _userHelper.GetPhotoWithTagsByUsernameAsync(User.GetUsername()); + return Ok(photos); + } + catch (Exception ex) + { + _logger.LogError(ex, "Exception in UsersController.GetPhotosWithTagsByUsername"); + throw; + } + } + } \ No newline at end of file diff --git a/API/DTOs/PhotoApprovalStatisticsDto.cs b/API/DTOs/PhotoApprovalStatisticsDto.cs index 09f7529..c160506 100644 --- a/API/DTOs/PhotoApprovalStatisticsDto.cs +++ b/API/DTOs/PhotoApprovalStatisticsDto.cs @@ -4,7 +4,7 @@ namespace API.DTOs; public class PhotoApprovalStatisticsDto { - public string Username { get; set; } + public string? Username { get; set; } public int ApprovedPhotos { get; set; } public int UnapprovedPhotos { get; set; } } diff --git a/API/DTOs/TagCreateDto.cs b/API/DTOs/TagCreateDto.cs new file mode 100644 index 0000000..a0344b2 --- /dev/null +++ b/API/DTOs/TagCreateDto.cs @@ -0,0 +1,5 @@ +namespace API.DTOs; +public class TagCreateDto +{ + public required string Name { get; set; } +} diff --git a/API/Data/DataContext.cs b/API/Data/DataContext.cs index 58bf1be..fb3d591 100644 --- a/API/Data/DataContext.cs +++ b/API/Data/DataContext.cs @@ -1,4 +1,4 @@ -using System; +using API.DTOs; using API.Entities; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity.EntityFrameworkCore; @@ -10,8 +10,9 @@ namespace API.Data; public class DataContext(DbContextOptions options) : IdentityDbContext - , AppUserRole, IdentityUserLogin, - IdentityRoleClaim, IdentityUserToken>(options) + , AppUserRole, + IdentityUserLogin, IdentityRoleClaim, + IdentityUserToken>(options) { public DbSet Likes { get; set; } public DbSet Messages { get; set; } diff --git a/API/Data/Migrations/20250518164536_SqlInitial.Designer.cs b/API/Data/Migrations/20250518164536_SqlInitial.Designer.cs deleted file mode 100644 index 9a0c4c4..0000000 --- a/API/Data/Migrations/20250518164536_SqlInitial.Designer.cs +++ /dev/null @@ -1,524 +0,0 @@ -// -using System; -using API.Data; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; - -#nullable disable - -namespace API.Data.Migrations -{ - [DbContext(typeof(DataContext))] - [Migration("20250518164536_SqlInitial")] - partial class SqlInitial - { - /// - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("ProductVersion", "9.0.2") - .HasAnnotation("Relational:MaxIdentifierLength", 128); - - SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); - - modelBuilder.Entity("API.Entities.AppRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasColumnType("nvarchar(max)"); - - b.Property("Name") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName") - .IsUnique() - .HasDatabaseName("RoleNameIndex") - .HasFilter("[NormalizedName] IS NOT NULL"); - - b.ToTable("AspNetRoles", (string)null); - }); - - modelBuilder.Entity("API.Entities.AppUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); - - b.Property("AccessFailedCount") - .HasColumnType("int"); - - b.Property("City") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasColumnType("nvarchar(max)"); - - b.Property("Country") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.Property("Created") - .HasColumnType("datetime2"); - - b.Property("DateOfBirth") - .HasColumnType("date"); - - b.Property("Email") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("EmailConfirmed") - .HasColumnType("bit"); - - b.Property("Gender") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.Property("Interests") - .HasColumnType("nvarchar(max)"); - - b.Property("Introduction") - .HasColumnType("nvarchar(max)"); - - b.Property("KnownAs") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.Property("LastActive") - .HasColumnType("datetime2"); - - b.Property("LockoutEnabled") - .HasColumnType("bit"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("LookingFor") - .HasColumnType("nvarchar(max)"); - - b.Property("NormalizedEmail") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedUserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("PasswordHash") - .HasColumnType("nvarchar(max)"); - - b.Property("PhoneNumber") - .HasColumnType("nvarchar(max)"); - - b.Property("PhoneNumberConfirmed") - .HasColumnType("bit"); - - b.Property("SecurityStamp") - .HasColumnType("nvarchar(max)"); - - b.Property("TwoFactorEnabled") - .HasColumnType("bit"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedEmail") - .HasDatabaseName("EmailIndex"); - - b.HasIndex("NormalizedUserName") - .IsUnique() - .HasDatabaseName("UserNameIndex") - .HasFilter("[NormalizedUserName] IS NOT NULL"); - - b.ToTable("AspNetUsers", (string)null); - }); - - modelBuilder.Entity("API.Entities.AppUserRole", b => - { - b.Property("UserId") - .HasColumnType("int"); - - b.Property("RoleId") - .HasColumnType("int"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetUserRoles", (string)null); - }); - - modelBuilder.Entity("API.Entities.Connection", b => - { - b.Property("ConnectionId") - .HasColumnType("nvarchar(450)"); - - b.Property("GroupName") - .HasColumnType("nvarchar(450)"); - - b.Property("Username") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.HasKey("ConnectionId"); - - b.HasIndex("GroupName"); - - b.ToTable("Connections"); - }); - - modelBuilder.Entity("API.Entities.Group", b => - { - b.Property("Name") - .HasColumnType("nvarchar(450)"); - - b.HasKey("Name"); - - b.ToTable("Groups"); - }); - - modelBuilder.Entity("API.Entities.Message", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); - - b.Property("Content") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.Property("DateRead") - .HasColumnType("datetime2"); - - b.Property("MessageSent") - .HasColumnType("datetime2"); - - b.Property("RecipientDeleted") - .HasColumnType("bit"); - - b.Property("RecipientId") - .HasColumnType("int"); - - b.Property("RecipientUsername") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.Property("SenderDeleted") - .HasColumnType("bit"); - - b.Property("SenderId") - .HasColumnType("int"); - - b.Property("SenderUsername") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.HasIndex("RecipientId"); - - b.HasIndex("SenderId"); - - b.ToTable("Messages"); - }); - - modelBuilder.Entity("API.Entities.Photo", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); - - b.Property("AppUserId") - .HasColumnType("int"); - - b.Property("IsApproved") - .HasColumnType("bit"); - - b.Property("IsMain") - .HasColumnType("bit"); - - b.Property("PublicId") - .HasColumnType("nvarchar(max)"); - - b.Property("Url") - .IsRequired() - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.HasIndex("AppUserId"); - - b.ToTable("Photos"); - }); - - modelBuilder.Entity("API.Entities.UserLike", b => - { - b.Property("SourceUserId") - .HasColumnType("int"); - - b.Property("LikedUserId") - .HasColumnType("int"); - - b.HasKey("SourceUserId", "LikedUserId"); - - b.HasIndex("LikedUserId"); - - b.ToTable("Likes"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); - - b.Property("ClaimType") - .HasColumnType("nvarchar(max)"); - - b.Property("ClaimValue") - .HasColumnType("nvarchar(max)"); - - b.Property("RoleId") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AspNetRoleClaims", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); - - b.Property("ClaimType") - .HasColumnType("nvarchar(max)"); - - b.Property("ClaimValue") - .HasColumnType("nvarchar(max)"); - - b.Property("UserId") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserClaims", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.Property("LoginProvider") - .HasColumnType("nvarchar(450)"); - - b.Property("ProviderKey") - .HasColumnType("nvarchar(450)"); - - b.Property("ProviderDisplayName") - .HasColumnType("nvarchar(max)"); - - b.Property("UserId") - .HasColumnType("int"); - - b.HasKey("LoginProvider", "ProviderKey"); - - b.HasIndex("UserId"); - - b.ToTable("AspNetUserLogins", (string)null); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("int"); - - b.Property("LoginProvider") - .HasColumnType("nvarchar(450)"); - - b.Property("Name") - .HasColumnType("nvarchar(450)"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AspNetUserTokens", (string)null); - }); - - modelBuilder.Entity("API.Entities.AppUserRole", b => - { - b.HasOne("API.Entities.AppRole", "Role") - .WithMany("UserRoles") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("API.Entities.AppUser", "User") - .WithMany("UserRoles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("Role"); - - b.Navigation("User"); - }); - - modelBuilder.Entity("API.Entities.Connection", b => - { - b.HasOne("API.Entities.Group", null) - .WithMany("Connections") - .HasForeignKey("GroupName") - .OnDelete(DeleteBehavior.Cascade); - }); - - modelBuilder.Entity("API.Entities.Message", b => - { - b.HasOne("API.Entities.AppUser", "Recipient") - .WithMany("MessagesRecived") - .HasForeignKey("RecipientId") - .OnDelete(DeleteBehavior.Restrict) - .IsRequired(); - - b.HasOne("API.Entities.AppUser", "Sender") - .WithMany("MessagesSent") - .HasForeignKey("SenderId") - .OnDelete(DeleteBehavior.Restrict) - .IsRequired(); - - b.Navigation("Recipient"); - - b.Navigation("Sender"); - }); - - modelBuilder.Entity("API.Entities.Photo", b => - { - b.HasOne("API.Entities.AppUser", "AppUser") - .WithMany("Photos") - .HasForeignKey("AppUserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("AppUser"); - }); - - modelBuilder.Entity("API.Entities.UserLike", b => - { - b.HasOne("API.Entities.AppUser", "LikedUser") - .WithMany("LikedByUser") - .HasForeignKey("LikedUserId") - .OnDelete(DeleteBehavior.NoAction) - .IsRequired(); - - b.HasOne("API.Entities.AppUser", "SourceUser") - .WithMany("LikedUser") - .HasForeignKey("SourceUserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("LikedUser"); - - b.Navigation("SourceUser"); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => - { - b.HasOne("API.Entities.AppRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => - { - b.HasOne("API.Entities.AppUser", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => - { - b.HasOne("API.Entities.AppUser", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => - { - b.HasOne("API.Entities.AppUser", null) - .WithMany() - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("API.Entities.AppRole", b => - { - b.Navigation("UserRoles"); - }); - - modelBuilder.Entity("API.Entities.AppUser", b => - { - b.Navigation("LikedByUser"); - - b.Navigation("LikedUser"); - - b.Navigation("MessagesRecived"); - - b.Navigation("MessagesSent"); - - b.Navigation("Photos"); - - b.Navigation("UserRoles"); - }); - - modelBuilder.Entity("API.Entities.Group", b => - { - b.Navigation("Connections"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/API/Data/Migrations/20250527110712_AddPhotoTags.cs b/API/Data/Migrations/20250527110712_AddPhotoTags.cs deleted file mode 100644 index 7cc85ac..0000000 --- a/API/Data/Migrations/20250527110712_AddPhotoTags.cs +++ /dev/null @@ -1,22 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -#nullable disable - -namespace API.Data.Migrations -{ - /// - public partial class AddPhotoTags : Migration - { - /// - protected override void Up(MigrationBuilder migrationBuilder) - { - - } - - /// - protected override void Down(MigrationBuilder migrationBuilder) - { - - } - } -} diff --git a/API/Data/Migrations/20250527110712_AddPhotoTags.Designer.cs b/API/Data/Migrations/20250527175823_InitialCreate.Designer.cs similarity index 99% rename from API/Data/Migrations/20250527110712_AddPhotoTags.Designer.cs rename to API/Data/Migrations/20250527175823_InitialCreate.Designer.cs index d70e1a8..c2b7094 100644 --- a/API/Data/Migrations/20250527110712_AddPhotoTags.Designer.cs +++ b/API/Data/Migrations/20250527175823_InitialCreate.Designer.cs @@ -12,8 +12,8 @@ namespace API.Data.Migrations { [DbContext(typeof(DataContext))] - [Migration("20250527110712_AddPhotoTags")] - partial class AddPhotoTags + [Migration("20250527175823_InitialCreate")] + partial class InitialCreate { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) diff --git a/API/Data/Migrations/20250518164536_SqlInitial.cs b/API/Data/Migrations/20250527175823_InitialCreate.cs similarity index 89% rename from API/Data/Migrations/20250518164536_SqlInitial.cs rename to API/Data/Migrations/20250527175823_InitialCreate.cs index fe77591..3fe5d2c 100644 --- a/API/Data/Migrations/20250518164536_SqlInitial.cs +++ b/API/Data/Migrations/20250527175823_InitialCreate.cs @@ -6,7 +6,7 @@ namespace API.Data.Migrations { /// - public partial class SqlInitial : Migration + public partial class InitialCreate : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) @@ -73,6 +73,19 @@ protected override void Up(MigrationBuilder migrationBuilder) table.PrimaryKey("PK_Groups", x => x.Name); }); + migrationBuilder.CreateTable( + name: "Tags", + columns: table => new + { + Id = table.Column(type: "int", nullable: false) + .Annotation("SqlServer:Identity", "1, 1"), + Name = table.Column(type: "nvarchar(450)", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Tags", x => x.Id); + }); + migrationBuilder.CreateTable( name: "AspNetRoleClaims", columns: table => new @@ -277,6 +290,30 @@ protected override void Up(MigrationBuilder migrationBuilder) onDelete: ReferentialAction.Cascade); }); + migrationBuilder.CreateTable( + name: "PhotoTags", + columns: table => new + { + PhotoId = table.Column(type: "int", nullable: false), + TagId = table.Column(type: "int", nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_PhotoTags", x => new { x.PhotoId, x.TagId }); + table.ForeignKey( + name: "FK_PhotoTags_Photos_PhotoId", + column: x => x.PhotoId, + principalTable: "Photos", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_PhotoTags_Tags_TagId", + column: x => x.TagId, + principalTable: "Tags", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + }); + migrationBuilder.CreateIndex( name: "IX_AspNetRoleClaims_RoleId", table: "AspNetRoleClaims", @@ -340,6 +377,17 @@ protected override void Up(MigrationBuilder migrationBuilder) name: "IX_Photos_AppUserId", table: "Photos", column: "AppUserId"); + + migrationBuilder.CreateIndex( + name: "IX_PhotoTags_TagId", + table: "PhotoTags", + column: "TagId"); + + migrationBuilder.CreateIndex( + name: "IX_Tags_Name", + table: "Tags", + column: "Name", + unique: true); } /// @@ -370,7 +418,7 @@ protected override void Down(MigrationBuilder migrationBuilder) name: "Messages"); migrationBuilder.DropTable( - name: "Photos"); + name: "PhotoTags"); migrationBuilder.DropTable( name: "AspNetRoles"); @@ -378,6 +426,12 @@ protected override void Down(MigrationBuilder migrationBuilder) migrationBuilder.DropTable( name: "Groups"); + migrationBuilder.DropTable( + name: "Photos"); + + migrationBuilder.DropTable( + name: "Tags"); + migrationBuilder.DropTable( name: "AspNetUsers"); } diff --git a/API/Data/PhotoRepository.cs b/API/Data/PhotoRepository.cs index 5d7812f..8a937ba 100644 --- a/API/Data/PhotoRepository.cs +++ b/API/Data/PhotoRepository.cs @@ -61,6 +61,10 @@ public void AddTag(Tag tag) { context.Tags.Add(tag); } + public async Task> GetTagsAsStrings() + { + return await context.Tags.Select(t => t.Name).ToListAsync(); + } public async Task> GetTags() { var query = context.Tags.AsQueryable(); diff --git a/API/Data/Seed.cs b/API/Data/Seed.cs index 54e0652..b0c32ca 100644 --- a/API/Data/Seed.cs +++ b/API/Data/Seed.cs @@ -10,6 +10,19 @@ namespace API.Data; public class Seed { + public static async Task SeedTagsAsync(DataContext context) + { + if (await context.Tags.AnyAsync()) return; + + var tagData = await File.ReadAllTextAsync("Data/tags.json"); + var tags = JsonSerializer.Deserialize>(tagData); + + if (tags is not null) + { + context.Tags.AddRange(tags); + await context.SaveChangesAsync(); + } + } public static async Task SeedUsers(UserManager userManager, RoleManager roleManager) { if (await userManager.Users.AnyAsync()) return; @@ -27,7 +40,7 @@ public static async Task SeedUsers(UserManager userManager, RoleManager new() {Name = "Admin"}, new() {Name = "Moderator"} }; - foreach(var role in roles) + foreach (var role in roles) { await roleManager.CreateAsync(role); } diff --git a/API/Data/UnitOfWork.cs b/API/Data/UnitOfWork.cs index 3d72f5d..177e5b9 100644 --- a/API/Data/UnitOfWork.cs +++ b/API/Data/UnitOfWork.cs @@ -13,8 +13,7 @@ public class UnitOfWork(DataContext context, public IMessageRepository MessageRepository => messageRepository; public ILikesRepository LikesRepository => likesRepository; public IPhotoRepository PhotoRepository => photoRepository; - public ITagsRepository TagsRepository => tagsRepository; - + public ITagsRepository TagRepository => tagsRepository; public async Task Complete() { return await context.SaveChangesAsync() > 0; diff --git a/API/Data/UserRepository.cs b/API/Data/UserRepository.cs index 48a44c4..7f74aff 100644 --- a/API/Data/UserRepository.cs +++ b/API/Data/UserRepository.cs @@ -63,9 +63,7 @@ public async Task GetMemberAsync(string username, bool isCurrentUser) .ProjectTo(mapper.ConfigurationProvider) .AsQueryable(); if(isCurrentUser) query = query.IgnoreQueryFilters(); - var member = await query.FirstOrDefaultAsync(); - if (member == null) - throw new InvalidOperationException("Member not found."); + var member = await query.FirstOrDefaultAsync() ?? throw new InvalidOperationException("Member not found."); return member; } diff --git a/API/Data/tags.json b/API/Data/tags.json new file mode 100644 index 0000000..8dbfdcf --- /dev/null +++ b/API/Data/tags.json @@ -0,0 +1,7 @@ +[ + { "Name": "Travel" }, + { "Name": "Nature" }, + { "Name": "Technology" }, + { "Name": "Food" }, + { "Name": "Architecture" } +] diff --git a/API/Extensions/ApplicationServiceExtensions.cs b/API/Extensions/ApplicationServiceExtensions.cs index b3619a2..c839a45 100644 --- a/API/Extensions/ApplicationServiceExtensions.cs +++ b/API/Extensions/ApplicationServiceExtensions.cs @@ -19,19 +19,22 @@ public static IServiceCollection AddApplicationServices(this IServiceCollection opt.UseSqlServer(config.GetConnectionString("DefaultConnection")); }); services.AddCors(); + // serivces services.AddScoped(); + services.AddScoped(); + services.AddScoped(); + // repositories services.AddScoped(); services.AddScoped(); services.AddScoped(); services.AddScoped(); - services.AddScoped(); - services.AddScoped(); services.AddScoped(); + services.AddScoped(); + services.AddScoped(); services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); services.Configure(config.GetSection("CloudinarySettings")); services.AddSignalR(); - services.AddScoped(); services.AddSingleton(); return services; } diff --git a/API/Interfaces/IPhotoRepository.cs b/API/Interfaces/IPhotoRepository.cs index 30f9b2d..94731ee 100644 --- a/API/Interfaces/IPhotoRepository.cs +++ b/API/Interfaces/IPhotoRepository.cs @@ -1,4 +1,5 @@ using System; +using Api.DTOs; using API.DTOs; using API.Entities; @@ -8,6 +9,13 @@ public interface IPhotoRepository { Task> GetUnapprovedPhotos(); Task GetPhotoById(int id); - Task GetUserByPhotoId(int photoId); + Task GetUserByPhotoId(int photoId); + Task> GetTagsAsStrings(); + Task GetPhotoWithTagsById(int id); + Task> GetPhotosByUsername(string username); + Task> GetUsersWithoutMainPhotoAsync(int currentUserId); + Task> GetPhotoApprovalStatisticsAsync(int currentUserId); + Task> GetTags(); + void AddTag(Tag tag); void RemovePhoto(Photo photo); } diff --git a/API/Interfaces/IUnitOfWork.cs b/API/Interfaces/IUnitOfWork.cs index bd35aa2..2f5f471 100644 --- a/API/Interfaces/IUnitOfWork.cs +++ b/API/Interfaces/IUnitOfWork.cs @@ -1,4 +1,4 @@ -using System; +using API.Data; namespace API.Interfaces; @@ -8,6 +8,7 @@ public interface IUnitOfWork IMessageRepository MessageRepository { get; } ILikesRepository LikesRepository { get; } IPhotoRepository PhotoRepository { get; } + ITagsRepository TagRepository { get; } Task Complete(); bool HasChanges(); } diff --git a/API/Interfaces/IUserService.cs b/API/Interfaces/IUserService.cs new file mode 100644 index 0000000..d2b0232 --- /dev/null +++ b/API/Interfaces/IUserService.cs @@ -0,0 +1,20 @@ +using Api.DTOs; +using API.DTOs; +using API.Helpers; + +namespace API.Interfaces +{ + public interface IUserService + { + Task> GetTags(int photoId); + Task> GetTags(); + Task AssignTags(int photoId, string v, List tags); + Task> GetUsers(UserParams userParams); + Task GetUserAsync(string username); + Task> GetPhotoWithTagsByUsernameAsync(string username); + Task UpdateUserAsync(string username, MemberUpdateDto memberUpdateDto); + Task AddPhotoAsync(string username, IFormFile file); + Task SetMainPhotoAsync(string username, int photoId); + Task DeletePhotoAsync(string username, int photoId); + } +} \ No newline at end of file diff --git a/API/Program.cs b/API/Program.cs index c23d448..75ec62b 100644 --- a/API/Program.cs +++ b/API/Program.cs @@ -47,6 +47,7 @@ await context.Database.MigrateAsync(); await context.Database.ExecuteSqlRawAsync("DELETE FROM [Connections]"); await Seed.SeedUsers(userManager, roleManager); + await Seed.SeedTagsAsync(context); } catch (Exception ex) { diff --git a/API/Services/UserService.cs b/API/Services/UserService.cs index d27745f..150bac7 100644 --- a/API/Services/UserService.cs +++ b/API/Services/UserService.cs @@ -4,14 +4,9 @@ namespace API.Services; -public class UserService +public class UserService(IUnitOfWork unitOfWork) { - private readonly IUnitOfWork _unitOfWork; - - public UserService(IUnitOfWork unitOfWork) - { - _unitOfWork = unitOfWork; - } + private readonly IUnitOfWork _unitOfWork = unitOfWork; public async Task UpdateLastActive(int userId) { diff --git a/API/Services/_Admin/AdminService.cs b/API/Services/_Admin/AdminService.cs index caaba7b..4185086 100644 --- a/API/Services/_Admin/AdminService.cs +++ b/API/Services/_Admin/AdminService.cs @@ -31,7 +31,7 @@ public async Task> GetUsersWithRoles() Username = x.UserName, Roles = x.UserRoles.Select(r => r.Role.Name).ToList() }).ToListAsync(); - + return users.Cast().ToList(); } @@ -42,15 +42,15 @@ public async Task> EditRoles(string username, string roles) var selectedRoles = roles.Split(',').ToArray(); var user = await _userManager.FindByNameAsync(username) ?? throw new NotFoundException("User not found"); - + var userRoles = await _userManager.GetRolesAsync(user); var result = await _userManager.AddToRolesAsync(user, selectedRoles.Except(userRoles)); - + if (!result.Succeeded) throw new BadRequestException("Failed to add role"); result = await _userManager.RemoveFromRolesAsync(user, userRoles.Except(selectedRoles)); - + if (!result.Succeeded) throw new BadRequestException("Failed to remove role"); @@ -65,10 +65,10 @@ public async Task> GetPhotosForModeration() public async Task ApprovePhoto(int photoId) { var photo = await _unitOfWork.PhotoRepository.GetPhotoById(photoId) ?? throw new NotFoundException("Photo not found"); - + photo.IsApproved = true; var user = await _unitOfWork.PhotoRepository.GetUserByPhotoId(photoId) ?? throw new NotFoundException("User not found"); - + if (!user.Photos.Any(x => x.IsMain)) photo.IsMain = true; @@ -91,7 +91,7 @@ public async Task ApprovePhoto(int photoId) public async Task RejectPhoto(int photoId) { var photo = await _unitOfWork.PhotoRepository.GetPhotoById(photoId) ?? throw new NotFoundException("Photo not found"); - + if (photo.PublicId != null) { var result = await _photoService.DeletePhotoAsync(photo.PublicId); @@ -103,7 +103,7 @@ public async Task RejectPhoto(int photoId) _unitOfWork.PhotoRepository.RemovePhoto(photo); var user = await _unitOfWork.PhotoRepository.GetUserByPhotoId(photoId) ?? throw new NotFoundException("User not found"); - + if (!await _unitOfWork.Complete()) throw new Exception("Failed to reject photo"); @@ -118,4 +118,33 @@ public async Task RejectPhoto(int photoId) }); } } + public async Task CreateTagAsync(string tagName) + { + + if (string.IsNullOrWhiteSpace(tagName)) + { + throw new ArgumentException("Tag name cannot be null or empty."); + } + + var tag = new Tag { Name = tagName }; + + var existingTags = await _unitOfWork.TagRepository.GetAllTagsAsync(); + if (existingTags.Any(t => t.Name.Equals(tag.Name, StringComparison.OrdinalIgnoreCase))) + { + return "duplicate"; + } + + _unitOfWork.PhotoRepository.AddTag(tag); + + if (!await _unitOfWork.Complete()) + { + throw new Exception("Problem creating tag."); + } + + return tag; + } + public async Task> GetTagsAsync() + { + return await _unitOfWork.PhotoRepository.GetTags(); + } } \ No newline at end of file diff --git a/API/Services/_User/UserService.cs b/API/Services/_User/UserService.cs index f0ab8f7..7b00076 100644 --- a/API/Services/_User/UserService.cs +++ b/API/Services/_User/UserService.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; +using Api.DTOs; using API.DTOs; using API.Entities; using API.Errors; @@ -33,7 +34,7 @@ public async Task GetUser(string username, string currentUsername) public async Task UpdateUser(MemberUpdateDto memberUpdateDto, string username) { var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync(username) ?? throw new NotFoundException("User not found"); - + _mapper.Map(memberUpdateDto, user); if (!await _unitOfWork.Complete()) @@ -43,7 +44,7 @@ public async Task UpdateUser(MemberUpdateDto memberUpdateDto, string username) public async Task AddPhoto(AddPhotoDto addPhotoDto, string username) { var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync(username) ?? throw new NotFoundException("User not found"); - + var result = await _photoService.AddPhotoAsync(addPhotoDto.File); if (result.Error != null) throw new BadRequestException(result.Error.Message); @@ -73,9 +74,9 @@ public async Task AddPhoto(AddPhotoDto addPhotoDto, string username) public async Task SetMainPhoto(int photoId, string username) { var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync(username) ?? throw new NotFoundException("User not found"); - + var photo = user.Photos.FirstOrDefault(x => x.Id == photoId) ?? throw new NotFoundException("Photo not found"); - + if (photo.IsMain) throw new BadRequestException("This is already your main photo"); @@ -92,9 +93,9 @@ public async Task SetMainPhoto(int photoId, string username) public async Task DeletePhoto(int photoId, string username) { var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync(username) ?? throw new NotFoundException("User not found"); - + var photo = await _unitOfWork.PhotoRepository.GetPhotoById(photoId) ?? throw new NotFoundException("Photo not found"); - + if (photo.IsMain) throw new BadRequestException("You cannot delete your main photo"); @@ -110,4 +111,70 @@ public async Task DeletePhoto(int photoId, string username) if (!await _unitOfWork.Complete()) throw new Exception("Failed to delete the photo"); } + + internal async Task AssignTags(int photoId, string v, List tags) + { + var user = await _unitOfWork.UserRepository.GetUserByUsernameAsync(v) ?? throw new NotFoundException("User not found"); + + var photo = user.Photos.FirstOrDefault(x => x.Id == photoId) ?? throw new NotFoundException("Photo not found"); + + var distinctTagNames = tags + .Where(n => !string.IsNullOrWhiteSpace(n)) + .Select(n => n.Trim()) + .Distinct(StringComparer.OrdinalIgnoreCase) + .ToList(); + + var tagsByName = await _unitOfWork.TagRepository.GetTagsByNamesAsync(distinctTagNames) ?? throw new NotFoundException("Tags not found"); + + var assignedTagNames = photo.PhotoTags + .Select(pt => pt.Tag?.Name) + .ToHashSet(StringComparer.OrdinalIgnoreCase); + + foreach (var tag in tagsByName) + { + if (assignedTagNames.Contains(tag.Name)) + continue; + + photo.PhotoTags.Add(new PhotoTag + { + Photo = photo, + Tag = tag + }); + } + + if (!await _unitOfWork.Complete()) + throw new Exception("Failed to assign tags to the photo"); + } + public async Task> GetTags() + { + try + { + return await _unitOfWork.PhotoRepository.GetTagsAsStrings(); + } + catch (Exception ex) + { + throw new Exception("Failed to retrieve tags", ex); + } + } + public async Task> GetTags(int photoId) + { + try + { + var photos = await _unitOfWork.PhotoRepository.GetPhotoWithTagsById(photoId) + ?? throw new NotFoundException("Photo not found"); + + var tags = photos.PhotoTags.Select(pt => pt.Tag).ToList(); + + return _mapper.Map>(tags); + } + catch (Exception ex) + { + throw new Exception("Failed to retrieve tags", ex); + } + } + public async Task> GetPhotoWithTagsByUsernameAsync(string username) + { + var photos = await _unitOfWork.PhotoRepository.GetPhotosByUsername(username) ?? throw new NotFoundException("Photos not found"); + return _mapper.Map>(photos); + } } \ No newline at end of file diff --git a/API/wwwroot/3rdpartylicenses.txt b/API/wwwroot/3rdpartylicenses.txt index b22873a..cb87fde 100644 --- a/API/wwwroot/3rdpartylicenses.txt +++ b/API/wwwroot/3rdpartylicenses.txt @@ -473,11 +473,6 @@ Package: ngx-timeago License: "MIT" --------------------------------------------------------------------------------- -Package: ng2-file-upload -License: "MIT" - - -------------------------------------------------------------------------------- Package: ngx-spinner License: "MIT" @@ -503,6 +498,11 @@ 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. +-------------------------------------------------------------------------------- +Package: ng2-file-upload +License: "MIT" + + -------------------------------------------------------------------------------- Package: zone.js License: "MIT" diff --git a/API/wwwroot/index.html b/API/wwwroot/index.html index 5cabdef..1fb605a 100644 --- a/API/wwwroot/index.html +++ b/API/wwwroot/index.html @@ -9,5 +9,5 @@ - + diff --git a/API/wwwroot/main-ODNDNOZK.js b/API/wwwroot/main-ODNDNOZK.js new file mode 100644 index 0000000..304b32f --- /dev/null +++ b/API/wwwroot/main-ODNDNOZK.js @@ -0,0 +1,22 @@ +var oR=Object.defineProperty,sR=Object.defineProperties;var aR=Object.getOwnPropertyDescriptors;var wd=Object.getOwnPropertySymbols;var Ew=Object.prototype.hasOwnProperty,Iw=Object.prototype.propertyIsEnumerable;var Tw=(t,n,e)=>n in t?oR(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,E=(t,n)=>{for(var e in n||={})Ew.call(n,e)&&Tw(t,e,n[e]);if(wd)for(var e of wd(n))Iw.call(n,e)&&Tw(t,e,n[e]);return t},Y=(t,n)=>sR(t,aR(n));var fa=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(n,e)=>(typeof require<"u"?require:n)[e]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Sg=(t,n)=>{var e={};for(var i in t)Ew.call(t,i)&&n.indexOf(i)<0&&(e[i]=t[i]);if(t!=null&&wd)for(var i of wd(t))n.indexOf(i)<0&&Iw.call(t,i)&&(e[i]=t[i]);return e};var ge=(t,n,e)=>new Promise((i,r)=>{var o=l=>{try{a(e.next(l))}catch(c){r(c)}},s=l=>{try{a(e.throw(l))}catch(c){r(c)}},a=l=>l.done?i(l.value):Promise.resolve(l.value).then(o,s);a((e=e.apply(t,n)).next())});function xg(t,n){return Object.is(t,n)}var Bt=null,Dd=!1,kg=1,ci=Symbol("SIGNAL");function _e(t){let n=Bt;return Bt=t,n}function Ag(){return Bt}var fc={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function pc(t){if(Dd)throw new Error("");if(Bt===null)return;Bt.consumerOnSignalRead(t);let n=Bt.nextProducerIndex++;if(Ed(Bt),nt.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function Lg(t){Ed(t);for(let n=0;n0}function Ed(t){t.producerNode??=[],t.producerIndexOfThis??=[],t.producerLastReadVersion??=[]}function Aw(t){t.liveConsumerNode??=[],t.liveConsumerIndexOfThis??=[]}function Rw(t){return t.producerNode!==void 0}function Vg(t,n){let e=Object.create(cR);e.computation=t,n!==void 0&&(e.equal=n);let i=()=>{if(Rg(e),pc(e),e.value===Md)throw e.error;return e.value};return i[ci]=e,i}var Tg=Symbol("UNSET"),Eg=Symbol("COMPUTING"),Md=Symbol("ERRORED"),cR=Y(E({},fc),{value:Tg,dirty:!0,error:null,equal:xg,kind:"computed",producerMustRecompute(t){return t.value===Tg||t.value===Eg},producerRecomputeValue(t){if(t.value===Eg)throw new Error("Detected cycle in computations.");let n=t.value;t.value=Eg;let e=Sd(t),i,r=!1;try{i=t.computation(),_e(null),r=n!==Tg&&n!==Md&&i!==Md&&t.equal(n,i)}catch(o){i=Md,t.error=o}finally{Ng(t,e)}if(r){t.value=n;return}t.value=i,t.version++}});function uR(){throw new Error}var Pw=uR;function Ow(t){Pw(t)}function jg(t){Pw=t}var dR=null;function Hg(t,n){let e=Object.create(Id);e.value=t,n!==void 0&&(e.equal=n);let i=()=>(pc(e),e.value);return i[ci]=e,i}function mc(t,n){Og()||Ow(t),t.equal(t.value,n)||(t.value=n,hR(t))}function Bg(t,n){Og()||Ow(t),mc(t,n(t.value))}var Id=Y(E({},fc),{equal:xg,value:void 0,kind:"signal"});function hR(t){t.version++,xw(),Pg(t),dR?.()}function Ug(t){let n=_e(null);try{return t()}finally{_e(n)}}var $g;function gc(){return $g}function jr(t){let n=$g;return $g=t,n}var xd=Symbol("NotFound");function K(t){return typeof t=="function"}function pa(t){let e=t(i=>{Error.call(i),i.stack=new Error().stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}var kd=pa(t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription: +${e.map((i,r)=>`${r+1}) ${i.toString()}`).join(` + `)}`:"",this.name="UnsubscriptionError",this.errors=e});function rs(t,n){if(t){let e=t.indexOf(n);0<=e&&t.splice(e,1)}}var Ue=class t{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;let{_parentage:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(let o of e)o.remove(this);else e.remove(this);let{initialTeardown:i}=this;if(K(i))try{i()}catch(o){n=o instanceof kd?o.errors:[o]}let{_finalizers:r}=this;if(r){this._finalizers=null;for(let o of r)try{Nw(o)}catch(s){n=n??[],s instanceof kd?n=[...n,...s.errors]:n.push(s)}}if(n)throw new kd(n)}}add(n){var e;if(n&&n!==this)if(this.closed)Nw(n);else{if(n instanceof t){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=(e=this._finalizers)!==null&&e!==void 0?e:[]).push(n)}}_hasParent(n){let{_parentage:e}=this;return e===n||Array.isArray(e)&&e.includes(n)}_addParent(n){let{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(n),e):e?[e,n]:n}_removeParent(n){let{_parentage:e}=this;e===n?this._parentage=null:Array.isArray(e)&&rs(e,n)}remove(n){let{_finalizers:e}=this;e&&rs(e,n),n instanceof t&&n._removeParent(this)}};Ue.EMPTY=(()=>{let t=new Ue;return t.closed=!0,t})();var Yg=Ue.EMPTY;function Ad(t){return t instanceof Ue||t&&"closed"in t&&K(t.remove)&&K(t.add)&&K(t.unsubscribe)}function Nw(t){K(t)?t():t.unsubscribe()}var Fi={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var ma={setTimeout(t,n,...e){let{delegate:i}=ma;return i?.setTimeout?i.setTimeout(t,n,...e):setTimeout(t,n,...e)},clearTimeout(t){let{delegate:n}=ma;return(n?.clearTimeout||clearTimeout)(t)},delegate:void 0};function Rd(t){ma.setTimeout(()=>{let{onUnhandledError:n}=Fi;if(n)n(t);else throw t})}function os(){}var Lw=zg("C",void 0,void 0);function Fw(t){return zg("E",void 0,t)}function Vw(t){return zg("N",t,void 0)}function zg(t,n,e){return{kind:t,value:n,error:e}}var ss=null;function ga(t){if(Fi.useDeprecatedSynchronousErrorHandling){let n=!ss;if(n&&(ss={errorThrown:!1,error:null}),t(),n){let{errorThrown:e,error:i}=ss;if(ss=null,e)throw i}}else t()}function jw(t){Fi.useDeprecatedSynchronousErrorHandling&&ss&&(ss.errorThrown=!0,ss.error=t)}var as=class extends Ue{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Ad(n)&&n.add(this)):this.destination=yR}static create(n,e,i){return new fo(n,e,i)}next(n){this.isStopped?Gg(Vw(n),this):this._next(n)}error(n){this.isStopped?Gg(Fw(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Gg(Lw,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},gR=Function.prototype.bind;function Wg(t,n){return gR.call(t,n)}var qg=class{constructor(n){this.partialObserver=n}next(n){let{partialObserver:e}=this;if(e.next)try{e.next(n)}catch(i){Pd(i)}}error(n){let{partialObserver:e}=this;if(e.error)try{e.error(n)}catch(i){Pd(i)}else Pd(n)}complete(){let{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(e){Pd(e)}}},fo=class extends as{constructor(n,e,i){super();let r;if(K(n)||!n)r={next:n??void 0,error:e??void 0,complete:i??void 0};else{let o;this&&Fi.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&Wg(n.next,o),error:n.error&&Wg(n.error,o),complete:n.complete&&Wg(n.complete,o)}):r=n}this.destination=new qg(r)}};function Pd(t){Fi.useDeprecatedSynchronousErrorHandling?jw(t):Rd(t)}function _R(t){throw t}function Gg(t,n){let{onStoppedNotification:e}=Fi;e&&ma.setTimeout(()=>e(t,n))}var yR={closed:!0,next:os,error:_R,complete:os};var _a=typeof Symbol=="function"&&Symbol.observable||"@@observable";function Kt(t){return t}function Qg(...t){return Zg(t)}function Zg(t){return t.length===0?Kt:t.length===1?t[0]:function(e){return t.reduce((i,r)=>r(i),e)}}var ne=(()=>{class t{constructor(e){e&&(this._subscribe=e)}lift(e){let i=new t;return i.source=this,i.operator=e,i}subscribe(e,i,r){let o=bR(e)?e:new fo(e,i,r);return ga(()=>{let{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(e){try{return this._subscribe(e)}catch(i){e.error(i)}}forEach(e,i){return i=Hw(i),new i((r,o)=>{let s=new fo({next:a=>{try{e(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(e){var i;return(i=this.source)===null||i===void 0?void 0:i.subscribe(e)}[_a](){return this}pipe(...e){return Zg(e)(this)}toPromise(e){return e=Hw(e),new e((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return t.create=n=>new t(n),t})();function Hw(t){var n;return(n=t??Fi.Promise)!==null&&n!==void 0?n:Promise}function vR(t){return t&&K(t.next)&&K(t.error)&&K(t.complete)}function bR(t){return t&&t instanceof as||vR(t)&&Ad(t)}function Kg(t){return K(t?.lift)}function se(t){return n=>{if(Kg(n))return n.lift(function(e){try{return t(e,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function ae(t,n,e,i,r){return new Jg(t,n,e,i,r)}var Jg=class extends as{constructor(n,e,i,r,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=e?function(a){try{e(a)}catch(l){n.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:e}=this;super.unsubscribe(),!e&&((n=this.onFinalize)===null||n===void 0||n.call(this))}}};function ya(){return se((t,n)=>{let e=null;t._refCount++;let i=ae(n,void 0,void 0,void 0,()=>{if(!t||t._refCount<=0||0<--t._refCount){e=null;return}let r=t._connection,o=e;e=null,r&&(!o||r===o)&&r.unsubscribe(),n.unsubscribe()});t.subscribe(i),i.closed||(e=t.connect())})}var va=class extends ne{constructor(n,e){super(),this.source=n,this.subjectFactory=e,this._subject=null,this._refCount=0,this._connection=null,Kg(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){let n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;let{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new Ue;let e=this.getSubject();n.add(this.source.subscribe(ae(e,void 0,()=>{this._teardown(),e.complete()},i=>{this._teardown(),e.error(i)},()=>this._teardown()))),n.closed&&(this._connection=null,n=Ue.EMPTY)}return n}refCount(){return ya()(this)}};var ba={schedule(t){let n=requestAnimationFrame,e=cancelAnimationFrame,{delegate:i}=ba;i&&(n=i.requestAnimationFrame,e=i.cancelAnimationFrame);let r=n(o=>{e=void 0,t(o)});return new Ue(()=>e?.(r))},requestAnimationFrame(...t){let{delegate:n}=ba;return(n?.requestAnimationFrame||requestAnimationFrame)(...t)},cancelAnimationFrame(...t){let{delegate:n}=ba;return(n?.cancelAnimationFrame||cancelAnimationFrame)(...t)},delegate:void 0};var Bw=pa(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var X=(()=>{class t extends ne{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){let i=new Od(this,this);return i.operator=e,i}_throwIfClosed(){if(this.closed)throw new Bw}next(e){ga(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let i of this.currentObservers)i.next(e)}})}error(e){ga(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;let{observers:i}=this;for(;i.length;)i.shift().error(e)}})}complete(){ga(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:e}=this;for(;e.length;)e.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var e;return((e=this.observers)===null||e===void 0?void 0:e.length)>0}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){let{hasError:i,isStopped:r,observers:o}=this;return i||r?Yg:(this.currentObservers=null,o.push(e),new Ue(()=>{this.currentObservers=null,rs(o,e)}))}_checkFinalizedStatuses(e){let{hasError:i,thrownError:r,isStopped:o}=this;i?e.error(r):o&&e.complete()}asObservable(){let e=new ne;return e.source=this,e}}return t.create=(n,e)=>new Od(n,e),t})(),Od=class extends X{constructor(n,e){super(),this.destination=n,this.source=e}next(n){var e,i;(i=(e=this.destination)===null||e===void 0?void 0:e.next)===null||i===void 0||i.call(e,n)}error(n){var e,i;(i=(e=this.destination)===null||e===void 0?void 0:e.error)===null||i===void 0||i.call(e,n)}complete(){var n,e;(e=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||e===void 0||e.call(n)}_subscribe(n){var e,i;return(i=(e=this.source)===null||e===void 0?void 0:e.subscribe(n))!==null&&i!==void 0?i:Yg}};var Ne=class extends X{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){let e=super._subscribe(n);return!e.closed&&n.next(this._value),e}getValue(){let{hasError:n,thrownError:e,_value:i}=this;if(n)throw e;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}};var Xg={now(){return(Xg.delegate||Date).now()},delegate:void 0};var Nd=class extends Ue{constructor(n,e){super()}schedule(n,e=0){return this}};var _c={setInterval(t,n,...e){let{delegate:i}=_c;return i?.setInterval?i.setInterval(t,n,...e):setInterval(t,n,...e)},clearInterval(t){let{delegate:n}=_c;return(n?.clearInterval||clearInterval)(t)},delegate:void 0};var po=class extends Nd{constructor(n,e){super(n,e),this.scheduler=n,this.work=e,this.pending=!1}schedule(n,e=0){var i;if(this.closed)return this;this.state=n;let r=this.id,o=this.scheduler;return r!=null&&(this.id=this.recycleAsyncId(o,r,e)),this.pending=!0,this.delay=e,this.id=(i=this.id)!==null&&i!==void 0?i:this.requestAsyncId(o,this.id,e),this}requestAsyncId(n,e,i=0){return _c.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,e,i=0){if(i!=null&&this.delay===i&&this.pending===!1)return e;e!=null&&_c.clearInterval(e)}execute(n,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;let i=this._execute(n,e);if(i)return i;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,e){let i=!1,r;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){let{id:n,scheduler:e}=this,{actions:i}=e;this.work=this.state=this.scheduler=null,this.pending=!1,rs(i,this),n!=null&&(this.id=this.recycleAsyncId(e,n,null)),this.delay=null,super.unsubscribe()}}};var Ca=class t{constructor(n,e=t.now){this.schedulerActionCtor=n,this.now=e}schedule(n,e=0,i){return new this.schedulerActionCtor(this,n).schedule(i,e)}};Ca.now=Xg.now;var mo=class extends Ca{constructor(n,e=Ca.now){super(n,e),this.actions=[],this._active=!1}flush(n){let{actions:e}=this;if(this._active){e.push(n);return}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}}};var yc=new mo(po),Uw=yc;var Ld=class extends po{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 i!=null&&i>0||i==null&&this.delay>0?super.requestAsyncId(n,e,i):(n.flush(this),0)}};var Fd=class extends mo{};var e_=new Fd(Ld);var Vd=class extends po{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}requestAsyncId(n,e,i=0){return i!==null&&i>0?super.requestAsyncId(n,e,i):(n.actions.push(this),n._scheduled||(n._scheduled=ba.requestAnimationFrame(()=>n.flush(void 0))))}recycleAsyncId(n,e,i=0){var r;if(i!=null?i>0:this.delay>0)return super.recycleAsyncId(n,e,i);let{actions:o}=n;e!=null&&e===n._scheduled&&((r=o[o.length-1])===null||r===void 0?void 0:r.id)!==e&&(ba.cancelAnimationFrame(e),n._scheduled=void 0)}};var jd=class extends mo{flush(n){this._active=!0;let e;n?e=n.id:(e=this._scheduled,this._scheduled=void 0);let{actions:i}=this,r;n=n||i.shift();do if(r=n.execute(n.state,n.delay))break;while((n=i[0])&&n.id===e&&i.shift());if(this._active=!1,r){for(;(n=i[0])&&n.id===e&&i.shift();)n.unsubscribe();throw r}}};var wa=new jd(Vd);var Tt=new ne(t=>t.complete());function t_(t){return t?CR(t):Tt}function CR(t){return new ne(n=>t.schedule(()=>n.complete()))}function Hd(t){return t&&K(t.schedule)}function n_(t){return t[t.length-1]}function Bd(t){return K(n_(t))?t.pop():void 0}function sr(t){return Hd(n_(t))?t.pop():void 0}function $w(t,n){return typeof n_(t)=="number"?t.pop():n}function zw(t,n,e,i){var r=arguments.length,o=r<3?n:i===null?i=Object.getOwnPropertyDescriptor(n,e):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(t,n,e,i);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(o=(r<3?s(o):r>3?s(n,e,o):s(n,e))||o);return r>3&&o&&Object.defineProperty(n,e,o),o}function Ww(t,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,n)}function Gw(t,n,e,i){function r(o){return o instanceof e?o:new e(function(s){s(o)})}return new(e||(e=Promise))(function(o,s){function a(u){try{c(i.next(u))}catch(m){s(m)}}function l(u){try{c(i.throw(u))}catch(m){s(m)}}function c(u){u.done?o(u.value):r(u.value).then(a,l)}c((i=i.apply(t,n||[])).next())})}function Yw(t){var n=typeof Symbol=="function"&&Symbol.iterator,e=n&&t[n],i=0;if(e)return e.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function ls(t){return this instanceof ls?(this.v=t,this):new ls(t)}function qw(t,n,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=e.apply(t,n||[]),r,o=[];return r=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",s),r[Symbol.asyncIterator]=function(){return this},r;function s(_){return function(M){return Promise.resolve(M).then(_,m)}}function a(_,M){i[_]&&(r[_]=function(I){return new Promise(function(P,V){o.push([_,I,P,V])>1||l(_,I)})},M&&(r[_]=M(r[_])))}function l(_,M){try{c(i[_](M))}catch(I){b(o[0][3],I)}}function c(_){_.value instanceof ls?Promise.resolve(_.value.v).then(u,m):b(o[0][2],_)}function u(_){l("next",_)}function m(_){l("throw",_)}function b(_,M){_(M),o.shift(),o.length&&l(o[0][0],o[0][1])}}function Qw(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t[Symbol.asyncIterator],e;return n?n.call(t):(t=typeof Yw=="function"?Yw(t):t[Symbol.iterator](),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(o){e[o]=t[o]&&function(s){return new Promise(function(a,l){s=t[o](s),r(a,l,s.done,s.value)})}}function r(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}}var Da=t=>t&&typeof t.length=="number"&&typeof t!="function";function Ud(t){return K(t?.then)}function $d(t){return K(t[_a])}function Yd(t){return Symbol.asyncIterator&&K(t?.[Symbol.asyncIterator])}function zd(t){return new TypeError(`You provided ${t!==null&&typeof t=="object"?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function wR(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Wd=wR();function Gd(t){return K(t?.[Wd])}function qd(t){return qw(this,arguments,function*(){let e=t.getReader();try{for(;;){let{value:i,done:r}=yield ls(e.read());if(r)return yield ls(void 0);yield yield ls(i)}}finally{e.releaseLock()}})}function Qd(t){return K(t?.getReader)}function Ze(t){if(t instanceof ne)return t;if(t!=null){if($d(t))return DR(t);if(Da(t))return MR(t);if(Ud(t))return SR(t);if(Yd(t))return Zw(t);if(Gd(t))return TR(t);if(Qd(t))return ER(t)}throw zd(t)}function DR(t){return new ne(n=>{let e=t[_a]();if(K(e.subscribe))return e.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function MR(t){return new ne(n=>{for(let e=0;e{t.then(e=>{n.closed||(n.next(e),n.complete())},e=>n.error(e)).then(null,Rd)})}function TR(t){return new ne(n=>{for(let e of t)if(n.next(e),n.closed)return;n.complete()})}function Zw(t){return new ne(n=>{IR(t,n).catch(e=>n.error(e))})}function ER(t){return Zw(qd(t))}function IR(t,n){var e,i,r,o;return Gw(this,void 0,void 0,function*(){try{for(e=Qw(t);i=yield e.next(),!i.done;){let s=i.value;if(n.next(s),n.closed)return}}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=e.return)&&(yield o.call(e))}finally{if(r)throw r.error}}n.complete()})}function Tn(t,n,e,i=0,r=!1){let o=n.schedule(function(){e(),r?t.add(this.schedule(null,i)):this.unsubscribe()},i);if(t.add(o),!r)return o}function cs(t,n=0){return se((e,i)=>{e.subscribe(ae(i,r=>Tn(i,t,()=>i.next(r),n),()=>Tn(i,t,()=>i.complete(),n),r=>Tn(i,t,()=>i.error(r),n)))})}function Zd(t,n=0){return se((e,i)=>{i.add(t.schedule(()=>e.subscribe(i),n))})}function Kw(t,n){return Ze(t).pipe(Zd(n),cs(n))}function Jw(t,n){return Ze(t).pipe(Zd(n),cs(n))}function Xw(t,n){return new ne(e=>{let i=0;return n.schedule(function(){i===t.length?e.complete():(e.next(t[i++]),e.closed||this.schedule())})})}function eD(t,n){return new ne(e=>{let i;return Tn(e,n,()=>{i=t[Wd](),Tn(e,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){e.error(s);return}o?e.complete():e.next(r)},0,!0)}),()=>K(i?.return)&&i.return()})}function Kd(t,n){if(!t)throw new Error("Iterable cannot be null");return new ne(e=>{Tn(e,n,()=>{let i=t[Symbol.asyncIterator]();Tn(e,n,()=>{i.next().then(r=>{r.done?e.complete():e.next(r.value)})},0,!0)})})}function tD(t,n){return Kd(qd(t),n)}function nD(t,n){if(t!=null){if($d(t))return Kw(t,n);if(Da(t))return Xw(t,n);if(Ud(t))return Jw(t,n);if(Yd(t))return Kd(t,n);if(Gd(t))return eD(t,n);if(Qd(t))return tD(t,n)}throw zd(t)}function Ke(t,n){return n?nD(t,n):Ze(t)}function Q(...t){let n=sr(t);return Ke(t,n)}function Ma(t,n){let e=K(t)?t:()=>t,i=r=>r.error(e());return new ne(n?r=>n.schedule(i,0,r):i)}function i_(t){return!!t&&(t instanceof ne||K(t.lift)&&K(t.subscribe))}var Vi=pa(t=>function(){t(this),this.name="EmptyError",this.message="no elements in sequence"});function Jd(t,n){let e=typeof n=="object";return new Promise((i,r)=>{let o=new fo({next:s=>{i(s),o.unsubscribe()},error:r,complete:()=>{e?i(n.defaultValue):r(new Vi)}});t.subscribe(o)})}function iD(t){return t instanceof Date&&!isNaN(t)}function G(t,n){return se((e,i)=>{let r=0;e.subscribe(ae(i,o=>{i.next(t.call(n,o,r++))}))})}var{isArray:xR}=Array;function kR(t,n){return xR(n)?t(...n):t(n)}function Sa(t){return G(n=>kR(t,n))}var{isArray:AR}=Array,{getPrototypeOf:RR,prototype:PR,keys:OR}=Object;function Xd(t){if(t.length===1){let n=t[0];if(AR(n))return{args:n,keys:null};if(NR(n)){let e=OR(n);return{args:e.map(i=>n[i]),keys:e}}}return{args:t,keys:null}}function NR(t){return t&&typeof t=="object"&&RR(t)===PR}function eh(t,n){return t.reduce((e,i,r)=>(e[i]=n[r],e),{})}function go(...t){let n=sr(t),e=Bd(t),{args:i,keys:r}=Xd(t);if(i.length===0)return Ke([],n);let o=new ne(LR(i,n,r?s=>eh(r,s):Kt));return e?o.pipe(Sa(e)):o}function LR(t,n,e=Kt){return i=>{rD(n,()=>{let{length:r}=t,o=new Array(r),s=r,a=r;for(let l=0;l{let c=Ke(t[l],n),u=!1;c.subscribe(ae(i,m=>{o[l]=m,u||(u=!0,a--),a||i.next(e(o.slice()))},()=>{--s||i.complete()}))},i)},i)}}function rD(t,n,e){t?Tn(e,t,n):n()}function th(t,n,e,i,r,o,s,a){let l=[],c=0,u=0,m=!1,b=()=>{m&&!l.length&&!c&&n.complete()},_=I=>c{o&&n.next(I),c++;let P=!1;Ze(e(I,u++)).subscribe(ae(n,V=>{r?.(V),o?_(V):n.next(V)},()=>{P=!0},void 0,()=>{if(P)try{for(c--;l.length&&cM(V)):M(V)}b()}catch(V){n.error(V)}}))};return t.subscribe(ae(n,_,()=>{m=!0,b()})),()=>{a?.()}}function ze(t,n,e=1/0){return K(n)?ze((i,r)=>G((o,s)=>n(i,o,r,s))(Ze(t(i,r))),e):(typeof n=="number"&&(e=n),se((i,r)=>th(i,r,t,e)))}function nh(t=1/0){return ze(Kt,t)}function oD(){return nh(1)}function _o(...t){return oD()(Ke(t,sr(t)))}function ih(t){return new ne(n=>{Ze(t()).subscribe(n)})}function r_(...t){let n=Bd(t),{args:e,keys:i}=Xd(t),r=new ne(o=>{let{length:s}=e;if(!s){o.complete();return}let a=new Array(s),l=s,c=s;for(let u=0;u{m||(m=!0,c--),a[u]=b},()=>l--,void 0,()=>{(!l||!m)&&(c||o.next(i?eh(i,a):a),o.complete())}))}});return n?r.pipe(Sa(n)):r}var FR=["addListener","removeListener"],VR=["addEventListener","removeEventListener"],jR=["on","off"];function ui(t,n,e,i){if(K(e)&&(i=e,e=void 0),i)return ui(t,n,e).pipe(Sa(i));let[r,o]=UR(t)?VR.map(s=>a=>t[s](n,a,e)):HR(t)?FR.map(sD(t,n)):BR(t)?jR.map(sD(t,n)):[];if(!r&&Da(t))return ze(s=>ui(s,n,e))(Ze(t));if(!r)throw new TypeError("Invalid event target");return new ne(s=>{let a=(...l)=>s.next(1o(a)})}function sD(t,n){return e=>i=>t[e](n,i)}function HR(t){return K(t.addListener)&&K(t.removeListener)}function BR(t){return K(t.on)&&K(t.off)}function UR(t){return K(t.addEventListener)&&K(t.removeEventListener)}function us(t=0,n,e=Uw){let i=-1;return n!=null&&(Hd(n)?e=n:i=n),new ne(r=>{let o=iD(t)?+t-e.now():t;o<0&&(o=0);let s=0;return e.schedule(function(){r.closed||(r.next(s++),0<=i?this.schedule(void 0,i):r.complete())},o)})}function Ta(...t){let n=sr(t),e=$w(t,1/0),i=t;return i.length?i.length===1?Ze(i[0]):nh(e)(Ke(i,n)):Tt}function le(t,n){return se((e,i)=>{let r=0;e.subscribe(ae(i,o=>t.call(n,o,r++)&&i.next(o)))})}function ji(t){return se((n,e)=>{let i=null,r=!1,o;i=n.subscribe(ae(e,void 0,void 0,s=>{o=Ze(t(s,ji(t)(n))),i?(i.unsubscribe(),i=null,o.subscribe(e)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(e))})}function aD(t,n,e,i,r){return(o,s)=>{let a=e,l=n,c=0;o.subscribe(ae(s,u=>{let m=c++;l=a?t(l,u,m):(a=!0,u),i&&s.next(l)},r&&(()=>{a&&s.next(l),s.complete()})))}}function yo(t,n){return K(n)?ze(t,n,1):ze(t,1)}function rh(t,n=yc){return se((e,i)=>{let r=null,o=null,s=null,a=()=>{if(r){r.unsubscribe(),r=null;let c=o;o=null,i.next(c)}};function l(){let c=s+t,u=n.now();if(u{o=c,s=n.now(),r||(r=n.schedule(l,t),i.add(r))},()=>{a(),i.complete()},void 0,()=>{o=r=null}))})}function vo(t){return se((n,e)=>{let i=!1;n.subscribe(ae(e,r=>{i=!0,e.next(r)},()=>{i||e.next(t),e.complete()}))})}function yt(t){return t<=0?()=>Tt:se((n,e)=>{let i=0;n.subscribe(ae(e,r=>{++i<=t&&(e.next(r),t<=i&&e.complete())}))})}function lD(){return se((t,n)=>{t.subscribe(ae(n,os))})}function cD(t){return G(()=>t)}function o_(t,n){return n?e=>_o(n.pipe(yt(1),lD()),e.pipe(o_(t))):ze((e,i)=>Ze(t(e,i)).pipe(yt(1),cD(e)))}function vc(t,n=yc){let e=us(t,n);return o_(()=>e)}function Hr(t,n=Kt){return t=t??$R,se((e,i)=>{let r,o=!0;e.subscribe(ae(i,s=>{let a=n(s);(o||!t(r,a))&&(o=!1,r=a,i.next(s))}))})}function $R(t,n){return t===n}function oh(t=YR){return se((n,e)=>{let i=!1;n.subscribe(ae(e,r=>{i=!0,e.next(r)},()=>i?e.complete():e.error(t())))})}function YR(){return new Vi}function Ea(t,n=1/0,e){return n=(n||0)<1?1/0:n,se((i,r)=>th(i,r,t,n,void 0,!0,e))}function di(t){return se((n,e)=>{try{n.subscribe(e)}finally{e.add(t)}})}function Br(t,n){let e=arguments.length>=2;return i=>i.pipe(t?le((r,o)=>t(r,o,i)):Kt,yt(1),e?vo(n):oh(()=>new Vi))}function Ia(t){return t<=0?()=>Tt:se((n,e)=>{let i=[];n.subscribe(ae(e,r=>{i.push(r),t{for(let r of i)e.next(r);e.complete()},void 0,()=>{i=null}))})}function s_(t,n){let e=arguments.length>=2;return i=>i.pipe(t?le((r,o)=>t(r,o,i)):Kt,Ia(1),e?vo(n):oh(()=>new Vi))}function bc(t,n){return se(aD(t,n,arguments.length>=2,!0))}function a_(t){return le((n,e)=>t<=e)}function ds(...t){let n=sr(t);return se((e,i)=>{(n?_o(t,e,n):_o(t,e)).subscribe(i)})}function vt(t,n){return se((e,i)=>{let r=null,o=0,s=!1,a=()=>s&&!r&&i.complete();e.subscribe(ae(i,l=>{r?.unsubscribe();let c=0,u=o++;Ze(t(l,u)).subscribe(r=ae(i,m=>i.next(n?n(l,m,u,c++):m),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function hi(t){return se((n,e)=>{Ze(t).subscribe(ae(e,()=>e.complete(),os)),!e.closed&&n.subscribe(e)})}function l_(t,n=!1){return se((e,i)=>{let r=0;e.subscribe(ae(i,o=>{let s=t(o,r++);(s||n)&&i.next(o),!s&&i.complete()}))})}function ct(t,n,e){let i=K(t)||n||e?{next:t,error:n,complete:e}:t;return i?se((r,o)=>{var s;(s=i.subscribe)===null||s===void 0||s.call(i);let a=!0;r.subscribe(ae(o,l=>{var c;(c=i.next)===null||c===void 0||c.call(i,l),o.next(l)},()=>{var l;a=!1,(l=i.complete)===null||l===void 0||l.call(i),o.complete()},l=>{var c;a=!1,(c=i.error)===null||c===void 0||c.call(i,l),o.error(l)},()=>{var l,c;a&&((l=i.unsubscribe)===null||l===void 0||l.call(i)),(c=i.finalize)===null||c===void 0||c.call(i)}))}):Kt}var nM="https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss",R=class extends Error{code;constructor(n,e){super(Ly(n,e)),this.code=n}};function zR(t){return`NG0${Math.abs(t)}`}function Ly(t,n){return`${zR(t)}${n?": "+n:""}`}var iM=Symbol("InputSignalNode#UNSET"),WR=Y(E({},Id),{transformFn:void 0,applyValueToInputSignal(t,n){mc(t,n)}});function rM(t,n){let e=Object.create(WR);e.value=t,e.transformFn=n?.transform;function i(){if(pc(e),e.value===iM){let r=null;throw new R(-950,r)}return e.value}return i[ci]=e,i}function Pc(t){return{toString:t}.toString()}var sh="__parameters__";function GR(t){return function(...e){if(t){let i=t(...e);for(let r in i)this[r]=i[r]}}}function oM(t,n,e){return Pc(()=>{let i=GR(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;let s=new r(...o);return a.annotation=s,a;function a(l,c,u){let m=l.hasOwnProperty(sh)?l[sh]:Object.defineProperty(l,sh,{value:[]})[sh];for(;m.length<=u;)m.push(null);return(m[u]=m[u]||[]).push(s),l}}return r.prototype.ngMetadataName=t,r.annotationCls=r,r})}var ar=globalThis;function We(t){for(let n in t)if(t[n]===We)return n;throw Error("Could not find renamed property on target object.")}function qR(t,n){for(let e in n)n.hasOwnProperty(e)&&!t.hasOwnProperty(e)&&(t[e]=n[e])}function xn(t){if(typeof t=="string")return t;if(Array.isArray(t))return`[${t.map(xn).join(", ")}]`;if(t==null)return""+t;let n=t.overriddenName||t.name;if(n)return`${n}`;let e=t.toString();if(e==null)return""+e;let i=e.indexOf(` +`);return i>=0?e.slice(0,i):e}function S_(t,n){return t?n?`${t} ${n}`:t:n||""}var QR=We({__forward_ref__:We});function He(t){return t.__forward_ref__=He,t.toString=function(){return xn(this())},t}function _n(t){return sM(t)?t():t}function sM(t){return typeof t=="function"&&t.hasOwnProperty(QR)&&t.__forward_ref__===He}function x(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function be(t){return{providers:t.providers||[],imports:t.imports||[]}}function $h(t){return uD(t,lM)||uD(t,cM)}function aM(t){return $h(t)!==null}function uD(t,n){return t.hasOwnProperty(n)?t[n]:null}function ZR(t){let n=t&&(t[lM]||t[cM]);return n||null}function dD(t){return t&&(t.hasOwnProperty(hD)||t.hasOwnProperty(KR))?t[hD]:null}var lM=We({\u0275prov:We}),hD=We({\u0275inj:We}),cM=We({ngInjectableDef:We}),KR=We({ngInjectorDef:We}),U=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(n,e){this._desc=n,this.\u0275prov=void 0,typeof e=="number"?this.__NG_ELEMENT_ID__=e:e!==void 0&&(this.\u0275prov=x({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function uM(t){return t&&!!t.\u0275providers}var JR=We({\u0275cmp:We}),XR=We({\u0275dir:We}),eP=We({\u0275pipe:We}),tP=We({\u0275mod:We}),_h=We({\u0275fac:We}),Mc=We({__NG_ELEMENT_ID__:We}),fD=We({__NG_ENV_ID__:We});function ms(t){return typeof t=="string"?t:t==null?"":String(t)}function nP(t){return typeof t=="function"?t.name||t.toString():typeof t=="object"&&t!=null&&typeof t.type=="function"?t.type.name||t.type.toString():ms(t)}function dM(t,n){throw new R(-200,t)}function Fy(t,n){throw new R(-201,!1)}var we=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}(we||{}),T_;function hM(){return T_}function En(t){let n=T_;return T_=t,n}function fM(t,n,e){let i=$h(t);if(i&&i.providedIn=="root")return i.value===void 0?i.value=i.factory():i.value;if(e&we.Optional)return null;if(n!==void 0)return n;Fy(t,"Injector")}var iP={},fs=iP,E_="__NG_DI_FLAG__",yh=class{injector;constructor(n){this.injector=n}retrieve(n,e){let i=e;return this.injector.get(n,i.optional?xd:fs,i)}},vh="ngTempTokenPath",rP="ngTokenPath",oP=/\n/gm,sP="\u0275",pD="__source";function aP(t,n=we.Default){if(gc()===void 0)throw new R(-203,!1);if(gc()===null)return fM(t,void 0,n);{let e=gc(),i;return e instanceof yh?i=e.injector:i=e,i.get(t,n&we.Optional?null:void 0,n)}}function F(t,n=we.Default){return(hM()||aP)(_n(t),n)}function S(t,n=we.Default){return F(t,Yh(n))}function Yh(t){return typeof t>"u"||typeof t=="number"?t:0|(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function I_(t){let n=[];for(let e=0;e ");else if(typeof n=="object"){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+(typeof a=="string"?JSON.stringify(a):xn(a)))}r=`{${o.join(", ")}}`}return`${e}${i?"("+i+")":""}[${r}]: ${t.replace(oP,` + `)}`}var Vy=pM(oM("Optional"),8);var mM=pM(oM("SkipSelf"),4);function gs(t,n){let e=t.hasOwnProperty(_h);return e?t[_h]:null}function dP(t,n,e){if(t.length!==n.length)return!1;for(let i=0;iArray.isArray(e)?jy(e,n):n(e))}function gM(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function bh(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function fP(t,n){let e=[];for(let i=0;in;){let o=r-2;t[r]=t[o],r--}t[n]=e,t[n+1]=i}}function Hy(t,n,e){let i=Oc(t,n);return i>=0?t[i|1]=e:(i=~i,pP(t,i,n,e)),i}function c_(t,n){let e=Oc(t,n);if(e>=0)return t[e|1]}function Oc(t,n){return mP(t,n,1)}function mP(t,n,e){let i=0,r=t.length>>e;for(;r!==i;){let o=i+(r-i>>1),s=t[o<n?r=o:i=o+1}return~(r<{e.push(s)};return jy(n,s=>{let a=s;x_(a,o,[],i)&&(r||=[],r.push(a))}),r!==void 0&&CM(r,o),e}function CM(t,n){for(let e=0;e{n(o,i)})}}function x_(t,n,e,i){if(t=_n(t),!t)return!1;let r=null,o=dD(t),s=!o&&Oa(t);if(!o&&!s){let l=t.ngModule;if(o=dD(l),o)r=l;else return!1}else{if(s&&!s.standalone)return!1;r=t}let a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){let l=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let c of l)x_(c,n,e,i)}}else if(o){if(o.imports!=null&&!a){i.add(r);let c;try{jy(o.imports,u=>{x_(u,n,e,i)&&(c||=[],c.push(u))})}finally{}c!==void 0&&CM(c,n)}if(!a){let c=gs(r)||(()=>new r);n({provide:r,useFactory:c,deps:In},r),n({provide:yM,useValue:r,multi:!0},r),n({provide:Pa,useValue:()=>F(r),multi:!0},r)}let l=o.providers;if(l!=null&&!a){let c=t;Uy(l,u=>{n(u,c)})}}else return!1;return r!==t&&t.providers!==void 0}function Uy(t,n){for(let e of t)uM(e)&&(e=e.\u0275providers),Array.isArray(e)?Uy(e,n):n(e)}var yP=We({provide:String,useValue:We});function wM(t){return t!==null&&typeof t=="object"&&yP in t}function vP(t){return!!(t&&t.useExisting)}function bP(t){return!!(t&&t.useFactory)}function Na(t){return typeof t=="function"}function CP(t){return!!t.useClass}var zh=new U(""),dh={},mD={},u_;function $y(){return u_===void 0&&(u_=new Ch),u_}var yn=class{},Sc=class extends yn{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(n,e,i,r){super(),this.parent=e,this.source=i,this.scopes=r,A_(n,s=>this.processProvider(s)),this.records.set(_M,xa(void 0,this)),r.has("environment")&&this.records.set(yn,xa(void 0,this));let o=this.records.get(zh);o!=null&&typeof o.value=="string"&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(yM,In,we.Self))}retrieve(n,e){let i=e;return this.get(n,i.optional?xd:fs,i)}destroy(){wc(this),this._destroyed=!0;let n=_e(null);try{for(let i of this._ngOnDestroyHooks)i.ngOnDestroy();let e=this._onDestroyHooks;this._onDestroyHooks=[];for(let i of e)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),_e(n)}}onDestroy(n){return wc(this),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){wc(this);let e=jr(this),i=En(void 0),r;try{return n()}finally{jr(e),En(i)}}get(n,e=fs,i=we.Default){if(wc(this),n.hasOwnProperty(fD))return n[fD](this);i=Yh(i);let r,o=jr(this),s=En(void 0);try{if(!(i&we.SkipSelf)){let l=this.records.get(n);if(l===void 0){let c=TP(n)&&$h(n);c&&this.injectableDefInScope(c)?l=xa(k_(n),dh):l=null,this.records.set(n,l)}if(l!=null)return this.hydrate(n,l)}let a=i&we.Self?$y():this.parent;return e=i&we.Optional&&e===fs?null:e,a.get(n,e)}catch(a){if(a.name==="NullInjectorError"){if((a[vh]=a[vh]||[]).unshift(xn(n)),o)throw a;return cP(a,n,"R3InjectorError",this.source)}else throw a}finally{En(s),jr(o)}}resolveInjectorInitializers(){let n=_e(null),e=jr(this),i=En(void 0),r;try{let o=this.get(Pa,In,we.Self);for(let s of o)s()}finally{jr(e),En(i),_e(n)}}toString(){let n=[],e=this.records;for(let i of e.keys())n.push(xn(i));return`R3Injector[${n.join(", ")}]`}processProvider(n){n=_n(n);let e=Na(n)?n:_n(n&&n.provide),i=DP(n);if(!Na(n)&&n.multi===!0){let r=this.records.get(e);r||(r=xa(void 0,dh,!0),r.factory=()=>I_(r.multi),this.records.set(e,r)),e=n,r.multi.push(n)}this.records.set(e,i)}hydrate(n,e){let i=_e(null);try{return e.value===mD?dM(xn(n)):e.value===dh&&(e.value=mD,e.value=e.factory()),typeof e.value=="object"&&e.value&&SP(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}finally{_e(i)}}injectableDefInScope(n){if(!n.providedIn)return!1;let e=_n(n.providedIn);return typeof e=="string"?e==="any"||this.scopes.has(e):this.injectorDefTypes.has(e)}removeOnDestroy(n){let e=this._onDestroyHooks.indexOf(n);e!==-1&&this._onDestroyHooks.splice(e,1)}};function k_(t){let n=$h(t),e=n!==null?n.factory:gs(t);if(e!==null)return e;if(t instanceof U)throw new R(204,!1);if(t instanceof Function)return wP(t);throw new R(204,!1)}function wP(t){if(t.length>0)throw new R(204,!1);let e=ZR(t);return e!==null?()=>e.factory(t):()=>new t}function DP(t){if(wM(t))return xa(void 0,t.useValue);{let n=DM(t);return xa(n,dh)}}function DM(t,n,e){let i;if(Na(t)){let r=_n(t);return gs(r)||k_(r)}else if(wM(t))i=()=>_n(t.useValue);else if(bP(t))i=()=>t.useFactory(...I_(t.deps||[]));else if(vP(t))i=()=>F(_n(t.useExisting));else{let r=_n(t&&(t.useClass||t.provide));if(MP(t))i=()=>new r(...I_(t.deps));else return gs(r)||k_(r)}return i}function wc(t){if(t.destroyed)throw new R(205,!1)}function xa(t,n,e=!1){return{factory:t,value:n,multi:e?[]:void 0}}function MP(t){return!!t.deps}function SP(t){return t!==null&&typeof t=="object"&&typeof t.ngOnDestroy=="function"}function TP(t){return typeof t=="function"||typeof t=="object"&&t instanceof U}function A_(t,n){for(let e of t)Array.isArray(e)?A_(e,n):e&&uM(e)?A_(e.\u0275providers,n):n(e)}function qn(t,n){let e;t instanceof Sc?(wc(t),e=t):e=new yh(t);let i,r=jr(e),o=En(void 0);try{return n()}finally{jr(r),En(o)}}function EP(){return hM()!==void 0||gc()!=null}function IP(t){return typeof t=="function"}var fr=0,he=1,fe=2,dn=3,Ui=4,Rn=5,La=6,wh=7,Ut=8,Fa=9,Ur=10,ut=11,Tc=12,gD=13,za=14,Wn=15,ys=16,ka=17,$r=18,Wh=19,MM=20,bo=21,d_=22,Dh=23,fi=24,h_=25,$t=26,Yy=1;var vs=7,Mh=8,Va=9,un=10;function Co(t){return Array.isArray(t)&&typeof t[Yy]=="object"}function zr(t){return Array.isArray(t)&&t[Yy]===!0}function zy(t){return(t.flags&4)!==0}function Wa(t){return t.componentOffset>-1}function Gh(t){return(t.flags&1)===1}function $i(t){return!!t.template}function Sh(t){return(t[fe]&512)!==0}function Nc(t){return(t[fe]&256)===256}var R_=class{previousValue;currentValue;firstChange;constructor(n,e,i){this.previousValue=n,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}};function SM(t,n,e,i){n!==null?n.applyValueToInputSignal(n,i):t[e]=i}var xe=(()=>{let t=()=>TM;return t.ngInherit=!0,t})();function TM(t){return t.type.prototype.ngOnChanges&&(t.setInput=kP),xP}function xP(){let t=IM(this),n=t?.current;if(n){let e=t.previous;if(e===_s)t.previous=n;else for(let i in n)e[i]=n[i];t.current=null,this.ngOnChanges(n)}}function kP(t,n,e,i,r){let o=this.declaredInputs[i],s=IM(t)||AP(t,{previous:_s,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[o];a[o]=new R_(c&&c.currentValue,e,l===_s),SM(t,n,r,e)}var EM="__ngSimpleChanges__";function IM(t){return t[EM]||null}function AP(t,n){return t[EM]=n}var _D=null;var Je=function(t,n=null,e){_D?.(t,n,e)},RP="svg",PP="math";function cr(t){for(;Array.isArray(t);)t=t[fr];return t}function OP(t){for(;Array.isArray(t);){if(typeof t[Yy]=="object")return t;t=t[fr]}return null}function xM(t,n){return cr(n[t])}function pr(t,n){return cr(n[t.index])}function Wy(t,n){return t.data[n]}function Gy(t,n){return t[n]}function ur(t,n){let e=n[t];return Co(e)?e:e[fr]}function NP(t){return(t[fe]&4)===4}function qy(t){return(t[fe]&128)===128}function LP(t){return zr(t[dn])}function wo(t,n){return n==null?null:t[n]}function kM(t){t[ka]=0}function AM(t){t[fe]&1024||(t[fe]|=1024,qy(t)&&Qh(t))}function FP(t,n){for(;t>0;)n=n[za],t--;return n}function qh(t){return!!(t[fe]&9216||t[fi]?.dirty)}function P_(t){t[Ur].changeDetectionScheduler?.notify(8),t[fe]&64&&(t[fe]|=1024),qh(t)&&Qh(t)}function Qh(t){t[Ur].changeDetectionScheduler?.notify(0);let n=bs(t);for(;n!==null&&!(n[fe]&8192||(n[fe]|=8192,!qy(n)));)n=bs(n)}function RM(t,n){if(Nc(t))throw new R(911,!1);t[bo]===null&&(t[bo]=[]),t[bo].push(n)}function VP(t,n){if(t[bo]===null)return;let e=t[bo].indexOf(n);e!==-1&&t[bo].splice(e,1)}function bs(t){let n=t[dn];return zr(n)?n[dn]:n}function Qy(t){return t[wh]??=[]}function Zy(t){return t.cleanup??=[]}function jP(t,n,e,i){let r=Qy(n);r.push(e),t.firstCreatePass&&Zy(t).push(i,r.length-1)}var ve={lFrame:HM(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var O_=!1;function HP(){return ve.lFrame.elementDepthCount}function BP(){ve.lFrame.elementDepthCount++}function UP(){ve.lFrame.elementDepthCount--}function Ky(){return ve.bindingsEnabled}function PM(){return ve.skipHydrationRootTNode!==null}function $P(t){return ve.skipHydrationRootTNode===t}function YP(){ve.skipHydrationRootTNode=null}function ie(){return ve.lFrame.lView}function dt(){return ve.lFrame.tView}function C(t){return ve.lFrame.contextLView=t,t[Ut]}function w(t){return ve.lFrame.contextLView=null,t}function vn(){let t=OM();for(;t!==null&&t.type===64;)t=t.parent;return t}function OM(){return ve.lFrame.currentTNode}function zP(){let t=ve.lFrame,n=t.currentTNode;return t.isParent?n:n.parent}function Ms(t,n){let e=ve.lFrame;e.currentTNode=t,e.isParent=n}function Jy(){return ve.lFrame.isParent}function Xy(){ve.lFrame.isParent=!1}function WP(){return ve.lFrame.contextLView}function NM(){return O_}function yD(t){let n=O_;return O_=t,n}function Ga(){let t=ve.lFrame,n=t.bindingRootIndex;return n===-1&&(n=t.bindingRootIndex=t.tView.bindingStartIndex),n}function GP(){return ve.lFrame.bindingIndex}function qP(t){return ve.lFrame.bindingIndex=t}function Ss(){return ve.lFrame.bindingIndex++}function ev(t){let n=ve.lFrame,e=n.bindingIndex;return n.bindingIndex=n.bindingIndex+t,e}function QP(){return ve.lFrame.inI18n}function ZP(t,n){let e=ve.lFrame;e.bindingIndex=e.bindingRootIndex=t,N_(n)}function KP(){return ve.lFrame.currentDirectiveIndex}function N_(t){ve.lFrame.currentDirectiveIndex=t}function LM(t){let n=ve.lFrame.currentDirectiveIndex;return n===-1?null:t[n]}function FM(){return ve.lFrame.currentQueryIndex}function tv(t){ve.lFrame.currentQueryIndex=t}function JP(t){let n=t[he];return n.type===2?n.declTNode:n.type===1?t[Rn]:null}function VM(t,n,e){if(e&we.SkipSelf){let r=n,o=t;for(;r=r.parent,r===null&&!(e&we.Host);)if(r=JP(o),r===null||(o=o[za],r.type&10))break;if(r===null)return!1;n=r,t=o}let i=ve.lFrame=jM();return i.currentTNode=n,i.lView=t,!0}function nv(t){let n=jM(),e=t[he];ve.lFrame=n,n.currentTNode=e.firstChild,n.lView=t,n.tView=e,n.contextLView=t,n.bindingIndex=e.bindingStartIndex,n.inI18n=!1}function jM(){let t=ve.lFrame,n=t===null?null:t.child;return n===null?HM(t):n}function HM(t){let 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 t!==null&&(t.child=n),n}function BM(){let t=ve.lFrame;return ve.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}var UM=BM;function iv(){let t=BM();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 XP(t){return(ve.lFrame.contextLView=FP(t,ve.lFrame.contextLView))[Ut]}function Wr(){return ve.lFrame.selectedIndex}function Cs(t){ve.lFrame.selectedIndex=t}function Lc(){let t=ve.lFrame;return Wy(t.tView,t.selectedIndex)}function eO(){return ve.lFrame.currentNamespace}var $M=!0;function Zh(){return $M}function Kh(t){$M=t}function tO(t,n,e){let{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){let s=TM(n);(e.preOrderHooks??=[]).push(t,s),(e.preOrderCheckHooks??=[]).push(t,s)}r&&(e.preOrderHooks??=[]).push(0-t,r),o&&((e.preOrderHooks??=[]).push(t,o),(e.preOrderCheckHooks??=[]).push(t,o))}function rv(t,n){for(let e=n.directiveStart,i=n.directiveEnd;e=i)break}else n[l]<0&&(t[ka]+=65536),(a>14>16&&(t[fe]&3)===n&&(t[fe]+=16384,vD(a,o)):vD(a,o)}var Ra=-1,ws=class{factory;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(n,e,i){this.factory=n,this.canSeeViewProviders=e,this.injectImpl=i}};function iO(t){return(t.flags&8)!==0}function rO(t){return(t.flags&16)!==0}function oO(t,n,e){let i=0;for(;in){s=o-1;break}}}for(;o>16}function Eh(t,n){let e=aO(t),i=n;for(;e>0;)i=i[za],e--;return i}var L_=!0;function Ih(t){let n=L_;return L_=t,n}var lO=256,GM=lO-1,qM=5,cO=0,lr={};function uO(t,n,e){let i;typeof e=="string"?i=e.charCodeAt(0)||0:e.hasOwnProperty(Mc)&&(i=e[Mc]),i==null&&(i=e[Mc]=cO++);let r=i&GM,o=1<>qM)]|=o}function xh(t,n){let e=QM(t,n);if(e!==-1)return e;let i=n[he];i.firstCreatePass&&(t.injectorIndex=n.length,p_(i.data,t),p_(n,null),p_(i.blueprint,null));let r=ov(t,n),o=t.injectorIndex;if(WM(r)){let s=Th(r),a=Eh(r,n),l=a[he].data;for(let c=0;c<8;c++)n[o+c]=a[s+c]|l[s+c]}return n[o+8]=r,o}function p_(t,n){t.push(0,0,0,0,0,0,0,0,n)}function QM(t,n){return t.injectorIndex===-1||t.parent&&t.parent.injectorIndex===t.injectorIndex||n[t.injectorIndex+8]===null?-1:t.injectorIndex}function ov(t,n){if(t.parent&&t.parent.injectorIndex!==-1)return t.parent.injectorIndex;let e=0,i=null,r=n;for(;r!==null;){if(i=eS(r),i===null)return Ra;if(e++,r=r[za],i.injectorIndex!==-1)return i.injectorIndex|e<<16}return Ra}function F_(t,n,e){uO(t,n,e)}function dO(t,n){if(n==="class")return t.classes;if(n==="style")return t.styles;let e=t.attrs;if(e){let i=e.length,r=0;for(;r>20,m=i?a:a+u,b=r?a+u:c;for(let _=m;_=l&&M.type===e)return _}if(r){let _=s[l];if(_&&$i(_)&&_.type===e)return l}return null}function Ec(t,n,e,i){let r=t[e],o=n.data;if(r instanceof ws){let s=r;s.resolving&&dM(nP(o[e]));let a=Ih(s.canSeeViewProviders);s.resolving=!0;let l,c=s.injectImpl?En(s.injectImpl):null,u=VM(t,i,we.Default);try{r=t[e]=s.factory(void 0,o,t,i),n.firstCreatePass&&e>=i.directiveStart&&tO(e,o[e],n)}finally{c!==null&&En(c),Ih(a),s.resolving=!1,UM()}}return r}function fO(t){if(typeof t=="string")return t.charCodeAt(0)||0;let n=t.hasOwnProperty(Mc)?t[Mc]:void 0;return typeof n=="number"?n>=0?n&GM:pO:n}function CD(t,n,e){let i=1<>qM)]&i)}function wD(t,n){return!(t&we.Self)&&!(t&we.Host&&n)}var ps=class{_tNode;_lView;constructor(n,e){this._tNode=n,this._lView=e}get(n,e,i){return JM(this._tNode,this._lView,n,Yh(i),e)}};function pO(){return new ps(vn(),ie())}function bn(t){return Pc(()=>{let n=t.prototype.constructor,e=n[_h]||V_(n),i=Object.prototype,r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==i;){let o=r[_h]||V_(r);if(o&&o!==e)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function V_(t){return sM(t)?()=>{let n=V_(_n(t));return n&&n()}:gs(t)}function mO(t,n,e,i,r){let o=t,s=n;for(;o!==null&&s!==null&&s[fe]&2048&&!Sh(s);){let a=XM(o,s,e,i|we.Self,lr);if(a!==lr)return a;let l=o.parent;if(!l){let c=s[MM];if(c){let u=c.get(e,lr,i);if(u!==lr)return u}l=eS(s),s=s[za]}o=l}return r}function eS(t){let n=t[he],e=n.type;return e===2?n.declTNode:e===1?t[Rn]:null}function sv(t){return dO(vn(),t)}function DD(t,n=null,e=null,i){let r=tS(t,n,e,i);return r.resolveInjectorInitializers(),r}function tS(t,n=null,e=null,i,r=new Set){let o=[e||In,By(t)];return i=i||(typeof t=="object"?void 0:xn(t)),new Sc(o,n||$y(),i||null,r)}var kt=class t{static THROW_IF_NOT_FOUND=fs;static NULL=new Ch;static create(n,e){if(Array.isArray(n))return DD({name:""},e,n,"");{let i=n.name??"";return DD({name:i},n.parent,n.providers,i)}}static \u0275prov=x({token:t,providedIn:"any",factory:()=>F(_M)});static __NG_ELEMENT_ID__=-1};var gO=new U("");gO.__NG_ELEMENT_ID__=t=>{let n=vn();if(n===null)throw new R(204,!1);if(n.type&2)return n.value;if(t&we.Optional)return null;throw new R(204,!1)};var nS=!1,Fc=(()=>{class t{static __NG_ELEMENT_ID__=_O;static __NG_ENV_ID__=e=>e}return t})(),j_=class extends Fc{_lView;constructor(n){super(),this._lView=n}onDestroy(n){return RM(this._lView,n),()=>VP(this._lView,n)}};function _O(){return new j_(ie())}var Ic=class{},av=new U("",{providedIn:"root",factory:()=>!1});var iS=new U(""),rS=new U(""),Mo=(()=>{class t{taskId=0;pendingTasks=new Set;get _hasPendingTasks(){return this.hasPendingTasks.value}hasPendingTasks=new Ne(!1);add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);let e=this.taskId++;return this.pendingTasks.add(e),e}has(e){return this.pendingTasks.has(e)}remove(e){this.pendingTasks.delete(e),this.pendingTasks.size===0&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static \u0275prov=x({token:t,providedIn:"root",factory:()=>new t})}return t})();var H_=class extends X{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(n=!1){super(),this.__isAsync=n,EP()&&(this.destroyRef=S(Fc,{optional:!0})??void 0,this.pendingTasks=S(Mo,{optional:!0})??void 0)}emit(n){let e=_e(null);try{super.next(n)}finally{_e(e)}}subscribe(n,e,i){let r=n,o=e||(()=>null),s=i;if(n&&typeof n=="object"){let l=n;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=this.wrapInTimeout(o),r&&(r=this.wrapInTimeout(r)),s&&(s=this.wrapInTimeout(s)));let a=super.subscribe({next:r,error:o,complete:s});return n instanceof Ue&&n.add(a),a}wrapInTimeout(n){return e=>{let i=this.pendingTasks?.add();setTimeout(()=>{n(e),i!==void 0&&this.pendingTasks?.remove(i)})}}},O=H_;function kh(...t){}function oS(t){let n,e;function i(){t=kh;try{e!==void 0&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(e),n!==void 0&&clearTimeout(n)}catch{}}return n=setTimeout(()=>{t(),i()}),typeof requestAnimationFrame=="function"&&(e=requestAnimationFrame(()=>{t(),i()})),()=>i()}function MD(t){return queueMicrotask(()=>t()),()=>{t=kh}}var lv="isAngularZone",Ah=lv+"_ID",yO=0,Se=class t{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new O(!1);onMicrotaskEmpty=new O(!1);onStable=new O(!1);onError=new O(!1);constructor(n){let{enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:r=!1,scheduleInRootZone:o=nS}=n;if(typeof Zone>"u")throw new R(908,!1);Zone.assertZonePatched();let s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!r&&i,s.shouldCoalesceRunChangeDetection=r,s.callbackScheduled=!1,s.scheduleInRootZone=o,CO(s)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get(lv)===!0}static assertInAngularZone(){if(!t.isInAngularZone())throw new R(909,!1)}static assertNotInAngularZone(){if(t.isInAngularZone())throw new R(909,!1)}run(n,e,i){return this._inner.run(n,e,i)}runTask(n,e,i,r){let o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,n,vO,kh,kh);try{return o.runTask(s,e,i)}finally{o.cancelTask(s)}}runGuarded(n,e,i){return this._inner.runGuarded(n,e,i)}runOutsideAngular(n){return this._outer.run(n)}},vO={};function cv(t){if(t._nesting==0&&!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 bO(t){if(t.isCheckStableRunning||t.callbackScheduled)return;t.callbackScheduled=!0;function n(){oS(()=>{t.callbackScheduled=!1,B_(t),t.isCheckStableRunning=!0,cv(t),t.isCheckStableRunning=!1})}t.scheduleInRootZone?Zone.root.run(()=>{n()}):t._outer.run(()=>{n()}),B_(t)}function CO(t){let n=()=>{bO(t)},e=yO++;t._inner=t._inner.fork({name:"angular",properties:{[lv]:!0,[Ah]:e,[Ah+e]:!0},onInvokeTask:(i,r,o,s,a,l)=>{if(wO(l))return i.invokeTask(o,s,a,l);try{return SD(t),i.invokeTask(o,s,a,l)}finally{(t.shouldCoalesceEventChangeDetection&&s.type==="eventTask"||t.shouldCoalesceRunChangeDetection)&&n(),TD(t)}},onInvoke:(i,r,o,s,a,l,c)=>{try{return SD(t),i.invoke(o,s,a,l,c)}finally{t.shouldCoalesceRunChangeDetection&&!t.callbackScheduled&&!DO(l)&&n(),TD(t)}},onHasTask:(i,r,o,s)=>{i.hasTask(o,s),r===o&&(s.change=="microTask"?(t._hasPendingMicrotasks=s.microTask,B_(t),cv(t)):s.change=="macroTask"&&(t.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,r,o,s)=>(i.handleError(o,s),t.runOutsideAngular(()=>t.onError.emit(s)),!1)})}function B_(t){t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&t.callbackScheduled===!0?t.hasPendingMicrotasks=!0:t.hasPendingMicrotasks=!1}function SD(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function TD(t){t._nesting--,cv(t)}var U_=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new O;onMicrotaskEmpty=new O;onStable=new O;onError=new O;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,r){return n.apply(e,i)}};function wO(t){return sS(t,"__ignore_ng_zone__")}function DO(t){return sS(t,"__scheduler_tick__")}function sS(t,n){return!Array.isArray(t)||t.length!==1?!1:t[0]?.data?.[n]===!0}var dr=class{_console=console;handleError(n){this._console.error("ERROR",n)}},MO=new U("",{providedIn:"root",factory:()=>{let t=S(Se),n=S(dr);return e=>t.runOutsideAngular(()=>n.handleError(e))}}),$_=class{destroyed=!1;listeners=null;errorHandler=S(dr,{optional:!0});destroyRef=S(Fc);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(n){if(this.destroyed)throw new R(953,!1);return(this.listeners??=[]).push(n),{unsubscribe:()=>{let e=this.listeners?.indexOf(n);e!==void 0&&e!==-1&&this.listeners?.splice(e,1)}}}emit(n){if(this.destroyed){console.warn(Ly(953,!1));return}if(this.listeners===null)return;let e=_e(null);try{for(let i of this.listeners)try{i(n)}catch(r){this.errorHandler?.handleError(r)}}finally{_e(e)}}};function Jh(t){return new $_}function ED(t,n){return rM(t,n)}function SO(t){return rM(iM,t)}var Pn=(ED.required=SO,ED);function TO(){return qa(vn(),ie())}function qa(t,n){return new $(pr(t,n))}var $=(()=>{class t{nativeElement;constructor(e){this.nativeElement=e}static __NG_ELEMENT_ID__=TO}return t})();function EO(t){return t instanceof $?t.nativeElement:t}function IO(t){return typeof t=="function"&&t[ci]!==void 0}function ht(t,n){let e=Hg(t,n?.equal),i=e[ci];return e.set=r=>mc(i,r),e.update=r=>Bg(i,r),e.asReadonly=xO.bind(e),e}function xO(){let t=this[ci];if(t.readonlyFn===void 0){let n=()=>this();n[ci]=t,t.readonlyFn=n}return t.readonlyFn}function aS(t){return IO(t)&&typeof t.set=="function"}function kO(){return this._results[Symbol.iterator]()}var Ha=class{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new X}constructor(n=!1){this._emitDistinctChangesOnly=n}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){this.dirty=!1;let i=hP(n);(this._changesDetected=!dP(this._results,i,e))&&(this._results=i,this.length=i.length,this.last=i[this.length-1],this.first=i[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.next(this)}onDirty(n){this._onDirty=n}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}[Symbol.iterator]=kO};function lS(t){return(t.flags&128)===128}var cS=function(t){return t[t.OnPush=0]="OnPush",t[t.Default=1]="Default",t}(cS||{}),uS=new Map,AO=0;function RO(){return AO++}function PO(t){uS.set(t[Wh],t)}function Y_(t){uS.delete(t[Wh])}var ID="__ngContext__";function Qa(t,n){Co(n)?(t[ID]=n[Wh],PO(n)):t[ID]=n}function dS(t){return fS(t[Tc])}function hS(t){return fS(t[Ui])}function fS(t){for(;t!==null&&!zr(t);)t=t[Ui];return t}var z_;function pS(t){z_=t}function mS(){if(z_!==void 0)return z_;if(typeof document<"u")return document;throw new R(210,!1)}var uv=new U("",{providedIn:"root",factory:()=>OO}),OO="ng",dv=new U(""),Qn=new U("",{providedIn:"platform",factory:()=>"unknown"});var Vc=new U(""),hv=new U("",{providedIn:"root",factory:()=>mS().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});var NO="h",LO="b";var gS=!1,FO=new U("",{providedIn:"root",factory:()=>gS});var _S=function(t){return t[t.CHANGE_DETECTION=0]="CHANGE_DETECTION",t[t.AFTER_NEXT_RENDER=1]="AFTER_NEXT_RENDER",t}(_S||{}),Xh=new U(""),xD=new Set;function Za(t){xD.has(t)||(xD.add(t),performance?.mark?.("mark_feature_usage",{detail:{feature:t}}))}var VO=(()=>{class t{impl=null;execute(){this.impl?.execute()}static \u0275prov=x({token:t,providedIn:"root",factory:()=>new t})}return t})();var jO=()=>null;function yS(t,n,e=!1){return jO(t,n,e)}function vS(t,n){let e=t.contentQueries;if(e!==null){let i=_e(null);try{for(let r=0;rt,createScript:t=>t,createScriptURL:t=>t})}catch{}return ah}function ef(t){return HO()?.createHTML(t)||t}var lh;function bS(){if(lh===void 0&&(lh=null,ar.trustedTypes))try{lh=ar.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return lh}function kD(t){return bS()?.createHTML(t)||t}function AD(t){return bS()?.createScriptURL(t)||t}var Yr=class{changingThisBreaksApplicationSecurity;constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${nM})`}},G_=class extends Yr{getTypeName(){return"HTML"}},q_=class extends Yr{getTypeName(){return"Style"}},Q_=class extends Yr{getTypeName(){return"Script"}},Z_=class extends Yr{getTypeName(){return"URL"}},K_=class extends Yr{getTypeName(){return"ResourceURL"}};function Yi(t){return t instanceof Yr?t.changingThisBreaksApplicationSecurity:t}function Gr(t,n){let e=BO(t);if(e!=null&&e!==n){if(e==="ResourceURL"&&n==="URL")return!0;throw new Error(`Required a safe ${n}, got a ${e} (see ${nM})`)}return e===n}function BO(t){return t instanceof Yr&&t.getTypeName()||null}function CS(t){return new G_(t)}function wS(t){return new q_(t)}function DS(t){return new Q_(t)}function MS(t){return new Z_(t)}function SS(t){return new K_(t)}function UO(t){let n=new X_(t);return $O()?new J_(n):n}var J_=class{inertDocumentHelper;constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{let e=new window.DOMParser().parseFromString(ef(n),"text/html").body;return e===null?this.inertDocumentHelper.getInertBodyElement(n):(e.firstChild?.remove(),e)}catch{return null}}},X_=class{defaultDoc;inertDocument;constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){let e=this.inertDocument.createElement("template");return e.innerHTML=ef(n),e}};function $O(){try{return!!new window.DOMParser().parseFromString(ef(""),"text/html")}catch{return!1}}var YO=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function tf(t){return t=String(t),t.match(YO)?t:"unsafe:"+t}function qr(t){let n={};for(let e of t.split(","))n[e]=!0;return n}function jc(...t){let n={};for(let e of t)for(let i in e)e.hasOwnProperty(i)&&(n[i]=!0);return n}var TS=qr("area,br,col,hr,img,wbr"),ES=qr("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),IS=qr("rp,rt"),zO=jc(IS,ES),WO=jc(ES,qr("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")),GO=jc(IS,qr("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")),RD=jc(TS,WO,GO,zO),xS=qr("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),qO=qr("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"),QO=qr("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"),ZO=jc(xS,qO,QO),KO=qr("script,style,template"),ey=class{sanitizedSomething=!1;buf=[];sanitizeChildren(n){let e=n.firstChild,i=!0,r=[];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){r.push(e),e=eN(e);continue}for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let o=XO(e);if(o){e=o;break}e=r.pop()}}return this.buf.join("")}startElement(n){let e=PD(n).toLowerCase();if(!RD.hasOwnProperty(e))return this.sanitizedSomething=!0,!KO.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);let i=n.attributes;for(let r=0;r"),!0}endElement(n){let e=PD(n).toLowerCase();RD.hasOwnProperty(e)&&!TS.hasOwnProperty(e)&&(this.buf.push(""))}chars(n){this.buf.push(OD(n))}};function JO(t,n){return(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}function XO(t){let n=t.nextSibling;if(n&&t!==n.previousSibling)throw kS(n);return n}function eN(t){let n=t.firstChild;if(n&&JO(t,n))throw kS(n);return n}function PD(t){let n=t.nodeName;return typeof n=="string"?n:"FORM"}function kS(t){return new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`)}var tN=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,nN=/([^\#-~ |!])/g;function OD(t){return t.replace(/&/g,"&").replace(tN,function(n){let e=n.charCodeAt(0),i=n.charCodeAt(1);return"&#"+((e-55296)*1024+(i-56320)+65536)+";"}).replace(nN,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}var ch;function pv(t,n){let e=null;try{ch=ch||UO(t);let i=n?String(n):"";e=ch.getInertBodyElement(i);let r=5,o=i;do{if(r===0)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=e.innerHTML,e=ch.getInertBodyElement(i)}while(i!==o);let a=new ey().sanitizeChildren(ND(e)||e);return ef(a)}finally{if(e){let i=ND(e)||e;for(;i.firstChild;)i.firstChild.remove()}}}function ND(t){return"content"in t&&iN(t)?t.content:null}function iN(t){return t.nodeType===Node.ELEMENT_NODE&&t.nodeName==="TEMPLATE"}var Zn=function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t}(Zn||{});function mi(t){let n=mv();return n?kD(n.sanitize(Zn.HTML,t)||""):Gr(t,"HTML")?kD(Yi(t)):pv(mS(),ms(t))}function ft(t){let n=mv();return n?n.sanitize(Zn.URL,t)||"":Gr(t,"URL")?Yi(t):tf(ms(t))}function nf(t){let n=mv();if(n)return AD(n.sanitize(Zn.RESOURCE_URL,t)||"");if(Gr(t,"ResourceURL"))return AD(Yi(t));throw new R(904,!1)}function rN(t,n){return n==="src"&&(t==="embed"||t==="frame"||t==="iframe"||t==="media"||t==="script")||n==="href"&&(t==="base"||t==="link")?nf:ft}function AS(t,n,e){return rN(n,e)(t)}function mv(){let t=ie();return t&&t[Ur].sanitizer}var oN=/^>|^->||--!>|)/g,aN="\u200B$1\u200B";function lN(t){return t.replace(oN,n=>n.replace(sN,aN))}function Hc(t){return t.ownerDocument.defaultView}function RS(t){return t instanceof Function?t():t}function cN(t,n,e){let i=t.length;for(;;){let r=t.indexOf(n,e);if(r===-1)return r;if(r===0||t.charCodeAt(r-1)<=32){let o=n.length;if(r+o===i||t.charCodeAt(r+o)<=32)return r}e=r+1}}var PS="ng-template";function uN(t,n,e,i){let r=0;if(i){for(;r-1){let o;for(;++ro?m="":m=r[u+1].toLowerCase(),i&2&&c!==m){if(Hi(i))return!1;s=!0}}}}return Hi(i)||s}function Hi(t){return(t&1)===0}function fN(t,n,e,i){if(n===null)return-1;let r=0;if(i||!e){let o=!1;for(;r-1)for(e++;e0?'="'+a+'"':"")+"]"}else i&8?r+="."+s:i&4&&(r+=" "+s);else r!==""&&!Hi(s)&&(n+=LD(o,r),r=""),i=s,o=o||!Hi(i);e++}return r!==""&&(n+=LD(o,r)),n}function vN(t){return t.map(yN).join(",")}function bN(t){let n=[],e=[],i=1,r=2;for(;i$t&&HS(t,n,$t,!1),Je(s?2:0,r),e(i,r)}finally{Cs(o),Je(s?3:1,r)}}function of(t,n,e){NN(t,n,e),(e.flags&64)===64&&LN(t,n,e)}function bv(t,n,e=pr){let i=n.localNames;if(i!==null){let r=n.index+1;for(let o=0;onull;function PN(t){return t==="class"?"className":t==="for"?"htmlFor":t==="formaction"?"formAction":t==="innerHtml"?"innerHTML":t==="readonly"?"readOnly":t==="tabindex"?"tabIndex":t}function sf(t,n,e,i,r,o,s,a){if(!a&&wv(n,t,e,i,r)){Wa(n)&&ON(e,n.index);return}if(n.type&3){let l=pr(n,e);i=PN(i),r=s!=null?s(r,n.value||"",i):r,o.setProperty(l,i,r)}else n.type&12}function ON(t,n){let e=ur(n,t);e[fe]&16||(e[fe]|=64)}function NN(t,n,e){let i=e.directiveStart,r=e.directiveEnd;Wa(e)&&xN(n,e,t.data[i+e.componentOffset]),t.firstCreatePass||xh(e,n);let o=e.initialInputs;for(let s=i;s=0?i[a]():i[-a].unsubscribe(),s+=2}else{let a=i[e[s+1]];e[s].call(a)}i!==null&&(n[wh]=null);let r=n[bo];if(r!==null){n[bo]=null;for(let s=0;s{Qh(t.lView)},consumerOnSignalRead(){this.lView[fi]=this}});function cL(t){let n=t[fi]??Object.create(uL);return n.lView=t,n}var uL=Y(E({},fc),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:t=>{let n=bs(t.lView);for(;n&&!QS(n[he]);)n=bs(n);n&&AM(n)},consumerOnSignalRead(){this.lView[fi]=this}});function QS(t){return t.type!==2}function ZS(t){if(t[Dh]===null)return;let n=!0;for(;n;){let e=!1;for(let i of t[Dh])i.dirty&&(e=!0,i.zone===null||Zone.current===i.zone?i.run():i.zone.run(()=>i.run()));n=e&&!!(t[fe]&8192)}}var dL=100;function KS(t,n=!0,e=0){let r=t[Ur].rendererFactory,o=!1;o||r.begin?.();try{hL(t,e)}catch(s){throw n&&UN(t,s),s}finally{o||r.end?.()}}function hL(t,n){let e=NM();try{yD(!0),iy(t,n);let i=0;for(;qh(t);){if(i===dL)throw new R(103,!1);i++,iy(t,1)}}finally{yD(e)}}function fL(t,n,e,i){if(Nc(n))return;let r=n[fe],o=!1,s=!1;nv(n);let a=!0,l=null,c=null;o||(QS(t)?(c=oL(n),l=Sd(c)):Ag()===null?(a=!1,c=cL(n),l=Sd(c)):n[fi]&&(Fg(n[fi]),n[fi]=null));try{kM(n),qP(t.bindingStartIndex),e!==null&&BS(t,n,e,2,i);let u=(r&3)===3;if(!o)if(u){let _=t.preOrderCheckHooks;_!==null&&hh(n,_,null)}else{let _=t.preOrderHooks;_!==null&&fh(n,_,0,null),f_(n,0)}if(s||pL(n),ZS(n),JS(n,0),t.contentQueries!==null&&vS(t,n),!o)if(u){let _=t.contentCheckHooks;_!==null&&hh(n,_)}else{let _=t.contentHooks;_!==null&&fh(n,_,1),f_(n,1)}gL(t,n);let m=t.components;m!==null&&eT(n,m,0);let b=t.viewQuery;if(b!==null&&W_(2,b,i),!o)if(u){let _=t.viewCheckHooks;_!==null&&hh(n,_)}else{let _=t.viewHooks;_!==null&&fh(n,_,2),f_(n,2)}if(t.firstUpdatePass===!0&&(t.firstUpdatePass=!1),n[d_]){for(let _ of n[d_])_();n[d_]=null}o||(GS(n),n[fe]&=-73)}catch(u){throw o||Qh(n),u}finally{c!==null&&(Ng(c,l),a&&aL(c)),iv()}}function JS(t,n){for(let e=dS(t);e!==null;e=hS(e))for(let i=un;i0&&(t[e-1][Ui]=i[Ui]);let o=bh(t,un+n);GN(i[he],i);let s=o[$r];s!==null&&s.detachView(o[he]),i[dn]=null,i[Ui]=null,i[fe]&=-129}return i}function _L(t,n,e,i){let r=un+i,o=e.length;i>0&&(e[r-1][Ui]=n),i-1&&(xc(n,i),bh(e,i))}this._attachedToViewContainer=!1}af(this._lView[he],this._lView)}onDestroy(n){RM(this._lView,n)}markForCheck(){Iv(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[fe]&=-129}reattach(){P_(this._lView),this._lView[fe]|=128}detectChanges(){this._lView[fe]|=1024,KS(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new R(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let n=Sh(this._lView),e=this._lView[ys];e!==null&&!n&&Tv(e,this._lView),US(this._lView[he],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new R(902,!1);this._appRef=n;let e=Sh(this._lView),i=this._lView[ys];i!==null&&!e&&rT(i,this._lView),P_(this._lView)}};var Et=(()=>{class t{static __NG_ELEMENT_ID__=bL}return t})(),yL=Et,vL=class extends yL{_declarationLView;_declarationTContainer;elementRef;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)}createEmbeddedViewImpl(n,e,i){let r=Bc(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:e,dehydratedView:i});return new kc(r)}};function bL(){return uf(vn(),ie())}function uf(t,n){return t.type&4?new vL(n,t,qa(t,n)):null}function $c(t,n,e,i,r){let o=t.data[n];if(o===null)o=CL(t,n,e,i,r),QP()&&(o.flags|=32);else if(o.type&64){o.type=e,o.value=i,o.attrs=r;let s=zP();o.injectorIndex=s===null?-1:s.injectorIndex}return Ms(o,!0),o}function CL(t,n,e,i,r){let o=OM(),s=Jy(),a=s?o:o&&o.parent,l=t.data[n]=DL(t,a,e,n,i,r);return wL(t,l,o,s),l}function wL(t,n,e,i){t.firstChild===null&&(t.firstChild=n),e!==null&&(i?e.child==null&&n.parent!==null&&(e.child=n):e.next===null&&(e.next=n,n.prev=e))}function DL(t,n,e,i,r,o){let s=n?n.injectorIndex:-1,a=0;return PM()&&(a|=128),{type:e,index:i,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:o,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex: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}}var WX=new RegExp(`^(\\d+)*(${LO}|${NO})*(.*)`);var ML=()=>null;function Ua(t,n){return ML(t,n)}var SL=class{},oT=class{},ry=class{resolveComponentFactory(n){throw Error(`No component factory found for ${xn(n)}.`)}},So=class{static NULL=new ry},kn=class{},ke=(()=>{class t{destroyNode=null;static __NG_ELEMENT_ID__=()=>TL()}return t})();function TL(){let t=ie(),n=vn(),e=ur(n.index,t);return(Co(e)?e:t)[ut]}var EL=(()=>{class t{static \u0275prov=x({token:t,providedIn:"root",factory:()=>null})}return t})();var g_={},oy=class{injector;parentInjector;constructor(n,e){this.injector=n,this.parentInjector=e}get(n,e,i){i=Yh(i);let r=this.injector.get(n,g_,i);return r!==g_||e===g_?r:this.parentInjector.get(n,e,i)}};function sy(t,n,e){let i=e?t.styles:null,r=e?t.classes:null,o=0;if(n!==null)for(let s=0;s0&&(e.directiveToIndex=new Map);for(let b=0;b0;){let e=t[--n];if(typeof e=="number"&&e<0)return e}return 0}function FL(t,n,e){if(e){if(n.exportAs)for(let i=0;i{let[e,i,r]=t[n],o={propName:e,templateName:n,isSignal:(i&rf.SignalBased)!==0};return r&&(o.transform=r),o})}function HL(t){return Object.keys(t).map(n=>({propName:t[n],templateName:n}))}function BL(t,n,e){let i=n instanceof yn?n:n?.injector;return i&&t.getStandaloneInjector!==null&&(i=t.getStandaloneInjector(i)||i),i?new oy(e,i):e}function UL(t){let n=t.get(kn,null);if(n===null)throw new R(407,!1);let e=t.get(EL,null),i=t.get(Ic,null);return{rendererFactory:n,sanitizer:e,changeDetectionScheduler:i}}function $L(t,n){let e=(t.selectors[0][0]||"div").toLowerCase();return NS(n,e,e==="svg"?RP:e==="math"?PP:null)}var Ac=class extends oT{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=jL(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=HL(this.componentDef.outputs),this.cachedOutputs}constructor(n,e){super(),this.componentDef=n,this.ngModule=e,this.componentType=n.type,this.selector=vN(n.selectors),this.ngContentSelectors=n.ngContentSelectors??[],this.isBoundToModule=!!e}create(n,e,i,r){Je(22);let o=_e(null);try{let s=this.componentDef,a=i?["ng-version","19.2.8"]:bN(this.componentDef.selectors[0]),l=_v(0,null,null,1,0,null,null,null,null,[a],null),c=BL(s,r||this.ngModule,n),u=UL(c),m=u.rendererFactory.createRenderer(null,s),b=i?kN(m,i,s.encapsulation,c):$L(s,m),_=yv(null,l,null,512|VS(s),null,null,u,m,c,null,yS(b,c,!0));_[$t]=b,nv(_);let M=null;try{let I=aT($t,l,_,"#host",()=>[this.componentDef],!0,0);b&&(FS(m,b,I),Qa(b,_)),of(l,_,I),fv(l,I,_),lT(l,I),e!==void 0&&YL(I,this.ngContentSelectors,e),M=ur(I.index,_),_[Ut]=M[Ut],Dv(l,_,null)}catch(I){throw M!==null&&Y_(M),Y_(_),I}finally{Je(23),iv()}return new ay(this.componentType,_)}finally{_e(o)}}},ay=class extends SL{_rootLView;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(n,e){super(),this._rootLView=e,this._tNode=Wy(e[he],$t),this.location=qa(this._tNode,e),this.instance=ur(this._tNode.index,e)[Ut],this.hostView=this.changeDetectorRef=new kc(e,void 0,!1),this.componentType=n}setInput(n,e){let i=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(n)&&Object.is(this.previousInputValues.get(n),e))return;let r=this._rootLView,o=wv(i,r[he],r,n,e);this.previousInputValues.set(n,e);let s=ur(i.index,r);Iv(s,1)}get injector(){return new ps(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(n){this.hostView.onDestroy(n)}};function YL(t,n,e){let i=t.projection=[];for(let r=0;r{class t{static __NG_ELEMENT_ID__=zL}return t})();function zL(){let t=vn();return uT(t,ie())}var WL=pt,cT=class extends WL{_lContainer;_hostTNode;_hostLView;constructor(n,e,i){super(),this._lContainer=n,this._hostTNode=e,this._hostLView=i}get element(){return qa(this._hostTNode,this._hostLView)}get injector(){return new ps(this._hostTNode,this._hostLView)}get parentInjector(){let n=ov(this._hostTNode,this._hostLView);if(WM(n)){let e=Eh(n,this._hostLView),i=Th(n),r=e[he].data[i+8];return new ps(r,e)}else return new ps(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){let e=UD(this._lContainer);return e!==null&&e[n]||null}get length(){return this._lContainer.length-un}createEmbeddedView(n,e,i){let r,o;typeof i=="number"?r=i:i!=null&&(r=i.index,o=i.injector);let s=Ua(this._lContainer,n.ssrId),a=n.createEmbeddedViewImpl(e||{},o,s);return this.insertImpl(a,r,Ba(this._hostTNode,s)),a}createComponent(n,e,i,r,o){let s=n&&!IP(n),a;if(s)a=e;else{let M=e||{};a=M.index,i=M.injector,r=M.projectableNodes,o=M.environmentInjector||M.ngModuleRef}let l=s?n:new Ac(Oa(n)),c=i||this.parentInjector;if(!o&&l.ngModule==null){let I=(s?c:this.parentInjector).get(yn,null);I&&(o=I)}let u=Oa(l.componentType??{}),m=Ua(this._lContainer,u?.id??null),b=m?.firstChild??null,_=l.create(c,r,b,o);return this.insertImpl(_.hostView,a,Ba(this._hostTNode,m)),_}insert(n,e){return this.insertImpl(n,e,!0)}insertImpl(n,e,i){let r=n._lView;if(LP(r)){let a=this.indexOf(n);if(a!==-1)this.detach(a);else{let l=r[dn],c=new cT(l,l[Rn],l[dn]);c.detach(c.indexOf(n))}}let o=this._adjustIndex(e),s=this._lContainer;return Uc(s,r,o,i),n.attachToViewContainerRef(),gM(__(s),o,n),n}move(n,e){return this.insert(n,e)}indexOf(n){let e=UD(this._lContainer);return e!==null?e.indexOf(n):-1}remove(n){let e=this._adjustIndex(n,-1),i=xc(this._lContainer,e);i&&(bh(__(this._lContainer),e),af(i[he],i))}detach(n){let e=this._adjustIndex(n,-1),i=xc(this._lContainer,e);return i&&bh(__(this._lContainer),e)!=null?new kc(i):null}_adjustIndex(n,e=0){return n??this.length+e}};function UD(t){return t[Mh]}function __(t){return t[Mh]||(t[Mh]=[])}function uT(t,n){let e,i=n[t.index];return zr(i)?e=i:(e=tT(i,n,null,t),n[t.index]=e,vv(n,e)),qL(e,n,t,i),new cT(e,t,n)}function GL(t,n){let e=t[ut],i=e.createComment(""),r=pr(n,t),o=e.parentNode(r);return Rh(e,o,i,e.nextSibling(r),!1),i}var qL=KL,QL=()=>!1;function ZL(t,n,e){return QL(t,n,e)}function KL(t,n,e,i){if(t[vs])return;let r;e.type&8?r=cr(i):r=GL(n,e),t[vs]=r}var ly=class t{queryList;matches=null;constructor(n){this.queryList=n}clone(){return new t(this.queryList)}setDirty(){this.queryList.setDirty()}},cy=class t{queries;constructor(n=[]){this.queries=n}createEmbeddedView(n){let e=n.queries;if(e!==null){let i=n.contentQueries!==null?n.contentQueries[0]:e.length,r=[];for(let o=0;o0)i.push(s[a/2]);else{let c=o[a+1],u=n[-l];for(let m=un;mn.trim())}function fT(t,n,e){t.queries===null&&(t.queries=new uy),t.queries.track(new dy(n,e))}function sF(t,n){let e=t.contentQueries||(t.contentQueries=[]),i=e.length?e[e.length-1]:-1;n!==i&&e.push(t.queries.length-1,n)}function kv(t,n){return t.queries.getByIndex(n)}function aF(t,n){let e=t[he],i=kv(e,n);return i.crossesNgTemplate?hy(e,t,n,[]):dT(e,t,i,n)}var $a=class{},Av=class{};var fy=class extends $a{ngModuleType;_parent;_bootstrapComponents=[];_r3Injector;instance;destroyCbs=[];componentFactoryResolver=new Oh(this);constructor(n,e,i,r=!0){super(),this.ngModuleType=n,this._parent=e;let o=vM(n);this._bootstrapComponents=RS(o.bootstrap),this._r3Injector=tS(n,e,[{provide:$a,useValue:this},{provide:So,useValue:this.componentFactoryResolver},...i],xn(n),new Set(["environment"])),r&&this.resolveInjectorInitializers()}resolveInjectorInitializers(){this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(this.ngModuleType)}get injector(){return this._r3Injector}destroy(){let n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}},py=class extends Av{moduleType;constructor(n){super(),this.moduleType=n}create(n){return new fy(this.moduleType,n,[])}};var Lh=class extends $a{injector;componentFactoryResolver=new Oh(this);instance=null;constructor(n){super();let e=new Sc([...n.providers,{provide:$a,useValue:this},{provide:So,useValue:this.componentFactoryResolver}],n.parent||$y(),n.debugName,new Set(["environment"]));this.injector=e,n.runEnvironmentInitializers&&e.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}};function df(t,n,e=null){return new Lh({providers:t,parent:n,debugName:e,runEnvironmentInitializers:!0}).injector}var lF=(()=>{class t{_injector;cachedInjectors=new Map;constructor(e){this._injector=e}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e)){let i=bM(!1,e.type),r=i.length>0?df([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e,r)}return this.cachedInjectors.get(e)}ngOnDestroy(){try{for(let e of this.cachedInjectors.values())e!==null&&e.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=x({token:t,providedIn:"environment",factory:()=>new t(F(yn))})}return t})();function L(t){return Pc(()=>{let n=pT(t),e=Y(E({},n),{decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===cS.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&t.dependencies||null,getStandaloneInjector:n.standalone?r=>r.get(lF).getOrCreateStandaloneInjector(e):null,getExternalStyles:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||pi.Emulated,styles:t.styles||In,_:null,schemas:t.schemas||null,tView:null,id:""});n.standalone&&Za("NgStandalone"),mT(e);let i=t.dependencies;return e.directiveDefs=$D(i,!1),e.pipeDefs=$D(i,!0),e.id=fF(e),e})}function cF(t){return Oa(t)||gP(t)}function uF(t){return t!==null}function Ce(t){return Pc(()=>({type:t.type,bootstrap:t.bootstrap||In,declarations:t.declarations||In,imports:t.imports||In,exports:t.exports||In,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function dF(t,n){if(t==null)return _s;let e={};for(let i in t)if(t.hasOwnProperty(i)){let r=t[i],o,s,a,l;Array.isArray(r)?(a=r[0],o=r[1],s=r[2]??o,l=r[3]||null):(o=r,s=r,a=rf.None,l=null),e[o]=[i,a,l],n[o]=s}return e}function hF(t){if(t==null)return _s;let n={};for(let e in t)t.hasOwnProperty(e)&&(n[t[e]]=e);return n}function B(t){return Pc(()=>{let n=pT(t);return mT(n),n})}function To(t){return{type:t.type,name:t.name,factory:null,pure:t.pure!==!1,standalone:t.standalone??!0,onDestroy:t.type.prototype.ngOnDestroy||null}}function pT(t){let 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,inputConfig:t.inputs||_s,exportAs:t.exportAs||null,standalone:t.standalone??!0,signals:t.signals===!0,selectors:t.selectors||In,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:dF(t.inputs,n),outputs:hF(t.outputs),debugInfo:null}}function mT(t){t.features?.forEach(n=>n(t))}function $D(t,n){if(!t)return null;let e=n?_P:cF;return()=>(typeof t=="function"?t():t).map(i=>e(i)).filter(uF)}function fF(t){let n=0,e=typeof t.consts=="function"?"":t.consts,i=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,e,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery];for(let o of i.join("|"))n=Math.imul(31,n)+o.charCodeAt(0)<<0;return n+=2147483648,"c"+n}function pF(t){return Object.getPrototypeOf(t.prototype).constructor}function wt(t){let n=pF(t.type),e=!0,i=[t];for(;n;){let r;if($i(t))r=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new R(903,!1);r=n.\u0275dir}if(r){if(e){i.push(r);let s=t;s.inputs=y_(t.inputs),s.declaredInputs=y_(t.declaredInputs),s.outputs=y_(t.outputs);let a=r.hostBindings;a&&vF(t,a);let l=r.viewQuery,c=r.contentQueries;if(l&&_F(t,l),c&&yF(t,c),mF(t,r),qR(t.outputs,r.outputs),$i(r)&&r.data.animation){let u=t.data;u.animation=(u.animation||[]).concat(r.data.animation)}}let o=r.features;if(o)for(let s=0;s=0;i--){let r=t[i];r.hostVars=n+=r.hostVars,r.hostAttrs=ja(r.hostAttrs,e=ja(e,r.hostAttrs))}}function y_(t){return t===_s?{}:t===In?[]:t}function _F(t,n){let e=t.viewQuery;e?t.viewQuery=(i,r)=>{n(i,r),e(i,r)}:t.viewQuery=n}function yF(t,n){let e=t.contentQueries;e?t.contentQueries=(i,r,o)=>{n(i,r,o),e(i,r,o)}:t.contentQueries=n}function vF(t,n){let e=t.hostBindings;e?t.hostBindings=(i,r)=>{n(i,r),e(i,r)}:t.hostBindings=n}function gT(t){return Rv(t)?Array.isArray(t)||!(t instanceof Map)&&Symbol.iterator in t:!1}function bF(t,n){if(Array.isArray(t))for(let e=0;e{class t{log(e){console.log(e)}warn(e){console.warn(e)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();var _T=new U("");var TF=(()=>{class t{static \u0275prov=x({token:t,providedIn:"root",factory:()=>new my})}return t})(),my=class{queuedEffectCount=0;queues=new Map;schedule(n){this.enqueue(n)}remove(n){let e=n.zone,i=this.queues.get(e);i.has(n)&&(i.delete(n),this.queuedEffectCount--)}enqueue(n){let e=n.zone;this.queues.has(e)||this.queues.set(e,new Set);let i=this.queues.get(e);i.has(n)||(this.queuedEffectCount++,i.add(n))}flush(){for(;this.queuedEffectCount>0;)for(let[n,e]of this.queues)n===null?this.flushQueue(e):n.run(()=>this.flushQueue(e))}flushQueue(n){for(let e of n)n.delete(e),this.queuedEffectCount--,e.run()}};function Eo(t){return!!t&&typeof t.then=="function"}function Nv(t){return!!t&&typeof t.subscribe=="function"}var EF=new U("");var yT=(()=>{class t{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((e,i)=>{this.resolve=e,this.reject=i});appInits=S(EF,{optional:!0})??[];injector=S(kt);constructor(){}runInitializers(){if(this.initialized)return;let e=[];for(let r of this.appInits){let o=qn(this.injector,r);if(Eo(o))e.push(o);else if(Nv(o)){let s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});e.push(s)}}let i=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{i()}).catch(r=>{this.reject(r)}),e.length===0&&i(),this.initialized=!0}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Lv=new U("");function IF(){jg(()=>{throw new R(600,!1)})}function xF(t){return t.isBoundToModule}var kF=10;var An=(()=>{class t{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=S(MO);afterRenderManager=S(VO);zonelessEnabled=S(av);rootEffectScheduler=S(TF);dirtyFlags=0;tracingSnapshot=null;externalTestViews=new Set;afterTick=new X;get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];isStable=S(Mo).hasPendingTasks.pipe(G(e=>!e));constructor(){S(Xh,{optional:!0})}whenStable(){let e;return new Promise(i=>{e=this.isStable.subscribe({next:r=>{r&&i()}})}).finally(()=>{e.unsubscribe()})}_injector=S(yn);_rendererFactory=null;get injector(){return this._injector}bootstrap(e,i){return this.bootstrapImpl(e,i)}bootstrapImpl(e,i,r=kt.NULL){Je(10);let o=e instanceof oT;if(!this._injector.get(yT).done){let _="";throw new R(405,_)}let a;o?a=e:a=this._injector.get(So).resolveComponentFactory(e),this.componentTypes.push(a.componentType);let l=xF(a)?void 0:this._injector.get($a),c=i||a.selector,u=a.create(r,[],c,l),m=u.location.nativeElement,b=u.injector.get(_T,null);return b?.registerApplication(m),u.onDestroy(()=>{this.detachView(u.hostView),mh(this.components,u),b?.unregisterApplication(m)}),this._loadComponent(u),Je(11,u),u}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){Je(12),this.tracingSnapshot!==null?this.tracingSnapshot.run(_S.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw new R(101,!1);let e=_e(null);try{this._runningTick=!0,this.synchronize()}catch(i){this.internalErrorHandler(i)}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,_e(e),this.afterTick.next(),Je(13)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(kn,null,{optional:!0}));let e=0;for(;this.dirtyFlags!==0&&e++qh(e))){this.dirtyFlags|=2;return}else this.dirtyFlags&=-8}attachView(e){let i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){let i=e;mh(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e),this._injector.get(Lv,[]).forEach(r=>r(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._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>mh(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new R(406,!1);let e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function mh(t,n){let e=t.indexOf(n);e>-1&&t.splice(e,1)}function AF(t,n,e,i){if(!e&&!qh(t))return;KS(t,n,e&&!i?0:1)}function J(t,n,e,i){let r=ie(),o=Ss();if(Gn(r,o,n)){let s=dt(),a=Lc();VN(a,r,t,n,e,i)}return J}function vT(t,n,e,i){return Gn(t,Ss(),e)?n+ms(e)+i:On}function RF(t,n,e,i,r,o){let s=GP(),a=Pv(t,s,e,r);return ev(2),a?n+ms(e)+i+ms(r)+o:On}function uh(t,n){return t<<17|n<<2}function Ds(t){return t>>17&32767}function PF(t){return(t&2)==2}function OF(t,n){return t&131071|n<<17}function gy(t){return t|2}function Ya(t){return(t&131068)>>2}function v_(t,n){return t&-131069|n<<2}function NF(t){return(t&1)===1}function _y(t){return t|1}function LF(t,n,e,i,r,o){let s=o?n.classBindings:n.styleBindings,a=Ds(s),l=Ya(s);t[i]=e;let c=!1,u;if(Array.isArray(e)){let m=e;u=m[1],(u===null||Oc(m,u)>0)&&(c=!0)}else u=e;if(r)if(l!==0){let b=Ds(t[a+1]);t[i+1]=uh(b,a),b!==0&&(t[b+1]=v_(t[b+1],i)),t[a+1]=OF(t[a+1],i)}else t[i+1]=uh(a,0),a!==0&&(t[a+1]=v_(t[a+1],i)),a=i;else t[i+1]=uh(l,0),a===0?a=i:t[l+1]=v_(t[l+1],i),l=i;c&&(t[i+1]=gy(t[i+1])),YD(t,u,i,!0),YD(t,u,i,!1),FF(n,u,t,i,o),s=uh(a,l),o?n.classBindings=s:n.styleBindings=s}function FF(t,n,e,i,r){let o=r?t.residualClasses:t.residualStyles;o!=null&&typeof n=="string"&&Oc(o,n)>=0&&(e[i+1]=_y(e[i+1]))}function YD(t,n,e,i){let r=t[e+1],o=n===null,s=i?Ds(r):Ya(r),a=!1;for(;s!==0&&(a===!1||o);){let l=t[s],c=t[s+1];VF(l,n)&&(a=!0,t[s+1]=i?_y(c):gy(c)),s=i?Ds(c):Ya(c)}a&&(t[e+1]=i?gy(r):_y(r))}function VF(t,n){return t===null||n==null||(Array.isArray(t)?t[1]:t)===n?!0:Array.isArray(t)&&typeof n=="string"?Oc(t,n)>=0:!1}var Bi={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function jF(t){return t.substring(Bi.key,Bi.keyEnd)}function HF(t){return BF(t),bT(t,CT(t,0,Bi.textEnd))}function bT(t,n){let e=Bi.textEnd;return e===n?-1:(n=Bi.keyEnd=UF(t,Bi.key=n,e),CT(t,n,e))}function BF(t){Bi.key=0,Bi.keyEnd=0,Bi.value=0,Bi.valueEnd=0,Bi.textEnd=t.length}function CT(t,n,e){for(;n32;)n++;return n}function g(t,n,e){let i=ie(),r=Ss();if(Gn(i,r,n)){let o=dt(),s=Lc();sf(o,s,i,t,n,i[ut],e,!1)}return g}function yy(t,n,e,i,r){wv(n,t,e,r?"class":"style",i)}function on(t,n,e){return wT(t,n,e,!1),on}function j(t,n){return wT(t,n,null,!0),j}function Jt(t){YF(ZF,$F,t,!0)}function $F(t,n){for(let e=HF(n);e>=0;e=bT(n,e))Hy(t,jF(n),!0)}function wT(t,n,e,i){let r=ie(),o=dt(),s=ev(2);if(o.firstUpdatePass&&MT(o,t,s,i),n!==On&&Gn(r,s,n)){let a=o.data[Wr()];ST(o,a,r,r[ut],t,r[s+1]=JF(n,e),i,s)}}function YF(t,n,e,i){let r=dt(),o=ev(2);r.firstUpdatePass&&MT(r,null,o,i);let s=ie();if(e!==On&&Gn(s,o,e)){let a=r.data[Wr()];if(TT(a,i)&&!DT(r,o)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;l!==null&&(e=S_(l,e||"")),yy(r,a,s,e,i)}else KF(r,a,s,s[ut],s[o+1],s[o+1]=QF(t,n,e),i,o)}}function DT(t,n){return n>=t.expandoStartIndex}function MT(t,n,e,i){let r=t.data;if(r[e+1]===null){let o=r[Wr()],s=DT(t,e);TT(o,i)&&n===null&&!s&&(n=!1),n=zF(r,o,n,i),LF(r,o,n,e,s,i)}}function zF(t,n,e,i){let r=LM(t),o=i?n.residualClasses:n.residualStyles;if(r===null)(i?n.classBindings:n.styleBindings)===0&&(e=b_(null,t,n,e,i),e=Rc(e,n.attrs,i),o=null);else{let s=n.directiveStylingLast;if(s===-1||t[s]!==r)if(e=b_(r,t,n,e,i),o===null){let l=WF(t,n,i);l!==void 0&&Array.isArray(l)&&(l=b_(null,t,n,l[1],i),l=Rc(l,n.attrs,i),GF(t,n,i,l))}else o=qF(t,n,i)}return o!==void 0&&(i?n.residualClasses=o:n.residualStyles=o),e}function WF(t,n,e){let i=e?n.classBindings:n.styleBindings;if(Ya(i)!==0)return t[Ds(i)]}function GF(t,n,e,i){let r=e?n.classBindings:n.styleBindings;t[Ds(r)]=i}function qF(t,n,e){let i,r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0;){let l=t[r],c=Array.isArray(l),u=c?l[1]:l,m=u===null,b=e[r+1];b===On&&(b=m?In:void 0);let _=m?c_(b,i):u===i?b:void 0;if(c&&!Vh(_)&&(_=c_(l,i)),Vh(_)&&(a=_,s))return a;let M=t[r+1];r=s?Ds(M):Ya(M)}if(n!==null){let l=o?n.residualClasses:n.residualStyles;l!=null&&(a=c_(l,i))}return a}function Vh(t){return t!==void 0}function JF(t,n){return t==null||t===""||(typeof n=="string"?t=t+n:typeof t=="object"&&(t=xn(Yi(t)))),t}function TT(t,n){return(t.flags&(n?8:16))!==0}var vy=class{destroy(n){}updateValue(n,e){}swap(n,e){let i=Math.min(n,e),r=Math.max(n,e),o=this.detach(r);if(r-i>1){let s=this.detach(i);this.attach(i,o),this.attach(r,s)}else this.attach(i,o)}move(n,e){this.attach(e,this.detach(n))}};function C_(t,n,e,i,r){return t===e&&Object.is(n,i)?1:Object.is(r(t,n),r(e,i))?-1:0}function XF(t,n,e){let i,r,o=0,s=t.length-1,a=void 0;if(Array.isArray(n)){let l=n.length-1;for(;o<=s&&o<=l;){let c=t.at(o),u=n[o],m=C_(o,c,o,u,e);if(m!==0){m<0&&t.updateValue(o,u),o++;continue}let b=t.at(s),_=n[l],M=C_(s,b,l,_,e);if(M!==0){M<0&&t.updateValue(s,_),s--,l--;continue}let I=e(o,c),P=e(s,b),V=e(o,u);if(Object.is(V,P)){let de=e(l,_);Object.is(de,I)?(t.swap(o,s),t.updateValue(s,_),l--,s--):t.move(s,o),t.updateValue(o,u),o++;continue}if(i??=new jh,r??=GD(t,o,s,e),by(t,i,o,V))t.updateValue(o,u),o++,s++;else if(r.has(V))i.set(I,t.detach(o)),s--;else{let de=t.create(o,n[o]);t.attach(o,de),o++,s++}}for(;o<=l;)WD(t,i,e,o,n[o]),o++}else if(n!=null){let l=n[Symbol.iterator](),c=l.next();for(;!c.done&&o<=s;){let u=t.at(o),m=c.value,b=C_(o,u,o,m,e);if(b!==0)b<0&&t.updateValue(o,m),o++,c=l.next();else{i??=new jh,r??=GD(t,o,s,e);let _=e(o,m);if(by(t,i,o,_))t.updateValue(o,m),o++,s++,c=l.next();else if(!r.has(_))t.attach(o,t.create(o,m)),o++,s++,c=l.next();else{let M=e(o,u);i.set(M,t.detach(o)),s--}}}for(;!c.done;)WD(t,i,e,t.length,c.value),c=l.next()}for(;o<=s;)t.destroy(t.detach(s--));i?.forEach(l=>{t.destroy(l)})}function by(t,n,e,i){return n!==void 0&&n.has(i)?(t.attach(e,n.get(i)),n.delete(i),!0):!1}function WD(t,n,e,i,r){if(by(t,n,i,e(i,r)))t.updateValue(i,r);else{let o=t.create(i,r);t.attach(i,o)}}function GD(t,n,e,i){let r=new Set;for(let o=n;o<=e;o++)r.add(i(o,t.at(o)));return r}var jh=class{kvMap=new Map;_vMap=void 0;has(n){return this.kvMap.has(n)}delete(n){if(!this.has(n))return!1;let e=this.kvMap.get(n);return this._vMap!==void 0&&this._vMap.has(e)?(this.kvMap.set(n,this._vMap.get(e)),this._vMap.delete(e)):this.kvMap.delete(n),!0}get(n){return this.kvMap.get(n)}set(n,e){if(this.kvMap.has(n)){let i=this.kvMap.get(n);this._vMap===void 0&&(this._vMap=new Map);let r=this._vMap;for(;r.has(i);)i=r.get(i);r.set(i,e)}else this.kvMap.set(n,e)}forEach(n){for(let[e,i]of this.kvMap)if(n(i,e),this._vMap!==void 0){let r=this._vMap;for(;r.has(i);)i=r.get(i),n(i,e)}}};function Le(t,n){Za("NgControlFlow");let e=ie(),i=Ss(),r=e[i]!==On?e[i]:-1,o=r!==-1?Hh(e,$t+r):void 0,s=0;if(Gn(e,i,t)){let a=_e(null);try{if(o!==void 0&&iT(o,s),t!==-1){let l=$t+t,c=Hh(e,l),u=My(e[he],l),m=Ua(c,u.tView.ssrId),b=Bc(e,u,n,{dehydratedView:m});Uc(c,b,s,Ba(u,m))}}finally{_e(a)}}else if(o!==void 0){let a=nT(o,s);a!==void 0&&(a[Ut]=n)}}var Cy=class{lContainer;$implicit;$index;constructor(n,e,i){this.lContainer=n,this.$implicit=e,this.$index=i}get $count(){return this.lContainer.length-un}};function Ka(t){return t}function Fv(t,n){return n}var wy=class{hasEmptyBlock;trackByFn;liveCollection;constructor(n,e,i){this.hasEmptyBlock=n,this.trackByFn=e,this.liveCollection=i}};function Dt(t,n,e,i,r,o,s,a,l,c,u,m,b){Za("NgControlFlow");let _=ie(),M=dt(),I=l!==void 0,P=ie(),V=a?s.bind(P[Wn][Ut]):s,de=new wy(I,V);P[$t+t]=de,Fh(_,M,t+1,n,e,i,r,wo(M.consts,o)),I&&Fh(_,M,t+2,l,c,u,m,wo(M.consts,b))}var Dy=class extends vy{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(n,e,i){super(),this.lContainer=n,this.hostLView=e,this.templateTNode=i}get length(){return this.lContainer.length-un}at(n){return this.getLView(n)[Ut].$implicit}attach(n,e){let i=e[La];this.needsIndexUpdate||=n!==this.length,Uc(this.lContainer,e,n,Ba(this.templateTNode,i))}detach(n){return this.needsIndexUpdate||=n!==this.length-1,e2(this.lContainer,n)}create(n,e){let i=Ua(this.lContainer,this.templateTNode.tView.ssrId),r=Bc(this.hostLView,this.templateTNode,new Cy(this.lContainer,e,n),{dehydratedView:i});return this.operationsCounter?.recordCreate(),r}destroy(n){af(n[he],n),this.operationsCounter?.recordDestroy()}updateValue(n,e){this.getLView(n)[Ut].$implicit=e}reset(){this.needsIndexUpdate=!1,this.operationsCounter?.reset()}updateIndexes(){if(this.needsIndexUpdate)for(let n=0;n(Kh(!0),NS(i,r,eO()));function i2(t,n,e,i,r){let o=n.consts,s=wo(o,i),a=$c(n,t,8,"ng-container",s);s!==null&&sy(a,s,!0);let l=wo(o,r);return Ky()&&xv(n,e,a,l,Cv),a.mergedAttrs=ja(a.mergedAttrs,a.attrs),n.queries!==null&&n.queries.elementStart(n,a),a}function At(t,n,e){let i=ie(),r=dt(),o=t+$t,s=r.firstCreatePass?i2(o,r,i,n,e):r.data[o];Ms(s,!0);let a=r2(r,i,s,t);return i[o]=a,Zh()&&lf(r,i,a,s),Qa(a,i),Gh(s)&&(of(r,i,s),fv(r,s,i)),e!=null&&bv(i,s),At}function Rt(){let t=vn(),n=dt();return Jy()?Xy():(t=t.parent,Ms(t,!1)),n.firstCreatePass&&(rv(n,t),zy(t)&&n.queries.elementEnd(t)),Rt}function gi(t,n,e){return At(t,n,e),Rt(),gi}var r2=(t,n,e,i)=>(Kh(!0),DN(n[ut],""));function N(){return ie()}function Vv(t,n,e){let i=ie(),r=Ss();if(Gn(i,r,n)){let o=dt(),s=Lc(),a=LM(o.data),l=BN(a,s,i);sf(o,s,i,t,n,l,e,!0)}return Vv}var hs=void 0;function o2(t){let n=Math.floor(Math.abs(t)),e=t.toString().replace(/^[^.]*\.?/,"").length;return n===1&&e===0?1:5}var s2=["en",[["a","p"],["AM","PM"],hs],[["AM","PM"],hs,hs],[["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"]],hs,[["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"]],hs,[["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}",hs,"{1} 'at' {0}",hs],[".",",",";","%","+","-","E","\xD7","\u2030","\u221E","NaN",":"],["#,##0.###","#,##0%","\xA4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",o2],w_={};function Kn(t){let n=a2(t),e=qD(n);if(e)return e;let i=n.split("-")[0];if(e=qD(i),e)return e;if(i==="en")return s2;throw new R(701,!1)}function qD(t){return t in w_||(w_[t]=ar.ng&&ar.ng.common&&ar.ng.common.locales&&ar.ng.common.locales[t]),w_[t]}var St=function(t){return t[t.LocaleId=0]="LocaleId",t[t.DayPeriodsFormat=1]="DayPeriodsFormat",t[t.DayPeriodsStandalone=2]="DayPeriodsStandalone",t[t.DaysFormat=3]="DaysFormat",t[t.DaysStandalone=4]="DaysStandalone",t[t.MonthsFormat=5]="MonthsFormat",t[t.MonthsStandalone=6]="MonthsStandalone",t[t.Eras=7]="Eras",t[t.FirstDayOfWeek=8]="FirstDayOfWeek",t[t.WeekendRange=9]="WeekendRange",t[t.DateFormat=10]="DateFormat",t[t.TimeFormat=11]="TimeFormat",t[t.DateTimeFormat=12]="DateTimeFormat",t[t.NumberSymbols=13]="NumberSymbols",t[t.NumberFormats=14]="NumberFormats",t[t.CurrencyCode=15]="CurrencyCode",t[t.CurrencySymbol=16]="CurrencySymbol",t[t.CurrencyName=17]="CurrencyName",t[t.Currencies=18]="Currencies",t[t.Directionality=19]="Directionality",t[t.PluralCase=20]="PluralCase",t[t.ExtraData=21]="ExtraData",t}(St||{});function a2(t){return t.toLowerCase().replace(/_/g,"-")}var Bh="en-US";var l2=Bh;function c2(t){typeof t=="string"&&(l2=t.toLowerCase().replace(/_/g,"-"))}function QD(t,n,e){return function i(r){if(r===Function)return e;let o=Wa(t)?ur(t.index,n):n;Iv(o,5);let s=n[Ut],a=ZD(n,s,e,r),l=i.__ngNextListenerFn__;for(;l;)a=ZD(n,s,l,r)&&a,l=l.__ngNextListenerFn__;return a}}function ZD(t,n,e,i){let r=_e(null);try{return Je(6,n,e),e(i)!==!1}catch(o){return u2(t,o),!1}finally{Je(7,n,e),_e(r)}}function u2(t,n){let e=t[Fa],i=e?e.get(dr,null):null;i&&i.handleError(n)}function KD(t,n,e,i,r,o){let s=n[e],a=n[he],c=a.data[e].outputs[i],u=s[c],m=a.firstCreatePass?Zy(a):null,b=Qy(n),_=u.subscribe(o),M=b.length;b.push(o,_),m&&m.push(r,t.index,M,-(M+1))}var d2=(t,n,e)=>{};function D(t,n,e,i){let r=ie(),o=dt(),s=vn();return ET(o,r,r[ut],s,t,n,i),D}function h2(t,n,e,i){let r=t.cleanup;if(r!=null)for(let o=0;ol?a[l]:null}typeof s=="string"&&(o+=2)}return null}function ET(t,n,e,i,r,o,s){let a=Gh(i),c=t.firstCreatePass?Zy(t):null,u=Qy(n),m=!0;if(i.type&3||s){let b=pr(i,n),_=s?s(b):b,M=u.length,I=s?V=>s(cr(V[i.index])):i.index,P=null;if(!s&&a&&(P=h2(t,n,r,i.index)),P!==null){let V=P.__ngLastListenerFn__||P;V.__ngNextListenerFn__=o,P.__ngLastListenerFn__=o,m=!1}else{o=QD(i,n,o),d2(_,r,o);let V=e.listen(_,r,o);u.push(o,V),c&&c.push(r,I,M,M+1)}}else o=QD(i,n,o);if(m){let b=i.outputs?.[r],_=i.hostDirectiveOutputs?.[r];if(_&&_.length)for(let M=0;M<_.length;M+=2){let I=_[M],P=_[M+1];KD(i,n,I,P,r,o)}if(b&&b.length)for(let M of b)KD(i,n,M,r,r,o)}}function p(t=1){return XP(t)}function f2(t,n){let e=null,i=pN(t);for(let r=0;r=t.data.length&&(t.data[e]=null,t.blueprint[e]=null),n[e]=i}function bt(t){let n=WP();return Gy(n,$t+t)}function y(t,n=""){let e=ie(),i=dt(),r=t+$t,o=i.firstCreatePass?$c(i,r,1,n,null):i.data[r],s=g2(i,e,o,n,t);e[r]=s,Zh()&&lf(i,e,s,o),Ms(o,!1)}var g2=(t,n,e,i,r)=>(Kh(!0),CN(n[ut],i));function H(t){return pe("",t,""),H}function pe(t,n,e){let i=ie(),r=vT(i,t,n,e);return r!==On&&IT(i,Wr(),r),pe}function mr(t,n,e,i,r){let o=ie(),s=RF(o,t,n,e,i,r);return s!==On&&IT(o,Wr(),s),mr}function IT(t,n,e){let i=xM(n,t);wN(t[ut],i,e)}function Re(t,n,e){aS(n)&&(n=n());let i=ie(),r=Ss();if(Gn(i,r,n)){let o=dt(),s=Lc();sf(o,s,i,t,n,i[ut],e,!1)}return Re}function Fe(t,n){let e=aS(t);return e&&t.set(n),e}function Pe(t,n){let e=ie(),i=dt(),r=vn();return ET(i,e,e[ut],r,t,n),Pe}function _2(t,n,e){let i=dt();if(i.firstCreatePass){let r=$i(t);Sy(e,i.data,i.blueprint,r,!0),Sy(n,i.data,i.blueprint,r,!1)}}function Sy(t,n,e,i,r){if(t=_n(t),Array.isArray(t))for(let o=0;o>20;if(Na(t)||!t.multi){let _=new ws(c,r,v),M=M_(l,n,r?u:u+b,m);M===-1?(F_(xh(a,s),o,l),D_(o,t,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),e.push(_),s.push(_)):(e[M]=_,s[M]=_)}else{let _=M_(l,n,u+b,m),M=M_(l,n,u,u+b),I=_>=0&&e[_],P=M>=0&&e[M];if(r&&!P||!r&&!I){F_(xh(a,s),o,l);let V=b2(r?v2:y2,e.length,r,i,c);!r&&P&&(e[M].providerFactory=V),D_(o,t,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),e.push(V),s.push(V)}else{let V=xT(e[r?M:_],c,!r&&i);D_(o,t,_>-1?_:M,V)}!r&&i&&P&&e[M].componentProviders++}}}function D_(t,n,e,i){let r=Na(n),o=CP(n);if(r||o){let l=(o?_n(n.useClass):n).prototype.ngOnDestroy;if(l){let c=t.destroyHooks||(t.destroyHooks=[]);if(!r&&n.multi){let u=c.indexOf(e);u===-1?c.push(e,[i,l]):c[u+1].push(i,l)}else c.push(e,l)}}}function xT(t,n,e){return e&&t.componentProviders++,t.multi.push(n)-1}function M_(t,n,e,i){for(let r=e;r{e.providersResolver=(i,r)=>_2(i,r?r(t):t,n)}}function Qr(t,n,e){let i=Ga()+t,r=ie();return r[i]===On?hf(r,i,e?n.call(e):n()):CF(r,i)}function gr(t,n,e,i){return AT(ie(),Ga(),t,n,e,i)}function Zr(t,n,e,i,r){return RT(ie(),Ga(),t,n,e,i,r)}function kT(t,n,e,i,r,o){return C2(ie(),Ga(),t,n,e,i,r,o)}function jv(t,n){let e=t[n];return e===On?void 0:e}function AT(t,n,e,i,r,o){let s=n+e;return Gn(t,s,r)?hf(t,s+1,o?i.call(o,r):i(r)):jv(t,s+1)}function RT(t,n,e,i,r,o,s){let a=n+e;return Pv(t,a,r,o)?hf(t,a+2,s?i.call(s,r,o):i(r,o)):jv(t,a+2)}function C2(t,n,e,i,r,o,s,a){let l=n+e;return wF(t,l,r,o,s)?hf(t,l+3,a?i.call(a,r,o,s):i(r,o,s)):jv(t,l+3)}function te(t,n){let e=dt(),i,r=t+$t;e.firstCreatePass?(i=w2(n,e.pipeRegistry),e.data[r]=i,i.onDestroy&&(e.destroyHooks??=[]).push(r,i.onDestroy)):i=e.data[r];let o=i.factory||(i.factory=gs(i.type,!0)),s,a=En(v);try{let l=Ih(!1),c=o();return Ih(l),m2(e,ie(),r,c),c}finally{En(a)}}function w2(t,n){if(n)for(let e=n.length-1;e>=0;e--){let i=n[e];if(t===i.name)return i}}function me(t,n,e){let i=t+$t,r=ie(),o=Gy(r,i);return PT(r,i)?AT(r,Ga(),n,o.transform,e,o):o.transform(e)}function Ja(t,n,e,i){let r=t+$t,o=ie(),s=Gy(o,r);return PT(o,r)?RT(o,Ga(),n,s.transform,e,i,s):s.transform(e,i)}function PT(t,n){return t[he].data[n].pure}function wn(t,n){return uf(t,n)}var Ey=class{ngModuleFactory;componentFactories;constructor(n,e){this.ngModuleFactory=n,this.componentFactories=e}},OT=(()=>{class t{compileModuleSync(e){return new py(e)}compileModuleAsync(e){return Promise.resolve(this.compileModuleSync(e))}compileModuleAndAllComponentsSync(e){let i=this.compileModuleSync(e),r=vM(e),o=RS(r.declarations).reduce((s,a)=>{let l=Oa(a);return l&&s.push(new Ac(l)),s},[]);return new Ey(i,o)}compileModuleAndAllComponentsAsync(e){return Promise.resolve(this.compileModuleAndAllComponentsSync(e))}clearCache(){}clearCacheFor(e){}getModuleId(e){}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var D2=(()=>{class t{zone=S(Se);changeDetectionScheduler=S(Ic);applicationRef=S(An);_onMicrotaskEmptySubscription;initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function M2({ngZoneFactory:t,ignoreChangesOutsideZone:n,scheduleInRootZone:e}){return t??=()=>new Se(Y(E({},S2()),{scheduleInRootZone:e})),[{provide:Se,useFactory:t},{provide:Pa,multi:!0,useFactory:()=>{let i=S(D2,{optional:!0});return()=>i.initialize()}},{provide:Pa,multi:!0,useFactory:()=>{let i=S(T2);return()=>{i.initialize()}}},n===!0?{provide:iS,useValue:!0}:[],{provide:rS,useValue:e??nS}]}function S2(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}var T2=(()=>{class t{subscription=new Ue;initialized=!1;zone=S(Se);pendingTasks=S(Mo);initialize(){if(this.initialized)return;this.initialized=!0;let e=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(e=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{e!==null&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(e),e=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{Se.assertInAngularZone(),e??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var E2=(()=>{class t{appRef=S(An);taskService=S(Mo);ngZone=S(Se);zonelessEnabled=S(av);tracing=S(Xh,{optional:!0});disableScheduling=S(iS,{optional:!0})??!1;zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new Ue;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(Ah):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(S(rS,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof U_||!this.zoneIsDefined)}notify(e){if(!this.zonelessEnabled&&e===5)return;let i=!1;switch(e){case 0:{this.appRef.dirtyFlags|=2;break}case 3:case 2:case 4:case 5:case 1:{this.appRef.dirtyFlags|=4;break}case 6:{this.appRef.dirtyFlags|=2,i=!0;break}case 12:{this.appRef.dirtyFlags|=16,i=!0;break}case 13:{this.appRef.dirtyFlags|=2,i=!0;break}case 11:{i=!0;break}case 9:case 8:case 7:case 10:default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick(i))return;let r=this.useMicrotaskScheduler?MD:oS;this.pendingRenderTaskId=this.taskService.add(),this.scheduleInRootZone?this.cancelScheduledCallback=Zone.root.run(()=>r(()=>this.tick())):this.cancelScheduledCallback=this.ngZone.runOutsideAngular(()=>r(()=>this.tick()))}shouldScheduleTick(e){return!(this.disableScheduling&&!e||this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(Ah+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(this.appRef.dirtyFlags===0){this.cleanup();return}!this.zonelessEnabled&&this.appRef.dirtyFlags&7&&(this.appRef.dirtyFlags|=1);let e=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(i){throw this.taskService.remove(e),i}finally{this.cleanup()}this.useMicrotaskScheduler=!0,MD(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(e)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let e=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(e)}}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function I2(){return typeof $localize<"u"&&$localize.locale||Bh}var Yc=new U("",{providedIn:"root",factory:()=>S(Yc,we.Optional|we.SkipSelf)||I2()});var Iy=new U(""),x2=new U("");function Cc(t){return!t.moduleRef}function k2(t){let n=Cc(t)?t.r3Injector:t.moduleRef.injector,e=n.get(Se);return e.run(()=>{Cc(t)?t.r3Injector.resolveInjectorInitializers():t.moduleRef.resolveInjectorInitializers();let i=n.get(dr,null),r;if(e.runOutsideAngular(()=>{r=e.onError.subscribe({next:o=>{i.handleError(o)}})}),Cc(t)){let o=()=>n.destroy(),s=t.platformInjector.get(Iy);s.add(o),n.onDestroy(()=>{r.unsubscribe(),s.delete(o)})}else{let o=()=>t.moduleRef.destroy(),s=t.platformInjector.get(Iy);s.add(o),t.moduleRef.onDestroy(()=>{mh(t.allPlatformModules,t.moduleRef),r.unsubscribe(),s.delete(o)})}return R2(i,e,()=>{let o=n.get(yT);return o.runInitializers(),o.donePromise.then(()=>{let s=n.get(Yc,Bh);if(c2(s||Bh),!n.get(x2,!0))return Cc(t)?n.get(An):(t.allPlatformModules.push(t.moduleRef),t.moduleRef);if(Cc(t)){let l=n.get(An);return t.rootComponent!==void 0&&l.bootstrap(t.rootComponent),l}else return A2(t.moduleRef,t.allPlatformModules),t.moduleRef})})})}function A2(t,n){let e=t.injector.get(An);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(i=>e.bootstrap(i));else if(t.instance.ngDoBootstrap)t.instance.ngDoBootstrap(e);else throw new R(-403,!1);n.push(t)}function R2(t,n,e){try{let i=e();return Eo(i)?i.catch(r=>{throw n.runOutsideAngular(()=>t.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>t.handleError(i)),i}}var gh=null;function P2(t=[],n){return kt.create({name:n,providers:[{provide:zh,useValue:"platform"},{provide:Iy,useValue:new Set([()=>gh=null])},...t]})}function O2(t=[]){if(gh)return gh;let n=P2(t);return gh=n,IF(),N2(n),n}function N2(t){let n=t.get(dv,null);qn(t,()=>{n?.forEach(e=>e())})}function NT(){return!1}var it=(()=>{class t{static __NG_ELEMENT_ID__=L2}return t})();function L2(t){return F2(vn(),ie(),(t&16)===16)}function F2(t,n,e){if(Wa(t)&&!e){let i=ur(t.index,n);return new kc(i,i)}else if(t.type&175){let i=n[Wn];return new kc(i,n)}return null}var xy=class{constructor(){}supports(n){return gT(n)}create(n){return new ky(n)}},V2=(t,n)=>n,ky=class{length=0;collection;_linkedRecords=null;_unlinkedRecords=null;_previousItHead=null;_itHead=null;_itTail=null;_additionsHead=null;_additionsTail=null;_movesHead=null;_movesTail=null;_removalsHead=null;_removalsTail=null;_identityChangesHead=null;_identityChangesTail=null;_trackByFn;constructor(n){this._trackByFn=n||V2}forEachItem(n){let e;for(e=this._itHead;e!==null;e=e._next)n(e)}forEachOperation(n){let e=this._itHead,i=this._removalsHead,r=0,o=null;for(;e||i;){let s=!i||e&&e.currentIndex{s=this._trackByFn(r,a),e===null||!Object.is(e.trackById,s)?(e=this._mismatch(e,a,s,r),i=!0):(i&&(e=this._verifyReinsertion(e,a,s,r)),Object.is(e.item,a)||this._addIdentityChange(e,a)),e=e._next,r++}),this.length=r;return this._truncate(e),this.collection=n,this.isDirty}get isDirty(){return this._additionsHead!==null||this._movesHead!==null||this._removalsHead!==null||this._identityChangesHead!==null}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;n!==null;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;n!==null;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;n!==null;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,r){let o;return n===null?o=this._itTail:(o=n._prev,this._remove(n)),n=this._unlinkedRecords===null?null:this._unlinkedRecords.get(i,null),n!==null?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._reinsertAfter(n,o,r)):(n=this._linkedRecords===null?null:this._linkedRecords.get(i,r),n!==null?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._moveAfter(n,o,r)):n=this._addAfter(new Ay(e,i),o,r)),n}_verifyReinsertion(n,e,i,r){let o=this._unlinkedRecords===null?null:this._unlinkedRecords.get(i,null);return o!==null?n=this._reinsertAfter(o,n._prev,r):n.currentIndex!=r&&(n.currentIndex=r,this._addToMoves(n,r)),n}_truncate(n){for(;n!==null;){let e=n._next;this._addToRemovals(this._unlink(n)),n=e}this._unlinkedRecords!==null&&this._unlinkedRecords.clear(),this._additionsTail!==null&&(this._additionsTail._nextAdded=null),this._movesTail!==null&&(this._movesTail._nextMoved=null),this._itTail!==null&&(this._itTail._next=null),this._removalsTail!==null&&(this._removalsTail._nextRemoved=null),this._identityChangesTail!==null&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,e,i){this._unlinkedRecords!==null&&this._unlinkedRecords.remove(n);let r=n._prevRemoved,o=n._nextRemoved;return r===null?this._removalsHead=o:r._nextRemoved=o,o===null?this._removalsTail=r:o._prevRemoved=r,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=this._additionsTail._nextAdded=n,n}_insertAfter(n,e,i){let r=e===null?this._itHead:e._next;return n._next=r,n._prev=e,r===null?this._itTail=n:r._prev=n,e===null?this._itHead=n:e._next=n,this._linkedRecords===null&&(this._linkedRecords=new Uh),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){this._linkedRecords!==null&&this._linkedRecords.remove(n);let e=n._prev,i=n._next;return e===null?this._itHead=i:e._next=i,i===null?this._itTail=e:i._prev=e,n}_addToMoves(n,e){return n.previousIndex===e||(this._movesTail===null?this._movesTail=this._movesHead=n:this._movesTail=this._movesTail._nextMoved=n),n}_addToRemovals(n){return this._unlinkedRecords===null&&(this._unlinkedRecords=new Uh),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,this._removalsTail===null?(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=this._identityChangesTail._nextIdentityChange=n,n}},Ay=class{item;trackById;currentIndex=null;previousIndex=null;_nextPrevious=null;_prev=null;_next=null;_prevDup=null;_nextDup=null;_prevRemoved=null;_nextRemoved=null;_nextAdded=null;_nextMoved=null;_nextIdentityChange=null;constructor(n,e){this.item=n,this.trackById=e}},Ry=class{_head=null;_tail=null;add(n){this._head===null?(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;i!==null;i=i._nextDup)if((e===null||e<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){let e=n._prevDup,i=n._nextDup;return e===null?this._head=i:e._nextDup=i,i===null?this._tail=e:i._prevDup=e,this._head===null}},Uh=class{map=new Map;put(n){let e=n.trackById,i=this.map.get(e);i||(i=new Ry,this.map.set(e,i)),i.add(n)}get(n,e){let i=n,r=this.map.get(i);return r?r.get(n,e):null}remove(n){let e=n.trackById;return this.map.get(e).remove(n)&&this.map.delete(e),n}get isEmpty(){return this.map.size===0}clear(){this.map.clear()}};function JD(t,n,e){let i=t.previousIndex;if(i===null)return i;let r=0;return e&&i{if(e&&e.key===r)this._maybeAddToChanges(e,i),this._appendAfter=e,e=e._next;else{let o=this._getOrCreateRecordForKey(r,i);e=this._insertBeforeOrAppend(e,o)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let i=e;i!==null;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){let 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)){let r=this._records.get(n);this._maybeAddToChanges(r,e);let o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}let i=new Ny(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;n!==null;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;n!==null;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;n!=null;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){this._additionsHead===null?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){this._changesHead===null?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))}},Ny=class{key;previousValue=null;currentValue=null;_nextPrevious=null;_next=null;_prev=null;_nextAdded=null;_nextRemoved=null;_nextChanged=null;constructor(n){this.key=n}};function XD(){return new Hv([new xy])}var Hv=(()=>{class t{factories;static \u0275prov=x({token:t,providedIn:"root",factory:XD});constructor(e){this.factories=e}static create(e,i){if(i!=null){let r=i.factories.slice();e=e.concat(r)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||XD()),deps:[[t,new mM,new Vy]]}}find(e){let i=this.factories.find(r=>r.supports(e));if(i!=null)return i;throw new R(901,!1)}}return t})();function eM(){return new Bv([new Py])}var Bv=(()=>{class t{static \u0275prov=x({token:t,providedIn:"root",factory:eM});factories;constructor(e){this.factories=e}static create(e,i){if(i){let r=i.factories.slice();e=e.concat(r)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||eM()),deps:[[t,new mM,new Vy]]}}find(e){let i=this.factories.find(r=>r.supports(e));if(i)return i;throw new R(901,!1)}}return t})();function LT(t){Je(8);try{let{rootComponent:n,appProviders:e,platformProviders:i}=t,r=O2(i),o=[M2({}),{provide:Ic,useExisting:E2},...e||[]],s=new Lh({providers:o,parent:r,debugName:"",runEnvironmentInitializers:!1});return k2({r3Injector:s.injector,platformInjector:r,rootComponent:n})}catch(n){return Promise.reject(n)}finally{Je(9)}}function Xe(t){return typeof t=="boolean"?t:t!=null&&t!=="false"}function Ts(t,n=NaN){return!isNaN(parseFloat(t))&&!isNaN(Number(t))?Number(t):n}function _i(t){return Ug(t)}function zi(t,n){return Vg(t,n?.equal)}var tM=class{[ci];constructor(n){this[ci]=n}destroy(){this[ci].destroy()}};var Ie=new U("");var jT=null;function yi(){return jT}function Uv(t){jT??=t}var zc=class{},$v=(()=>{class t{historyGo(e){throw new Error("")}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>S(HT),providedIn:"platform"})}return t})();var HT=(()=>{class t extends $v{_location;_history;_doc=S(Ie);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return yi().getBaseHref(this._doc)}onPopState(e){let i=yi().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",e,!1),()=>i.removeEventListener("popstate",e)}onHashChange(e){let i=yi().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,r){this._history.pushState(e,i,r)}replaceState(e,i,r){this._history.replaceState(e,i,r)}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>new t,providedIn:"platform"})}return t})();function BT(t,n){return t?n?t.endsWith("/")?n.startsWith("/")?t+n.slice(1):t+n:n.startsWith("/")?t+n:`${t}/${n}`:t:n}function FT(t){let n=t.search(/#|\?|$/);return t[n-1]==="/"?t.slice(0,n-1)+t.slice(n):t}function ko(t){return t&&t[0]!=="?"?`?${t}`:t}var Xa=(()=>{class t{historyGo(e){throw new Error("")}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>S($T),providedIn:"root"})}return t})(),UT=new U(""),$T=(()=>{class t extends Xa{_platformLocation;_baseHref;_removeListenerFns=[];constructor(e,i){super(),this._platformLocation=e,this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??S(Ie).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 BT(this._baseHref,e)}path(e=!1){let i=this._platformLocation.pathname+ko(this._platformLocation.search),r=this._platformLocation.hash;return r&&e?`${i}${r}`:i}pushState(e,i,r,o){let s=this.prepareExternalUrl(r+ko(o));this._platformLocation.pushState(e,i,s)}replaceState(e,i,r,o){let s=this.prepareExternalUrl(r+ko(o));this._platformLocation.replaceState(e,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static \u0275fac=function(i){return new(i||t)(F($v),F(UT,8))};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),el=(()=>{class t{_subject=new X;_basePath;_locationStrategy;_urlChangeListeners=[];_urlChangeSubscription=null;constructor(e){this._locationStrategy=e;let i=this._locationStrategy.getBaseHref();this._basePath=B2(FT(VT(i))),this._locationStrategy.onPopState(r=>{this._subject.next({url:this.path(!0),pop:!0,state:r.state,type:r.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+ko(i))}normalize(e){return t.stripTrailingSlash(H2(this._basePath,VT(e)))}prepareExternalUrl(e){return e&&e[0]!=="/"&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,i="",r=null){this._locationStrategy.pushState(r,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ko(i)),r)}replaceState(e,i="",r=null){this._locationStrategy.replaceState(r,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ko(i)),r)}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.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}),()=>{let i=this._urlChangeListeners.indexOf(e);this._urlChangeListeners.splice(i,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(e="",i){this._urlChangeListeners.forEach(r=>r(e,i))}subscribe(e,i,r){return this._subject.subscribe({next:e,error:i??void 0,complete:r??void 0})}static normalizeQueryParams=ko;static joinWithSlash=BT;static stripTrailingSlash=FT;static \u0275fac=function(i){return new(i||t)(F(Xa))};static \u0275prov=x({token:t,factory:()=>j2(),providedIn:"root"})}return t})();function j2(){return new el(F(Xa))}function H2(t,n){if(!t||!n.startsWith(t))return n;let e=n.substring(t.length);return e===""||["/",";","?","#"].includes(e[0])?e:n}function VT(t){return t.replace(/\/index.html$/,"")}function B2(t){if(new RegExp("^(https?:)?//").test(t)){let[,e]=t.split(/\/\/[^\/]+/);return e}return t}var Jv=function(t){return t[t.Decimal=0]="Decimal",t[t.Percent=1]="Percent",t[t.Currency=2]="Currency",t[t.Scientific=3]="Scientific",t}(Jv||{});var hn=function(t){return t[t.Format=0]="Format",t[t.Standalone=1]="Standalone",t}(hn||{}),$e=function(t){return t[t.Narrow=0]="Narrow",t[t.Abbreviated=1]="Abbreviated",t[t.Wide=2]="Wide",t[t.Short=3]="Short",t}($e||{}),Ln=function(t){return t[t.Short=0]="Short",t[t.Medium=1]="Medium",t[t.Long=2]="Long",t[t.Full=3]="Full",t}(Ln||{}),Fn={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function QT(t){return Kn(t)[St.LocaleId]}function ZT(t,n,e){let i=Kn(t),r=[i[St.DayPeriodsFormat],i[St.DayPeriodsStandalone]],o=vi(r,n);return vi(o,e)}function KT(t,n,e){let i=Kn(t),r=[i[St.DaysFormat],i[St.DaysStandalone]],o=vi(r,n);return vi(o,e)}function JT(t,n,e){let i=Kn(t),r=[i[St.MonthsFormat],i[St.MonthsStandalone]],o=vi(r,n);return vi(o,e)}function XT(t,n){let i=Kn(t)[St.Eras];return vi(i,n)}function Wc(t,n){let e=Kn(t);return vi(e[St.DateFormat],n)}function Gc(t,n){let e=Kn(t);return vi(e[St.TimeFormat],n)}function qc(t,n){let i=Kn(t)[St.DateTimeFormat];return vi(i,n)}function _r(t,n){let e=Kn(t),i=e[St.NumberSymbols][n];if(typeof i>"u"){if(n===Fn.CurrencyDecimal)return e[St.NumberSymbols][Fn.Decimal];if(n===Fn.CurrencyGroup)return e[St.NumberSymbols][Fn.Group]}return i}function eE(t,n){return Kn(t)[St.NumberFormats][n]}function tE(t){if(!t[St.ExtraData])throw new Error(`Missing extra locale data for the locale "${t[St.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function nE(t){let n=Kn(t);return tE(n),(n[St.ExtraData][2]||[]).map(i=>typeof i=="string"?Yv(i):[Yv(i[0]),Yv(i[1])])}function iE(t,n,e){let i=Kn(t);tE(i);let r=[i[St.ExtraData][0],i[St.ExtraData][1]],o=vi(r,n)||[];return vi(o,e)||[]}function vi(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 Yv(t){let[n,e]=t.split(":");return{hours:+n,minutes:+e}}var U2=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,ff={},$2=/((?:[^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]*)/;function rE(t,n,e,i){let r=J2(t);n=Kr(e,n)||n;let s=[],a;for(;n;)if(a=$2.exec(n),a){s=s.concat(a.slice(1));let u=s.pop();if(!u)break;n=u}else{s.push(n);break}let l=r.getTimezoneOffset();i&&(l=sE(i,l),r=K2(r,i));let c="";return s.forEach(u=>{let m=Q2(u);c+=m?m(r,e,l):u==="''"?"'":u.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),c}function yf(t,n,e){let i=new Date(0);return i.setFullYear(t,n,e),i.setHours(0,0,0),i}function Kr(t,n){let e=QT(t);if(ff[e]??={},ff[e][n])return ff[e][n];let i="";switch(n){case"shortDate":i=Wc(t,Ln.Short);break;case"mediumDate":i=Wc(t,Ln.Medium);break;case"longDate":i=Wc(t,Ln.Long);break;case"fullDate":i=Wc(t,Ln.Full);break;case"shortTime":i=Gc(t,Ln.Short);break;case"mediumTime":i=Gc(t,Ln.Medium);break;case"longTime":i=Gc(t,Ln.Long);break;case"fullTime":i=Gc(t,Ln.Full);break;case"short":let r=Kr(t,"shortTime"),o=Kr(t,"shortDate");i=pf(qc(t,Ln.Short),[r,o]);break;case"medium":let s=Kr(t,"mediumTime"),a=Kr(t,"mediumDate");i=pf(qc(t,Ln.Medium),[s,a]);break;case"long":let l=Kr(t,"longTime"),c=Kr(t,"longDate");i=pf(qc(t,Ln.Long),[l,c]);break;case"full":let u=Kr(t,"fullTime"),m=Kr(t,"fullDate");i=pf(qc(t,Ln.Full),[u,m]);break}return i&&(ff[e][n]=i),i}function pf(t,n){return n&&(t=t.replace(/\{([^}]+)}/g,function(e,i){return n!=null&&i in n?n[i]:e})),t}function Wi(t,n,e="-",i,r){let o="";(t<0||r&&t<=0)&&(r?t=-t+1:(t=-t,o=e));let s=String(t);for(;s.length0||a>-e)&&(a+=e),t===3)a===0&&e===-12&&(a=12);else if(t===6)return Y2(a,n);let l=_r(s,Fn.MinusSign);return Wi(a,n,l,i,r)}}function z2(t,n){switch(t){case 0:return n.getFullYear();case 1:return n.getMonth();case 2:return n.getDate();case 3:return n.getHours();case 4:return n.getMinutes();case 5:return n.getSeconds();case 6:return n.getMilliseconds();case 7:return n.getDay();default:throw new Error(`Unknown DateType value "${t}".`)}}function et(t,n,e=hn.Format,i=!1){return function(r,o){return W2(r,o,t,n,e,i)}}function W2(t,n,e,i,r,o){switch(e){case 2:return JT(n,r,i)[t.getMonth()];case 1:return KT(n,r,i)[t.getDay()];case 0:let s=t.getHours(),a=t.getMinutes();if(o){let c=nE(n),u=iE(n,r,i),m=c.findIndex(b=>{if(Array.isArray(b)){let[_,M]=b,I=s>=_.hours&&a>=_.minutes,P=s0?Math.floor(r/60):Math.ceil(r/60);switch(t){case 0:return(r>=0?"+":"")+Wi(s,2,o)+Wi(Math.abs(r%60),2,o);case 1:return"GMT"+(r>=0?"+":"")+Wi(s,1,o);case 2:return"GMT"+(r>=0?"+":"")+Wi(s,2,o)+":"+Wi(Math.abs(r%60),2,o);case 3:return i===0?"Z":(r>=0?"+":"")+Wi(s,2,o)+":"+Wi(Math.abs(r%60),2,o);default:throw new Error(`Unknown zone width "${t}"`)}}}var G2=0,_f=4;function q2(t){let n=yf(t,G2,1).getDay();return yf(t,0,1+(n<=_f?_f:_f+7)-n)}function oE(t){let n=t.getDay(),e=n===0?-3:_f-n;return yf(t.getFullYear(),t.getMonth(),t.getDate()+e)}function zv(t,n=!1){return function(e,i){let r;if(n){let o=new Date(e.getFullYear(),e.getMonth(),1).getDay()-1,s=e.getDate();r=1+Math.floor((s+o)/7)}else{let o=oE(e),s=q2(o.getFullYear()),a=o.getTime()-s.getTime();r=1+Math.round(a/6048e5)}return Wi(r,t,_r(i,Fn.MinusSign))}}function gf(t,n=!1){return function(e,i){let o=oE(e).getFullYear();return Wi(o,t,_r(i,Fn.MinusSign),n)}}var Wv={};function Q2(t){if(Wv[t])return Wv[t];let n;switch(t){case"G":case"GG":case"GGG":n=et(3,$e.Abbreviated);break;case"GGGG":n=et(3,$e.Wide);break;case"GGGGG":n=et(3,$e.Narrow);break;case"y":n=Nt(0,1,0,!1,!0);break;case"yy":n=Nt(0,2,0,!0,!0);break;case"yyy":n=Nt(0,3,0,!1,!0);break;case"yyyy":n=Nt(0,4,0,!1,!0);break;case"Y":n=gf(1);break;case"YY":n=gf(2,!0);break;case"YYY":n=gf(3);break;case"YYYY":n=gf(4);break;case"M":case"L":n=Nt(1,1,1);break;case"MM":case"LL":n=Nt(1,2,1);break;case"MMM":n=et(2,$e.Abbreviated);break;case"MMMM":n=et(2,$e.Wide);break;case"MMMMM":n=et(2,$e.Narrow);break;case"LLL":n=et(2,$e.Abbreviated,hn.Standalone);break;case"LLLL":n=et(2,$e.Wide,hn.Standalone);break;case"LLLLL":n=et(2,$e.Narrow,hn.Standalone);break;case"w":n=zv(1);break;case"ww":n=zv(2);break;case"W":n=zv(1,!0);break;case"d":n=Nt(2,1);break;case"dd":n=Nt(2,2);break;case"c":case"cc":n=Nt(7,1);break;case"ccc":n=et(1,$e.Abbreviated,hn.Standalone);break;case"cccc":n=et(1,$e.Wide,hn.Standalone);break;case"ccccc":n=et(1,$e.Narrow,hn.Standalone);break;case"cccccc":n=et(1,$e.Short,hn.Standalone);break;case"E":case"EE":case"EEE":n=et(1,$e.Abbreviated);break;case"EEEE":n=et(1,$e.Wide);break;case"EEEEE":n=et(1,$e.Narrow);break;case"EEEEEE":n=et(1,$e.Short);break;case"a":case"aa":case"aaa":n=et(0,$e.Abbreviated);break;case"aaaa":n=et(0,$e.Wide);break;case"aaaaa":n=et(0,$e.Narrow);break;case"b":case"bb":case"bbb":n=et(0,$e.Abbreviated,hn.Standalone,!0);break;case"bbbb":n=et(0,$e.Wide,hn.Standalone,!0);break;case"bbbbb":n=et(0,$e.Narrow,hn.Standalone,!0);break;case"B":case"BB":case"BBB":n=et(0,$e.Abbreviated,hn.Format,!0);break;case"BBBB":n=et(0,$e.Wide,hn.Format,!0);break;case"BBBBB":n=et(0,$e.Narrow,hn.Format,!0);break;case"h":n=Nt(3,1,-12);break;case"hh":n=Nt(3,2,-12);break;case"H":n=Nt(3,1);break;case"HH":n=Nt(3,2);break;case"m":n=Nt(4,1);break;case"mm":n=Nt(4,2);break;case"s":n=Nt(5,1);break;case"ss":n=Nt(5,2);break;case"S":n=Nt(6,1);break;case"SS":n=Nt(6,2);break;case"SSS":n=Nt(6,3);break;case"Z":case"ZZ":case"ZZZ":n=mf(0);break;case"ZZZZZ":n=mf(3);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":n=mf(1);break;case"OOOO":case"ZZZZ":case"zzzz":n=mf(2);break;default:return null}return Wv[t]=n,n}function sE(t,n){t=t.replace(/:/g,"");let e=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(e)?n:e}function Z2(t,n){return t=new Date(t.getTime()),t.setMinutes(t.getMinutes()+n),t}function K2(t,n,e){let r=t.getTimezoneOffset(),o=sE(n,r);return Z2(t,-1*(o-r))}function J2(t){if(YT(t))return t;if(typeof t=="number"&&!isNaN(t))return new Date(t);if(typeof t=="string"){if(t=t.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(t)){let[r,o=1,s=1]=t.split("-").map(a=>+a);return yf(r,o-1,s)}let e=parseFloat(t);if(!isNaN(t-e))return new Date(e);let i;if(i=t.match(U2))return X2(i)}let n=new Date(t);if(!YT(n))throw new Error(`Unable to convert "${t}" into a date`);return n}function X2(t){let n=new Date(0),e=0,i=0,r=t[8]?n.setUTCFullYear:n.setFullYear,o=t[8]?n.setUTCHours:n.setHours;t[9]&&(e=Number(t[9]+t[10]),i=Number(t[9]+t[11])),r.call(n,Number(t[1]),Number(t[2])-1,Number(t[3]));let s=Number(t[4]||0)-e,a=Number(t[5]||0)-i,l=Number(t[6]||0),c=Math.floor(parseFloat("0."+(t[7]||0))*1e3);return o.call(n,s,a,l,c),n}function YT(t){return t instanceof Date&&!isNaN(t.valueOf())}var eV=/^(\d+)?\.((\d+)(-(\d+))?)?$/,zT=22,vf=".",Qc="0",tV=";",nV=",",Gv="#";function iV(t,n,e,i,r,o,s=!1){let a="",l=!1;if(!isFinite(t))a=_r(e,Fn.Infinity);else{let c=sV(t);s&&(c=oV(c));let u=n.minInt,m=n.minFrac,b=n.maxFrac;if(o){let de=o.match(eV);if(de===null)throw new Error(`${o} is not a valid digit info`);let De=de[1],nt=de[3],Li=de[5];De!=null&&(u=qv(De)),nt!=null&&(m=qv(nt)),Li!=null?b=qv(Li):nt!=null&&m>b&&(b=m)}aV(c,m,b);let _=c.digits,M=c.integerLen,I=c.exponent,P=[];for(l=_.every(de=>!de);M0?P=_.splice(M,_.length):(P=_,_=[0]);let V=[];for(_.length>=n.lgSize&&V.unshift(_.splice(-n.lgSize,_.length).join(""));_.length>n.gSize;)V.unshift(_.splice(-n.gSize,_.length).join(""));_.length&&V.unshift(_.join("")),a=V.join(_r(e,i)),P.length&&(a+=_r(e,r)+P.join("")),I&&(a+=_r(e,Fn.Exponential)+"+"+I)}return t<0&&!l?a=n.negPre+a+n.negSuf:a=n.posPre+a+n.posSuf,a}function aE(t,n,e){let i=eE(n,Jv.Decimal),r=rV(i,_r(n,Fn.MinusSign));return iV(t,r,n,Fn.Group,Fn.Decimal,e)}function rV(t,n="-"){let e={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(tV),r=i[0],o=i[1],s=r.indexOf(vf)!==-1?r.split(vf):[r.substring(0,r.lastIndexOf(Qc)+1),r.substring(r.lastIndexOf(Qc)+1)],a=s[0],l=s[1]||"";e.posPre=a.substring(0,a.indexOf(Gv));for(let u=0;u-1&&(n=n.replace(vf,"")),(o=n.search(/e/i))>0?(r<0&&(r=o),r+=+n.slice(o+1),n=n.substring(0,o)):r<0&&(r=n.length),o=0;n.charAt(o)===Qc;o++);if(o===(a=n.length))i=[0],r=1;else{for(a--;n.charAt(a)===Qc;)a--;for(r-=o,i=[],s=0;o<=a;o++,s++)i[s]=Number(n.charAt(o))}return r>zT&&(i=i.splice(0,zT-1),e=r-1,r=1),{digits:i,exponent:e,integerLen:r}}function aV(t,n,e){if(n>e)throw new Error(`The minimum number of digits after fraction (${n}) is higher than the maximum (${e}).`);let i=t.digits,r=i.length-t.integerLen,o=Math.min(Math.max(n,r),e),s=o+t.integerLen,a=i[s];if(s>0){i.splice(Math.max(t.integerLen,s));for(let m=s;m=5)if(s-1<0){for(let m=0;m>s;m--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[s-1]++;for(;r=c?M.pop():l=!1),b>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}function qv(t){let n=parseInt(t);if(isNaN(n))throw new Error("Invalid integer literal when parsing "+t);return n}var Qv=/\s+/,WT=[],sn=(()=>{class t{_ngEl;_renderer;initialClasses=WT;rawClass;stateMap=new Map;constructor(e,i){this._ngEl=e,this._renderer=i}set klass(e){this.initialClasses=e!=null?e.trim().split(Qv):WT}set ngClass(e){this.rawClass=typeof e=="string"?e.trim().split(Qv):e}ngDoCheck(){for(let i of this.initialClasses)this._updateState(i,!0);let e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(let i of e)this._updateState(i,!0);else if(e!=null)for(let i of Object.keys(e))this._updateState(i,!!e[i]);this._applyStateDiff()}_updateState(e,i){let r=this.stateMap.get(e);r!==void 0?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(e,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(let e of this.stateMap){let i=e[0],r=e[1];r.changed?(this._toggleClass(i,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),r.touched=!1}}_toggleClass(e,i){e=e.trim(),e.length>0&&e.split(Qv).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}static \u0275fac=function(i){return new(i||t)(v($),v(ke))};static \u0275dir=B({type:t,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return t})();var bf=class{$implicit;ngForOf;index;count;constructor(n,e,i,r){this.$implicit=n,this.ngForOf=e,this.index=i,this.count=r}get first(){return this.index===0}get last(){return this.index===this.count-1}get even(){return this.index%2===0}get odd(){return!this.even}},rt=(()=>{class t{_viewContainer;_template;_differs;set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}_ngForOf=null;_ngForOfDirty=!0;_differ=null;_trackByFn;constructor(e,i,r){this._viewContainer=e,this._template=i,this._differs=r}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;let e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){let e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){let i=this._viewContainer;e.forEachOperation((r,o,s)=>{if(r.previousIndex==null)i.createEmbeddedView(this._template,new bf(r.item,this._ngForOf,-1,-1),s===null?void 0:s);else if(s==null)i.remove(o===null?void 0:o);else if(o!==null){let a=i.get(o);i.move(a,s),GT(a,r)}});for(let r=0,o=i.length;r{let o=i.get(r.currentIndex);GT(o,r)})}static ngTemplateContextGuard(e,i){return!0}static \u0275fac=function(i){return new(i||t)(v(pt),v(Et),v(Hv))};static \u0275dir=B({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}})}return t})();function GT(t,n){t.context.$implicit=n.item}var Me=(()=>{class t{_viewContainer;_context=new Cf;_thenTemplateRef=null;_elseTemplateRef=null;_thenViewRef=null;_elseViewRef=null;constructor(e,i){this._viewContainer=e,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){qT(e,!1),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){qT(e,!1),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 ngIfUseIfTypeGuard;static ngTemplateGuard_ngIf;static ngTemplateContextGuard(e,i){return!0}static \u0275fac=function(i){return new(i||t)(v(pt),v(Et))};static \u0275dir=B({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}})}return t})(),Cf=class{$implicit=null;ngIf=null};function qT(t,n){if(t&&!t.createEmbeddedView)throw new R(2020,!1)}var wf=class{_viewContainerRef;_templateRef;_created=!1;constructor(n,e){this._viewContainerRef=n,this._templateRef=e}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()}},bi=(()=>{class t{_defaultViews=[];_defaultUsed=!1;_caseCount=0;_lastCaseCheckIndex=0;_lastCasesMatched=!1;_ngSwitch;set ngSwitch(e){this._ngSwitch=e,this._caseCount===0&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(e){this._defaultViews.push(e)}_matchCase(e){let i=e===this._ngSwitch;return 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(let i of this._defaultViews)i.enforceState(e)}}static \u0275fac=function(i){return new(i||t)};static \u0275dir=B({type:t,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"}})}return t})(),yr=(()=>{class t{ngSwitch;_view;ngSwitchCase;constructor(e,i,r){this.ngSwitch=r,r._addCase(),this._view=new wf(e,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}static \u0275fac=function(i){return new(i||t)(v(pt),v(Et),v(bi,9))};static \u0275dir=B({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}})}return t})(),Xv=(()=>{class t{constructor(e,i,r){r._addDefault(new wf(e,i))}static \u0275fac=function(i){return new(i||t)(v(pt),v(Et),v(bi,9))};static \u0275dir=B({type:t,selectors:[["","ngSwitchDefault",""]]})}return t})();var e0=(()=>{class t{_ngEl;_differs;_renderer;_ngStyle=null;_differ=null;constructor(e,i,r){this._ngEl=e,this._differs=i,this._renderer=r}set ngStyle(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())}ngDoCheck(){if(this._differ){let e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}}_setStyle(e,i){let[r,o]=e.split("."),s=r.indexOf("-")===-1?void 0:hr.DashCase;i!=null?this._renderer.setStyle(this._ngEl.nativeElement,r,o?`${i}${o}`:i,s):this._renderer.removeStyle(this._ngEl.nativeElement,r,s)}_applyChanges(e){e.forEachRemovedItem(i=>this._setStyle(i.key,null)),e.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),e.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}static \u0275fac=function(i){return new(i||t)(v($),v(Bv),v(ke))};static \u0275dir=B({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}})}return t})(),Es=(()=>{class t{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;constructor(e){this._viewContainerRef=e}ngOnChanges(e){if(this._shouldRecreateView(e)){let i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let r=this._createContextForwardProxy();this._viewRef=i.createEmbeddedView(this.ngTemplateOutlet,r,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,i,r)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,i,r):!1,get:(e,i,r)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,i,r)}})}static \u0275fac=function(i){return new(i||t)(v(pt))};static \u0275dir=B({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[xe]})}return t})();function t0(t,n){return new R(2100,!1)}var Zv=class{createSubscription(n,e){return _i(()=>n.subscribe({next:e,error:i=>{throw i}}))}dispose(n){_i(()=>n.unsubscribe())}},Kv=class{createSubscription(n,e){return n.then(e,i=>{throw i})}dispose(n){}},lV=new Kv,cV=new Zv,vr=(()=>{class t{_ref;_latestValue=null;markForCheckOnValueUpdate=!0;_subscription=null;_obj=null;_strategy=null;constructor(e){this._ref=e}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(e){if(!this._obj){if(e)try{this.markForCheckOnValueUpdate=!1,this._subscribe(e)}finally{this.markForCheckOnValueUpdate=!0}return this._latestValue}return e!==this._obj?(this._dispose(),this.transform(e)):this._latestValue}_subscribe(e){this._obj=e,this._strategy=this._selectStrategy(e),this._subscription=this._strategy.createSubscription(e,i=>this._updateLatestValue(e,i))}_selectStrategy(e){if(Eo(e))return lV;if(Nv(e))return cV;throw t0(t,e)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(e,i){e===this._obj&&(this._latestValue=i,this.markForCheckOnValueUpdate&&this._ref?.markForCheck())}static \u0275fac=function(i){return new(i||t)(v(it,16))};static \u0275pipe=To({name:"async",type:t,pure:!1})}return t})();var uV="mediumDate",lE=new U(""),cE=new U(""),Zc=(()=>{class t{locale;defaultTimezone;defaultOptions;constructor(e,i,r){this.locale=e,this.defaultTimezone=i,this.defaultOptions=r}transform(e,i,r,o){if(e==null||e===""||e!==e)return null;try{let s=i??this.defaultOptions?.dateFormat??uV,a=r??this.defaultOptions?.timezone??this.defaultTimezone??void 0;return rE(e,s,o||this.locale,a)}catch(s){throw t0(t,s.message)}}static \u0275fac=function(i){return new(i||t)(v(Yc,16),v(lE,24),v(cE,24))};static \u0275pipe=To({name:"date",type:t,pure:!0})}return t})();var n0=(()=>{class t{_locale;constructor(e){this._locale=e}transform(e,i,r){if(!dV(e))return null;r||=this._locale;try{let o=hV(e);return aE(o,r,i)}catch(o){throw t0(t,o.message)}}static \u0275fac=function(i){return new(i||t)(v(Yc,16))};static \u0275pipe=To({name:"number",type:t,pure:!0})}return t})();function dV(t){return!(t==null||t===""||t!==t)}function hV(t){if(typeof t=="string"&&!isNaN(Number(t)-parseFloat(t)))return Number(t);if(typeof t!="number")throw new Error(`${t} is not a number`);return t}var ot=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=Ce({type:t});static \u0275inj=be({})}return t})();function Kc(t,n){n=encodeURIComponent(n);for(let e of t.split(";")){let i=e.indexOf("="),[r,o]=i==-1?[e,""]:[e.slice(0,i),e.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}var Df="browser",uE="server";function xs(t){return t===Df}function Mf(t){return t===uE}var Is=class{};var Ef=new U(""),a0=(()=>{class t{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,i){this._zone=i,e.forEach(r=>{r.manager=this}),this._plugins=e.slice().reverse()}addEventListener(e,i,r,o){return this._findPluginFor(i).addEventListener(e,i,r,o)}getZone(){return this._zone}_findPluginFor(e){let i=this._eventNameToPlugin.get(e);if(i)return i;if(i=this._plugins.find(o=>o.supports(e)),!i)throw new R(5101,!1);return this._eventNameToPlugin.set(e,i),i}static \u0275fac=function(i){return new(i||t)(F(Ef),F(Se))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})(),Jc=class{_doc;constructor(n){this._doc=n}manager},Sf="ng-app-id";function dE(t){for(let n of t)n.remove()}function hE(t,n){let e=n.createElement("style");return e.textContent=t,e}function fV(t,n,e,i){let r=t.head?.querySelectorAll(`style[${Sf}="${n}"],link[${Sf}="${n}"]`);if(r)for(let o of r)o.removeAttribute(Sf),o instanceof HTMLLinkElement?i.set(o.href.slice(o.href.lastIndexOf("/")+1),{usage:0,elements:[o]}):o.textContent&&e.set(o.textContent,{usage:0,elements:[o]})}function o0(t,n){let e=n.createElement("link");return e.setAttribute("rel","stylesheet"),e.setAttribute("href",t),e}var l0=(()=>{class t{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;isServer;constructor(e,i,r,o={}){this.doc=e,this.appId=i,this.nonce=r,this.isServer=Mf(o),fV(e,i,this.inline,this.external),this.hosts.add(e.head)}addStyles(e,i){for(let r of e)this.addUsage(r,this.inline,hE);i?.forEach(r=>this.addUsage(r,this.external,o0))}removeStyles(e,i){for(let r of e)this.removeUsage(r,this.inline);i?.forEach(r=>this.removeUsage(r,this.external))}addUsage(e,i,r){let o=i.get(e);o?o.usage++:i.set(e,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,r(e,this.doc)))})}removeUsage(e,i){let r=i.get(e);r&&(r.usage--,r.usage<=0&&(dE(r.elements),i.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])dE(e);this.hosts.clear()}addHost(e){this.hosts.add(e);for(let[i,{elements:r}]of this.inline)r.push(this.addElement(e,hE(i,this.doc)));for(let[i,{elements:r}]of this.external)r.push(this.addElement(e,o0(i,this.doc)))}removeHost(e){this.hosts.delete(e)}addElement(e,i){return this.nonce&&i.setAttribute("nonce",this.nonce),this.isServer&&i.setAttribute(Sf,this.appId),e.appendChild(i)}static \u0275fac=function(i){return new(i||t)(F(Ie),F(uv),F(hv,8),F(Qn))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})(),r0={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/Math/MathML"},c0=/%COMP%/g;var pE="%COMP%",pV=`_nghost-${pE}`,mV=`_ngcontent-${pE}`,gV=!0,_V=new U("",{providedIn:"root",factory:()=>gV});function yV(t){return mV.replace(c0,t)}function vV(t){return pV.replace(c0,t)}function mE(t,n){return n.map(e=>e.replace(c0,t))}var tu=(()=>{class t{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;platformId;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(e,i,r,o,s,a,l,c=null,u=null){this.eventManager=e,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.tracingService=u,this.platformIsServer=Mf(a),this.defaultRenderer=new Xc(e,s,l,this.platformIsServer,this.tracingService)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===pi.ShadowDom&&(i=Y(E({},i),{encapsulation:pi.Emulated}));let r=this.getOrCreateRenderer(e,i);return r instanceof Tf?r.applyToHost(e):r instanceof eu&&r.applyStyles(),r}getOrCreateRenderer(e,i){let r=this.rendererByCompId,o=r.get(i.id);if(!o){let s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,m=this.platformIsServer,b=this.tracingService;switch(i.encapsulation){case pi.Emulated:o=new Tf(l,c,i,this.appId,u,s,a,m,b);break;case pi.ShadowDom:return new s0(l,c,e,i,s,a,this.nonce,m,b);default:o=new eu(l,c,i,u,s,a,m,b);break}r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static \u0275fac=function(i){return new(i||t)(F(a0),F(l0),F(uv),F(_V),F(Ie),F(Qn),F(Se),F(hv),F(Xh,8))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})(),Xc=class{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(n,e,i,r,o){this.eventManager=n,this.doc=e,this.ngZone=i,this.platformIsServer=r,this.tracingService=o}destroy(){}destroyNode=null;createElement(n,e){return e?this.doc.createElementNS(r0[e]||e,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,e){(fE(n)?n.content:n).appendChild(e)}insertBefore(n,e,i){n&&(fE(n)?n.content:n).insertBefore(e,i)}removeChild(n,e){e.remove()}selectRootElement(n,e){let i=typeof n=="string"?this.doc.querySelector(n):n;if(!i)throw new R(-5104,!1);return e||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,i,r){if(r){e=r+":"+e;let o=r0[r];o?n.setAttributeNS(o,e,i):n.setAttribute(e,i)}else n.setAttribute(e,i)}removeAttribute(n,e,i){if(i){let r=r0[i];r?n.removeAttributeNS(r,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,r){r&(hr.DashCase|hr.Important)?n.style.setProperty(e,i,r&hr.Important?"important":""):n.style[e]=i}removeStyle(n,e,i){i&hr.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,i){n!=null&&(n[e]=i)}setValue(n,e){n.nodeValue=e}listen(n,e,i,r){if(typeof n=="string"&&(n=yi().getGlobalEventTarget(this.doc,n),!n))throw new R(5102,!1);let o=this.decoratePreventDefault(i);return this.tracingService?.wrapEventListener&&(o=this.tracingService.wrapEventListener(n,e,o)),this.eventManager.addEventListener(n,e,o,r)}decoratePreventDefault(n){return e=>{if(e==="__ngUnwrap__")return n;(this.platformIsServer?this.ngZone.runGuarded(()=>n(e)):n(e))===!1&&e.preventDefault()}}};function fE(t){return t.tagName==="TEMPLATE"&&t.content!==void 0}var s0=class extends Xc{sharedStylesHost;hostEl;shadowRoot;constructor(n,e,i,r,o,s,a,l,c){super(n,o,s,l,c),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let u=r.styles;u=mE(r.id,u);for(let b of u){let _=document.createElement("style");a&&_.setAttribute("nonce",a),_.textContent=b,this.shadowRoot.appendChild(_)}let m=r.getExternalStyles?.();if(m)for(let b of m){let _=o0(b,o);a&&_.setAttribute("nonce",a),this.shadowRoot.appendChild(_)}}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(null,e)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},eu=class extends Xc{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(n,e,i,r,o,s,a,l,c){super(n,o,s,a,l),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=r;let u=i.styles;this.styles=c?mE(c,u):u,this.styleUrls=i.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},Tf=class extends eu{contentAttr;hostAttr;constructor(n,e,i,r,o,s,a,l,c){let u=r+"-"+i.id;super(n,e,i,o,s,a,l,c,u),this.contentAttr=yV(u),this.hostAttr=vV(u)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,e){let i=super.createElement(n,e);return super.setAttribute(i,this.contentAttr,""),i}};var If=class t extends zc{supportsDOMEvents=!0;static makeCurrent(){Uv(new t)}onAndCancel(n,e,i,r){return n.addEventListener(e,i,r),()=>{n.removeEventListener(e,i,r)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.remove()}createElement(n,e){return e=e||this.getDefaultDocument(),e.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 e==="window"?window:e==="document"?n:e==="body"?n.body:null}getBaseHref(n){let e=bV();return e==null?null:CV(e)}resetBaseElement(){nu=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return Kc(document.cookie,n)}},nu=null;function bV(){return nu=nu||document.querySelector("base"),nu?nu.getAttribute("href"):null}function CV(t){return new URL(t,document.baseURI).pathname}var wV=(()=>{class t{build(){return new XMLHttpRequest}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})(),_E=(()=>{class t extends Jc{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,r,o){return e.addEventListener(i,r,o),()=>this.removeEventListener(e,i,r,o)}removeEventListener(e,i,r,o){return e.removeEventListener(i,r,o)}static \u0275fac=function(i){return new(i||t)(F(Ie))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})(),gE=["alt","control","meta","shift"],DV={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},MV={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey},yE=(()=>{class t extends Jc{constructor(e){super(e)}supports(e){return t.parseEventName(e)!=null}addEventListener(e,i,r,o){let s=t.parseEventName(i),a=t.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>yi().onAndCancel(e,s.domEventName,a,o))}static parseEventName(e){let i=e.toLowerCase().split("."),r=i.shift();if(i.length===0||!(r==="keydown"||r==="keyup"))return null;let o=t._normalizeKey(i.pop()),s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),gE.forEach(c=>{let u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,i.length!=0||o.length===0)return null;let l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(e,i){let r=DV[e.key]||e.key,o="";return i.indexOf("code.")>-1&&(r=e.code,o="code."),r==null||!r?!1:(r=r.toLowerCase(),r===" "?r="space":r==="."&&(r="dot"),gE.forEach(s=>{if(s!==r){let a=MV[s];a(e)&&(o+=s+".")}}),o+=r,o===i)}static eventCallback(e,i,r){return o=>{t.matchEventFullKeyCode(o,e)&&r.runGuarded(()=>i(o))}}static _normalizeKey(e){return e==="esc"?"escape":e}static \u0275fac=function(i){return new(i||t)(F(Ie))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})();function u0(t,n){return LT(E({rootComponent:t},SV(n)))}function SV(t){return{appProviders:[...kV,...t?.providers??[]],platformProviders:xV}}function TV(){If.makeCurrent()}function EV(){return new dr}function IV(){return pS(document),document}var xV=[{provide:Qn,useValue:Df},{provide:dv,useValue:TV,multi:!0},{provide:Ie,useFactory:IV}];var kV=[{provide:zh,useValue:"root"},{provide:dr,useFactory:EV},{provide:Ef,useClass:_E,multi:!0,deps:[Ie]},{provide:Ef,useClass:yE,multi:!0,deps:[Ie]},tu,l0,a0,{provide:kn,useExisting:tu},{provide:Is,useClass:wV},[]];var nl=class{},iu=class{},Ao=class t{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(n){n?typeof n=="string"?this.lazyInit=()=>{this.headers=new Map,n.split(` +`).forEach(e=>{let i=e.indexOf(":");if(i>0){let r=e.slice(0,i),o=e.slice(i+1).trim();this.addHeaderEntry(r,o)}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((e,i)=>{this.addHeaderEntry(i,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([e,i])=>{this.setHeaderEntries(e,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();let 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 t?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){let e=new t;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){let e=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if(typeof i=="string"&&(i=[i]),i.length===0)return;this.maybeSetNormalizedName(n.name,e);let r=(n.op==="a"?this.headers.get(e):void 0)||[];r.push(...i),this.headers.set(e,r);break;case"d":let o=n.value;if(!o)this.headers.delete(e),this.normalizedNames.delete(e);else{let s=this.headers.get(e);if(!s)return;s=s.filter(a=>o.indexOf(a)===-1),s.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}break}}addHeaderEntry(n,e){let i=n.toLowerCase();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(e):this.headers.set(i,[e])}setHeaderEntries(n,e){let i=(Array.isArray(e)?e:[e]).map(o=>o.toString()),r=n.toLowerCase();this.headers.set(r,i),this.maybeSetNormalizedName(n,r)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}};var kf=class{encodeKey(n){return vE(n)}encodeValue(n){return vE(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}};function AV(t,n){let e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(r=>{let o=r.indexOf("="),[s,a]=o==-1?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+1))],l=e.get(s)||[];l.push(a),e.set(s,l)}),e}var RV=/%(\d[a-f0-9])/gi,PV={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function vE(t){return encodeURIComponent(t).replace(RV,(n,e)=>PV[e]??n)}function xf(t){return`${t}`}var Gi=class t{map;encoder;updates=null;cloneFrom=null;constructor(n={}){if(this.encoder=n.encoder||new kf,n.fromString){if(n.fromObject)throw new R(2805,!1);this.map=AV(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{let i=n.fromObject[e],r=Array.isArray(i)?i.map(xf):[xf(i)];this.map.set(e,r)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();let 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){let e=[];return Object.keys(n).forEach(i=>{let r=n[i];Array.isArray(r)?r.forEach(o=>{e.push({param:i,value:o,op:"a"})}):e.push({param:i,value:r,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=>{let e=this.encoder.encodeKey(n);return this.map.get(n).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>n!=="").join("&")}clone(n){let e=new t({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(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":let e=(n.op==="a"?this.map.get(n.param):void 0)||[];e.push(xf(n.value)),this.map.set(n.param,e);break;case"d":if(n.value!==void 0){let i=this.map.get(n.param)||[],r=i.indexOf(xf(n.value));r!==-1&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}else{this.map.delete(n.param);break}}}),this.cloneFrom=this.updates=null)}};var Af=class{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 OV(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function bE(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function CE(t){return typeof Blob<"u"&&t instanceof Blob}function wE(t){return typeof FormData<"u"&&t instanceof FormData}function NV(t){return typeof URLSearchParams<"u"&&t instanceof URLSearchParams}var DE="Content-Type",ME="Accept",SE="X-Request-URL",TE="text/plain",EE="application/json",LV=`${EE}, ${TE}, */*`,tl=class t{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;responseType="json";method;params;urlWithParams;transferCache;constructor(n,e,i,r){this.url=e,this.method=n.toUpperCase();let o;if(OV(this.method)||r?(this.body=i!==void 0?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),this.transferCache=o.transferCache),this.headers??=new Ao,this.context??=new Af,!this.params)this.params=new Gi,this.urlWithParams=e;else{let s=this.params.toString();if(s.length===0)this.urlWithParams=e;else{let a=e.indexOf("?"),l=a===-1?"?":ab.set(_,n.setHeaders[_]),c)),n.setParams&&(u=Object.keys(n.setParams).reduce((b,_)=>b.set(_,n.setParams[_]),u)),new t(e,i,s,{params:u,headers:c,context:m,reportProgress:l,responseType:r,withCredentials:a,transferCache:o})}},ks=function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t}(ks||{}),il=class{headers;status;statusText;url;ok;type;constructor(n,e=200,i="OK"){this.headers=n.headers||new Ao,this.status=n.status!==void 0?n.status:e,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}},Rf=class t extends il{constructor(n={}){super(n)}type=ks.ResponseHeader;clone(n={}){return new t({headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}},ru=class t extends il{body;constructor(n={}){super(n),this.body=n.body!==void 0?n.body:null}type=ks.Response;clone(n={}){return new t({body:n.body!==void 0?n.body:this.body,headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}},ou=class extends il{name="HttpErrorResponse";message;error;ok=!1;constructor(n){super(n,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${n.url||"(unknown url)"}`:this.message=`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}},FV=200,VV=204;function d0(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,transferCache:t.transferCache}}var Vn=(()=>{class t{handler;constructor(e){this.handler=e}request(e,i,r={}){let o;if(e instanceof tl)o=e;else{let l;r.headers instanceof Ao?l=r.headers:l=new Ao(r.headers);let c;r.params&&(r.params instanceof Gi?c=r.params:c=new Gi({fromObject:r.params})),o=new tl(e,i,r.body!==void 0?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials,transferCache:r.transferCache})}let s=Q(o).pipe(yo(l=>this.handler.handle(l)));if(e instanceof tl||r.observe==="events")return s;let a=s.pipe(le(l=>l instanceof ru));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(G(l=>{if(l.body!==null&&!(l.body instanceof ArrayBuffer))throw new R(2806,!1);return l.body}));case"blob":return a.pipe(G(l=>{if(l.body!==null&&!(l.body instanceof Blob))throw new R(2807,!1);return l.body}));case"text":return a.pipe(G(l=>{if(l.body!==null&&typeof l.body!="string")throw new R(2808,!1);return l.body}));case"json":default:return a.pipe(G(l=>l.body))}case"response":return a;default:throw new R(2809,!1)}}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 Gi().append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,r={}){return this.request("PATCH",e,d0(r,i))}post(e,i,r={}){return this.request("POST",e,d0(r,i))}put(e,i,r={}){return this.request("PUT",e,d0(r,i))}static \u0275fac=function(i){return new(i||t)(F(nl))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})();var jV=new U("");function HV(t,n){return n(t)}function BV(t,n,e){return(i,r)=>qn(e,()=>n(i,o=>t(o,r)))}var f0=new U(""),IE=new U(""),xE=new U("",{providedIn:"root",factory:()=>!0});var Pf=(()=>{class t extends nl{backend;injector;chain=null;pendingTasks=S(Mo);contributeToStability=S(xE);constructor(e,i){super(),this.backend=e,this.injector=i}handle(e){if(this.chain===null){let i=Array.from(new Set([...this.injector.get(f0),...this.injector.get(IE,[])]));this.chain=i.reduceRight((r,o)=>BV(r,o,this.injector),HV)}if(this.contributeToStability){let i=this.pendingTasks.add();return this.chain(e,r=>this.backend.handle(r)).pipe(di(()=>this.pendingTasks.remove(i)))}else return this.chain(e,i=>this.backend.handle(i))}static \u0275fac=function(i){return new(i||t)(F(iu),F(yn))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})();var UV=/^\)\]\}',?\n/,$V=RegExp(`^${SE}:`,"m");function YV(t){return"responseURL"in t&&t.responseURL?t.responseURL:$V.test(t.getAllResponseHeaders())?t.getResponseHeader(SE):null}var h0=(()=>{class t{xhrFactory;constructor(e){this.xhrFactory=e}handle(e){if(e.method==="JSONP")throw new R(-2800,!1);let i=this.xhrFactory;return(i.\u0275loadImpl?Ke(i.\u0275loadImpl()):Q(null)).pipe(vt(()=>new ne(o=>{let s=i.build();if(s.open(e.method,e.urlWithParams),e.withCredentials&&(s.withCredentials=!0),e.headers.forEach((I,P)=>s.setRequestHeader(I,P.join(","))),e.headers.has(ME)||s.setRequestHeader(ME,LV),!e.headers.has(DE)){let I=e.detectContentTypeHeader();I!==null&&s.setRequestHeader(DE,I)}if(e.responseType){let I=e.responseType.toLowerCase();s.responseType=I!=="json"?I:"text"}let a=e.serializeBody(),l=null,c=()=>{if(l!==null)return l;let I=s.statusText||"OK",P=new Ao(s.getAllResponseHeaders()),V=YV(s)||e.url;return l=new Rf({headers:P,status:s.status,statusText:I,url:V}),l},u=()=>{let{headers:I,status:P,statusText:V,url:de}=c(),De=null;P!==VV&&(De=typeof s.response>"u"?s.responseText:s.response),P===0&&(P=De?FV:0);let nt=P>=200&&P<300;if(e.responseType==="json"&&typeof De=="string"){let Li=De;De=De.replace(UV,"");try{De=De!==""?JSON.parse(De):null}catch(ai){De=Li,nt&&(nt=!1,De={error:ai,text:De})}}nt?(o.next(new ru({body:De,headers:I,status:P,statusText:V,url:de||void 0})),o.complete()):o.error(new ou({error:De,headers:I,status:P,statusText:V,url:de||void 0}))},m=I=>{let{url:P}=c(),V=new ou({error:I,status:s.status||0,statusText:s.statusText||"Unknown Error",url:P||void 0});o.error(V)},b=!1,_=I=>{b||(o.next(c()),b=!0);let P={type:ks.DownloadProgress,loaded:I.loaded};I.lengthComputable&&(P.total=I.total),e.responseType==="text"&&s.responseText&&(P.partialText=s.responseText),o.next(P)},M=I=>{let P={type:ks.UploadProgress,loaded:I.loaded};I.lengthComputable&&(P.total=I.total),o.next(P)};return s.addEventListener("load",u),s.addEventListener("error",m),s.addEventListener("timeout",m),s.addEventListener("abort",m),e.reportProgress&&(s.addEventListener("progress",_),a!==null&&s.upload&&s.upload.addEventListener("progress",M)),s.send(a),o.next({type:ks.Sent}),()=>{s.removeEventListener("error",m),s.removeEventListener("abort",m),s.removeEventListener("load",u),s.removeEventListener("timeout",m),e.reportProgress&&(s.removeEventListener("progress",_),a!==null&&s.upload&&s.upload.removeEventListener("progress",M)),s.readyState!==s.DONE&&s.abort()}})))}static \u0275fac=function(i){return new(i||t)(F(Is))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})(),kE=new U(""),zV="XSRF-TOKEN",WV=new U("",{providedIn:"root",factory:()=>zV}),GV="X-XSRF-TOKEN",qV=new U("",{providedIn:"root",factory:()=>GV}),su=class{},QV=(()=>{class t{doc;platform;cookieName;lastCookieString="";lastToken=null;parseCount=0;constructor(e,i,r){this.doc=e,this.platform=i,this.cookieName=r}getToken(){if(this.platform==="server")return null;let e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=Kc(e,this.cookieName),this.lastCookieString=e),this.lastToken}static \u0275fac=function(i){return new(i||t)(F(Ie),F(Qn),F(WV))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})();function ZV(t,n){let e=t.url.toLowerCase();if(!S(kE)||t.method==="GET"||t.method==="HEAD"||e.startsWith("http://")||e.startsWith("https://"))return n(t);let i=S(su).getToken(),r=S(qV);return i!=null&&!t.headers.has(r)&&(t=t.clone({headers:t.headers.set(r,i)})),n(t)}var p0=function(t){return t[t.Interceptors=0]="Interceptors",t[t.LegacyInterceptors=1]="LegacyInterceptors",t[t.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",t[t.NoXsrfProtection=3]="NoXsrfProtection",t[t.JsonpSupport=4]="JsonpSupport",t[t.RequestsMadeViaParent=5]="RequestsMadeViaParent",t[t.Fetch=6]="Fetch",t}(p0||{});function KV(t,n){return{\u0275kind:t,\u0275providers:n}}function m0(...t){let n=[Vn,h0,Pf,{provide:nl,useExisting:Pf},{provide:iu,useFactory:()=>S(jV,{optional:!0})??S(h0)},{provide:f0,useValue:ZV,multi:!0},{provide:kE,useValue:!0},{provide:su,useClass:QV}];for(let e of t)n.push(...e.\u0275providers);return Do(n)}function g0(t){return KV(p0.Interceptors,t.map(n=>({provide:f0,useValue:n,multi:!0})))}var AE=(()=>{class t{_doc;constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static \u0275fac=function(i){return new(i||t)(F(Ie))};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Jr=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:function(i){let r=null;return i?r=new(i||t):r=F(XV),r},providedIn:"root"})}return t})(),XV=(()=>{class t extends Jr{_doc;constructor(e){super(),this._doc=e}sanitize(e,i){if(i==null)return null;switch(e){case Zn.NONE:return i;case Zn.HTML:return Gr(i,"HTML")?Yi(i):pv(this._doc,String(i)).toString();case Zn.STYLE:return Gr(i,"Style")?Yi(i):i;case Zn.SCRIPT:if(Gr(i,"Script"))return Yi(i);throw new R(5200,!1);case Zn.URL:return Gr(i,"URL")?Yi(i):tf(String(i));case Zn.RESOURCE_URL:if(Gr(i,"ResourceURL"))return Yi(i);throw new R(5201,!1);default:throw new R(5202,!1)}}bypassSecurityTrustHtml(e){return CS(e)}bypassSecurityTrustStyle(e){return wS(e)}bypassSecurityTrustScript(e){return DS(e)}bypassSecurityTrustUrl(e){return MS(e)}bypassSecurityTrustResourceUrl(e){return SS(e)}static \u0275fac=function(i){return new(i||t)(F(Ie))};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var ye="primary",bu=Symbol("RouteTitle"),C0=class{params;constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function Ps(t){return new C0(t)}function jE(t,n,e){let i=e.path.split("/");if(i.length>t.length||e.pathMatch==="full"&&(n.hasChildren()||i.lengthi[o]===r)}else return t===n}function BE(t){return t.length>0?t[t.length-1]:null}function Oo(t){return i_(t)?t:Eo(t)?Ke(Promise.resolve(t)):Q(t)}var tj={exact:$E,subset:YE},UE={exact:nj,subset:ij,ignored:()=>!0};function RE(t,n,e){return tj[e.paths](t.root,n.root,e.matrixParams)&&UE[e.queryParams](t.queryParams,n.queryParams)&&!(e.fragment==="exact"&&t.fragment!==n.fragment)}function nj(t,n){return br(t,n)}function $E(t,n,e){if(!As(t.segments,n.segments)||!Ff(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(let i in n.children)if(!t.children[i]||!$E(t.children[i],n.children[i],e))return!1;return!0}function ij(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>HE(t[e],n[e]))}function YE(t,n,e){return zE(t,n,n.segments,e)}function zE(t,n,e,i){if(t.segments.length>e.length){let r=t.segments.slice(0,e.length);return!(!As(r,e)||n.hasChildren()||!Ff(r,e,i))}else if(t.segments.length===e.length){if(!As(t.segments,e)||!Ff(t.segments,e,i))return!1;for(let r in n.children)if(!t.children[r]||!YE(t.children[r],n.children[r],i))return!1;return!0}else{let r=e.slice(0,t.segments.length),o=e.slice(t.segments.length);return!As(t.segments,r)||!Ff(t.segments,r,i)||!t.children[ye]?!1:zE(t.children[ye],n,o,i)}}function Ff(t,n,e){return n.every((i,r)=>UE[e](t[r].parameters,i.parameters))}var wr=class{root;queryParams;fragment;_queryParamMap;constructor(n=new je([],{}),e={},i=null){this.root=n,this.queryParams=e,this.fragment=i}get queryParamMap(){return this._queryParamMap??=Ps(this.queryParams),this._queryParamMap}toString(){return sj.serialize(this)}},je=class{segments;children;parent=null;constructor(n,e){this.segments=n,this.children=e,Object.values(e).forEach(i=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Vf(this)}},Ro=class{path;parameters;_parameterMap;constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap??=Ps(this.parameters),this._parameterMap}toString(){return GE(this)}};function rj(t,n){return As(t,n)&&t.every((e,i)=>br(e.parameters,n[i].parameters))}function As(t,n){return t.length!==n.length?!1:t.every((e,i)=>e.path===n[i].path)}function oj(t,n){let e=[];return Object.entries(t.children).forEach(([i,r])=>{i===ye&&(e=e.concat(n(r,i)))}),Object.entries(t.children).forEach(([i,r])=>{i!==ye&&(e=e.concat(n(r,i)))}),e}var Cu=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>new Os,providedIn:"root"})}return t})(),Os=class{parse(n){let e=new M0(n);return new wr(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){let e=`/${au(n.root,!0)}`,i=cj(n.queryParams),r=typeof n.fragment=="string"?`#${aj(n.fragment)}`:"";return`${e}${i}${r}`}},sj=new Os;function Vf(t){return t.segments.map(n=>GE(n)).join("/")}function au(t,n){if(!t.hasChildren())return Vf(t);if(n){let e=t.children[ye]?au(t.children[ye],!1):"",i=[];return Object.entries(t.children).forEach(([r,o])=>{r!==ye&&i.push(`${r}:${au(o,!1)}`)}),i.length>0?`${e}(${i.join("//")})`:e}else{let e=oj(t,(i,r)=>r===ye?[au(t.children[ye],!1)]:[`${r}:${au(i,!1)}`]);return Object.keys(t.children).length===1&&t.children[ye]!=null?`${Vf(t)}/${e[0]}`:`${Vf(t)}/(${e.join("//")})`}}function WE(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Nf(t){return WE(t).replace(/%3B/gi,";")}function aj(t){return encodeURI(t)}function D0(t){return WE(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function jf(t){return decodeURIComponent(t)}function PE(t){return jf(t.replace(/\+/g,"%20"))}function GE(t){return`${D0(t.path)}${lj(t.parameters)}`}function lj(t){return Object.entries(t).map(([n,e])=>`;${D0(n)}=${D0(e)}`).join("")}function cj(t){let n=Object.entries(t).map(([e,i])=>Array.isArray(i)?i.map(r=>`${Nf(e)}=${Nf(r)}`).join("&"):`${Nf(e)}=${Nf(i)}`).filter(e=>e);return n.length?`?${n.join("&")}`:""}var uj=/^[^\/()?;#]+/;function _0(t){let n=t.match(uj);return n?n[0]:""}var dj=/^[^\/()?;=#]+/;function hj(t){let n=t.match(dj);return n?n[0]:""}var fj=/^[^=?&#]+/;function pj(t){let n=t.match(fj);return n?n[0]:""}var mj=/^[^&#]+/;function gj(t){let n=t.match(mj);return n?n[0]:""}var M0=class{url;remaining;constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new je([],{}):new je([],this.parseChildren())}parseQueryParams(){let 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("/");let 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[ye]=new je(n,e)),i}parseSegment(){let n=_0(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new R(4009,!1);return this.capture(n),new Ro(jf(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let e=hj(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){let r=_0(this.remaining);r&&(i=r,this.capture(i))}n[jf(e)]=jf(i)}parseQueryParam(n){let e=pj(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){let s=gj(this.remaining);s&&(i=s,this.capture(i))}let r=PE(e),o=PE(i);if(n.hasOwnProperty(r)){let s=n[r];Array.isArray(s)||(s=[s],n[r]=s),s.push(o)}else n[r]=o}parseParens(n){let e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let i=_0(this.remaining),r=this.remaining[i.length];if(r!=="/"&&r!==")"&&r!==";")throw new R(4010,!1);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=ye);let s=this.parseChildren();e[o]=Object.keys(s).length===1?s[ye]:new je([],s),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):!1}capture(n){if(!this.consumeOptional(n))throw new R(4011,!1)}};function qE(t){return t.segments.length>0?new je([],{[ye]:t}):t}function QE(t){let n={};for(let[i,r]of Object.entries(t.children)){let o=QE(r);if(i===ye&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[i]=o)}let e=new je(t.segments,n);return _j(e)}function _j(t){if(t.numberOfChildren===1&&t.children[ye]){let n=t.children[ye];return new je(t.segments.concat(n.segments),n.children)}return t}function Po(t){return t instanceof wr}function ZE(t,n,e=null,i=null){let r=KE(t);return JE(r,n,e,i)}function KE(t){let n;function e(o){let s={};for(let l of o.children){let c=e(l);s[l.outlet]=c}let a=new je(o.url,s);return o===t&&(n=a),a}let i=e(t.root),r=qE(i);return n??r}function JE(t,n,e,i){let r=t;for(;r.parent;)r=r.parent;if(n.length===0)return y0(r,r,r,e,i);let o=yj(n);if(o.toRoot())return y0(r,r,new je([],{}),e,i);let s=vj(o,r,t),a=s.processChildren?cu(s.segmentGroup,s.index,o.commands):eI(s.segmentGroup,s.index,o.commands);return y0(r,s.segmentGroup,a,e,i)}function Bf(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function du(t){return typeof t=="object"&&t!=null&&t.outlets}function y0(t,n,e,i,r){let o={};i&&Object.entries(i).forEach(([l,c])=>{o[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`});let s;t===n?s=e:s=XE(t,n,e);let a=qE(QE(s));return new wr(a,o,r)}function XE(t,n,e){let i={};return Object.entries(t.children).forEach(([r,o])=>{o===n?i[r]=e:i[r]=XE(o,n,e)}),new je(t.segments,i)}var Uf=class{isAbsolute;numberOfDoubleDots;commands;constructor(n,e,i){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=i,n&&i.length>0&&Bf(i[0]))throw new R(4003,!1);let r=i.find(du);if(r&&r!==BE(i))throw new R(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function yj(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new Uf(!0,0,t);let n=0,e=!1,i=t.reduce((r,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([l,c])=>{a[l]=typeof c=="string"?c.split("/"):c}),[...r,{outlets:a}]}if(o.segmentPath)return[...r,o.segmentPath]}return typeof o!="string"?[...r,o]:s===0?(o.split("/").forEach((a,l)=>{l==0&&a==="."||(l==0&&a===""?e=!0:a===".."?n++:a!=""&&r.push(a))}),r):[...r,o]},[]);return new Uf(e,n,i)}var sl=class{segmentGroup;processChildren;index;constructor(n,e,i){this.segmentGroup=n,this.processChildren=e,this.index=i}};function vj(t,n,e){if(t.isAbsolute)return new sl(n,!0,0);if(!e)return new sl(n,!1,NaN);if(e.parent===null)return new sl(e,!0,0);let i=Bf(t.commands[0])?0:1,r=e.segments.length-1+i;return bj(e,r,t.numberOfDoubleDots)}function bj(t,n,e){let i=t,r=n,o=e;for(;o>r;){if(o-=r,i=i.parent,!i)throw new R(4005,!1);r=i.segments.length}return new sl(i,!1,r-o)}function Cj(t){return du(t[0])?t[0].outlets:{[ye]:t}}function eI(t,n,e){if(t??=new je([],{}),t.segments.length===0&&t.hasChildren())return cu(t,n,e);let i=wj(t,n,e),r=e.slice(i.commandIndex);if(i.match&&i.pathIndexo!==ye)&&t.children[ye]&&t.numberOfChildren===1&&t.children[ye].segments.length===0){let o=cu(t.children[ye],n,e);return new je(t.segments,o.children)}return Object.entries(i).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(r[o]=eI(t.children[o],n,s))}),Object.entries(t.children).forEach(([o,s])=>{i[o]===void 0&&(r[o]=s)}),new je(t.segments,r)}}function wj(t,n,e){let i=0,r=n,o={match:!1,pathIndex:0,commandIndex:0};for(;r=e.length)return o;let s=t.segments[r],a=e[i];if(du(a))break;let l=`${a}`,c=i0&&l===void 0)break;if(l&&c&&typeof c=="object"&&c.outlets===void 0){if(!NE(l,c,s))return o;i+=2}else{if(!NE(l,{},s))return o;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}function S0(t,n,e){let i=t.segments.slice(0,n),r=0;for(;r{typeof i=="string"&&(i=[i]),i!==null&&(n[e]=S0(new je([],{}),0,i))}),n}function OE(t){let n={};return Object.entries(t).forEach(([e,i])=>n[e]=`${i}`),n}function NE(t,n,e){return t==e.path&&br(n,e.parameters)}var Hf="imperative",Xt=function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t}(Xt||{}),Xn=class{id;url;constructor(n,e){this.id=n,this.url=e}},Ns=class extends Xn{type=Xt.NavigationStart;navigationTrigger;restoredState;constructor(n,e,i="imperative",r=null){super(n,e),this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},Dr=class extends Xn{urlAfterRedirects;type=Xt.NavigationEnd;constructor(n,e,i){super(n,e),this.urlAfterRedirects=i}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},jn=function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t}(jn||{}),hu=function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t}(hu||{}),Cr=class extends Xn{reason;code;type=Xt.NavigationCancel;constructor(n,e,i,r){super(n,e),this.reason=i,this.code=r}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},Xr=class extends Xn{reason;code;type=Xt.NavigationSkipped;constructor(n,e,i,r){super(n,e),this.reason=i,this.code=r}},ll=class extends Xn{error;target;type=Xt.NavigationError;constructor(n,e,i,r){super(n,e),this.error=i,this.target=r}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},fu=class extends Xn{urlAfterRedirects;state;type=Xt.RoutesRecognized;constructor(n,e,i,r){super(n,e),this.urlAfterRedirects=i,this.state=r}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},$f=class extends Xn{urlAfterRedirects;state;type=Xt.GuardsCheckStart;constructor(n,e,i,r){super(n,e),this.urlAfterRedirects=i,this.state=r}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Yf=class extends Xn{urlAfterRedirects;state;shouldActivate;type=Xt.GuardsCheckEnd;constructor(n,e,i,r,o){super(n,e),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},zf=class extends Xn{urlAfterRedirects;state;type=Xt.ResolveStart;constructor(n,e,i,r){super(n,e),this.urlAfterRedirects=i,this.state=r}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Wf=class extends Xn{urlAfterRedirects;state;type=Xt.ResolveEnd;constructor(n,e,i,r){super(n,e),this.urlAfterRedirects=i,this.state=r}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Gf=class{route;type=Xt.RouteConfigLoadStart;constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},qf=class{route;type=Xt.RouteConfigLoadEnd;constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},Qf=class{snapshot;type=Xt.ChildActivationStart;constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Zf=class{snapshot;type=Xt.ChildActivationEnd;constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Kf=class{snapshot;type=Xt.ActivationStart;constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Jf=class{snapshot;type=Xt.ActivationEnd;constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var pu=class{},cl=class{url;navigationBehaviorOptions;constructor(n,e){this.url=n,this.navigationBehaviorOptions=e}};function Mj(t,n){return t.providers&&!t._injector&&(t._injector=df(t.providers,n,`Route: ${t.path}`)),t._injector??n}function qi(t){return t.outlet||ye}function Sj(t,n){let e=t.filter(i=>qi(i)===n);return e.push(...t.filter(i=>qi(i)!==n)),e}function wu(t){if(!t)return null;if(t.routeConfig?._injector)return t.routeConfig._injector;for(let n=t.parent;n;n=n.parent){let e=n.routeConfig;if(e?._loadedInjector)return e._loadedInjector;if(e?._injector)return e._injector}return null}var Xf=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return wu(this.route?.snapshot)??this.rootInjector}constructor(n){this.rootInjector=n,this.children=new hl(this.rootInjector)}},hl=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,i){let r=this.getOrCreateContext(e);r.outlet=i,this.contexts.set(e,r)}onChildOutletDestroyed(e){let i=this.getContext(e);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){let 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 Xf(this.rootInjector),this.contexts.set(e,i)),i}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(i){return new(i||t)(F(yn))};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ep=class{_root;constructor(n){this._root=n}get root(){return this._root.value}parent(n){let e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){let e=T0(n,this._root);return e?e.children.map(i=>i.value):[]}firstChild(n){let e=T0(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){let e=E0(n,this._root);return e.length<2?[]:e[e.length-2].children.map(r=>r.value).filter(r=>r!==n)}pathFromRoot(n){return E0(n,this._root).map(e=>e.value)}};function T0(t,n){if(t===n.value)return n;for(let e of n.children){let i=T0(t,e);if(i)return i}return null}function E0(t,n){if(t===n.value)return[n];for(let e of n.children){let i=E0(t,e);if(i.length)return i.unshift(n),i}return[]}var Jn=class{value;children;constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}};function ol(t){let n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}var mu=class extends ep{snapshot;constructor(n,e){super(n),this.snapshot=e,N0(this,n)}toString(){return this.snapshot.toString()}};function tI(t){let n=Tj(t),e=new Ne([new Ro("",{})]),i=new Ne({}),r=new Ne({}),o=new Ne({}),s=new Ne(""),a=new Qi(e,i,o,s,r,ye,t,n.root);return a.snapshot=n.root,new mu(new Jn(a,[]),n)}function Tj(t){let n={},e={},i={},r="",o=new Rs([],n,i,r,e,ye,t,null,{});return new gu("",new Jn(o,[]))}var Qi=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(n,e,i,r,o,s,a,l){this.urlSubject=n,this.paramsSubject=e,this.queryParamsSubject=i,this.fragmentSubject=r,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(G(c=>c[bu]))??Q(void 0),this.url=n,this.params=e,this.queryParams=i,this.fragment=r,this.data=o}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.params.pipe(G(n=>Ps(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(G(n=>Ps(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function tp(t,n,e="emptyOnly"){let i,{routeConfig:r}=t;return n!==null&&(e==="always"||r?.path===""||!n.component&&!n.routeConfig?.loadComponent)?i={params:E(E({},n.params),t.params),data:E(E({},n.data),t.data),resolve:E(E(E(E({},t.data),n.data),r?.data),t._resolvedData)}:i={params:E({},t.params),data:E({},t.data),resolve:E(E({},t.data),t._resolvedData??{})},r&&iI(r)&&(i.resolve[bu]=r.title),i}var Rs=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;get title(){return this.data?.[bu]}constructor(n,e,i,r,o,s,a,l,c){this.url=n,this.params=e,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}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??=Ps(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=Ps(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(i=>i.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${e}')`}},gu=class extends ep{url;constructor(n,e){super(e),this.url=n,N0(this,e)}toString(){return nI(this._root)}};function N0(t,n){n.value._routerState=t,n.children.forEach(e=>N0(t,e))}function nI(t){let n=t.children.length>0?` { ${t.children.map(nI).join(", ")} } `:"";return`${t.value}${n}`}function v0(t){if(t.snapshot){let n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,br(n.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),n.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),br(n.params,e.params)||t.paramsSubject.next(e.params),ej(n.url,e.url)||t.urlSubject.next(e.url),br(n.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function I0(t,n){let e=br(t.params,n.params)&&rj(t.url,n.url),i=!t.parent!=!n.parent;return e&&!i&&(!t.parent||I0(t.parent,n.parent))}function iI(t){return typeof t.title=="string"||t.title===null}var rI=new U(""),Du=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=ye;activateEvents=new O;deactivateEvents=new O;attachEvents=new O;detachEvents=new O;routerOutletData=Pn(void 0);parentContexts=S(hl);location=S(pt);changeDetector=S(it);inputBinder=S(op,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:i,previousValue:r}=e.name;if(i)return;this.isTrackedInParentContexts(r)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(r)),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;let 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 R(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new R(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new R(4012,!1);this.location.detach();let 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){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,i){if(this.isActivated)throw new R(4013,!1);this._activatedRoute=e;let r=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new x0(e,a,r.injector,this.routerOutletData);this.activated=r.createComponent(s,{index:r.length,injector:l,environmentInjector:i}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=B({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[xe]})}return t})(),x0=class{route;childContexts;parent;outletData;constructor(n,e,i,r){this.route=n,this.childContexts=e,this.parent=i,this.outletData=r}get(n,e){return n===Qi?this.route:n===hl?this.childContexts:n===rI?this.outletData:this.parent.get(n,e)}},op=new U("");function Ej(t,n,e){let i=_u(t,n._root,e?e._root:void 0);return new mu(i,n)}function _u(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){let i=e.value;i._futureSnapshot=n.value;let r=Ij(t,n,e);return new Jn(i,r)}else{if(t.shouldAttach(n.value)){let o=t.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>_u(t,a)),s}}let i=xj(n.value),r=n.children.map(o=>_u(t,o));return new Jn(i,r)}}function Ij(t,n,e){return n.children.map(i=>{for(let r of e.children)if(t.shouldReuseRoute(i.value,r.value.snapshot))return _u(t,i,r);return _u(t,i)})}function xj(t){return new Qi(new Ne(t.url),new Ne(t.params),new Ne(t.queryParams),new Ne(t.fragment),new Ne(t.data),t.outlet,t.component,t)}var ul=class{redirectTo;navigationBehaviorOptions;constructor(n,e){this.redirectTo=n,this.navigationBehaviorOptions=e}},oI="ngNavigationCancelingError";function np(t,n){let{redirectTo:e,navigationBehaviorOptions:i}=Po(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,r=sI(!1,jn.Redirect);return r.url=e,r.navigationBehaviorOptions=i,r}function sI(t,n){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[oI]=!0,e.cancellationCode=n,e}function kj(t){return aI(t)&&Po(t.url)}function aI(t){return!!t&&t[oI]}var Aj=(t,n,e,i)=>G(r=>(new k0(n,r.targetRouterState,r.currentRouterState,e,i).activate(t),r)),k0=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(n,e,i,r,o){this.routeReuseStrategy=n,this.futureState=e,this.currState=i,this.forwardEvent=r,this.inputBindingEnabled=o}activate(n){let 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){let r=ol(e);n.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,r[s],i),delete r[s]}),Object.values(r).forEach(o=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(n,e,i){let r=n.value,o=e?e.value:null;if(r===o)if(r.component){let s=i.getContext(r.outlet);s&&this.deactivateChildRoutes(n,e,s.children)}else this.deactivateChildRoutes(n,e,i);else o&&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){let i=e.getContext(n.value.outlet),r=i&&n.value.component?i.children:e,o=ol(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,r);if(i&&i.outlet){let s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,e){let i=e.getContext(n.value.outlet),r=i&&n.value.component?i.children:e,o=ol(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,r);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.route=null)}activateChildRoutes(n,e,i){let r=ol(e);n.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],i),this.forwardEvent(new Jf(o.value.snapshot))}),n.children.length&&this.forwardEvent(new Zf(n.value.snapshot))}activateRoutes(n,e,i){let r=n.value,o=e?e.value:null;if(v0(r),r===o)if(r.component){let s=i.getOrCreateContext(r.outlet);this.activateChildRoutes(n,e,s.children)}else this.activateChildRoutes(n,e,i);else if(r.component){let s=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){let a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),v0(a.route.value),this.activateChildRoutes(n,null,s.children)}else s.attachRef=null,s.route=r,s.outlet&&s.outlet.activateWith(r,s.injector),this.activateChildRoutes(n,null,s.children)}else this.activateChildRoutes(n,null,i)}},ip=class{path;route;constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},al=class{component;route;constructor(n,e){this.component=n,this.route=e}};function Rj(t,n,e){let i=t._root,r=n?n._root:null;return lu(i,r,e,[i.value])}function Pj(t){let n=t.routeConfig?t.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:t,guards:n}}function fl(t,n){let e=Symbol(),i=n.get(t,e);return i===e?typeof t=="function"&&!aM(t)?t:n.get(t):i}function lu(t,n,e,i,r={canDeactivateChecks:[],canActivateChecks:[]}){let o=ol(n);return t.children.forEach(s=>{Oj(s,o[s.value.outlet],e,i.concat([s.value]),r),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>uu(a,e.getContext(s),r)),r}function Oj(t,n,e,i,r={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,s=n?n.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let l=Nj(s,o,o.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new ip(i)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?lu(t,n,a?a.children:null,i,r):lu(t,n,e,i,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new al(a.outlet.component,s))}else s&&uu(n,a,r),r.canActivateChecks.push(new ip(i)),o.component?lu(t,null,a?a.children:null,i,r):lu(t,null,e,i,r);return r}function Nj(t,n,e){if(typeof e=="function")return e(t,n);switch(e){case"pathParamsChange":return!As(t.url,n.url);case"pathParamsOrQueryParamsChange":return!As(t.url,n.url)||!br(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!I0(t,n)||!br(t.queryParams,n.queryParams);case"paramsChange":default:return!I0(t,n)}}function uu(t,n,e){let i=ol(t),r=t.value;Object.entries(i).forEach(([o,s])=>{r.component?n?uu(s,n.children.getContext(o),e):uu(s,null,e):uu(s,n,e)}),r.component?n&&n.outlet&&n.outlet.isActivated?e.canDeactivateChecks.push(new al(n.outlet.component,r)):e.canDeactivateChecks.push(new al(null,r)):e.canDeactivateChecks.push(new al(null,r))}function Mu(t){return typeof t=="function"}function Lj(t){return typeof t=="boolean"}function Fj(t){return t&&Mu(t.canLoad)}function Vj(t){return t&&Mu(t.canActivate)}function jj(t){return t&&Mu(t.canActivateChild)}function Hj(t){return t&&Mu(t.canDeactivate)}function Bj(t){return t&&Mu(t.canMatch)}function lI(t){return t instanceof Vi||t?.name==="EmptyError"}var Lf=Symbol("INITIAL_VALUE");function dl(){return vt(t=>go(t.map(n=>n.pipe(yt(1),ds(Lf)))).pipe(G(n=>{for(let e of n)if(e!==!0){if(e===Lf)return Lf;if(e===!1||Uj(e))return e}return!0}),le(n=>n!==Lf),yt(1)))}function Uj(t){return Po(t)||t instanceof ul}function $j(t,n){return ze(e=>{let{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:s}}=e;return s.length===0&&o.length===0?Q(Y(E({},e),{guardsResult:!0})):Yj(s,i,r,t).pipe(ze(a=>a&&Lj(a)?zj(i,o,t,n):Q(a)),G(a=>Y(E({},e),{guardsResult:a})))})}function Yj(t,n,e,i){return Ke(t).pipe(ze(r=>Zj(r.component,r.route,e,n,i)),Br(r=>r!==!0,!0))}function zj(t,n,e,i){return Ke(n).pipe(yo(r=>_o(Gj(r.route.parent,i),Wj(r.route,i),Qj(t,r.path,e),qj(t,r.route,e))),Br(r=>r!==!0,!0))}function Wj(t,n){return t!==null&&n&&n(new Kf(t)),Q(!0)}function Gj(t,n){return t!==null&&n&&n(new Qf(t)),Q(!0)}function qj(t,n,e){let i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||i.length===0)return Q(!0);let r=i.map(o=>ih(()=>{let s=wu(n)??e,a=fl(o,s),l=Vj(a)?a.canActivate(n,t):qn(s,()=>a(n,t));return Oo(l).pipe(Br())}));return Q(r).pipe(dl())}function Qj(t,n,e){let i=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(s=>Pj(s)).filter(s=>s!==null).map(s=>ih(()=>{let a=s.guards.map(l=>{let c=wu(s.node)??e,u=fl(l,c),m=jj(u)?u.canActivateChild(i,t):qn(c,()=>u(i,t));return Oo(m).pipe(Br())});return Q(a).pipe(dl())}));return Q(o).pipe(dl())}function Zj(t,n,e,i,r){let o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;if(!o||o.length===0)return Q(!0);let s=o.map(a=>{let l=wu(n)??r,c=fl(a,l),u=Hj(c)?c.canDeactivate(t,n,e,i):qn(l,()=>c(t,n,e,i));return Oo(u).pipe(Br())});return Q(s).pipe(dl())}function Kj(t,n,e,i){let r=n.canLoad;if(r===void 0||r.length===0)return Q(!0);let o=r.map(s=>{let a=fl(s,t),l=Fj(a)?a.canLoad(n,e):qn(t,()=>a(n,e));return Oo(l)});return Q(o).pipe(dl(),cI(i))}function cI(t){return Qg(ct(n=>{if(typeof n!="boolean")throw np(t,n)}),G(n=>n===!0))}function Jj(t,n,e,i){let r=n.canMatch;if(!r||r.length===0)return Q(!0);let o=r.map(s=>{let a=fl(s,t),l=Bj(a)?a.canMatch(n,e):qn(t,()=>a(n,e));return Oo(l)});return Q(o).pipe(dl(),cI(i))}var yu=class{segmentGroup;constructor(n){this.segmentGroup=n||null}},vu=class extends Error{urlTree;constructor(n){super(),this.urlTree=n}};function rl(t){return Ma(new yu(t))}function Xj(t){return Ma(new R(4e3,!1))}function eH(t){return Ma(sI(!1,jn.GuardRejected))}var A0=class{urlSerializer;urlTree;constructor(n,e){this.urlSerializer=n,this.urlTree=e}lineralizeSegments(n,e){let i=[],r=e.root;for(;;){if(i=i.concat(r.segments),r.numberOfChildren===0)return Q(i);if(r.numberOfChildren>1||!r.children[ye])return Xj(`${n.redirectTo}`);r=r.children[ye]}}applyRedirectCommands(n,e,i,r,o){if(typeof e!="string"){let a=e,{queryParams:l,fragment:c,routeConfig:u,url:m,outlet:b,params:_,data:M,title:I}=r,P=qn(o,()=>a({params:_,data:M,queryParams:l,fragment:c,routeConfig:u,url:m,outlet:b,title:I}));if(P instanceof wr)throw new vu(P);e=P}let s=this.applyRedirectCreateUrlTree(e,this.urlSerializer.parse(e),n,i);if(e[0]==="/")throw new vu(s);return s}applyRedirectCreateUrlTree(n,e,i,r){let o=this.createSegmentGroup(n,e.root,i,r);return new wr(o,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){let i={};return Object.entries(n).forEach(([r,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);i[r]=e[a]}else i[r]=o}),i}createSegmentGroup(n,e,i,r){let o=this.createSegments(n,e.segments,i,r),s={};return Object.entries(e.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,i,r)}),new je(o,s)}createSegments(n,e,i,r){return e.map(o=>o.path[0]===":"?this.findPosParam(n,o,r):this.findOrReturn(o,i))}findPosParam(n,e,i){let r=i[e.path.substring(1)];if(!r)throw new R(4001,!1);return r}findOrReturn(n,e){let i=0;for(let r of e){if(r.path===n.path)return e.splice(i),r;i++}return n}},R0={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function tH(t,n,e,i,r){let o=uI(t,n,e);return o.matched?(i=Mj(n,i),Jj(i,n,e,r).pipe(G(s=>s===!0?o:E({},R0)))):Q(o)}function uI(t,n,e){if(n.path==="**")return nH(e);if(n.path==="")return n.pathMatch==="full"&&(t.hasChildren()||e.length>0)?E({},R0):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let r=(n.matcher||jE)(e,t,n);if(!r)return E({},R0);let o={};Object.entries(r.posParams??{}).forEach(([a,l])=>{o[a]=l.path});let s=r.consumed.length>0?E(E({},o),r.consumed[r.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:e.slice(r.consumed.length),parameters:s,positionalParamSegments:r.posParams??{}}}function nH(t){return{matched:!0,parameters:t.length>0?BE(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}function LE(t,n,e,i){return e.length>0&&oH(t,e,i)?{segmentGroup:new je(n,rH(i,new je(e,t.children))),slicedSegments:[]}:e.length===0&&sH(t,e,i)?{segmentGroup:new je(t.segments,iH(t,e,i,t.children)),slicedSegments:e}:{segmentGroup:new je(t.segments,t.children),slicedSegments:e}}function iH(t,n,e,i){let r={};for(let o of e)if(sp(t,n,o)&&!i[qi(o)]){let s=new je([],{});r[qi(o)]=s}return E(E({},i),r)}function rH(t,n){let e={};e[ye]=n;for(let i of t)if(i.path===""&&qi(i)!==ye){let r=new je([],{});e[qi(i)]=r}return e}function oH(t,n,e){return e.some(i=>sp(t,n,i)&&qi(i)!==ye)}function sH(t,n,e){return e.some(i=>sp(t,n,i))}function sp(t,n,e){return(t.hasChildren()||n.length>0)&&e.pathMatch==="full"?!1:e.path===""}function aH(t,n,e){return n.length===0&&!t.children[e]}var P0=class{};function lH(t,n,e,i,r,o,s="emptyOnly"){return new O0(t,n,e,i,r,s,o).recognize()}var cH=31,O0=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(n,e,i,r,o,s,a){this.injector=n,this.configLoader=e,this.rootComponentType=i,this.config=r,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new A0(this.urlSerializer,this.urlTree)}noMatchError(n){return new R(4002,`'${n.segmentGroup}'`)}recognize(){let n=LE(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(G(({children:e,rootSnapshot:i})=>{let r=new Jn(i,e),o=new gu("",r),s=ZE(i,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}))}match(n){let e=new Rs([],Object.freeze({}),Object.freeze(E({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),ye,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,n,ye,e).pipe(G(i=>({children:i,rootSnapshot:e})),ji(i=>{if(i instanceof vu)return this.urlTree=i.urlTree,this.match(i.urlTree.root);throw i instanceof yu?this.noMatchError(i):i}))}processSegmentGroup(n,e,i,r,o){return i.segments.length===0&&i.hasChildren()?this.processChildren(n,e,i,o):this.processSegment(n,e,i,i.segments,r,!0,o).pipe(G(s=>s instanceof Jn?[s]:[]))}processChildren(n,e,i,r){let o=[];for(let s of Object.keys(i.children))s==="primary"?o.unshift(s):o.push(s);return Ke(o).pipe(yo(s=>{let a=i.children[s],l=Sj(e,s);return this.processSegmentGroup(n,l,a,s,r)}),bc((s,a)=>(s.push(...a),s)),vo(null),s_(),ze(s=>{if(s===null)return rl(i);let a=dI(s);return uH(a),Q(a)}))}processSegment(n,e,i,r,o,s,a){return Ke(e).pipe(yo(l=>this.processSegmentAgainstRoute(l._injector??n,e,l,i,r,o,s,a).pipe(ji(c=>{if(c instanceof yu)return Q(null);throw c}))),Br(l=>!!l),ji(l=>{if(lI(l))return aH(i,r,o)?Q(new P0):rl(i);throw l}))}processSegmentAgainstRoute(n,e,i,r,o,s,a,l){return qi(i)!==s&&(s===ye||!sp(r,o,i))?rl(r):i.redirectTo===void 0?this.matchSegmentAgainstRoute(n,r,i,o,s,l):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(n,r,e,i,o,s,l):rl(r)}expandSegmentAgainstRouteUsingRedirect(n,e,i,r,o,s,a){let{matched:l,parameters:c,consumedSegments:u,positionalParamSegments:m,remainingSegments:b}=uI(e,r,o);if(!l)return rl(e);typeof r.redirectTo=="string"&&r.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>cH&&(this.allowRedirects=!1));let _=new Rs(o,c,Object.freeze(E({},this.urlTree.queryParams)),this.urlTree.fragment,FE(r),qi(r),r.component??r._loadedComponent??null,r,VE(r)),M=tp(_,a,this.paramsInheritanceStrategy);_.params=Object.freeze(M.params),_.data=Object.freeze(M.data);let I=this.applyRedirects.applyRedirectCommands(u,r.redirectTo,m,_,n);return this.applyRedirects.lineralizeSegments(r,I).pipe(ze(P=>this.processSegment(n,i,e,P.concat(b),s,!1,a)))}matchSegmentAgainstRoute(n,e,i,r,o,s){let a=tH(e,i,r,n,this.urlSerializer);return i.path==="**"&&(e.children={}),a.pipe(vt(l=>l.matched?(n=i._injector??n,this.getChildConfig(n,i,r).pipe(vt(({routes:c})=>{let u=i._loadedInjector??n,{parameters:m,consumedSegments:b,remainingSegments:_}=l,M=new Rs(b,m,Object.freeze(E({},this.urlTree.queryParams)),this.urlTree.fragment,FE(i),qi(i),i.component??i._loadedComponent??null,i,VE(i)),I=tp(M,s,this.paramsInheritanceStrategy);M.params=Object.freeze(I.params),M.data=Object.freeze(I.data);let{segmentGroup:P,slicedSegments:V}=LE(e,b,_,c);if(V.length===0&&P.hasChildren())return this.processChildren(u,c,P,M).pipe(G(De=>new Jn(M,De)));if(c.length===0&&V.length===0)return Q(new Jn(M,[]));let de=qi(i)===o;return this.processSegment(u,c,P,V,de?ye:o,!0,M).pipe(G(De=>new Jn(M,De instanceof Jn?[De]:[])))}))):rl(e)))}getChildConfig(n,e,i){return e.children?Q({routes:e.children,injector:n}):e.loadChildren?e._loadedRoutes!==void 0?Q({routes:e._loadedRoutes,injector:e._loadedInjector}):Kj(n,e,i,this.urlSerializer).pipe(ze(r=>r?this.configLoader.loadChildren(n,e).pipe(ct(o=>{e._loadedRoutes=o.routes,e._loadedInjector=o.injector})):eH(e))):Q({routes:[],injector:n})}};function uH(t){t.sort((n,e)=>n.value.outlet===ye?-1:e.value.outlet===ye?1:n.value.outlet.localeCompare(e.value.outlet))}function dH(t){let n=t.value.routeConfig;return n&&n.path===""}function dI(t){let n=[],e=new Set;for(let i of t){if(!dH(i)){n.push(i);continue}let r=n.find(o=>i.value.routeConfig===o.value.routeConfig);r!==void 0?(r.children.push(...i.children),e.add(r)):n.push(i)}for(let i of e){let r=dI(i.children);n.push(new Jn(i.value,r))}return n.filter(i=>!e.has(i))}function FE(t){return t.data||{}}function VE(t){return t.resolve||{}}function hH(t,n,e,i,r,o){return ze(s=>lH(t,n,e,i,s.extractedUrl,r,o).pipe(G(({state:a,tree:l})=>Y(E({},s),{targetSnapshot:a,urlAfterRedirects:l}))))}function fH(t,n){return ze(e=>{let{targetSnapshot:i,guards:{canActivateChecks:r}}=e;if(!r.length)return Q(e);let o=new Set(r.map(l=>l.route)),s=new Set;for(let l of o)if(!s.has(l))for(let c of hI(l))s.add(c);let a=0;return Ke(s).pipe(yo(l=>o.has(l)?pH(l,i,t,n):(l.data=tp(l,l.parent,t).resolve,Q(void 0))),ct(()=>a++),Ia(1),ze(l=>a===s.size?Q(e):Tt))})}function hI(t){let n=t.children.map(e=>hI(e)).flat();return[t,...n]}function pH(t,n,e,i){let r=t.routeConfig,o=t._resolve;return r?.title!==void 0&&!iI(r)&&(o[bu]=r.title),mH(o,t,n,i).pipe(G(s=>(t._resolvedData=s,t.data=tp(t,t.parent,e).resolve,null)))}function mH(t,n,e,i){let r=w0(t);if(r.length===0)return Q({});let o={};return Ke(r).pipe(ze(s=>gH(t[s],n,e,i).pipe(Br(),ct(a=>{if(a instanceof ul)throw np(new Os,a);o[s]=a}))),Ia(1),G(()=>o),ji(s=>lI(s)?Tt:Ma(s)))}function gH(t,n,e,i){let r=wu(n)??i,o=fl(t,r),s=o.resolve?o.resolve(n,e):qn(r,()=>o(n,e));return Oo(s)}function b0(t){return vt(n=>{let e=t(n);return e?Ke(e).pipe(G(()=>n)):Q(n)})}var L0=(()=>{class t{buildTitle(e){let i,r=e.root;for(;r!==void 0;)i=this.getResolvedTitleForRoute(r)??i,r=r.children.find(o=>o.outlet===ye);return i}getResolvedTitleForRoute(e){return e.data[bu]}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>S(fI),providedIn:"root"})}return t})(),fI=(()=>{class t extends L0{title;constructor(e){super(),this.title=e}updateTitle(e){let i=this.buildTitle(e);i!==void 0&&this.title.setTitle(i)}static \u0275fac=function(i){return new(i||t)(F(AE))};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Su=new U("",{providedIn:"root",factory:()=>({})}),F0=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=L({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(i,r){i&1&&A(0,"router-outlet")},dependencies:[Du],encapsulation:2})}return t})();function V0(t){let n=t.children&&t.children.map(V0),e=n?Y(E({},t),{children:n}):E({},t);return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==ye&&(e.component=F0),e}var Tu=new U(""),pI=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=S(OT);loadComponent(e){if(this.componentLoaders.get(e))return this.componentLoaders.get(e);if(e._loadedComponent)return Q(e._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(e);let i=Oo(e.loadComponent()).pipe(G(gI),ct(o=>{this.onLoadEndListener&&this.onLoadEndListener(e),e._loadedComponent=o}),di(()=>{this.componentLoaders.delete(e)})),r=new va(i,()=>new X).pipe(ya());return this.componentLoaders.set(e,r),r}loadChildren(e,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return Q({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);let o=mI(i,this.compiler,e,this.onLoadEndListener).pipe(di(()=>{this.childrenLoaders.delete(i)})),s=new va(o,()=>new X).pipe(ya());return this.childrenLoaders.set(i,s),s}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function mI(t,n,e,i){return Oo(t.loadChildren()).pipe(G(gI),ze(r=>r instanceof Av||Array.isArray(r)?Q(r):Ke(n.compileModuleAsync(r))),G(r=>{i&&i(t);let o,s,a=!1;return Array.isArray(r)?(s=r,a=!0):(o=r.create(e).injector,s=o.get(Tu,[],{optional:!0,self:!0}).flat()),{routes:s.map(V0),injector:o}}))}function _H(t){return t&&typeof t=="object"&&"default"in t}function gI(t){return _H(t)?t.default:t}var ap=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>S(yH),providedIn:"root"})}return t})(),yH=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,i){return e}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),_I=new U("");var yI=new U(""),vI=(()=>{class t{currentNavigation=null;currentTransition=null;lastSuccessfulNavigation=null;events=new X;transitionAbortSubject=new X;configLoader=S(pI);environmentInjector=S(yn);destroyRef=S(Fc);urlSerializer=S(Cu);rootContexts=S(hl);location=S(el);inputBindingEnabled=S(op,{optional:!0})!==null;titleStrategy=S(L0);options=S(Su,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=S(ap);createViewTransition=S(_I,{optional:!0});navigationErrorHandler=S(yI,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>Q(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=r=>this.events.next(new Gf(r)),i=r=>this.events.next(new qf(r));this.configLoader.onLoadEndListener=i,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let i=++this.navigationId;this.transitions?.next(Y(E({},e),{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,id:i}))}setupNavigations(e){return this.transitions=new Ne(null),this.transitions.pipe(le(i=>i!==null),vt(i=>{let r=!1,o=!1;return Q(i).pipe(vt(s=>{if(this.navigationId>i.id)return this.cancelNavigationTransition(i,"",jn.SupersededByNewNavigation),Tt;this.currentTransition=i,this.currentNavigation={id:s.id,initialUrl:s.rawUrl,extractedUrl:s.extractedUrl,targetBrowserUrl:typeof s.extras.browserUrl=="string"?this.urlSerializer.parse(s.extras.browserUrl):s.extras.browserUrl,trigger:s.source,extras:s.extras,previousNavigation:this.lastSuccessfulNavigation?Y(E({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let a=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),l=s.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!a&&l!=="reload"){let c="";return this.events.next(new Xr(s.id,this.urlSerializer.serialize(s.rawUrl),c,hu.IgnoredSameUrlNavigation)),s.resolve(!1),Tt}if(this.urlHandlingStrategy.shouldProcessUrl(s.rawUrl))return Q(s).pipe(vt(c=>(this.events.next(new Ns(c.id,this.urlSerializer.serialize(c.extractedUrl),c.source,c.restoredState)),c.id!==this.navigationId?Tt:Promise.resolve(c))),hH(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),ct(c=>{i.targetSnapshot=c.targetSnapshot,i.urlAfterRedirects=c.urlAfterRedirects,this.currentNavigation=Y(E({},this.currentNavigation),{finalUrl:c.urlAfterRedirects});let u=new fu(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}));if(a&&this.urlHandlingStrategy.shouldProcessUrl(s.currentRawUrl)){let{id:c,extractedUrl:u,source:m,restoredState:b,extras:_}=s,M=new Ns(c,this.urlSerializer.serialize(u),m,b);this.events.next(M);let I=tI(this.rootComponentType).snapshot;return this.currentTransition=i=Y(E({},s),{targetSnapshot:I,urlAfterRedirects:u,extras:Y(E({},_),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=u,Q(i)}else{let c="";return this.events.next(new Xr(s.id,this.urlSerializer.serialize(s.extractedUrl),c,hu.IgnoredByUrlHandlingStrategy)),s.resolve(!1),Tt}}),ct(s=>{let a=new $f(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}),G(s=>(this.currentTransition=i=Y(E({},s),{guards:Rj(s.targetSnapshot,s.currentSnapshot,this.rootContexts)}),i)),$j(this.environmentInjector,s=>this.events.next(s)),ct(s=>{if(i.guardsResult=s.guardsResult,s.guardsResult&&typeof s.guardsResult!="boolean")throw np(this.urlSerializer,s.guardsResult);let a=new Yf(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot,!!s.guardsResult);this.events.next(a)}),le(s=>s.guardsResult?!0:(this.cancelNavigationTransition(s,"",jn.GuardRejected),!1)),b0(s=>{if(s.guards.canActivateChecks.length!==0)return Q(s).pipe(ct(a=>{let l=new zf(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}),vt(a=>{let l=!1;return Q(a).pipe(fH(this.paramsInheritanceStrategy,this.environmentInjector),ct({next:()=>l=!0,complete:()=>{l||this.cancelNavigationTransition(a,"",jn.NoDataFromResolver)}}))}),ct(a=>{let l=new Wf(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}))}),b0(s=>{let a=l=>{let c=[];l.routeConfig?.loadComponent&&!l.routeConfig._loadedComponent&&c.push(this.configLoader.loadComponent(l.routeConfig).pipe(ct(u=>{l.component=u}),G(()=>{})));for(let u of l.children)c.push(...a(u));return c};return go(a(s.targetSnapshot.root)).pipe(vo(null),yt(1))}),b0(()=>this.afterPreactivation()),vt(()=>{let{currentSnapshot:s,targetSnapshot:a}=i,l=this.createViewTransition?.(this.environmentInjector,s.root,a.root);return l?Ke(l).pipe(G(()=>i)):Q(i)}),G(s=>{let a=Ej(e.routeReuseStrategy,s.targetSnapshot,s.currentRouterState);return this.currentTransition=i=Y(E({},s),{targetRouterState:a}),this.currentNavigation.targetRouterState=a,i}),ct(()=>{this.events.next(new pu)}),Aj(this.rootContexts,e.routeReuseStrategy,s=>this.events.next(s),this.inputBindingEnabled),yt(1),ct({next:s=>{r=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Dr(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects))),this.titleStrategy?.updateTitle(s.targetRouterState.snapshot),s.resolve(!0)},complete:()=>{r=!0}}),hi(this.transitionAbortSubject.pipe(ct(s=>{throw s}))),di(()=>{!r&&!o&&this.cancelNavigationTransition(i,"",jn.SupersededByNewNavigation),this.currentTransition?.id===i.id&&(this.currentNavigation=null,this.currentTransition=null)}),ji(s=>{if(this.destroyed)return i.resolve(!1),Tt;if(o=!0,aI(s))this.events.next(new Cr(i.id,this.urlSerializer.serialize(i.extractedUrl),s.message,s.cancellationCode)),kj(s)?this.events.next(new cl(s.url,s.navigationBehaviorOptions)):i.resolve(!1);else{let a=new ll(i.id,this.urlSerializer.serialize(i.extractedUrl),s,i.targetSnapshot??void 0);try{let l=qn(this.environmentInjector,()=>this.navigationErrorHandler?.(a));if(l instanceof ul){let{message:c,cancellationCode:u}=np(this.urlSerializer,l);this.events.next(new Cr(i.id,this.urlSerializer.serialize(i.extractedUrl),c,u)),this.events.next(new cl(l.redirectTo,l.navigationBehaviorOptions))}else throw this.events.next(a),s}catch(l){this.options.resolveNavigationPromiseOnError?i.resolve(!1):i.reject(l)}}return Tt}))}))}cancelNavigationTransition(e,i,r){let o=new Cr(e.id,this.urlSerializer.serialize(e.extractedUrl),i,r);this.events.next(o),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),i=this.currentNavigation?.targetBrowserUrl??this.currentNavigation?.extractedUrl;return e.toString()!==i?.toString()&&!this.currentNavigation?.extras.skipLocationChange}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function vH(t){return t!==Hf}var bI=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>S(bH),providedIn:"root"})}return t})(),rp=class{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}},bH=(()=>{class t extends rp{static \u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),CI=(()=>{class t{urlSerializer=S(Cu);options=S(Su,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=S(el);urlHandlingStrategy=S(ap);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new wr;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:e,initialUrl:i,targetBrowserUrl:r}){let o=e!==void 0?this.urlHandlingStrategy.merge(e,i):i,s=r??o;return s instanceof wr?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:e,finalUrl:i,initialUrl:r}){i&&e?(this.currentUrlTree=i,this.rawUrlTree=this.urlHandlingStrategy.merge(i,r),this.routerState=e):this.rawUrlTree=r}routerState=tI(null);getRouterState(){return this.routerState}stateMemento=this.createStateMemento();updateStateMemento(){this.stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}resetInternalState({finalUrl:e}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e??this.rawUrlTree)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>S(CH),providedIn:"root"})}return t})(),CH=(()=>{class t extends CI{currentPageId=0;lastSuccessfulId=-1;restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(i=>{i.type==="popstate"&&setTimeout(()=>{e(i.url,i.state,"popstate")})})}handleRouterEvent(e,i){e instanceof Ns?this.updateStateMemento():e instanceof Xr?this.commitTransition(i):e instanceof fu?this.urlUpdateStrategy==="eager"&&(i.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(i),i)):e instanceof pu?(this.commitTransition(i),this.urlUpdateStrategy==="deferred"&&!i.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(i),i)):e instanceof Cr&&(e.code===jn.GuardRejected||e.code===jn.NoDataFromResolver)?this.restoreHistory(i):e instanceof ll?this.restoreHistory(i,!0):e instanceof Dr&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,{extras:i,id:r}){let{replaceUrl:o,state:s}=i;if(this.location.isCurrentPathEqualTo(e)||o){let a=this.browserPageId,l=E(E({},s),this.generateNgRouterState(r,a));this.location.replaceState(e,"",l)}else{let a=E(E({},s),this.generateNgRouterState(r,this.browserPageId+1));this.location.go(e,"",a)}}restoreHistory(e,i=!1){if(this.canceledNavigationResolution==="computed"){let r=this.browserPageId,o=this.currentPageId-r;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===e.finalUrl&&o===0&&(this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(i&&this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,i){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:i}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function j0(t,n){t.events.pipe(le(e=>e instanceof Dr||e instanceof Cr||e instanceof ll||e instanceof Xr),G(e=>e instanceof Dr||e instanceof Xr?0:(e instanceof Cr?e.code===jn.Redirect||e.code===jn.SupersededByNewNavigation:!1)?2:1),le(e=>e!==2),yt(1)).subscribe(()=>{n()})}var wH={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},DH={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},an=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=S(Ov);stateManager=S(CI);options=S(Su,{optional:!0})||{};pendingTasks=S(Mo);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=S(vI);urlSerializer=S(Cu);location=S(el);urlHandlingStrategy=S(ap);_events=new X;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=S(bI);onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=S(Tu,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!S(op,{optional:!0});constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{this.console.warn(e)}}),this.subscribeToNavigationEvents()}eventsSubscription=new Ue;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(i=>{try{let r=this.navigationTransitions.currentTransition,o=this.navigationTransitions.currentNavigation;if(r!==null&&o!==null){if(this.stateManager.handleRouterEvent(i,o),i instanceof Cr&&i.code!==jn.Redirect&&i.code!==jn.SupersededByNewNavigation)this.navigated=!0;else if(i instanceof Dr)this.navigated=!0;else if(i instanceof cl){let s=i.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(i.url,r.currentRawUrl),l=E({browserUrl:r.extras.browserUrl,info:r.extras.info,skipLocationChange:r.extras.skipLocationChange,replaceUrl:r.extras.replaceUrl||this.urlUpdateStrategy==="eager"||vH(r.source)},s);this.scheduleNavigation(a,Hf,null,l,{resolve:r.resolve,reject:r.reject,promise:r.promise})}}SH(i)&&this._events.next(i)}catch(r){this.navigationTransitions.transitionAbortSubject.next(r)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Hf,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,i,r)=>{this.navigateToSyncWithBrowser(e,r,i)})}navigateToSyncWithBrowser(e,i,r){let o={replaceUrl:!0},s=r?.navigationId?r:null;if(r){let l=E({},r);delete l.navigationId,delete l.\u0275routerPageId,Object.keys(l).length!==0&&(o.state=l)}let a=this.parseUrl(e);this.scheduleNavigation(a,i,s,o)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(V0),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,i={}){let{relativeTo:r,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,c=l?this.currentUrlTree.fragment:s,u=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":u=E(E({},this.currentUrlTree.queryParams),o);break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=o||null}u!==null&&(u=this.removeEmptyProps(u));let m;try{let b=r?r.snapshot:this.routerState.snapshot.root;m=KE(b)}catch{(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),m=this.currentUrlTree.root}return JE(m,e,u,c??null)}navigateByUrl(e,i={skipLocationChange:!1}){let r=Po(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(o,Hf,null,i)}navigate(e,i={skipLocationChange:!1}){return MH(e),this.navigateByUrl(this.createUrlTree(e,i),i)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch{return this.urlSerializer.parse("/")}}isActive(e,i){let r;if(i===!0?r=E({},wH):i===!1?r=E({},DH):r=i,Po(e))return RE(this.currentUrlTree,e,r);let o=this.parseUrl(e);return RE(this.currentUrlTree,o,r)}removeEmptyProps(e){return Object.entries(e).reduce((i,[r,o])=>(o!=null&&(i[r]=o),i),{})}scheduleNavigation(e,i,r,o,s){if(this.disposed)return Promise.resolve(!1);let a,l,c;s?(a=s.resolve,l=s.reject,c=s.promise):c=new Promise((m,b)=>{a=m,l=b});let u=this.pendingTasks.add();return j0(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:o,resolve:a,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(m=>Promise.reject(m))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function MH(t){for(let n=0;n{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;href=null;target;queryParams;fragment;queryParamsHandling;state;info;relativeTo;isAnchorElement;subscription;onChanges=new X;constructor(e,i,r,o,s,a){this.router=e,this.route=i,this.tabIndexAttribute=r,this.renderer=o,this.el=s,this.locationStrategy=a;let l=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=l==="a"||l==="area",this.isAnchorElement?this.subscription=e.events.subscribe(c=>{c instanceof Dr&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}preserveFragment=!1;skipLocationChange=!1;replaceUrl=!1;setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}routerLinkInput=null;set routerLink(e){e==null?(this.routerLinkInput=null,this.setTabIndexIfNotOnNativeEl(null)):(Po(e)?this.routerLinkInput=e:this.routerLinkInput=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,i,r,o,s){let a=this.urlTree;if(a===null||this.isAnchorElement&&(e!==0||i||r||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let l={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,l),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){let e=this.urlTree;this.href=e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e)):null;let i=this.href===null?null:AS(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",i)}applyAttributeValue(e,i){let r=this.renderer,o=this.el.nativeElement;i!==null?r.setAttribute(o,e,i):r.removeAttribute(o,e)}get urlTree(){return this.routerLinkInput===null?null:Po(this.routerLinkInput)?this.routerLinkInput:this.router.createUrlTree(this.routerLinkInput,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static \u0275fac=function(i){return new(i||t)(v(an),v(Qi),sv("tabindex"),v(ke),v($),v(Xa))};static \u0275dir=B({type:t,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(i,r){i&1&&D("click",function(s){return r.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),i&2&&J("target",r.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",Xe],skipLocationChange:[2,"skipLocationChange","skipLocationChange",Xe],replaceUrl:[2,"replaceUrl","replaceUrl",Xe],routerLink:"routerLink"},features:[xe]})}return t})();var EH=new U("");function H0(t,...n){return Do([{provide:Tu,multi:!0,useValue:t},[],{provide:Qi,useFactory:IH,deps:[an]},{provide:Lv,multi:!0,useFactory:xH},n.map(e=>e.\u0275providers)])}function IH(t){return t.routerState.root}function xH(){let t=S(kt);return n=>{let e=t.get(An);if(n!==e.components[0])return;let i=t.get(an),r=t.get(kH);t.get(AH)===1&&i.initialNavigation(),t.get(RH,null,we.Optional)?.setUpPreloading(),t.get(EH,null,we.Optional)?.init(),i.resetRootComponentType(e.componentTypes[0]),r.closed||(r.next(),r.complete(),r.unsubscribe())}}var kH=new U("",{factory:()=>new X}),AH=new U("",{providedIn:"root",factory:()=>1});var RH=new U("");var kI=(()=>{class t{_renderer;_elementRef;onChange=e=>{};onTouched=()=>{};constructor(e,i){this._renderer=e,this._elementRef=i}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)}static \u0275fac=function(i){return new(i||t)(v(ke),v($))};static \u0275dir=B({type:t})}return t})(),_l=(()=>{class t extends kI{static \u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275dir=B({type:t,features:[wt]})}return t})(),It=new U(""),OH={provide:It,useExisting:He(()=>Y0),multi:!0},Y0=(()=>{class t extends _l{writeValue(e){this.setProperty("checked",e)}static \u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275dir=B({type:t,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(i,r){i&1&&D("change",function(s){return r.onChange(s.target.checked)})("blur",function(){return r.onTouched()})},standalone:!1,features:[ce([OH]),wt]})}return t})(),NH={provide:It,useExisting:He(()=>en),multi:!0};function LH(){let t=yi()?yi().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}var FH=new U(""),en=(()=>{class t extends kI{_compositionMode;_composing=!1;constructor(e,i,r){super(e,i),this._compositionMode=r,this._compositionMode==null&&(this._compositionMode=!LH())}writeValue(e){let i=e??"";this.setProperty("value",i)}_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)}static \u0275fac=function(i){return new(i||t)(v(ke),v($),v(FH,8))};static \u0275dir=B({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(i,r){i&1&&D("input",function(s){return r._handleInput(s.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(s){return r._compositionEnd(s.target.value)})},standalone:!1,features:[ce([NH]),wt]})}return t})();function z0(t){return t==null||W0(t)===0}function W0(t){return t==null?null:Array.isArray(t)||typeof t=="string"?t.length:t instanceof Set?t.size:null}var to=new U(""),Ou=new U(""),VH=/^(?=.{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])?)*$/,Ci=class{static min(n){return jH(n)}static max(n){return HH(n)}static required(n){return AI(n)}static requiredTrue(n){return BH(n)}static email(n){return UH(n)}static minLength(n){return $H(n)}static maxLength(n){return YH(n)}static pattern(n){return zH(n)}static nullValidator(n){return cp()}static compose(n){return FI(n)}static composeAsync(n){return VI(n)}};function jH(t){return n=>{if(n.value==null||t==null)return null;let e=parseFloat(n.value);return!isNaN(e)&&e{if(n.value==null||t==null)return null;let e=parseFloat(n.value);return!isNaN(e)&&e>t?{max:{max:t,actual:n.value}}:null}}function AI(t){return z0(t.value)?{required:!0}:null}function BH(t){return t.value===!0?null:{required:!0}}function UH(t){return z0(t.value)||VH.test(t.value)?null:{email:!0}}function $H(t){return n=>{let e=n.value?.length??W0(n.value);return e===null||e===0?null:e{let e=n.value?.length??W0(n.value);return e!==null&&e>t?{maxlength:{requiredLength:t,actualLength:e}}:null}}function zH(t){if(!t)return cp;let n,e;return typeof t=="string"?(e="",t.charAt(0)!=="^"&&(e+="^"),e+=t,t.charAt(t.length-1)!=="$"&&(e+="$"),n=new RegExp(e)):(e=t.toString(),n=t),i=>{if(z0(i.value))return null;let r=i.value;return n.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}function cp(t){return null}function RI(t){return t!=null}function PI(t){return Eo(t)?Ke(t):t}function OI(t){let n={};return t.forEach(e=>{n=e!=null?E(E({},n),e):n}),Object.keys(n).length===0?null:n}function NI(t,n){return n.map(e=>e(t))}function WH(t){return!t.validate}function LI(t){return t.map(n=>WH(n)?n:e=>n.validate(e))}function FI(t){if(!t)return null;let n=t.filter(RI);return n.length==0?null:function(e){return OI(NI(e,n))}}function G0(t){return t!=null?FI(LI(t)):null}function VI(t){if(!t)return null;let n=t.filter(RI);return n.length==0?null:function(e){let i=NI(e,n).map(PI);return r_(i).pipe(G(OI))}}function q0(t){return t!=null?VI(LI(t)):null}function wI(t,n){return t===null?[n]:Array.isArray(t)?[...t,n]:[t,n]}function jI(t){return t._rawValidators}function HI(t){return t._rawAsyncValidators}function B0(t){return t?Array.isArray(t)?t:[t]:[]}function up(t,n){return Array.isArray(t)?t.includes(n):t===n}function DI(t,n){let e=B0(n);return B0(t).forEach(r=>{up(e,r)||e.push(r)}),e}function MI(t,n){return B0(n).filter(e=>!up(t,e))}var dp=class{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}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=G0(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=q0(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_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):!1}getError(n,e){return this.control?this.control.getError(n,e):null}},eo=class extends dp{name;get formDirective(){return null}get path(){return null}},Hn=class extends dp{_parent=null;name=null;valueAccessor=null},hp=class{_cd;constructor(n){this._cd=n}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}},GH={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},Yie=Y(E({},GH),{"[class.ng-submitted]":"isSubmitted"}),Lt=(()=>{class t extends hp{constructor(e){super(e)}static \u0275fac=function(i){return new(i||t)(v(Hn,2))};static \u0275dir=B({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){i&2&&j("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},standalone:!1,features:[wt]})}return t})(),wi=(()=>{class t extends hp{constructor(e){super(e)}static \u0275fac=function(i){return new(i||t)(v(eo,10))};static \u0275dir=B({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){i&2&&j("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},standalone:!1,features:[wt]})}return t})();var Eu="VALID",lp="INVALID",pl="PENDING",Iu="DISABLED",No=class{},fp=class extends No{value;source;constructor(n,e){super(),this.value=n,this.source=e}},ku=class extends No{pristine;source;constructor(n,e){super(),this.pristine=n,this.source=e}},Au=class extends No{touched;source;constructor(n,e){super(),this.touched=n,this.source=e}},ml=class extends No{status;source;constructor(n,e){super(),this.status=n,this.source=e}},pp=class extends No{source;constructor(n){super(),this.source=n}},mp=class extends No{source;constructor(n){super(),this.source=n}};function Q0(t){return(vp(t)?t.validators:t)||null}function qH(t){return Array.isArray(t)?G0(t):t||null}function Z0(t,n){return(vp(n)?n.asyncValidators:t)||null}function QH(t){return Array.isArray(t)?q0(t):t||null}function vp(t){return t!=null&&!Array.isArray(t)&&typeof t=="object"}function BI(t,n,e){let i=t.controls;if(!(n?Object.keys(i):i).length)throw new R(1e3,"");if(!i[e])throw new R(1001,"")}function UI(t,n,e){t._forEachChild((i,r)=>{if(e[r]===void 0)throw new R(1002,"")})}var gl=class{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(n,e){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 status(){return _i(this.statusReactive)}set status(n){_i(()=>this.statusReactive.set(n))}_status=zi(()=>this.statusReactive());statusReactive=ht(void 0);get valid(){return this.status===Eu}get invalid(){return this.status===lp}get pending(){return this.status==pl}get disabled(){return this.status===Iu}get enabled(){return this.status!==Iu}errors;get pristine(){return _i(this.pristineReactive)}set pristine(n){_i(()=>this.pristineReactive.set(n))}_pristine=zi(()=>this.pristineReactive());pristineReactive=ht(!0);get dirty(){return!this.pristine}get touched(){return _i(this.touchedReactive)}set touched(n){_i(()=>this.touchedReactive.set(n))}_touched=zi(()=>this.touchedReactive());touchedReactive=ht(!1);get untouched(){return!this.touched}_events=new X;events=this._events.asObservable();valueChanges;statusChanges;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(DI(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(DI(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(MI(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(MI(n,this._rawAsyncValidators))}hasValidator(n){return up(this._rawValidators,n)}hasAsyncValidator(n){return up(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){let e=this.touched===!1;this.touched=!0;let i=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsTouched(Y(E({},n),{sourceControl:i})),e&&n.emitEvent!==!1&&this._events.next(new Au(!0,i))}markAllAsTouched(n={}){this.markAsTouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsTouched(n))}markAsUntouched(n={}){let e=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let i=n.sourceControl??this;this._forEachChild(r=>{r.markAsUntouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:i})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,i),e&&n.emitEvent!==!1&&this._events.next(new Au(!1,i))}markAsDirty(n={}){let e=this.pristine===!0;this.pristine=!1;let i=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsDirty(Y(E({},n),{sourceControl:i})),e&&n.emitEvent!==!1&&this._events.next(new ku(!1,i))}markAsPristine(n={}){let e=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let i=n.sourceControl??this;this._forEachChild(r=>{r.markAsPristine({onlySelf:!0,emitEvent:n.emitEvent})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n,i),e&&n.emitEvent!==!1&&this._events.next(new ku(!0,i))}markAsPending(n={}){this.status=pl;let e=n.sourceControl??this;n.emitEvent!==!1&&(this._events.next(new ml(this.status,e)),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.markAsPending(Y(E({},n),{sourceControl:e}))}disable(n={}){let e=this._parentMarkedDirty(n.onlySelf);this.status=Iu,this.errors=null,this._forEachChild(r=>{r.disable(Y(E({},n),{onlySelf:!0}))}),this._updateValue();let i=n.sourceControl??this;n.emitEvent!==!1&&(this._events.next(new fp(this.value,i)),this._events.next(new ml(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Y(E({},n),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){let e=this._parentMarkedDirty(n.onlySelf);this.status=Eu,this._forEachChild(i=>{i.enable(Y(E({},n),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors(Y(E({},n),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n,e){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine({},e),this._parent._updateTouched({},e))}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){let i=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Eu||this.status===pl)&&this._runAsyncValidator(i,n.emitEvent)}let e=n.sourceControl??this;n.emitEvent!==!1&&(this._events.next(new fp(this.value,e)),this._events.next(new ml(this.status,e)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(Y(E({},n),{sourceControl:e}))}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Iu:Eu}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n,e){if(this.asyncValidator){this.status=pl,this._hasOwnPendingAsyncValidator={emitEvent:e!==!1};let i=PI(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(r=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(r,{emitEvent:e,shouldHaveEmitted:n})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let n=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,n}return!1}setErrors(n,e={}){this.errors=n,this._updateControlsErrors(e.emitEvent!==!1,this,e.shouldHaveEmitted)}get(n){let e=n;return e==null||(Array.isArray(e)||(e=e.split(".")),e.length===0)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(n,e){let 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,e,i){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),(n||i)&&this._events.next(new ml(this.status,e)),this._parent&&this._parent._updateControlsErrors(n,e,i)}_initObservables(){this.valueChanges=new O,this.statusChanges=new O}_calculateStatus(){return this._allControlsDisabled()?Iu:this.errors?lp:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(pl)?pl:this._anyControlsHaveStatus(lp)?lp:Eu}_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,e){let i=!this._anyControlsDirty(),r=this.pristine!==i;this.pristine=i,this._parent&&!n.onlySelf&&this._parent._updatePristine(n,e),r&&this._events.next(new ku(this.pristine,e))}_updateTouched(n={},e){this.touched=this._anyControlsTouched(),this._events.next(new Au(this.touched,e)),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,e)}_onDisabledChange=[];_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){vp(n)&&n.updateOn!=null&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){let e=this._parent&&this._parent.dirty;return!n&&!!e&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=qH(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=QH(this._rawAsyncValidators)}},Lo=class extends gl{constructor(n,e,i){super(Q0(e),Z0(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;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={}){UI(this,!0,n),Object.keys(n).forEach(i=>{BI(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){n!=null&&(Object.keys(n).forEach(i=>{let r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n={},e={}){this._forEachChild((i,r)=>{i.reset(n?n[r]:null,{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),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()?!0:e);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(e=>{let 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(let[e,i]of Object.entries(this.controls))if(this.contains(e)&&n(i))return!0;return!1}_reduceValue(){let n={};return this._reduceChildren(n,(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(n,e){let i=n;return this._forEachChild((r,o)=>{i=e(i,r,o)}),i}_allControlsDisabled(){for(let 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}};var U0=class extends Lo{};var Ls=new U("",{providedIn:"root",factory:()=>Nu}),Nu="always";function $I(t,n){return[...n.path,t]}function Pu(t,n,e=Nu){K0(t,n),n.valueAccessor.writeValue(t.value),(t.disabled||e==="always")&&n.valueAccessor.setDisabledState?.(t.disabled),KH(t,n),XH(t,n),JH(t,n),ZH(t,n)}function gp(t,n,e=!0){let i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),yp(t,n),t&&(n._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function _p(t,n){t.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(n)})}function ZH(t,n){if(n.valueAccessor.setDisabledState){let e=i=>{n.valueAccessor.setDisabledState(i)};t.registerOnDisabledChange(e),n._registerOnDestroy(()=>{t._unregisterOnDisabledChange(e)})}}function K0(t,n){let e=jI(t);n.validator!==null?t.setValidators(wI(e,n.validator)):typeof e=="function"&&t.setValidators([e]);let i=HI(t);n.asyncValidator!==null?t.setAsyncValidators(wI(i,n.asyncValidator)):typeof i=="function"&&t.setAsyncValidators([i]);let r=()=>t.updateValueAndValidity();_p(n._rawValidators,r),_p(n._rawAsyncValidators,r)}function yp(t,n){let e=!1;if(t!==null){if(n.validator!==null){let r=jI(t);if(Array.isArray(r)&&r.length>0){let o=r.filter(s=>s!==n.validator);o.length!==r.length&&(e=!0,t.setValidators(o))}}if(n.asyncValidator!==null){let r=HI(t);if(Array.isArray(r)&&r.length>0){let o=r.filter(s=>s!==n.asyncValidator);o.length!==r.length&&(e=!0,t.setAsyncValidators(o))}}}let i=()=>{};return _p(n._rawValidators,i),_p(n._rawAsyncValidators,i),e}function KH(t,n){n.valueAccessor.registerOnChange(e=>{t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,t.updateOn==="change"&&YI(t,n)})}function JH(t,n){n.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,t.updateOn==="blur"&&t._pendingChange&&YI(t,n),t.updateOn!=="submit"&&t.markAsTouched()})}function YI(t,n){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function XH(t,n){let e=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};t.registerOnChange(e),n._registerOnDestroy(()=>{t._unregisterOnChange(e)})}function zI(t,n){t==null,K0(t,n)}function eB(t,n){return yp(t,n)}function J0(t,n){if(!t.hasOwnProperty("model"))return!1;let e=t.model;return e.isFirstChange()?!0:!Object.is(n,e.currentValue)}function tB(t){return Object.getPrototypeOf(t.constructor)===_l}function WI(t,n){t._syncPendingControls(),n.forEach(e=>{let i=e.control;i.updateOn==="submit"&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function X0(t,n){if(!n)return null;Array.isArray(n);let e,i,r;return n.forEach(o=>{o.constructor===en?e=o:tB(o)?i=o:r=o}),r||i||e||null}function nB(t,n){let e=t.indexOf(n);e>-1&&t.splice(e,1)}var iB={provide:eo,useExisting:He(()=>Zi)},xu=Promise.resolve(),Zi=(()=>{class t extends eo{callSetDisabledState;get submitted(){return _i(this.submittedReactive)}_submitted=zi(()=>this.submittedReactive());submittedReactive=ht(!1);_directives=new Set;form;ngSubmit=new O;options;constructor(e,i,r){super(),this.callSetDisabledState=r,this.form=new Lo({},G0(e),q0(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){xu.then(()=>{let i=this._findContainer(e.path);e.control=i.registerControl(e.name,e.control),Pu(e.control,e,this.callSetDisabledState),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){xu.then(()=>{let i=this._findContainer(e.path);i&&i.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){xu.then(()=>{let i=this._findContainer(e.path),r=new Lo({});zI(r,e),i.registerControl(e.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){xu.then(()=>{let i=this._findContainer(e.path);i&&i.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,i){xu.then(()=>{this.form.get(e.path).setValue(i)})}setValue(e){this.control.setValue(e)}onSubmit(e){return this.submittedReactive.set(!0),WI(this.form,this._directives),this.ngSubmit.emit(e),this.form._events.next(new pp(this.control)),e?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submittedReactive.set(!1),this.form._events.next(new mp(this.form))}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}static \u0275fac=function(i){return new(i||t)(v(to,10),v(Ou,10),v(Ls,8))};static \u0275dir=B({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){i&1&&D("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[ce([iB]),wt]})}return t})();function SI(t,n){let e=t.indexOf(n);e>-1&&t.splice(e,1)}function TI(t){return typeof t=="object"&&t!==null&&Object.keys(t).length===2&&"value"in t&&"disabled"in t}var Ru=class extends gl{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(n=null,e,i){super(Q0(e),Z0(i,e)),this._applyFormState(n),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),vp(e)&&(e.nonNullable||e.initialValueIsDefault)&&(TI(n)?this.defaultValue=n.value:this.defaultValue=n)}setValue(n,e={}){this.value=this._pendingValue=n,this._onChange.length&&e.emitModelToViewChange!==!1&&this._onChange.forEach(i=>i(this.value,e.emitViewToModelChange!==!1)),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){SI(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){SI(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(n){TI(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}};var rB=t=>t instanceof Ru;var oB={provide:Hn,useExisting:He(()=>Dn)},EI=Promise.resolve(),Dn=(()=>{class t extends Hn{_changeDetectorRef;callSetDisabledState;control=new Ru;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new O;constructor(e,i,r,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=X0(this,o)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){let i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),J0(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){Pu(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(e){EI.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){let i=e.isDisabled.currentValue,r=i!==0&&Xe(i);EI.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?$I(e,this._parent):[e]}static \u0275fac=function(i){return new(i||t)(v(eo,9),v(to,10),v(Ou,10),v(It,10),v(it,8),v(Ls,8))};static \u0275dir=B({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[ce([oB]),wt,xe]})}return t})();var Di=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=B({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:!1})}return t})(),sB={provide:It,useExisting:He(()=>eb),multi:!0},eb=(()=>{class t extends _l{writeValue(e){let i=e??"";this.setProperty("value",i)}registerOnChange(e){this.onChange=i=>{e(i==""?null:parseFloat(i))}}static \u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275dir=B({type:t,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,r){i&1&&D("input",function(s){return r.onChange(s.target.value)})("blur",function(){return r.onTouched()})},standalone:!1,features:[ce([sB]),wt]})}return t})(),aB={provide:It,useExisting:He(()=>tb),multi:!0};var lB=(()=>{class t{_accessors=[];add(e,i){this._accessors.push([e,i])}remove(e){for(let i=this._accessors.length-1;i>=0;--i)if(this._accessors[i][1]===e){this._accessors.splice(i,1);return}}select(e){this._accessors.forEach(i=>{this._isSameGroup(i,e)&&i[1]!==e&&i[1].fireUncheck(e.value)})}_isSameGroup(e,i){return e[0].control?e[0]._parent===i._control._parent&&e[1].name===i.name:!1}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),tb=(()=>{class t extends _l{_registry;_injector;_state;_control;_fn;setDisabledStateFired=!1;onChange=()=>{};name;formControlName;value;callSetDisabledState=S(Ls,{optional:!0})??Nu;constructor(e,i,r,o){super(e,i),this._registry=r,this._injector=o}ngOnInit(){this._control=this._injector.get(Hn),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(e){this._state=e===this.value,this.setProperty("checked",this._state)}registerOnChange(e){this._fn=e,this.onChange=()=>{e(this.value),this._registry.select(this)}}setDisabledState(e){(this.setDisabledStateFired||e||this.callSetDisabledState==="whenDisabledForLegacyCode")&&this.setProperty("disabled",e),this.setDisabledStateFired=!0}fireUncheck(e){this.writeValue(e)}_checkName(){this.name&&this.formControlName&&(this.name,this.formControlName),!this.name&&this.formControlName&&(this.name=this.formControlName)}static \u0275fac=function(i){return new(i||t)(v(ke),v($),v(lB),v(kt))};static \u0275dir=B({type:t,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(i,r){i&1&&D("change",function(){return r.onChange()})("blur",function(){return r.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},standalone:!1,features:[ce([aB]),wt]})}return t})();var nb=new U(""),cB={provide:Hn,useExisting:He(()=>Fs)},Fs=(()=>{class t extends Hn{_ngModelWarningConfig;callSetDisabledState;viewModel;form;set isDisabled(e){}model;update=new O;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,o,s){super(),this._ngModelWarningConfig=o,this.callSetDisabledState=s,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=X0(this,r)}ngOnChanges(e){if(this._isControlChanged(e)){let i=e.form.previousValue;i&&gp(i,this,!1),Pu(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}J0(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&gp(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_isControlChanged(e){return e.hasOwnProperty("form")}static \u0275fac=function(i){return new(i||t)(v(to,10),v(Ou,10),v(It,10),v(nb,8),v(Ls,8))};static \u0275dir=B({type:t,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],standalone:!1,features:[ce([cB]),wt,xe]})}return t})(),uB={provide:eo,useExisting:He(()=>ib)},ib=(()=>{class t extends eo{callSetDisabledState;get submitted(){return _i(this._submittedReactive)}set submitted(e){this._submittedReactive.set(e)}_submitted=zi(()=>this._submittedReactive());_submittedReactive=ht(!1);_oldForm;_onCollectionChange=()=>this._updateDomValue();directives=[];form=null;ngSubmit=new O;constructor(e,i,r){super(),this.callSetDisabledState=r,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(yp(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){let i=this.form.get(e.path);return Pu(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){gp(e.control||null,e,!1),nB(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._submittedReactive.set(!0),WI(this.form,this.directives),this.ngSubmit.emit(e),this.form._events.next(new pp(this.control)),e?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this._submittedReactive.set(!1),this.form._events.next(new mp(this.form))}_updateDomValue(){this.directives.forEach(e=>{let i=e.control,r=this.form.get(e.path);i!==r&&(gp(i||null,e),rB(r)&&(Pu(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){let i=this.form.get(e.path);zI(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){let i=this.form.get(e.path);i&&eB(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){K0(this.form,this),this._oldForm&&yp(this._oldForm,this)}static \u0275fac=function(i){return new(i||t)(v(to,10),v(Ou,10),v(Ls,8))};static \u0275dir=B({type:t,selectors:[["","formGroup",""]],hostBindings:function(i,r){i&1&&D("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[ce([uB]),wt,xe]})}return t})();var dB={provide:Hn,useExisting:He(()=>rb)},rb=(()=>{class t extends Hn{_ngModelWarningConfig;_added=!1;viewModel;control;name=null;set isDisabled(e){}model;update=new O;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,o,s){super(),this._ngModelWarningConfig=s,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=X0(this,o)}ngOnChanges(e){this._added||this._setUpControl(),J0(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 $I(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_setUpControl(){this.control=this.formDirective.addControl(this),this._added=!0}static \u0275fac=function(i){return new(i||t)(v(eo,13),v(to,10),v(Ou,10),v(It,10),v(nb,8))};static \u0275dir=B({type:t,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},standalone:!1,features:[ce([dB]),wt,xe]})}return t})();var hB={provide:It,useExisting:He(()=>yl),multi:!0};function GI(t,n){return t==null?`${n}`:(n&&typeof n=="object"&&(n="Object"),`${t}: ${n}`.slice(0,50))}function fB(t){return t.split(":")[0]}var yl=(()=>{class t extends _l{value;_optionMap=new Map;_idCounter=0;set compareWith(e){this._compareWith=e}_compareWith=Object.is;writeValue(e){this.value=e;let i=this._getOptionId(e),r=GI(i,e);this.setProperty("value",r)}registerOnChange(e){this.onChange=i=>{this.value=this._getOptionValue(i),e(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(e){for(let i of this._optionMap.keys())if(this._compareWith(this._optionMap.get(i),e))return i;return null}_getOptionValue(e){let i=fB(e);return this._optionMap.has(i)?this._optionMap.get(i):e}static \u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275dir=B({type:t,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(i,r){i&1&&D("change",function(s){return r.onChange(s.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[ce([hB]),wt]})}return t})(),bp=(()=>{class t{_element;_renderer;_select;id;constructor(e,i,r){this._element=e,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption())}set ngValue(e){this._select!=null&&(this._select._optionMap.set(this.id,e),this._setElementValue(GI(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._setElementValue(e),this._select&&this._select.writeValue(this._select.value)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(i){return new(i||t)(v($),v(ke),v(yl,9))};static \u0275dir=B({type:t,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return t})(),pB={provide:It,useExisting:He(()=>qI),multi:!0};function II(t,n){return t==null?`${n}`:(typeof n=="string"&&(n=`'${n}'`),n&&typeof n=="object"&&(n="Object"),`${t}: ${n}`.slice(0,50))}function mB(t){return t.split(":")[0]}var qI=(()=>{class t extends _l{value;_optionMap=new Map;_idCounter=0;set compareWith(e){this._compareWith=e}_compareWith=Object.is;writeValue(e){this.value=e;let i;if(Array.isArray(e)){let r=e.map(o=>this._getOptionId(o));i=(o,s)=>{o._setSelected(r.indexOf(s.toString())>-1)}}else i=(r,o)=>{r._setSelected(!1)};this._optionMap.forEach(i)}registerOnChange(e){this.onChange=i=>{let r=[],o=i.selectedOptions;if(o!==void 0){let s=o;for(let a=0;a{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275dir=B({type:t,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(i,r){i&1&&D("change",function(s){return r.onChange(s.target)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[ce([pB]),wt]})}return t})(),Cp=(()=>{class t{_element;_renderer;_select;id;_value;constructor(e,i,r){this._element=e,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption(this))}set ngValue(e){this._select!=null&&(this._value=e,this._setElementValue(II(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._select?(this._value=e,this._setElementValue(II(this.id,e)),this._select.writeValue(this._select.value)):this._setElementValue(e)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}_setSelected(e){this._renderer.setProperty(this._element.nativeElement,"selected",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(i){return new(i||t)(v($),v(ke),v(qI,9))};static \u0275dir=B({type:t,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return t})();var gB=(()=>{class t{_validator=cp;_onChange;_enabled;ngOnChanges(e){if(this.inputName in e){let i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):cp,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return e!=null}static \u0275fac=function(i){return new(i||t)};static \u0275dir=B({type:t,features:[xe]})}return t})();var _B={provide:to,useExisting:He(()=>Lu),multi:!0};var Lu=(()=>{class t extends gB{required;inputName="required";normalizeInput=Xe;createValidator=e=>AI;enabled(e){return e}static \u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275dir=B({type:t,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(i,r){i&2&&J("required",r._enabled?"":null)},inputs:{required:"required"},standalone:!1,features:[ce([_B]),wt]})}return t})();var QI=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=Ce({type:t});static \u0275inj=be({})}return t})(),$0=class extends gl{constructor(n,e,i){super(Q0(e),Z0(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;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 r=this._adjustIndex(n);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),e&&(this.controls.splice(r,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(n,e={}){UI(this,!1,n),n.forEach((i,r)=>{BI(this,!1,r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){n!=null&&(n.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n=[],e={}){this._forEachChild((i,r)=>{i.reset(n[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),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()?!0: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(let 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 xI(t){return!!t&&(t.asyncValidators!==void 0||t.validators!==void 0||t.updateOn!==void 0)}var ZI=(()=>{class t{useNonNullable=!1;get nonNullable(){let e=new t;return e.useNonNullable=!0,e}group(e,i=null){let r=this._reduceControls(e),o={};return xI(i)?o=i:i!==null&&(o.validators=i.validator,o.asyncValidators=i.asyncValidator),new Lo(r,o)}record(e,i=null){let r=this._reduceControls(e);return new U0(r,i)}control(e,i,r){let o={};return this.useNonNullable?(xI(i)?o=i:(o.validators=i,o.asyncValidators=r),new Ru(e,Y(E({},o),{nonNullable:!0}))):new Ru(e,i,r)}array(e,i,r){let o=e.map(s=>this._createControl(s));return new $0(o,i,r)}_reduceControls(e){let i={};return Object.keys(e).forEach(r=>{i[r]=this._createControl(e[r])}),i}_createControl(e){if(e instanceof Ru)return e;if(e instanceof gl)return e;if(Array.isArray(e)){let i=e[0],r=e.length>1?e[1]:null,o=e.length>2?e[2]:null;return this.control(i,r,o)}else return this.control(e)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Bn=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:Ls,useValue:e.callSetDisabledState??Nu}]}}static \u0275fac=function(i){return new(i||t)};static \u0275mod=Ce({type:t});static \u0275inj=be({imports:[QI]})}return t})(),vl=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:nb,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:Ls,useValue:e.callSetDisabledState??Nu}]}}static \u0275fac=function(i){return new(i||t)};static \u0275mod=Ce({type:t});static \u0275inj=be({imports:[QI]})}return t})();var Yt={production:!0,apiUrl:"api/",hubsUrl:"hubs/"};function Vs(t,n){n.set({items:t.body,pagination:JSON.parse(t.headers.get("Pagination"))})}function bl(t,n){let e=new Gi;return t&&n&&(e=e.append("pageNumber",t),e=e.append("pageSize",n)),e}var Fo=class t{baseUrl=Yt.apiUrl;http=S(Vn);likeIds=ht([]);paginatedResult=ht(null);toggleLike(n){return this.http.post(`${this.baseUrl}likes/${n}`,{})}getLikes(n,e,i){let r=bl(e,i);return r=r.append("predicate",n),this.http.get(`${this.baseUrl}likes`,{observe:"response",params:r}).subscribe({next:o=>Vs(o,this.paginatedResult)})}getLikeIds(){return this.http.get(`${this.baseUrl}likes/list`).subscribe({next:n=>this.likeIds.set(n)})}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};var ei=class extends Error{constructor(n,e){let i=new.target.prototype;super(`${n}: Status code '${e}'`),this.statusCode=e,this.__proto__=i}},Vo=class extends Error{constructor(n="A timeout occurred."){let e=new.target.prototype;super(n),this.__proto__=e}},tn=class extends Error{constructor(n="An abort occurred."){let e=new.target.prototype;super(n),this.__proto__=e}},wp=class extends Error{constructor(n,e){let i=new.target.prototype;super(n),this.transport=e,this.errorType="UnsupportedTransportError",this.__proto__=i}},Dp=class extends Error{constructor(n,e){let i=new.target.prototype;super(n),this.transport=e,this.errorType="DisabledTransportError",this.__proto__=i}},Mp=class extends Error{constructor(n,e){let i=new.target.prototype;super(n),this.transport=e,this.errorType="FailedToStartTransportError",this.__proto__=i}},Fu=class extends Error{constructor(n){let e=new.target.prototype;super(n),this.errorType="FailedToNegotiateWithServerError",this.__proto__=e}},Sp=class extends Error{constructor(n,e){let i=new.target.prototype;super(n),this.innerErrors=e,this.__proto__=i}};var Cl=class{constructor(n,e,i){this.statusCode=n,this.statusText=e,this.content=i}},Tr=class{get(n,e){return this.send(Y(E({},e),{method:"GET",url:n}))}post(n,e){return this.send(Y(E({},e),{method:"POST",url:n}))}delete(n,e){return this.send(Y(E({},e),{method:"DELETE",url:n}))}getCookieString(n){return""}};var k=function(t){return t[t.Trace=0]="Trace",t[t.Debug=1]="Debug",t[t.Information=2]="Information",t[t.Warning=3]="Warning",t[t.Error=4]="Error",t[t.Critical=5]="Critical",t[t.None=6]="None",t}(k||{});var Er=class{constructor(){}log(n,e){}};Er.instance=new Er;var yB="8.0.7",Ye=class{static isRequired(n,e){if(n==null)throw new Error(`The '${e}' argument is required.`)}static isNotEmpty(n,e){if(!n||n.match(/^\s*$/))throw new Error(`The '${e}' argument should not be empty.`)}static isIn(n,e,i){if(!(n in e))throw new Error(`Unknown ${i} value: ${n}.`)}},Qe=class t{static get isBrowser(){return!t.isNode&&typeof window=="object"&&typeof window.document=="object"}static get isWebWorker(){return!t.isNode&&typeof self=="object"&&"importScripts"in self}static get isReactNative(){return!t.isNode&&typeof window=="object"&&typeof window.document>"u"}static get isNode(){return typeof process<"u"&&process.release&&process.release.name==="node"}};function jo(t,n){let e="";return Ki(t)?(e=`Binary data of length ${t.byteLength}`,n&&(e+=`. Content: '${vB(t)}'`)):typeof t=="string"&&(e=`String data of length ${t.length}`,n&&(e+=`. Content: '${t}'`)),e}function vB(t){let n=new Uint8Array(t),e="";return n.forEach(i=>{let r=i<16?"0":"";e+=`0x${r}${i.toString(16)} `}),e.substr(0,e.length-1)}function Ki(t){return t&&typeof ArrayBuffer<"u"&&(t instanceof ArrayBuffer||t.constructor&&t.constructor.name==="ArrayBuffer")}function Ep(t,n,e,i,r,o){return ge(this,null,function*(){let s={},[a,l]=Ir();s[a]=l,t.log(k.Trace,`(${n} transport) sending data. ${jo(r,o.logMessageContent)}.`);let c=Ki(r)?"arraybuffer":"text",u=yield e.post(i,{content:r,headers:E(E({},s),o.headers),responseType:c,timeout:o.timeout,withCredentials:o.withCredentials});t.log(k.Trace,`(${n} transport) request complete. Response status: ${u.statusCode}.`)})}function KI(t){return t===void 0?new js(k.Information):t===null?Er.instance:t.log!==void 0?t:new js(t)}var Tp=class{constructor(n,e){this._subject=n,this._observer=e}dispose(){let n=this._subject.observers.indexOf(this._observer);n>-1&&this._subject.observers.splice(n,1),this._subject.observers.length===0&&this._subject.cancelCallback&&this._subject.cancelCallback().catch(e=>{})}},js=class{constructor(n){this._minLevel=n,this.out=console}log(n,e){if(n>=this._minLevel){let i=`[${new Date().toISOString()}] ${k[n]}: ${e}`;switch(n){case k.Critical:case k.Error:this.out.error(i);break;case k.Warning:this.out.warn(i);break;case k.Information:this.out.info(i);break;default:this.out.log(i);break}}}};function Ir(){let t="X-SignalR-User-Agent";return Qe.isNode&&(t="User-Agent"),[t,bB(yB,CB(),DB(),wB())]}function bB(t,n,e,i){let r="Microsoft SignalR/",o=t.split(".");return r+=`${o[0]}.${o[1]}`,r+=` (${t}; `,n&&n!==""?r+=`${n}; `:r+="Unknown OS; ",r+=`${e}`,i?r+=`; ${i}`:r+="; Unknown Runtime Version",r+=")",r}function CB(){if(Qe.isNode)switch(process.platform){case"win32":return"Windows NT";case"darwin":return"macOS";case"linux":return"Linux";default:return process.platform}else return""}function wB(){if(Qe.isNode)return process.versions.node}function DB(){return Qe.isNode?"NodeJS":"Browser"}function Ip(t){return t.stack?t.stack:t.message?t.message:`${t}`}function JI(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("could not find global")}var xp=class extends Tr{constructor(n){if(super(),this._logger=n,typeof fetch>"u"||Qe.isNode){let e=typeof __webpack_require__=="function"?__non_webpack_require__:fa;this._jar=new(e("tough-cookie")).CookieJar,typeof fetch>"u"?this._fetchType=e("node-fetch"):this._fetchType=fetch,this._fetchType=e("fetch-cookie")(this._fetchType,this._jar)}else this._fetchType=fetch.bind(JI());if(typeof AbortController>"u"){let e=typeof __webpack_require__=="function"?__non_webpack_require__:fa;this._abortControllerType=e("abort-controller")}else this._abortControllerType=AbortController}send(n){return ge(this,null,function*(){if(n.abortSignal&&n.abortSignal.aborted)throw new tn;if(!n.method)throw new Error("No method defined.");if(!n.url)throw new Error("No url defined.");let e=new this._abortControllerType,i;n.abortSignal&&(n.abortSignal.onabort=()=>{e.abort(),i=new tn});let r=null;if(n.timeout){let l=n.timeout;r=setTimeout(()=>{e.abort(),this._logger.log(k.Warning,"Timeout from HTTP request."),i=new Vo},l)}n.content===""&&(n.content=void 0),n.content&&(n.headers=n.headers||{},Ki(n.content)?n.headers["Content-Type"]="application/octet-stream":n.headers["Content-Type"]="text/plain;charset=UTF-8");let o;try{o=yield this._fetchType(n.url,{body:n.content,cache:"no-cache",credentials:n.withCredentials===!0?"include":"same-origin",headers:E({"X-Requested-With":"XMLHttpRequest"},n.headers),method:n.method,mode:"cors",redirect:"follow",signal:e.signal})}catch(l){throw i||(this._logger.log(k.Warning,`Error from HTTP request. ${l}.`),l)}finally{r&&clearTimeout(r),n.abortSignal&&(n.abortSignal.onabort=null)}if(!o.ok){let l=yield XI(o,"text");throw new ei(l||o.statusText,o.status)}let a=yield XI(o,n.responseType);return new Cl(o.status,o.statusText,a)})}getCookieString(n){let e="";return Qe.isNode&&this._jar&&this._jar.getCookies(n,(i,r)=>e=r.join("; ")),e}};function XI(t,n){let e;switch(n){case"arraybuffer":e=t.arrayBuffer();break;case"text":e=t.text();break;case"blob":case"document":case"json":throw new Error(`${n} is not supported.`);default:e=t.text();break}return e}var kp=class extends Tr{constructor(n){super(),this._logger=n}send(n){return n.abortSignal&&n.abortSignal.aborted?Promise.reject(new tn):n.method?n.url?new Promise((e,i)=>{let r=new XMLHttpRequest;r.open(n.method,n.url,!0),r.withCredentials=n.withCredentials===void 0?!0:n.withCredentials,r.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.content===""&&(n.content=void 0),n.content&&(Ki(n.content)?r.setRequestHeader("Content-Type","application/octet-stream"):r.setRequestHeader("Content-Type","text/plain;charset=UTF-8"));let o=n.headers;o&&Object.keys(o).forEach(s=>{r.setRequestHeader(s,o[s])}),n.responseType&&(r.responseType=n.responseType),n.abortSignal&&(n.abortSignal.onabort=()=>{r.abort(),i(new tn)}),n.timeout&&(r.timeout=n.timeout),r.onload=()=>{n.abortSignal&&(n.abortSignal.onabort=null),r.status>=200&&r.status<300?e(new Cl(r.status,r.statusText,r.response||r.responseText)):i(new ei(r.response||r.responseText||r.statusText,r.status))},r.onerror=()=>{this._logger.log(k.Warning,`Error from HTTP request. ${r.status}: ${r.statusText}.`),i(new ei(r.statusText,r.status))},r.ontimeout=()=>{this._logger.log(k.Warning,"Timeout from HTTP request."),i(new Vo)},r.send(n.content)}):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}};var Ap=class extends Tr{constructor(n){if(super(),typeof fetch<"u"||Qe.isNode)this._httpClient=new xp(n);else if(typeof XMLHttpRequest<"u")this._httpClient=new kp(n);else throw new Error("No usable HttpClient found.")}send(n){return n.abortSignal&&n.abortSignal.aborted?Promise.reject(new tn):n.method?n.url?this._httpClient.send(n):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}getCookieString(n){return this._httpClient.getCookieString(n)}};var ti=class t{static write(n){return`${n}${t.RecordSeparator}`}static parse(n){if(n[n.length-1]!==t.RecordSeparator)throw new Error("Message is incomplete.");let e=n.split(t.RecordSeparator);return e.pop(),e}};ti.RecordSeparatorCode=30;ti.RecordSeparator=String.fromCharCode(ti.RecordSeparatorCode);var Rp=class{writeHandshakeRequest(n){return ti.write(JSON.stringify(n))}parseHandshakeResponse(n){let e,i;if(Ki(n)){let a=new Uint8Array(n),l=a.indexOf(ti.RecordSeparatorCode);if(l===-1)throw new Error("Message is incomplete.");let c=l+1;e=String.fromCharCode.apply(null,Array.prototype.slice.call(a.slice(0,c))),i=a.byteLength>c?a.slice(c).buffer:null}else{let a=n,l=a.indexOf(ti.RecordSeparator);if(l===-1)throw new Error("Message is incomplete.");let c=l+1;e=a.substring(0,c),i=a.length>c?a.substring(c):null}let r=ti.parse(e),o=JSON.parse(r[0]);if(o.type)throw new Error("Expected a handshake response from the server.");return[i,o]}};var oe=function(t){return t[t.Invocation=1]="Invocation",t[t.StreamItem=2]="StreamItem",t[t.Completion=3]="Completion",t[t.StreamInvocation=4]="StreamInvocation",t[t.CancelInvocation=5]="CancelInvocation",t[t.Ping=6]="Ping",t[t.Close=7]="Close",t[t.Ack=8]="Ack",t[t.Sequence=9]="Sequence",t}(oe||{});var Pp=class{constructor(){this.observers=[]}next(n){for(let e of this.observers)e.next(n)}error(n){for(let e of this.observers)e.error&&e.error(n)}complete(){for(let n of this.observers)n.complete&&n.complete()}subscribe(n){return this.observers.push(n),new Tp(this,n)}};var Op=class{constructor(n,e,i){this._bufferSize=1e5,this._messages=[],this._totalMessageCount=0,this._waitForSequenceMessage=!1,this._nextReceivingSequenceId=1,this._latestReceivedSequenceId=0,this._bufferedByteCount=0,this._reconnectInProgress=!1,this._protocol=n,this._connection=e,this._bufferSize=i}_send(n){return ge(this,null,function*(){let e=this._protocol.writeMessage(n),i=Promise.resolve();if(this._isInvocationMessage(n)){this._totalMessageCount++;let r=()=>{},o=()=>{};Ki(e)?this._bufferedByteCount+=e.byteLength:this._bufferedByteCount+=e.length,this._bufferedByteCount>=this._bufferSize&&(i=new Promise((s,a)=>{r=s,o=a})),this._messages.push(new ob(e,this._totalMessageCount,r,o))}try{this._reconnectInProgress||(yield this._connection.send(e))}catch{this._disconnected()}yield i})}_ack(n){let e=-1;for(let i=0;ithis._nextReceivingSequenceId){this._connection.stop(new Error("Sequence ID greater than amount of messages we've received."));return}this._nextReceivingSequenceId=n.sequenceId}_disconnected(){this._reconnectInProgress=!0,this._waitForSequenceMessage=!0}_resend(){return ge(this,null,function*(){let n=this._messages.length!==0?this._messages[0]._id:this._totalMessageCount+1;yield this._connection.send(this._protocol.writeMessage({type:oe.Sequence,sequenceId:n}));let e=this._messages;for(let i of e)yield this._connection.send(i._message);this._reconnectInProgress=!1})}_dispose(n){n??(n=new Error("Unable to reconnect to server."));for(let e of this._messages)e._rejector(n)}_isInvocationMessage(n){switch(n.type){case oe.Invocation:case oe.StreamItem:case oe.Completion:case oe.StreamInvocation:case oe.CancelInvocation:return!0;case oe.Close:case oe.Sequence:case oe.Ping:case oe.Ack:return!1}}_ackTimer(){this._ackTimerHandle===void 0&&(this._ackTimerHandle=setTimeout(()=>ge(this,null,function*(){try{this._reconnectInProgress||(yield this._connection.send(this._protocol.writeMessage({type:oe.Ack,sequenceId:this._latestReceivedSequenceId})))}catch{}clearTimeout(this._ackTimerHandle),this._ackTimerHandle=void 0}),1e3))}},ob=class{constructor(n,e,i,r){this._message=n,this._id=e,this._resolver=i,this._rejector=r}};var MB=30*1e3,SB=15*1e3,TB=1e5,Be=function(t){return t.Disconnected="Disconnected",t.Connecting="Connecting",t.Connected="Connected",t.Disconnecting="Disconnecting",t.Reconnecting="Reconnecting",t}(Be||{}),Vu=class t{static create(n,e,i,r,o,s,a){return new t(n,e,i,r,o,s,a)}constructor(n,e,i,r,o,s,a){this._nextKeepAlive=0,this._freezeEventListener=()=>{this._logger.log(k.Warning,"The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://learn.microsoft.com/aspnet/core/signalr/javascript-client#bsleep")},Ye.isRequired(n,"connection"),Ye.isRequired(e,"logger"),Ye.isRequired(i,"protocol"),this.serverTimeoutInMilliseconds=o??MB,this.keepAliveIntervalInMilliseconds=s??SB,this._statefulReconnectBufferSize=a??TB,this._logger=e,this._protocol=i,this.connection=n,this._reconnectPolicy=r,this._handshakeProtocol=new Rp,this.connection.onreceive=l=>this._processIncomingData(l),this.connection.onclose=l=>this._connectionClosed(l),this._callbacks={},this._methods={},this._closedCallbacks=[],this._reconnectingCallbacks=[],this._reconnectedCallbacks=[],this._invocationId=0,this._receivedHandshakeResponse=!1,this._connectionState=Be.Disconnected,this._connectionStarted=!1,this._cachedPingMessage=this._protocol.writeMessage({type:oe.Ping})}get state(){return this._connectionState}get connectionId(){return this.connection&&this.connection.connectionId||null}get baseUrl(){return this.connection.baseUrl||""}set baseUrl(n){if(this._connectionState!==Be.Disconnected&&this._connectionState!==Be.Reconnecting)throw new Error("The HubConnection must be in the Disconnected or Reconnecting state to change the url.");if(!n)throw new Error("The HubConnection url must be a valid url.");this.connection.baseUrl=n}start(){return this._startPromise=this._startWithStateTransitions(),this._startPromise}_startWithStateTransitions(){return ge(this,null,function*(){if(this._connectionState!==Be.Disconnected)return Promise.reject(new Error("Cannot start a HubConnection that is not in the 'Disconnected' state."));this._connectionState=Be.Connecting,this._logger.log(k.Debug,"Starting HubConnection.");try{yield this._startInternal(),Qe.isBrowser&&window.document.addEventListener("freeze",this._freezeEventListener),this._connectionState=Be.Connected,this._connectionStarted=!0,this._logger.log(k.Debug,"HubConnection connected successfully.")}catch(n){return this._connectionState=Be.Disconnected,this._logger.log(k.Debug,`HubConnection failed to start successfully because of error '${n}'.`),Promise.reject(n)}})}_startInternal(){return ge(this,null,function*(){this._stopDuringStartError=void 0,this._receivedHandshakeResponse=!1;let n=new Promise((e,i)=>{this._handshakeResolver=e,this._handshakeRejecter=i});yield this.connection.start(this._protocol.transferFormat);try{let e=this._protocol.version;this.connection.features.reconnect||(e=1);let i={protocol:this._protocol.name,version:e};if(this._logger.log(k.Debug,"Sending handshake request."),yield this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(i)),this._logger.log(k.Information,`Using HubProtocol '${this._protocol.name}'.`),this._cleanupTimeout(),this._resetTimeoutPeriod(),this._resetKeepAliveInterval(),yield n,this._stopDuringStartError)throw this._stopDuringStartError;(this.connection.features.reconnect||!1)&&(this._messageBuffer=new Op(this._protocol,this.connection,this._statefulReconnectBufferSize),this.connection.features.disconnected=this._messageBuffer._disconnected.bind(this._messageBuffer),this.connection.features.resend=()=>{if(this._messageBuffer)return this._messageBuffer._resend()}),this.connection.features.inherentKeepAlive||(yield this._sendMessage(this._cachedPingMessage))}catch(e){throw this._logger.log(k.Debug,`Hub handshake failed with error '${e}' during start(). Stopping HubConnection.`),this._cleanupTimeout(),this._cleanupPingTimer(),yield this.connection.stop(e),e}})}stop(){return ge(this,null,function*(){let n=this._startPromise;this.connection.features.reconnect=!1,this._stopPromise=this._stopInternal(),yield this._stopPromise;try{yield n}catch{}})}_stopInternal(n){if(this._connectionState===Be.Disconnected)return this._logger.log(k.Debug,`Call to HubConnection.stop(${n}) ignored because it is already in the disconnected state.`),Promise.resolve();if(this._connectionState===Be.Disconnecting)return this._logger.log(k.Debug,`Call to HttpConnection.stop(${n}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;let e=this._connectionState;return this._connectionState=Be.Disconnecting,this._logger.log(k.Debug,"Stopping HubConnection."),this._reconnectDelayHandle?(this._logger.log(k.Debug,"Connection stopped during reconnect delay. Done reconnecting."),clearTimeout(this._reconnectDelayHandle),this._reconnectDelayHandle=void 0,this._completeClose(),Promise.resolve()):(e===Be.Connected&&this._sendCloseMessage(),this._cleanupTimeout(),this._cleanupPingTimer(),this._stopDuringStartError=n||new tn("The connection was stopped before the hub handshake could complete."),this.connection.stop(n))}_sendCloseMessage(){return ge(this,null,function*(){try{yield this._sendWithProtocol(this._createCloseMessage())}catch{}})}stream(n,...e){let[i,r]=this._replaceStreamingParams(e),o=this._createStreamInvocation(n,e,r),s,a=new Pp;return a.cancelCallback=()=>{let l=this._createCancelInvocation(o.invocationId);return delete this._callbacks[o.invocationId],s.then(()=>this._sendWithProtocol(l))},this._callbacks[o.invocationId]=(l,c)=>{if(c){a.error(c);return}else l&&(l.type===oe.Completion?l.error?a.error(new Error(l.error)):a.complete():a.next(l.item))},s=this._sendWithProtocol(o).catch(l=>{a.error(l),delete this._callbacks[o.invocationId]}),this._launchStreams(i,s),a}_sendMessage(n){return this._resetKeepAliveInterval(),this.connection.send(n)}_sendWithProtocol(n){return this._messageBuffer?this._messageBuffer._send(n):this._sendMessage(this._protocol.writeMessage(n))}send(n,...e){let[i,r]=this._replaceStreamingParams(e),o=this._sendWithProtocol(this._createInvocation(n,e,!0,r));return this._launchStreams(i,o),o}invoke(n,...e){let[i,r]=this._replaceStreamingParams(e),o=this._createInvocation(n,e,!1,r);return new Promise((a,l)=>{this._callbacks[o.invocationId]=(u,m)=>{if(m){l(m);return}else u&&(u.type===oe.Completion?u.error?l(new Error(u.error)):a(u.result):l(new Error(`Unexpected message type: ${u.type}`)))};let c=this._sendWithProtocol(o).catch(u=>{l(u),delete this._callbacks[o.invocationId]});this._launchStreams(i,c)})}on(n,e){!n||!e||(n=n.toLowerCase(),this._methods[n]||(this._methods[n]=[]),this._methods[n].indexOf(e)===-1&&this._methods[n].push(e))}off(n,e){if(!n)return;n=n.toLowerCase();let i=this._methods[n];if(i)if(e){let r=i.indexOf(e);r!==-1&&(i.splice(r,1),i.length===0&&delete this._methods[n])}else delete this._methods[n]}onclose(n){n&&this._closedCallbacks.push(n)}onreconnecting(n){n&&this._reconnectingCallbacks.push(n)}onreconnected(n){n&&this._reconnectedCallbacks.push(n)}_processIncomingData(n){if(this._cleanupTimeout(),this._receivedHandshakeResponse||(n=this._processHandshakeResponse(n),this._receivedHandshakeResponse=!0),n){let e=this._protocol.parseMessages(n,this._logger);for(let i of e)if(!(this._messageBuffer&&!this._messageBuffer._shouldProcessMessage(i)))switch(i.type){case oe.Invocation:this._invokeClientMethod(i).catch(r=>{this._logger.log(k.Error,`Invoke client method threw error: ${Ip(r)}`)});break;case oe.StreamItem:case oe.Completion:{let r=this._callbacks[i.invocationId];if(r){i.type===oe.Completion&&delete this._callbacks[i.invocationId];try{r(i)}catch(o){this._logger.log(k.Error,`Stream callback threw error: ${Ip(o)}`)}}break}case oe.Ping:break;case oe.Close:{this._logger.log(k.Information,"Close message received from server.");let r=i.error?new Error("Server returned an error on close: "+i.error):void 0;i.allowReconnect===!0?this.connection.stop(r):this._stopPromise=this._stopInternal(r);break}case oe.Ack:this._messageBuffer&&this._messageBuffer._ack(i);break;case oe.Sequence:this._messageBuffer&&this._messageBuffer._resetSequence(i);break;default:this._logger.log(k.Warning,`Invalid message type: ${i.type}.`);break}}this._resetTimeoutPeriod()}_processHandshakeResponse(n){let e,i;try{[i,e]=this._handshakeProtocol.parseHandshakeResponse(n)}catch(r){let o="Error parsing handshake response: "+r;this._logger.log(k.Error,o);let s=new Error(o);throw this._handshakeRejecter(s),s}if(e.error){let r="Server returned handshake error: "+e.error;this._logger.log(k.Error,r);let o=new Error(r);throw this._handshakeRejecter(o),o}else this._logger.log(k.Debug,"Server handshake complete.");return this._handshakeResolver(),i}_resetKeepAliveInterval(){this.connection.features.inherentKeepAlive||(this._nextKeepAlive=new Date().getTime()+this.keepAliveIntervalInMilliseconds,this._cleanupPingTimer())}_resetTimeoutPeriod(){if((!this.connection.features||!this.connection.features.inherentKeepAlive)&&(this._timeoutHandle=setTimeout(()=>this.serverTimeout(),this.serverTimeoutInMilliseconds),this._pingServerHandle===void 0)){let n=this._nextKeepAlive-new Date().getTime();n<0&&(n=0),this._pingServerHandle=setTimeout(()=>ge(this,null,function*(){if(this._connectionState===Be.Connected)try{yield this._sendMessage(this._cachedPingMessage)}catch{this._cleanupPingTimer()}}),n)}}serverTimeout(){this.connection.stop(new Error("Server timeout elapsed without receiving a message from the server."))}_invokeClientMethod(n){return ge(this,null,function*(){let e=n.target.toLowerCase(),i=this._methods[e];if(!i){this._logger.log(k.Warning,`No client method with the name '${e}' found.`),n.invocationId&&(this._logger.log(k.Warning,`No result given for '${e}' method and invocation ID '${n.invocationId}'.`),yield this._sendWithProtocol(this._createCompletionMessage(n.invocationId,"Client didn't provide a result.",null)));return}let r=i.slice(),o=!!n.invocationId,s,a,l;for(let c of r)try{let u=s;s=yield c.apply(this,n.arguments),o&&s&&u&&(this._logger.log(k.Error,`Multiple results provided for '${e}'. Sending error to server.`),l=this._createCompletionMessage(n.invocationId,"Client provided multiple results.",null)),a=void 0}catch(u){a=u,this._logger.log(k.Error,`A callback for the method '${e}' threw error '${u}'.`)}l?yield this._sendWithProtocol(l):o?(a?l=this._createCompletionMessage(n.invocationId,`${a}`,null):s!==void 0?l=this._createCompletionMessage(n.invocationId,null,s):(this._logger.log(k.Warning,`No result given for '${e}' method and invocation ID '${n.invocationId}'.`),l=this._createCompletionMessage(n.invocationId,"Client didn't provide a result.",null)),yield this._sendWithProtocol(l)):s&&this._logger.log(k.Error,`Result given for '${e}' method but server is not expecting a result.`)})}_connectionClosed(n){this._logger.log(k.Debug,`HubConnection.connectionClosed(${n}) called while in state ${this._connectionState}.`),this._stopDuringStartError=this._stopDuringStartError||n||new tn("The underlying connection was closed before the hub handshake could complete."),this._handshakeResolver&&this._handshakeResolver(),this._cancelCallbacksWithError(n||new Error("Invocation canceled due to the underlying connection being closed.")),this._cleanupTimeout(),this._cleanupPingTimer(),this._connectionState===Be.Disconnecting?this._completeClose(n):this._connectionState===Be.Connected&&this._reconnectPolicy?this._reconnect(n):this._connectionState===Be.Connected&&this._completeClose(n)}_completeClose(n){if(this._connectionStarted){this._connectionState=Be.Disconnected,this._connectionStarted=!1,this._messageBuffer&&(this._messageBuffer._dispose(n??new Error("Connection closed.")),this._messageBuffer=void 0),Qe.isBrowser&&window.document.removeEventListener("freeze",this._freezeEventListener);try{this._closedCallbacks.forEach(e=>e.apply(this,[n]))}catch(e){this._logger.log(k.Error,`An onclose callback called with error '${n}' threw error '${e}'.`)}}}_reconnect(n){return ge(this,null,function*(){let e=Date.now(),i=0,r=n!==void 0?n:new Error("Attempting to reconnect due to a unknown error."),o=this._getNextRetryDelay(i++,0,r);if(o===null){this._logger.log(k.Debug,"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt."),this._completeClose(n);return}if(this._connectionState=Be.Reconnecting,n?this._logger.log(k.Information,`Connection reconnecting because of error '${n}'.`):this._logger.log(k.Information,"Connection reconnecting."),this._reconnectingCallbacks.length!==0){try{this._reconnectingCallbacks.forEach(s=>s.apply(this,[n]))}catch(s){this._logger.log(k.Error,`An onreconnecting callback called with error '${n}' threw error '${s}'.`)}if(this._connectionState!==Be.Reconnecting){this._logger.log(k.Debug,"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.");return}}for(;o!==null;){if(this._logger.log(k.Information,`Reconnect attempt number ${i} will start in ${o} ms.`),yield new Promise(s=>{this._reconnectDelayHandle=setTimeout(s,o)}),this._reconnectDelayHandle=void 0,this._connectionState!==Be.Reconnecting){this._logger.log(k.Debug,"Connection left the reconnecting state during reconnect delay. Done reconnecting.");return}try{if(yield this._startInternal(),this._connectionState=Be.Connected,this._logger.log(k.Information,"HubConnection reconnected successfully."),this._reconnectedCallbacks.length!==0)try{this._reconnectedCallbacks.forEach(s=>s.apply(this,[this.connection.connectionId]))}catch(s){this._logger.log(k.Error,`An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${s}'.`)}return}catch(s){if(this._logger.log(k.Information,`Reconnect attempt failed because of error '${s}'.`),this._connectionState!==Be.Reconnecting){this._logger.log(k.Debug,`Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`),this._connectionState===Be.Disconnecting&&this._completeClose();return}r=s instanceof Error?s:new Error(s.toString()),o=this._getNextRetryDelay(i++,Date.now()-e,r)}}this._logger.log(k.Information,`Reconnect retries have been exhausted after ${Date.now()-e} ms and ${i} failed attempts. Connection disconnecting.`),this._completeClose()})}_getNextRetryDelay(n,e,i){try{return this._reconnectPolicy.nextRetryDelayInMilliseconds({elapsedMilliseconds:e,previousRetryCount:n,retryReason:i})}catch(r){return this._logger.log(k.Error,`IRetryPolicy.nextRetryDelayInMilliseconds(${n}, ${e}) threw error '${r}'.`),null}}_cancelCallbacksWithError(n){let e=this._callbacks;this._callbacks={},Object.keys(e).forEach(i=>{let r=e[i];try{r(null,n)}catch(o){this._logger.log(k.Error,`Stream 'error' callback called with '${n}' threw error: ${Ip(o)}`)}})}_cleanupPingTimer(){this._pingServerHandle&&(clearTimeout(this._pingServerHandle),this._pingServerHandle=void 0)}_cleanupTimeout(){this._timeoutHandle&&clearTimeout(this._timeoutHandle)}_createInvocation(n,e,i,r){if(i)return r.length!==0?{arguments:e,streamIds:r,target:n,type:oe.Invocation}:{arguments:e,target:n,type:oe.Invocation};{let o=this._invocationId;return this._invocationId++,r.length!==0?{arguments:e,invocationId:o.toString(),streamIds:r,target:n,type:oe.Invocation}:{arguments:e,invocationId:o.toString(),target:n,type:oe.Invocation}}}_launchStreams(n,e){if(n.length!==0){e||(e=Promise.resolve());for(let i in n)n[i].subscribe({complete:()=>{e=e.then(()=>this._sendWithProtocol(this._createCompletionMessage(i)))},error:r=>{let o;r instanceof Error?o=r.message:r&&r.toString?o=r.toString():o="Unknown error",e=e.then(()=>this._sendWithProtocol(this._createCompletionMessage(i,o)))},next:r=>{e=e.then(()=>this._sendWithProtocol(this._createStreamItemMessage(i,r)))}})}}_replaceStreamingParams(n){let e=[],i=[];for(let r=0;r{class t{}return t.Authorization="Authorization",t.Cookie="Cookie",t})();var Np=class extends Tr{constructor(n,e){super(),this._innerClient=n,this._accessTokenFactory=e}send(n){return ge(this,null,function*(){let e=!0;this._accessTokenFactory&&(!this._accessToken||n.url&&n.url.indexOf("/negotiate?")>0)&&(e=!1,this._accessToken=yield this._accessTokenFactory()),this._setAuthorizationHeader(n);let i=yield this._innerClient.send(n);return e&&i.statusCode===401&&this._accessTokenFactory?(this._accessToken=yield this._accessTokenFactory(),this._setAuthorizationHeader(n),yield this._innerClient.send(n)):i})}_setAuthorizationHeader(n){n.headers||(n.headers={}),this._accessToken?n.headers[Hs.Authorization]=`Bearer ${this._accessToken}`:this._accessTokenFactory&&n.headers[Hs.Authorization]&&delete n.headers[Hs.Authorization]}getCookieString(n){return this._innerClient.getCookieString(n)}};var zt=function(t){return t[t.None=0]="None",t[t.WebSockets=1]="WebSockets",t[t.ServerSentEvents=2]="ServerSentEvents",t[t.LongPolling=4]="LongPolling",t}(zt||{}),Ft=function(t){return t[t.Text=1]="Text",t[t.Binary=2]="Binary",t}(Ft||{});var Lp=class{constructor(){this._isAborted=!1,this.onabort=null}abort(){this._isAborted||(this._isAborted=!0,this.onabort&&this.onabort())}get signal(){return this}get aborted(){return this._isAborted}};var Hu=class{get pollAborted(){return this._pollAbort.aborted}constructor(n,e,i){this._httpClient=n,this._logger=e,this._pollAbort=new Lp,this._options=i,this._running=!1,this.onreceive=null,this.onclose=null}connect(n,e){return ge(this,null,function*(){if(Ye.isRequired(n,"url"),Ye.isRequired(e,"transferFormat"),Ye.isIn(e,Ft,"transferFormat"),this._url=n,this._logger.log(k.Trace,"(LongPolling transport) Connecting."),e===Ft.Binary&&typeof XMLHttpRequest<"u"&&typeof new XMLHttpRequest().responseType!="string")throw new Error("Binary protocols over XmlHttpRequest not implementing advanced features are not supported.");let[i,r]=Ir(),o=E({[i]:r},this._options.headers),s={abortSignal:this._pollAbort.signal,headers:o,timeout:1e5,withCredentials:this._options.withCredentials};e===Ft.Binary&&(s.responseType="arraybuffer");let a=`${n}&_=${Date.now()}`;this._logger.log(k.Trace,`(LongPolling transport) polling: ${a}.`);let l=yield this._httpClient.get(a,s);l.statusCode!==200?(this._logger.log(k.Error,`(LongPolling transport) Unexpected response code: ${l.statusCode}.`),this._closeError=new ei(l.statusText||"",l.statusCode),this._running=!1):this._running=!0,this._receiving=this._poll(this._url,s)})}_poll(n,e){return ge(this,null,function*(){try{for(;this._running;)try{let i=`${n}&_=${Date.now()}`;this._logger.log(k.Trace,`(LongPolling transport) polling: ${i}.`);let r=yield this._httpClient.get(i,e);r.statusCode===204?(this._logger.log(k.Information,"(LongPolling transport) Poll terminated by server."),this._running=!1):r.statusCode!==200?(this._logger.log(k.Error,`(LongPolling transport) Unexpected response code: ${r.statusCode}.`),this._closeError=new ei(r.statusText||"",r.statusCode),this._running=!1):r.content?(this._logger.log(k.Trace,`(LongPolling transport) data received. ${jo(r.content,this._options.logMessageContent)}.`),this.onreceive&&this.onreceive(r.content)):this._logger.log(k.Trace,"(LongPolling transport) Poll timed out, reissuing.")}catch(i){this._running?i instanceof Vo?this._logger.log(k.Trace,"(LongPolling transport) Poll timed out, reissuing."):(this._closeError=i,this._running=!1):this._logger.log(k.Trace,`(LongPolling transport) Poll errored after shutdown: ${i.message}`)}}finally{this._logger.log(k.Trace,"(LongPolling transport) Polling complete."),this.pollAborted||this._raiseOnClose()}})}send(n){return ge(this,null,function*(){return this._running?Ep(this._logger,"LongPolling",this._httpClient,this._url,n,this._options):Promise.reject(new Error("Cannot send until the transport is connected"))})}stop(){return ge(this,null,function*(){this._logger.log(k.Trace,"(LongPolling transport) Stopping polling."),this._running=!1,this._pollAbort.abort();try{yield this._receiving,this._logger.log(k.Trace,`(LongPolling transport) sending DELETE request to ${this._url}.`);let n={},[e,i]=Ir();n[e]=i;let r={headers:E(E({},n),this._options.headers),timeout:this._options.timeout,withCredentials:this._options.withCredentials},o;try{yield this._httpClient.delete(this._url,r)}catch(s){o=s}o?o instanceof ei&&(o.statusCode===404?this._logger.log(k.Trace,"(LongPolling transport) A 404 response was returned from sending a DELETE request."):this._logger.log(k.Trace,`(LongPolling transport) Error sending a DELETE request: ${o}`)):this._logger.log(k.Trace,"(LongPolling transport) DELETE request accepted.")}finally{this._logger.log(k.Trace,"(LongPolling transport) Stop finished."),this._raiseOnClose()}})}_raiseOnClose(){if(this.onclose){let n="(LongPolling transport) Firing onclose event.";this._closeError&&(n+=" Error: "+this._closeError),this._logger.log(k.Trace,n),this.onclose(this._closeError)}}};var Fp=class{constructor(n,e,i,r){this._httpClient=n,this._accessToken=e,this._logger=i,this._options=r,this.onreceive=null,this.onclose=null}connect(n,e){return ge(this,null,function*(){return Ye.isRequired(n,"url"),Ye.isRequired(e,"transferFormat"),Ye.isIn(e,Ft,"transferFormat"),this._logger.log(k.Trace,"(SSE transport) Connecting."),this._url=n,this._accessToken&&(n+=(n.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(this._accessToken)}`),new Promise((i,r)=>{let o=!1;if(e!==Ft.Text){r(new Error("The Server-Sent Events transport only supports the 'Text' transfer format"));return}let s;if(Qe.isBrowser||Qe.isWebWorker)s=new this._options.EventSource(n,{withCredentials:this._options.withCredentials});else{let a=this._httpClient.getCookieString(n),l={};l.Cookie=a;let[c,u]=Ir();l[c]=u,s=new this._options.EventSource(n,{withCredentials:this._options.withCredentials,headers:E(E({},l),this._options.headers)})}try{s.onmessage=a=>{if(this.onreceive)try{this._logger.log(k.Trace,`(SSE transport) data received. ${jo(a.data,this._options.logMessageContent)}.`),this.onreceive(a.data)}catch(l){this._close(l);return}},s.onerror=a=>{o?this._close():r(new Error("EventSource failed to connect. The connection could not be found on the server, either the connection ID is not present on the server, or a proxy is refusing/buffering the connection. If you have multiple servers check that sticky sessions are enabled."))},s.onopen=()=>{this._logger.log(k.Information,`SSE connected to ${this._url}`),this._eventSource=s,o=!0,i()}}catch(a){r(a);return}})})}send(n){return ge(this,null,function*(){return this._eventSource?Ep(this._logger,"SSE",this._httpClient,this._url,n,this._options):Promise.reject(new Error("Cannot send until the transport is connected"))})}stop(){return this._close(),Promise.resolve()}_close(n){this._eventSource&&(this._eventSource.close(),this._eventSource=void 0,this.onclose&&this.onclose(n))}};var Vp=class{constructor(n,e,i,r,o,s){this._logger=i,this._accessTokenFactory=e,this._logMessageContent=r,this._webSocketConstructor=o,this._httpClient=n,this.onreceive=null,this.onclose=null,this._headers=s}connect(n,e){return ge(this,null,function*(){Ye.isRequired(n,"url"),Ye.isRequired(e,"transferFormat"),Ye.isIn(e,Ft,"transferFormat"),this._logger.log(k.Trace,"(WebSockets transport) Connecting.");let i;return this._accessTokenFactory&&(i=yield this._accessTokenFactory()),new Promise((r,o)=>{n=n.replace(/^http/,"ws");let s,a=this._httpClient.getCookieString(n),l=!1;if(Qe.isNode||Qe.isReactNative){let c={},[u,m]=Ir();c[u]=m,i&&(c[Hs.Authorization]=`Bearer ${i}`),a&&(c[Hs.Cookie]=a),s=new this._webSocketConstructor(n,void 0,{headers:E(E({},c),this._headers)})}else i&&(n+=(n.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(i)}`);s||(s=new this._webSocketConstructor(n)),e===Ft.Binary&&(s.binaryType="arraybuffer"),s.onopen=c=>{this._logger.log(k.Information,`WebSocket connected to ${n}.`),this._webSocket=s,l=!0,r()},s.onerror=c=>{let u=null;typeof ErrorEvent<"u"&&c instanceof ErrorEvent?u=c.error:u="There was an error with the transport",this._logger.log(k.Information,`(WebSockets transport) ${u}.`)},s.onmessage=c=>{if(this._logger.log(k.Trace,`(WebSockets transport) data received. ${jo(c.data,this._logMessageContent)}.`),this.onreceive)try{this.onreceive(c.data)}catch(u){this._close(u);return}},s.onclose=c=>{if(l)this._close(c);else{let u=null;typeof ErrorEvent<"u"&&c instanceof ErrorEvent?u=c.error:u="WebSocket failed to connect. The connection could not be found on the server, either the endpoint may not be a SignalR endpoint, the connection ID is not present on the server, or there is a proxy blocking WebSockets. If you have multiple servers check that sticky sessions are enabled.",o(new Error(u))}}})})}send(n){return this._webSocket&&this._webSocket.readyState===this._webSocketConstructor.OPEN?(this._logger.log(k.Trace,`(WebSockets transport) sending data. ${jo(n,this._logMessageContent)}.`),this._webSocket.send(n),Promise.resolve()):Promise.reject("WebSocket is not in the OPEN state")}stop(){return this._webSocket&&this._close(void 0),Promise.resolve()}_close(n){this._webSocket&&(this._webSocket.onclose=()=>{},this._webSocket.onmessage=()=>{},this._webSocket.onerror=()=>{},this._webSocket.close(),this._webSocket=void 0),this._logger.log(k.Trace,"(WebSockets transport) socket closed."),this.onclose&&(this._isCloseEvent(n)&&(n.wasClean===!1||n.code!==1e3)?this.onclose(new Error(`WebSocket closed with status code: ${n.code} (${n.reason||"no reason given"}).`)):n instanceof Error?this.onclose(n):this.onclose())}_isCloseEvent(n){return n&&typeof n.wasClean=="boolean"&&typeof n.code=="number"}};var ex=100,jp=class{constructor(n,e={}){if(this._stopPromiseResolver=()=>{},this.features={},this._negotiateVersion=1,Ye.isRequired(n,"url"),this._logger=KI(e.logger),this.baseUrl=this._resolveUrl(n),e=e||{},e.logMessageContent=e.logMessageContent===void 0?!1:e.logMessageContent,typeof e.withCredentials=="boolean"||e.withCredentials===void 0)e.withCredentials=e.withCredentials===void 0?!0:e.withCredentials;else throw new Error("withCredentials option was not a 'boolean' or 'undefined' value");e.timeout=e.timeout===void 0?100*1e3:e.timeout;let i=null,r=null;if(Qe.isNode&&typeof fa<"u"){let o=typeof __webpack_require__=="function"?__non_webpack_require__:fa;i=o("ws"),r=o("eventsource")}!Qe.isNode&&typeof WebSocket<"u"&&!e.WebSocket?e.WebSocket=WebSocket:Qe.isNode&&!e.WebSocket&&i&&(e.WebSocket=i),!Qe.isNode&&typeof EventSource<"u"&&!e.EventSource?e.EventSource=EventSource:Qe.isNode&&!e.EventSource&&typeof r<"u"&&(e.EventSource=r),this._httpClient=new Np(e.httpClient||new Ap(this._logger),e.accessTokenFactory),this._connectionState="Disconnected",this._connectionStarted=!1,this._options=e,this.onreceive=null,this.onclose=null}start(n){return ge(this,null,function*(){if(n=n||Ft.Binary,Ye.isIn(n,Ft,"transferFormat"),this._logger.log(k.Debug,`Starting connection with transfer format '${Ft[n]}'.`),this._connectionState!=="Disconnected")return Promise.reject(new Error("Cannot start an HttpConnection that is not in the 'Disconnected' state."));if(this._connectionState="Connecting",this._startInternalPromise=this._startInternal(n),yield this._startInternalPromise,this._connectionState==="Disconnecting"){let e="Failed to start the HttpConnection before stop() was called.";return this._logger.log(k.Error,e),yield this._stopPromise,Promise.reject(new tn(e))}else if(this._connectionState!=="Connected"){let e="HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!";return this._logger.log(k.Error,e),Promise.reject(new tn(e))}this._connectionStarted=!0})}send(n){return this._connectionState!=="Connected"?Promise.reject(new Error("Cannot send data if the connection is not in the 'Connected' State.")):(this._sendQueue||(this._sendQueue=new sb(this.transport)),this._sendQueue.send(n))}stop(n){return ge(this,null,function*(){if(this._connectionState==="Disconnected")return this._logger.log(k.Debug,`Call to HttpConnection.stop(${n}) ignored because the connection is already in the disconnected state.`),Promise.resolve();if(this._connectionState==="Disconnecting")return this._logger.log(k.Debug,`Call to HttpConnection.stop(${n}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;this._connectionState="Disconnecting",this._stopPromise=new Promise(e=>{this._stopPromiseResolver=e}),yield this._stopInternal(n),yield this._stopPromise})}_stopInternal(n){return ge(this,null,function*(){this._stopError=n;try{yield this._startInternalPromise}catch{}if(this.transport){try{yield this.transport.stop()}catch(e){this._logger.log(k.Error,`HttpConnection.transport.stop() threw error '${e}'.`),this._stopConnection()}this.transport=void 0}else this._logger.log(k.Debug,"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.")})}_startInternal(n){return ge(this,null,function*(){let e=this.baseUrl;this._accessTokenFactory=this._options.accessTokenFactory,this._httpClient._accessTokenFactory=this._accessTokenFactory;try{if(this._options.skipNegotiation)if(this._options.transport===zt.WebSockets)this.transport=this._constructTransport(zt.WebSockets),yield this._startTransport(e,n);else throw new Error("Negotiation can only be skipped when using the WebSocket transport directly.");else{let i=null,r=0;do{if(i=yield this._getNegotiationResponse(e),this._connectionState==="Disconnecting"||this._connectionState==="Disconnected")throw new tn("The connection was stopped during negotiation.");if(i.error)throw new Error(i.error);if(i.ProtocolVersion)throw new Error("Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.");if(i.url&&(e=i.url),i.accessToken){let o=i.accessToken;this._accessTokenFactory=()=>o,this._httpClient._accessToken=o,this._httpClient._accessTokenFactory=void 0}r++}while(i.url&&r0?Promise.reject(new Sp(`Unable to connect to the server with any of the available transports. ${s.join(" ")}`,s)):Promise.reject(new Error("None of the transports supported by the client are supported by the server."))})}_constructTransport(n){switch(n){case zt.WebSockets:if(!this._options.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new Vp(this._httpClient,this._accessTokenFactory,this._logger,this._options.logMessageContent,this._options.WebSocket,this._options.headers||{});case zt.ServerSentEvents:if(!this._options.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new Fp(this._httpClient,this._httpClient._accessToken,this._logger,this._options);case zt.LongPolling:return new Hu(this._httpClient,this._logger,this._options);default:throw new Error(`Unknown transport: ${n}.`)}}_startTransport(n,e){return this.transport.onreceive=this.onreceive,this.features.reconnect?this.transport.onclose=i=>ge(this,null,function*(){let r=!1;if(this.features.reconnect)try{this.features.disconnected(),yield this.transport.connect(n,e),yield this.features.resend()}catch{r=!0}else{this._stopConnection(i);return}r&&this._stopConnection(i)}):this.transport.onclose=i=>this._stopConnection(i),this.transport.connect(n,e)}_resolveTransportOrError(n,e,i,r){let o=zt[n.transport];if(o==null)return this._logger.log(k.Debug,`Skipping transport '${n.transport}' because it is not supported by this client.`),new Error(`Skipping transport '${n.transport}' because it is not supported by this client.`);if(IB(e,o))if(n.transferFormats.map(a=>Ft[a]).indexOf(i)>=0){if(o===zt.WebSockets&&!this._options.WebSocket||o===zt.ServerSentEvents&&!this._options.EventSource)return this._logger.log(k.Debug,`Skipping transport '${zt[o]}' because it is not supported in your environment.'`),new wp(`'${zt[o]}' is not supported in your environment.`,o);this._logger.log(k.Debug,`Selecting transport '${zt[o]}'.`);try{return this.features.reconnect=o===zt.WebSockets?r:void 0,this._constructTransport(o)}catch(a){return a}}else return this._logger.log(k.Debug,`Skipping transport '${zt[o]}' because it does not support the requested transfer format '${Ft[i]}'.`),new Error(`'${zt[o]}' does not support ${Ft[i]}.`);else return this._logger.log(k.Debug,`Skipping transport '${zt[o]}' because it was disabled by the client.`),new Dp(`'${zt[o]}' is disabled by the client.`,o)}_isITransport(n){return n&&typeof n=="object"&&"connect"in n}_stopConnection(n){if(this._logger.log(k.Debug,`HttpConnection.stopConnection(${n}) called while in state ${this._connectionState}.`),this.transport=void 0,n=this._stopError||n,this._stopError=void 0,this._connectionState==="Disconnected"){this._logger.log(k.Debug,`Call to HttpConnection.stopConnection(${n}) was ignored because the connection is already in the disconnected state.`);return}if(this._connectionState==="Connecting")throw this._logger.log(k.Warning,`Call to HttpConnection.stopConnection(${n}) was ignored because the connection is still in the connecting state.`),new Error(`HttpConnection.stopConnection(${n}) was called while the connection is still in the connecting state.`);if(this._connectionState==="Disconnecting"&&this._stopPromiseResolver(),n?this._logger.log(k.Error,`Connection disconnected with error '${n}'.`):this._logger.log(k.Information,"Connection disconnected."),this._sendQueue&&(this._sendQueue.stop().catch(e=>{this._logger.log(k.Error,`TransportSendQueue.stop() threw error '${e}'.`)}),this._sendQueue=void 0),this.connectionId=void 0,this._connectionState="Disconnected",this._connectionStarted){this._connectionStarted=!1;try{this.onclose&&this.onclose(n)}catch(e){this._logger.log(k.Error,`HttpConnection.onclose(${n}) threw error '${e}'.`)}}}_resolveUrl(n){if(n.lastIndexOf("https://",0)===0||n.lastIndexOf("http://",0)===0)return n;if(!Qe.isBrowser)throw new Error(`Cannot resolve '${n}'.`);let e=window.document.createElement("a");return e.href=n,this._logger.log(k.Information,`Normalizing '${n}' to '${e.href}'.`),e.href}_resolveNegotiateUrl(n){let e=new URL(n);e.pathname.endsWith("/")?e.pathname+="negotiate":e.pathname+="/negotiate";let i=new URLSearchParams(e.searchParams);return i.has("negotiateVersion")||i.append("negotiateVersion",this._negotiateVersion.toString()),i.has("useStatefulReconnect")?i.get("useStatefulReconnect")==="true"&&(this._options._useStatefulReconnect=!0):this._options._useStatefulReconnect===!0&&i.append("useStatefulReconnect","true"),e.search=i.toString(),e.toString()}};function IB(t,n){return!t||(n&t)!==0}var sb=class t{constructor(n){this._transport=n,this._buffer=[],this._executing=!0,this._sendBufferedData=new wl,this._transportResult=new wl,this._sendLoopPromise=this._sendLoop()}send(n){return this._bufferData(n),this._transportResult||(this._transportResult=new wl),this._transportResult.promise}stop(){return this._executing=!1,this._sendBufferedData.resolve(),this._sendLoopPromise}_bufferData(n){if(this._buffer.length&&typeof this._buffer[0]!=typeof n)throw new Error(`Expected data to be of type ${typeof this._buffer} but was of type ${typeof n}`);this._buffer.push(n),this._sendBufferedData.resolve()}_sendLoop(){return ge(this,null,function*(){for(;;){if(yield this._sendBufferedData.promise,!this._executing){this._transportResult&&this._transportResult.reject("Connection stopped.");break}this._sendBufferedData=new wl;let n=this._transportResult;this._transportResult=void 0;let e=typeof this._buffer[0]=="string"?this._buffer.join(""):t._concatBuffers(this._buffer);this._buffer.length=0;try{yield this._transport.send(e),n.resolve()}catch(i){n.reject(i)}}})}static _concatBuffers(n){let e=n.map(o=>o.byteLength).reduce((o,s)=>o+s),i=new Uint8Array(e),r=0;for(let o of n)i.set(new Uint8Array(o),r),r+=o.byteLength;return i.buffer}},wl=class{constructor(){this.promise=new Promise((n,e)=>[this._resolver,this._rejecter]=[n,e])}resolve(){this._resolver()}reject(n){this._rejecter(n)}};var xB="json",Hp=class{constructor(){this.name=xB,this.version=2,this.transferFormat=Ft.Text}parseMessages(n,e){if(typeof n!="string")throw new Error("Invalid input for JSON hub protocol. Expected a string.");if(!n)return[];e===null&&(e=Er.instance);let i=ti.parse(n),r=[];for(let o of i){let s=JSON.parse(o);if(typeof s.type!="number")throw new Error("Invalid payload.");switch(s.type){case oe.Invocation:this._isInvocationMessage(s);break;case oe.StreamItem:this._isStreamItemMessage(s);break;case oe.Completion:this._isCompletionMessage(s);break;case oe.Ping:break;case oe.Close:break;case oe.Ack:this._isAckMessage(s);break;case oe.Sequence:this._isSequenceMessage(s);break;default:e.log(k.Information,"Unknown message type '"+s.type+"' ignored.");continue}r.push(s)}return r}writeMessage(n){return ti.write(JSON.stringify(n))}_isInvocationMessage(n){this._assertNotEmptyString(n.target,"Invalid payload for Invocation message."),n.invocationId!==void 0&&this._assertNotEmptyString(n.invocationId,"Invalid payload for Invocation message.")}_isStreamItemMessage(n){if(this._assertNotEmptyString(n.invocationId,"Invalid payload for StreamItem message."),n.item===void 0)throw new Error("Invalid payload for StreamItem message.")}_isCompletionMessage(n){if(n.result&&n.error)throw new Error("Invalid payload for Completion message.");!n.result&&n.error&&this._assertNotEmptyString(n.error,"Invalid payload for Completion message."),this._assertNotEmptyString(n.invocationId,"Invalid payload for Completion message.")}_isAckMessage(n){if(typeof n.sequenceId!="number")throw new Error("Invalid SequenceId for Ack message.")}_isSequenceMessage(n){if(typeof n.sequenceId!="number")throw new Error("Invalid SequenceId for Sequence message.")}_assertNotEmptyString(n,e){if(typeof n!="string"||n==="")throw new Error(e)}};var kB={trace:k.Trace,debug:k.Debug,info:k.Information,information:k.Information,warn:k.Warning,warning:k.Warning,error:k.Error,critical:k.Critical,none:k.None};function AB(t){let n=kB[t.toLowerCase()];if(typeof n<"u")return n;throw new Error(`Unknown log level: ${t}`)}var Bs=class{configureLogging(n){if(Ye.isRequired(n,"logging"),RB(n))this.logger=n;else if(typeof n=="string"){let e=AB(n);this.logger=new js(e)}else this.logger=new js(n);return this}withUrl(n,e){return Ye.isRequired(n,"url"),Ye.isNotEmpty(n,"url"),this.url=n,typeof e=="object"?this.httpConnectionOptions=E(E({},this.httpConnectionOptions),e):this.httpConnectionOptions=Y(E({},this.httpConnectionOptions),{transport:e}),this}withHubProtocol(n){return Ye.isRequired(n,"protocol"),this.protocol=n,this}withAutomaticReconnect(n){if(this.reconnectPolicy)throw new Error("A reconnectPolicy has already been set.");return n?Array.isArray(n)?this.reconnectPolicy=new ju(n):this.reconnectPolicy=n:this.reconnectPolicy=new ju,this}withServerTimeout(n){return Ye.isRequired(n,"milliseconds"),this._serverTimeoutInMilliseconds=n,this}withKeepAliveInterval(n){return Ye.isRequired(n,"milliseconds"),this._keepAliveIntervalInMilliseconds=n,this}withStatefulReconnect(n){return this.httpConnectionOptions===void 0&&(this.httpConnectionOptions={}),this.httpConnectionOptions._useStatefulReconnect=!0,this._statefulReconnectBufferSize=n?.bufferSize,this}build(){let n=this.httpConnectionOptions||{};if(n.logger===void 0&&(n.logger=this.logger),!this.url)throw new Error("The 'HubConnectionBuilder.withUrl' method must be called before building the connection.");let e=new jp(this.url,n);return Vu.create(e,this.logger||Er.instance,this.protocol||new Hp,this.reconnectPolicy,this._serverTimeoutInMilliseconds,this._keepAliveIntervalInMilliseconds,this._statefulReconnectBufferSize)}};function RB(t){return t.log!==void 0}var ue=function(t){return t[t.State=0]="State",t[t.Transition=1]="Transition",t[t.Sequence=2]="Sequence",t[t.Group=3]="Group",t[t.Animate=4]="Animate",t[t.Keyframes=5]="Keyframes",t[t.Style=6]="Style",t[t.Trigger=7]="Trigger",t[t.Reference=8]="Reference",t[t.AnimateChild=9]="AnimateChild",t[t.AnimateRef=10]="AnimateRef",t[t.Query=11]="Query",t[t.Stagger=12]="Stagger",t}(ue||{}),Mi="*";function no(t,n){return{type:ue.Trigger,name:t,definitions:n,options:{}}}function Mn(t,n=null){return{type:ue.Animate,styles:n,timings:t}}function Bp(t,n=null){return{type:ue.Sequence,steps:t,options:n}}function Ct(t){return{type:ue.Style,styles:t,offset:null}}function kr(t,n,e){return{type:ue.State,name:t,styles:n,options:e}}function ni(t,n,e=null){return{type:ue.Transition,expr:t,animation:n,options:e}}var xr=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(n=0,e=0){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(){queueMicrotask(()=>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){let e=n=="start"?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}},Us=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(n){this.players=n;let e=0,i=0,r=0,o=this.players.length;o==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(s=>{s.onDone(()=>{++e==o&&this._onFinish()}),s.onDestroy(()=>{++i==o&&this._onDestroy()}),s.onStart(()=>{++r==o&&this._onStart()})}),this.totalTime=this.players.reduce((s,a)=>Math.max(s,a.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){let e=n*this.totalTime;this.players.forEach(i=>{let r=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(r)})}getPosition(){let n=this.players.reduce((e,i)=>e===null||i.totalTime>e.totalTime?i:e,null);return n!=null?n.getPosition():0}beforeDestroy(){this.players.forEach(n=>{n.beforeDestroy&&n.beforeDestroy()})}triggerCallback(n){let e=n=="start"?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}},Dl="!";var Up=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>S(PB),providedIn:"root"})}return t})(),ab=class{},PB=(()=>{class t extends Up{animationModuleType=S(Vc,{optional:!0});_nextAnimationId=0;_renderer;constructor(e,i){super();let r={id:"0",encapsulation:pi.None,styles:[],data:{animation:[]}};if(this._renderer=e.createRenderer(i.body,r),this.animationModuleType===null&&!NB(this._renderer))throw new R(3600,!1)}build(e){let i=this._nextAnimationId;this._nextAnimationId++;let r=Array.isArray(e)?Bp(e):e;return tx(this._renderer,null,i,"register",[r]),new lb(i,this._renderer)}static \u0275fac=function(i){return new(i||t)(F(kn),F(Ie))};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),lb=class extends ab{_id;_renderer;constructor(n,e){super(),this._id=n,this._renderer=e}create(n,e){return new cb(this._id,n,e||{},this._renderer)}},cb=class{id;element;_renderer;parentPlayer=null;_started=!1;constructor(n,e,i,r){this.id=n,this.element=e,this._renderer=r,this._command("create",i)}_listen(n,e){return this._renderer.listen(this.element,`@@${this.id}:${n}`,e)}_command(n,...e){tx(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 OB(this._renderer)?.engine?.players[this.id]?.getPosition()??0}totalTime=0};function tx(t,n,e,i,r){t.setProperty(n,`@@${e}:${i}`,r)}function OB(t){let n=t.\u0275type;return n===0?t:n===1?t.animationRenderer:null}function NB(t){let n=t.\u0275type;return n===0||n===1}var nx=["toast-component",""];function FB(t,n){if(t&1){let e=N();d(0,"button",5),D("click",function(){C(e);let r=p();return w(r.remove())}),d(1,"span",6),y(2,"\xD7"),h()()}}function VB(t,n){if(t&1&&(At(0),y(1),Rt()),t&2){let e=p(2);f(),pe("[",e.duplicatesCount+1,"]")}}function jB(t,n){if(t&1&&(d(0,"div"),y(1),T(2,VB,2,1,"ng-container",4),h()),t&2){let e=p();Jt(e.options.titleClass),J("aria-label",e.title),f(),pe(" ",e.title," "),f(),g("ngIf",e.duplicatesCount)}}function HB(t,n){if(t&1&&A(0,"div",7),t&2){let e=p();Jt(e.options.messageClass),g("innerHTML",e.message,mi)}}function BB(t,n){if(t&1&&(d(0,"div",8),y(1),h()),t&2){let e=p();Jt(e.options.messageClass),J("aria-label",e.message),f(),pe(" ",e.message," ")}}function UB(t,n){if(t&1&&(d(0,"div"),A(1,"div",9),h()),t&2){let e=p();f(),on("width",e.width()+"%")}}function $B(t,n){if(t&1){let e=N();d(0,"button",5),D("click",function(){C(e);let r=p();return w(r.remove())}),d(1,"span",6),y(2,"\xD7"),h()()}}function YB(t,n){if(t&1&&(At(0),y(1),Rt()),t&2){let e=p(2);f(),pe("[",e.duplicatesCount+1,"]")}}function zB(t,n){if(t&1&&(d(0,"div"),y(1),T(2,YB,2,1,"ng-container",4),h()),t&2){let e=p();Jt(e.options.titleClass),J("aria-label",e.title),f(),pe(" ",e.title," "),f(),g("ngIf",e.duplicatesCount)}}function WB(t,n){if(t&1&&A(0,"div",7),t&2){let e=p();Jt(e.options.messageClass),g("innerHTML",e.message,mi)}}function GB(t,n){if(t&1&&(d(0,"div",8),y(1),h()),t&2){let e=p();Jt(e.options.messageClass),J("aria-label",e.message),f(),pe(" ",e.message," ")}}function qB(t,n){if(t&1&&(d(0,"div"),A(1,"div",9),h()),t&2){let e=p();f(),on("width",e.width()+"%")}}var ub=class{_attachedHost;component;viewContainerRef;injector;constructor(n,e){this.component=n,this.injector=e}attach(n,e){return this._attachedHost=n,n.attach(this,e)}detach(){let n=this._attachedHost;if(n)return this._attachedHost=void 0,n.detach()}get isAttached(){return this._attachedHost!=null}setAttachedHost(n){this._attachedHost=n}},db=class{_attachedPortal;_disposeFn;attach(n,e){return this._attachedPortal=n,this.attachComponentPortal(n,e)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(n){this._disposeFn=n}},hb=class{_overlayRef;componentInstance;duplicatesCount=0;_afterClosed=new X;_activate=new X;_manualClose=new X;_resetTimeout=new X;_countDuplicate=new X;constructor(n){this._overlayRef=n}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(n,e){n&&this._resetTimeout.next(),e&&this._countDuplicate.next(++this.duplicatesCount)}},Ml=class{toastId;config;message;title;toastType;toastRef;_onTap=new X;_onAction=new X;constructor(n,e,i,r,o,s){this.toastId=n,this.config=e,this.message=i,this.title=r,this.toastType=o,this.toastRef=s,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(n){this._onAction.next(n)}onAction(){return this._onAction.asObservable()}},ix={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing"},rx=new U("ToastConfig"),fb=class extends db{_hostDomElement;_componentFactoryResolver;_appRef;constructor(n,e,i){super(),this._hostDomElement=n,this._componentFactoryResolver=e,this._appRef=i}attachComponentPortal(n,e){let i=this._componentFactoryResolver.resolveComponentFactory(n.component),r;return r=i.create(n.injector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()}),e?this._hostDomElement.insertBefore(this._getComponentRootNode(r),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(r)),r}_getComponentRootNode(n){return n.hostView.rootNodes[0]}},QB=(()=>{class t{_document=S(Ie);_containerElement;ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let e=this._document.createElement("div");e.classList.add("overlay-container"),e.setAttribute("aria-live","polite"),this._document.body.appendChild(e),this._containerElement=e}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),pb=class{_portalHost;constructor(n){this._portalHost=n}attach(n,e=!0){return this._portalHost.attach(n,e)}detach(){return this._portalHost.detach()}},ZB=(()=>{class t{_overlayContainer=S(QB);_componentFactoryResolver=S(So);_appRef=S(An);_document=S(Ie);_paneElements=new Map;create(e,i){return this._createOverlayRef(this.getPaneElement(e,i))}getPaneElement(e="",i){return this._paneElements.get(i)||this._paneElements.set(i,{}),this._paneElements.get(i)[e]||(this._paneElements.get(i)[e]=this._createPaneElement(e,i)),this._paneElements.get(i)[e]}_createPaneElement(e,i){let r=this._document.createElement("div");return r.id="toast-container",r.classList.add(e),r.classList.add("toast-container"),i?i.getContainerElement().appendChild(r):this._overlayContainer.getContainerElement().appendChild(r),r}_createPortalHost(e){return new fb(e,this._componentFactoryResolver,this._appRef)}_createOverlayRef(e){return new pb(this._createPortalHost(e))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),nn=(()=>{class t{overlay;_injector;sanitizer;ngZone;toastrConfig;currentlyActive=0;toasts=[];overlayContainer;previousToastMessage;index=0;constructor(e,i,r,o,s){this.overlay=i,this._injector=r,this.sanitizer=o,this.ngZone=s,this.toastrConfig=E(E({},e.default),e.config),e.config.iconClasses&&(this.toastrConfig.iconClasses=E(E({},e.default.iconClasses),e.config.iconClasses))}show(e,i,r={},o=""){return this._preBuildNotification(o,e,i,this.applyConfig(r))}success(e,i,r={}){let o=this.toastrConfig.iconClasses.success||"";return this._preBuildNotification(o,e,i,this.applyConfig(r))}error(e,i,r={}){let o=this.toastrConfig.iconClasses.error||"";return this._preBuildNotification(o,e,i,this.applyConfig(r))}info(e,i,r={}){let o=this.toastrConfig.iconClasses.info||"";return this._preBuildNotification(o,e,i,this.applyConfig(r))}warning(e,i,r={}){let o=this.toastrConfig.iconClasses.warning||"";return this._preBuildNotification(o,e,i,this.applyConfig(r))}clear(e){for(let i of this.toasts)if(e!==void 0){if(i.toastId===e){i.toastRef.manualClose();return}}else i.toastRef.manualClose()}remove(e){let i=this._findToast(e);if(!i||(i.activeToast.toastRef.close(),this.toasts.splice(i.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActivethis._buildNotification(e,i,r,o)):this._buildNotification(e,i,r,o)}_buildNotification(e,i,r,o){if(!o.toastComponent)throw new Error("toastComponent required");let s=this.findDuplicate(r,i,this.toastrConfig.resetTimeoutOnDuplicate&&o.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&r||i)&&this.toastrConfig.preventDuplicates&&s!==null)return s;this.previousToastMessage=i;let a=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&(a=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));let l=this.overlay.create(o.positionClass,this.overlayContainer);this.index=this.index+1;let c=i;i&&o.enableHtml&&(c=this.sanitizer.sanitize(Zn.HTML,i));let u=new hb(l),m=new Ml(this.index,o,c,r,e,u),b=[{provide:Ml,useValue:m}],_=kt.create({providers:b,parent:this._injector}),M=new ub(o.toastComponent,_),I=l.attach(M,o.newestOnTop);u.componentInstance=I.instance;let P={toastId:this.index,title:r||"",message:i||"",toastRef:u,onShown:u.afterActivate(),onHidden:u.afterClosed(),onTap:m.onTap(),onAction:m.onAction(),portal:I};return a||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{P.toastRef.activate()})),this.toasts.push(P),P}static \u0275fac=function(i){return new(i||t)(F(rx),F(ZB),F(kt),F(Jr),F(Se))};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),KB=(()=>{class t{toastrService;toastPackage;ngZone;message;title;options;duplicatesCount;originalTimeout;width=ht(-1);toastClasses="";state;get _state(){return this.state()}get displayStyle(){if(this.state().value==="inactive")return"none"}timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(e,i,r){this.toastrService=e,this.toastPackage=i,this.ngZone=r,this.message=i.message,this.title=i.title,this.options=i.config,this.originalTimeout=i.config.timeOut,this.toastClasses=`${i.toastType} ${i.config.toastClass}`,this.sub=i.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=i.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=i.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=i.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o}),this.state=ht({value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.update(e=>Y(E({},e),{value:"active"})),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let e=new Date().getTime(),i=this.hideTime-e;this.width.set(i/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(r=>100-r),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.update(e=>Y(E({},e),{value:"active"})),this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){this.state().value!=="removed"&&(clearTimeout(this.timeout),this.state.update(e=>Y(E({},e),{value:"removed"})),this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){this.state().value!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state().value!=="removed"&&this.options.disableTimeOut!=="extendedTimeOut"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state().value==="removed"||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(e,i){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(e),i)):this.timeout=setTimeout(()=>e(),i)}outsideInterval(e,i){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(e),i)):this.intervalId=setInterval(()=>e(),i)}runInsideAngular(e){this.ngZone?this.ngZone.run(()=>e()):e()}static \u0275fac=function(i){return new(i||t)(v(nn),v(Ml),v(Se))};static \u0275cmp=L({type:t,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(i,r){i&1&&D("click",function(){return r.tapToast()})("mouseenter",function(){return r.stickAround()})("mouseleave",function(){return r.delayedHideToast()}),i&2&&(Vv("@flyInOut",r._state),Jt(r.toastClasses),on("display",r.displayStyle))},attrs:nx,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(i,r){i&1&&T(0,FB,3,0,"button",0)(1,jB,3,5,"div",1)(2,HB,1,3,"div",2)(3,BB,2,4,"div",3)(4,UB,2,2,"div",4),i&2&&(g("ngIf",r.options.closeButton),f(),g("ngIf",r.title),f(),g("ngIf",r.message&&r.options.enableHtml),f(),g("ngIf",r.message&&!r.options.enableHtml),f(),g("ngIf",r.options.progressBar))},dependencies:[Me],encapsulation:2,data:{animation:[no("flyInOut",[kr("inactive",Ct({opacity:0})),kr("active",Ct({opacity:1})),kr("removed",Ct({opacity:0})),ni("inactive => active",Mn("{{ easeTime }}ms {{ easing }}")),ni("active => removed",Mn("{{ easeTime }}ms {{ easing }}"))])]},changeDetection:0})}return t})(),JB=Y(E({},ix),{toastComponent:KB}),mb=(t={})=>Do([{provide:rx,useValue:{default:JB,config:t}}]),ox=(()=>{class t{static forRoot(e={}){return{ngModule:t,providers:[mb(e)]}}static \u0275fac=function(i){return new(i||t)};static \u0275mod=Ce({type:t});static \u0275inj=be({})}return t})();var XB=(()=>{class t{toastrService;toastPackage;appRef;message;title;options;duplicatesCount;originalTimeout;width=ht(-1);toastClasses="";get displayStyle(){return this.state()==="inactive"?"none":null}state=ht("inactive");timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(e,i,r){this.toastrService=e,this.toastPackage=i,this.appRef=r,this.message=i.message,this.title=i.title,this.options=i.config,this.originalTimeout=i.config.timeOut,this.toastClasses=`${i.toastType} ${i.config.toastClass}`,this.sub=i.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=i.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=i.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=i.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.set("active"),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.timeout=setTimeout(()=>{this.remove()},this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))),this.options.onActivateTick&&this.appRef.tick()}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let e=new Date().getTime(),i=this.hideTime-e;this.width.set(i/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(r=>100-r),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.set("active"),this.options.timeOut=this.originalTimeout,this.timeout=setTimeout(()=>this.remove(),this.originalTimeout),this.hideTime=new Date().getTime()+(this.originalTimeout||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))}remove(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.state.set("removed"),this.timeout=setTimeout(()=>this.toastrService.remove(this.toastPackage.toastId)))}tapToast(){this.state()!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state()==="removed"||(this.timeout=setTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10)))}static \u0275fac=function(i){return new(i||t)(v(nn),v(Ml),v(An))};static \u0275cmp=L({type:t,selectors:[["","toast-component",""]],hostVars:4,hostBindings:function(i,r){i&1&&D("click",function(){return r.tapToast()})("mouseenter",function(){return r.stickAround()})("mouseleave",function(){return r.delayedHideToast()}),i&2&&(Jt(r.toastClasses),on("display",r.displayStyle))},attrs:nx,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(i,r){i&1&&T(0,$B,3,0,"button",0)(1,zB,3,5,"div",1)(2,WB,1,3,"div",2)(3,GB,2,4,"div",3)(4,qB,2,2,"div",4),i&2&&(g("ngIf",r.options.closeButton),f(),g("ngIf",r.title),f(),g("ngIf",r.message&&r.options.enableHtml),f(),g("ngIf",r.message&&!r.options.enableHtml),f(),g("ngIf",r.options.progressBar))},dependencies:[Me],encapsulation:2,changeDetection:0})}return t})(),wse=Y(E({},ix),{toastComponent:XB});var Ho=class t{hubConnection;toastr=S(nn);router=S(an);onlineUsers=ht([]);hubUrl=Yt.hubsUrl;createHubConnection(n){this.hubConnection=new Bs().withUrl(this.hubUrl+"presence",{accessTokenFactory:()=>n.token}).withAutomaticReconnect().build(),this.hubConnection.start().catch(e=>console.log(e)),this.hubConnection.on("UserIsOnline",e=>{this.toastr.info(e+" has connected"),this.onlineUsers.update(i=>[...i,e])}),this.hubConnection.on("UserIsOffline",e=>{this.toastr.warning(e+" has disconnected"),this.onlineUsers.update(i=>i.filter(r=>r!==e))}),this.hubConnection.on("GetOnlineUsers",e=>{this.onlineUsers.set(e)}),this.hubConnection.on("NewMessageReceived",({username:e,knownAs:i})=>{this.toastr.info(i+" has sent you a new message!").onTap.pipe(yt(1)).subscribe(()=>this.router.navigateByUrl("/members/"+e+"?tab=Messages"))}),this.hubConnection.on("PhotoApproved",e=>{this.toastr.success(e.message)}),this.hubConnection.on("PhotoRejected",e=>{this.toastr.error(e.message)})}stopHubConnection(){this.hubConnection?.state===Be.Connected&&this.hubConnection.stop().catch(n=>console.log(n))}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};var tt=class t{http=S(Vn);likesService=S(Fo);presenceSerivce=S(Ho);baseUrl=Yt.apiUrl;currentUser=ht(null);roles=zi(()=>{let n=this.currentUser();if(n&&n.token){let e=JSON.parse(atob(n.token.split(".")[1])).role;return Array.isArray(e)?e:[e]}return[]});login(n){return this.http.post(this.baseUrl+"account/login",n).pipe(G(e=>{e&&this.setCurrentUser(e)}))}register(n){return this.http.post(this.baseUrl+"account/register",n).pipe(G(e=>(e&&this.setCurrentUser(e),e)))}setCurrentUser(n){n.photoUrl||(n.photoUrl="https://th.bing.com/th/id/OIP.PoS7waY4-VeqgNuBSxVUogAAAA?rs=1&pid=ImgDetMain"),localStorage.setItem("user",JSON.stringify(n)),this.currentUser.set(n),this.likesService.getLikeIds(),this.presenceSerivce.createHubConnection(n)}logout(){localStorage.removeItem("user"),this.currentUser.set(null),this.presenceSerivce.stopHubConnection()}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};function e3(t,n){if(t&1&&(d(0,"div",3),y(1),h()),t&2){let e=p();f(),pe(" Please enter ",e.label()," ")}}function t3(t,n){if(t&1&&(d(0,"div",3),y(1),h()),t&2){let e,i=p();f(),mr(" ",i.label()," must be at least ",(e=i.control.getError("minlength"))==null?null:e.requiredLength," characters ")}}function n3(t,n){if(t&1&&(d(0,"div",3),y(1),h()),t&2){let e,i=p();f(),mr(" ",i.label()," must be at most ",(e=i.control.getError("maxlength"))==null?null:e.requiredLength," characters ")}}function i3(t,n){t&1&&(d(0,"div",3),y(1," Passwords do not match "),h())}var $p=class t{constructor(n){this.ngControl=n;this.ngControl.valueAccessor=this}label=Pn("");type=Pn("text");get control(){return this.ngControl.control}writeValue(n){}registerOnChange(n){}registerOnTouched(n){}static \u0275fac=function(e){return new(e||t)(v(Hn,2))};static \u0275cmp=L({type:t,selectors:[["app-text-input"]],inputs:{label:[1,"label"],type:[1,"type"]},decls:8,vars:10,consts:[[1,"mb-3","form-floating"],[1,"form-control",3,"type","formControl","placeholder"],["class","invalid-feedback text-start",4,"ngIf"],[1,"invalid-feedback","text-start"]],template:function(e,i){e&1&&(d(0,"div",0),A(1,"input",1),d(2,"label"),y(3),h(),T(4,e3,2,1,"div",2)(5,t3,2,2,"div",2)(6,n3,2,2,"div",2)(7,i3,2,0,"div",2),h()),e&2&&(f(),j("is-invalid",i.control.touched&&i.control.invalid),g("type",i.type())("formControl",i.control)("placeholder",i.label()),f(2),H(i.label()),f(),g("ngIf",(i.control==null?null:i.control.hasError("required"))&&(i.control==null?null:i.control.touched)),f(),g("ngIf",(i.control==null?null:i.control.hasError("minlength"))&&(i.control==null?null:i.control.touched)),f(),g("ngIf",(i.control==null?null:i.control.hasError("maxlength"))&&(i.control==null?null:i.control.touched)),f(),g("ngIf",i.control==null?null:i.control.hasError("isMatching")))},dependencies:[vl,en,Lt,Fs,Me],encapsulation:2})};function r3(t,n){return(t%n+n)%n}function qs(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function ri(t){return typeof t=="string"}function Ju(t){return t instanceof Date||Object.prototype.toString.call(t)==="[object Date]"}function ao(t){return t&&t.getTime&&!isNaN(t.getTime())}function Zs(t){return t instanceof Function||Object.prototype.toString.call(t)==="[object Function]"}function jl(t){return typeof t=="number"||Object.prototype.toString.call(t)==="[object Number]"}function st(t){return t instanceof Array||Object.prototype.toString.call(t)==="[object Array]"}function fn(t,n){return Object.prototype.hasOwnProperty.call(t,n)}function Js(t){return t!=null&&Object.prototype.toString.call(t)==="[object Object]"}function o3(t){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(t).length===0;let n;for(n in t)if(t.hasOwnProperty(n))return!1;return!0}function Vx(t){return t===void 0}function Te(t){let n=+t,e=0;return n!==0&&isFinite(n)&&(e=qs(n)),e}var zu={},sx={date:"day",hour:"hours",minute:"minutes",second:"seconds",millisecond:"milliseconds"};function pn(t,n){let e=t.toLowerCase(),i=t;e in sx&&(i=sx[e]),zu[e]=zu[`${e}s`]=zu[n]=i}function jx(t){return ri(t)?zu[t]||zu[t.toLowerCase()]:void 0}function s3(t){let n={},e,i;for(i in t)fn(t,i)&&(e=jx(i),e&&(n[e]=t[i]));return n}var Xi=0,oo=1,Ar=2,Wt=3,er=4,so=5,Ks=6,a3=7,l3=8;function ro(t,n,e){let i=`${Math.abs(t)}`,r=n-i.length,s=t>=0?e?"+":"":"-",a=Math.pow(10,Math.max(0,r)).toString().substr(1);return s+a+i}var gb={},Ll={},Hx=/(\[[^\[]*\])|(\\)?([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;function re(t,n,e,i){t&&(Ll[t]=i),n&&(Ll[n[0]]=function(){return ro(i.apply(null,arguments),n[1],n[2])}),e&&(Ll[e]=function(r,o){return o.locale.ordinal(i.apply(null,arguments),t)})}function c3(t){let n=t.match(Hx),e=n.length,i=new Array(e);for(let r=0;r=0&&isFinite(i.getUTCFullYear())&&i.setUTCFullYear(t),i}function nm(t,n=0,e=1,i=0,r=0,o=0,s=0){let a=new Date(t,n,e,i,r,o,s);return t<100&&t>=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function Ee(t,n=!1){return n?t.getUTCHours():t.getHours()}function Pl(t,n=!1){return n?t.getUTCMinutes():t.getMinutes()}function Rb(t,n=!1){return n?t.getUTCSeconds():t.getSeconds()}function io(t,n=!1){return n?t.getUTCMilliseconds():t.getMilliseconds()}function d3(t){return t.getTime()}function tr(t,n=!1){return n?t.getUTCDay():t.getDay()}function Qu(t,n=!1){return n?t.getUTCDate():t.getDate()}function Ae(t,n=!1){return n?t.getUTCMonth():t.getMonth()}function Vt(t,n=!1){return n?t.getUTCFullYear():t.getFullYear()}function h3(t){return Math.floor(t.valueOf()/1e3)}function Bx(t){return nm(t.getFullYear(),t.getMonth(),1,t.getHours(),t.getMinutes(),t.getSeconds())}function Ux(t,n){return t.getDay()===Number(n)}function ea(t,n){return!t||!n?!1:ta(t,n)&&Ae(t)===Ae(n)}function ta(t,n){return!t||!n?!1:Vt(t)===Vt(n)}function lo(t,n){return!t||!n?!1:ta(t,n)&&ea(t,n)&&Qu(t)===Qu(n)}var $x=/\d/,ii=/\d\d/,Yx=/\d{3}/,Pb=/\d{4}/,Zp=/[+-]?\d{6}/,lt=/\d\d?/,ax=/\d\d\d\d?/,lx=/\d\d\d\d\d\d?/,Wp=/\d{1,3}/,Ob=/\d{1,4}/,Kp=/[+-]?\d{1,6}/,f3=/\d+/,Jp=/[+-]?\d+/;var _b=/Z|[+-]\d\d(?::?\d\d)?/gi,p3=/[+-]?\d+(\.\d{1,3})?/,Wu=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,Xp={};function q(t,n,e){if(Zs(n)){Xp[t]=n;return}Xp[t]=function(i,r){return i&&e?e:n}}function m3(t,n){return fn(Xp,t)?Xp[t](!1,n):new RegExp(g3(t))}function g3(t){return Qs(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(n,e,i,r,o)=>e||i||r||o))}function Qs(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var Nb={};function at(t,n){let e=ri(t)?[t]:t,i=n;if(jl(n)&&(i=function(r,o,s){return o[n]=Te(r),s}),st(e)&&Zs(i)){let r;for(r=0;r68?1900:2e3)}function Gu(t){return zx(t)?366:365}function zx(t){return t%4===0&&t%100!==0||t%400===0}function Ub(t,n){if(isNaN(t)||isNaN(n))return NaN;let e=r3(n,12),i=t+(n-e)/12;return e===1?zx(i)?29:28:31-e%7%2}function w3(){re("M",["MM",2,!1],"Mo",function(t,n){return(Ae(t,n.isUTC)+1).toString(10)}),re("MMM",null,null,function(t,n){return n.locale.monthsShort(t,n.format,n.isUTC)}),re("MMMM",null,null,function(t,n){return n.locale.months(t,n.format,n.isUTC)}),pn("month","M"),mn("month",8),q("M",lt),q("MM",lt,ii),q("MMM",function(t,n){return n.monthsShortRegex(t)}),q("MMMM",function(t,n){return n.monthsRegex(t)}),at(["M","MM"],function(t,n,e){return n[oo]=Te(t)-1,e}),at(["MMM","MMMM"],function(t,n,e,i){let r=e._locale.monthsParse(t,i,e._strict);return r!=null?n[oo]=r:Ve(e).invalidMonth=!!t,e})}var D3={year:0,month:0,day:0,hour:0,minute:0,seconds:0};function qt(t,n){let e=Object.assign({},D3,n),i=t.getFullYear()+(e.year||0),r=t.getMonth()+(e.month||0),o=t.getDate()+(e.day||0);return e.month&&!e.day&&(o=Math.min(o,Ub(i,r))),nm(i,r,o,t.getHours()+(e.hour||0),t.getMinutes()+(e.minute||0),t.getSeconds()+(e.seconds||0))}function Wx(t,n){return nm(Sl(t.getFullYear(),n.year),Sl(t.getMonth(),n.month),1,Sl(t.getHours(),n.hour),Sl(t.getMinutes(),n.minute),Sl(t.getSeconds(),n.seconds),Sl(t.getMilliseconds(),n.milliseconds))}function Sl(t,n){return jl(n)?n:t}function Fb(t,n,e){let i=Math.min(Qu(t),Ub(Vt(t),n));return e?t.setUTCMonth(n,i):t.setMonth(n,i),t}function M3(t,n,e){return e?t.setUTCHours(n):t.setHours(n),t}function S3(t,n,e){return e?t.setUTCMinutes(n):t.setMinutes(n),t}function T3(t,n,e){return e?t.setUTCSeconds(n):t.setSeconds(n),t}function E3(t,n,e){return e?t.setUTCMilliseconds(n):t.setMilliseconds(n),t}function Gx(t,n,e){return e?t.setUTCDate(n):t.setDate(n),t}function I3(t,n){return t.setTime(n),t}function Xs(t){return new Date(t.getTime())}function Rr(t,n,e){let i=Xs(t);switch(n){case"year":Fb(i,0,e);case"quarter":case"month":Gx(i,1,e);case"week":case"isoWeek":case"day":case"date":M3(i,0,e);case"hours":S3(i,0,e);case"minutes":T3(i,0,e);case"seconds":E3(i,0,e)}return n==="week"&&KU(i,0,{isUTC:e}),n==="isoWeek"&&XU(i,1),n==="quarter"&&Fb(i,Math.floor(Ae(i,e)/3)*3,e),i}function Xu(t,n,e){let i=n;i==="date"&&(i="day");let r=Rr(t,i,e),o=Ku(r,1,i==="isoWeek"?"week":i,e);return GU(o,1,"milliseconds",e)}function x3(){re("DDD",["DDDD",3,!1],"DDDo",function(t){return qx(t).toString(10)}),pn("dayOfYear","DDD"),mn("dayOfYear",4),q("DDD",Wp),q("DDDD",Yx),at(["DDD","DDDD"],function(t,n,e){return e._dayOfYear=Te(t),e})}function qx(t,n){let e=+Rr(t,"day",n),i=+Rr(t,"year",n),r=e-i,o=1e3*60*60*24;return Math.round(r/o)+1}function em(t,n,e){let i=n-e+7;return-((Bb(t,0,i).getUTCDay()-n+7)%7)+i-1}function k3(t,n,e,i,r){let o=(7+e-i)%7,s=em(t,i,r),a=1+7*(n-1)+o+s,l,c;return a<=0?(l=t-1,c=Gu(l)+a):a>Gu(t)?(l=t+1,c=a-Gu(t)):(l=t,c=a),{year:l,dayOfYear:c}}function Fl(t,n,e,i){let r=em(Vt(t,i),n,e),o=Math.floor((qx(t,i)-r-1)/7)+1,s,a;return o<1?(a=Vt(t,i)-1,s=o+Gp(a,n,e)):o>Gp(Vt(t,i),n,e)?(s=o-Gp(Vt(t,i),n,e),a=Vt(t,i)+1):(a=Vt(t,i),s=o),{week:s,year:a}}function Gp(t,n,e){let i=em(t,n,e),r=em(t+1,n,e);return(Gu(t)-i+r)/7}var cx=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,A3="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Qx="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),R3="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Zx="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),P3="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Kx={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"},O3="%d",N3=/\d{1,2}/,L3=Wu,F3=Wu,Vb=class{constructor(n){n&&this.set(n)}set(n){let e;for(e in n){if(!n.hasOwnProperty(e))continue;let i=n[e],r=Zs(i)?e:`_${e}`;this[r]=i}this._config=n}calendar(n,e,i){let r=this._calendar[n]||this._calendar.sameElse;return Zs(r)?r.call(null,e,i):r}longDateFormat(n){let e=this._longDateFormat[n],i=this._longDateFormat[n.toUpperCase()];return e||!i?e:(this._longDateFormat[n]=i.replace(/MMMM|MM|DD|dddd/g,function(r){return r.slice(1)}),this._longDateFormat[n])}get invalidDate(){return this._invalidDate}set invalidDate(n){this._invalidDate=n}ordinal(n,e){return this._ordinal.replace("%d",n.toString(10))}preparse(n,e){return n}getFullYear(n,e=!1){return Vt(n,e)}postformat(n){return n}relativeTime(n,e,i,r){let o=this._relativeTime[i];return Zs(o)?o(n,e,i,r):o.replace(/%d/i,n.toString(10))}pastFuture(n,e){let i=this._relativeTime[n>0?"future":"past"];return Zs(i)?i(e):i.replace(/%s/i,e)}months(n,e,i=!1){if(!n)return st(this._months)?this._months:this._months.standalone;if(st(this._months))return this._months[Ae(n,i)];let r=(this._months.isFormat||cx).test(e)?"format":"standalone";return this._months[r][Ae(n,i)]}monthsShort(n,e,i=!1){if(!n)return st(this._monthsShort)?this._monthsShort:this._monthsShort.standalone;if(st(this._monthsShort))return this._monthsShort[Ae(n,i)];let r=cx.test(e)?"format":"standalone";return this._monthsShort[r][Ae(n,i)]}monthsParse(n,e,i){let r,o;if(this._monthsParseExact)return this.handleMonthStrictParse(n,e,i);this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]);let s;for(s=0;s<12;s++){if(r=new Date(Date.UTC(2e3,s)),i&&!this._longMonthsParse[s]){let a=this.months(r,"",!0).replace(".",""),l=this.monthsShort(r,"",!0).replace(".","");this._longMonthsParse[s]=new RegExp(`^${a}$`,"i"),this._shortMonthsParse[s]=new RegExp(`^${l}$`,"i")}if(!i&&!this._monthsParse[s]&&(o=`^${this.months(r,"",!0)}|^${this.monthsShort(r,"",!0)}`,this._monthsParse[s]=new RegExp(o.replace(".",""),"i")),i&&e==="MMMM"&&this._longMonthsParse[s].test(n)||i&&e==="MMM"&&this._shortMonthsParse[s].test(n)||!i&&this._monthsParse[s].test(n))return s}}monthsRegex(n){return this._monthsParseExact?(fn(this,"_monthsRegex")||this.computeMonthsParse(),n?this._monthsStrictRegex:this._monthsRegex):(fn(this,"_monthsRegex")||(this._monthsRegex=F3),this._monthsStrictRegex&&n?this._monthsStrictRegex:this._monthsRegex)}monthsShortRegex(n){return this._monthsParseExact?(fn(this,"_monthsRegex")||this.computeMonthsParse(),n?this._monthsShortStrictRegex:this._monthsShortRegex):(fn(this,"_monthsShortRegex")||(this._monthsShortRegex=L3),this._monthsShortStrictRegex&&n?this._monthsShortStrictRegex:this._monthsShortRegex)}week(n,e){return Fl(n,this._week.dow,this._week.doy,e).week}firstDayOfWeek(){return this._week.dow}firstDayOfYear(){return this._week.doy}weekdays(n,e,i){if(!n)return st(this._weekdays)?this._weekdays:this._weekdays.standalone;if(st(this._weekdays))return this._weekdays[tr(n,i)];let r=this._weekdays.isFormat.test(e)?"format":"standalone";return this._weekdays[r][tr(n,i)]}weekdaysMin(n,e,i){return n?this._weekdaysMin[tr(n,i)]:this._weekdaysMin}weekdaysShort(n,e,i){return n?this._weekdaysShort[tr(n,i)]:this._weekdaysShort}weekdaysParse(n,e,i){let r,o;if(this._weekdaysParseExact)return this.handleWeekStrictParse(n,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){let s=qp(new Date(Date.UTC(2e3,1)),r,null,!0);if(i&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp(`^${this.weekdays(s,"",!0).replace(".",".?")}$`,"i"),this._shortWeekdaysParse[r]=new RegExp(`^${this.weekdaysShort(s,"",!0).replace(".",".?")}$`,"i"),this._minWeekdaysParse[r]=new RegExp(`^${this.weekdaysMin(s,"",!0).replace(".",".?")}$`,"i")),this._weekdaysParse[r]||(o=`^${this.weekdays(s,"",!0)}|^${this.weekdaysShort(s,"",!0)}|^${this.weekdaysMin(s,"",!0)}`,this._weekdaysParse[r]=new RegExp(o.replace(".",""),"i")),!st(this._fullWeekdaysParse)||!st(this._shortWeekdaysParse)||!st(this._minWeekdaysParse)||!st(this._weekdaysParse))return;if(i&&e==="dddd"&&this._fullWeekdaysParse[r].test(n))return r;if(i&&e==="ddd"&&this._shortWeekdaysParse[r].test(n))return r;if(i&&e==="dd"&&this._minWeekdaysParse[r].test(n))return r;if(!i&&this._weekdaysParse[r].test(n))return r}}weekdaysRegex(n){return this._weekdaysParseExact?(fn(this,"_weekdaysRegex")||this.computeWeekdaysParse(),n?this._weekdaysStrictRegex:this._weekdaysRegex):(fn(this,"_weekdaysRegex")||(this._weekdaysRegex=Wu),this._weekdaysStrictRegex&&n?this._weekdaysStrictRegex:this._weekdaysRegex)}weekdaysShortRegex(n){return this._weekdaysParseExact?(fn(this,"_weekdaysRegex")||this.computeWeekdaysParse(),n?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(fn(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Wu),this._weekdaysShortStrictRegex&&n?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}weekdaysMinRegex(n){return this._weekdaysParseExact?(fn(this,"_weekdaysRegex")||this.computeWeekdaysParse(),n?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(fn(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Wu),this._weekdaysMinStrictRegex&&n?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}isPM(n){return n.toLowerCase().charAt(0)==="p"}meridiem(n,e,i){return n>11?i?"pm":"PM":i?"am":"AM"}formatLongDate(n){this._longDateFormat=this._longDateFormat?this._longDateFormat:Kx;let e=this._longDateFormat[n],i=this._longDateFormat[n.toUpperCase()];return e||!i?e:(this._longDateFormat[n]=i.replace(/MMMM|MM|DD|dddd/g,r=>r.slice(1)),this._longDateFormat[n])}handleMonthStrictParse(n,e,i){let r=n.toLocaleLowerCase(),o,s,a;if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],o=0;o<12;++o)a=new Date(2e3,o),this._shortMonthsParse[o]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[o]=this.months(a,"").toLocaleLowerCase();return i?e==="MMM"?(s=this._shortMonthsParse.indexOf(r),s!==-1?s:null):(s=this._longMonthsParse.indexOf(r),s!==-1?s:null):e==="MMM"?(s=this._shortMonthsParse.indexOf(r),s!==-1?s:(s=this._longMonthsParse.indexOf(r),s!==-1?s:null)):(s=this._longMonthsParse.indexOf(r),s!==-1?s:(s=this._shortMonthsParse.indexOf(r),s!==-1?s:null))}handleWeekStrictParse(n,e,i){let r,o=n.toLocaleLowerCase();if(!this._weekdaysParse){this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[];let s;for(s=0;s<7;++s){let a=qp(new Date(Date.UTC(2e3,1)),s,null,!0);this._minWeekdaysParse[s]=this.weekdaysMin(a).toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(a).toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(a,"").toLocaleLowerCase()}}if(!(!st(this._weekdaysParse)||!st(this._shortWeekdaysParse)||!st(this._minWeekdaysParse)))return i?e==="dddd"?(r=this._weekdaysParse.indexOf(o),r!==-1?r:null):e==="ddd"?(r=this._shortWeekdaysParse.indexOf(o),r!==-1?r:null):(r=this._minWeekdaysParse.indexOf(o),r!==-1?r:null):e==="dddd"?(r=this._weekdaysParse.indexOf(o),r!==-1||(r=this._shortWeekdaysParse.indexOf(o),r!==-1)?r:(r=this._minWeekdaysParse.indexOf(o),r!==-1?r:null)):e==="ddd"?(r=this._shortWeekdaysParse.indexOf(o),r!==-1||(r=this._weekdaysParse.indexOf(o),r!==-1)?r:(r=this._minWeekdaysParse.indexOf(o),r!==-1?r:null)):(r=this._minWeekdaysParse.indexOf(o),r!==-1||(r=this._weekdaysParse.indexOf(o),r!==-1)?r:(r=this._shortWeekdaysParse.indexOf(o),r!==-1?r:null))}computeMonthsParse(){let n=[],e=[],i=[],r,o;for(o=0;o<12;o++)r=new Date(2e3,o),n.push(this.monthsShort(r,"")),e.push(this.months(r,"")),i.push(this.months(r,"")),i.push(this.monthsShort(r,""));for(n.sort($s),e.sort($s),i.sort($s),o=0;o<12;o++)n[o]=Qs(n[o]),e[o]=Qs(e[o]);for(o=0;o<24;o++)i[o]=Qs(i[o]);this._monthsRegex=new RegExp(`^(${i.join("|")})`,"i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(`^(${e.join("|")})`,"i"),this._monthsShortStrictRegex=new RegExp(`^(${n.join("|")})`,"i")}computeWeekdaysParse(){let n=[],e=[],i=[],r=[],o;for(o=0;o<7;o++){let s=qp(new Date(Date.UTC(2e3,1)),o,null,!0),a=this.weekdaysMin(s),l=this.weekdaysShort(s),c=this.weekdays(s);n.push(a),e.push(l),i.push(c),r.push(a),r.push(l),r.push(c)}for(n.sort($s),e.sort($s),i.sort($s),r.sort($s),o=0;o<7;o++)e[o]=Qs(e[o]),i[o]=Qs(i[o]),r[o]=Qs(r[o]);this._weekdaysRegex=new RegExp(`^(${r.join("|")})`,"i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(`^(${i.join("|")})`,"i"),this._weekdaysShortStrictRegex=new RegExp(`^(${e.join("|")})`,"i"),this._weekdaysMinStrictRegex=new RegExp(`^(${n.join("|")})`,"i")}};function $s(t,n){return n.length-t.length}var V3={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},j3="Invalid date",H3={dow:0,doy:6},B3=/[ap]\.?m?\.?/i,U3={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"},$3={calendar:V3,longDateFormat:Kx,invalidDate:j3,ordinal:O3,dayOfMonthOrdinalParse:N3,relativeTime:U3,months:A3,monthsShort:Qx,week:H3,weekdays:R3,weekdaysMin:P3,weekdaysShort:Zx,meridiemParse:B3};function Y3(t,n,e){let i=Math.min(t.length,n.length),r=Math.abs(t.length-n.length),o=0,s;for(s=0;s0;){if(e=uU(r.slice(0,o).join("-")),e)return e;if(n&&n.length>=o&&Y3(r,n,!0)>=o-1)break;o--}i++}return null}function cU(t,n){let e=Object.assign({},t);for(let i in n)fn(n,i)&&(Js(t[i])&&Js(n[i])?(e[i]={},Object.assign(e[i],t[i]),Object.assign(e[i],n[i])):n[i]!=null?e[i]=n[i]:delete e[i]);for(let i in t)fn(t,i)&&!fn(n,i)&&Js(t[i])&&(e[i]=Object.assign({},e[i]));return e}function uU(t){return Uo[t]||console.error(`Khronos locale error: please load locale "${t}" before using it`),Uo[t]}function e1(t,n){let e;return t&&(Vx(n)?e=ln(t):ri(t)&&(e=t1(t,n)),e&&(qu=e)),qu&&qu._abbr}function t1(t,n){if(n===null)return delete Uo[t],qu=ln("en"),null;if(!n)return;let e=$3;if(n.abbr=t,n.parentLocale!=null)if(Uo[n.parentLocale]!=null)e=Uo[n.parentLocale]._config;else return Bu[n.parentLocale]||(Bu[n.parentLocale]=[]),Bu[n.parentLocale].push({name:t,config:n}),null;return Uo[t]=new Vb(cU(e,n)),Bu[t]&&Bu[t].forEach(function(i){t1(i.name,i.config)}),e1(t),Uo[t]}function ln(t){if(dU(),!t)return qu;let n=st(t)?t:[t];return lU(n)}function dU(){Uo.en||(e1("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal(t){let n=t%10,e=Te(t%100/10)===1?"th":n===1?"st":n===2?"nd":n===3?"rd":"th";return t+e}}),z3(),G3(),C3(),q3(),Q3(),Z3(),K3(),X3(),w3(),oU(),sU(),aU(),x3(),qU(),v3())}var Yu=["year","quarter","month","week","day","hours","minutes","seconds","milliseconds"],hU=Yu.reduce((t,n)=>(t[n]=!0,t),{});function fU(t){if(Object.keys(t).some(i=>i in hU&&t[i]===null||isNaN(t[i])))return!1;let e=!1;for(let i=0;i=0&&e>=0&&i>=0||n<=0&&e<=0&&i<=0||(n+=px(jb(i)+e)*864e5,e=0,i=0),r.milliseconds=n%1e3;let o=qs(n/1e3);r.seconds=o%60;let s=qs(o/60);r.minutes=s%60;let a=qs(s/60);r.hours=a%24,e+=qs(a/24);let l=qs(n1(e));i+=l,e-=px(jb(l));let c=qs(i/12);return i%=12,r.day=e,r.month=i,r.year=c,t}function n1(t){return t*4800/146097}function jb(t){return t*146097/4800}var Tl=Math.round,El={ss:44,s:45,m:45,h:22,d:26,M:11};function mU(t,n,e,i,r){return r.relativeTime(n||1,!!e,t,i)}function gU(t,n,e){let i=Gb(t).abs(),r=Tl(i.as("s")),o=Tl(i.as("m")),s=Tl(i.as("h")),a=Tl(i.as("d")),l=Tl(i.as("M")),c=Tl(i.as("y")),u=r<=El.ss&&["s",r]||r0,e];return mU.apply(null,m)}var tm=class{constructor(n,e={}){this._data={},this._locale=ln(),this._locale=e&&e._locale||ln();let i=n,r=i.year||0,o=i.quarter||0,s=i.month||0,a=i.week||0,l=i.day||0,c=i.hours||0,u=i.minutes||0,m=i.seconds||0,b=i.milliseconds||0;return this._isValid=fU(i),this._milliseconds=+b+m*1e3+u*60*1e3+c*1e3*60*60,this._days=+l+a*7,this._months=+s+o*3+r*12,pU(this)}isValid(){return this._isValid}humanize(n){if(!this.isValid())return this.localeData().invalidDate;let e=this.localeData(),i=gU(this,!n,e);return n&&(i=e.pastFuture(+this,i)),e.postformat(i)}localeData(){return this._locale}locale(n){return n?(this._locale=ln(n)||this._locale,this):this._locale._abbr}abs(){let n=Math.abs,e=this._data;return this._milliseconds=n(this._milliseconds),this._days=n(this._days),this._months=n(this._months),e.milliseconds=n(e.milliseconds),e.seconds=n(e.seconds),e.minutes=n(e.minutes),e.hours=n(e.hours),e.month=n(e.month),e.year=n(e.year),this}as(n){if(!this.isValid())return NaN;let e,i,r=this._milliseconds,o=jx(n);if(o==="month"||o==="year")return e=this._days+r/864e5,i=this._months+n1(e),o==="month"?i:i/12;switch(e=this._days+Math.round(jb(this._months)),o){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hours":return e*24+r/36e5;case"minutes":return e*1440+r/6e4;case"seconds":return e*86400+r/1e3;case"milliseconds":return Math.floor(e*864e5)+r;default:throw new Error(`Unknown unit ${o}`)}}valueOf(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+Te(this._months/12)*31536e6:NaN}};function _U(t){return t instanceof tm}function $b(t){if(t._isValid==null){let n=Ve(t),e=Array.prototype.some.call(n.parsedDateParts,function(r){return r!=null}),i=!isNaN(t._d&&t._d.getTime())&&n.overflow<0&&!n.empty&&!n.invalidMonth&&!n.invalidWeekday&&!n.weekdayMismatch&&!n.nullInput&&!n.invalidFormat&&!n.userInvalidated&&(!n.meridiem||n.meridiem&&e);if(t._strict&&(i=i&&n.charsLeftOver===0&&n.unusedTokens.length===0&&n.bigHour===void 0),Object.isFrozen==null||!Object.isFrozen(t))t._isValid=i;else return i}return t._isValid}function im(t,n){return t._d=new Date(NaN),Object.assign(Ve(t),n||{userInvalidated:!0}),t}function yU(t){return t._isValid=!1,t}var vU=/^\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)?)?$/,bU=/^\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)?)?$/,CU=/Z|[+-]\d\d(?::?\d\d)?/,zp=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/,!0],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/,!0],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/,!0],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/,!0],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/,!0],["YYYYMMDD",/\d{8}/,!0],["GGGG[W]WWE",/\d{4}W\d{3}/,!0],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/,!0]],vb=[["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/]],wU=/^\/?Date\((\-?\d+)/i,DU={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60},MU=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function i1(t){if(!ri(t._i))return t;let n=t._i,e=vU.exec(n)||bU.exec(n),i,r,o,s;if(!e)return t._isValid=!1,t;let a,l;for(a=0,l=zp.length;an.formatLongDate(s)||s;for(r.lastIndex=0;i>=0&&r.test(e);)e=e.replace(r,o),r.lastIndex=0,i-=1;return e}function Ol(t,n,e){return t??n??e}function RU(t){let n=new Date;return t._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function Yb(t){let n=[],e,i,r;if(t._d)return t;let o=RU(t);for(t._w&&t._a[Ar]==null&&t._a[oo]==null&&PU(t),t._dayOfYear!=null&&(r=Ol(t._a[Xi],o[Xi]),(t._dayOfYear>Gu(r)||t._dayOfYear===0)&&(Ve(t)._overflowDayOfYear=!0),i=new Date(Date.UTC(r,0,t._dayOfYear)),t._a[oo]=i.getUTCMonth(),t._a[Ar]=i.getUTCDate()),e=0;e<3&&t._a[e]==null;++e)t._a[e]=n[e]=o[e];for(;e<7;e++)t._a[e]=n[e]=t._a[e]==null?e===2?1:0:t._a[e];t._a[Wt]===24&&t._a[er]===0&&t._a[so]===0&&t._a[Ks]===0&&(t._nextDay=!0,t._a[Wt]=0),t._d=(t._useUTC?Bb:nm).apply(null,n);let s=t._useUTC?t._d.getUTCDay():t._d.getDay();return t._tzm!=null&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Wt]=24),t._w&&typeof t._w.d<"u"&&t._w.d!==s&&(Ve(t).weekdayMismatch=!0),t}function PU(t){let n,e,i,r,o,s,a,l=t._w;if(l.GG!=null||l.W!=null||l.E!=null)r=1,o=4,n=Ol(l.GG,t._a[Xi],Fl(new Date,1,4).year),e=Ol(l.W,1),i=Ol(l.E,1),(i<1||i>7)&&(a=!0);else{r=t._locale._week.dow,o=t._locale._week.doy;let c=Fl(new Date,r,o);n=Ol(l.gg,t._a[Xi],c.year),e=Ol(l.w,c.week),l.d!=null?(i=l.d,(i<0||i>6)&&(a=!0)):l.e!=null?(i=l.e+r,(l.e<0||l.e>6)&&(a=!0)):i=r}return e<1||e>Gp(n,r,o)?Ve(t)._overflowWeeks=!0:a!=null?Ve(t)._overflowWeekday=!0:(s=k3(n,e,i,r,o),t._a[Xi]=s.year,t._dayOfYear=s.dayOfYear),t}function s1(t){let n,e=t._a;return e&&Ve(t).overflow===-2&&(n=e[oo]<0||e[oo]>11?oo:e[Ar]<1||e[Ar]>Ub(e[Xi],e[oo])?Ar:e[Wt]<0||e[Wt]>24||e[Wt]===24&&(e[er]!==0||e[so]!==0||e[Ks]!==0)?Wt:e[er]<0||e[er]>59?er:e[so]<0||e[so]>59?so:e[Ks]<0||e[Ks]>999?Ks:-1,Ve(t)._overflowDayOfYear&&(nAr)&&(n=Ar),Ve(t)._overflowWeeks&&n===-1&&(n=a3),Ve(t)._overflowWeekday&&n===-1&&(n=l3),Ve(t).overflow=n),t}var OU="ISO_8601",NU="RFC_2822";function zb(t){if(t._f===OU)return i1(t);if(t._f===NU)return r1(t);if(t._a=[],Ve(t).empty=!0,st(t._f)||!t._i&&t._i!==0)return t;let n=t._i.toString(),e=0,i=n.length,r=o1(t._f,t._locale).match(Hx)||[],o,s,a,l;for(o=0;o0&&Ve(t).unusedInput.push(l),n=n.slice(n.indexOf(a)+a.length),e+=a.length),Ll[s]?(a?Ve(t).empty=!1:Ve(t).unusedTokens.push(s),_3(s,a,t)):t._strict&&!a&&Ve(t).unusedTokens.push(s);return Ve(t).charsLeftOver=i-e,n.length>0&&Ve(t).unusedInput.push(n),t._a[Wt]<=12&&Ve(t).bigHour===!0&&t._a[Wt]>0&&(Ve(t).bigHour=void 0),Ve(t).parsedDateParts=t._a.slice(0),Ve(t).meridiem=t._meridiem,t._a[Wt]=LU(t._locale,t._a[Wt],t._meridiem),Yb(t),s1(t)}function LU(t,n,e){let i=n;if(e==null)return i;if(t.meridiemHour!=null)return t.meridiemHour(i,e);if(t.isPM==null)return i;let r=t.isPM(e);return r&&i<12&&(i+=12),!r&&i===12&&(i=0),i}function FU(t){let n,e,i,r;if(!t._f||t._f.length===0)return Ve(t).invalidFormat=!0,im(t);let o;for(o=0;ori(i)?parseInt(i,10):i)}return Yb(t)}function jU(t){let n=s1(HU(t));return n._d=new Date(n._d!=null?n._d.getTime():NaN),$b(Object.assign({},n,{_isValid:null}))||(n._d=new Date(NaN)),n}function HU(t){let n=t._i,e=t._f;return t._locale=t._locale||ln(t._l),n===null||e===void 0&&n===""?im(t,{nullInput:!0}):(ri(n)&&(t._i=n=t._locale.preparse(n,e)),Ju(n)?(t._d=Xs(n),t):(st(e)?FU(t):e?zb(t):BU(t),$b(t)||(t._d=null),t))}function BU(t){let n=t._i;if(Vx(n))t._d=new Date;else if(Ju(n))t._d=Xs(n);else if(ri(n))kU(t);else if(st(n)&&n.length){let e=n.slice(0);t._a=e.map(i=>ri(i)?parseInt(i,10):i),Yb(t)}else if(Js(n))VU(t);else if(jl(n))t._d=new Date(n);else return im(t);return t}function UU(t,n,e,i,r){let o={},s=t;return(Js(s)&&o3(s)||st(s)&&s.length===0)&&(s=void 0),o._useUTC=o._isUTC=r,o._l=e,o._i=s,o._f=n,o._strict=i,jU(o)}function Vl(t,n,e,i,r){return Ju(t)?t:UU(t,n,e,i,r)._d}function Wb(t){return t instanceof Date?new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds()):null}function Hb(t){return t<0?Math.round(t*-1)*-1:Math.round(t)}function co(t,n,e="milliseconds"){return!t||!n?!1:e==="milliseconds"?t.valueOf()>n.valueOf():n.valueOf()"u"||!n||!n.length?!1:n.some(e=>e===t.getDay())}function ed(t,n,e="milliseconds"){if(!t||!n)return!1;if(e==="milliseconds")return t.valueOf()===n.valueOf();let i=n.valueOf();return Rr(t,e).valueOf()<=i&&i<=Xu(t,e).valueOf()}var $U=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,YU=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Gb(t,n,e={}){let i=zU(t,n);return new tm(i,e)}function zU(t,n){if(t==null)return{};if(_U(t))return{milliseconds:t._milliseconds,day:t._days,month:t._months};if(jl(t))return n?{[n]:t}:{milliseconds:t};if(ri(t)){let e=$U.exec(t);if(e){let i=e[1]==="-"?-1:1;return{year:0,day:Te(e[Ar])*i,hours:Te(e[Wt])*i,minutes:Te(e[er])*i,seconds:Te(e[so])*i,milliseconds:Te(Hb(Te(e[Ks])*1e3))*i}}if(e=YU.exec(t),e){let i=e[1]==="-"?-1:(e[1]==="+",1);return{year:Ys(e[2],i),month:Ys(e[3],i),week:Ys(e[4],i),day:Ys(e[5],i),hours:Ys(e[6],i),minutes:Ys(e[7],i),seconds:Ys(e[8],i)}}}if(Js(t)&&("from"in t||"to"in t)){let e=WU(Vl(t.from),Vl(t.to));return{milliseconds:e.milliseconds,month:e.months}}return t}function Ys(t,n){let e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*n}function mx(t,n){let e={milliseconds:0,months:0};e.months=Ae(n)-Ae(t)+(Vt(n)-Vt(t))*12;let i=Ku(Xs(t),e.months,"month");return co(i,n)&&--e.months,e.milliseconds=+n-+Ku(Xs(t),e.months,"month"),e}function WU(t,n){if(!(ao(t)&&ao(n)))return{milliseconds:0,months:0};let e,i=nU(n,t,{_offset:t.getTimezoneOffset()});return Yo(t,i)?e=mx(t,i):(e=mx(i,t),e.milliseconds=-e.milliseconds,e.months=-e.months),e}function Ku(t,n,e,i){let r=Gb(n,e);return l1(t,r,1,i)}function GU(t,n,e,i){let r=Gb(n,e);return l1(t,r,-1,i)}function l1(t,n,e,i){let r=n._milliseconds,o=Hb(n._days),s=Hb(n._months);return s&&Fb(t,Ae(t,i)+s*e,i),o&&Gx(t,Qu(t,i)+o*e,i),r&&I3(t,d3(t)+r*e),Xs(t)}function qU(){re("d",null,"do",function(t,n){return tr(t,n.isUTC).toString(10)}),re("dd",null,null,function(t,n){return n.locale.weekdaysMin(t,n.format,n.isUTC)}),re("ddd",null,null,function(t,n){return n.locale.weekdaysShort(t,n.format,n.isUTC)}),re("dddd",null,null,function(t,n){return n.locale.weekdays(t,n.format,n.isUTC)}),re("e",null,null,function(t,n){return c1(t,n.locale,n.isUTC).toString(10)}),re("E",null,null,function(t,n){return JU(t,n.isUTC).toString(10)}),pn("day","d"),pn("weekday","e"),pn("isoWeekday","E"),mn("day",11),mn("weekday",11),mn("isoWeekday",11),q("d",lt),q("e",lt),q("E",lt),q("dd",function(t,n){return n.weekdaysMinRegex(t)}),q("ddd",function(t,n){return n.weekdaysShortRegex(t)}),q("dddd",function(t,n){return n.weekdaysRegex(t)}),Zu(["dd","ddd","dddd"],function(t,n,e,i){let r=e._locale.weekdaysParse(t,i,e._strict);return r!=null?n.d=r:Ve(e).invalidWeekday=!!t,e}),Zu(["d","e","E"],function(t,n,e,i){return n[i]=Te(t),e})}function QU(t,n){if(!ri(t))return t;let e=parseInt(t,10);if(!isNaN(e))return e;let i=n.weekdaysParse(t);return jl(i)?i:null}function ZU(t,n=ln()){return ri(t)?n.weekdaysParse(t)%7||7:jl(t)&&isNaN(t)?null:t}function qp(t,n,e=ln(),i){let r=tr(t,i),o=QU(n,e);return Ku(t,o-r,"day")}function Gt(t,n){return tr(t,n)}function c1(t,n=ln(),e){return(tr(t,e)+7-n.firstDayOfWeek())%7}function KU(t,n,e={}){let i=c1(t,e.locale,e.isUTC);return Ku(t,n-i,"day")}function JU(t,n){return tr(t,n)||7}function XU(t,n,e={}){let i=ZU(n,e.locale);return qp(t,Gt(t)%7?i:i-7)}var e$={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},t$={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},gx=function(t){return t===0?0:t===1?1:t===2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},n$={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"]},Si=function(t){return function(n,e){let i=gx(n),r=n$[t][gx(n)];return i===2&&(r=r[e?0:1]),r.replace(/%d/i,n.toString())}},_x=["\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"],Xse={abbr:"ar",months:_x,monthsShort:_x,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:/ص|م/,isPM(t){return t==="\u0645"},meridiem(t,n,e){return t<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:Si("s"),ss:Si("s"),m:Si("m"),mm:Si("m"),h:Si("h"),hh:Si("h"),d:Si("d"),dd:Si("d"),M:Si("M"),MM:Si("M"),y:Si("y"),yy:Si("y")},preparse(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(n){return t$[n]}).replace(/،/g,",")},postformat(t){return t.replace(/\d/g,function(n){return e$[n]}).replace(/,/g,"\u060C")},week:{dow:6,doy:12}};var eae={abbr:"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(t){switch(t){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}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){let n=Number(t),e=n%10,i=n%100;return n===0?n+"-\u0435\u0432":i===0?n+"-\u0435\u043D":i>10&&i<20?n+"-\u0442\u0438":e===1?n+"-\u0432\u0438":e===2?n+"-\u0440\u0438":e===7||e===8?n+"-\u043C\u0438":n+"-\u0442\u0438"},week:{dow:1,doy:7}};var yx="gen._feb._mar._abr._mai._jun._jul._ago._set._oct._nov._des.".split("_"),i$="ene_feb_mar_abr_mai_jun_jul_ago_set_oct_nov_des".split("_"),bb=[/^gen/i,/^feb/i,/^mar/i,/^abr/i,/^mai/i,/^jun/i,/^jul/i,/^ago/i,/^set/i,/^oct/i,/^nov/i,/^des/i],vx=/^(gener|febrer|març|abril|maig|juny|juliol|agost|setembre|octubre|novembre|desembre|gen\.?|feb\.?|mar\.?|abr\.?|mai\.?|jun\.?|jul\.?|ago\.?|set\.?|oct\.?|nov\.?|des\.?)/i,tae={abbr:"ca",months:"gener_febrer_mar\xE7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?i$[Ae(t,e)]:yx[Ae(t,e)]:yx},monthsRegex:vx,monthsShortRegex:vx,monthsStrictRegex:/^(gener|febrer|març|abril|maig|juny|juliol|agost|setembre|octubre|novembre|desembre)/i,monthsShortStrictRegex:/^(gen\.?|feb\.?|mar\.?|abr\.?|mai\.?|jun\.?|jul\.?|ago\.?|set\.?|oct\.?|nov\.?|des\.?)/i,monthsParse:bb,longMonthsParse:bb,shortMonthsParse:bb,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"diu._dil._dim._dix._dij._div._dis.".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 [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay(t){return"[avui a "+("la"+(Ee(t)!==1)?"les":"")+"] LT"},nextDay(t){return"[dema a "+("la"+(Ee(t)!==1)?"les":"")+"] LT"},nextWeek(t){return"dddd [a "+("la"+(Ee(t)!==1)?"les":"")+"] LT"},lastDay(t){return"[ahir a "+("la"+(Ee(t)!==1)?"les":"")+"] LT"},lastWeek(t){return"[el] dddd ["+("passada la "+(Ee(t)!==1)?"passades les":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %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}(er|on|er|rt|é)/,ordinal(t){let n=Number(t),e=n>4?"\xE9":n===1||n===3?"r":n===2?"n":n===4?"t":"\xE9";return n+e},week:{dow:1,doy:4}};var Cb="leden_\xFAnor_b\u0159ezen_duben_kv\u011Bten_\u010Derven_\u010Dervenec_srpen_z\xE1\u0159\xED_\u0159\xEDjen_listopad_prosinec".split("_"),wb="led_\xFAno_b\u0159e_dub_kv\u011B_\u010Dvn_\u010Dvc_srp_z\xE1\u0159_\u0159\xEDj_lis_pro".split("_");function Il(t){return t>1&&t<5&&~~(t/10)!==1}function Ti(t,n,e,i){let r=t+" ";switch(e){case"s":return n||i?"p\xE1r sekund":"p\xE1r sekundami";case"ss":return n||i?r+(Il(t)?"sekundy":"sekund"):r+"sekundami";case"m":return n?"minuta":i?"minutu":"minutou";case"mm":return n||i?r+(Il(t)?"minuty":"minut"):r+"minutami";case"h":return n?"hodina":i?"hodinu":"hodinou";case"hh":return n||i?r+(Il(t)?"hodiny":"hodin"):r+"hodinami";case"d":return n||i?"den":"dnem";case"dd":return n||i?r+(Il(t)?"dny":"dn\xED"):r+"dny";case"M":return n||i?"m\u011Bs\xEDc":"m\u011Bs\xEDcem";case"MM":return n||i?r+(Il(t)?"m\u011Bs\xEDce":"m\u011Bs\xEDc\u016F"):r+"m\u011Bs\xEDci";case"y":return n||i?"rok":"rokem";case"yy":return n||i?r+(Il(t)?"roky":"let"):r+"lety"}}var nae={abbr:"cs",months:Cb,monthsShort:wb,monthsParse:function(t,n){let e,i=[];for(e=0;e<12;e++)i[e]=new RegExp("^"+t[e]+"$|^"+n[e]+"$","i");return i}(Cb,wb),shortMonthsParse:function(t){let n,e=[];for(n=0;n<12;n++)e[n]=new RegExp("^"+t[n]+"$","i");return e}(wb),longMonthsParse:function(t){let n,e=[];for(n=0;n<12;n++)e[n]=new RegExp("^"+t[n]+"$","i");return e}(Cb),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(t){switch(Gt(t)){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(t){switch(Gt(t)){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:Ti,ss:Ti,m:Ti,mm:Ti,h:Ti,hh:Ti,d:Ti,dd:Ti,M:Ti,MM:Ti,y:Ti,yy:Ti},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};var iae={abbr:"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",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}};function Bo(t,n,e,i){let r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return n?r[e][0]:r[e][1]}var rae={abbr:"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:Bo,mm:"%d Minuten",h:Bo,hh:"%d Stunden",d:Bo,dd:Bo,M:Bo,MM:Bo,y:Bo,yy:Bo},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};var oae={abbr:"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(t){let n=Number(t),e=n%10,i=~~(n%100/10)===1?"th":e===1?"st":e===2?"nd":e===3?"rd":"th";return n+i},week:{dow:1,doy:4}};var bx="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),r$="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Db=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],Cx=/^(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,sae={abbr:"es-do",months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?r$[Ae(t,e)]:bx[Ae(t,e)]:bx},monthsRegex:Cx,monthsShortRegex:Cx,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:Db,longMonthsParse:Db,shortMonthsParse:Db,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(t){return"[hoy a la"+(Ee(t)!==1?"s":"")+"] LT"},nextDay(t){return"[ma\xF1ana a la"+(Ee(t)!==1?"s":"")+"] LT"},nextWeek(t){return"dddd [a la"+(Ee(t)!==1?"s":"")+"] LT"},lastDay(t){return"[ayer a la"+(Ee(t)!==1?"s":"")+"] LT"},lastWeek(t){return"[el] dddd [pasado a la"+(Ee(t)!==1?"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}º/,ordinal:"%d\xBA",week:{dow:1,doy:4}};var wx="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),o$="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Mb=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],Dx=/^(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,aae={abbr:"es",months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?o$[Ae(t,e)]:wx[Ae(t,e)]:wx},monthsRegex:Dx,monthsShortRegex:Dx,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:Mb,longMonthsParse:Mb,shortMonthsParse:Mb,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(t){return"[hoy a la"+(Ee(t)!==1?"s":"")+"] LT"},nextDay(t){return"[ma\xF1ana a la"+(Ee(t)!==1?"s":"")+"] LT"},nextWeek(t){return"dddd [a la"+(Ee(t)!==1?"s":"")+"] LT"},lastDay(t){return"[ayer a la"+(Ee(t)!==1?"s":"")+"] LT"},lastWeek(t){return"[el] dddd [pasado a la"+(Ee(t)!==1?"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}º/,ordinal:"%d\xBA",week:{dow:1,doy:4}};var Mx="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),s$="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),lae={abbr:"es-pr",months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?s$[Ae(t,e)]:Mx[Ae(t,e)]:Mx},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:"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(t){return"[hoy a la"+(Ee(t)!==1?"s":"")+"] LT"},nextDay(t){return"[ma\xF1ana a la"+(Ee(t)!==1?"s":"")+"] LT"},nextWeek(t){return"dddd [a la"+(Ee(t)!==1?"s":"")+"] LT"},lastDay(t){return"[ayer a la"+(Ee(t)!==1?"s":"")+"] LT"},lastWeek(t){return"[el] dddd [pasado a la"+(Ee(t)!==1?"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}º/,ordinal:"%d\xBA",week:{dow:0,doy:6}};var Sx="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),a$="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),cae={abbr:"es-us",months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?a$[Ae(t,e)]:Sx[Ae(t,e)]:Sx},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(t){return"[hoy a la"+(Ee(t)!==1?"s":"")+"] LT"},nextDay(t){return"[ma\xF1ana a la"+(Ee(t)!==1?"s":"")+"] LT"},nextWeek(t){return"dddd [a la"+(Ee(t)!==1?"s":"")+"] LT"},lastDay(t){return"[ayer a la"+(Ee(t)!==1?"s":"")+"] LT"},lastWeek(t){return"[el] dddd [pasado a la"+(Ee(t)!==1?"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}º/,ordinal:"%d\xBA",week:{dow:0,doy:6}};var Ji=function(t,n,e,i){let r={s:["m\xF5ne sekundi","m\xF5ni sekund","paar sekundit"],ss:[t+"sekundi",t+"sekundit"],m:["\xFChe minuti","\xFCks minut"],mm:[t+" minuti",t+" minutit"],h:["\xFChe tunni","tund aega","\xFCks tund"],hh:[t+" tunni",t+" tundi"],d:["\xFChe p\xE4eva","\xFCks p\xE4ev"],M:["kuu aja","kuu aega","\xFCks kuu"],MM:[t+" kuu",t+" kuud"],y:["\xFChe aasta","aasta","\xFCks aasta"],yy:[t+" aasta",t+" aastat"]};return n?r[e][2]?r[e][2]:r[e][1]:i?r[e][0]:r[e][1]},uae={abbr:"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:Ji,ss:Ji,m:Ji,mm:Ji,h:Ji,hh:Ji,d:Ji,dd:"%d p\xE4eva",M:Ji,MM:Ji,y:Ji,yy:Ji},dayOfMonthOrdinalParse:/\d{1,2}./,ordinal:"%d.",week:{dow:1,doy:4}};var Qp="nolla yksi kaksi kolme nelj\xE4 viisi kuusi seitsem\xE4n kahdeksan yhdeks\xE4n".split(" "),l$=["nolla","yhden","kahden","kolmen","nelj\xE4n","viiden","kuuden",Qp[7],Qp[8],Qp[9]];function Ei(t,n,e,i){var r="";switch(e){case"s":return i?"muutaman sekunnin":"muutama sekunti";case"ss":return i?"sekunnin":"sekuntia";case"m":return i?"minuutin":"minuutti";case"mm":r=i?"minuutin":"minuuttia";break;case"h":return i?"tunnin":"tunti";case"hh":r=i?"tunnin":"tuntia";break;case"d":return i?"p\xE4iv\xE4n":"p\xE4iv\xE4";case"dd":r=i?"p\xE4iv\xE4n":"p\xE4iv\xE4\xE4";break;case"M":return i?"kuukauden":"kuukausi";case"MM":r=i?"kuukauden":"kuukautta";break;case"y":return i?"vuoden":"vuosi";case"yy":r=i?"vuoden":"vuotta";break}return r=c$(t,i)+" "+r,r}function c$(t,n){return t<10?n?l$[t]:Qp[t]:t}var dae={abbr:"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:Ei,ss:Ei,m:Ei,mm:Ei,h:Ei,hh:Ei,d:Ei,dd:Ei,M:Ei,MM:Ei,y:Ei,yy:Ei},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};var hae={abbr:"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(t,n){let e=Number(t);switch(n){case"D":return e+(e===1?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(e===1?"er":"e");case"w":case"W":return e+(e===1?"re":"e")}},week:{dow:1,doy:4}};var fae={abbr:"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(t,n){let e=Number(t);switch(n){case"D":return e+(e===1?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(e===1?"er":"e");case"w":case"W":return e+(e===1?"re":"e")}},week:{dow:1,doy:4}};var Tx="xan._feb._mar._abr._mai._xu\xF1._xul._ago._set._out._nov._dec.".split("_"),u$="xan_feb_mar_abr_mai_xu\xF1_xul_ago_set_out_nov_dec".split("_"),Sb=[/^xan/i,/^feb/i,/^mar/i,/^abr/i,/^mai/i,/^xuñ/i,/^xul/i,/^ago/i,/^set/i,/^out/i,/^nov/i,/^dec/i],Ex=/^(xaneiro|febreiro|marzo|abril|maio|xuño|xullo|agosto|setembro|outubro|novembro|decembro|xan\.?|feb\.?|mar\.?|abr\.?|mai\.?|xuñ\.?|xul\.?|ago\.?|set\.?|out\.?|nov\.?|dec\.?)/i,pae={abbr:"gl",months:"xaneiro_febreiro_marzo_abril_maio_xu\xF1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?u$[Ae(t,e)]:Tx[Ae(t,e)]:Tx},monthsRegex:Ex,monthsShortRegex:Ex,monthsStrictRegex:/^(xaneiro|febreiro|marzo|abril|maio|xuño|xullo|agosto|setembro|outubro|novembro|decembro)/i,monthsShortStrictRegex:/^(xan\.?|feb\.?|mar\.?|abr\.?|mai\.?|xuñ\.?|xul\.?|ago\.?|set\.?|out\.?|nov\.?|dec\.?)/i,monthsParse:Sb,longMonthsParse:Sb,shortMonthsParse:Sb,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(t){return"[hoxe \xE1"+(Ee(t)!==1?"s":"")+"] LT"},nextDay(t){return"[ma\xF1an \xE1"+(Ee(t)!==1?"s":"")+"] LT"},nextWeek(t){return"dddd [\xE1"+(Ee(t)!==1?"s":"")+"] LT"},lastDay(t){return"[onte \xE1"+(Ee(t)!==1?"s":"")+"] LT"},lastWeek(t){return"[o] dddd [pasado \xE1"+(Ee(t)!==1?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fai %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}º/,ordinal:"%d\xBA",week:{dow:1,doy:4}};var mae={abbr:"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(t){return t===2?"\u05E9\u05E2\u05EA\u05D9\u05D9\u05DD":t+" \u05E9\u05E2\u05D5\u05EA"},d:"\u05D9\u05D5\u05DD",dd(t){return t===2?"\u05D9\u05D5\u05DE\u05D9\u05D9\u05DD":t+" \u05D9\u05DE\u05D9\u05DD"},M:"\u05D7\u05D5\u05D3\u05E9",MM(t){return t===2?"\u05D7\u05D5\u05D3\u05E9\u05D9\u05D9\u05DD":t+" \u05D7\u05D5\u05D3\u05E9\u05D9\u05DD"},y:"\u05E9\u05E0\u05D4",yy(t){return t===2?"\u05E9\u05E0\u05EA\u05D9\u05D9\u05DD":t%10===0&&t!==10?t+" \u05E9\u05E0\u05D4":t+" \u05E9\u05E0\u05D9\u05DD"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM(t){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(t)},meridiem(t,n,e){return t<5?"\u05DC\u05E4\u05E0\u05D5\u05EA \u05D1\u05D5\u05E7\u05E8":t<10?"\u05D1\u05D1\u05D5\u05E7\u05E8":t<12?e?'\u05DC\u05E4\u05E0\u05D4"\u05E6':"\u05DC\u05E4\u05E0\u05D9 \u05D4\u05E6\u05D4\u05E8\u05D9\u05D9\u05DD":t<18?e?'\u05D0\u05D7\u05D4"\u05E6':"\u05D0\u05D7\u05E8\u05D9 \u05D4\u05E6\u05D4\u05E8\u05D9\u05D9\u05DD":"\u05D1\u05E2\u05E8\u05D1"}};var d$={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096A",5:"\u096B",6:"\u096C",7:"\u096D",8:"\u096E",9:"\u096F",0:"\u0966"},h$={"\u0967":"1","\u0968":"2","\u0969":"3","\u096A":"4","\u096B":"5","\u096C":"6","\u096D":"7","\u096E":"8","\u096F":"9","\u0966":"0"},gae={abbr:"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(t){return t.replace(/[१२३४५६७८९०]/g,function(n){return h$[n]})},postformat(t){return t.replace(/\d/g,function(n){return d$[n]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour(t,n){if(t===12&&(t=0),n==="\u0930\u093E\u0924")return t<4?t:t+12;if(n==="\u0938\u0941\u092C\u0939")return t;if(n==="\u0926\u094B\u092A\u0939\u0930")return t>=10?t:t+12;if(n==="\u0936\u093E\u092E")return t+12},meridiem(t,n,e){return t<4?"\u0930\u093E\u0924":t<10?"\u0938\u0941\u092C\u0939":t<17?"\u0926\u094B\u092A\u0939\u0930":t<20?"\u0936\u093E\u092E":"\u0930\u093E\u0924"},week:{dow:0,doy:6}};var f$="vas\xE1rnap h\xE9tf\u0151n kedden szerd\xE1n cs\xFCt\xF6rt\xF6k\xF6n p\xE9nteken szombaton".split(" ");function Ii(t,n,e,i){switch(e){case"s":return i||n?"n\xE9h\xE1ny m\xE1sodperc":"n\xE9h\xE1ny m\xE1sodperce";case"ss":return t+(i||n?" m\xE1sodperc":" m\xE1sodperce");case"m":return"egy"+(i||n?" perc":" perce");case"mm":return t+(i||n?" perc":" perce");case"h":return"egy"+(i||n?" \xF3ra":" \xF3r\xE1ja");case"hh":return t+(i||n?" \xF3ra":" \xF3r\xE1ja");case"d":return"egy"+(i||n?" nap":" napja");case"dd":return t+(i||n?" nap":" napja");case"M":return"egy"+(i||n?" h\xF3nap":" h\xF3napja");case"MM":return t+(i||n?" h\xF3nap":" h\xF3napja");case"y":return"egy"+(i||n?" \xE9v":" \xE9ve");case"yy":return t+(i||n?" \xE9v":" \xE9ve")}return""}function Ix(t,n){return(n?"":"[m\xFAlt] ")+"["+f$[Gt(t)]+"] LT[-kor]"}var _ae={abbr:"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(t){return t.charAt(1).toLowerCase()==="u"},meridiem(t,n,e){return t<12?e===!0?"de":"DE":e===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek(t){return Ix(t,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek(t){return Ix(t,!1)},sameElse:"L"},relativeTime:{future:"%s m\xFAlva",past:"%s",s:Ii,ss:Ii,m:Ii,mm:Ii,h:Ii,hh:Ii,d:Ii,dd:Ii,M:Ii,MM:Ii,y:Ii,yy:Ii},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};var yae={abbr:"hr",months:"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("_"),weekdays:"Nedjelja_Ponedjeljak_Utorak_Srijeda_\u010Cetvrtak_Petak_Subota".split("_"),weekdaysShort:"Ned_Pon_Uto_Sri_\u010Cet_Pet_Sub".split("_"),weekdaysMin:"Ne_Po_Ut_Sr_\u010Ce_Pe_Su".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:"[Danas u] LT",nextDay:"[Sutra u] LT",nextWeek:"dddd [u] LT",lastDay:"[Ju\u010Der u] LT",lastWeek:"[Zadnji] dddd [u] LT",sameElse:"L"},invalidDate:"Neispravan datum",relativeTime:{future:"za %s",past:"%s prije",s:"nekoliko sekundi",ss:"%d sekundi",m:"minuta",mm:"%d minuta",h:"sat",hh:"%d sati",d:"dan",dd:"%d dana",M:"mjesec",MM:"%d mjeseci",y:"godina",yy:"%d godina"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal(t){let n=Number(t),e=n%10,i=(~~(n%100/10)===1,".");return n+i},week:{dow:1,doy:4}};var vae={abbr:"id",months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_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(t,n){if(t===12&&(t=0),n==="pagi")return t;if(n==="siang")return t>=11?t:t+12;if(n==="sore"||n==="malam")return t+12},meridiem(t,n,e){return t<11?"pagi":t<15?"siang":t<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}};var bae={abbr:"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(t){switch(Gt(t)){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future(t){return(/^[0-9].+$/.test(t.toString(10))?"tra":"in")+" "+t},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}º/,ordinal:"%d\xBA",week:{dow:1,doy:4}};var Cae={abbr:"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 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY\u5E74M\u6708D\u65E5",lll:"YYYY\u5E74M\u6708D\u65E5 HH:mm",llll:"YYYY\u5E74M\u6708D\u65E5 HH:mm dddd"},meridiemParse:/午前|午後/i,isPM(t){return t==="\u5348\u5F8C"},meridiem(t,n,e){return t<12?"\u5348\u524D":"\u5348\u5F8C"},calendar:{sameDay:"[\u4ECA\u65E5] LT",nextDay:"[\u660E\u65E5] LT",nextWeek:"[\u6765\u9031]dddd LT",lastDay:"[\u6628\u65E5] LT",lastWeek:"[\u524D\u9031]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal(t,n){switch(n){case"d":case"D":case"DDD":return t+"\u65E5";default:return t.toString(10)}},relativeTime:{future:"%s\u5F8C",past:"%s\u524D",s:"\u6570\u79D2",ss:"%d\u79D2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65E5",dd:"%d\u65E5",M:"1\u30F6\u6708",MM:"%d\u30F6\u6708",y:"1\u5E74",yy:"%d\u5E74"}};var wae={abbr:"ka",months:{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("_"),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("_")},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:/(წინა|შემდეგ)/},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(t){var n=t.toString();return/(წამი|წუთი|საათი|წელი)/.test(n)?n.replace(/ი$/,"\u10E8\u10D8"):n+"\u10E8\u10D8"},past(t){var n=t.toString();if(/(წამი|წუთი|საათი|დღე|თვე)/.test(n))return n.replace(/(ი|ე)$/,"\u10D8\u10E1 \u10EC\u10D8\u10DC");if(/წელი/.test(n))return n.replace(/წელი$/,"\u10EC\u10DA\u10D8\u10E1 \u10EC\u10D8\u10DC")},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-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal(t,n){let e=Number(t);return e===0?e.toString():e===1?e+"-\u10DA\u10D8":e<20||e<=100&&e%20===0||e%100===0?"\u10DB\u10D4-"+e:e+"-\u10D4"},week:{dow:1,doy:4}},Tb={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"},Dae={abbr:"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}-(ші|шы)/,ordinal(t){let n=t%10,e=t>=100?100:null;return t+(Tb[t]||Tb[n]||Tb[e])},week:{dow:1,doy:7}};var Mae={abbr:"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}(일|월|주)/,ordinal:function(t,n){switch(n){case"d":case"D":case"DDD":return t+"\uC77C";case"M":return t+"\uC6D4";case"w":case"W":return t+"\uC8FC";default:return t.toString(10)}},meridiemParse:/오전|오후/,isPM:function(t){return t==="\uC624\uD6C4"},meridiem:function(t,n,e){return t<12?"\uC624\uC804":"\uC624\uD6C4"}};var p$={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 m$(t,n,e,i){return n?"kelios sekund\u0117s":i?"keli\u0173 sekund\u017Ei\u0173":"kelias sekundes"}function Nl(t,n,e,i){return n?$o(e)[0]:i?$o(e)[1]:$o(e)[2]}function xx(t){return t%10===0||t>10&&t<20}function $o(t){return p$[t].split("_")}function xl(t,n,e,i){let r=t+" ";return t===1?r+Nl(t,n,e[0],i):n?r+(xx(t)?$o(e)[1]:$o(e)[0]):i?r+$o(e)[1]:r+(xx(t)?$o(e)[1]:$o(e)[2])}var Sae={abbr:"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:m$,ss:xl,m:Nl,mm:xl,h:Nl,hh:xl,d:Nl,dd:xl,M:Nl,MM:xl,y:Nl,yy:xl},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal(t){return t+"-oji"},week:{dow:1,doy:4}};var Tae={abbr:"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\u0113td_Pirmd_Otrd_Tre\u0161d_Ceturtd_Piektd_Sestd".split("_"),weekdaysMin:"Sv_Pi_Ot_Tr_Ce_Pk_Se".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:"p\u0113c %s",past:"pirms %s",s:"da\u017E\u0101m sekund\u0113m",ss:"%d sekund\u0113m",m:"min\u016Btes",mm:"%d min\u016Bt\u0113m",h:"stundas",hh:"%d stund\u0101m",d:"dienas",dd:"%d dien\u0101m",M:"m\u0113ne\u0161a",MM:"%d m\u0113ne\u0161iem",y:"gada",yy:"%d gadiem"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal(t){return t+"."},week:{dow:1,doy:4}};function xi(t,n,e,i){switch(e){case"s":return n?"\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 t+(n?" \u0441\u0435\u043A\u0443\u043D\u0434":" \u0441\u0435\u043A\u0443\u043D\u0434\u044B\u043D");case"m":case"mm":return t+(n?" \u043C\u0438\u043D\u0443\u0442":" \u043C\u0438\u043D\u0443\u0442\u044B\u043D");case"h":case"hh":return t+(n?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043D");case"d":case"dd":return t+(n?" \u04E9\u0434\u04E9\u0440":" \u04E9\u0434\u0440\u0438\u0439\u043D");case"M":case"MM":return t+(n?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044B\u043D");case"y":case"yy":return t+(n?" \u0436\u0438\u043B":" \u0436\u0438\u043B\u0438\u0439\u043D");default:return t.toString(10)}}var Eae={abbr:"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:/ҮӨ|ҮХ/i,isPM:function(t){return t==="\u04AE\u0425"},meridiem:function(t,n,e){return t<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:xi,ss:xi,m:xi,mm:xi,h:xi,hh:xi,d:xi,dd:xi,M:xi,MM:xi,y:xi,yy:xi},dayOfMonthOrdinalParse:/\d{1,2} өдөр/,ordinal:function(t,n){switch(n){case"d":case"D":case"DDD":return t+" \u04E9\u0434\u04E9\u0440";default:return t.toString(10)}}};var Iae={abbr:"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}};var kx="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),g$="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Eb=[/^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],Ax=/^(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,xae={abbr:"nl-be",months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?g$[Ae(t,e)]:kx[Ae(t,e)]:kx},monthsRegex:Ax,monthsShortRegex:Ax,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:Eb,longMonthsParse:Eb,shortMonthsParse:Eb,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(t){let n=Number(t);return n+(n===1||n===8||n>=20?"ste":"de")},week:{dow:1,doy:4}};var Rx="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),_$="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Ib=[/^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],Px=/^(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,kae={abbr:"nl",months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?_$[Ae(t,e)]:Rx[Ae(t,e)]:Rx},monthsRegex:Px,monthsShortRegex:Px,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:Ib,longMonthsParse:Ib,shortMonthsParse:Ib,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(t){let n=Number(t);return n+(n===1||n===8||n>=20?"ste":"de")},week:{dow:1,doy:4}};var xb="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017Adziernik_listopad_grudzie\u0144".split("_"),Ox="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015Bnia_pa\u017Adziernika_listopada_grudnia".split("_");function Uu(t){return t%10<5&&t%10>1&&~~(t/10)%10!==1}function zs(t,n,e){let i=t+" ";switch(e){case"ss":return i+(Uu(t)?"sekundy":"sekund");case"m":return n?"minuta":"minut\u0119";case"mm":return i+(Uu(t)?"minuty":"minut");case"h":return n?"godzina":"godzin\u0119";case"hh":return i+(Uu(t)?"godziny":"godzin");case"MM":return i+(Uu(t)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return i+(Uu(t)?"lata":"lat")}}var Aae={abbr:"pl",months(t,n,e){return t?n===""?"("+Ox[Ae(t,e)]+"|"+xb[Ae(t,e)]+")":/D MMMM/.test(n)?Ox[Ae(t,e)]:xb[Ae(t,e)]:xb},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(t){switch(Gt(t)){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015Brod\u0119 o] LT";case 5:return"[W pi\u0105tek o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek(t){switch(Gt(t)){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015Brod\u0119 o] LT";case 4:return"[W zesz\u0142\u0105 czwartek o] LT";case 5:return"[W zesz\u0142\u0105 pi\u0105tek 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:zs,m:zs,mm:zs,h:zs,hh:zs,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:zs,y:"rok",yy:zs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};var Rae={abbr:"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(t){return Gt(t)===0||Gt(t)===6?"[\xDAltimo] dddd [\xE0s] LT":"[\xDAltima] dddd [\xE0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atr\xE1s",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}º/,ordinal:"%d\xBA"};function kl(t,n,e){let i={ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},r=" ";return(t%100>=20||t>=100&&t%100===0)&&(r=" de "),t+r+i[e]}var Pae={abbr:"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:kl,m:"un minut",mm:kl,h:"o or\u0103",hh:kl,d:"o zi",dd:kl,M:"o lun\u0103",MM:kl,y:"un an",yy:kl},week:{dow:1,doy:7}};function y$(t,n){let e=t.split("_");return n%10===1&&n%100!==11?e[0]:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?e[1]:e[2]}function Ws(t,n,e){let i={ss:n?"\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:n?"\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"};return e==="m"?n?"\u043C\u0438\u043D\u0443\u0442\u0430":"\u043C\u0438\u043D\u0443\u0442\u0443":t+" "+y$(i[e],+t)}var kb=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],Oae={abbr:"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:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?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:kb,longMonthsParse:kb,shortMonthsParse:kb,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/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(t,n){if($u(n)!==$u(t))switch(Gt(t)){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"}else return Gt(t)===2?"[\u0412\u043E] dddd [\u0432] LT":"[\u0412] dddd [\u0432] LT"},lastWeek(t,n){if($u(n)!==$u(t))switch(Gt(t)){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"}else return Gt(t)===2?"[\u0412\u043E] dddd [\u0432] LT":"[\u0412] 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:Ws,m:Ws,mm:Ws,h:"\u0447\u0430\u0441",hh:Ws,d:"\u0434\u0435\u043D\u044C",dd:Ws,M:"\u043C\u0435\u0441\u044F\u0446",MM:Ws,y:"\u0433\u043E\u0434",yy:Ws},meridiemParse:/ночи|утра|дня|вечера/i,isPM(t){return/^(дня|вечера)$/.test(t)},meridiem(t,n,e){return t<4?"\u043D\u043E\u0447\u0438":t<12?"\u0443\u0442\u0440\u0430":t<17?"\u0434\u043D\u044F":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal(t,n){let e=Number(t);switch(n){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043E";case"w":case"W":return e+"-\u044F";default:return e.toString(10)}},week:{dow:1,doy:4}};var v$="janu\xE1r_febru\xE1r_marec_apr\xEDl_m\xE1j_j\xFAn_j\xFAl_august_september_okt\xF3ber_november_december".split("_"),b$="jan_feb_mar_apr_m\xE1j_j\xFAn_j\xFAl_aug_sep_okt_nov_dec".split("_");function Al(t){return t>1&&t<5&&~~(t/10)!==1}function ki(t,n,e,i){let r=t+" ";switch(e){case"s":return n||i?"p\xE1r sek\xFAnd":"p\xE1r sekundami";case"ss":return n||i?r+(Al(t)?"sekundy":"sek\xFAnd"):r+"sekundami";case"m":return n?"min\xFAta":i?"min\xFAtu":"min\xFAtou";case"mm":return n||i?r+(Al(t)?"min\xFAty":"min\xFAt"):r+"min\xFAtami";case"h":return n?"hodina":i?"hodinu":"hodinou";case"hh":return n||i?r+(Al(t)?"hodiny":"hod\xEDn"):r+"hodinami";case"d":return n||i?"de\u0148":"d\u0148om";case"dd":return n||i?r+(Al(t)?"dni":"dn\xED"):r+"d\u0148ami";case"M":return n||i?"mesiac":"mesiacom";case"MM":return n||i?r+(Al(t)?"mesiace":"mesiacov"):r+"mesiacmi";case"y":return n||i?"rok":"rokom";case"yy":return n||i?r+(Al(t)?"roky":"rokov"):r+"rokmi"}}var Nae={abbr:"sk",months:v$,monthsShort:b$,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",l:"D. M. YYYY"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek(t){switch(Gt(t)){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(t){switch(Gt(t)){case 0:return"[minul\xFA nede\u013Eu o] LT";case 1:case 2:return"[minul\xFD] dddd [o] LT";case 3:return"[minul\xFA stredu o] LT";case 4:case 5:return"[minul\xFD] dddd [o] LT";case 6:return"[minul\xFA sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"o %s",past:"pred %s",s:ki,ss:ki,m:ki,mm:ki,h:ki,hh:ki,d:ki,dd:ki,M:ki,MM:ki,y:ki,yy:ki},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};function Ai(t,n,e,i){var r=t+" ";switch(e){case"s":return n||i?"nekaj sekund":"nekaj sekundami";case"ss":return t===1?r+=n?"sekundo":"sekundi":t===2?r+=n||i?"sekundi":"sekundah":t<5?r+=n||i?"sekunde":"sekundah":r+="sekund",r;case"m":return n?"ena minuta":"eno minuto";case"mm":return t===1?r+=n?"minuta":"minuto":t===2?r+=n||i?"minuti":"minutama":t<5?r+=n||i?"minute":"minutami":r+=n||i?"minut":"minutami",r;case"h":return n?"ena ura":"eno uro";case"hh":return t===1?r+=n?"ura":"uro":t===2?r+=n||i?"uri":"urama":t<5?r+=n||i?"ure":"urami":r+=n||i?"ur":"urami",r;case"d":return n||i?"en dan":"enim dnem";case"dd":return t===1?r+=n||i?"dan":"dnem":t===2?r+=n||i?"dni":"dnevoma":r+=n||i?"dni":"dnevi",r;case"M":return n||i?"en mesec":"enim mesecem";case"MM":return t===1?r+=n||i?"mesec":"mesecem":t===2?r+=n||i?"meseca":"mesecema":t<5?r+=n||i?"mesece":"meseci":r+=n||i?"mesecev":"meseci",r;case"y":return n||i?"eno leto":"enim letom";case"yy":return t===1?r+=n||i?"leto":"letom":t===2?r+=n||i?"leti":"letoma":t<5?r+=n||i?"leta":"leti":r+=n||i?"let":"leti",r}}var Lae={abbr:"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(t){switch(Gt(t)){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(t){switch(Gt(t)){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:Ai,ss:Ai,m:Ai,mm:Ai,h:Ai,hh:Ai,d:Ai,dd:Ai,M:Ai,MM:Ai,y:Ai,yy:Ai},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}};var Fae={abbr:"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\xEB_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:"Di_He_Ma_Me_En_Pr_Sh".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:"[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:"para %sve",s:"disa sekonda",ss:"%d sekonda",m:"nj\xEB minut",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}};var Vae={abbr:"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(t){let n=Number(t),e=n%10,i=~~(n%100/10)===1?"e":e===1||e===2?"a":"e";return n+i},week:{dow:1,doy:4}},jae={abbr:"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._\u0E08._\u0E2D._\u0E1E._\u0E1E\u0E24._\u0E28._\u0E2A.".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:/ก่อนเที่ยง|หลังเที่ยง/,isPM(t){return t==="\u0E2B\u0E25\u0E31\u0E07\u0E40\u0E17\u0E35\u0E48\u0E22\u0E07"},meridiem(t,n,e){return t<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"}},Nx={abbr:"th-be",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._\u0E08._\u0E2D._\u0E1E._\u0E1E\u0E24._\u0E28._\u0E2A.".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:/ก่อนเที่ยง|หลังเที่ยง/,isPM(t){return t==="\u0E2B\u0E25\u0E31\u0E07\u0E40\u0E17\u0E35\u0E48\u0E22\u0E07"},meridiem(t,n,e){return t<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"},preparse(t,n){let e=Nx.longDateFormat[n]?Nx.longDateFormat[n]:n;if(e.indexOf("YYYY",e.length-4)!==-1){let i=t.substr(0,t.length-4),r=parseInt(t.substr(t.length-4),10)-543;return i+r}return t},getFullYear(t,n=!1){return 543+(n?t.getUTCFullYear():t.getFullYear())}};var Ab={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"},Hae={abbr:"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"},dayOfMonthOrdinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal(t){let n=Number(t);if(n===0)return n+"'\u0131nc\u0131";let e=n%10,i=n%100-e,r=n>=100?100:null;return n+(Ab[e]||Ab[i]||Ab[r])},week:{dow:1,doy:7}};function C$(t,n){let e=t.split("_");return n%10===1&&n%100!==11?e[0]:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?e[1]:e[2]}function Gs(t,n,e){let i={ss:n?"\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:n?"\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:n?"\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"};return e==="m"?n?"\u0445\u0432\u0438\u043B\u0438\u043D\u0430":"\u0445\u0432\u0438\u043B\u0438\u043D\u0443":e==="h"?n?"\u0433\u043E\u0434\u0438\u043D\u0430":"\u0433\u043E\u0434\u0438\u043D\u0443":t+" "+C$(i[e],+t)}function w$(t,n,e){let i={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("_")};if(!t)return i.nominative;let r=/(\[[ВвУу]\]) ?dddd/.test(n)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(n)?"genitive":"nominative";return i[r][Gt(t,e)]}function Rl(t){return function(n){return t+"\u043E"+(Ee(n)===11?"\u0431":"")+"] LT"}}var Bae={abbr:"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:w$,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:Rl("[\u0421\u044C\u043E\u0433\u043E\u0434\u043D\u0456 "),nextDay:Rl("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:Rl("[\u0412\u0447\u043E\u0440\u0430 "),nextWeek:Rl("[\u0423] dddd ["),lastWeek(t){switch(Gt(t)){case 0:case 3:case 5:case 6:return Rl("[\u041C\u0438\u043D\u0443\u043B\u043E\u0457] dddd [")(t);case 1:case 2:case 4:return Rl("[\u041C\u0438\u043D\u0443\u043B\u043E\u0433\u043E] dddd [")(t)}},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:Gs,m:Gs,mm:Gs,h:"\u0433\u043E\u0434\u0438\u043D\u0443",hh:Gs,d:"\u0434\u0435\u043D\u044C",dd:Gs,M:"\u043C\u0456\u0441\u044F\u0446\u044C",MM:Gs,y:"\u0440\u0456\u043A",yy:Gs},meridiemParse:/ночі|ранку|дня|вечора/,isPM(t){return/^(дня|вечора)$/.test(t)},meridiem(t,n,e){return t<4?"\u043D\u043E\u0447\u0456":t<12?"\u0440\u0430\u043D\u043A\u0443":t<17?"\u0434\u043D\u044F":"\u0432\u0435\u0447\u043E\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal(t,n){let e=Number(t);switch(n){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043E";default:return e.toString()}},week:{dow:1,doy:7}};var Uae={abbr:"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(t){return/^ch$/i.test(t)},meridiem(t,n,e){return t<12?e?"sa":"SA":e?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xF4m nay l\xFAc] LT",nextDay:"[Ng\xE0y mai l\xFAc] LT",nextWeek:"dddd [tu\u1EA7n t\u1EDBi l\xFAc] LT",lastDay:"[H\xF4m qua l\xFAc] LT",lastWeek:"dddd [tu\u1EA7n tr\u01B0\u1EDBc l\xFAc] LT",sameElse:"L"},relativeTime:{future:"%s t\u1EDBi",past:"%s tr\u01B0\u1EDBc",s:"v\xE0i gi\xE2y",ss:"%d gi\xE2y",m:"m\u1ED9t ph\xFAt",mm:"%d ph\xFAt",h:"m\u1ED9t gi\u1EDD",hh:"%d gi\u1EDD",d:"m\u1ED9t ng\xE0y",dd:"%d ng\xE0y",M:"m\u1ED9t th\xE1ng",MM:"%d th\xE1ng",y:"m\u1ED9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal(t){return""+t},week:{dow:1,doy:4}};var $ae={abbr:"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:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour(t,n){return t===12&&(t=0),n==="\u51CC\u6668"||n==="\u65E9\u4E0A"||n==="\u4E0A\u5348"?t:n==="\u4E0B\u5348"||n==="\u665A\u4E0A"?t+12:t>=11?t:t+12},meridiem(t,n,e){let i=t*100+n;return i<600?"\u51CC\u6668":i<900?"\u65E9\u4E0A":i<1130?"\u4E0A\u5348":i<1230?"\u4E2D\u5348":i<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}(日|月|周)/,ordinal(t,n){let e=Number(t);switch(n){case"d":case"D":case"DDD":return e+"\u65E5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e.toString()}},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}};var D$={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},M$={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},Lx=function(t){return t===0?0:t===1?1:t===2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},S$={s:["\u06A9\u0645\u062A\u0631 \u0627\u0632 \u06CC\u06A9 \u062B\u0627\u0646\u06CC\u0647","\u06CC\u06A9 \u062B\u0627\u0646\u06CC\u0647",["\u062F\u0648 \u062B\u0627\u0646\u06CC\u0647","\u062F\u0648 \u062B\u0627\u0646\u06CC\u0647"],"%d \u062B\u0627\u0646\u06CC\u0647","%d \u062B\u0627\u0646\u06CC\u0647","%d \u062B\u0627\u0646\u06CC\u0647"],m:["\u06A9\u0645\u062A\u0631 \u0627\u0632 \u06CC\u06A9 \u062F\u0642\u06CC\u0642\u0647","\u06CC\u06A9 \u062F\u0642\u06CC\u0642\u0647",["\u062F\u0648 \u062F\u0642\u06CC\u0642\u0647","\u062F\u0648 \u062F\u0642\u06CC\u0642\u0647"],"%d \u062F\u0642\u06CC\u0642\u0647","%d \u062F\u0642\u06CC\u0642\u0647","%d \u062F\u0642\u06CC\u0642\u0647"],h:["\u06A9\u0645\u062A\u0631 \u0627\u0632 \u06CC\u06A9 \u0633\u0627\u0639\u062A","\u06CC\u06A9 \u0633\u0627\u0639\u062A",["\u062F\u0648 \u0633\u0627\u0639\u062A","\u062F\u0648 \u0633\u0627\u0639\u062A"],"%d \u0633\u0627\u0639\u062A","%d \u0633\u0627\u0639\u062A","%d \u0633\u0627\u0639\u062A"],d:["\u06A9\u0645\u062A\u0631 \u0627\u0632 \u06CC\u06A9 \u0631\u0648\u0632","\u06CC\u06A9 \u0631\u0648\u0632",["\u062F\u0648 \u0631\u0648\u0632","\u062F\u0648 \u0631\u0648\u0632"],"%d \u0631\u0648\u0632","%d \u0631\u0648\u0632","%d \u0631\u0648\u0632"],M:["\u06A9\u0645\u062A\u0631 \u0627\u0632 \u06CC\u06A9 \u0645\u0627\u0647","\u06CC\u06A9 \u0645\u0627\u0647",["\u062F\u0648 \u0645\u0627\u0647","\u062F\u0648 \u0645\u0627\u0647"],"%d \u0645\u0627\u0647","%d \u0645\u0627\u0647","%d \u0645\u0627\u0647"],y:["\u06A9\u0645\u062A\u0631 \u0627\u0632 \u06CC\u06A9 \u0633\u0627\u0644","\u06CC\u06A9 \u0633\u0627\u0644",["\u062F\u0648 \u0633\u0627\u0644","\u062F\u0648 \u0633\u0627\u0644"],"%d \u0633\u0627\u0644","%d \u0633\u0627\u0644","%d \u0633\u0627\u0644"]},Ri=function(t){return function(n,e){let i=Lx(n),r=S$[t][Lx(n)];return i===2&&(r=r[e?0:1]),r.replace(/%d/i,n.toString())}},Fx=["\u0698\u0627\u0646\u0648\u06CC\u0647","\u0641\u0648\u0631\u06CC\u0647","\u0645\u0627\u0631\u0633","\u0622\u0648\u0631\u06CC\u0644","\u0645\u06CC","\u0698\u0648\u0626\u0646","\u062C\u0648\u0644\u0627\u06CC","\u0622\u06AF\u0648\u0633\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"],Yae={abbr:"fa",months:Fx,monthsShort:Fx,weekdays:"\u06CC\u06A9\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647 \u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C \u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06CC\u06A9\u0634\u0646\u0628\u0647_\u062F\u0648\u200C\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u200C\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:"D/\u200FM/\u200FYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM(t){return t==="\u0645"},meridiem(t,n,e){return t<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u062F\u0631 \u0633\u0627\u0639\u062A] LT",nextDay:"[\u0641\u0631\u062F\u0627 \u062F\u0631 \u0633\u0627\u0639\u062A] LT",nextWeek:"dddd [\u062F\u0631 \u0633\u0627\u0639\u062A] LT",lastDay:"[\u062F\u06CC\u0631\u0648\u0632 \u062F\u0631 \u0633\u0627\u0639\u062A] LT",lastWeek:"dddd [\u062F\u0631 \u0633\u0627\u0639\u062A] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062F %s",past:"\u067E\u06CC\u0634 %s",s:Ri("s"),ss:Ri("s"),m:Ri("m"),mm:Ri("m"),h:Ri("h"),hh:Ri("h"),d:Ri("d"),dd:Ri("d"),M:Ri("M"),MM:Ri("M"),y:Ri("y"),yy:Ri("y")},preparse(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(n){return M$[n]}).replace(/،/g,",")},postformat(t){return t.replace(/\d/g,function(n){return D$[n]}).replace(/,/g,"\u060C")},week:{dow:6,doy:80}};var qb=class{constructor(n,e){this.open=n,this.close=e||n}isManual(){return this.open==="manual"||this.close==="manual"}},T$={hover:["mouseover","mouseout"],focus:["focusin","focusout"]};function Qb(t,n=T$){let e=(t||"").trim();if(e.length===0)return[];let i=e.split(/\s+/).map(o=>o.split(":")).map(o=>{let s=n[o[0]]||o;return new qb(s[0],s[1])}),r=i.filter(o=>o.isManual());if(r.length>1)throw new Error("Triggers parse error: only one manual trigger is allowed");if(r.length===1&&i.length>1)throw new Error("Triggers parse error: manual trigger can't be mixed with other triggers");return i}function d1(t,n){let e=Qb(n.triggers),i=n.target;if(e.length===1&&e[0].isManual())return Function.prototype;let r=[],o=[],s=()=>{o.forEach(a=>r.push(a())),o.length=0};return e.forEach(a=>{let l=a.open===a.close,c=l?n.toggle:n.show;if(!l&&a.close&&n.hide){let u=a.close,m=n.hide,b=()=>t.listen(i,u,m);o.push(b)}c&&r.push(t.listen(i,a.open,()=>c(s)))}),()=>{r.forEach(a=>a())}}function h1(t,n){return n.outsideClick?t.listen("document","click",e=>{n.target&&n.target.contains(e.target)||n.targets&&n.targets.some(i=>i.contains(e.target))||n.hide&&n.hide()}):Function.prototype}function f1(t,n){return n.outsideEsc?t.listen("document","keyup.esc",e=>{n.target&&n.target.contains(e.target)||n.targets&&n.targets.some(i=>i.contains(e.target))||n.hide&&n.hide()}):Function.prototype}var jt=typeof window<"u"&&window||{},Ht=jt.document,Gae=jt.location,qae=jt.gc?()=>jt.gc():()=>null,Qae=jt.performance?jt.performance:null,Zae=jt.Event,Kae=jt.MouseEvent,Jae=jt.KeyboardEvent,Xae=jt.EventTarget,ele=jt.History,tle=jt.Location,nle=jt.EventListener,p1=function(t){return t.isBs4="bs4",t.isBs5="bs5",t}(p1||{}),zo;function m1(){let t=jt.document.createElement("span");t.innerText="testing bs version",t.classList.add("d-none"),t.classList.add("pl-1"),jt.document.head.appendChild(t);let n=jt.getComputedStyle(t).paddingLeft;return n&&parseFloat(n)?(jt.document.head.removeChild(t),"bs4"):(jt.document.head.removeChild(t),"bs5")}function E$(){return zo||(zo=m1()),zo==="bs4"}function I$(){return zo||(zo=m1()),zo==="bs5"}function Wo(){return{isBs4:E$(),isBs5:I$()}}function x$(){let t=Wo(),n=Object.keys(t).find(e=>t[e]);return p1[n]}function g1(){let t="Change";return function(e,i){let r=` __${i}Value`;Object.defineProperty(e,i,{get(){return this[r]},set(o){let s=this[r];this[r]=o,s!==o&&this[i+t]&&this[i+t].emit(o)}})}}var rm=class{static reflow(n){n.offsetHeight}static getStyles(n){let e=n.ownerDocument.defaultView;return(!e||!e.opener)&&(e=jt),e.getComputedStyle(n)}static stackOverflowConfig(){let n=x$();return{crossorigin:"anonymous",integrity:n==="bs5"?"sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65":"sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2",cdnLink:n==="bs5"?"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css":"https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css"}}},u1={},k$=typeof console>"u"||!("warn"in console);function Un(t){!NT()||k$||t in u1||(u1[t]=!0,console.warn(t))}var w1=function(t){return t.top="top",t.bottom="bottom",t.left="left",t.right="right",t.auto="auto",t.end="right",t.start="left",t["top left"]="top left",t["top right"]="top right",t["right top"]="right top",t["right bottom"]="right bottom",t["bottom right"]="bottom right",t["bottom left"]="bottom left",t["left bottom"]="left bottom",t["left top"]="left top",t["top start"]="top left",t["top end"]="top right",t["end top"]="right top",t["end bottom"]="right bottom",t["bottom end"]="bottom right",t["bottom start"]="bottom left",t["start bottom"]="start bottom",t["start top"]="left top",t}(w1||{}),td=function(t){return t.top="top",t.bottom="bottom",t.left="start",t.right="end",t.auto="auto",t.end="end",t.start="start",t["top left"]="top start",t["top right"]="top end",t["right top"]="end top",t["right bottom"]="end bottom",t["bottom right"]="bottom end",t["bottom left"]="bottom start",t["left bottom"]="start bottom",t["left top"]="start top",t["top start"]="top start",t["top end"]="top end",t["end top"]="end top",t["end bottom"]="end bottom",t["bottom end"]="bottom end",t["bottom start"]="bottom start",t["start bottom"]="start bottom",t["start top"]="start top",t}(td||{});function na(t,n){if(t.nodeType!==1)return[];let i=t.ownerDocument.defaultView?.getComputedStyle(t,null);return n?i&&i[n]:i}function Xb(t){if(!t)return document.documentElement;let n=null,e=t?.offsetParent,i;for(;e===n&&t.nextElementSibling&&i!==t.nextElementSibling;)i=t.nextElementSibling,e=i.offsetParent;let r=e&&e.nodeName;return!r||r==="BODY"||r==="HTML"?i?i.ownerDocument.documentElement:document.documentElement:e&&["TH","TD","TABLE"].indexOf(e.nodeName)!==-1&&na(e,"position")==="static"?Xb(e):e}function A$(t){let{nodeName:n}=t;return n==="BODY"?!1:n==="HTML"||Xb(t.firstElementChild)===t}function Zb(t){return t.parentNode!==null?Zb(t.parentNode):t}function lm(t,n){if(!t||!t.nodeType||!n||!n.nodeType)return document.documentElement;let e=t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING,i=e?t:n,r=e?n:t,o=document.createRange();o.setStart(i,0),o.setEnd(r,0);let s=o.commonAncestorContainer;if(t!==s&&n!==s||i.contains(r))return A$(s)?s:Xb(s);let a=Zb(t);return a.host?lm(a.host,n):lm(t,Zb(n).host)}function D1(t){if(!t||!t.parentElement)return document.documentElement;let n=t.parentElement;for(;n?.parentElement&&na(n,"transform")==="none";)n=n.parentElement;return n||document.documentElement}function _1(t,n){let e=n==="x"?"Left":"Top",i=e==="Left"?"Right":"Bottom";return parseFloat(t[`border${e}Width`])+parseFloat(t[`border${i}Width`])}function y1(t,n,e){let i=n,r=e;return Math.max(i[`offset${t}`],i[`scroll${t}`],r[`client${t}`],r[`offset${t}`],r[`scroll${t}`],0)}function M1(t){let n=t.body,e=t.documentElement;return{height:y1("Height",n,e),width:y1("Width",n,e)}}function nd(t){return Y(E({},t),{right:(t.left||0)+t.width,bottom:(t.top||0)+t.height})}function R$(t){return t!==""&&!isNaN(parseFloat(t))&&isFinite(Number(t))}function mt(t){return typeof t=="number"||Object.prototype.toString.call(t)==="[object Number]"}function v1(t){let n=t.getBoundingClientRect();if(!(n&&mt(n.top)&&mt(n.left)&&mt(n.bottom)&&mt(n.right)))return n;let e={left:n.left,top:n.top,width:n.right-n.left,height:n.bottom-n.top},i=t.nodeName==="HTML"?M1(t.ownerDocument):void 0,r=i?.width||t.clientWidth||mt(n.right)&&mt(e.left)&&n.right-e.left||0,o=i?.height||t.clientHeight||mt(n.bottom)&&mt(e.top)&&n.bottom-e.top||0,s=t.offsetWidth-r,a=t.offsetHeight-o;if(s||a){let l=na(t);s-=_1(l,"x"),a-=_1(l,"y"),e.width-=s,e.height-=a}return nd(e)}function eC(t,n,e=!1){let i=n.nodeName==="HTML",r=v1(t),o=v1(n),s=na(n),a=parseFloat(s.borderTopWidth),l=parseFloat(s.borderLeftWidth);e&&i&&(o.top=Math.max(o.top??0,0),o.left=Math.max(o.left??0,0));let c=nd({top:(r.top??0)-(o.top??0)-a,left:(r.left??0)-(o.left??0)-l,width:r.width,height:r.height});if(c.marginTop=0,c.marginLeft=0,i){let u=parseFloat(s.marginTop),m=parseFloat(s.marginLeft);mt(c.top)&&(c.top-=a-u),mt(c.bottom)&&(c.bottom-=a-u),mt(c.left)&&(c.left-=l-m),mt(c.right)&&(c.right-=l-m),c.marginTop=u,c.marginLeft=m}return c}function tC(t){return t.nodeName==="HTML"?t:t.parentNode||t.host}function S1(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body;default:}let{overflow:n,overflowX:e,overflowY:i}=na(t);return/(auto|scroll|overlay)/.test(String(n)+String(i)+String(e))?t:S1(tC(t))}function b1(t,n="top"){let e=n==="top"?"scrollTop":"scrollLeft",i=t.nodeName;if(i==="BODY"||i==="HTML"){let r=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||r)[e]}return t[e]}function P$(t,n=!1){let e=t.ownerDocument.documentElement,i=eC(t,e),r=Math.max(e.clientWidth,window.innerWidth||0),o=Math.max(e.clientHeight,window.innerHeight||0),s=n?0:b1(e),a=n?0:b1(e,"left"),l={top:s-Number(i?.top)+Number(i?.marginTop),left:a-Number(i?.left)+Number(i?.marginLeft),width:r,height:o};return nd(l)}function T1(t){let n=t.nodeName;return n==="BODY"||n==="HTML"?!1:na(t,"position")==="fixed"?!0:T1(tC(t))}function nC(t,n,e=0,i,r=!1){let o={top:0,left:0},s=r?D1(t):lm(t,n);if(i==="viewport")o=P$(s,r);else{let a;i==="scrollParent"?(a=S1(tC(n)),a.nodeName==="BODY"&&(a=t.ownerDocument.documentElement)):i==="window"?a=t.ownerDocument.documentElement:a=i;let l=eC(a,s,r);if(l&&a.nodeName==="HTML"&&!T1(s)){let{height:c,width:u}=M1(t.ownerDocument);mt(o.top)&&mt(l.top)&&mt(l.marginTop)&&(o.top+=l.top-l.marginTop),mt(o.top)&&(o.bottom=Number(c)+Number(l.top)),mt(o.left)&&mt(l.left)&&mt(l.marginLeft)&&(o.left+=l.left-l.marginLeft),mt(o.top)&&(o.right=Number(u)+Number(l.left))}else l&&(o=l)}return mt(o.left)&&(o.left+=e),mt(o.top)&&(o.top+=e),mt(o.right)&&(o.right-=e),mt(o.bottom)&&(o.bottom-=e),o}function O$({width:t,height:n}){return t*n}function E1(t,n,e,i,r=["top","bottom","right","left"],o="viewport",s=0){if(t.indexOf("auto")===-1)return t;let a=nC(e,i,s,o),l={top:{width:a?.width??0,height:(n?.top??0)-(a?.top??0)},right:{width:(a?.right??0)-(n?.right??0),height:a?.height??0},bottom:{width:a?.width??0,height:(a?.bottom??0)-(n?.bottom??0)},left:{width:(n.left??0)-(a?.left??0),height:a?.height??0}},c=Object.keys(l).map(_=>Y(E({position:_},l[_]),{area:O$(l[_])})).sort((_,M)=>M.area-_.area),u=c.filter(({width:_,height:M})=>_>=e.clientWidth&&M>=e.clientHeight);u=u.filter(({position:_})=>r.some(M=>M===_));let m=u.length>0?u[0].position:c[0].position,b=t.split(" ")[1];return e.className=e.className.replace(/bs-tooltip-auto/g,`bs-tooltip-${Wo().isBs5?td[m]:m}`),m+(b?`-${b}`:"")}function N$(t){return{width:t.offsets.target.width,height:t.offsets.target.height,left:Math.floor(t.offsets.target.left??0),top:Math.round(t.offsets.target.top??0),bottom:Math.round(t.offsets.target.bottom??0),right:Math.floor(t.offsets.target.right??0)}}function L$(t){let n={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,e=>n[e])}function F$(t){return t==="right"?"left":t==="left"?"right":t}var om=(t,n=0)=>t?parseFloat(t):n;function I1(t){let e=t.ownerDocument.defaultView?.getComputedStyle(t),i=om(e?.marginTop)+om(e?.marginBottom),r=om(e?.marginLeft)+om(e?.marginRight);return{width:Number(t.offsetWidth)+r,height:Number(t.offsetHeight)+i}}function x1(t,n,e){let i=e?D1(t):lm(t,n);return eC(n,i,e)}function Kb(t,n,e){let i=e.split(" ")[0],r=I1(t),o={width:r.width,height:r.height},s=["right","left"].indexOf(i)!==-1,a=s?"top":"left",l=s?"left":"top",c=s?"height":"width",u=s?"width":"height";return o[a]=(n[a]??0)+n[c]/2-r[c]/2,o[l]=i===l?(n[l]??0)-r[u]:n[L$(l)]??0,o}function k1(t,n){return!!t.modifiers[n]?.enabled}var V$={top:["top","top start","top end"],bottom:["bottom","bottom start","bottom end"],start:["start","start top","start bottom"],end:["end","end top","end bottom"]};function sm(t,n){return Wo().isBs5?V$[n].includes(t):!1}function j$(t){return Wo().isBs5?sm(t,"end")?"ms-2":sm(t,"start")?"me-2":sm(t,"top")?"mb-2":sm(t,"bottom")?"mt-2":"":""}function H$(t,n){let e=t.instance.target,i=e.className,r=Wo().isBs5?td[t.placement]:t.placement;if(t.placementAuto&&(i=i.replace(/bs-popover-auto/g,`bs-popover-${r}`),i=i.replace(/ms-2|me-2|mb-2|mt-2/g,""),i=i.replace(/bs-tooltip-auto/g,`bs-tooltip-${r}`),i=i.replace(/\sauto/g,` ${r}`),i.indexOf("popover")!==-1&&(i=i+" "+j$(r)),i.indexOf("popover")!==-1&&i.indexOf("popover-auto")===-1&&(i+=" popover-auto"),i.indexOf("tooltip")!==-1&&i.indexOf("tooltip-auto")===-1&&(i+=" tooltip-auto")),i=i.replace(/left|right|top|bottom|end|start/g,`${r.split(" ")[0]}`),n){n.setAttribute(e,"class",i);return}e.className=i}function C1(t,n,e){!t||!n||Object.keys(n).forEach(i=>{let r="";if(["width","height","top","right","bottom","left"].indexOf(i)!==-1&&R$(n[i])&&(r="px"),e){e.setStyle(t,i,`${String(n[i])}${r}`);return}t.style[i]=String(n[i])+r})}function B$(t){let n=t.offsets.target,e=t.instance.target.querySelector(".arrow");if(!e)return t;let i=["left","right"].indexOf(t.placement.split(" ")[0])!==-1,r=i?"height":"width",o=i?"Top":"Left",s=o.toLowerCase(),a=i?"left":"top",l=i?"bottom":"right",c=I1(e)[r],u=t.placement.split(" ")[1];(t.offsets.host[l]??0)-c<(n[s]??0)&&(n[s]-=(n[s]??0)-((t.offsets.host[l]??0)-c)),Number(t.offsets.host[s])+Number(c)>(n[l]??0)&&(n[s]+=Number(t.offsets.host[s])+Number(c)-Number(n[l])),n=nd(n);let m=na(t.instance.target),b=parseFloat(m[`margin${o}`])||0,_=parseFloat(m[`border${o}Width`])||0,M;if(!u)M=Number(t.offsets.host[s])+Number(t.offsets.host[r]/2-c/2);else{let P=parseFloat(m.borderRadius)||0,V=Number(b+_+P);M=s===u?Number(t.offsets.host[s])+V:Number(t.offsets.host[s])+Number(t.offsets.host[r]-V)}let I=M-(n[s]??0)-b-_;return I=Math.max(Math.min(n[r]-(c+5),I),0),t.offsets.arrow={[s]:Math.round(I),[a]:""},t.instance.arrow=e,t}function U$(t){if(t.offsets.target=nd(t.offsets.target),!k1(t.options,"flip"))return t.offsets.target=E(E({},t.offsets.target),Kb(t.instance.target,t.offsets.host,t.placement)),t;let n=nC(t.instance.target,t.instance.host,0,"viewport",!1),e=t.placement.split(" ")[0],i=t.placement.split(" ")[1]||"",r=t.offsets.host,o=t.instance.target,s=t.instance.host,a=E1("auto",r,o,s,t.options.allowedPositions),l=[e,a];return l.forEach((c,u)=>{if(e!==c||l.length===u+1)return;e=t.placement.split(" ")[0];let m=e==="left"&&Math.floor(t.offsets.target.right??0)>Math.floor(t.offsets.host.left??0)||e==="right"&&Math.floor(t.offsets.target.left??0)Math.floor(t.offsets.host.top??0)||e==="bottom"&&Math.floor(t.offsets.target.top??0)Math.floor(n.right??0),M=Math.floor(t.offsets.target.top??0)Math.floor(n.bottom??0),P=e==="left"&&b||e==="right"&&_||e==="top"&&M||e==="bottom"&&I,V=["top","bottom"].indexOf(e)!==-1,de=V&&i==="left"&&b||V&&i==="right"&&_||!V&&i==="left"&&M||!V&&i==="right"&&I;(m||P||de)&&((m||P)&&(e=l[u+1]),de&&(i=F$(i)),t.placement=e+(i?` ${i}`:""),t.offsets.target=E(E({},t.offsets.target),Kb(t.instance.target,t.offsets.host,t.placement)))}),t}function $$(t,n,e,i){if(!t||!n)return;let r=x1(t,n);!e.match(/^(auto)*\s*(left|right|top|bottom|start|end)*$/)&&!e.match(/^(left|right|top|bottom|start|end)*(?: (left|right|top|bottom|start|end))*$/)&&(e="auto");let o=!!e.match(/auto/g),s=e.match(/auto\s(left|right|top|bottom|start|end)/)?e.split(" ")[1]||"auto":e,a=s.match(/^(left|right|top|bottom|start|end)* ?(?!\1)(left|right|top|bottom|start|end)?/);a&&(s=a[1]+(a[2]?` ${a[2]}`:"")),["left right","right left","top bottom","bottom top"].indexOf(s)!==-1&&(s="auto"),s=E1(s,r,t,n,i?i.allowedPositions:void 0);let l=Kb(t,r,s);return{options:i||{modifiers:{}},instance:{target:t,host:n,arrow:void 0},offsets:{target:l,host:r,arrow:void 0},positionFixed:!1,placement:s,placementAuto:o}}function Y$(t){if(!k1(t.options,"preventOverflow"))return t;let n="transform",e=t.instance.target.style,{top:i,left:r,[n]:o}=e;e.top="",e.left="",e[n]="";let s=nC(t.instance.target,t.instance.host,0,t.options.modifiers.preventOverflow?.boundariesElement||"scrollParent",!1);e.top=i,e.left=r,e[n]=o;let a=["left","right","top","bottom"],l={primary(c){let u=t.offsets.target[c];return(t.offsets.target[c]??0)<(s[c]??0)&&(u=Math.max(t.offsets.target[c]??0,s[c]??0)),{[c]:u}},secondary(c){let u=c==="right",m=u?"left":"top",b=u?"width":"height",_=t.offsets.target[m];return(t.offsets.target[c]??0)>(s[c]??0)&&(_=Math.min(t.offsets.target[m]??0,(s[c]??0)-t.offsets.target[b])),{[m]:_}}};return a.forEach(c=>{let u=["left","top","start"].indexOf(c)!==-1?l.primary:l.secondary;t.offsets.target=E(E({},t.offsets.target),u(c))}),t}function z$(t){let n=t.placement,e=n.split(" ")[0],i=n.split(" ")[1];if(i){let{host:r,target:o}=t.offsets,s=["bottom","top"].indexOf(e)!==-1,a=s?"left":"top",l=s?"width":"height",c={start:{[a]:r[a]},end:{[a]:(r[a]??0)+r[l]-o[l]}};t.offsets.target=Y(E({},o),{[a]:a===i?c.start[a]:c.end[a]})}return t}var Jb=class{position(n,e){return this.offset(n,e)}offset(n,e){return x1(e,n)}positionElements(n,e,i,r,o){let s=[U$,z$,Y$,B$],a=w1[i],l=$$(e,n,a,o);if(l)return s.reduce((c,u)=>u(c),l)}},W$=new Jb;function G$(t,n,e,i,r,o){let s=W$.positionElements(t,n,e,i,r);if(!s)return;let a=N$(s);C1(n,{"will-change":"transform",top:"0px",left:"0px",transform:`translate3d(${a.left}px, ${a.top}px, 0px)`},o),s.instance.arrow&&C1(s.instance.arrow,s.offsets.arrow,o),H$(s,o)}var rn=(()=>{class t{constructor(e,i,r){this.update$$=new X,this.positionElements=new Map,this.isDisabled=!1,xs(r)&&e.runOutsideAngular(()=>{this.triggerEvent$=Ta(ui(window,"scroll",{passive:!0}),ui(window,"resize",{passive:!0}),Q(0,wa),this.update$$),this.triggerEvent$.subscribe(()=>{this.isDisabled||this.positionElements.forEach(o=>{G$(am(o.target),am(o.element),o.attachment,o.appendToBody,this.options,i.createRenderer(null,null))})})})}position(e){this.addPositionElement(e)}get event$(){return this.triggerEvent$}disable(){this.isDisabled=!0}enable(){this.isDisabled=!1}addPositionElement(e){this.positionElements.set(am(e.element),e)}calcPosition(){this.update$$.next(null)}deletePositionElement(e){this.positionElements.delete(am(e))}setOptions(e){this.options=e}static{this.\u0275fac=function(i){return new(i||t)(F(Se),F(kn),F(Qn))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function am(t){return typeof t=="string"?document.querySelector(t):t instanceof $?t.nativeElement:t??null}var Hl=class extends Ne{constructor(n,e,i){super(n),e.pipe(cs(e_)).pipe(bc((s,a)=>a?i(s,a):s,n)).subscribe(s=>this.next(s))}},Bl=class t extends ne{constructor(n,e,i){super(),this._dispatcher=n,this._reducer=e,this.source=i}select(n){return(this.source?.pipe(G(n))||new ne().pipe(G(n))).pipe(Hr())}lift(n){let e=new t(this._dispatcher,this._reducer,this);return e.operator=n,e}dispatch(n){this._dispatcher.next(n)}next(n){this._dispatcher.next(n)}error(n){this._dispatcher.error(n)}complete(){}};function q$(t,n){t&1&&(d(0,"td"),y(1,"\xA0\xA0\xA0"),h())}function Q$(t,n){if(t&1){let e=N();d(0,"td")(1,"a",1),D("click",function(){C(e);let r=p();return w(r.changeMinutes(r.minuteStep))}),A(2,"span",2),h()()}if(t&2){let e=p();f(),j("disabled",!e.canIncrementMinutes||!e.isEditable)}}function Z$(t,n){t&1&&(d(0,"td"),y(1,"\xA0"),h())}function K$(t,n){if(t&1){let e=N();d(0,"td")(1,"a",1),D("click",function(){C(e);let r=p();return w(r.changeSeconds(r.secondsStep))}),A(2,"span",2),h()()}if(t&2){let e=p();f(),j("disabled",!e.canIncrementSeconds||!e.isEditable)}}function J$(t,n){t&1&&(d(0,"td"),y(1,"\xA0\xA0\xA0"),h())}function X$(t,n){t&1&&A(0,"td")}function eY(t,n){t&1&&(d(0,"td"),y(1,"\xA0:\xA0"),h())}function tY(t,n){if(t&1){let e=N();d(0,"td",4)(1,"input",5),D("wheel",function(r){C(e);let o=p();return o.prevDef(r),w(o.changeMinutes(o.minuteStep*o.wheelSign(r),"wheel"))})("keydown.ArrowUp",function(){C(e);let r=p();return w(r.changeMinutes(r.minuteStep,"key"))})("keydown.ArrowDown",function(){C(e);let r=p();return w(r.changeMinutes(-r.minuteStep,"key"))})("change",function(r){C(e);let o=p();return w(o.updateMinutes(r.target))}),h()()}if(t&2){let e=p();j("has-error",e.invalidMinutes),f(),j("is-invalid",e.invalidMinutes),g("placeholder",e.minutesPlaceholder)("readonly",e.readonlyInput)("disabled",e.disabled)("value",e.minutes),J("aria-label",e.labelMinutes)}}function nY(t,n){t&1&&(d(0,"td"),y(1,"\xA0:\xA0"),h())}function iY(t,n){if(t&1){let e=N();d(0,"td",4)(1,"input",5),D("wheel",function(r){C(e);let o=p();return o.prevDef(r),w(o.changeSeconds(o.secondsStep*o.wheelSign(r),"wheel"))})("keydown.ArrowUp",function(){C(e);let r=p();return w(r.changeSeconds(r.secondsStep,"key"))})("keydown.ArrowDown",function(){C(e);let r=p();return w(r.changeSeconds(-r.secondsStep,"key"))})("change",function(r){C(e);let o=p();return w(o.updateSeconds(r.target))}),h()()}if(t&2){let e=p();j("has-error",e.invalidSeconds),f(),j("is-invalid",e.invalidSeconds),g("placeholder",e.secondsPlaceholder)("readonly",e.readonlyInput)("disabled",e.disabled)("value",e.seconds),J("aria-label",e.labelSeconds)}}function rY(t,n){t&1&&(d(0,"td"),y(1,"\xA0\xA0\xA0"),h())}function oY(t,n){if(t&1){let e=N();d(0,"td")(1,"button",8),D("click",function(){C(e);let r=p();return w(r.toggleMeridian())}),y(2),h()()}if(t&2){let e=p();f(),j("disabled",!e.isEditable||!e.canToggleMeridian),g("disabled",!e.isEditable||!e.canToggleMeridian),f(),pe("",e.meridian," ")}}function sY(t,n){t&1&&(d(0,"td"),y(1,"\xA0\xA0\xA0"),h())}function aY(t,n){if(t&1){let e=N();d(0,"td")(1,"a",1),D("click",function(){C(e);let r=p();return w(r.changeMinutes(-r.minuteStep))}),A(2,"span",7),h()()}if(t&2){let e=p();f(),j("disabled",!e.canDecrementMinutes||!e.isEditable)}}function lY(t,n){t&1&&(d(0,"td"),y(1,"\xA0"),h())}function cY(t,n){if(t&1){let e=N();d(0,"td")(1,"a",1),D("click",function(){C(e);let r=p();return w(r.changeSeconds(-r.secondsStep))}),A(2,"span",7),h()()}if(t&2){let e=p();f(),j("disabled",!e.canDecrementSeconds||!e.isEditable)}}function uY(t,n){t&1&&(d(0,"td"),y(1,"\xA0\xA0\xA0"),h())}function dY(t,n){t&1&&A(0,"td")}var Go=(()=>{class t{static{this.WRITE_VALUE="[timepicker] write value from ng model"}static{this.CHANGE_HOURS="[timepicker] change hours"}static{this.CHANGE_MINUTES="[timepicker] change minutes"}static{this.CHANGE_SECONDS="[timepicker] change seconds"}static{this.SET_TIME_UNIT="[timepicker] set time unit"}static{this.UPDATE_CONTROLS="[timepicker] update controls"}writeValue(e){return{type:t.WRITE_VALUE,payload:e}}changeHours(e){return{type:t.CHANGE_HOURS,payload:e}}changeMinutes(e){return{type:t.CHANGE_MINUTES,payload:e}}changeSeconds(e){return{type:t.CHANGE_SECONDS,payload:e}}setTime(e){return{type:t.SET_TIME_UNIT,payload:e}}updateControls(e){return{type:t.UPDATE_CONTROLS,payload:e}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),hY=10,fY=24,L1=12,pY=60,mY=60;function sC(t){return!t||t instanceof Date&&isNaN(t.getHours())?!1:typeof t=="string"?sC(new Date(t)):!0}function rC(t,n){return!(t.min&&nt.max)}function Ul(t){return typeof t>"u"?NaN:typeof t=="number"?t:parseInt(t,hY)}function F1(t,n=!1){let e=Ul(t);return isNaN(e)||e<0||e>(n?L1:fY)?NaN:e}function V1(t){let n=Ul(t);return isNaN(n)||n<0||n>pY?NaN:n}function j1(t){let n=Ul(t);return isNaN(n)||n<0||n>mY?NaN:n}function A1(t){return typeof t=="string"?new Date(t):t}function Pi(t,n){if(!t)return Pi(um(new Date,0,0,0),n);if(!n)return t;let e=t.getHours(),i=t.getMinutes(),r=t.getSeconds();return n.hour&&(e=e+Ul(n.hour)),n.minute&&(i=i+Ul(n.minute)),n.seconds&&(r=r+Ul(n.seconds)),um(t,e,i,r)}function H1(t,n){let e=F1(n.hour),i=V1(n.minute),r=j1(n.seconds)||0;return n.isPM&&e!==12&&(e+=L1),t?isNaN(e)||isNaN(i)?t:um(t,e,i,r):!isNaN(e)&&!isNaN(i)?um(new Date,e,i,r):t}function um(t,n,e,i){let r=new Date(t.getFullYear(),t.getMonth(),t.getDate(),n,e,i,t.getMilliseconds());return r.setFullYear(t.getFullYear()),r.setMonth(t.getMonth()),r.setDate(t.getDate()),r}function oC(t){let n=t.toString();return n.length>1?n:`0${n}`}function B1(t,n){return!isNaN(F1(t,n))}function U1(t){return!isNaN(V1(t))}function $1(t){return!isNaN(j1(t))}function gY(t,n,e){let i=H1(new Date,t);return!(!i||n&&i>n||e&&i0&&!n.canIncrementHours||t.step<0&&!n.canDecrementHours)}function vY(t,n){return!(!t.step||t.step>0&&!n.canIncrementMinutes||t.step<0&&!n.canDecrementMinutes)}function bY(t,n){return!(!t.step||t.step>0&&!n.canIncrementSeconds||t.step<0&&!n.canDecrementSeconds)}function P1(t){let{hourStep:n,minuteStep:e,secondsStep:i,readonlyInput:r,disabled:o,mousewheel:s,arrowkeys:a,showSpinners:l,showMeridian:c,showSeconds:u,meridians:m,min:b,max:_}=t;return{hourStep:n,minuteStep:e,secondsStep:i,readonlyInput:r,disabled:o,mousewheel:s,arrowkeys:a,showSpinners:l,showMeridian:c,showSeconds:u,meridians:m,min:b,max:_}}function CY(t,n){let{min:r,max:o,hourStep:s,minuteStep:a,secondsStep:l,showSeconds:c}=n,u={canIncrementHours:!0,canIncrementMinutes:!0,canIncrementSeconds:!0,canDecrementHours:!0,canDecrementMinutes:!0,canDecrementSeconds:!0,canToggleMeridian:!0};if(!t)return u;if(o){let m=Pi(t,{hour:s});if(u.canIncrementHours=o>m&&t.getHours()+s<24,!u.canIncrementHours){let b=Pi(t,{minute:a});u.canIncrementMinutes=c?o>b:o>=b}if(!u.canIncrementMinutes){let b=Pi(t,{seconds:l});u.canIncrementSeconds=o>=b}t.getHours()<12&&(u.canToggleMeridian=Pi(t,{hour:12})=12&&(u.canToggleMeridian=Pi(t,{hour:-12})>r)}return u}var Y1=(()=>{class t{constructor(){this.hourStep=1,this.minuteStep=5,this.secondsStep=10,this.showMeridian=!0,this.meridians=["AM","PM"],this.readonlyInput=!1,this.disabled=!1,this.allowEmptyTime=!1,this.mousewheel=!0,this.arrowkeys=!0,this.showSpinners=!0,this.showSeconds=!1,this.showMinutes=!0,this.hoursPlaceholder="HH",this.minutesPlaceholder="MM",this.secondsPlaceholder="SS",this.ariaLabelHours="hours",this.ariaLabelMinutes="minutes",this.ariaLabelSeconds="seconds"}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),z1={value:void 0,config:new Y1,controls:{canIncrementHours:!0,canIncrementMinutes:!0,canIncrementSeconds:!0,canDecrementHours:!0,canDecrementMinutes:!0,canDecrementSeconds:!0,canToggleMeridian:!0}};function O1(t=z1,n){switch(n.type){case Go.WRITE_VALUE:return Object.assign({},t,{value:n.payload});case Go.CHANGE_HOURS:{if(!cm(t.config,n.payload)||!yY(n.payload,t.controls))return t;let e=Pi(t.value,{hour:n.payload.step});return(t.config.max||t.config.min)&&!rC(t.config,e)?t:Object.assign({},t,{value:e})}case Go.CHANGE_MINUTES:{if(!cm(t.config,n.payload)||!vY(n.payload,t.controls))return t;let e=Pi(t.value,{minute:n.payload.step});return(t.config.max||t.config.min)&&!rC(t.config,e)?t:Object.assign({},t,{value:e})}case Go.CHANGE_SECONDS:{if(!cm(t.config,n.payload)||!bY(n.payload,t.controls))return t;let e=Pi(t.value,{seconds:n.payload.step});return(t.config.max||t.config.min)&&!rC(t.config,e)?t:Object.assign({},t,{value:e})}case Go.SET_TIME_UNIT:{if(!cm(t.config))return t;let e=H1(t.value,n.payload);return Object.assign({},t,{value:e})}case Go.UPDATE_CONTROLS:{let e=CY(t.value,n.payload),i={value:t.value,config:n.payload,controls:e};return t.config.showMeridian!==i.config.showMeridian&&t.value&&(i.value=new Date(t.value)),Object.assign({},t,i)}default:return t}}var N1=(()=>{class t extends Bl{constructor(){let e=new Ne({type:"[mini-ngrx] dispatcher init"}),i=new Hl(z1,e,O1);super(e,O1,i)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),wY={provide:It,useExisting:He(()=>$l),multi:!0},$l=(()=>{class t{constructor(e,i,r,o){this._cd=i,this._store=r,this._timepickerActions=o,this.hourStep=1,this.minuteStep=5,this.secondsStep=10,this.readonlyInput=!1,this.disabled=!1,this.mousewheel=!0,this.arrowkeys=!0,this.showSpinners=!0,this.showMeridian=!0,this.showMinutes=!0,this.showSeconds=!1,this.meridians=["AM","PM"],this.hoursPlaceholder="HH",this.minutesPlaceholder="MM",this.secondsPlaceholder="SS",this.isValid=new O,this.meridianChange=new O,this.hours="",this.minutes="",this.seconds="",this.meridian="",this.invalidHours=!1,this.invalidMinutes=!1,this.invalidSeconds=!1,this.labelHours="hours",this.labelMinutes="minutes",this.labelSeconds="seconds",this.canIncrementHours=!0,this.canIncrementMinutes=!0,this.canIncrementSeconds=!0,this.canDecrementHours=!0,this.canDecrementMinutes=!0,this.canDecrementSeconds=!0,this.canToggleMeridian=!0,this.onChange=Function.prototype,this.onTouched=Function.prototype,this.config=e,Object.assign(this,this.config),this.timepickerSub=r.select(s=>s.value).subscribe(s=>{this._renderTime(s),this.onChange(s),this._store.dispatch(this._timepickerActions.updateControls(P1(this)))}),r.select(s=>s.controls).subscribe(s=>{let a=R1(this.hours,this.minutes,this.seconds,this.isPM()),l=this.config.allowEmptyTime&&this.isOneOfDatesIsEmpty()||a;this.isValid.emit(l),Object.assign(this,s),i.markForCheck()})}get isSpinnersVisible(){return this.showSpinners&&!this.readonlyInput}get isEditable(){return!(this.readonlyInput||this.disabled)}resetValidation(){this.invalidHours=!1,this.invalidMinutes=!1,this.invalidSeconds=!1}isPM(){return this.showMeridian&&this.meridian===this.meridians[1]}prevDef(e){e.preventDefault()}wheelSign(e){return Math.sign(e.deltaY||0)*-1}ngOnChanges(){this._store.dispatch(this._timepickerActions.updateControls(P1(this)))}changeHours(e,i=""){this.resetValidation(),this._store.dispatch(this._timepickerActions.changeHours({step:e,source:i}))}changeMinutes(e,i=""){this.resetValidation(),this._store.dispatch(this._timepickerActions.changeMinutes({step:e,source:i}))}changeSeconds(e,i=""){this.resetValidation(),this._store.dispatch(this._timepickerActions.changeSeconds({step:e,source:i}))}updateHours(e){this.resetValidation(),this.hours=e.value;let i=B1(this.hours,this.isPM())&&this.isValidLimit();if(!(this.config.allowEmptyTime&&this.isOneOfDatesIsEmpty()||i)){this.invalidHours=!0,this.isValid.emit(!1),this.onChange(null);return}this._updateTime()}updateMinutes(e){this.resetValidation(),this.minutes=e.value;let i=U1(this.minutes)&&this.isValidLimit();if(!(this.config.allowEmptyTime&&this.isOneOfDatesIsEmpty()||i)){this.invalidMinutes=!0,this.isValid.emit(!1),this.onChange(null);return}this._updateTime()}updateSeconds(e){this.resetValidation(),this.seconds=e.value;let i=$1(this.seconds)&&this.isValidLimit();if(!(this.config.allowEmptyTime&&this.isOneOfDatesIsEmpty()||i)){this.invalidSeconds=!0,this.isValid.emit(!1),this.onChange(null);return}this._updateTime()}isValidLimit(){return gY({hour:this.hours,minute:this.minutes,seconds:this.seconds,isPM:this.isPM()},this.max,this.min)}isOneOfDatesIsEmpty(){return _Y(this.hours,this.minutes,this.seconds)}_updateTime(){let e=this.showSeconds?this.seconds:void 0,i=this.showMinutes?this.minutes:void 0,r=R1(this.hours,i,e,this.isPM());if(!(this.config.allowEmptyTime&&this.isOneOfDatesIsEmpty()||r)){this.isValid.emit(!1),this.onChange(null);return}this._store.dispatch(this._timepickerActions.setTime({hour:this.hours,minute:this.minutes,seconds:this.seconds,isPM:this.isPM()}))}toggleMeridian(){if(!this.showMeridian||!this.isEditable)return;this._store.dispatch(this._timepickerActions.changeHours({step:12,source:""}))}writeValue(e){sC(e)?(this.resetValidation(),this._store.dispatch(this._timepickerActions.writeValue(A1(e)))):e==null&&this._store.dispatch(this._timepickerActions.writeValue())}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.disabled=e,this._cd.markForCheck()}ngOnDestroy(){this.timepickerSub?.unsubscribe()}_renderTime(e){if(!e||!sC(e)){this.hours="",this.minutes="",this.seconds="",this.meridian=this.meridians[0],this.meridianChange.emit(this.meridian);return}let i=A1(e);if(!i)return;let r=12,o=i.getHours();this.showMeridian&&(this.meridian=this.meridians[o>=r?1:0],this.meridianChange.emit(this.meridian),o=o%r,o===0&&(o=r)),this.hours=oC(o),this.minutes=oC(i.getMinutes()),this.seconds=oC(i.getUTCSeconds())}static{this.\u0275fac=function(i){return new(i||t)(v(Y1),v(it),v(N1),v(Go))}}static{this.\u0275cmp=L({type:t,selectors:[["timepicker"]],inputs:{hourStep:"hourStep",minuteStep:"minuteStep",secondsStep:"secondsStep",readonlyInput:"readonlyInput",disabled:"disabled",mousewheel:"mousewheel",arrowkeys:"arrowkeys",showSpinners:"showSpinners",showMeridian:"showMeridian",showMinutes:"showMinutes",showSeconds:"showSeconds",meridians:"meridians",min:"min",max:"max",hoursPlaceholder:"hoursPlaceholder",minutesPlaceholder:"minutesPlaceholder",secondsPlaceholder:"secondsPlaceholder"},outputs:{isValid:"isValid",meridianChange:"meridianChange"},features:[ce([wY,N1,Go]),xe],decls:31,vars:33,consts:[[1,"text-center",3,"hidden"],["href","javascript:void(0);",1,"btn","btn-link",3,"click"],[1,"bs-chevron","bs-chevron-up"],[4,"ngIf"],[1,"form-group","mb-3"],["type","text","maxlength","2",1,"form-control","text-center","bs-timepicker-field",3,"wheel","keydown.ArrowUp","keydown.ArrowDown","change","placeholder","readonly","disabled","value"],["class","form-group mb-3",3,"has-error",4,"ngIf"],[1,"bs-chevron","bs-chevron-down"],["type","button",1,"btn","btn-default","text-center",3,"click","disabled"]],template:function(i,r){i&1&&(d(0,"table")(1,"tbody")(2,"tr",0)(3,"td")(4,"a",1),D("click",function(){return r.changeHours(r.hourStep)}),A(5,"span",2),h()(),T(6,q$,2,0,"td",3)(7,Q$,3,2,"td",3)(8,Z$,2,0,"td",3)(9,K$,3,2,"td",3)(10,J$,2,0,"td",3)(11,X$,1,0,"td",3),h(),d(12,"tr")(13,"td",4)(14,"input",5),D("wheel",function(s){return r.prevDef(s),r.changeHours(r.hourStep*r.wheelSign(s),"wheel")})("keydown.ArrowUp",function(){return r.changeHours(r.hourStep,"key")})("keydown.ArrowDown",function(){return r.changeHours(-r.hourStep,"key")})("change",function(s){return r.updateHours(s.target)}),h()(),T(15,eY,2,0,"td",3)(16,tY,2,9,"td",6)(17,nY,2,0,"td",3)(18,iY,2,9,"td",6)(19,rY,2,0,"td",3)(20,oY,3,4,"td",3),h(),d(21,"tr",0)(22,"td")(23,"a",1),D("click",function(){return r.changeHours(-r.hourStep)}),A(24,"span",7),h()(),T(25,sY,2,0,"td",3)(26,aY,3,2,"td",3)(27,lY,2,0,"td",3)(28,cY,3,2,"td",3)(29,uY,2,0,"td",3)(30,dY,1,0,"td",3),h()()()),i&2&&(f(2),g("hidden",!r.showSpinners),f(2),j("disabled",!r.canIncrementHours||!r.isEditable),f(2),g("ngIf",r.showMinutes),f(),g("ngIf",r.showMinutes),f(),g("ngIf",r.showSeconds),f(),g("ngIf",r.showSeconds),f(),g("ngIf",r.showMeridian),f(),g("ngIf",r.showMeridian),f(2),j("has-error",r.invalidHours),f(),j("is-invalid",r.invalidHours),g("placeholder",r.hoursPlaceholder)("readonly",r.readonlyInput)("disabled",r.disabled)("value",r.hours),J("aria-label",r.labelHours),f(),g("ngIf",r.showMinutes),f(),g("ngIf",r.showMinutes),f(),g("ngIf",r.showSeconds),f(),g("ngIf",r.showSeconds),f(),g("ngIf",r.showMeridian),f(),g("ngIf",r.showMeridian),f(),g("hidden",!r.showSpinners),f(2),j("disabled",!r.canDecrementHours||!r.isEditable),f(2),g("ngIf",r.showMinutes),f(),g("ngIf",r.showMinutes),f(),g("ngIf",r.showSeconds),f(),g("ngIf",r.showSeconds),f(),g("ngIf",r.showMeridian),f(),g("ngIf",r.showMeridian))},dependencies:[Me],styles:[`.bs-chevron{border-style:solid;display:block;width:9px;height:9px;position:relative;border-width:3px 0px 0 3px}.bs-chevron-up{-webkit-transform:rotate(45deg);transform:rotate(45deg);top:2px}.bs-chevron-down{-webkit-transform:rotate(-135deg);transform:rotate(-135deg);top:-2px}.bs-timepicker-field{width:65px;padding:.375rem .55rem} +`],encapsulation:2,changeDetection:0})}}return t})(),Yl=(()=>{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=Ce({type:t})}static{this.\u0275inj=be({})}}return t})();var ia=class{constructor(n,e,i){this.nodes=n,this.viewRef=e,this.componentRef=i}},aC=class{constructor(n,e,i,r,o,s,a,l,c){this._viewContainerRef=n,this._renderer=e,this._elementRef=i,this._injector=r,this._componentFactoryResolver=o,this._ngZone=s,this._applicationRef=a,this._posService=l,this._document=c,this.onBeforeShow=new O,this.onShown=new O,this.onBeforeHide=new O,this.onHidden=new O,this._providers=[],this._isHiding=!1,this.containerDefaultSelector="body",this._listenOpts={},this._globalListener=Function.prototype}get isShown(){return this._isHiding?!1:!!this._componentRef}attach(n){return this._componentFactory=this._componentFactoryResolver.resolveComponentFactory(n),this}to(n){return this.container=n||this.container,this}position(n){return n?(this.attachment=n.attachment||this.attachment,this._elementRef=n.target||this._elementRef,this):this}provide(n){return this._providers.push(n),this}show(n={}){if(this._subscribePositioning(),this._innerComponent=void 0,!this._componentRef){this.onBeforeShow.emit(),this._contentRef=this._getContentRef(n.content,n.context,n.initialState);let e=kt.create({providers:this._providers,parent:this._injector});if(!this._componentFactory)return;if(this._componentRef=this._componentFactory.create(e,this._contentRef.nodes),this._applicationRef.attachView(this._componentRef.hostView),this.instance=this._componentRef.instance,Object.assign(this._componentRef.instance,n),this.container instanceof $&&this.container.nativeElement.appendChild(this._componentRef.location.nativeElement),typeof this.container=="string"&&typeof this._document<"u"){let i=this._document.querySelector(this.container)||this._document.querySelector(this.containerDefaultSelector);if(!i)return;i.appendChild(this._componentRef.location.nativeElement)}!this.container&&this._elementRef&&this._elementRef.nativeElement.parentElement&&this._elementRef.nativeElement.parentElement.appendChild(this._componentRef.location.nativeElement),this._contentRef.componentRef&&(this._innerComponent=this._contentRef.componentRef.instance,this._contentRef.componentRef.changeDetectorRef.markForCheck(),this._contentRef.componentRef.changeDetectorRef.detectChanges()),this._componentRef.changeDetectorRef.markForCheck(),this._componentRef.changeDetectorRef.detectChanges(),this.onShown.emit(n.id?{id:n.id}:this._componentRef.instance)}return this._registerOutsideClick(),this._componentRef}hide(n){if(!this._componentRef)return this;this._posService.deletePositionElement(this._componentRef.location),this.onBeforeHide.emit(this._componentRef.instance);let e=this._componentRef.location.nativeElement;return e.parentNode?.removeChild(e),this._contentRef?.componentRef?.destroy(),this._viewContainerRef&&this._contentRef?.viewRef&&this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._contentRef.viewRef)),this._contentRef?.viewRef?.destroy(),this._componentRef?.destroy(),this._contentRef=void 0,this._componentRef=void 0,this._removeGlobalListener(),this.onHidden.emit(n?{id:n}:null),this}toggle(){if(this.isShown){this.hide();return}this.show()}dispose(){this.isShown&&this.hide(),this._unsubscribePositioning(),this._unregisterListenersFn&&this._unregisterListenersFn()}listen(n){this.triggers=n.triggers||this.triggers,this._listenOpts.outsideClick=n.outsideClick,this._listenOpts.outsideEsc=n.outsideEsc,n.target=n.target||this._elementRef?.nativeElement;let e=this._listenOpts.hide=()=>n.hide?n.hide():void this.hide(),i=this._listenOpts.show=o=>{n.show?n.show(o):this.show(o),o()},r=o=>{this.isShown?e():i(o)};return this._renderer&&(this._unregisterListenersFn=d1(this._renderer,{target:n.target,triggers:n.triggers,show:i,hide:e,toggle:r})),this}_removeGlobalListener(){this._globalListener&&(this._globalListener(),this._globalListener=Function.prototype)}attachInline(n,e){return n&&e&&(this._inlineViewRef=n.createEmbeddedView(e)),this}_registerOutsideClick(){if(!this._componentRef||!this._componentRef.location)return;let n=Function.prototype,e=Function.prototype;if(this._listenOpts.outsideClick){let i=this._componentRef.location.nativeElement;setTimeout(()=>{this._renderer&&this._elementRef&&(n=h1(this._renderer,{targets:[i,this._elementRef.nativeElement],outsideClick:this._listenOpts.outsideClick,hide:()=>this._listenOpts.hide&&this._listenOpts.hide()}))})}if(this._listenOpts.outsideEsc&&this._renderer&&this._elementRef){let i=this._componentRef.location.nativeElement;e=f1(this._renderer,{targets:[i,this._elementRef.nativeElement],outsideEsc:this._listenOpts.outsideEsc,hide:()=>this._listenOpts.hide&&this._listenOpts.hide()})}this._globalListener=()=>{n(),e()}}getInnerComponent(){return this._innerComponent}_subscribePositioning(){this._zoneSubscription||!this.attachment||(this.onShown.subscribe(()=>{this._posService.position({element:this._componentRef?.location,target:this._elementRef,attachment:this.attachment,appendToBody:this.container==="body"})}),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>{this._componentRef&&this._posService.calcPosition()}))}_unsubscribePositioning(){this._zoneSubscription&&(this._zoneSubscription.unsubscribe(),this._zoneSubscription=void 0)}_getContentRef(n,e,i){if(!n)return new ia([]);if(n instanceof Et){if(this._viewContainerRef){let s=this._viewContainerRef.createEmbeddedView(n,e);return s.markForCheck(),new ia([s.rootNodes],s)}let o=n.createEmbeddedView({});return this._applicationRef.attachView(o),new ia([o.rootNodes],o)}if(typeof n=="function"){let o=this._componentFactoryResolver.resolveComponentFactory(n),s=kt.create({providers:this._providers,parent:this._injector}),a=o.create(s);return Object.assign(a.instance,i),this._applicationRef.attachView(a.hostView),new ia([[a.location.nativeElement]],a.hostView,a)}let r=this._renderer?[this._renderer.createText(`${n}`)]:[];return new ia([r])}},Qt=(()=>{class t{constructor(e,i,r,o,s,a){this._componentFactoryResolver=e,this._ngZone=i,this._injector=r,this._posService=o,this._applicationRef=s,this._document=a}createLoader(e,i,r){return new aC(i,r,e,this._injector,this._componentFactoryResolver,this._ngZone,this._applicationRef,this._posService,this._document)}static{this.\u0275fac=function(i){return new(i||t)(F(So),F(Se),F(kt),F(rn),F(An),F(Ie))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var MY=["*"],lC=(()=>{class t{constructor(){this.adaptivePosition=!0,this.placement="top",this.triggers="hover focus",this.delay=0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),SY=(()=>{class t{get _bsVersions(){return Wo()}constructor(e){Object.assign(this,e)}ngAfterViewInit(){this.classMap={in:!1,fade:!1},this.placement&&(this._bsVersions.isBs5&&(this.placement=td[this.placement]),this.classMap[this.placement]=!0),this.classMap[`tooltip-${this.placement}`]=!0,this.classMap.in=!0,this.animation&&(this.classMap.fade=!0),this.containerClass&&(this.classMap[this.containerClass]=!0)}static{this.\u0275fac=function(i){return new(i||t)(v(lC))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-tooltip-container"]],hostAttrs:["role","tooltip"],hostVars:3,hostBindings:function(i,r){i&2&&(J("id",r.id),Jt("show tooltip in tooltip-"+r.placement+" bs-tooltip-"+r.placement+" "+r.placement+" "+r.containerClass))},ngContentSelectors:MY,decls:3,vars:0,consts:[[1,"tooltip-arrow","arrow"],[1,"tooltip-inner"]],template:function(i,r){i&1&&(Nn(),A(0,"div",0),d(1,"div",1),Cn(2),h())},styles:[".tooltip[_nghost-%COMP%]{display:block;pointer-events:none;position:absolute}.tooltip[_nghost-%COMP%] .tooltip-arrow[_ngcontent-%COMP%]{position:absolute}"],changeDetection:0})}}return t})(),TY=0,W1=(()=>{class t{get isOpen(){return this._tooltip.isShown}set isOpen(e){e?this.show():this.hide()}set htmlContent(e){Un("tooltipHtml was deprecated, please use `tooltip` instead"),this.tooltip=e}set _placement(e){Un("tooltipPlacement was deprecated, please use `placement` instead"),this.placement=e}set _isOpen(e){Un("tooltipIsOpen was deprecated, please use `isOpen` instead"),this.isOpen=e}get _isOpen(){return Un("tooltipIsOpen was deprecated, please use `isOpen` instead"),this.isOpen}set _enable(e){Un("tooltipEnable was deprecated, please use `isDisabled` instead"),this.isDisabled=!e}get _enable(){return Un("tooltipEnable was deprecated, please use `isDisabled` instead"),this.isDisabled}set _appendToBody(e){Un('tooltipAppendToBody was deprecated, please use `container="body"` instead'),this.container=e?"body":this.container}get _appendToBody(){return Un('tooltipAppendToBody was deprecated, please use `container="body"` instead'),this.container==="body"}set _popupClass(e){Un("tooltipClass deprecated")}set _tooltipContext(e){Un("tooltipContext deprecated")}set _tooltipPopupDelay(e){Un("tooltipPopupDelay is deprecated, use `delay` instead"),this.delay=e}get _tooltipTrigger(){return Un("tooltipTrigger was deprecated, please use `triggers` instead"),this.triggers}set _tooltipTrigger(e){Un("tooltipTrigger was deprecated, please use `triggers` instead"),this.triggers=(e||"").toString()}constructor(e,i,r,o,s,a){this._elementRef=o,this._renderer=s,this._positionService=a,this.tooltipId=TY++,this.adaptivePosition=!0,this.tooltipChange=new O,this.placement="top",this.triggers="hover focus",this.containerClass="",this.isDisabled=!1,this.delay=0,this.tooltipAnimation=!0,this.tooltipFadeDuration=150,this.tooltipStateChanged=new O,this._tooltip=i.createLoader(this._elementRef,e,this._renderer).provide({provide:lC,useValue:r}),Object.assign(this,r),this.onShown=this._tooltip.onShown,this.onHidden=this._tooltip.onHidden}ngOnInit(){this._tooltip.listen({triggers:this.triggers,show:()=>this.show()}),this.tooltipChange.subscribe(e=>{e||this._tooltip.hide()}),this.onShown.subscribe(()=>{this.setAriaDescribedBy()}),this.onHidden.subscribe(()=>{this.setAriaDescribedBy()})}setAriaDescribedBy(){this._ariaDescribedby=this.isOpen?`tooltip-${this.tooltipId}`:void 0,this._ariaDescribedby?this._renderer.setAttribute(this._elementRef.nativeElement,"aria-describedby",this._ariaDescribedby):this._renderer.removeAttribute(this._elementRef.nativeElement,"aria-describedby")}toggle(){if(this.isOpen)return this.hide();this.show()}show(){if(this._positionService.setOptions({modifiers:{flip:{enabled:this.adaptivePosition},preventOverflow:{enabled:this.adaptivePosition,boundariesElement:this.boundariesElement||"scrollParent"}}}),this.isOpen||this.isDisabled||this._delayTimeoutId||!this.tooltip)return;let e=()=>{this._delayTimeoutId&&(this._delayTimeoutId=void 0),this._tooltip.attach(SY).to(this.container).position({attachment:this.placement}).show({content:this.tooltip,placement:this.placement,containerClass:this.containerClass,id:`tooltip-${this.tooltipId}`})},i=()=>{this._tooltipCancelShowFn&&this._tooltipCancelShowFn()};this.delay?(this._delaySubscription&&this._delaySubscription.unsubscribe(),this._delaySubscription=us(this.delay).subscribe(()=>{e(),i()}),this.triggers&&Qb(this.triggers).forEach(r=>{r.close&&(this._tooltipCancelShowFn=this._renderer.listen(this._elementRef.nativeElement,r.close,()=>{this._delaySubscription?.unsubscribe(),i()}))})):e()}hide(){this._delayTimeoutId&&(clearTimeout(this._delayTimeoutId),this._delayTimeoutId=void 0),this._tooltip.isShown&&(this._tooltip.instance?.classMap&&(this._tooltip.instance.classMap.in=!1),setTimeout(()=>{this._tooltip.hide()},this.tooltipFadeDuration))}ngOnDestroy(){this._tooltip.dispose(),this.tooltipChange.unsubscribe(),this._delaySubscription&&this._delaySubscription.unsubscribe(),this.onShown.unsubscribe(),this.onHidden.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(v(pt),v(Qt),v(lC),v($),v(ke),v(rn))}}static{this.\u0275dir=B({type:t,selectors:[["","tooltip",""],["","tooltipHtml",""]],inputs:{adaptivePosition:"adaptivePosition",tooltip:"tooltip",placement:"placement",triggers:"triggers",container:"container",containerClass:"containerClass",boundariesElement:"boundariesElement",isOpen:"isOpen",isDisabled:"isDisabled",delay:"delay",htmlContent:[0,"tooltipHtml","htmlContent"],_placement:[0,"tooltipPlacement","_placement"],_isOpen:[0,"tooltipIsOpen","_isOpen"],_enable:[0,"tooltipEnable","_enable"],_appendToBody:[0,"tooltipAppendToBody","_appendToBody"],tooltipAnimation:"tooltipAnimation",_popupClass:[0,"tooltipClass","_popupClass"],_tooltipContext:[0,"tooltipContext","_tooltipContext"],_tooltipPopupDelay:[0,"tooltipPopupDelay","_tooltipPopupDelay"],tooltipFadeDuration:"tooltipFadeDuration",_tooltipTrigger:[0,"tooltipTrigger","_tooltipTrigger"]},outputs:{tooltipChange:"tooltipChange",onShown:"onShown",onHidden:"onHidden",tooltipStateChanged:"tooltipStateChanged"},exportAs:["bs-tooltip"],features:[ce([Qt,rn])]})}}return zw([g1(),Ww("design:type",Object)],t.prototype,"tooltip",void 0),t})(),cC=(()=>{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=Ce({type:t})}static{this.\u0275inj=be({imports:[ot]})}}return t})();function IY(t,n){if(t&1){let e=N();d(0,"button",2),D("click",function(){let r=C(e).$implicit,o=p();return w(o.selectFromRanges(r))}),y(1),h()}if(t&2){let e=n.$implicit,i=p();j("selected",i.compareRanges(e)),f(),pe(" ",e.label," ")}}function xY(t,n){if(t&1){let e=N();At(0),y(1," \u200B "),d(2,"button",2),D("click",function(){C(e);let r=p();return w(r.view("month"))}),d(3,"span"),y(4),h()(),Rt()}if(t&2){let e=p();f(2),g("disabled",e.isDisabled),f(2),H(e.calendar.monthTitle)}}var kY=[[["bs-datepicker-navigation-view"]],"*"],AY=["bs-datepicker-navigation-view","*"];function RY(t,n){t&1&&A(0,"bs-current-date",4)}function PY(t,n){t&1&&A(0,"bs-timepicker")}function OY(t,n){if(t&1){let e=N();d(0,"td",4),D("click",function(){let r=C(e).$implicit,o=p(2);return w(o.viewYear(r))})("mouseenter",function(){let r=C(e).$implicit,o=p(2);return w(o.hoverYear(r,!0))})("mouseleave",function(){let r=C(e).$implicit,o=p(2);return w(o.hoverYear(r,!1))}),d(1,"span"),y(2),h()()}if(t&2){let e=n.$implicit;j("disabled",e.isDisabled)("is-highlighted",e.isHovered),f(),j("selected",e.isSelected),f(),H(e.label)}}function NY(t,n){if(t&1&&(d(0,"tr"),T(1,OY,3,7,"td",3),h()),t&2){let e=n.$implicit;f(),g("ngForOf",e)}}function LY(t,n){if(t&1){let e=N();d(0,"td",4),D("click",function(){let r=C(e).$implicit,o=p(2);return w(o.viewMonth(r))})("mouseenter",function(){let r=C(e).$implicit,o=p(2);return w(o.hoverMonth(r,!0))})("mouseleave",function(){let r=C(e).$implicit,o=p(2);return w(o.hoverMonth(r,!1))}),d(1,"span"),y(2),h()()}if(t&2){let e=n.$implicit;j("disabled",e.isDisabled)("is-highlighted",e.isHovered),f(),j("selected",e.isSelected),f(),H(e.label)}}function FY(t,n){if(t&1&&(d(0,"tr"),T(1,LY,3,7,"td",3),h()),t&2){let e=n.$implicit;f(),g("ngForOf",e)}}var VY=["bsDatepickerDayDecorator",""];function jY(t,n){t&1&&A(0,"th")}function HY(t,n){if(t&1&&(d(0,"th",5),y(1),h()),t&2){let e=n.index,i=p();f(),pe("",i.calendar.weekdays[e]," ")}}function BY(t,n){if(t&1){let e=N();d(0,"span",11),D("click",function(){C(e);let r=p(2).$implicit,o=p();return w(o.selectWeek(r))}),y(1),h()}if(t&2){let e=p(2).index,i=p();f(),H(i.calendar.weekNumbers[e])}}function UY(t,n){if(t&1){let e=N();d(0,"span",12),D("click",function(){C(e);let r=p(2).$implicit,o=p();return w(o.selectWeek(r))})("mouseenter",function(){C(e);let r=p(2).$implicit,o=p();return w(o.weekHoverHandler(r,!0))})("mouseleave",function(){C(e);let r=p(2).$implicit,o=p();return w(o.weekHoverHandler(r,!1))}),y(1),h()}if(t&2){let e=p(2).index,i=p();f(),H(i.calendar.weekNumbers[e])}}function $Y(t,n){if(t&1&&(d(0,"td",8),T(1,BY,2,1,"span",9)(2,UY,2,1,"span",10),h()),t&2){let e=p(2);j("active-week",e.isWeekHovered),f(),g("ngIf",e.isiOS),f(),g("ngIf",!e.isiOS)}}function YY(t,n){if(t&1){let e=N();d(0,"span",17),D("click",function(){C(e);let r=p().$implicit,o=p(2);return w(o.selectDay(r))})("mouseenter",function(){C(e);let r=p().$implicit,o=p(2);return w(o.hoverDay(r,!0))})("mouseleave",function(){C(e);let r=p().$implicit,o=p(2);return w(o.hoverDay(r,!1))}),y(1),h()}if(t&2){let e=p().$implicit;Pt("tooltip",e.tooltipText),g("day",e),f(),pe("",e.label," 3")}}function zY(t,n){if(t&1){let e=N();d(0,"span",18),D("click",function(){C(e);let r=p().$implicit,o=p(2);return w(o.selectDay(r))})("mouseenter",function(){C(e);let r=p().$implicit,o=p(2);return w(o.hoverDay(r,!0))})("mouseleave",function(){C(e);let r=p().$implicit,o=p(2);return w(o.hoverDay(r,!1))}),y(1),h()}if(t&2){let e=p().$implicit;g("day",e),f(),pe("",e.label," 2")}}function WY(t,n){if(t&1){let e=N();d(0,"span",19),D("click",function(){C(e);let r=p().$implicit,o=p(2);return w(o.selectDay(r))}),y(1),h()}if(t&2){let e=p().$implicit;g("day",e),f(),pe("",e.label," 1")}}function GY(t,n){if(t&1&&(d(0,"td",13),T(1,YY,2,3,"span",14)(2,zY,2,2,"span",15)(3,WY,2,2,"span",16),h()),t&2){let e=p(2);f(),g("ngIf",!e.isiOS&&e.isShowTooltip),f(),g("ngIf",!e.isiOS&&!e.isShowTooltip),f(),g("ngIf",e.isiOS)}}function qY(t,n){if(t&1&&(d(0,"tr"),T(1,$Y,3,4,"td",6)(2,GY,4,3,"td",7),h()),t&2){let e=n.$implicit,i=p();f(),g("ngIf",i.options&&i.options.showWeekNumbers),f(),g("ngForOf",e.days)}}var J1=["startTP"];function QY(t,n){if(t&1){let e=N();d(0,"bs-days-calendar-view",13),te(1,"async"),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.dayHoverHandler(r))})("onHoverWeek",function(r){C(e);let o=p(3);return w(o.weekHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.daySelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)("isDisabled",i.isDatePickerDisabled)("options",me(1,5,i.options$))}}function ZY(t,n){if(t&1&&A(0,"timepicker",15,1),t&2){let e=p(4);g("disabled",e.isDatePickerDisabled)}}function KY(t,n){if(t&1&&(d(0,"div",14),A(1,"timepicker",15,0),T(3,ZY,2,1,"timepicker",16),h()),t&2){let e=p(3);f(),g("disabled",e.isDatePickerDisabled),f(2),g("ngIf",e.isRangePicker)}}function JY(t,n){if(t&1&&(At(0),d(1,"div",10),T(2,QY,2,7,"bs-days-calendar-view",11),te(3,"async"),h(),T(4,KY,4,2,"div",12),Rt()),t&2){let e=p(2);f(2),g("ngForOf",me(3,2,e.daysCalendar$)),f(2),g("ngIf",e.withTimepicker)}}function XY(t,n){if(t&1){let e=N();d(0,"bs-month-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.monthHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.monthSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function e4(t,n){if(t&1&&(d(0,"div",10),T(1,XY,1,3,"bs-month-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",me(2,1,e.monthsCalendar))}}function t4(t,n){if(t&1){let e=N();d(0,"bs-years-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.yearHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.yearSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function n4(t,n){if(t&1&&(d(0,"div",10),T(1,t4,1,3,"bs-years-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",me(2,1,e.yearsCalendar))}}function i4(t,n){t&1&&(d(0,"div",19)(1,"button",20),y(2,"Apply"),h(),d(3,"button",21),y(4,"Cancel"),h()())}function r4(t,n){if(t&1){let e=N();d(0,"div",24)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.setToday())}),y(2),h()()}if(t&2){let e=p(3);j("today-left",e.todayPos==="left")("today-right",e.todayPos==="right")("today-center",e.todayPos==="center"),f(2),H(e.todayBtnLbl)}}function o4(t,n){if(t&1){let e=N();d(0,"div",26)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.clearDate())}),y(2),h()()}if(t&2){let e=p(3);j("clear-left",e.clearPos==="left")("clear-right",e.clearPos==="right")("clear-center",e.clearPos==="center"),f(2),H(e.clearBtnLbl)}}function s4(t,n){if(t&1&&(d(0,"div",19),T(1,r4,3,7,"div",22)(2,o4,3,7,"div",23),h()),t&2){let e=p(2);f(),g("ngIf",e.showTodayBtn),f(),g("ngIf",e.showClearBtn)}}function a4(t,n){if(t&1){let e=N();d(0,"div",27)(1,"bs-custom-date-view",28),D("onSelect",function(r){C(e);let o=p(2);return w(o.setRangeOnCalendar(r))}),h()()}if(t&2){let e=p(2);f(),g("selectedRange",e.chosenRange)("ranges",e.customRanges)("customRangeLabel",e.customRangeBtnLbl)}}function l4(t,n){if(t&1){let e=N();d(0,"div",3)(1,"div",4),D("@datepickerAnimation.done",function(){C(e);let r=p();return w(r.positionServiceEnable())}),d(2,"div",5),te(3,"async"),T(4,JY,5,4,"ng-container",6)(5,e4,3,3,"div",7)(6,n4,3,3,"div",7),h(),T(7,i4,5,0,"div",8)(8,s4,3,2,"div",8),h(),T(9,a4,2,3,"div",9),h()}if(t&2){let e=p();g("ngClass",e.containerClass),f(),g("@datepickerAnimation",e.animationState),f(),g("ngSwitch",me(3,9,e.viewMode)),f(2),g("ngSwitchCase","day"),f(),g("ngSwitchCase","month"),f(),g("ngSwitchCase","year"),f(),g("ngIf",!1),f(),g("ngIf",e.showTodayBtn||e.showClearBtn),f(),g("ngIf",e.customRanges&&e.customRanges.length>0)}}function c4(t,n){if(t&1){let e=N();d(0,"bs-days-calendar-view",13),te(1,"async"),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.dayHoverHandler(r))})("onHoverWeek",function(r){C(e);let o=p(3);return w(o.weekHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.daySelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)("isDisabled",i.isDatePickerDisabled)("options",me(1,5,i.options$))}}function u4(t,n){if(t&1&&A(0,"timepicker",15,1),t&2){let e=p(4);g("disabled",e.isDatePickerDisabled)}}function d4(t,n){if(t&1&&(d(0,"div",14),A(1,"timepicker",15,0),T(3,u4,2,1,"timepicker",16),h()),t&2){let e=p(3);f(),g("disabled",e.isDatePickerDisabled),f(2),g("ngIf",e.isRangePicker)}}function h4(t,n){if(t&1&&(At(0),d(1,"div",10),T(2,c4,2,7,"bs-days-calendar-view",11),te(3,"async"),h(),T(4,d4,4,2,"div",12),Rt()),t&2){let e=p(2);f(2),g("ngForOf",me(3,2,e.daysCalendar$)),f(2),g("ngIf",e.withTimepicker)}}function f4(t,n){if(t&1){let e=N();d(0,"bs-month-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.monthHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.monthSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function p4(t,n){if(t&1&&(d(0,"div",10),T(1,f4,1,3,"bs-month-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",me(2,1,e.monthsCalendar))}}function m4(t,n){if(t&1){let e=N();d(0,"bs-years-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.yearHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.yearSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function g4(t,n){if(t&1&&(d(0,"div",10),T(1,m4,1,3,"bs-years-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",me(2,1,e.yearsCalendar))}}function _4(t,n){t&1&&(d(0,"div",19)(1,"button",20),y(2,"Apply"),h(),d(3,"button",21),y(4,"Cancel"),h()())}function y4(t,n){if(t&1){let e=N();d(0,"div",24)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.setToday())}),y(2),h()()}if(t&2){let e=p(3);j("today-left",e.todayPos==="left")("today-right",e.todayPos==="right")("today-center",e.todayPos==="center"),f(2),H(e.todayBtnLbl)}}function v4(t,n){if(t&1){let e=N();d(0,"div",26)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.clearDate())}),y(2),h()()}if(t&2){let e=p(3);j("clear-left",e.clearPos==="left")("clear-right",e.clearPos==="right")("clear-center",e.clearPos==="center"),f(2),H(e.clearBtnLbl)}}function b4(t,n){if(t&1&&(d(0,"div",19),T(1,y4,3,7,"div",22)(2,v4,3,7,"div",23),h()),t&2){let e=p(2);f(),g("ngIf",e.showTodayBtn),f(),g("ngIf",e.showClearBtn)}}function C4(t,n){if(t&1){let e=N();d(0,"div",27)(1,"bs-custom-date-view",28),D("onSelect",function(r){C(e);let o=p(2);return w(o.setRangeOnCalendar(r))}),h()()}if(t&2){let e=p(2);f(),g("selectedRange",e.chosenRange)("ranges",e.customRanges)("customRangeLabel",e.customRangeBtnLbl)}}function w4(t,n){if(t&1){let e=N();d(0,"div",3)(1,"div",4),D("@datepickerAnimation.done",function(){C(e);let r=p();return w(r.positionServiceEnable())}),d(2,"div",5),te(3,"async"),T(4,h4,5,4,"ng-container",6)(5,p4,3,3,"div",7)(6,g4,3,3,"div",7),h(),T(7,_4,5,0,"div",8)(8,b4,3,2,"div",8),h(),T(9,C4,2,3,"div",9),h()}if(t&2){let e=p();g("ngClass",e.containerClass),f(),g("@datepickerAnimation",e.animationState),f(),g("ngSwitch",me(3,9,e.viewMode)),f(2),g("ngSwitchCase","day"),f(),g("ngSwitchCase","month"),f(),g("ngSwitchCase","year"),f(),g("ngIf",!1),f(),g("ngIf",e.showTodayBtn||e.showClearBtn),f(),g("ngIf",e.customRanges&&e.customRanges.length>0)}}var D4=["endTP"];function M4(t,n){if(t&1){let e=N();d(0,"bs-days-calendar-view",13),te(1,"async"),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.dayHoverHandler(r))})("onHoverWeek",function(r){C(e);let o=p(3);return w(o.weekHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.daySelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)("isDisabled",i.isDatePickerDisabled)("options",me(1,5,i.options$))}}function S4(t,n){if(t&1&&A(0,"timepicker",15,1),t&2){let e=p(4);g("disabled",e.isDatePickerDisabled)}}function T4(t,n){if(t&1&&(d(0,"div",14),A(1,"timepicker",15,0),T(3,S4,2,1,"timepicker",16),h()),t&2){let e=p(3);f(),g("disabled",e.isDatePickerDisabled),f(2),g("ngIf",e.isRangePicker)}}function E4(t,n){if(t&1&&(At(0),d(1,"div",10),T(2,M4,2,7,"bs-days-calendar-view",11),te(3,"async"),h(),T(4,T4,4,2,"div",12),Rt()),t&2){let e=p(2);f(2),g("ngForOf",me(3,2,e.daysCalendar$)),f(2),g("ngIf",e.withTimepicker)}}function I4(t,n){if(t&1){let e=N();d(0,"bs-month-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.monthHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.monthSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function x4(t,n){if(t&1&&(d(0,"div",10),T(1,I4,1,3,"bs-month-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",me(2,1,e.monthsCalendar))}}function k4(t,n){if(t&1){let e=N();d(0,"bs-years-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.yearHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.yearSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function A4(t,n){if(t&1&&(d(0,"div",10),T(1,k4,1,3,"bs-years-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",me(2,1,e.yearsCalendar))}}function R4(t,n){t&1&&(d(0,"div",19)(1,"button",20),y(2,"Apply"),h(),d(3,"button",21),y(4,"Cancel"),h()())}function P4(t,n){if(t&1){let e=N();d(0,"div",24)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.setToday())}),y(2),h()()}if(t&2){let e=p(3);j("today-left",e.todayPos==="left")("today-right",e.todayPos==="right")("today-center",e.todayPos==="center"),f(2),H(e.todayBtnLbl)}}function O4(t,n){if(t&1){let e=N();d(0,"div",26)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.clearDate())}),y(2),h()()}if(t&2){let e=p(3);j("clear-left",e.clearPos==="left")("clear-right",e.clearPos==="right")("clear-center",e.clearPos==="center"),f(2),H(e.clearBtnLbl)}}function N4(t,n){if(t&1&&(d(0,"div",19),T(1,P4,3,7,"div",22)(2,O4,3,7,"div",23),h()),t&2){let e=p(2);f(),g("ngIf",e.showTodayBtn),f(),g("ngIf",e.showClearBtn)}}function L4(t,n){if(t&1){let e=N();d(0,"div",27)(1,"bs-custom-date-view",28),D("onSelect",function(r){C(e);let o=p(2);return w(o.setRangeOnCalendar(r))}),h()()}if(t&2){let e=p(2);f(),g("selectedRange",e.chosenRange)("ranges",e.customRanges)("customRangeLabel",e.customRangeBtnLbl)}}function F4(t,n){if(t&1){let e=N();d(0,"div",3)(1,"div",4),D("@datepickerAnimation.done",function(){C(e);let r=p();return w(r.positionServiceEnable())}),d(2,"div",5),te(3,"async"),T(4,E4,5,4,"ng-container",6)(5,x4,3,3,"div",7)(6,A4,3,3,"div",7),h(),T(7,R4,5,0,"div",8)(8,N4,3,2,"div",8),h(),T(9,L4,2,3,"div",9),h()}if(t&2){let e=p();g("ngClass",e.containerClass),f(),g("@datepickerAnimation",e.animationState),f(),g("ngSwitch",me(3,9,e.viewMode)),f(2),g("ngSwitchCase","day"),f(),g("ngSwitchCase","month"),f(),g("ngSwitchCase","year"),f(),g("ngIf",!1),f(),g("ngIf",e.showTodayBtn||e.showClearBtn),f(),g("ngIf",e.customRanges&&e.customRanges.length>0)}}function V4(t,n){if(t&1){let e=N();d(0,"bs-days-calendar-view",13),te(1,"async"),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.dayHoverHandler(r))})("onHoverWeek",function(r){C(e);let o=p(3);return w(o.weekHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.daySelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)("isDisabled",i.isDatePickerDisabled)("options",me(1,5,i.options$))}}function j4(t,n){if(t&1&&A(0,"timepicker",15,1),t&2){let e=p(4);g("disabled",e.isDatePickerDisabled)}}function H4(t,n){if(t&1&&(d(0,"div",14),A(1,"timepicker",15,0),T(3,j4,2,1,"timepicker",16),h()),t&2){let e=p(3);f(),g("disabled",e.isDatePickerDisabled),f(2),g("ngIf",e.isRangePicker)}}function B4(t,n){if(t&1&&(At(0),d(1,"div",10),T(2,V4,2,7,"bs-days-calendar-view",11),te(3,"async"),h(),T(4,H4,4,2,"div",12),Rt()),t&2){let e=p(2);f(2),g("ngForOf",me(3,2,e.daysCalendar$)),f(2),g("ngIf",e.withTimepicker)}}function U4(t,n){if(t&1){let e=N();d(0,"bs-month-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.monthHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.monthSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function $4(t,n){if(t&1&&(d(0,"div",10),T(1,U4,1,3,"bs-month-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",me(2,1,e.monthsCalendar))}}function Y4(t,n){if(t&1){let e=N();d(0,"bs-years-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.yearHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.yearSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function z4(t,n){if(t&1&&(d(0,"div",10),T(1,Y4,1,3,"bs-years-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",me(2,1,e.yearsCalendar))}}function W4(t,n){t&1&&(d(0,"div",19)(1,"button",20),y(2,"Apply"),h(),d(3,"button",21),y(4,"Cancel"),h()())}function G4(t,n){if(t&1){let e=N();d(0,"div",24)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.setToday())}),y(2),h()()}if(t&2){let e=p(3);j("today-left",e.todayPos==="left")("today-right",e.todayPos==="right")("today-center",e.todayPos==="center"),f(2),H(e.todayBtnLbl)}}function q4(t,n){if(t&1){let e=N();d(0,"div",26)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.clearDate())}),y(2),h()()}if(t&2){let e=p(3);j("clear-left",e.clearPos==="left")("clear-right",e.clearPos==="right")("clear-center",e.clearPos==="center"),f(2),H(e.clearBtnLbl)}}function Q4(t,n){if(t&1&&(d(0,"div",19),T(1,G4,3,7,"div",22)(2,q4,3,7,"div",23),h()),t&2){let e=p(2);f(),g("ngIf",e.showTodayBtn),f(),g("ngIf",e.showClearBtn)}}function Z4(t,n){if(t&1){let e=N();d(0,"div",27)(1,"bs-custom-date-view",28),D("onSelect",function(r){C(e);let o=p(2);return w(o.setRangeOnCalendar(r))}),h()()}if(t&2){let e=p(2);f(),g("selectedRange",e.chosenRange)("ranges",e.customRanges)("customRangeLabel",e.customRangeBtnLbl)}}function K4(t,n){if(t&1){let e=N();d(0,"div",3)(1,"div",4),D("@datepickerAnimation.done",function(){C(e);let r=p();return w(r.positionServiceEnable())}),d(2,"div",5),te(3,"async"),T(4,B4,5,4,"ng-container",6)(5,$4,3,3,"div",7)(6,z4,3,3,"div",7),h(),T(7,W4,5,0,"div",8)(8,Q4,3,2,"div",8),h(),T(9,Z4,2,3,"div",9),h()}if(t&2){let e=p();g("ngClass",e.containerClass),f(),g("@datepickerAnimation",e.animationState),f(),g("ngSwitch",me(3,9,e.viewMode)),f(2),g("ngSwitchCase","day"),f(),g("ngSwitchCase","month"),f(),g("ngSwitchCase","year"),f(),g("ngIf",!1),f(),g("ngIf",e.showTodayBtn||e.showClearBtn),f(),g("ngIf",e.customRanges&&e.customRanges.length>0)}}var nr=(()=>{class t{constructor(){this.adaptivePosition=!1,this.useUtc=!1,this.isAnimated=!1,this.startView="day",this.returnFocusToInput=!1,this.containerClass="theme-green",this.displayMonths=1,this.showWeekNumbers=!0,this.dateInputFormat="L",this.rangeSeparator=" - ",this.rangeInputFormat="L",this.monthTitle="MMMM",this.yearTitle="YYYY",this.dayLabel="D",this.monthLabel="MMMM",this.yearLabel="YYYY",this.weekNumbers="w",this.showTodayButton=!1,this.showClearButton=!1,this.todayPosition="center",this.clearPosition="right",this.todayButtonLabel="Today",this.clearButtonLabel="Clear",this.customRangeButtonLabel="Custom Range",this.withTimepicker=!1,this.allowedPositions=["top","bottom"],this.keepDatepickerOpened=!1,this.keepDatesOutOfRules=!1}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),G1="220ms cubic-bezier(0, 0, 0.2, 1)",fm=no("datepickerAnimation",[kr("animated-down",Ct({height:"*",overflow:"hidden"})),ni("* => animated-down",[Ct({height:0,overflow:"hidden"}),Mn(G1)]),kr("animated-up",Ct({height:"*",overflow:"hidden"})),ni("* => animated-up",[Ct({height:"*",overflow:"hidden"}),Mn(G1)]),ni("* => unanimated",Mn("0s"))]),hm=class{constructor(){this.containerClass="",this.customRanges=[],this.chosenRange=[],this._daysCalendarSub=new Ue,this.selectedTimeSub=new Ue}set minDate(n){this._effects?.setMinDate(n)}set maxDate(n){this._effects?.setMaxDate(n)}set daysDisabled(n){this._effects?.setDaysDisabled(n)}set datesDisabled(n){this._effects?.setDatesDisabled(n)}set datesEnabled(n){this._effects?.setDatesEnabled(n)}set isDisabled(n){this._effects?.setDisabled(n)}set dateCustomClasses(n){this._effects?.setDateCustomClasses(n)}set dateTooltipTexts(n){this._effects?.setDateTooltipTexts(n)}set daysCalendar$(n){this._daysCalendar$=n,this._daysCalendarSub.unsubscribe(),this._daysCalendarSub.add(this._daysCalendar$.subscribe(e=>{this.multipleCalendars=!!e&&e.length>1}))}get daysCalendar$(){return this._daysCalendar$}setViewMode(n){}navigateTo(n){}dayHoverHandler(n){}weekHoverHandler(n){}monthHoverHandler(n){}yearHoverHandler(n){}timeSelectHandler(n,e){}daySelectHandler(n){}monthSelectHandler(n){}yearSelectHandler(n){}setRangeOnCalendar(n){}setToday(){}clearDate(){}_stopPropagation(n){n.stopPropagation()}},gt=(()=>{class t{static{this.CALCULATE="[datepicker] calculate dates matrix"}static{this.FORMAT="[datepicker] format datepicker values"}static{this.FLAG="[datepicker] set flags"}static{this.SELECT="[datepicker] select date"}static{this.NAVIGATE_OFFSET="[datepicker] shift view date"}static{this.NAVIGATE_TO="[datepicker] change view date"}static{this.SET_OPTIONS="[datepicker] update render options"}static{this.HOVER="[datepicker] hover date"}static{this.CHANGE_VIEWMODE="[datepicker] switch view mode"}static{this.SET_MIN_DATE="[datepicker] set min date"}static{this.SET_MAX_DATE="[datepicker] set max date"}static{this.SET_DAYSDISABLED="[datepicker] set days disabled"}static{this.SET_DATESDISABLED="[datepicker] set dates disabled"}static{this.SET_DATESENABLED="[datepicker] set dates enabled"}static{this.SET_IS_DISABLED="[datepicker] set is disabled"}static{this.SET_DATE_CUSTOM_CLASSES="[datepicker] set date custom classes"}static{this.SET_DATE_TOOLTIP_TEXTS="[datepicker] set date tooltip texts"}static{this.SET_LOCALE="[datepicker] set datepicker locale"}static{this.SELECT_TIME="[datepicker] select time"}static{this.SELECT_RANGE="[daterangepicker] select dates range"}calculate(){return{type:t.CALCULATE}}format(){return{type:t.FORMAT}}flag(){return{type:t.FLAG}}select(e){return{type:t.SELECT,payload:e}}selectTime(e,i){return{type:t.SELECT_TIME,payload:{date:e,index:i}}}changeViewMode(e){return{type:t.CHANGE_VIEWMODE,payload:e}}navigateTo(e){return{type:t.NAVIGATE_TO,payload:e}}navigateStep(e){return{type:t.NAVIGATE_OFFSET,payload:e}}setOptions(e){return{type:t.SET_OPTIONS,payload:e}}selectRange(e){return{type:t.SELECT_RANGE,payload:e}}hoverDay(e){return{type:t.HOVER,payload:e.isHovered?e.cell.date:null}}minDate(e){return{type:t.SET_MIN_DATE,payload:e}}maxDate(e){return{type:t.SET_MAX_DATE,payload:e}}daysDisabled(e){return{type:t.SET_DAYSDISABLED,payload:e}}datesDisabled(e){return{type:t.SET_DATESDISABLED,payload:e}}datesEnabled(e){return{type:t.SET_DATESENABLED,payload:e}}isDisabled(e){return{type:t.SET_IS_DISABLED,payload:e}}setDateCustomClasses(e){return{type:t.SET_DATE_CUSTOM_CLASSES,payload:e}}setDateTooltipTexts(e){return{type:t.SET_DATE_TOOLTIP_TEXTS,payload:e}}setLocale(e){return{type:t.SET_LOCALE,payload:e}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),pC=(()=>{class t{constructor(){this._defaultLocale="en",this._locale=new Ne(this._defaultLocale),this._localeChange=this._locale.asObservable()}get locale(){return this._locale}get localeChange(){return this._localeChange}get currentLocale(){return this._locale.getValue()}use(e){e!==this.currentLocale&&this._locale.next(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),Qo=(()=>{class t{constructor(e,i){this._actions=e,this._localeService=i,this._subs=[]}init(e){return this._store=e,this}setValue(e){this._store?.dispatch(this._actions.select(e))}setRangeValue(e){this._store?.dispatch(this._actions.selectRange(e))}setMinDate(e){return this._store?.dispatch(this._actions.minDate(e)),this}setMaxDate(e){return this._store?.dispatch(this._actions.maxDate(e)),this}setDaysDisabled(e){return this._store?.dispatch(this._actions.daysDisabled(e)),this}setDatesDisabled(e){return this._store?.dispatch(this._actions.datesDisabled(e)),this}setDatesEnabled(e){return this._store?.dispatch(this._actions.datesEnabled(e)),this}setDisabled(e){return this._store?.dispatch(this._actions.isDisabled(e)),this}setDateCustomClasses(e){return this._store?.dispatch(this._actions.setDateCustomClasses(e)),this}setDateTooltipTexts(e){return this._store?.dispatch(this._actions.setDateTooltipTexts(e)),this}setOptions(e){let i=Object.assign({locale:this._localeService.currentLocale},e);return this._store?.dispatch(this._actions.setOptions(i)),this}setBindings(e){return this._store?(e.selectedTime=this._store.select(i=>i.selectedTime).pipe(le(i=>!!i)),e.daysCalendar$=this._store.select(i=>i.flaggedMonths).pipe(le(i=>!!i)),e.monthsCalendar=this._store.select(i=>i.flaggedMonthsCalendar).pipe(le(i=>!!i)),e.yearsCalendar=this._store.select(i=>i.yearsCalendarFlagged).pipe(le(i=>!!i)),e.viewMode=this._store.select(i=>i.view?.mode),e.options$=go([this._store.select(i=>i.showWeekNumbers),this._store.select(i=>i.displayMonths)]).pipe(G(i=>({showWeekNumbers:i[0],displayMonths:i[1]}))),this):this}setEventHandlers(e){return e.setViewMode=i=>{this._store?.dispatch(this._actions.changeViewMode(i))},e.navigateTo=i=>{this._store?.dispatch(this._actions.navigateStep(i.step))},e.dayHoverHandler=i=>{let r=i.cell;r.isOtherMonth||r.isDisabled||(this._store?.dispatch(this._actions.hoverDay(i)),r.isHovered=i.isHovered)},e.monthHoverHandler=i=>{i.cell.isHovered=i.isHovered},e.yearHoverHandler=i=>{i.cell.isHovered=i.isHovered},this}registerDatepickerSideEffects(){return this._store?(this._subs.push(this._store.select(e=>e.view).subscribe(()=>{this._store?.dispatch(this._actions.calculate())})),this._subs.push(this._store.select(e=>e.monthsModel).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.format()))),this._subs.push(this._store.select(e=>e.formattedMonths).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._store.select(e=>e.selectedDate).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._store.select(e=>e.selectedRange).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._store.select(e=>e.monthsCalendar).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._store.select(e=>e.yearsCalendarModel).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._store.select(e=>e.hoveredDate).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._store.select(e=>e.dateCustomClasses).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._store.select(e=>e.dateTooltipTexts).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._localeService.localeChange.subscribe(e=>this._store?.dispatch(this._actions.setLocale(e)))),this):this}destroy(){for(let e of this._subs)e.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(F(gt),F(pC))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),J4={width:7,height:6},X4=24*60*60*1e3;var ez={date:new Date,mode:"day"},X1=Object.assign(new nr,{locale:"en",view:ez,selectedRange:[],selectedTime:[],monthViewOptions:J4});function tz(t,n){if(Ux(t,n.firstDayOfWeek))return t;let e=tr(t),i=nz(e,n.firstDayOfWeek);return qt(t,{day:-i})}function nz(t,n){let e=Number(n);if(isNaN(e))return 0;if(e===0)return t;let i=t-e%7;return i<0?i+7:i}function hC(t,n,e){let i=n&&Yo(Xu(t,"month"),n,"day"),r=e&&co(Rr(t,"month"),e,"day");return i||r||!1}function id(t,n,e){let i=n&&Yo(Xu(t,"year"),n,"day"),r=e&&co(Rr(t,"year"),e,"day");return i||r||!1}function mC(t,n,e){return!n||!st(n)||!n.length?!1:e&&e==="year"&&!n[0].getDate()?n.some(i=>ed(t,i,"year")):n.some(i=>ed(t,i,"date"))}function gC(t,n,e){return!n||!st(n)||!n.length?!1:!n.some(i=>ed(t,i,e||"date"))}function ek(t,n=0){let e=t&&t.yearsCalendarModel&&t.yearsCalendarModel[n];return e?.years[0]&&e.years[0][0]&&e.years[0][0].date}function iz(t,n){return!t||!n||!t.length&&!t[0].value||t.forEach(e=>(!e||!e.value||e.value instanceof Date||!(e.value instanceof Array&&e.value.length)||(e.value=nk(e.value,n)),t)),t}function tk(t,n){return!t||!n||t instanceof Array&&!t.length||t instanceof Date?t:nk(t,n)}function nk(t,n){return t instanceof Array?t.map(i=>i&&(co(i,n,"date")&&(i=n),i)):t}function q1(t){return t&&ik(t)}function Q1(t){return t?.length&&t.map(n=>n&&ik(n)),t}function ik(t){let n=new Date;return t.setMilliseconds(n.getMilliseconds()),t.setSeconds(n.getSeconds()),t.setMinutes(n.getMinutes()),t.setHours(n.getHours()),t}function _C(t,n){let e=t.initialDate,i=new Array(t.height);for(let r=0;rs),month:e}}function rz(t,n,e){return{month:t.month,monthTitle:oi(t.month,n.monthTitle,n.locale),yearTitle:oi(t.month,n.yearTitle,n.locale),weekNumbers:oz(t.daysMatrix,n.weekNumbers,n.locale),weekdays:sz(n.locale),weeks:t.daysMatrix.map((i,r)=>({days:i.map((o,s)=>({date:o,label:oi(o,n.dayLabel,n.locale),monthIndex:e,weekIndex:r,dayIndex:s}))})),hideLeftArrow:!1,hideRightArrow:!1,disableLeftArrow:!1,disableRightArrow:!1}}function oz(t,n,e){return t.map(i=>i[0]?oi(i[0],n,e):"")}function sz(t){let n=ln(t),e=n.weekdaysShort(),i=n.firstDayOfWeek();return[...e.slice(i),...e.slice(0,i)]}function az(t,n){return t.weeks.forEach(e=>{e.days.forEach((i,r)=>{let o=!ea(i.date,t.month),s=!o&&lo(i.date,n.hoveredDate),a=!o&&n.selectedRange&&lo(i.date,n.selectedRange[0]),l=!o&&n.selectedRange&&lo(i.date,n.selectedRange[1]),c=!o&&lo(i.date,n.selectedDate)||a||l,u=!o&&n.selectedRange&&lz(i.date,n.selectedRange,n.hoveredDate),m=n.isDisabled||Yo(i.date,n.minDate,"day")||co(i.date,n.maxDate,"day")||a1(i.date,n.daysDisabled)||mC(i.date,n.datesDisabled)||gC(i.date,n.datesEnabled),b=new Date,_=!o&&lo(i.date,b),M=n.dateCustomClasses&&n.dateCustomClasses.map(V=>lo(i.date,V.date)?V.classes:[]).reduce((V,de)=>V.concat(de),[]).join(" ")||"",I=n.dateTooltipTexts&&n.dateTooltipTexts.map(V=>lo(i.date,V.date)?V.tooltipText:"").reduce((V,de)=>(V.push(de),V),[]).join(" ")||"",P=Object.assign({},i,{isOtherMonth:o,isHovered:s,isSelected:c,isSelectionStart:a,isSelectionEnd:l,isInRange:u,isDisabled:m,isToday:_,customClasses:M,tooltipText:I});(i.isOtherMonth!==P.isOtherMonth||i.isHovered!==P.isHovered||i.isSelected!==P.isSelected||i.isSelectionStart!==P.isSelectionStart||i.isSelectionEnd!==P.isSelectionEnd||i.isDisabled!==P.isDisabled||i.isInRange!==P.isInRange||i.customClasses!==P.customClasses||i.tooltipText!==P.tooltipText)&&(e.days[r]=P)})}),t.hideLeftArrow=n.isDisabled||!!n.monthIndex&&n.monthIndex>0&&n.monthIndex!==n.displayMonths,t.hideRightArrow=n.isDisabled||(!!n.monthIndex||n.monthIndex===0)&&!!n.displayMonths&&n.monthIndexn[0]&&t<=n[1]:e?t>n[0]&&t<=e:!1}function Z1(t,n){return n?t>=n:!0}var cz=4,uz=3,dz={month:1};function rk(t,n){let e=Rr(t,"year");return{months:_C({width:uz,height:cz,initialDate:e,shift:dz},o=>({date:o,label:oi(o,n.monthLabel,n.locale)})),monthTitle:"",yearTitle:oi(t,n.yearTitle,n.locale),hideRightArrow:!1,hideLeftArrow:!1,disableRightArrow:!1,disableLeftArrow:!1}}function hz(t,n){return t.months.forEach((e,i)=>{e.forEach((r,o)=>{let s,a=ea(r.date,n.hoveredMonth),l=n.isDisabled||mC(r.date,n.datesDisabled)||gC(r.date,n.datesEnabled,"month")||hC(r.date,n.minDate,n.maxDate);!n.selectedDate&&n.selectedRange?(s=ea(r.date,n.selectedRange[0]),s||(s=ea(r.date,n.selectedRange[1]))):s=ea(r.date,n.selectedDate);let c=Object.assign(r,{isHovered:a,isDisabled:l,isSelected:s});(r.isHovered!==c.isHovered||r.isDisabled!==c.isDisabled||r.isSelected!==c.isSelected)&&(t.months[i][o]=c)})}),t.hideLeftArrow=!!n.monthIndex&&n.monthIndex>0&&n.monthIndex!==n.displayMonths,t.hideRightArrow=(!!n.monthIndex||n.monthIndex===0)&&(!!n.displayMonths||n.displayMonths===0)&&n.monthIndex({date:a,label:oi(a,n.yearLabel,n.locale)})),s=mz(o,n);return{years:o,monthTitle:"",yearTitle:s,hideLeftArrow:!1,hideRightArrow:!1,disableLeftArrow:!1,disableRightArrow:!1}}function pz(t,n){return n&&t.getFullYear()>=n.getFullYear()&&t.getFullYear(){r.forEach((s,a)=>{let l,c=ta(s.date,n.hoveredYear),u=n.isDisabled||mC(s.date,n.datesDisabled,"year")||gC(s.date,n.datesEnabled,"year")||id(s.date,n.minDate,n.maxDate);!n.selectedDate&&n.selectedRange?(l=ta(s.date,n.selectedRange[0]),l||(l=ta(s.date,n.selectedRange[1]))):l=ta(s.date,n.selectedDate);let m=Object.assign(s,{isHovered:c,isDisabled:u,isSelected:l});(s.isHovered!==m.isHovered||s.isDisabled!==m.isDisabled||s.isSelected!==m.isSelected)&&(t.years[o][a]=m)})}),t.hideLeftArrow=!!n.yearIndex&&n.yearIndex>0&&n.yearIndex!==n.displayMonths,t.hideRightArrow=!!n.yearIndex&&!!n.displayMonths&&n.yearIndexs)),e.value instanceof Date&&(e.selectedDate=e.value,e.selectedTime=[e.value])),Object.assign({},t,e)}case gt.SELECT_RANGE:{if(!t.view)return t;let e={selectedRange:n.payload,view:t.view};e.selectedRange?.forEach((s,a)=>{if(Array.isArray(t.selectedTime)){let l=t.selectedTime[a];l&&fC(s,l)}});let i=t.view.mode,r=n.payload&&n.payload[0]||t.view.date,o=dC(r,t.minDate,t.maxDate);return e.view={mode:i,date:o},Object.assign({},t,e)}case gt.SET_MIN_DATE:return Object.assign({},t,{minDate:n.payload});case gt.SET_MAX_DATE:return Object.assign({},t,{maxDate:n.payload});case gt.SET_IS_DISABLED:return Object.assign({},t,{isDisabled:n.payload});case gt.SET_DATE_CUSTOM_CLASSES:return Object.assign({},t,{dateCustomClasses:n.payload});case gt.SET_DATE_TOOLTIP_TEXTS:return Object.assign({},t,{dateTooltipTexts:n.payload});default:return t}}function _z(t){if(!t.view)return t;let n;t.displayOneMonthRange&&ak(t.view.date,t.minDate,t.maxDate)?n=1:n=t.displayMonths||1;let e=t.view.date;if(t.view.mode==="day"&&t.monthViewOptions){t.showPreviousMonth&&t.selectedRange&&t.selectedRange.length===0&&(e=qt(e,{month:-1})),t.monthViewOptions.firstDayOfWeek=ln(t.locale).firstDayOfWeek();let i=new Array(n);for(let r=0;rt.monthViewOptions?uC(o.month,t.monthViewOptions):null).filter(o=>o!==null))}return Object.assign({},t,{monthsModel:i})}if(t.view.mode==="month"){let i=new Array(n);for(let r=0;rrz(r,rd(t),o));return Object.assign({},t,{formattedMonths:i})}let n=t.displayMonths||1,e=t.view.date;if(t.view.mode==="month"){let i=new Array(n);for(let r=0;raz(i,{isDisabled:t.isDisabled,minDate:t.minDate,maxDate:t.maxDate,daysDisabled:t.daysDisabled,datesDisabled:t.datesDisabled,datesEnabled:t.datesEnabled,hoveredDate:t.hoveredDate,selectedDate:t.selectedDate,selectedRange:t.selectedRange,displayMonths:n,dateCustomClasses:t.dateCustomClasses,dateTooltipTexts:t.dateTooltipTexts,monthIndex:r}));return Object.assign({},t,{flaggedMonths:e})}if(t.view.mode==="month"&&t.monthsCalendar){let e=t.monthsCalendar.map((i,r)=>hz(i,{isDisabled:t.isDisabled,minDate:t.minDate,maxDate:t.maxDate,hoveredMonth:t.hoveredMonth,selectedDate:t.selectedDate,datesDisabled:t.datesDisabled,datesEnabled:t.datesEnabled,selectedRange:t.selectedRange,displayMonths:n,monthIndex:r}));return Object.assign({},t,{flaggedMonthsCalendar:e})}if(t.view.mode==="year"&&t.yearsCalendarModel){let e=t.yearsCalendarModel.map((i,r)=>gz(i,{isDisabled:t.isDisabled,minDate:t.minDate,maxDate:t.maxDate,hoveredYear:t.hoveredYear,selectedDate:t.selectedDate,datesDisabled:t.datesDisabled,datesEnabled:t.datesEnabled,selectedRange:t.selectedRange,displayMonths:n,yearIndex:r}));return Object.assign({},t,{yearsCalendarFlagged:e})}return t}function bz(t,n){if(!t.view)return t;let e=Cz(t,n);if(!e)return t;let i={view:{mode:t.view.mode,date:e}};return Object.assign({},t,i)}function Cz(t,n){if(t.view){if(t.view.mode==="year"&&t.minMode==="year"){let e=ek(t,0);if(e){let i=qt(e,{year:-ok});return qt(i,n.payload)}}return qt(Rr(t.view.date,"month"),n.payload)}}function rd(t){return{locale:t.locale,monthTitle:t.monthTitle,yearTitle:t.yearTitle,dayLabel:t.dayLabel,monthLabel:t.monthLabel,yearLabel:t.yearLabel,weekNumbers:t.weekNumbers}}function dC(t,n,e){let i=Array.isArray(t)?t[0]:t;return n&&co(n,i,"day")?n:e&&Yo(e,i,"day")?e:i}function ak(t,n,e){return e&&ed(e,t,"day")?!0:n&&e&&n.getMonth()===e.getMonth()}var Zo=(()=>{class t extends Bl{constructor(){let e=new Ne({type:"[datepicker] dispatcher init"}),i=new Hl(X1,e,K1);super(e,K1,i)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),mm=(()=>{class t{constructor(){this.onSelect=new O}selectFromRanges(e){this.onSelect.emit(e)}compareRanges(e){return JSON.stringify(e?.value)===JSON.stringify(this.selectedRange)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["bs-custom-date-view"]],inputs:{ranges:"ranges",selectedRange:"selectedRange",customRangeLabel:"customRangeLabel"},outputs:{onSelect:"onSelect"},decls:2,vars:1,consts:[[1,"bs-datepicker-predefined-btns"],["type","button","class","btn",3,"selected","click",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"click"]],template:function(i,r){i&1&&(d(0,"div",0),T(1,IY,2,3,"button",1),h()),i&2&&(f(),g("ngForOf",r.ranges))},dependencies:[rt],encapsulation:2,changeDetection:0})}}return t})(),Wl=function(t){return t[t.UP=0]="UP",t[t.DOWN=1]="DOWN",t}(Wl||{}),bC=(()=>{class t{constructor(){this.isDisabled=!1,this.onNavigate=new O,this.onViewMode=new O}navTo(e){this.onNavigate.emit(e?Wl.DOWN:Wl.UP)}view(e){this.isDisabled||this.onViewMode.emit(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["bs-datepicker-navigation-view"]],inputs:{calendar:"calendar",isDisabled:"isDisabled"},outputs:{onNavigate:"onNavigate",onViewMode:"onViewMode"},decls:12,vars:9,consts:[["type","button",1,"previous",3,"click","disabled"],[4,"ngIf"],["type","button",1,"current",3,"click","disabled"],["type","button",1,"next",3,"click","disabled"]],template:function(i,r){i&1&&(d(0,"button",0),D("click",function(){return r.navTo(!0)}),d(1,"span"),y(2,"\u2039"),h()(),T(3,xY,5,2,"ng-container",1),y(4," \u200B "),d(5,"button",2),D("click",function(){return r.view("year")}),d(6,"span"),y(7),h()(),y(8," \u200B "),d(9,"button",3),D("click",function(){return r.navTo(!1)}),d(10,"span"),y(11,"\u203A"),h()()),i&2&&(on("visibility",r.calendar.hideLeftArrow?"hidden":"visible"),g("disabled",r.calendar.disableLeftArrow),f(3),g("ngIf",r.calendar&&r.calendar.monthTitle),f(2),g("disabled",r.isDisabled),f(2),H(r.calendar.yearTitle),f(2),on("visibility",r.calendar.hideRightArrow?"hidden":"visible"),g("disabled",r.calendar.disableRightArrow))},dependencies:[Me],encapsulation:2,changeDetection:0})}}return t})(),wz=(()=>{class t{constructor(){this.ampm="ok",this.hours=0,this.minutes=0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["bs-timepicker"]],decls:16,vars:3,consts:[[1,"bs-timepicker-container"],[1,"bs-timepicker-controls"],["type","button",1,"bs-decrease"],["type","text","placeholder","00",3,"value"],["type","button",1,"bs-increase"],["type","button",1,"switch-time-format"],["src","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAKCAYAAABi8KSDAAABSElEQVQYV3XQPUvDUBQG4HNuagtVqc6KgouCv6GIuIntYBLB9hcIQpLStCAIV7DYmpTcRWcXqZio3Vwc/UCc/QEqfgyKGbr0I7nS1EiHeqYzPO/h5SD0jaxUZjmSLCB+OFb+UFINFwASAEAdpu9gaGXVyAHHFQBkHpKHc6a9dzECvADyY9sqlAMsK9W0jzxDXqeytr3mhQckxSji27TJJ5/rPmIpwJJq3HrtduriYOurv1a4i1p5HnhkG9OFymi0ReoO05cGwb+ayv4dysVygjeFmsP05f8wpZQ8fsdvfmuY9zjWSNqUtgYFVnOVReILYoBFzdQI5/GGFzNHhGbeZnopDGU29sZbscgldmC99w35VOATTycIMMcBXIfpSVGzZhA6C8hh00conln6VQ9TGgV32OEAKQC4DrBq7CJwd0ggR7Vq/rPrfgB+C3sGypY5DAAAAABJRU5ErkJggg==","alt",""]],template:function(i,r){i&1&&(d(0,"div",0)(1,"div",1)(2,"button",2),y(3,"-"),h(),A(4,"input",3),d(5,"button",4),y(6,"+"),h()(),d(7,"div",1)(8,"button",2),y(9,"-"),h(),A(10,"input",3),d(11,"button",4),y(12,"+"),h()(),d(13,"button",5),y(14),A(15,"img",6),h()()),i&2&&(f(4),g("value",r.hours),f(6),g("value",r.minutes),f(4),pe("",r.ampm," "))},encapsulation:2})}}return t})(),Dz=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["bs-current-date"]],inputs:{title:"title"},decls:3,vars:1,consts:[[1,"current-timedate"]],template:function(i,r){i&1&&(d(0,"div",0)(1,"span"),y(2),h()()),i&2&&(f(2),H(r.title))},encapsulation:2})}}return t})(),CC=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["bs-calendar-layout"]],ngContentSelectors:AY,decls:6,vars:2,consts:[["title","hey there",4,"ngIf"],[1,"bs-datepicker-head"],[1,"bs-datepicker-body"],[4,"ngIf"],["title","hey there"]],template:function(i,r){i&1&&(Nn(kY),T(0,RY,1,0,"bs-current-date",0),d(1,"div",1),Cn(2),h(),d(3,"div",2),Cn(4,1),h(),T(5,PY,1,0,"bs-timepicker",3)),i&2&&(g("ngIf",!1),f(5),g("ngIf",!1))},dependencies:[Me,Dz,wz],encapsulation:2})}}return t})(),gm=(()=>{class t{constructor(){this.onNavigate=new O,this.onViewMode=new O,this.onSelect=new O,this.onHover=new O}navigateTo(e){let i=Wl.DOWN===e?-1:1;this.onNavigate.emit({step:{year:i*pm}})}viewYear(e){this.onSelect.emit(e)}hoverYear(e,i){this.onHover.emit({cell:e,isHovered:i})}changeViewMode(e){this.onViewMode.emit(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["bs-years-calendar-view"]],inputs:{calendar:"calendar"},outputs:{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"},decls:5,vars:2,consts:[[3,"onNavigate","onViewMode","calendar"],["role","grid",1,"years"],[4,"ngFor","ngForOf"],["role","gridcell",3,"disabled","is-highlighted","click","mouseenter","mouseleave",4,"ngFor","ngForOf"],["role","gridcell",3,"click","mouseenter","mouseleave"]],template:function(i,r){i&1&&(d(0,"bs-calendar-layout")(1,"bs-datepicker-navigation-view",0),D("onNavigate",function(s){return r.navigateTo(s)})("onViewMode",function(s){return r.changeViewMode(s)}),h(),d(2,"table",1)(3,"tbody"),T(4,NY,2,1,"tr",2),h()()()),i&2&&(f(),g("calendar",r.calendar),f(3),g("ngForOf",r.calendar==null?null:r.calendar.years))},dependencies:[CC,bC,rt],encapsulation:2})}}return t})(),_m=(()=>{class t{constructor(){this.onNavigate=new O,this.onViewMode=new O,this.onSelect=new O,this.onHover=new O}navigateTo(e){let i=Wl.DOWN===e?-1:1;this.onNavigate.emit({step:{year:i}})}viewMonth(e){this.onSelect.emit(e)}hoverMonth(e,i){this.onHover.emit({cell:e,isHovered:i})}changeViewMode(e){this.onViewMode.emit(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["bs-month-calendar-view"]],inputs:{calendar:"calendar"},outputs:{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"},decls:5,vars:2,consts:[[3,"onNavigate","onViewMode","calendar"],["role","grid",1,"months"],[4,"ngFor","ngForOf"],["role","gridcell",3,"disabled","is-highlighted","click","mouseenter","mouseleave",4,"ngFor","ngForOf"],["role","gridcell",3,"click","mouseenter","mouseleave"]],template:function(i,r){i&1&&(d(0,"bs-calendar-layout")(1,"bs-datepicker-navigation-view",0),D("onNavigate",function(s){return r.navigateTo(s)})("onViewMode",function(s){return r.changeViewMode(s)}),h(),d(2,"table",1)(3,"tbody"),T(4,FY,2,1,"tr",2),h()()()),i&2&&(f(),g("calendar",r.calendar),f(3),g("ngForOf",r.calendar==null?null:r.calendar.months))},dependencies:[CC,bC,rt],encapsulation:2})}}return t})(),Mz=(()=>{class t{constructor(e,i,r){this._config=e,this._elRef=i,this._renderer=r,this.day={date:new Date,label:""}}ngOnInit(){this.day?.isToday&&this._config&&this._config.customTodayClass&&this._renderer.addClass(this._elRef.nativeElement,this._config.customTodayClass),typeof this.day?.customClasses=="string"&&this.day?.customClasses.split(" ").filter(e=>e).forEach(e=>{this._renderer.addClass(this._elRef.nativeElement,e)})}static{this.\u0275fac=function(i){return new(i||t)(v(nr),v($),v(ke))}}static{this.\u0275cmp=L({type:t,selectors:[["","bsDatepickerDayDecorator",""]],hostVars:16,hostBindings:function(i,r){i&2&&j("disabled",r.day.isDisabled)("is-highlighted",r.day.isHovered)("is-other-month",r.day.isOtherMonth)("is-active-other-month",r.day.isOtherMonthHovered)("in-range",r.day.isInRange)("select-start",r.day.isSelectionStart)("select-end",r.day.isSelectionEnd)("selected",r.day.isSelected)},inputs:{day:"day"},attrs:VY,decls:1,vars:1,template:function(i,r){i&1&&y(0),i&2&&H(r.day&&r.day.label||"")},encapsulation:2,changeDetection:0})}}return t})(),od=(()=>{class t{constructor(e){this._config=e,this.onNavigate=new O,this.onViewMode=new O,this.onSelect=new O,this.onHover=new O,this.onHoverWeek=new O,this.isiOS=/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1,this._config.dateTooltipTexts&&this._config.dateTooltipTexts.length>0&&(this.isShowTooltip=!0)}navigateTo(e){let i=Wl.DOWN===e?-1:1;this.onNavigate.emit({step:{month:i}})}changeViewMode(e){this.onViewMode.emit(e)}selectDay(e){this.onSelect.emit(e)}selectWeek(e){if(!this._config.selectWeek&&!this._config.selectWeekDateRange||e.days.length===0)return;if(this._config.selectWeek&&e.days[0]&&!e.days[0].isDisabled&&this._config.selectFromOtherMonth){this.onSelect.emit(e.days[0]);return}let i=e.days.find(r=>(this._config.selectFromOtherMonth||!r.isOtherMonth)&&!r.isDisabled);if(this.onSelect.emit(i),this._config.selectWeekDateRange){let o=e.days.slice(0).reverse().find(s=>(this._config.selectFromOtherMonth||!s.isOtherMonth)&&!s.isDisabled);this.onSelect.emit(o)}}weekHoverHandler(e,i){if(!this._config.selectWeek&&!this._config.selectWeekDateRange)return;e.days.find(o=>(this._config.selectFromOtherMonth||!o.isOtherMonth)&&!o.isDisabled)&&(e.isHovered=i,this.isWeekHovered=i,this.onHoverWeek.emit(e))}hoverDay(e,i){this._config.selectFromOtherMonth&&e.isOtherMonth&&(e.isOtherMonthHovered=i),this._config.dateTooltipTexts&&(e.tooltipText="",this._config.dateTooltipTexts.forEach(r=>{if(lo(r.date,e.date)){e.tooltipText=r.tooltipText;return}})),this.onHover.emit({cell:e,isHovered:i})}static{this.\u0275fac=function(i){return new(i||t)(v(nr))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-days-calendar-view"]],inputs:{calendar:"calendar",options:"options",isDisabled:"isDisabled"},outputs:{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover",onHoverWeek:"onHoverWeek"},decls:9,vars:5,consts:[[3,"onNavigate","onViewMode","calendar","isDisabled"],["role","grid",1,"days","weeks"],[4,"ngIf"],["aria-label","weekday",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],["aria-label","weekday"],["class","week",3,"active-week",4,"ngIf"],["role","gridcell",4,"ngFor","ngForOf"],[1,"week"],[3,"click",4,"ngIf"],[3,"click","mouseenter","mouseleave",4,"ngIf"],[3,"click"],[3,"click","mouseenter","mouseleave"],["role","gridcell"],["bsDatepickerDayDecorator","",3,"day","tooltip","click","mouseenter","mouseleave",4,"ngIf"],["bsDatepickerDayDecorator","",3,"day","click","mouseenter","mouseleave",4,"ngIf"],["bsDatepickerDayDecorator","",3,"day","click",4,"ngIf"],["bsDatepickerDayDecorator","",3,"click","mouseenter","mouseleave","day","tooltip"],["bsDatepickerDayDecorator","",3,"click","mouseenter","mouseleave","day"],["bsDatepickerDayDecorator","",3,"click","day"]],template:function(i,r){i&1&&(d(0,"bs-calendar-layout")(1,"bs-datepicker-navigation-view",0),D("onNavigate",function(s){return r.navigateTo(s)})("onViewMode",function(s){return r.changeViewMode(s)}),h(),d(2,"table",1)(3,"thead")(4,"tr"),T(5,jY,1,0,"th",2)(6,HY,2,1,"th",3),h()(),d(7,"tbody"),T(8,qY,3,2,"tr",4),h()()()),i&2&&(f(),g("calendar",r.calendar)("isDisabled",!!r.isDisabled),f(4),g("ngIf",r.options&&r.options.showWeekNumbers),f(),g("ngForOf",r.calendar.weekdays),f(2),g("ngForOf",r.calendar.weeks))},dependencies:[CC,bC,Me,rt,Mz,cC,W1],encapsulation:2})}}return t})(),wC=(()=>{class t extends hm{set value(e){this._effects?.setValue(e)}get isDatePickerDisabled(){return!!this._config.isDisabled}get isDatepickerDisabled(){return this.isDatePickerDisabled?"":null}get isDatepickerReadonly(){return this.isDatePickerDisabled?"":null}constructor(e,i,r,o,s,a,l){super(),this._config=i,this._store=r,this._element=o,this._actions=s,this._positionService=l,this.valueChange=new O,this.animationState="void",this.isRangePicker=!1,this._subs=[],this._effects=a,e.setStyle(o.nativeElement,"display","block"),e.setStyle(o.nativeElement,"position","absolute")}ngOnInit(){this._positionService.setOptions({modifiers:{flip:{enabled:this._config.adaptivePosition},preventOverflow:{enabled:this._config.adaptivePosition}},allowedPositions:this._config.allowedPositions}),this._positionService.event$?.pipe(yt(1)).subscribe(()=>{if(this._positionService.disable(),this._config.isAnimated){this.animationState=this.isTopPosition?"animated-up":"animated-down";return}this.animationState="unanimated"}),this.isOtherMonthsActive=this._config.selectFromOtherMonth,this.containerClass=this._config.containerClass,this.showTodayBtn=this._config.showTodayButton,this.todayBtnLbl=this._config.todayButtonLabel,this.todayPos=this._config.todayPosition,this.showClearBtn=this._config.showClearButton,this.clearBtnLbl=this._config.clearButtonLabel,this.clearPos=this._config.clearPosition,this.customRangeBtnLbl=this._config.customRangeButtonLabel,this.withTimepicker=this._config.withTimepicker,this._effects?.init(this._store).setOptions(this._config).setBindings(this).setEventHandlers(this).registerDatepickerSideEffects();let e;this._subs.push(this._store.select(i=>i.selectedDate).subscribe(i=>{e=i,this.valueChange.emit(i)})),this._subs.push(this._store.select(i=>i.selectedTime).subscribe(i=>{!i||!i[0]||!(i[0]instanceof Date)||i[0]===e||this.valueChange.emit(i[0])})),this._store.dispatch(this._actions.changeViewMode(this._config.startView))}ngAfterViewInit(){this.selectedTimeSub.add(this.selectedTime?.subscribe(e=>{Array.isArray(e)&&e.length>=1&&this.startTimepicker?.writeValue(e[0])})),this.startTimepicker?.registerOnChange(e=>{this.timeSelectHandler(e,0)})}get isTopPosition(){return this._element.nativeElement.classList.contains("top")}positionServiceEnable(){this._positionService.enable()}timeSelectHandler(e,i){this._store.dispatch(this._actions.selectTime(e,i))}daySelectHandler(e){!e||(this.isOtherMonthsActive?e.isDisabled:e.isOtherMonth||e.isDisabled)||this._store.dispatch(this._actions.select(e.date))}monthSelectHandler(e){!e||e.isDisabled||this._store.dispatch(this._actions.navigateTo({unit:{month:Ae(e.date),year:Vt(e.date)},viewMode:"day"}))}yearSelectHandler(e){!e||e.isDisabled||this._store.dispatch(this._actions.navigateTo({unit:{year:Vt(e.date)},viewMode:"month"}))}setToday(){this._store.dispatch(this._actions.select(new Date))}clearDate(){this._store.dispatch(this._actions.select(void 0))}ngOnDestroy(){for(let e of this._subs)e.unsubscribe();this.selectedTimeSub.unsubscribe(),this._effects?.destroy()}static{this.\u0275fac=function(i){return new(i||t)(v(ke),v(nr),v(Zo),v($),v(gt),v(Qo),v(rn))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-datepicker-container"]],viewQuery:function(i,r){if(i&1&&Ot(J1,5),i&2){let o;Ge(o=qe())&&(r.startTimepicker=o.first)}},hostAttrs:["role","dialog","aria-label","calendar",1,"bottom"],hostVars:2,hostBindings:function(i,r){i&1&&D("click",function(s){return r._stopPropagation(s)}),i&2&&J("disabled",r.isDatepickerDisabled)("readonly",r.isDatepickerReadonly)},features:[ce([Zo,Qo,gt]),wt],decls:2,vars:3,consts:[["startTP",""],["endTP",""],["class","bs-datepicker",3,"ngClass",4,"ngIf"],[1,"bs-datepicker",3,"ngClass"],[1,"bs-datepicker-container"],["role","application",1,"bs-calendar-container",3,"ngSwitch"],[4,"ngSwitchCase"],["class","bs-media-container",4,"ngSwitchCase"],["class","bs-datepicker-buttons",4,"ngIf"],["class","bs-datepicker-custom-range",4,"ngIf"],[1,"bs-media-container"],[3,"bs-datepicker-multiple","calendar","isDisabled","options","onNavigate","onViewMode","onHover","onHoverWeek","onSelect",4,"ngFor","ngForOf"],["class","bs-timepicker-in-datepicker-container",4,"ngIf"],[3,"onNavigate","onViewMode","onHover","onHoverWeek","onSelect","calendar","isDisabled","options"],[1,"bs-timepicker-in-datepicker-container"],[3,"disabled"],[3,"disabled",4,"ngIf"],[3,"bs-datepicker-multiple","calendar","onNavigate","onViewMode","onHover","onSelect",4,"ngFor","ngForOf"],[3,"onNavigate","onViewMode","onHover","onSelect","calendar"],[1,"bs-datepicker-buttons"],["type","button",1,"btn","btn-success"],["type","button",1,"btn","btn-default"],["class","btn-today-wrapper",3,"today-left","today-right","today-center",4,"ngIf"],["class","btn-clear-wrapper",3,"clear-left","clear-right","clear-center",4,"ngIf"],[1,"btn-today-wrapper"],[1,"btn","btn-success",3,"click"],[1,"btn-clear-wrapper"],[1,"bs-datepicker-custom-range"],[3,"onSelect","selectedRange","ranges","customRangeLabel"]],template:function(i,r){i&1&&(T(0,l4,10,11,"div",2),te(1,"async")),i&2&&g("ngIf",me(1,1,r.viewMode))},dependencies:[Me,sn,bi,yr,rt,od,Yl,$l,_m,gm,mm,vr],encapsulation:2,data:{animation:[fm]}})}}return t})(),zl,DC=(()=>{class t{get readonlyValue(){return this.isDisabled?"":null}constructor(e,i,r,o,s){this._config=e,this._elementRef=i,this._renderer=r,this.placement="bottom",this.triggers="click",this.outsideClick=!0,this.container="body",this.outsideEsc=!0,this.isDestroy$=new X,this.isDisabled=!1,this.bsValueChange=new O,this._subs=[],this._dateInputFormat$=new X,Object.assign(this,this._config),this._datepicker=s.createLoader(i,o,r),this.onShown=this._datepicker.onShown,this.onHidden=this._datepicker.onHidden,this.isOpen$=new Ne(this.isOpen)}get isOpen(){return this._datepicker.isShown}set isOpen(e){this.isOpen$.next(e)}set bsValue(e){this._bsValue&&e&&this._bsValue.getTime()===e.getTime()||(!this._bsValue&&e&&!this._config.withTimepicker&&fC(e,new Date),e&&this.bsConfig?.initCurrentTime&&(e=q1(e)),this.initPreviousValue(),this._bsValue=e,this.bsValueChange.emit(e))}get dateInputFormat$(){return this._dateInputFormat$}ngOnInit(){this._datepicker.listen({outsideClick:this.outsideClick,outsideEsc:this.outsideEsc,triggers:this.triggers,show:()=>this.show()}),this.setConfig(),this.initPreviousValue()}initPreviousValue(){zl=this._bsValue}ngOnChanges(e){e.bsConfig&&(e.bsConfig.currentValue?.initCurrentTime&&e.bsConfig.currentValue?.initCurrentTime!==e.bsConfig.previousValue?.initCurrentTime&&this._bsValue&&(this.initPreviousValue(),this._bsValue=q1(this._bsValue),this.bsValueChange.emit(this._bsValue)),this.setConfig(),this._dateInputFormat$.next(this.bsConfig&&this.bsConfig.dateInputFormat)),!(!this._datepickerRef||!this._datepickerRef.instance)&&(e.minDate&&(this._datepickerRef.instance.minDate=this.minDate),e.maxDate&&(this._datepickerRef.instance.maxDate=this.maxDate),e.daysDisabled&&(this._datepickerRef.instance.daysDisabled=this.daysDisabled),e.datesDisabled&&(this._datepickerRef.instance.datesDisabled=this.datesDisabled),e.datesEnabled&&(this._datepickerRef.instance.datesEnabled=this.datesEnabled),e.isDisabled&&(this._datepickerRef.instance.isDisabled=this.isDisabled),e.dateCustomClasses&&(this._datepickerRef.instance.dateCustomClasses=this.dateCustomClasses),e.dateTooltipTexts&&(this._datepickerRef.instance.dateTooltipTexts=this.dateTooltipTexts))}initSubscribes(){this._subs.push(this.bsValueChange.subscribe(e=>{this._datepickerRef&&(this._datepickerRef.instance.value=e)})),this._datepickerRef&&this._subs.push(this._datepickerRef.instance.valueChange.subscribe(e=>{this.initPreviousValue(),this.bsValue=e,!this.keepDatepickerModalOpened()&&this.hide()}))}keepDatepickerModalOpened(){return!zl||!this.bsConfig?.keepDatepickerOpened||!this._config.withTimepicker?!1:this.isDateSame()}isDateSame(){return zl instanceof Date&&this._bsValue?.getDate()===zl?.getDate()&&this._bsValue?.getMonth()===zl?.getMonth()&&this._bsValue?.getFullYear()===zl?.getFullYear()}ngAfterViewInit(){this.isOpen$.pipe(le(e=>e!==this.isOpen),hi(this.isDestroy$)).subscribe(()=>this.toggle())}show(){this._datepicker.isShown||(this.setConfig(),this._datepickerRef=this._datepicker.provide({provide:nr,useValue:this._config}).attach(wC).to(this.container).position({attachment:this.placement}).show({placement:this.placement}),this.initSubscribes())}hide(){this.isOpen&&this._datepicker.hide();for(let e of this._subs)e.unsubscribe();this._config.returnFocusToInput&&this._renderer.selectRootElement(this._elementRef.nativeElement).focus()}toggle(){if(this.isOpen)return this.hide();this.show()}setConfig(){this._config=Object.assign({},this._config,this.bsConfig,{value:this._config.keepDatesOutOfRules?this._bsValue:tk(this._bsValue,this.maxDate||this.bsConfig&&this.bsConfig.maxDate),isDisabled:this.isDisabled,minDate:this.minDate||this.bsConfig&&this.bsConfig.minDate,maxDate:this.maxDate||this.bsConfig&&this.bsConfig.maxDate,daysDisabled:this.daysDisabled||this.bsConfig&&this.bsConfig.daysDisabled,dateCustomClasses:this.dateCustomClasses||this.bsConfig&&this.bsConfig.dateCustomClasses,dateTooltipTexts:this.dateTooltipTexts||this.bsConfig&&this.bsConfig.dateTooltipTexts,datesDisabled:this.datesDisabled||this.bsConfig&&this.bsConfig.datesDisabled,datesEnabled:this.datesEnabled||this.bsConfig&&this.bsConfig.datesEnabled,minMode:this.minMode||this.bsConfig&&this.bsConfig.minMode,initCurrentTime:this.bsConfig?.initCurrentTime,keepDatepickerOpened:this.bsConfig?.keepDatepickerOpened,keepDatesOutOfRules:this.bsConfig?.keepDatesOutOfRules})}unsubscribeSubscriptions(){this._subs?.length&&(this._subs.map(e=>e.unsubscribe()),this._subs.length=0)}ngOnDestroy(){this._datepicker.dispose(),this.isOpen$.next(!1),this.isDestroy$&&(this.isDestroy$.next(null),this.isDestroy$.complete()),this.unsubscribeSubscriptions()}static{this.\u0275fac=function(i){return new(i||t)(v(nr),v($),v(ke),v(pt),v(Qt))}}static{this.\u0275dir=B({type:t,selectors:[["","bsDatepicker",""]],hostVars:1,hostBindings:function(i,r){i&2&&J("readonly",r.readonlyValue)},inputs:{placement:"placement",triggers:"triggers",outsideClick:"outsideClick",container:"container",outsideEsc:"outsideEsc",isDisabled:"isDisabled",minDate:"minDate",maxDate:"maxDate",ignoreMinMaxErrors:"ignoreMinMaxErrors",minMode:"minMode",daysDisabled:"daysDisabled",datesDisabled:"datesDisabled",datesEnabled:"datesEnabled",dateCustomClasses:"dateCustomClasses",dateTooltipTexts:"dateTooltipTexts",isOpen:"isOpen",bsValue:"bsValue",bsConfig:"bsConfig"},outputs:{onShown:"onShown",onHidden:"onHidden",bsValueChange:"bsValueChange"},exportAs:["bsDatepicker"],features:[ce([Qt]),xe]})}}return t})();var Sz=(()=>{class t extends wC{get disabledValue(){return this.isDatePickerDisabled?"":null}get readonlyValue(){return this.isDatePickerDisabled?"":null}constructor(e,i,r,o,s,a,l){super(e,i,r,o,s,a,l),e.setStyle(o.nativeElement,"display","inline-block"),e.setStyle(o.nativeElement,"position","static")}static{this.\u0275fac=function(i){return new(i||t)(v(ke),v(nr),v(Zo),v($),v(gt),v(Qo),v(rn))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-datepicker-inline-container"]],hostVars:2,hostBindings:function(i,r){i&1&&D("click",function(s){return r._stopPropagation(s)}),i&2&&J("disabled",r.disabledValue)("readonly",r.readonlyValue)},features:[ce([Zo,Qo,rn]),wt],decls:2,vars:3,consts:[["startTP",""],["endTP",""],["class","bs-datepicker",3,"ngClass",4,"ngIf"],[1,"bs-datepicker",3,"ngClass"],[1,"bs-datepicker-container"],["role","application",1,"bs-calendar-container",3,"ngSwitch"],[4,"ngSwitchCase"],["class","bs-media-container",4,"ngSwitchCase"],["class","bs-datepicker-buttons",4,"ngIf"],["class","bs-datepicker-custom-range",4,"ngIf"],[1,"bs-media-container"],[3,"bs-datepicker-multiple","calendar","isDisabled","options","onNavigate","onViewMode","onHover","onHoverWeek","onSelect",4,"ngFor","ngForOf"],["class","bs-timepicker-in-datepicker-container",4,"ngIf"],[3,"onNavigate","onViewMode","onHover","onHoverWeek","onSelect","calendar","isDisabled","options"],[1,"bs-timepicker-in-datepicker-container"],[3,"disabled"],[3,"disabled",4,"ngIf"],[3,"bs-datepicker-multiple","calendar","onNavigate","onViewMode","onHover","onSelect",4,"ngFor","ngForOf"],[3,"onNavigate","onViewMode","onHover","onSelect","calendar"],[1,"bs-datepicker-buttons"],["type","button",1,"btn","btn-success"],["type","button",1,"btn","btn-default"],["class","btn-today-wrapper",3,"today-left","today-right","today-center",4,"ngIf"],["class","btn-clear-wrapper",3,"clear-left","clear-right","clear-center",4,"ngIf"],[1,"btn-today-wrapper"],[1,"btn","btn-success",3,"click"],[1,"btn-clear-wrapper"],[1,"bs-datepicker-custom-range"],[3,"onSelect","selectedRange","ranges","customRangeLabel"]],template:function(i,r){i&1&&(T(0,w4,10,11,"div",2),te(1,"async")),i&2&&g("ngIf",me(1,1,r.viewMode))},dependencies:[Me,sn,bi,yr,rt,od,Yl,$l,_m,gm,mm,vr],encapsulation:2,data:{animation:[fm]}})}}return t})();var MC=(()=>{class t extends hm{set value(e){this._effects?.setRangeValue(e)}get isDatePickerDisabled(){return!!this._config.isDisabled}get isDatepickerDisabled(){return this.isDatePickerDisabled?"":null}get isDatepickerReadonly(){return this.isDatePickerDisabled?"":null}constructor(e,i,r,o,s,a,l){super(),this._config=i,this._store=r,this._element=o,this._actions=s,this._positionService=l,this.valueChange=new O,this.animationState="void",this._rangeStack=[],this.chosenRange=[],this._subs=[],this.isRangePicker=!0,this._effects=a,this.customRanges=this._config.ranges||[],this.customRangeBtnLbl=this._config.customRangeButtonLabel,e.setStyle(o.nativeElement,"display","block"),e.setStyle(o.nativeElement,"position","absolute")}ngOnInit(){this._positionService.setOptions({modifiers:{flip:{enabled:this._config.adaptivePosition},preventOverflow:{enabled:this._config.adaptivePosition}},allowedPositions:this._config.allowedPositions}),this._positionService.event$?.pipe(yt(1)).subscribe(()=>{if(this._positionService.disable(),this._config.isAnimated){this.animationState=this.isTopPosition?"animated-up":"animated-down";return}this.animationState="unanimated"}),this.containerClass=this._config.containerClass,this.isOtherMonthsActive=this._config.selectFromOtherMonth,this.withTimepicker=this._config.withTimepicker,this._effects?.init(this._store).setOptions(this._config).setBindings(this).setEventHandlers(this).registerDatepickerSideEffects();let e;this._subs.push(this._store.select(i=>i.selectedRange).subscribe(i=>{e=i,this.valueChange.emit(i),this.chosenRange=i||[]})),this._subs.push(this._store.select(i=>i.selectedTime).subscribe(i=>{!i||!i[0]||!i[1]||!(i[0]instanceof Date)||!(i[1]instanceof Date)||e&&i[0]===e[0]&&i[1]===e[1]||(this.valueChange.emit(i),this.chosenRange=i||[])}))}ngAfterViewInit(){this.selectedTimeSub.add(this.selectedTime?.subscribe(e=>{Array.isArray(e)&&e.length>=2&&(this.startTimepicker?.writeValue(e[0]),this.endTimepicker?.writeValue(e[1]))})),this.startTimepicker?.registerOnChange(e=>{this.timeSelectHandler(e,0)}),this.endTimepicker?.registerOnChange(e=>{this.timeSelectHandler(e,1)})}get isTopPosition(){return this._element.nativeElement.classList.contains("top")}positionServiceEnable(){this._positionService.enable()}timeSelectHandler(e,i){this._store.dispatch(this._actions.selectTime(e,i))}daySelectHandler(e){!e||(this.isOtherMonthsActive?e.isDisabled:e.isOtherMonth||e.isDisabled)||this.rangesProcessing(e)}monthSelectHandler(e){if(!(!e||e.isDisabled)){if(e.isSelected=!0,this._config.minMode!=="month"){if(e.isDisabled)return;this._store.dispatch(this._actions.navigateTo({unit:{month:Ae(e.date),year:Vt(e.date)},viewMode:"day"}));return}this.rangesProcessing(e)}}yearSelectHandler(e){if(!(!e||e.isDisabled)){if(e.isSelected=!0,this._config.minMode!=="year"){if(e.isDisabled)return;this._store.dispatch(this._actions.navigateTo({unit:{year:Vt(e.date)},viewMode:"month"}));return}this.rangesProcessing(e)}}rangesProcessing(e){this._rangeStack.length===1&&(this._rangeStack=e.date>=this._rangeStack[0]?[this._rangeStack[0],e.date]:[e.date]),this._config.maxDateRange&&this.setMaxDateRangeOnCalendar(e.date),this._rangeStack.length===0&&(this._rangeStack=[e.date],this._config.maxDateRange&&this.setMaxDateRangeOnCalendar(e.date)),this._store.dispatch(this._actions.selectRange(this._rangeStack)),this._rangeStack.length===2&&(this._rangeStack=[])}ngOnDestroy(){for(let e of this._subs)e.unsubscribe();this.selectedTimeSub.unsubscribe(),this._effects?.destroy()}setRangeOnCalendar(e){e&&(this._rangeStack=e.value instanceof Date?[e.value]:e.value),this._store.dispatch(this._actions.selectRange(this._rangeStack))}setMaxDateRangeOnCalendar(e){let i=new Date(e);if(this._config.maxDate){let r=this._config.maxDate.getTime(),o=e.getTime()+(this._config.maxDateRange||0)*X4;i=o>r?new Date(this._config.maxDate):new Date(o)}else i.setDate(e.getDate()+(this._config.maxDateRange||0));this._effects?.setMaxDate(i)}static{this.\u0275fac=function(i){return new(i||t)(v(ke),v(nr),v(Zo),v($),v(gt),v(Qo),v(rn))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-daterangepicker-container"]],viewQuery:function(i,r){if(i&1&&(Ot(J1,5),Ot(D4,5)),i&2){let o;Ge(o=qe())&&(r.startTimepicker=o.first),Ge(o=qe())&&(r.endTimepicker=o.first)}},hostAttrs:["role","dialog","aria-label","calendar",1,"bottom"],hostVars:2,hostBindings:function(i,r){i&1&&D("click",function(s){return r._stopPropagation(s)}),i&2&&J("disabled",r.isDatepickerDisabled)("readonly",r.isDatepickerReadonly)},features:[ce([Zo,Qo,gt,rn]),wt],decls:2,vars:3,consts:[["startTP",""],["endTP",""],["class","bs-datepicker",3,"ngClass",4,"ngIf"],[1,"bs-datepicker",3,"ngClass"],[1,"bs-datepicker-container"],["role","application",1,"bs-calendar-container",3,"ngSwitch"],[4,"ngSwitchCase"],["class","bs-media-container",4,"ngSwitchCase"],["class","bs-datepicker-buttons",4,"ngIf"],["class","bs-datepicker-custom-range",4,"ngIf"],[1,"bs-media-container"],[3,"bs-datepicker-multiple","calendar","isDisabled","options","onNavigate","onViewMode","onHover","onHoverWeek","onSelect",4,"ngFor","ngForOf"],["class","bs-timepicker-in-datepicker-container",4,"ngIf"],[3,"onNavigate","onViewMode","onHover","onHoverWeek","onSelect","calendar","isDisabled","options"],[1,"bs-timepicker-in-datepicker-container"],[3,"disabled"],[3,"disabled",4,"ngIf"],[3,"bs-datepicker-multiple","calendar","onNavigate","onViewMode","onHover","onSelect",4,"ngFor","ngForOf"],[3,"onNavigate","onViewMode","onHover","onSelect","calendar"],[1,"bs-datepicker-buttons"],["type","button",1,"btn","btn-success"],["type","button",1,"btn","btn-default"],["class","btn-today-wrapper",3,"today-left","today-right","today-center",4,"ngIf"],["class","btn-clear-wrapper",3,"clear-left","clear-right","clear-center",4,"ngIf"],[1,"btn-today-wrapper"],[1,"btn","btn-success",3,"click"],[1,"btn-clear-wrapper"],[1,"bs-datepicker-custom-range"],[3,"onSelect","selectedRange","ranges","customRangeLabel"]],template:function(i,r){i&1&&(T(0,F4,10,11,"div",2),te(1,"async")),i&2&&g("ngIf",me(1,1,r.viewMode))},dependencies:[Me,sn,bi,yr,rt,od,Yl,$l,_m,gm,mm,vr],encapsulation:2,data:{animation:[fm]}})}}return t})(),Tz=(()=>{class t extends MC{get disabledValue(){return this.isDatePickerDisabled?"":null}get readonlyValue(){return this.isDatePickerDisabled?"":null}constructor(e,i,r,o,s,a,l){super(e,i,r,o,s,a,l),e.setStyle(o.nativeElement,"display","inline-block"),e.setStyle(o.nativeElement,"position","static")}static{this.\u0275fac=function(i){return new(i||t)(v(ke),v(nr),v(Zo),v($),v(gt),v(Qo),v(rn))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-daterangepicker-inline-container"]],hostVars:2,hostBindings:function(i,r){i&1&&D("click",function(s){return r._stopPropagation(s)}),i&2&&J("disabled",r.disabledValue)("readonly",r.readonlyValue)},features:[ce([Zo,Qo,gt,rn]),wt],decls:2,vars:3,consts:[["startTP",""],["endTP",""],["class","bs-datepicker",3,"ngClass",4,"ngIf"],[1,"bs-datepicker",3,"ngClass"],[1,"bs-datepicker-container"],["role","application",1,"bs-calendar-container",3,"ngSwitch"],[4,"ngSwitchCase"],["class","bs-media-container",4,"ngSwitchCase"],["class","bs-datepicker-buttons",4,"ngIf"],["class","bs-datepicker-custom-range",4,"ngIf"],[1,"bs-media-container"],[3,"bs-datepicker-multiple","calendar","isDisabled","options","onNavigate","onViewMode","onHover","onHoverWeek","onSelect",4,"ngFor","ngForOf"],["class","bs-timepicker-in-datepicker-container",4,"ngIf"],[3,"onNavigate","onViewMode","onHover","onHoverWeek","onSelect","calendar","isDisabled","options"],[1,"bs-timepicker-in-datepicker-container"],[3,"disabled"],[3,"disabled",4,"ngIf"],[3,"bs-datepicker-multiple","calendar","onNavigate","onViewMode","onHover","onSelect",4,"ngFor","ngForOf"],[3,"onNavigate","onViewMode","onHover","onSelect","calendar"],[1,"bs-datepicker-buttons"],["type","button",1,"btn","btn-success"],["type","button",1,"btn","btn-default"],["class","btn-today-wrapper",3,"today-left","today-right","today-center",4,"ngIf"],["class","btn-clear-wrapper",3,"clear-left","clear-right","clear-center",4,"ngIf"],[1,"btn-today-wrapper"],[1,"btn","btn-success",3,"click"],[1,"btn-clear-wrapper"],[1,"bs-datepicker-custom-range"],[3,"onSelect","selectedRange","ranges","customRangeLabel"]],template:function(i,r){i&1&&(T(0,K4,10,11,"div",2),te(1,"async")),i&2&&g("ngIf",me(1,1,r.viewMode))},dependencies:[Me,sn,bi,yr,rt,od,Yl,$l,_m,gm,mm,vr],encapsulation:2,data:{animation:[fm]}})}}return t})();var Ez={provide:It,useExisting:He(()=>ym),multi:!0},Iz={provide:to,useExisting:He(()=>ym),multi:!0},ym=(()=>{class t{constructor(e,i,r,o,s){this._picker=e,this._localeService=i,this._renderer=r,this._elRef=o,this.changeDetection=s,this._onChange=Function.prototype,this._onTouched=Function.prototype,this._validatorChange=Function.prototype,this._subs=new Ue}onChange(e){this.writeValue(e.target.value),this._onChange(this._value),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus(),this._onTouched()}onBlur(){this._onTouched()}hide(){this._picker.hide(),this._renderer.selectRootElement(this._elRef.nativeElement).blur(),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus()}ngOnInit(){let e=i=>{this._setInputValue(i),this._value!==i&&(this._value=i,this._onChange(i),this._onTouched()),this.changeDetection.markForCheck()};this._picker._bsValue&&e(this._picker._bsValue),this._subs.add(this._picker.bsValueChange.subscribe(e)),this._subs.add(this._localeService.localeChange.subscribe(()=>{this._setInputValue(this._value)})),this._subs.add(this._picker.dateInputFormat$.pipe(Hr()).subscribe(()=>{this._setInputValue(this._value)}))}ngOnDestroy(){this._subs.unsubscribe()}_setInputValue(e){let i=e?oi(e,this._picker._config.dateInputFormat,this._localeService.currentLocale):"";this._renderer.setProperty(this._elRef.nativeElement,"value",i)}validate(e){let i=e.value;if(i==null||i==="")return null;if(Ju(i)){if(!ao(i))return{bsDate:{invalid:i}};if(this._picker&&this._picker.minDate&&Yo(i,this._picker.minDate,"date"))return this.writeValue(this._picker.minDate),this._picker.ignoreMinMaxErrors?null:{bsDate:{minDate:this._picker.minDate}};if(this._picker&&this._picker.maxDate&&co(i,this._picker.maxDate,"date"))return this.writeValue(this._picker.maxDate),this._picker.ignoreMinMaxErrors?null:{bsDate:{maxDate:this._picker.maxDate}}}return null}registerOnValidatorChange(e){this._validatorChange=e}writeValue(e){if(!e)this._value=void 0;else{let i=this._localeService.currentLocale;if(!ln(i))throw new Error(`Locale "${i}" is not defined, please add it with "defineLocale(...)"`);if(this._value=Vl(e,this._picker._config.dateInputFormat,this._localeService.currentLocale),this._picker._config.useUtc){let o=Wb(this._value);this._value=o===null?void 0:o}}this._picker.bsValue=this._value}setDisabledState(e){if(this._picker.isDisabled=e,e){this._renderer.setAttribute(this._elRef.nativeElement,"disabled","disabled");return}this._renderer.removeAttribute(this._elRef.nativeElement,"disabled")}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}static{this.\u0275fac=function(i){return new(i||t)(v(DC,1),v(pC),v(ke),v($),v(it))}}static{this.\u0275dir=B({type:t,selectors:[["input","bsDatepicker",""]],hostBindings:function(i,r){i&1&&D("change",function(s){return r.onChange(s)})("blur",function(){return r.onBlur()})("keyup.esc",function(){return r.hide()})("keydown.enter",function(){return r.hide()})},features:[ce([Ez,Iz])]})}}return t})(),xz=(()=>{class t extends nr{constructor(){super(...arguments),this.displayMonths=2}static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})()}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),qo,kz=(()=>{class t{get isOpen(){return this._datepicker.isShown}set isOpen(e){this.isOpen$.next(e)}set bsValue(e){this._bsValue!==e&&(e&&this.bsConfig?.initCurrentTime&&(e=Q1(e)),this.initPreviousValue(),this._bsValue=e,this.bsValueChange.emit(e))}get isDatepickerReadonly(){return this.isDisabled?"":null}get rangeInputFormat$(){return this._rangeInputFormat$}constructor(e,i,r,o,s){this._config=e,this._elementRef=i,this._renderer=r,this.placement="bottom",this.triggers="click",this.outsideClick=!0,this.container="body",this.outsideEsc=!0,this.isDestroy$=new X,this.isDisabled=!1,this.bsValueChange=new O,this._subs=[],this._rangeInputFormat$=new X,this._datepicker=s.createLoader(i,o,r),Object.assign(this,e),this.onShown=this._datepicker.onShown,this.onHidden=this._datepicker.onHidden,this.isOpen$=new Ne(this.isOpen)}ngOnInit(){this.isDestroy$=new X,this._datepicker.listen({outsideClick:this.outsideClick,outsideEsc:this.outsideEsc,triggers:this.triggers,show:()=>this.show()}),this.initPreviousValue(),this.setConfig()}ngOnChanges(e){e.bsConfig&&(e.bsConfig.currentValue?.initCurrentTime&&e.bsConfig.currentValue?.initCurrentTime!==e.bsConfig.previousValue?.initCurrentTime&&this._bsValue&&(this.initPreviousValue(),this._bsValue=Q1(this._bsValue),this.bsValueChange.emit(this._bsValue)),this.setConfig(),this._rangeInputFormat$.next(e.bsConfig.currentValue&&e.bsConfig.currentValue.rangeInputFormat)),!(!this._datepickerRef||!this._datepickerRef.instance)&&(e.minDate&&(this._datepickerRef.instance.minDate=this.minDate),e.maxDate&&(this._datepickerRef.instance.maxDate=this.maxDate),e.datesDisabled&&(this._datepickerRef.instance.datesDisabled=this.datesDisabled),e.datesEnabled&&(this._datepickerRef.instance.datesEnabled=this.datesEnabled),e.daysDisabled&&(this._datepickerRef.instance.daysDisabled=this.daysDisabled),e.isDisabled&&(this._datepickerRef.instance.isDisabled=this.isDisabled),e.dateCustomClasses&&(this._datepickerRef.instance.dateCustomClasses=this.dateCustomClasses))}ngAfterViewInit(){this.isOpen$.pipe(le(e=>e!==this.isOpen),hi(this.isDestroy$)).subscribe(()=>this.toggle())}show(){this._datepicker.isShown||(this.setConfig(),this._datepickerRef=this._datepicker.provide({provide:nr,useValue:this._config}).attach(MC).to(this.container).position({attachment:this.placement}).show({placement:this.placement}),this.initSubscribes())}initSubscribes(){this._subs.push(this.bsValueChange.subscribe(e=>{this._datepickerRef&&(this._datepickerRef.instance.value=e)})),this._datepickerRef&&this._subs.push(this._datepickerRef.instance.valueChange.pipe(le(e=>e&&e[0]&&!!e[1])).subscribe(e=>{this.initPreviousValue(),this.bsValue=e,!this.keepDatepickerModalOpened()&&this.hide()}))}initPreviousValue(){qo=this._bsValue}keepDatepickerModalOpened(){return!qo||!this.bsConfig?.keepDatepickerOpened||!this._config.withTimepicker?!1:this.isDateSame()}isDateSame(){return this._bsValue?.[0]?.getDate()===qo?.[0]?.getDate()&&this._bsValue?.[0]?.getMonth()===qo?.[0]?.getMonth()&&this._bsValue?.[0]?.getFullYear()===qo?.[0]?.getFullYear()&&this._bsValue?.[1]?.getDate()===qo?.[1]?.getDate()&&this._bsValue?.[1]?.getMonth()===qo?.[1]?.getMonth()&&this._bsValue?.[1]?.getFullYear()===qo?.[1]?.getFullYear()}setConfig(){this._config=Object.assign({},this._config,this.bsConfig,{value:this.bsConfig?.keepDatesOutOfRules?this._bsValue:tk(this._bsValue,this.maxDate||this.bsConfig&&this.bsConfig.maxDate),isDisabled:this.isDisabled,minDate:this.minDate||this.bsConfig&&this.bsConfig.minDate,maxDate:this.maxDate||this.bsConfig&&this.bsConfig.maxDate,daysDisabled:this.daysDisabled||this.bsConfig&&this.bsConfig.daysDisabled,dateCustomClasses:this.dateCustomClasses||this.bsConfig&&this.bsConfig.dateCustomClasses,datesDisabled:this.datesDisabled||this.bsConfig&&this.bsConfig.datesDisabled,datesEnabled:this.datesEnabled||this.bsConfig&&this.bsConfig.datesEnabled,ranges:iz(this.bsConfig&&this.bsConfig.ranges,this.maxDate||this.bsConfig&&this.bsConfig.maxDate),maxDateRange:this.bsConfig&&this.bsConfig.maxDateRange,initCurrentTime:this.bsConfig?.initCurrentTime,keepDatepickerOpened:this.bsConfig?.keepDatepickerOpened,keepDatesOutOfRules:this.bsConfig?.keepDatesOutOfRules})}hide(){this.isOpen&&this._datepicker.hide();for(let e of this._subs)e.unsubscribe();this._config.returnFocusToInput&&this._renderer.selectRootElement(this._elementRef.nativeElement).focus()}toggle(){if(this.isOpen)return this.hide();this.show()}unsubscribeSubscriptions(){this._subs?.length&&(this._subs.map(e=>e.unsubscribe()),this._subs.length=0)}ngOnDestroy(){this._datepicker.dispose(),this.isOpen$.next(!1),this.isDestroy$&&(this.isDestroy$.next(null),this.isDestroy$.complete()),this.unsubscribeSubscriptions()}static{this.\u0275fac=function(i){return new(i||t)(v(xz),v($),v(ke),v(pt),v(Qt))}}static{this.\u0275dir=B({type:t,selectors:[["","bsDaterangepicker",""]],hostVars:1,hostBindings:function(i,r){i&2&&J("readonly",r.isDatepickerReadonly)},inputs:{placement:"placement",triggers:"triggers",outsideClick:"outsideClick",container:"container",outsideEsc:"outsideEsc",isOpen:"isOpen",bsValue:"bsValue",bsConfig:"bsConfig",isDisabled:"isDisabled",minDate:"minDate",maxDate:"maxDate",dateCustomClasses:"dateCustomClasses",daysDisabled:"daysDisabled",datesDisabled:"datesDisabled",datesEnabled:"datesEnabled"},outputs:{onShown:"onShown",onHidden:"onHidden",bsValueChange:"bsValueChange"},exportAs:["bsDaterangepicker"],features:[ce([Qt]),xe]})}}return t})(),Az={provide:It,useExisting:He(()=>lk),multi:!0},Rz={provide:to,useExisting:He(()=>lk),multi:!0},lk=(()=>{class t{constructor(e,i,r,o,s){this._picker=e,this._localeService=i,this._renderer=r,this._elRef=o,this.changeDetection=s,this._onChange=Function.prototype,this._onTouched=Function.prototype,this._validatorChange=Function.prototype,this._subs=new Ue}ngOnInit(){let e=i=>{this._setInputValue(i),this._value!==i&&(this._value=i,this._onChange(i),this._onTouched()),this.changeDetection.markForCheck()};this._picker._bsValue&&e(this._picker._bsValue),this._subs.add(this._picker.bsValueChange.subscribe(i=>{this._setInputValue(i),this._value!==i&&(this._value=i,this._onChange(i),this._onTouched()),this.changeDetection.markForCheck()})),this._subs.add(this._localeService.localeChange.subscribe(()=>{this._setInputValue(this._value)})),this._subs.add(this._picker.rangeInputFormat$.pipe(Hr()).subscribe(()=>{this._setInputValue(this._value)}))}ngOnDestroy(){this._subs.unsubscribe()}onKeydownEvent(e){(e.keyCode===13||e.code==="Enter")&&this.hide()}_setInputValue(e){let i="";if(e){let r=e[0]?oi(e[0],this._picker._config.rangeInputFormat,this._localeService.currentLocale):"",o=e[1]?oi(e[1],this._picker._config.rangeInputFormat,this._localeService.currentLocale):"";i=r&&o?r+this._picker._config.rangeSeparator+o:""}this._renderer.setProperty(this._elRef.nativeElement,"value",i)}onChange(e){this.writeValue(e.target.value),this._onChange(this._value),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus(),this._onTouched()}validate(e){let i=e.value,r=[];if(i==null||!st(i))return null;i=i.slice().sort((a,l)=>a.getTime()-l.getTime());let o=ao(i[0]),s=ao(i[1]);return o?s?(this._picker&&this._picker.minDate&&Yo(i[0],this._picker.minDate,"date")&&(i[0]=this._picker.minDate,r.push({bsDate:{minDate:this._picker.minDate}})),this._picker&&this._picker.maxDate&&co(i[1],this._picker.maxDate,"date")&&(i[1]=this._picker.maxDate,r.push({bsDate:{maxDate:this._picker.maxDate}})),r.length>0?(this.writeValue(i),r):null):{bsDate:{invalid:i[1]}}:{bsDate:{invalid:i[0]}}}registerOnValidatorChange(e){this._validatorChange=e}writeValue(e){if(!e)this._value=void 0;else{let i=this._localeService.currentLocale;if(!ln(i))throw new Error(`Locale "${i}" is not defined, please add it with "defineLocale(...)"`);let o=[];if(typeof e=="string"){let s=this._picker._config.rangeSeparator.trim();e.replace(/[^-]/g,"").length>1?o=e.split(this._picker._config.rangeSeparator):o=e.split(s.length>0?s:this._picker._config.rangeSeparator).map(a=>a.trim())}Array.isArray(e)&&(o=e),this._value=o.map(s=>this._picker._config.useUtc?Wb(Vl(s,this._picker._config.rangeInputFormat,this._localeService.currentLocale)):Vl(s,this._picker._config.rangeInputFormat,this._localeService.currentLocale)).map(s=>isNaN(s.valueOf())?void 0:s)}this._picker.bsValue=this._value}setDisabledState(e){if(this._picker.isDisabled=e,e){this._renderer.setAttribute(this._elRef.nativeElement,"disabled","disabled");return}this._renderer.removeAttribute(this._elRef.nativeElement,"disabled")}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}onBlur(){this._onTouched()}hide(){this._picker.hide(),this._renderer.selectRootElement(this._elRef.nativeElement).blur(),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus()}static{this.\u0275fac=function(i){return new(i||t)(v(kz,1),v(pC),v(ke),v($),v(it))}}static{this.\u0275dir=B({type:t,selectors:[["input","bsDaterangepicker",""]],hostBindings:function(i,r){i&1&&D("change",function(s){return r.onChange(s)})("keyup.esc",function(){return r.hide()})("keydown",function(s){return r.onKeydownEvent(s)})("blur",function(){return r.onBlur()})},features:[ce([Az,Rz])]})}}return t})(),ck=(()=>{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=Ce({type:t})}static{this.\u0275inj=be({imports:[ot,cC,Yl,od,wC,Sz,MC,Tz]})}}return t})();function Oz(t,n){if(t&1&&(d(0,"div",3),y(1),h()),t&2){let e=p();f(),pe(" Please enter ",e.label()," ")}}var vm=class t{constructor(n){this.ngControl=n;this.ngControl.valueAccessor=this,this.bsConfig={containerClass:"theme-blue",isAnimated:!0,adaptivePosition:!0,dateInputFormat:"DD/MM/YYYY"}}label=Pn("");maxDate=Pn();bsConfig;writeValue(n){}registerOnChange(n){}registerOnTouched(n){}get control(){return this.ngControl.control}static \u0275fac=function(e){return new(e||t)(v(Hn,2))};static \u0275cmp=L({type:t,selectors:[["app-date-picker"]],inputs:{label:[1,"label"],maxDate:[1,"maxDate"]},decls:5,vars:8,consts:[[1,"mb-3","form-floating"],["bsDatepicker","",1,"form-control",3,"formControl","placeholder","bsConfig","maxDate"],["class","invalid-feedback text-start",4,"ngIf"],[1,"invalid-feedback","text-start"]],template:function(e,i){e&1&&(d(0,"div",0),A(1,"input",1),d(2,"label"),y(3),h(),T(4,Oz,2,1,"div",2),h()),e&2&&(f(),j("is-invalid",i.control.touched&&i.control.invalid),g("formControl",i.control)("placeholder",i.label())("bsConfig",i.bsConfig)("maxDate",i.maxDate()),f(2),H(i.label()),f(),g("ngIf",i.control==null?null:i.control.hasError("required")))},dependencies:[ck,DC,ym,Me,vl,en,Lt,Fs],encapsulation:2})};function Nz(t,n){if(t&1&&(d(0,"li"),y(1),h()),t&2){let e=n.$implicit;f(),H(e)}}function Lz(t,n){if(t&1&&(d(0,"div",10)(1,"ul"),Dt(2,Nz,2,1,"li",null,Ka),h()()),t&2){let e=p();f(2),Mt(e.validationErrors)}}var bm=class t{accountService=S(tt);fb=S(ZI);router=S(an);cancelRegister=Jh();maxDate=new Date;validationErrors;registerForm=new Lo({});register(){let n=this.getDateOnly(this.registerForm.get("dateOfBirth")?.value);this.registerForm.patchValue({dateOfBirth:n}),this.accountService.register(this.registerForm.value).subscribe({next:e=>this.router.navigateByUrl("/members"),error:e=>this.validationErrors=e})}cancel(){this.cancelRegister.emit(!1)}ngOnInit(){this.initializeFrom(),this.maxDate.setFullYear(this.maxDate.getFullYear()-18)}initializeFrom(){this.registerForm=this.fb.group({gender:["male"],username:["",Ci.required],knownAs:["",Ci.required],dateOfBirth:["",Ci.required],city:["",Ci.required],country:["",Ci.required],password:["",[Ci.required,Ci.minLength(4),Ci.maxLength(8)]],confirmPassword:[,[Ci.required,this.matchValue("password")]]}),this.registerForm.controls.password.valueChanges.subscribe({next:()=>{this.registerForm.controls.confirmPassword.updateValueAndValidity()}})}matchValue(n){return e=>e.value===e.parent?.get(n)?.value?null:{isMatching:!0}}getDateOnly(n){if(n)return new Date(n).toISOString().slice(0,10)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-register"]],outputs:{cancelRegister:"cancelRegister"},decls:26,vars:21,consts:[["autocomplete","off",3,"ngSubmit","formGroup"],[1,"text-center","text-primary"],[1,"mv-3"],[2,"margin-bottom","10px"],[1,"form-check-label",2,"margin-left","8px"],["type","radio","formControlName","gender","value","male",1,"form-check-input"],["type","radio","formControlName","gender","value","female",1,"form-check-input"],[3,"formControl","label","type"],[3,"formControl","label"],[3,"formControl","label","maxDate"],[1,"alert","alert-danger","text-start"],[1,"form-group","text-center"],["type","submit",1,"btn","btn-success","me-2",3,"disabled"],["type","submit",1,"btn","btn-default","me-2",3,"click"]],template:function(e,i){e&1&&(d(0,"form",0),D("ngSubmit",function(){return i.register()}),d(1,"h2",1),y(2,"Sign up"),h(),A(3,"hr"),d(4,"div",2)(5,"label",3),y(6," I'm a: "),h(),d(7,"label",4),A(8,"input",5),y(9," Male "),h(),d(10,"label",4),A(11,"input",6),y(12," Female "),h()(),A(13,"app-text-input",7)(14,"app-text-input",8)(15,"app-date-picker",9)(16,"app-text-input",8)(17,"app-text-input",8)(18,"app-text-input",7)(19,"app-text-input",7),T(20,Lz,4,0,"div",10),d(21,"div",11)(22,"button",12),y(23,"Register"),h(),d(24,"button",13),D("click",function(){return i.cancel()}),y(25,"Cancle"),h()()()),e&2&&(g("formGroup",i.registerForm),f(13),g("formControl",i.registerForm.get("username"))("label","Username")("type","text"),f(),g("formControl",i.registerForm.get("knownAs"))("label","known As"),f(),g("formControl",i.registerForm.get("dateOfBirth"))("label","Date of Birth")("maxDate",i.maxDate),f(),g("formControl",i.registerForm.get("city"))("label","City"),f(),g("formControl",i.registerForm.get("country"))("label","Country"),f(),g("formControl",i.registerForm.get("password"))("label","Password")("type","password"),f(),g("formControl",i.registerForm.get("confirmPassword"))("label","Confirm password")("type","password"),f(),Le(i.validationErrors?20:-1),f(2),g("disabled",!i.registerForm.valid))},dependencies:[vl,Di,en,tb,Lt,wi,Fs,ib,rb,$p,vm],encapsulation:2})};function Fz(t,n){if(t&1){let e=N();d(0,"h1"),y(1,"Find your match"),h(),d(2,"p",3),y(3,"Come on in to view your matches... all you need to do is sign up?"),h(),d(4,"div",4)(5,"button",5),D("click",function(){C(e);let r=p();return w(r.registerToggle())}),y(6,"Register"),h(),d(7,"button",6),y(8,"Learn more"),h()()}}function Vz(t,n){if(t&1){let e=N();d(0,"div",2)(1,"div",7)(2,"div",8)(3,"app-register",9),D("cancelRegister",function(r){C(e);let o=p();return w(o.cancelRegisterMode(r))}),h()()()()}}var sd=class t{registerMode=!1;registerToggle(){this.registerMode=!this.registerMode}cancelRegisterMode(n){this.registerMode=n}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-home"]],decls:4,vars:1,consts:[[1,"container","mt-5"],[2,"text-align","center"],[1,"container"],[1,"lead"],[1,"text-center"],[1,"btn","btn-primary","btn-lg","me-2",3,"click"],[1,"btn","btn-info","btn-lg","me-2"],[1,"row","justify-content-center"],[1,"col-4"],[3,"cancelRegister"]],template:function(e,i){e&1&&(d(0,"div",0)(1,"div",1),T(2,Fz,9,0)(3,Vz,4,0,"div",2),h()()),e&2&&(f(2),Le(i.registerMode?3:2))},dependencies:[bm],encapsulation:2})};var ad=class{gender;minAge=18;maxAge=99;pageNumber=1;pageSize=5;orderBy="lastActive";constructor(n){this.gender=n?.gender==="female"?"male":"female"}};var Pr=class t{http=S(Vn);accountService=S(tt);baseUrl=Yt.apiUrl;paginatedResult=ht(null);memberCache=new Map;user=this.accountService.currentUser();userParams=ht(new ad(this.user));resetUserParams(){this.userParams.set(new ad(this.user))}getMembers(){let n=this.memberCache.get(Object.values(this.userParams()).join("-"));if(n)return Vs(n,this.paginatedResult);let e=bl(this.userParams().pageNumber,this.userParams().pageSize);return e=e.append("minAge",this.userParams().minAge.toString()),e=e.append("maxAge",this.userParams().maxAge.toString()),e=e.append("gender",this.userParams().gender),e=e.append("orderBy",this.userParams().orderBy),this.http.get(this.baseUrl+"users",{params:e,observe:"response"}).subscribe({next:i=>{Vs(i,this.paginatedResult),this.memberCache.set(Object.values(this.userParams()).join("-"),i)}})}getMember(n){let e=[...this.memberCache.values()].reduce((i,r)=>i.concat(r.body),[]).find(i=>i.username==n);return e?Q(e):this.http.get(this.baseUrl+"users/"+n)}updateMember(n){return this.http.put(this.baseUrl+"users",n).pipe()}setMainPhoto(n){return this.http.put(this.baseUrl+"users/set-main-photo/"+n.id,{}).pipe()}deletePhoto(n){return this.http.delete(this.baseUrl+"users/delete-photo/"+n.id).pipe()}getTagsForPhoto(n){return this.http.get(this.baseUrl+"users/tags/"+n)}getPhotosWithTags(){return this.http.get(this.baseUrl+"users/photos-tags")}getAllTags(){return this.http.get(this.baseUrl+"users/tags")}addTagToPhoto(n,e){return this.http.post(`${this.baseUrl}users/assign-tags/${n}`,JSON.stringify(e),{headers:{"Content-Type":"application/json"}})}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};var jz=()=>({tab:"Messages"});function Hz(t,n){t&1&&A(0,"i",16)}var Gl=class t{member=Pn.required();presenceService=S(Ho);likesService=S(Fo);hasLiked=zi(()=>this.likesService.likeIds().includes(this.member().id));isOnline=zi(()=>this.presenceService.onlineUsers().includes(this.member().username));toggleLike(){this.likesService.toggleLike(this.member().id).subscribe({next:()=>{this.hasLiked()?this.likesService.likeIds.update(n=>n.filter(e=>e!=this.member().id)):this.likesService.likeIds.update(n=>[...n,this.member().id])}})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-member-card"]],inputs:{member:[1,"member"]},decls:22,vars:13,consts:[[1,"card","mb-4"],[1,"card-img-wrapper"],[1,"card-img-top",3,"src","alt"],[1,"list-inline","member-icons","animate","text-center"],[1,"list-inline-item"],[1,"btn","btn-primary",3,"routerLink"],[1,"fa","fa-user"],[1,"btn","btn-primary",3,"click"],[1,"fa","fa-heart"],[1,"btn","btn-primary",3,"routerLink","queryParams"],[1,"fa","fa-envelope"],[1,"card-body","p-1"],[1,"card-title","text-center","mb-1"],[1,"fa","fa-user","me-2"],["class","fa fa-heart ms-2","style","color: red;",4,"ngIf"],[1,"card-text","text-muted","text-center"],[1,"fa","fa-heart","ms-2",2,"color","red"]],template:function(e,i){e&1&&(d(0,"div",0)(1,"div",1),A(2,"img",2),d(3,"ul",3)(4,"li",4)(5,"button",5),A(6,"i",6),h()(),d(7,"li",4)(8,"button",7),D("click",function(){return i.toggleLike()}),A(9,"i",8),h()(),d(10,"li",4)(11,"button",9),A(12,"i",10),h()()()(),d(13,"div",11)(14,"h6",12)(15,"span"),A(16,"i",13),h(),y(17),A(18,"br"),T(19,Hz,1,0,"i",14),h(),d(20,"p",15),y(21),h()()()),e&2&&(f(2),Pt("src",i.member().photoUrl||"https://th.bing.com/th/id/OIP.PoS7waY4-VeqgNuBSxVUogAAAA?rs=1&pid=ImgDetMain",ft),Pt("alt",i.member().knownAs),f(3),g("routerLink","/members/"+i.member().username),f(6),Io("routerLink","/members/",i.member().username,""),g("queryParams",Qr(12,jz)),f(4),j("is-online",i.isOnline()),f(2),mr(" ",i.member().knownAs,", ",i.member().age,""),f(2),g("ngIf",i.hasLiked()),f(2),H(i.member().city))},dependencies:[Mr,Me],styles:[".card[_ngcontent-%COMP%]:hover img[_ngcontent-%COMP%]{transform:scale(1.2);transition-duration:.5s;transition-timing-function:ease-out}.card[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{transform:scale(1);transition-duration:.5s;transition-timing-function:ease-out}.card-img-wrapper[_ngcontent-%COMP%]{overflow:hidden;position:relative}.member-icons[_ngcontent-%COMP%]{position:absolute;bottom:-30%;left:0;right:0;margin-right:auto;margin-left:auto;opacity:0;transition:all .3s ease-in-out}.card-img-wrapper[_ngcontent-%COMP%]:hover .member-icons[_ngcontent-%COMP%]{bottom:0;opacity:1}@keyframes _ngcontent-%COMP%_fa-blink{0%{opacity:1}to{opacity:.4}}.is-online[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fa-blink 1.5s linear infinite;color:#01bd2a}"]})};var Bz=(t,n)=>({"pull-left":t,"float-left":n}),Uz=(t,n)=>({"pull-right":t,"float-right":n}),Cm=(t,n)=>({disabled:t,currentPage:n}),$z=(t,n,e)=>({disabled:t,$implicit:n,currentPage:e});function Yz(t,n){if(t&1){let e=N();d(0,"li",11)(1,"a",12),D("click",function(r){C(e);let o=p();return w(o.selectPage(1,r))}),gi(2,13),h()()}if(t&2){let e=p(),i=bt(13);j("disabled",e.noPrevious()||e.disabled),f(2),g("ngTemplateOutlet",e.customFirstTemplate||i)("ngTemplateOutletContext",Zr(4,Cm,e.noPrevious()||e.disabled,e.page))}}function zz(t,n){if(t&1){let e=N();d(0,"li",14)(1,"a",12),D("click",function(r){C(e);let o=p();return w(o.selectPage(o.page-1,r))}),gi(2,13),h()()}if(t&2){let e=p(),i=bt(11);j("disabled",e.noPrevious()||e.disabled),f(2),g("ngTemplateOutlet",e.customPreviousTemplate||i)("ngTemplateOutletContext",Zr(4,Cm,e.noPrevious()||e.disabled,e.page))}}function Wz(t,n){if(t&1){let e=N();d(0,"li",15)(1,"a",12),D("click",function(r){let o=C(e).$implicit,s=p();return w(s.selectPage(o.number,r))}),gi(2,13),h()()}if(t&2){let e=n.$implicit,i=p(),r=bt(7);j("active",e.active)("disabled",i.disabled&&!e.active),f(2),g("ngTemplateOutlet",i.customPageTemplate||r)("ngTemplateOutletContext",kT(6,$z,i.disabled,e,i.page))}}function Gz(t,n){if(t&1){let e=N();d(0,"li",16)(1,"a",12),D("click",function(r){C(e);let o=p();return w(o.selectPage(o.page+1,r))}),gi(2,13),h()()}if(t&2){let e=p(),i=bt(9);j("disabled",e.noNext()||e.disabled),f(2),g("ngTemplateOutlet",e.customNextTemplate||i)("ngTemplateOutletContext",Zr(4,Cm,e.noNext()||e.disabled,e.page))}}function qz(t,n){if(t&1){let e=N();d(0,"li",17)(1,"a",12),D("click",function(r){C(e);let o=p();return w(o.selectPage(o.totalPages,r))}),gi(2,13),h()()}if(t&2){let e=p(),i=bt(15);j("disabled",e.noNext()||e.disabled),f(2),g("ngTemplateOutlet",e.customLastTemplate||i)("ngTemplateOutletContext",Zr(4,Cm,e.noNext()||e.disabled,e.page))}}function Qz(t,n){if(t&1&&y(0),t&2){let e=n.$implicit;H(e.text)}}function Zz(t,n){if(t&1&&y(0),t&2){let e=p();H(e.getText("next"))}}function Kz(t,n){if(t&1&&y(0),t&2){let e=p();H(e.getText("previous"))}}function Jz(t,n){if(t&1&&y(0),t&2){let e=p();H(e.getText("first"))}}function Xz(t,n){if(t&1&&y(0),t&2){let e=p();H(e.getText("last"))}}var uk=(()=>{class t{constructor(){this.main={itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",pageBtnClass:"",rotate:!0},this.pager={itemsPerPage:15,previousText:"\xAB Previous",nextText:"Next \xBB",pageBtnClass:"",align:!0}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),eW={provide:It,useExisting:He(()=>tW),multi:!0},tW=(()=>{class t{constructor(e,i,r){this.elementRef=e,this.changeDetection=r,this.align=!1,this.boundaryLinks=!1,this.directionLinks=!0,this.firstText="First",this.previousText="\xAB Previous",this.nextText="Next \xBB",this.lastText="Last",this.rotate=!0,this.pageBtnClass="",this.disabled=!1,this.numPages=new O,this.pageChanged=new O,this.onChange=Function.prototype,this.onTouched=Function.prototype,this.classMap="",this.inited=!1,this._itemsPerPage=15,this._totalItems=0,this._totalPages=0,this._page=1,this.elementRef=e,this.config||this.configureOptions(Object.assign({},i.main,i.pager))}get itemsPerPage(){return this._itemsPerPage}set itemsPerPage(e){this._itemsPerPage=e,this.totalPages=this.calculateTotalPages()}get totalItems(){return this._totalItems}set totalItems(e){this._totalItems=e,this.totalPages=this.calculateTotalPages()}get totalPages(){return this._totalPages}set totalPages(e){this._totalPages=e,this.numPages.emit(e),this.inited&&this.selectPage(this.page)}get page(){return this._page}set page(e){let i=this._page;this._page=e>this.totalPages?this.totalPages:e||1,this.changeDetection.markForCheck(),!(i===this._page||typeof i>"u")&&this.pageChanged.emit({page:this._page,itemsPerPage:this.itemsPerPage})}configureOptions(e){this.config=Object.assign({},e)}ngOnInit(){typeof window<"u"&&(this.classMap=this.elementRef.nativeElement.getAttribute("class")||""),typeof this.maxSize>"u"&&(this.maxSize=this.config?.maxSize||0),typeof this.rotate>"u"&&(this.rotate=!!this.config?.rotate),typeof this.boundaryLinks>"u"&&(this.boundaryLinks=!!this.config?.boundaryLinks),typeof this.directionLinks>"u"&&(this.directionLinks=!!this.config?.directionLinks),typeof this.pageBtnClass>"u"&&(this.pageBtnClass=this.config?.pageBtnClass||""),typeof this.itemsPerPage>"u"&&(this.itemsPerPage=this.config?.itemsPerPage||0),this.totalPages=this.calculateTotalPages(),this.pages=this.getPages(this.page,this.totalPages),this.inited=!0}writeValue(e){this.page=e,this.pages=this.getPages(this.page,this.totalPages)}getText(e){return this[`${e}Text`]||this.config[`${e}Text`]}noPrevious(){return this.page===1}noNext(){return this.page===this.totalPages}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}selectPage(e,i){i&&i.preventDefault(),this.disabled||(i&&i.target&&i.target.blur(),this.writeValue(e),this.onChange(this.page))}makePage(e,i,r){return{text:i,number:e,active:r}}getPages(e,i){let r=[],o=1,s=i,a=typeof this.maxSize<"u"&&this.maxSizei&&(s=i,o=s-this.maxSize+1)):(o=(Math.ceil(e/this.maxSize)-1)*this.maxSize+1,s=Math.min(o+this.maxSize-1,i)));for(let l=o;l<=s;l++){let c=this.makePage(l,l.toString(),l===e);r.push(c)}if(a&&!this.rotate){if(o>1){let l=this.makePage(o-1,"...",!1);r.unshift(l)}if(sra),multi:!0},ra=(()=>{class t{constructor(e,i,r){this.elementRef=e,this.changeDetection=r,this.align=!0,this.boundaryLinks=!1,this.directionLinks=!0,this.rotate=!0,this.pageBtnClass="",this.disabled=!1,this.numPages=new O,this.pageChanged=new O,this.onChange=Function.prototype,this.onTouched=Function.prototype,this.classMap="",this.inited=!1,this._itemsPerPage=10,this._totalItems=0,this._totalPages=0,this._page=1,this.elementRef=e,this.config||this.configureOptions(i.main)}get itemsPerPage(){return this._itemsPerPage}set itemsPerPage(e){this._itemsPerPage=e,this.totalPages=this.calculateTotalPages()}get totalItems(){return this._totalItems}set totalItems(e){this._totalItems=e,this.totalPages=this.calculateTotalPages()}get totalPages(){return this._totalPages}set totalPages(e){this._totalPages=e,this.numPages.emit(e),this.inited&&this.selectPage(this.page)}get page(){return this._page}set page(e){let i=this._page;this._page=e>this.totalPages?this.totalPages:e||1,this.changeDetection.markForCheck(),!(i===this._page||typeof i>"u")&&this.pageChanged.emit({page:this._page,itemsPerPage:this.itemsPerPage})}configureOptions(e){this.config=Object.assign({},e)}ngOnInit(){typeof window<"u"&&(this.classMap=this.elementRef.nativeElement.getAttribute("class")||""),typeof this.maxSize>"u"&&(this.maxSize=this.config?.maxSize||0),typeof this.rotate>"u"&&(this.rotate=!!this.config?.rotate),typeof this.boundaryLinks>"u"&&(this.boundaryLinks=!!this.config?.boundaryLinks),typeof this.directionLinks>"u"&&(this.directionLinks=!!this.config?.directionLinks),typeof this.pageBtnClass>"u"&&(this.pageBtnClass=this.config?.pageBtnClass||""),typeof this.itemsPerPage>"u"&&(this.itemsPerPage=this.config?.itemsPerPage||0),this.totalPages=this.calculateTotalPages(),this.pages=this.getPages(this.page,this.totalPages),this.inited=!0}writeValue(e){this.page=e,this.pages=this.getPages(this.page,this.totalPages)}getText(e){return this[`${e}Text`]||this.config[`${e}Text`]}noPrevious(){return this.page===1}noNext(){return this.page===this.totalPages}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}selectPage(e,i){i&&i.preventDefault(),this.disabled||(i&&i.target&&i.target.blur(),this.writeValue(e),this.onChange(this.page))}makePage(e,i,r){return{text:i,number:e,active:r}}getPages(e,i){let r=[],o=1,s=i,a=typeof this.maxSize<"u"&&this.maxSizei&&(s=i,o=s-this.maxSize+1)):(o=(Math.ceil(e/this.maxSize)-1)*this.maxSize+1,s=Math.min(o+this.maxSize-1,i)));for(let l=o;l<=s;l++){let c=this.makePage(l,l.toString(),l===e);r.push(c)}if(a&&!this.rotate){if(o>1){let l=this.makePage(o-1,"...",!1);r.unshift(l)}if(s{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=Ce({type:t})}static{this.\u0275inj=be({imports:[ot]})}}return t})();var iW={provide:It,useExisting:He(()=>rW),multi:!0},rW=(()=>{class t{constructor(){this.btnCheckboxTrue=!0,this.btnCheckboxFalse=!1,this.state=!1,this.isDisabled=!1,this.onChange=Function.prototype,this.onTouched=Function.prototype}onClick(){this.isDisabled||(this.toggle(!this.state),this.onChange(this.value))}ngOnInit(){this.toggle(this.trueValue===this.value)}get trueValue(){return typeof this.btnCheckboxTrue<"u"?this.btnCheckboxTrue:!0}get falseValue(){return typeof this.btnCheckboxFalse<"u"?this.btnCheckboxFalse:!1}toggle(e){this.state=e,this.value=this.state?this.trueValue:this.falseValue}writeValue(e){this.state=this.trueValue===e,this.value=e?this.trueValue:this.falseValue}setDisabledState(e){this.isDisabled=e}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=B({type:t,selectors:[["","btnCheckbox",""]],hostVars:3,hostBindings:function(i,r){i&1&&D("click",function(){return r.onClick()}),i&2&&(J("aria-pressed",r.state),j("active",r.state))},inputs:{btnCheckboxTrue:"btnCheckboxTrue",btnCheckboxFalse:"btnCheckboxFalse"},features:[ce([iW])]})}}return t})(),oW={provide:It,useExisting:He(()=>Ko),multi:!0},Ko=(()=>{class t{get value(){return this.group?this.group.value:this._value}set value(e){if(this.group){this.group.value=e;return}this._value=e,this._onChange(e)}get disabled(){return this._disabled}set disabled(e){this.setDisabledState(e)}get controlOrGroupDisabled(){return this.disabled||this.group&&this.group.disabled?!0:void 0}get hasDisabledClass(){return this.controlOrGroupDisabled&&!this.isActive}get isActive(){return this.btnRadio===this.value}get tabindex(){if(!this.controlOrGroupDisabled)return this.isActive||this.group==null?0:-1}get hasFocus(){return this._hasFocus}constructor(e,i,r,o){this.el=e,this.cdr=i,this.renderer=r,this.group=o,this.onChange=Function.prototype,this.onTouched=Function.prototype,this.uncheckable=!1,this.role="radio",this._disabled=!1,this._hasFocus=!1}toggleIfAllowed(){this.canToggle()&&(this.uncheckable&&this.btnRadio===this.value?this.value=void 0:this.value=this.btnRadio)}onSpacePressed(e){this.toggleIfAllowed(),e.preventDefault()}focus(){this.el.nativeElement.focus()}onFocus(){this._hasFocus=!0}onBlur(){this._hasFocus=!1,this.onTouched()}canToggle(){return!this.controlOrGroupDisabled&&(this.uncheckable||this.btnRadio!==this.value)}ngOnChanges(e){"uncheckable"in e&&(this.uncheckable=this.uncheckable!==!1&&typeof this.uncheckable<"u")}_onChange(e){if(this.group){this.group.value=e;return}this.onTouched(),this.onChange(e)}writeValue(e){this.value=e,this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){if(this._disabled=e,e){this.renderer.setAttribute(this.el.nativeElement,"disabled","disabled");return}this.renderer.removeAttribute(this.el.nativeElement,"disabled")}static{this.\u0275fac=function(i){return new(i||t)(v($),v(it),v(ke),v(He(()=>dk),8))}}static{this.\u0275dir=B({type:t,selectors:[["","btnRadio",""]],hostVars:8,hostBindings:function(i,r){i&1&&D("click",function(){return r.toggleIfAllowed()})("keydown.space",function(s){return r.onSpacePressed(s)})("focus",function(){return r.onFocus()})("blur",function(){return r.onBlur()}),i&2&&(J("aria-disabled",r.controlOrGroupDisabled)("aria-checked",r.isActive)("role",r.role)("tabindex",r.tabindex),j("disabled",r.hasDisabledClass)("active",r.isActive))},inputs:{btnRadio:"btnRadio",uncheckable:"uncheckable",value:"value",disabled:"disabled"},features:[ce([oW]),xe]})}}return t})(),sW={provide:It,useExisting:He(()=>dk),multi:!0},dk=(()=>{class t{constructor(e){this.cdr=e,this.onChange=Function.prototype,this.onTouched=Function.prototype,this.role="radiogroup",this._disabled=!1}get value(){return this._value}set value(e){this._value=e,this.onChange(e)}get disabled(){return this._disabled}get tabindex(){return this._disabled?null:0}writeValue(e){this._value=e,this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.radioButtons&&(this._disabled=e,this.radioButtons.forEach(i=>{i.setDisabledState(e)}),this.cdr.markForCheck())}onFocus(){if(this._disabled)return;let e=this.getActiveOrFocusedRadio();if(e){e.focus();return}if(this.radioButtons){let i=this.radioButtons.find(r=>!r.disabled);i&&i.focus()}}onBlur(){this.onTouched&&this.onTouched()}selectNext(e){this.selectInDirection("next"),e.preventDefault()}selectPrevious(e){this.selectInDirection("previous"),e.preventDefault()}selectInDirection(e){if(this._disabled)return;function i(o,s){let l=(o+(e==="next"?1:-1))%s.length;return l<0&&(l=s.length-1),l}let r=this.getActiveOrFocusedRadio();if(r&&this.radioButtons){let o=this.radioButtons.toArray(),s=o.indexOf(r);for(let a=i(s,o);a!==s;a=i(a,o))if(o[a].canToggle()){o[a].toggleIfAllowed(),o[a].focus();break}}}getActiveOrFocusedRadio(){if(this.radioButtons)return this.radioButtons.find(e=>e.isActive)||this.radioButtons.find(e=>e.hasFocus)}static{this.\u0275fac=function(i){return new(i||t)(v(it))}}static{this.\u0275dir=B({type:t,selectors:[["","btnRadioGroup",""]],contentQueries:function(i,r,o){if(i&1&&xo(o,Ko,4),i&2){let s;Ge(s=qe())&&(r.radioButtons=s)}},hostVars:2,hostBindings:function(i,r){i&1&&D("focus",function(){return r.onFocus()})("blur",function(){return r.onBlur()})("keydown.ArrowRight",function(s){return r.selectNext(s)})("keydown.ArrowDown",function(s){return r.selectNext(s)})("keydown.ArrowLeft",function(s){return r.selectPrevious(s)})("keydown.ArrowUp",function(s){return r.selectPrevious(s)}),i&2&&J("role",r.role)("tabindex",r.tabindex)},features:[ce([sW])]})}}return t})(),Ql=(()=>{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=Ce({type:t})}static{this.\u0275inj=be({})}}return t})();var aW=(t,n)=>n.value,lW=(t,n)=>n.id;function cW(t,n){if(t&1&&(d(0,"option",10),y(1),h()),t&2){let e=n.$implicit;g("value",e.value),f(),H(e.display)}}function uW(t,n){if(t&1&&(d(0,"div",17)(1,"p"),A(2,"app-member-card",19),h()()),t&2){let e=n.$implicit;f(2),g("member",e)}}function dW(t,n){if(t&1){let e=N();d(0,"div",18)(1,"pagination",20),D("pageChanged",function(r){C(e);let o=p();return w(o.pageChange(r))}),Pe("ngModelChange",function(r){let o;C(e);let s=p();return Fe((o=s.paginatedResult())==null?null:o.pagination.currentPage,r)||(((o=s.paginatedResult())==null?null:o.pagination).currentPage=r),w(r)}),h()()}if(t&2){let e,i,r,o=p();f(),g("boundaryLinks",!0)("totalItems",(e=o.paginatedResult())==null?null:e.pagination.totalItems)("itemsPerPage",(i=o.paginatedResult())==null?null:i.pagination.itemsPerPage),Re("ngModel",(r=o.paginatedResult())==null?null:r.pagination.currentPage),g("maxSize",10)}}var wm=class t{membersService=S(Pr);genderList=[{value:"male",display:"Males"},{value:"female",display:"Females"}];ngOnInit(){this.membersService.paginatedResult()||this.loadMembers()}loadMembers(){this.membersService.getMembers()}resetFilters(){this.membersService.resetUserParams(),this.loadMembers()}pageChange(n){this.membersService.userParams().pageNumber!=n.page&&(this.membersService.userParams().pageNumber=n.page,this.loadMembers())}paginatedResult(){return this.membersService.paginatedResult()}userParams(){return this.membersService.userParams()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-member-lists"]],decls:34,vars:7,consts:[["form","ngForm"],[1,"row"],[1,"text-center","mt-3"],[1,"container","mt-3"],[1,"d-flex","mb-3",3,"ngSubmit"],[1,"d-flex","mx-2"],[1,"col-form-label"],["type","number","name","minAge",1,"form-control","ms-1",2,"width","70px",3,"ngModelChange","ngModel"],["type","number","name","maxAge",1,"form-control","ms-1",2,"width","70px",3,"ngModelChange","ngModel"],["name","gender",1,"form-select","ms-1",2,"width","130px",3,"ngModelChange","ngModel"],[3,"value"],["type","submit",1,"btn","btn-primary","ms-1"],["type","button",1,"btn","btn-info","ms-1",3,"click"],[1,"col"],[1,"btn-group","float-end"],["name","orderBy","btnRadio","lastActive",1,"btn","btn-primary",3,"click","ngModelChange","ngModel"],["name","orderBy","btnRadio","created",1,"btn","btn-primary",3,"click","ngModelChange","ngModel"],[1,"col-2"],[1,"d-flex","justify-content-center"],[3,"member"],["previousText","\u2039","nextText","\u203A","firstText","\xAB","lastText","\xBB",3,"pageChanged","ngModelChange","boundaryLinks","totalItems","itemsPerPage","ngModel","maxSize"]],template:function(e,i){if(e&1){let r=N();d(0,"div",1)(1,"div",2)(2,"h2"),y(3),h()(),d(4,"div",3)(5,"form",4,0),D("ngSubmit",function(){return C(r),w(i.loadMembers())}),d(7,"div",5)(8,"label",6),y(9,"Age from: "),h(),d(10,"input",7),Pe("ngModelChange",function(s){return C(r),Fe(i.userParams().minAge,s)||(i.userParams().minAge=s),w(s)}),h()(),d(11,"div",5)(12,"label",6),y(13,"Age to: "),h(),d(14,"input",8),Pe("ngModelChange",function(s){return C(r),Fe(i.userParams().maxAge,s)||(i.userParams().maxAge=s),w(s)}),h()(),d(15,"div",5)(16,"label",6),y(17,"Show "),h(),d(18,"select",9),Pe("ngModelChange",function(s){return C(r),Fe(i.userParams().gender,s)||(i.userParams().gender=s),w(s)}),Dt(19,cW,2,2,"option",10,aW),h()(),d(21,"button",11),y(22,"Apply filters "),h(),d(23,"button",12),D("click",function(){return C(r),w(i.resetFilters())}),y(24,"Reset filters "),h(),d(25,"div",13)(26,"div",14)(27,"button",15),D("click",function(){return C(r),w(i.loadMembers())}),Pe("ngModelChange",function(s){return C(r),Fe(i.userParams().orderBy,s)||(i.userParams().orderBy=s),w(s)}),y(28,"Last active"),h(),d(29,"button",16),D("click",function(){return C(r),w(i.loadMembers())}),Pe("ngModelChange",function(s){return C(r),Fe(i.userParams().orderBy,s)||(i.userParams().orderBy=s),w(s)}),y(30,"Newest members"),h()()()()(),Dt(31,uW,3,1,"div",17,lW),h(),T(33,dW,2,5,"div",18)}if(e&2){let r,o,s;f(3),pe("Your matches - ",(r=i.paginatedResult())==null||r.pagination==null?null:r.pagination.totalItems,""),f(7),Re("ngModel",i.userParams().minAge),f(4),Re("ngModel",i.userParams().maxAge),f(4),Re("ngModel",i.userParams().gender),f(),Mt(i.genderList),f(8),Re("ngModel",i.userParams().orderBy),f(2),Re("ngModel",i.userParams().orderBy),f(2),Mt((o=i.paginatedResult())==null?null:o.items),f(2),Le((s=i.paginatedResult())!=null&&s.pagination?33:-1)}},dependencies:[Gl,ql,ra,Bn,Di,bp,Cp,en,eb,yl,Lt,wi,Dn,Zi,Ql,Ko],encapsulation:2})};var hW=["*"],fW=t=>["nav-item",t];function pW(t,n){if(t&1){let e=N();d(0,"span",7),D("click",function(r){C(e);let o=p().$implicit,s=p();return r.preventDefault(),w(s.removeTab(o))}),y(1," \u274C"),h()}}function mW(t,n){if(t&1){let e=N();d(0,"li",3),D("keydown",function(r){let o=C(e).index,s=p();return w(s.keyNavActions(r,o))}),d(1,"a",4),D("click",function(){let r=C(e).$implicit;return w(r.active=!0)}),d(2,"span",5),y(3),h(),T(4,pW,2,0,"span",6),h()()}if(t&2){let e=n.$implicit;j("active",e.active)("disabled",e.disabled),g("ngClass",gr(15,fW,e.customClass||"")),f(),j("active",e.active)("disabled",e.disabled),J("aria-controls",e.id?e.id:"")("aria-selected",!!e.active)("id",e.id?e.id+"-link":""),f(),g("ngTransclude",e.headingRef),f(),H(e.heading),f(),g("ngIf",e.removable)}}var gW=(()=>{class t{set ngTransclude(e){this._ngTransclude=e,e&&this.viewRef.createEmbeddedView(e)}get ngTransclude(){return this._ngTransclude}constructor(e){this.viewRef=e}static{this.\u0275fac=function(i){return new(i||t)(v(pt))}}static{this.\u0275dir=B({type:t,selectors:[["","ngTransclude",""]],inputs:{ngTransclude:"ngTransclude"}})}}return t})(),_W=(()=>{class t{constructor(){this.type="tabs",this.isKeysAllowed=!0,this.ariaLabel="Tabs"}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),oa=(()=>{class t{get vertical(){return this._vertical}set vertical(e){this._vertical=e,this.setClassMap()}get justified(){return this._justified}set justified(e){this._justified=e,this.setClassMap()}get type(){return this._type}set type(e){this._type=e,this.setClassMap()}get isKeysAllowed(){return this._isKeysAllowed}set isKeysAllowed(e){this._isKeysAllowed=e}constructor(e,i,r){this.renderer=i,this.elementRef=r,this.clazz=!0,this.tabs=[],this.classMap={},this.ariaLabel="Tabs",this.isDestroyed=!1,this._vertical=!1,this._justified=!1,this._type="tabs",this._isKeysAllowed=!0,Object.assign(this,e)}ngOnDestroy(){this.isDestroyed=!0}addTab(e){this.tabs.push(e),e.active=this.tabs.length===1&&!e.active}removeTab(e,i={reselect:!0,emit:!0}){let r=this.tabs.indexOf(e);if(!(r===-1||this.isDestroyed)){if(i.reselect&&e.active&&this.hasAvailableTabs(r)){let o=this.getClosestTabIndex(r);this.tabs[o].active=!0}i.emit&&e.removed.emit(e),this.tabs.splice(r,1),e.elementRef.nativeElement.parentNode&&this.renderer.removeChild(e.elementRef.nativeElement.parentNode,e.elementRef.nativeElement)}}keyNavActions(e,i){if(!this.isKeysAllowed)return;let r=Array.from(this.elementRef.nativeElement.querySelectorAll(".nav-link"));if(e.keyCode===13||e.key==="Enter"||e.keyCode===32||e.key==="Space"){e.preventDefault(),r[i%r.length].click();return}if(e.keyCode===39||e.key==="RightArrow"){let o,s=1;do o=r[(i+s)%r.length],s++;while(o.classList.contains("disabled"));o.focus();return}if(e.keyCode===37||e.key==="LeftArrow"){let o,s=1,a=i;do a-s<0?(a=r.length-1,o=r[a],s=0):o=r[a-s],s++;while(o.classList.contains("disabled"));o.focus();return}if(e.keyCode===36||e.key==="Home"){e.preventDefault();let o,s=0;do o=r[s%r.length],s++;while(o.classList.contains("disabled"));o.focus();return}if(e.keyCode===35||e.key==="End"){e.preventDefault();let o,s=1,a=i;do a-s<0?(a=r.length-1,o=r[a],s=0):o=r[a-s],s++;while(o.classList.contains("disabled"));o.focus();return}if((e.keyCode===46||e.key==="Delete")&&this.tabs[i].removable){if(this.removeTab(this.tabs[i]),r[i+1]){r[(i+1)%r.length].focus();return}r[r.length-1]&&r[0].focus()}}getClosestTabIndex(e){let i=this.tabs.length;if(!i)return-1;for(let r=1;r<=i;r+=1){let o=e-r,s=e+r;if(this.tabs[o]&&!this.tabs[o].disabled)return o;if(this.tabs[s]&&!this.tabs[s].disabled)return s}return-1}hasAvailableTabs(e){let i=this.tabs.length;if(!i)return!1;for(let r=0;r{class t{get customClass(){return this._customClass}set customClass(e){this.customClass&&this.customClass.split(" ").forEach(i=>{this.renderer.removeClass(this.elementRef.nativeElement,i)}),this._customClass=e?e.trim():"",this.customClass&&this.customClass.split(" ").forEach(i=>{this.renderer.addClass(this.elementRef.nativeElement,i)})}get active(){return this._active}set active(e){if(this._active!==e){if(this.disabled&&e||!e){this._active&&!e&&(this.deselect.emit(this),this._active=e);return}this._active=e,this.selectTab.emit(this),this.tabset.tabs.forEach(i=>{i!==this&&(i.active=!1)})}}get ariaLabelledby(){return this.id?`${this.id}-link`:""}constructor(e,i,r){this.elementRef=i,this.renderer=r,this.disabled=!1,this.removable=!1,this.selectTab=new O,this.deselect=new O,this.removed=new O,this.addClass=!0,this.role="tabpanel",this._active=!1,this._customClass="",this.tabset=e,this.tabset.addTab(this)}ngOnInit(){this.removable=!!this.removable}ngOnDestroy(){this.tabset.removeTab(this,{reselect:!1,emit:!1})}static{this.\u0275fac=function(i){return new(i||t)(v(oa),v($),v(ke))}}static{this.\u0275dir=B({type:t,selectors:[["tab"],["","tab",""]],hostVars:7,hostBindings:function(i,r){i&2&&(J("id",r.id)("role",r.role)("aria-labelledby",r.ariaLabelledby),j("active",r.active)("tab-pane",r.addClass))},inputs:{heading:"heading",id:"id",disabled:"disabled",removable:"removable",customClass:"customClass",active:"active"},outputs:{selectTab:"selectTab",deselect:"deselect",removed:"removed"},exportAs:["tab"]})}}return t})();var Kl=(()=>{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=Ce({type:t})}static{this.\u0275inj=be({imports:[ot]})}}return t})();function Dm(t){return t==null?"":typeof t=="string"?t:`${t}px`}var yW=new U("cdk-dir-doc",{providedIn:"root",factory:vW});function vW(){return S(Ie)}var bW=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function IC(t){let n=t?.toLowerCase()||"";return n==="auto"&&typeof navigator<"u"&&navigator?.language?bW.test(navigator.language)?"rtl":"ltr":n==="rtl"?"rtl":"ltr"}var Jl=(()=>{class t{value="ltr";change=new O;constructor(){let e=S(yW,{optional:!0});if(e){let i=e.body?e.body.dir:null,r=e.documentElement?e.documentElement.dir:null;this.value=IC(i||r||"ltr")}}ngOnDestroy(){this.change.complete()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Mm=(()=>{class t{_dir="ltr";_isInitialized=!1;_rawDir;change=new O;get dir(){return this._dir}set dir(e){let i=this._dir;this._dir=IC(e),this._rawDir=e,i!==this._dir&&this._isInitialized&&this.change.emit(this._dir)}get value(){return this.dir}ngAfterContentInit(){this._isInitialized=!0}ngOnDestroy(){this.change.complete()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=B({type:t,selectors:[["","dir",""]],hostVars:1,hostBindings:function(i,r){i&2&&J("dir",r._rawDir)},inputs:{dir:"dir"},outputs:{change:"dirChange"},exportAs:["dir"],features:[ce([{provide:Jl,useExisting:t}])]})}return t})();var xC;try{xC=typeof Intl<"u"&&Intl.v8BreakIterator}catch{xC=!1}var kC=(()=>{class t{_platformId=S(Qn);isBrowser=this._platformId?xs(this._platformId):typeof document=="object"&&!!document;EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent);TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent);BLINK=this.isBrowser&&!!(window.chrome||xC)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT;WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT;IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window);FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent);ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT;SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT;constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Or=function(t){return t[t.NORMAL=0]="NORMAL",t[t.NEGATED=1]="NEGATED",t[t.INVERTED=2]="INVERTED",t}(Or||{}),Sm;function AC(){if(typeof document!="object"||!document)return Or.NORMAL;if(Sm==null){let t=document.createElement("div"),n=t.style;t.dir="rtl",n.width="1px",n.overflow="auto",n.visibility="hidden",n.pointerEvents="none",n.position="absolute";let e=document.createElement("div"),i=e.style;i.width="2px",i.height="1px",t.appendChild(e),document.body.appendChild(t),Sm=Or.NORMAL,t.scrollLeft===0&&(t.scrollLeft=1,Sm=t.scrollLeft===0?Or.NEGATED:Or.INVERTED),t.remove()}return Sm}function DW(t,n){if(t&1){let e=N();d(0,"div",1),D("click",function(){let r=C(e).index,o=p();return w(o.config.disableBullets?null:o.gallery.ref(o.galleryId).set(r))}),A(1,"div",2),h()}if(t&2){let e=n.index,i=p();on("width",i.config==null?null:i.config.bulletSize,"px")("height",i.config==null?null:i.config.bulletSize,"px"),j("g-bullet-active",e===i.state.currIndex)}}function MW(t,n){if(t&1){let e=N();d(0,"i",2),D("click",function(){C(e);let r=p();return w(r.gallery.ref(r.id).prev(r.config.scrollBehavior))}),h()}if(t&2){let e=p();g("innerHtml",e.navIcon,mi)}}function SW(t,n){if(t&1){let e=N();d(0,"i",3),D("click",function(){C(e);let r=p();return w(r.gallery.ref(r.id).next(r.config.scrollBehavior))}),h()}if(t&2){let e=p();g("innerHtml",e.navIcon,mi)}}var TW=["iframe"];function EW(t,n){if(t&1&&A(0,"iframe",3,1),t&2){let e=p();g("src",e.iframeSrc,nf),J("loading",e.loadingAttr)}}function IW(t,n){if(t&1&&A(0,"iframe",4,1),t&2){let e=p();g("src",e.iframeSrc,nf),J("loading",e.loadingAttr)}}var xW=["video"];function kW(t,n){if(t&1&&A(0,"source",5),t&2){let e=p().$implicit;g("src",e==null?null:e.url,ft)("type",e.type)}}function AW(t,n){if(t&1&&A(0,"source",6),t&2){let e=p().$implicit;g("src",e==null?null:e.url,ft)}}function RW(t,n){if(t&1&&(At(0),T(1,kW,1,2,"source",4)(2,AW,1,1,"ng-template",null,1,wn),Rt()),t&2){let e=n.$implicit,i=bt(3);f(),g("ngIf",e==null?null:e.type)("ngIfElse",i)}}function PW(t,n){if(t&1){let e=N();At(0),d(1,"img",8),D("load",function(){C(e);let r=p();return w(r.state="success")})("error",function(r){C(e);let o=p();return o.state="failed",w(o.error.emit(r))}),h(),Rt()}if(t&2){let e=p();f(),on("visibility",e.state==="success"?"visible":"hidden"),g("@fadeIn",e.state)("src",e.src,ft),J("alt",e.alt)("loading",e.loadingAttr)}}function OW(t,n){if(t&1){let e=N();d(0,"img",9),D("load",function(){C(e);let r=p();return w(r.state="success")})("error",function(r){C(e);let o=p();return o.state="failed",w(o.error.emit(r))}),h()}if(t&2){let e=p();on("visibility",e.state==="success"?"visible":"hidden"),g("galleryImage",e.index)("@fadeIn",e.state)("src",e.src,ft),J("alt",e.alt)("loading",e.loadingAttr)}}function NW(t,n){if(t&1&&A(0,"div",12),t&2){let e=p(2);g("innerHTML",e.errorTemplate,mi)}}function LW(t,n){if(t&1&&(At(0),d(1,"h4"),A(2,"div",13),h(),Rt()),t&2){let e=p(3);f(2),g("innerHTML",e.errorSvg,mi)}}function FW(t,n){if(t&1&&(d(0,"h2"),A(1,"div",14),h(),d(2,"p"),y(3,"Unable to load the image!"),h()),t&2){let e=p(3);f(),g("innerHTML",e.errorSvg,mi)}}function VW(t,n){if(t&1&&T(0,LW,3,1,"ng-container",5)(1,FW,4,1,"ng-template",null,2,wn),t&2){let e=bt(2),i=p(2);g("ngIf",i.isThumbnail)("ngIfElse",e)}}function jW(t,n){if(t&1&&(d(0,"div",10),T(1,NW,1,1,"div",11)(2,VW,3,2,"ng-template",null,1,wn),h()),t&2){let e=bt(3),i=p();f(),g("ngIf",i.errorTemplate)("ngIfElse",e)}}function HW(t,n){if(t&1&&A(0,"div",16),t&2){let e=p(2);g("innerHTML",e.loaderTemplate,mi)}}function BW(t,n){t&1&&A(0,"div",18)}function UW(t,n){if(t&1&&T(0,BW,1,0,"div",17),t&2){let e=p(2);g("ngIf",e.isThumbnail)}}function $W(t,n){if(t&1&&(At(0),T(1,HW,1,1,"div",15)(2,UW,1,1,"ng-template",null,3,wn),Rt()),t&2){let e=bt(3),i=p();f(),g("ngIf",i.loaderTemplate)("ngIfElse",e)}}function YW(t,n){t&1&&gi(0)}function zW(t,n){if(t&1&&(d(0,"div",9),T(1,YW,1,0,"ng-container",10),h()),t&2){let e=p(3);f(),g("ngTemplateOutlet",e.config.imageTemplate)("ngTemplateOutletContext",e.imageContext)}}function WW(t,n){if(t&1){let e=N();At(0),d(1,"gallery-image",7),D("error",function(r){C(e);let o=p(2);return w(o.error.emit(r))}),h(),T(2,zW,2,2,"div",8),Rt()}if(t&2){let e=p(2);f(),g("src",e.imageData.src)("alt",e.imageData.alt)("index",e.index)("loadingAttr",e.config.loadingAttr)("loadingIcon",e.config.loadingIcon)("loadingError",e.config.loadingError),f(),g("ngIf",e.config.imageTemplate)}}function GW(t,n){if(t&1){let e=N();d(0,"gallery-video",11),D("error",function(r){C(e);let o=p(2);return w(o.error.emit(r))}),h()}if(t&2){let e=p(2);g("src",e.videoData.src)("mute",e.videoData.mute)("poster",e.videoData.poster)("controls",e.videoData.controls)("controlsList",e.videoData.controlsList)("disablePictureInPicture",e.videoData.disablePictureInPicture)("play",e.isAutoPlay)("pause",e.currIndex!==e.index)}}function qW(t,n){if(t&1&&A(0,"gallery-iframe",12),t&2){let e=p(2);g("src",e.youtubeSrc)("autoplay",e.isAutoPlay)("loadingAttr",e.config.loadingAttr)("pause",e.currIndex!==e.index)}}function QW(t,n){if(t&1&&A(0,"gallery-iframe",12),t&2){let e=p(2);g("src",e.vimeoSrc)("autoplay",e.isAutoPlay)("loadingAttr",e.config.loadingAttr)("pause",e.currIndex!==e.index)}}function ZW(t,n){if(t&1&&A(0,"gallery-iframe",13),t&2){let e=p(2);g("src",e.data.src)("loadingAttr",e.config.loadingAttr)}}function KW(t,n){t&1&&gi(0)}function JW(t,n){if(t&1&&(d(0,"div",9),T(1,KW,1,0,"ng-container",10),h()),t&2){let e=p(3);f(),g("ngTemplateOutlet",e.config.itemTemplate)("ngTemplateOutletContext",e.itemContext)}}function XW(t,n){if(t&1&&(At(0),T(1,JW,2,2,"div",8),Rt()),t&2){let e=p(2);f(),g("ngIf",e.config.itemTemplate)}}function e5(t,n){if(t&1&&(At(0,1),T(1,WW,3,7,"ng-container",2)(2,GW,1,8,"gallery-video",3)(3,qW,1,4,"gallery-iframe",4)(4,QW,1,4,"gallery-iframe",4)(5,ZW,1,2,"gallery-iframe",5)(6,XW,2,1,"ng-container",6),Rt()),t&2){let e=p();g("ngSwitch",e.type),f(),g("ngSwitchCase",e.Types.Image),f(),g("ngSwitchCase",e.Types.Video),f(),g("ngSwitchCase",e.Types.Youtube),f(),g("ngSwitchCase",e.Types.Vimeo),f(),g("ngSwitchCase",e.Types.Iframe)}}var mk=["slider"],t5=["*"];function n5(t,n){if(t&1){let e=N();d(0,"gallery-item",5),D("activeIndexChange",function(r){C(e);let o=p();return w(o.onActiveIndexChange(r))})("click",function(){let r=C(e).index,o=p();return w(o.itemClick.emit(r))})("error",function(r){let o=C(e).index,s=p();return w(s.error.emit({itemIndex:o,error:r}))}),h()}if(t&2){let e=n.$implicit,i=n.index,r=p();g("type",e.type)("config",r.config)("data",e.data)("currIndex",r.state.currIndex)("index",i)("count",r.state.items.length)("itemIntersectionObserverDisabled",r.isScrolling||r.isSliding||r.isResizing)("adapter",r.adapter),J("galleryId",r.galleryId)}}function i5(t,n){t&1&&(d(0,"div",6)(1,"div",7),y(2,"RESIZING"),h(),d(3,"div",8),y(4,"SCROLLING"),h(),d(5,"div",9),y(6,"SLIDING"),h()())}function r5(t,n){t&1&&gi(0)}function o5(t,n){if(t&1&&(d(0,"div",2),T(1,r5,1,0,"ng-container",3),h()),t&2){let e=p();f(),g("ngTemplateOutlet",e.config.thumbTemplate)("ngTemplateOutletContext",e.imageContext)}}function s5(t,n){if(t&1){let e=N();d(0,"gallery-thumb",4),D("click",function(){let r=C(e).index,o=p();return w(o.config.disableThumbs?null:o.thumbClick.emit(r))})("error",function(r){let o=C(e).index,s=p();return w(s.error.emit({itemIndex:o,error:r}))}),h()}if(t&2){let e=n.$implicit,i=n.index,r=p();g("type",e.type)("config",r.config)("data",e.data)("currIndex",r.state.currIndex)("index",i)("count",r.state.items.length),J("galleryId",r.galleryId)}}var a5=(t,n)=>({state:t,config:n});function l5(t,n){if(t&1){let e=N();d(0,"gallery-thumbs",7),D("thumbClick",function(r){C(e);let o=p();return w(o.thumbClick.emit(r))})("error",function(r){C(e);let o=p();return w(o.error.emit(r))}),h()}if(t&2){let e=p();g("state",e.state)("config",e.config)("galleryId",e.galleryId)}}function c5(t,n){if(t&1&&A(0,"gallery-nav",8),t&2){let e=p();g("state",e.state)("config",e.config)("galleryId",e.galleryId)}}function u5(t,n){if(t&1&&A(0,"gallery-bullets",8),t&2){let e=p();g("state",e.state)("config",e.config)("galleryId",e.galleryId)}}function d5(t,n){if(t&1&&A(0,"gallery-counter",9),t&2){let e=p();g("state",e.state)}}function h5(t,n){t&1&&gi(0)}var si=function(t){return t.INITIALIZED="initialized",t.ITEMS_CHANGED="itemsChanged",t.INDEX_CHANGED="indexChanged",t.PLAY="play",t.STOP="stop",t}(si||{}),RC=function(t){return t.Cover="cover",t.Contain="contain",t}(RC||{}),Im=function(t){return t.Preload="preload",t.Lazy="lazy",t.Default="default",t}(Im||{}),gk=function(t){return t.Eager="eager",t.Lazy="lazy",t}(gk||{}),Xl=function(t){return t.Top="top",t.Left="left",t.Right="right",t.Bottom="bottom",t}(Xl||{}),_k=function(t){return t.Top="top",t.Bottom="bottom",t}(_k||{}),yk=function(t){return t.Top="top",t.Bottom="bottom",t}(yk||{}),cd=function(t){return t.Horizontal="horizontal",t.Vertical="vertical",t}(cd||{}),Oi=function(t){return t.Image="image",t.Video="video",t.Youtube="youtube",t.Vimeo="vimeo",t.Iframe="iframe",t}(Oi||{}),hk={action:si.INITIALIZED,isPlaying:!1,hasNext:!1,hasPrev:!1,currIndex:0,items:[]},fk={nav:!0,loop:!1,bullets:!1,thumbs:!1,debug:!1,bulletSize:6,counter:!1,autoplay:!1,thumbWidth:120,thumbHeight:90,disableBullets:!1,disableThumbs:!1,disableScroll:!1,disableThumbScroll:!1,disableMouseScroll:!1,disableThumbMouseScroll:!1,autoplayInterval:3e3,scrollDuration:468,scrollEase:{x1:.42,y1:0,x2:.58,y2:1},thumbCentralized:!1,thumbAutosize:!1,itemAutosize:!1,autoHeight:!1,scrollBehavior:"smooth",resizeDebounceTime:0,loadingAttr:gk.Lazy,imageSize:RC.Contain,thumbImageSize:RC.Cover,bulletPosition:_k.Bottom,counterPosition:yk.Top,thumbPosition:Xl.Bottom,loadingStrategy:Im.Preload,orientation:cd.Horizontal,navIcon:'',loadingIcon:''},ud=class{constructor(n){this.data=n,this.type=Oi.Image}},PC=class{constructor(n){this.data=n,this.type=Oi.Video}},OC=class{constructor(n){this.data=n,this.type=Oi.Iframe}},NC=class{constructor(n){this.data=Y(E({},n),{src:`https://youtube.com/embed/${n.src}`,thumb:n.thumb?n.thumb:`//img.youtube.com/vi/${n.src}/default.jpg`}),this.type=Oi.Youtube}},LC=class{constructor(n){this.data=Y(E({},n),{src:`https://player.vimeo.com/video/${n.src}`,thumb:n.thumb?n.thumb:this.getVimeoThumb(n.src)}),this.type=Oi.Vimeo}getVimeoThumb(n){return`//vumbnail.com/${n}.jpg`}},Tm=t=>le(n=>t.indexOf(n.action)>-1),FC=class{get stateSnapshot(){return this._state.value}get configSnapshot(){return this._config.value}get initialized(){return this.state.pipe(Tm([si.INITIALIZED]))}get itemsChanged(){return this.state.pipe(Tm([si.ITEMS_CHANGED]))}get indexChanged(){return this.state.pipe(Tm([si.INDEX_CHANGED]))}get playingChanged(){return this.state.pipe(Tm([si.PLAY,si.STOP]))}constructor(n,e){this.deleteInstance=e,this.itemClick=new X,this.thumbClick=new X,this.error=new X,this._state=new Ne(hk),this._config=new Ne(n),this.state=this._state.asObservable(),this.config=this._config.asObservable()}setState(n){this._state.next(E(E({},this.stateSnapshot),n))}setConfig(n){this._config.next(E(E({},this._config.value),n))}add(n,e){let i=[...this.stateSnapshot.items,n];this.setState({action:si.ITEMS_CHANGED,items:i,hasNext:i.length>1,currIndex:e?i.length-1:this.stateSnapshot.currIndex})}addImage(n,e){this.add(new ud(n),e)}addVideo(n,e){this.add(new PC(n),e)}addIframe(n,e){this.add(new OC(n),e)}addYoutube(n,e){this.add(new NC(n),e)}addVimeo(n,e){this.add(new LC(n),e)}remove(n){let e=this.stateSnapshot,i=[...e.items.slice(0,n),...e.items.slice(n+1,e.items.length)];this.setState({action:si.ITEMS_CHANGED,currIndex:n<1?e.currIndex:n-1,items:i,hasNext:i.length>1,hasPrev:n>0})}load(n){n&&this.setState({action:si.ITEMS_CHANGED,items:n,hasNext:n.length>1,hasPrev:!1})}set(n,e=this._config.value.scrollBehavior){if(n<0||n>=this.stateSnapshot.items.length){console.error(`[NgGallery]: Unable to set the active item because the given index (${n}) is outside the items range!`);return}n!==this.stateSnapshot.currIndex&&this.setState({behavior:e,action:si.INDEX_CHANGED,currIndex:n,hasNext:n0})}next(n=this._config.value.scrollBehavior,e=!0){this.stateSnapshot.hasNext?this.set(this.stateSnapshot.currIndex+1,n):e&&this._config.value.loop&&this.set(0,n)}prev(n=this._config.value.scrollBehavior,e=!0){this.stateSnapshot.hasPrev?this.set(this.stateSnapshot.currIndex-1,n):e&&this._config.value.loop&&this.set(this.stateSnapshot.items.length-1,n)}play(n){n&&this.setConfig({autoplayInterval:n}),this.setState({action:si.PLAY,behavior:"auto",isPlaying:!0})}stop(){this.setState({action:si.STOP,isPlaying:!1})}reset(){this.setState(hk)}destroy(){this._state.complete(),this._config.complete(),this.itemClick.complete(),this.thumbClick.complete(),this.deleteInstance()}},f5=new U("GALLERY_CONFIG"),ec=(()=>{class t{constructor(e){this._instances=new Map,this.config=e?E(E({},fk),e):fk}ref(e="root",i){if(this._instances.has(e)){let r=this._instances.get(e);return i&&r.setConfig(i),r}else return this._instances.set(e,new FC(E(E({},this.config),i),this.deleteInstance(e))).get(e)}destroyAll(){this._instances.forEach(e=>e.destroy())}resetAll(){this._instances.forEach(e=>e.reset())}debugConsole(...e){this.config.debug&&console.log(...e)}deleteInstance(e){return()=>{this._instances.has(e)&&this._instances.delete(e)}}static{this.\u0275fac=function(i){return new(i||t)(F(f5,8))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),p5=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-counter"]],inputs:{state:"state"},decls:2,vars:1,consts:[[1,"g-counter"]],template:function(i,r){i&1&&(d(0,"div",0),y(1),h()),i&2&&(f(),H(r.state.currIndex+1+" / "+r.state.items.length))},styles:[".g-counter[_ngcontent-%COMP%]{font-weight:700;-webkit-user-select:none;user-select:none;opacity:.6;transition:opacity linear .15s;z-index:50;position:absolute;left:50%;transform:translate(-50%) perspective(1px);font-size:12px;padding:4px 10px;color:var(--g-font-color);background-color:var(--g-overlay-color);box-shadow:var(--g-box-shadow);top:var(--counter-top);bottom:var(--counter-bottom);border-radius:var(--counter-border-radius)}.g-counter[_ngcontent-%COMP%]:hover{opacity:.8}"],changeDetection:0})}}return t})(),m5=(()=>{class t{constructor(e){this.gallery=e}static{this.\u0275fac=function(i){return new(i||t)(v(ec))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-bullets"]],inputs:{galleryId:"galleryId",state:"state",config:"config"},decls:1,vars:1,consts:[["class","g-bullet",3,"g-bullet-active","width","height","click",4,"ngFor","ngForOf"],[1,"g-bullet",3,"click"],[1,"g-bullet-inner"]],template:function(i,r){i&1&&T(0,DW,2,6,"div",0),i&2&&g("ngForOf",r.state.items)},dependencies:[ot,rt],styles:["[_nghost-%COMP%]{position:absolute;left:50%;z-index:99;transform:translate(-50%);display:flex;gap:6px;top:var(--bullets-top);bottom:var(--bullets-bottom)}[_nghost-%COMP%], .g-bullet[_ngcontent-%COMP%], .g-bullet-inner[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.g-bullet[_ngcontent-%COMP%]{cursor:var(--bullets-cursor);z-index:20}.g-bullet[_ngcontent-%COMP%]:hover .g-bullet-inner[_ngcontent-%COMP%]{opacity:var(--bullets-hover-opacity)}.g-bullet-active[_ngcontent-%COMP%] .g-bullet-inner[_ngcontent-%COMP%]{opacity:var(--bullets-active-opacity)}.g-bullet-inner[_ngcontent-%COMP%]{background-color:var(--g-overlay-color);opacity:var(--bullets-opacity);width:100%;height:100%;border-radius:50%;transition:opacity linear .15s}"],changeDetection:0})}}return t})(),g5=(()=>{class t{constructor(e,i,r){this.gallery=e,this._sanitizer=i,this.dir=r}ngOnInit(){this.navIcon=this._sanitizer.bypassSecurityTrustHtml(this.config.navIcon)}rightButton(){}leftButton(){}static{this.\u0275fac=function(i){return new(i||t)(v(ec),v(Jr),v(Jl))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-nav"]],inputs:{id:[0,"galleryId","id"],state:"state",config:"config"},decls:2,vars:2,consts:[["class","g-nav-prev","aria-label","Previous","role","button",3,"innerHtml","click",4,"ngIf"],["class","g-nav-next","aria-label","Next","role","button",3,"innerHtml","click",4,"ngIf"],["aria-label","Previous","role","button",1,"g-nav-prev",3,"click","innerHtml"],["aria-label","Next","role","button",1,"g-nav-next",3,"click","innerHtml"]],template:function(i,r){i&1&&T(0,MW,1,1,"i",0)(1,SW,1,1,"i",1),i&2&&(g("ngIf",r.config.loop||r.state.hasPrev),f(),g("ngIf",r.config.loop||r.state.hasNext))},dependencies:[ot,Me],styles:[".g-nav-next[_ngcontent-%COMP%], .g-nav-prev[_ngcontent-%COMP%]{position:absolute;top:50%;display:flex;padding:16px 8px;cursor:pointer;z-index:999;opacity:.6;transition:opacity linear .15s,right linear .15s,left linear .15s}.g-nav-next[_ngcontent-%COMP%]:hover, .g-nav-prev[_ngcontent-%COMP%]:hover{opacity:1}.g-nav-next[_ngcontent-%COMP%] svg, .g-nav-prev[_ngcontent-%COMP%] svg{filter:var(--g-nav-drop-shadow);width:28px;height:28px;fill:#fff}.g-nav-next[_ngcontent-%COMP%]{left:var(--nav-next-left);right:var(--nav-next-right);transform:var(--nav-next-transform)}.g-nav-next[_ngcontent-%COMP%]:hover{left:var(--nav-next-hover-left);right:var(--nav-next-hover-right)}.g-nav-prev[_ngcontent-%COMP%]{left:var(--nav-prev-left);right:var(--nav-prev-right);transform:var(--nav-prev-transform)}.g-nav-prev[_ngcontent-%COMP%]:hover{left:var(--nav-prev-hover-left);right:var(--nav-prev-hover-right)}"],changeDetection:0})}}return t})(),_5=2,y5=4,v5=8,b5=16,xm=class{get scrollValue(){return this.slider.scrollLeft}get clientSize(){return this.slider.clientWidth}get isContentLessThanContainer(){return this.clientSize>=this.slider.firstElementChild.clientWidth}constructor(n,e){this.slider=n,this.config=e,this.hammerDirection=_5|y5,this.scrollSnapType="x mandatory"}getScrollToValue(n,e){let i=n.offsetLeft-(this.clientSize-n.clientWidth)/2;return{behavior:e,start:i}}getRootMargin(){return"1000px 1px 1000px 1px"}getElementRootMargin(n,e){let i=-1*((n.clientWidth-e.clientWidth)/2)+1;return`0px ${i}px 0px ${i}px`}getCentralizerStartSize(){return this.isContentLessThanContainer?(this.clientSize-this.slider.firstElementChild.clientWidth)/2:this.clientSize/2-this.slider.firstElementChild.firstElementChild?.clientWidth/2}getCentralizerEndSize(){return this.isContentLessThanContainer?(this.clientSize-this.slider.firstElementChild.clientWidth)/2:this.clientSize/2-this.slider.firstElementChild.lastElementChild?.clientWidth/2}getHammerVelocity(n){return n.velocityX}getHammerValue(n,e,i){return{behavior:i,left:n-e.deltaX}}},km=class{get scrollValue(){return this.slider.scrollTop}get clientSize(){return this.slider.clientHeight}get isContentLessThanContainer(){return this.clientSize>=this.slider.firstElementChild.clientHeight}constructor(n,e){this.slider=n,this.config=e,this.hammerDirection=v5|b5,this.scrollSnapType="y mandatory"}getScrollToValue(n,e){let i=n.offsetTop-(this.clientSize-n.clientHeight)/2;return{behavior:e,top:i}}getRootMargin(){return"1px 1000px 1px 1000px"}getElementRootMargin(n,e){let i=-1*((n.clientHeight-e.clientHeight)/2)+1;return`${i}px 0px ${i}px 0px`}getCentralizerStartSize(){return this.isContentLessThanContainer?(this.clientSize-this.slider.firstElementChild.clientHeight)/2:this.clientSize/2-this.slider.firstElementChild.firstElementChild?.clientHeight/2}getCentralizerEndSize(){return this.isContentLessThanContainer?(this.clientSize-this.slider.firstElementChild.clientHeight)/2:this.clientSize/2-this.slider.firstElementChild.lastElementChild?.clientHeight/2}getHammerVelocity(n){return n.velocityY}getHammerValue(n,e,i){return{behavior:i,top:n-e.deltaY}}};var C5=4,w5=.001,D5=1e-7,M5=10,ld=11,Em=1/(ld-1),S5=typeof Float32Array=="function";function vk(t,n){return 1-3*n+3*t}function bk(t,n){return 3*n-6*t}function Ck(t){return 3*t}function Am(t,n,e){return((vk(n,e)*t+bk(n,e))*t+Ck(n))*t}function wk(t,n,e){return 3*vk(n,e)*t*t+2*bk(n,e)*t+Ck(n)}function T5(t,n,e,i,r){let o,s,a=0;do s=n+(e-n)/2,o=Am(s,i,r)-t,o>0?e=s:n=s;while(Math.abs(o)>D5&&++a=w5?E5(s,m,t,e):b===0?m:T5(s,a,a+Em,t,e)}return function(a){return a===0?0:a===1?1:Am(o(a),n,i)}}var Dk=(()=>{class t{get _w(){return this._document.defaultView}get _now(){return this._w.performance?.now?.bind(this._w.performance)||Date.now}set smoothScroll(e){e&&this._zone.runOutsideAngular(()=>{this.scrollTo(e)})}constructor(e,i,r,o){this._document=e,this._zone=i,this._dir=r,this._scrollController=new X,this._finished=new X,this.isScrollingChange=new O,this._el=o.nativeElement}ngOnInit(){this._subscription=this._scrollController.pipe(vt(e=>(this._zone.run(()=>{this.isScrollingChange.emit(!0)}),this._el.classList.add("g-scrolling"),this._el.style.setProperty("--slider-scroll-snap-type","none"),Q(null).pipe(Ea(()=>this._step(e).pipe(l_(i=>this._isFinished(i)),hi(this._finished))),di(()=>this.resetElement()),hi(this._interrupted()))))).subscribe()}ngOnDestroy(){this._subscription?.unsubscribe(),this._scrollController.complete()}_scrollElement(e,i){this._el.scrollLeft=e,this._el.scrollTop=i}resetElement(){this._zone.run(()=>{this.isScrollingChange.emit(!1)}),this._el.classList.remove("g-scrolling"),this._isInterruptedByMouse||this._el.style.setProperty("--slider-scroll-snap-type",this.adapter.scrollSnapType),this._isInterruptedByMouse=!1}_isFinished(e){return e.currentX!==e.x||e.currentY!==e.y?!0:(this._finished.next(),!1)}_interrupted(){let e;return this.interruptOnMousemove&&typeof Hammer<"u"?(this._hammer=new Hammer(this._el,{inputClass:Hammer.MouseInput}),this._hammer.get("pan").set({direction:this.adapter.hammerDirection}),e=Ta(new ne(i=>(this._hammer.on("panstart",()=>{this._isInterruptedByMouse=!0,i.next(),i.complete()}),()=>{this._hammer.destroy()})),ui(this._el,"wheel",{passive:!0,capture:!0}),ui(this._el,"touchmove",{passive:!0,capture:!0}))):e=Ta(ui(this._el,"wheel",{passive:!0,capture:!0}),ui(this._el,"touchmove",{passive:!0,capture:!0})),e.pipe(yt(1))}_step(e){return new ne(i=>{let r=(this._now()-e.startTime)/e.duration;r=r>1?1:r;let o=e.easing(r);e.currentX=e.startX+(e.x-e.startX)*o,e.currentY=e.startY+(e.y-e.startY)*o,this._scrollElement(e.currentX,e.currentY),requestAnimationFrame(()=>{i.next(e),i.complete()})})}_applyScrollToOptions(e){e.duration||this._scrollElement(e.left,e.top);let i={scrollable:this._el,startTime:this._now(),startX:this._el.scrollLeft,startY:this._el.scrollTop,x:e.left==null?this._el.scrollLeft:~~e.left,y:e.top==null?this._el.scrollTop:~~e.top,duration:e.duration,easing:x5(e.easing.x1,e.easing.y1,e.easing.x2,e.easing.y2)};this._scrollController.next(i)}scrollTo(e){let i=this._dir.value==="rtl",r=AC(),o=Y(E({},e),{left:e.left==null?i?e.end:e.start:e.left,right:e.right==null?i?e.start:e.end:e.right,duration:e.behavior==="smooth"?this.config.scrollDuration:0,easing:this.config.scrollEase});return o.bottom!=null&&(o.top=this._el.scrollHeight-this._el.clientHeight-o.bottom),i&&r!==Or.NORMAL?(o.left!=null&&(o.right=this._el.scrollWidth-this._el.clientWidth-o.left),r===Or.INVERTED?o.left=o.right:r===Or.NEGATED&&(o.left=o.right?-o.right:o.right)):o.right!=null&&(o.left=this._el.scrollWidth-this._el.clientWidth-o.right),this._applyScrollToOptions(o)}static{this.\u0275fac=function(i){return new(i||t)(v(Ie),v(Se),v(Mm),v($))}}static{this.\u0275dir=B({type:t,selectors:[["","smoothScroll",""]],inputs:{smoothScroll:"smoothScroll",adapter:"adapter",config:"config",interruptOnMousemove:[0,"smoothScrollInterruptOnMousemove","interruptOnMousemove"]},outputs:{isScrollingChange:"isScrollingChange"},features:[ce([Mm])]})}}return t})(),Mk=(()=>{class t{get _viewport(){return this._el.nativeElement}constructor(e,i,r,o,s){this._document=e,this._el=i,this._dir=r,this._platform=o,this._zone=s,this.activeIndexChange=new O,this.isSlidingChange=new O}ngOnChanges(e){e.enabled&&e.enabled?.currentValue!==e.enabled?.previousValue&&(this.enabled?this._subscribe():this._unsubscribe()),!e.adapter?.firstChange&&e.adapter?.currentValue!==e.adapter?.previousValue&&(this.enabled?this._subscribe():this._unsubscribe())}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe(),!this._platform.ANDROID&&!this._platform.IOS&&typeof Hammer<"u"&&this._zone.runOutsideAngular(()=>{let e=this.adapter.hammerDirection;this._hammer=new Hammer(this._el.nativeElement,{inputClass:Hammer.MouseInput}),this._hammer.get("pan").set({direction:e});let i;this._hammer.on("panstart",()=>{this._zone.run(()=>{this.isSlidingChange.emit(!0)}),i=this.adapter.scrollValue,this._viewport.classList.add("g-sliding"),this._viewport.style.setProperty("--slider-scroll-snap-type","none")}),this._hammer.on("panmove",r=>this._viewport.scrollTo(this.adapter.getHammerValue(i,r,"auto"))),this._hammer.on("panend",r=>{this._document.onselectstart=null,this._viewport.classList.remove("g-sliding");let o=this.getIndexOnMouseUp(r);this._zone.run(()=>{this.isSlidingChange.emit(!1),this.activeIndexChange.emit(o)})})})}_unsubscribe(){this._hammer?.destroy()}getIndexOnMouseUp(e){let i=this.items[this.state.currIndex].nativeElement,r=this.getElementFromViewportCenter();if(r&&r!==i)return+r.getAttribute("galleryIndex");let o=this.adapter.getHammerVelocity(e);return Math.abs(o)>.3?this.config.orientation===cd.Horizontal?o>0?this._dir.value==="rtl"?this.state.currIndex+1:this.state.currIndex-1:this._dir.value==="rtl"?this.state.currIndex-1:this.state.currIndex+1:o>0?this.state.currIndex-1:this.state.currIndex+1:-1}getElementFromViewportCenter(){let e=this._viewport.getBoundingClientRect();return this._document.elementsFromPoint(e.x+e.width/2,e.y+e.height/2).find(r=>r.getAttribute("galleryId")===this.galleryId)}static{this.\u0275fac=function(i){return new(i||t)(v(Ie),v($),v(Jl),v(kC),v(Se))}}static{this.\u0275dir=B({type:t,selectors:[["","hammerSliding",""]],inputs:{enabled:[0,"hammerSliding","enabled"],galleryId:"galleryId",items:"items",adapter:"adapter",state:"state",config:"config"},outputs:{activeIndexChange:"activeIndexChange",isSlidingChange:"isSlidingChange"},features:[xe]})}}return t})(),Rm=class{observe(n,e,i){return k5(n,e,i).pipe(G(r=>r.isIntersecting?(r.target.classList.add("g-item-highlight"),+r.target.getAttribute("galleryIndex")):(r.target.classList.remove("g-item-highlight"),-1)),le(r=>r!==-1))}};function k5(t,n,e){return new ne(i=>{let r=new IntersectionObserver(o=>i.next(o),{root:t,rootMargin:e,threshold:1});return n.forEach(o=>r.observe(o)),()=>{n.forEach(o=>r.unobserve(o)),r.disconnect()}}).pipe(ze(i=>i))}var A5=(()=>{class t{get _viewport(){return this._el.nativeElement}constructor(e,i){this._zone=e,this._el=i,this._sensor=new Rm,this.activeIndexChange=new O}ngOnChanges(){this.config.itemAutosize||this.disabled?this._unsubscribe():this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){if(this._unsubscribe(),this.adapter&&this.items?.length){let e=this.adapter.getRootMargin();this.config.debug&&this._viewport.style.setProperty("--intersection-margin",`"INTERSECTION(${e})"`),this._zone.runOutsideAngular(()=>{this._currentSubscription=this._sensor.observe(this._viewport,this.items.map(i=>i.nativeElement),e).subscribe(i=>{this._zone.run(()=>this.activeIndexChange.emit(i))})})}}_unsubscribe(){this._currentSubscription?.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(v(Se),v($))}}static{this.\u0275dir=B({type:t,selectors:[["","sliderIntersectionObserver",""]],inputs:{adapter:"adapter",items:"items",config:"config",disabled:[0,"sliderIntersectionObserverDisabled","disabled"]},outputs:{activeIndexChange:"activeIndexChange"},features:[xe]})}}return t})();function Pm(t,n){return new ne(e=>{let i=new ResizeObserver(r=>e.next(r));return i.observe(t),n&&n(i),()=>i.disconnect()}).pipe(ze(e=>e))}var R5=(()=>{class t{set src(e){this.videoSrc=e,this.iframeSrc=this._sanitizer.bypassSecurityTrustResourceUrl(e)}set pauseVideo(e){if(this.iframe?.nativeElement&&e){let i=this.iframe.nativeElement;i.src=null,!this.autoplay&&this.videoSrc&&(this.iframeSrc=this._sanitizer.bypassSecurityTrustResourceUrl(this.videoSrc))}}constructor(e){this._sanitizer=e}static{this.\u0275fac=function(i){return new(i||t)(v(Jr))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-iframe"]],viewQuery:function(i,r){if(i&1&&Ot(TW,5),i&2){let o;Ge(o=qe())&&(r.iframe=o.first)}},inputs:{src:"src",pauseVideo:[0,"pause","pauseVideo"],autoplay:"autoplay",loadingAttr:"loadingAttr"},decls:3,vars:2,consts:[["default",""],["iframe",""],["allowfullscreen","","allow","","style","border:none",3,"src",4,"ngIf","ngIfElse"],["allowfullscreen","","allow","",2,"border","none",3,"src"],["allowfullscreen","",2,"border","none",3,"src"]],template:function(i,r){if(i&1&&T(0,EW,2,2,"iframe",2)(1,IW,2,2,"ng-template",null,0,wn),i&2){let o=bt(2);g("ngIf",r.autoplay)("ngIfElse",o)}},dependencies:[Me],encapsulation:2,changeDetection:0})}}return t})(),P5=(()=>{class t{constructor(){this.error=new O}set pauseVideo(e){if(this.video.nativeElement){let i=this.video.nativeElement;e&&!i.paused&&i.pause()}}set playVideo(e){if(this.video.nativeElement){let i=this.video.nativeElement;e&&i.play()}}ngOnInit(){this.src instanceof Array?this.videoSources=[...this.src]:this.videoSources=[{url:this.src}]}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-video"]],viewQuery:function(i,r){if(i&1&&Ot(xW,7),i&2){let o;Ge(o=qe())&&(r.video=o.first)}},inputs:{src:"src",poster:"poster",mute:"mute",loop:"loop",controls:"controls",controlsList:"controlsList",disableRemotePlayback:"disableRemotePlayback",disablePictureInPicture:"disablePictureInPicture",pauseVideo:[0,"pause","pauseVideo"],playVideo:[0,"play","playVideo"]},outputs:{error:"error"},decls:3,vars:8,consts:[["video",""],["noType",""],[3,"error","disableRemotePlayback","controls","loop","poster"],[4,"ngFor","ngForOf"],[3,"src","type",4,"ngIf","ngIfElse"],[3,"src","type"],[3,"src"]],template:function(i,r){if(i&1){let o=N();d(0,"video",2,0),D("error",function(a){return C(o),w(r.error.emit(a))}),T(2,RW,4,2,"ng-container",3),h()}i&2&&(g("disableRemotePlayback",r.disableRemotePlayback)("controls",r.controls)("loop",r.loop)("poster",r.poster,ft),J("mute",r.mute)("controlsList",r.controlsList)("disablePictureInPicture",r.disablePictureInPicture),f(2),g("ngForOf",r.videoSources))},dependencies:[rt,Me],encapsulation:2,changeDetection:0})}}return t})(),O5=` + + + + + + + + +`,Nm=(()=>{class t{constructor(){this.trigger$=new Ne(null),this.images=new Map}getActiveItem(e){return this.trigger$.pipe(vt(()=>e.pipe(vt(i=>{let r=this.images.get(i.currIndex);return r?r.state.pipe(le(o=>o!=="loading"),G(()=>r.target)):Tt}))))}addItem(e,i){this.images.set(e,i),this.trigger$.next()}deleteItem(e){this.images.has(e)&&(this.images.delete(e),this.trigger$.next())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac})}}return t})(),N5=(()=>{class t{onLoad(){this.item.state$.next("success")}onError(){this.item.state$.next("failed")}constructor(e,i,r){if(this.el=e,this.manager=i,this.item=r,r)r.isItemContainImage=!0;else throw new Error("[NgGallery]: galleryImage directive should be only used inside gallery item templates!")}ngOnInit(){this.manager.addItem(this.index,{state:this.item.state$.asObservable(),target:this.el.nativeElement})}ngOnDestroy(){this.manager.deleteItem(this.index)}static{this.\u0275fac=function(i){return new(i||t)(v($),v(Nm),v(Om))}}static{this.\u0275dir=B({type:t,selectors:[["img","galleryImage",""]],hostBindings:function(i,r){i&1&&D("load",function(s){return r.onLoad(s)})("error",function(s){return r.onError(s)})},inputs:{index:[0,"galleryImage","index"]}})}}return t})(),Sk=(()=>{class t{get imageState(){return this.state}constructor(e){this._sanitizer=e,this.state="loading",this.errorIcon=O5,this.error=new O}ngOnInit(){this.loadingIcon&&(this.loaderTemplate=this._sanitizer.bypassSecurityTrustHtml(this.loadingIcon)),this.loadingError&&(this.errorTemplate=this._sanitizer.bypassSecurityTrustHtml(this.loadingError)),this.errorIcon&&(this.errorSvg=this._sanitizer.bypassSecurityTrustHtml(this.errorIcon))}static{this.\u0275fac=function(i){return new(i||t)(v(Jr))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-image"]],hostVars:1,hostBindings:function(i,r){i&2&&J("imageState",r.imageState)},inputs:{isThumbnail:"isThumbnail",index:"index",loadingAttr:"loadingAttr",alt:"alt",src:"src",loadingIcon:"loadingIcon",loadingError:"loadingError",errorIcon:"errorIcon"},outputs:{error:"error"},decls:6,vars:5,consts:[["main",""],["defaultError",""],["isLarge",""],["defaultLoader",""],[3,"ngSwitch"],[4,"ngIf","ngIfElse"],["class","g-image-error-message",4,"ngSwitchCase"],[4,"ngSwitchCase"],[1,"g-image-item",3,"load","error","src"],[1,"g-image-item",3,"load","error","galleryImage","src"],[1,"g-image-error-message"],[3,"innerHTML",4,"ngIf","ngIfElse"],[3,"innerHTML"],[1,"gallery-thumb-error",3,"innerHTML"],[1,"gallery-image-error",3,"innerHTML"],["class","g-loading",3,"innerHTML",4,"ngIf","ngIfElse"],[1,"g-loading",3,"innerHTML"],["class","g-thumb-loading",4,"ngIf"],[1,"g-thumb-loading"]],template:function(i,r){if(i&1&&(At(0,4),T(1,PW,2,6,"ng-container",5)(2,OW,1,7,"ng-template",null,0,wn)(4,jW,4,2,"div",6)(5,$W,4,2,"ng-container",7),Rt()),i&2){let o=bt(3);g("ngSwitch",r.state),f(),g("ngIf",r.isThumbnail)("ngIfElse",o),f(3),g("ngSwitchCase","failed"),f(),g("ngSwitchCase","loading")}},dependencies:[bi,yr,Me,N5],styles:['[_nghost-%COMP%]{display:flex;width:100%;height:100%;max-height:100%;max-width:100%;transition:opacity .3s cubic-bezier(.5,0,.5,1);opacity:var(--g-thumb-opacity)}[imageState=success][_nghost-%COMP%]{align-self:center}[_nghost-%COMP%] svg{width:100%;height:100%}.gallery-image-error[_ngcontent-%COMP%]{width:100px;height:100px}.gallery-thumb-error[_ngcontent-%COMP%]{width:40px;height:40px}img.g-image-item[_ngcontent-%COMP%]{object-fit:var(--image-object-fit);width:100%;height:100%;pointer-events:none;max-height:100%;max-width:100%}.g-image-error-message[_ngcontent-%COMP%]{position:absolute;z-index:10;inset:0;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}h2[_ngcontent-%COMP%], h4[_ngcontent-%COMP%]{color:coral;margin:0}h2[_ngcontent-%COMP%]{font-size:3.5em;margin-bottom:.3em}h4[_ngcontent-%COMP%]{font-size:1.6em}.g-loading[_ngcontent-%COMP%]{position:absolute;transform:translate3d(-50%,-50%,0);left:50%;top:50%;width:80px;height:80px}.g-active-thumb[_ngcontent-%COMP%] .g-thumb-loading[_ngcontent-%COMP%]{background-color:#464646}.g-thumb-loading[_ngcontent-%COMP%]{position:relative;overflow:hidden;width:100%;height:100%;background-color:#262626}.g-thumb-loading[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:0 0 0 50%;z-index:1;width:500%;margin-left:-250%;animation:_ngcontent-%COMP%_phAnimation .8s linear infinite;background:linear-gradient(to right,#fff0 46%,#ffffff59,#fff0 54%) 50% 50%}@keyframes _ngcontent-%COMP%_phAnimation{0%{transform:translate3d(-30%,0,0)}to{transform:translate3d(30%,0,0)}}'],data:{animation:[no("fadeIn",[ni("* => success",[Ct({opacity:0}),Mn("300ms ease-in",Ct({opacity:1}))])])]},changeDetection:0})}}return t})(),Om=(()=>{class t{get isActive(){return this.index===this.currIndex}get isIndexAttr(){return this.index}get itemState(){return this.state$.value}get imageContext(){return{$implicit:this.imageData,index:this.index,type:this.type,active:this.isActive,count:this.count,first:this.index===0,last:this.index===this.count-1}}get itemContext(){return{$implicit:this.data,index:this.index,type:this.type,active:this.isActive,count:this.count,first:this.index===0,last:this.index===this.count-1}}get nativeElement(){return this.el.nativeElement}get isAutoPlay(){if(this.isActive&&(this.type===Oi.Video||this.type===Oi.Youtube||this.type===Oi.Vimeo))return this.videoData.autoplay}get youtubeSrc(){let e=0;this.isActive&&this.type===Oi.Youtube&&this.data.autoplay&&(e=1);let i=new URL(this.data.src);return i.search=new URLSearchParams(Y(E({wmode:"transparent"},this.data.params),{autoplay:e})).toString(),i.href}get vimeoSrc(){let e=0;this.isActive&&this.type===Oi.Vimeo&&this.data.autoplay&&(e=1);let i=new URL(this.data.src);return i.search=new URLSearchParams(Y(E({},this.data.params),{autoplay:e})).toString(),i.href}get load(){switch(this.config.loadingStrategy){case Im.Preload:return!0;case Im.Lazy:return this.currIndex===this.index;default:return this.currIndex===this.index||this.currIndex===this.index-1||this.currIndex===this.index+1}}get imageData(){return this.data}get videoData(){return this.data}constructor(e){this.el=e,this.Types=Oi,this.state$=new Ne("loading"),this.error=new O}ngAfterViewInit(){this.isItemContainImage||this.state$.next("success")}static{this.\u0275fac=function(i){return new(i||t)(v($))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-item"]],hostVars:4,hostBindings:function(i,r){i&2&&(J("galleryIndex",r.isIndexAttr)("itemState",r.itemState),j("g-active-item",r.isActive))},inputs:{config:"config",index:"index",count:"count",currIndex:"currIndex",type:"type",data:"data"},outputs:{error:"error"},decls:1,vars:1,consts:[[3,"ngSwitch",4,"ngIf"],[3,"ngSwitch"],[4,"ngSwitchCase"],[3,"src","mute","poster","controls","controlsList","disablePictureInPicture","play","pause","error",4,"ngSwitchCase"],[3,"src","autoplay","loadingAttr","pause",4,"ngSwitchCase"],[3,"src","loadingAttr",4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"error","src","alt","index","loadingAttr","loadingIcon","loadingError"],["class","g-template g-item-template",4,"ngIf"],[1,"g-template","g-item-template"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"error","src","mute","poster","controls","controlsList","disablePictureInPicture","play","pause"],[3,"src","autoplay","loadingAttr","pause"],[3,"src","loadingAttr"]],template:function(i,r){i&1&&T(0,e5,7,6,"ng-container",0),i&2&&g("ngIf",r.load)},dependencies:[ot,Me,Es,bi,yr,Xv,Sk,P5,R5],styles:["[_nghost-%COMP%]{cursor:var(--g-item-cursor);height:var(--g-item-height);width:var(--g-item-width);max-height:var(--g-item-max-height);max-width:var(--slider-width);z-index:10;position:relative;overflow:hidden;display:flex;flex-direction:column;flex:0 0 auto;scroll-snap-align:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}[itemState=loading][_nghost-%COMP%]{width:var(--slider-width);height:var(--slider-height)}[_nghost-%COMP%] > *[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] video, [_nghost-%COMP%] iframe{width:100%;height:100%}gallery-image[_ngcontent-%COMP%]{width:var(--g-item-width);height:var(--g-item-height)}.g-template[_ngcontent-%COMP%]{position:absolute;z-index:10;inset:0;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}"],changeDetection:0})}}return t})(),L5=(()=>{class t{get _viewport(){return this._item.nativeElement.parentElement.parentElement}constructor(e,i){this._zone=e,this._item=i,this._sensor=new Rm,this.activeIndexChange=new O}ngOnChanges(){this.config.itemAutosize&&!this.disabled?this._subscribe():this._unsubscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe(),this.adapter&&this._zone.runOutsideAngular(()=>{this._currentSubscription=go([Pm(this._viewport),Pm(this._item.nativeElement)]).pipe(vt(()=>this._item.state$),le(e=>e!=="loading"),vt(()=>{let e=this.adapter.getElementRootMargin(this._viewport,this._item.nativeElement);return this.config.debug&&this._item.nativeElement.style.setProperty("--item-intersection-margin",`"VIEWPORT(${this._viewport.clientWidth}x${this._viewport.clientHeight}) ITEM(${this._item.nativeElement.clientWidth}x${this._item.nativeElement.clientHeight}) INTERSECTION(${e})"`),this._sensor.observe(this._viewport,[this._item.nativeElement],e)})).subscribe(e=>{this._zone.run(()=>this.activeIndexChange.emit(e))})})}_unsubscribe(){this._currentSubscription?.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(v(Se),v(Om))}}static{this.\u0275dir=B({type:t,selectors:[["","itemIntersectionObserver",""]],inputs:{adapter:"adapter",config:"config",disabled:[0,"itemIntersectionObserverDisabled","disabled"]},outputs:{activeIndexChange:"activeIndexChange"},features:[xe]})}}return t})(),F5=(()=>{class t{get _viewport(){return this._el.nativeElement}get _galleryCore(){return this._el.nativeElement.parentElement.parentElement.parentElement}get _isAutoHeight(){return this.config.autoHeight&&!this.config.itemAutosize&&this.config.orientation==="horizontal"&&(this.config.thumbPosition==="top"||this.config.thumbPosition==="bottom")}constructor(e,i,r,o){this._el=e,this._zone=i,this._gallery=r,this._imgManager=o,this.isResizingChange=new O}ngOnInit(){let e=this._gallery.ref(this.galleryId),i=getComputedStyle(this._viewport).getPropertyValue("transition-duration");parseFloat(i)===0?this._afterHeightChanged$=Q(null):this._afterHeightChanged$=ui(this._viewport,"transitionend"),this._zone.runOutsideAngular(()=>{this._resizeSubscription=Pm(this._viewport,r=>this._resizeObserver=r).pipe(le(()=>!this._shouldSkip||!(this._shouldSkip=!1)),ct(()=>this.setResizingState()),rh(this.config.resizeDebounceTime,wa),ct(r=>ge(this,null,function*(){if(this.updateSliderSize(),this._isAutoHeight){let o=yield Jd(this._imgManager.getActiveItem(e.state));o.height===this._viewport.clientHeight?this.resetResizingState():(this.setResizingState({unobserve:!0}),this._galleryCore.style.setProperty("--slider-height",`${o.height}px`),yield Jd(this._afterHeightChanged$),this.resetResizingState({shouldSkip:r.contentRect.height===this._viewport.clientHeight,observe:!0}))}else requestAnimationFrame(()=>this.resetResizingState({shouldSkip:!0}))}))).subscribe()})}ngOnChanges(){this._isAutoHeight?this._subscribeAutoHeight():this._unsubscribeAutoHeight()}ngOnDestroy(){this._resizeSubscription?.unsubscribe(),this._unsubscribeAutoHeight()}ngAfterViewChecked(){this.updateSliderSize()}updateSliderSize(){this._galleryCore.style.setProperty("--slider-width",`${this._viewport.clientWidth}px`),this.config.autoHeight||this._galleryCore.style.setProperty("--slider-height",`${this._viewport.clientHeight}px`),this.updateCentralizeCSSVariables()}updateCentralizeCSSVariables(){this.config.itemAutosize&&(this._galleryCore.style.setProperty("--slider-centralize-start-size",`${this.adapter.getCentralizerStartSize()}px`),this._galleryCore.style.setProperty("--slider-centralize-end-size",`${this.adapter.getCentralizerEndSize()}px`))}_subscribeAutoHeight(){this._unsubscribeAutoHeight(),this._shouldSkip=!1,this._zone.runOutsideAngular(()=>{let i=this._gallery.ref(this.galleryId).state.pipe(Hr((r,o)=>r.currIndex===o.currIndex));this._autoHeightSubscription=this._imgManager.getActiveItem(i).pipe(vt(r=>(this.setResizingState({unobserve:!0}),this._galleryCore.style.setProperty("--slider-height",`${r.clientHeight}px`),r.height===this._viewport.clientHeight?(this.resetResizingState({shouldSkip:!0,observe:!0}),Tt):this._afterHeightChanged$.pipe(ct(()=>this.resetResizingState({shouldSkip:!0,observe:!0})),yt(1))))).subscribe()})}_unsubscribeAutoHeight(){this._autoHeightSubscription?.unsubscribe()}setResizingState({unobserve:e}={}){this._zone.run(()=>{this.isResizingChange.emit(!0)}),this._viewport.classList.add("g-resizing"),e&&this._resizeObserver.unobserve(this._viewport)}resetResizingState({shouldSkip:e,observe:i}={}){this._zone.run(()=>{this.isResizingChange.emit(!1)}),this._viewport.classList.remove("g-resizing"),this._shouldSkip=e,i&&this._resizeObserver.observe(this._viewport)}static{this.\u0275fac=function(i){return new(i||t)(v($),v(Se),v(ec),v(Nm))}}static{this.\u0275dir=B({type:t,selectors:[["","sliderResizeObserver",""]],inputs:{galleryId:"galleryId",adapter:"adapter",config:"config"},outputs:{isResizingChange:"isResizingChange"},features:[xe]})}}return t})(),V5=(()=>{class t{get slider(){return this.sliderEl.nativeElement}constructor(e){this._gallery=e,this.position$=new X,this.itemClick=new O,this.error=new O,this.items=new Ha}ngOnChanges(e){if(e.config){if(e.config.currentValue?.orientation!==e.config.previousValue?.orientation)switch(this.config.orientation){case cd.Horizontal:this.adapter=new xm(this.slider,this.config);break;case cd.Vertical:this.adapter=new km(this.slider,this.config);break}e.config.firstChange||requestAnimationFrame(()=>{this.scrollToIndex(this.state.currIndex,"auto")})}e.state&&e.state.currentValue?.currIndex!==e.state.previousValue?.currIndex&&requestAnimationFrame(()=>{this.scrollToIndex(this.state.currIndex,e.state.firstChange?"auto":this.state.behavior)})}ngAfterViewInit(){this.items.notifyOnChanges(),this.items$=this.items.changes.pipe(ds(null),G(()=>this.items.toArray()))}trackByFn(e,i){return i.type}onActiveIndexChange(e){e===-1?this.scrollToIndex(this.state.currIndex,"smooth"):this._gallery.ref(this.galleryId).set(e,"smooth")}scrollToIndex(e,i){let r=this.items.get(e)?.nativeElement;if(r){let o=this.adapter.getScrollToValue(r,i||this.config.scrollBehavior);this.position$.next(o)}}static{this.\u0275fac=function(i){return new(i||t)(v(ec))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-slider"]],viewQuery:function(i,r){if(i&1&&(Ot(mk,7),Ot(Om,5)),i&2){let o;Ge(o=qe())&&(r.sliderEl=o.first),Ge(o=qe())&&(r.items=o)}},inputs:{galleryId:"galleryId",state:"state",config:"config"},outputs:{itemClick:"itemClick",error:"error"},features:[xe],ngContentSelectors:t5,decls:8,vars:17,consts:[["slider",""],["sliderIntersectionObserver","","sliderResizeObserver","",1,"g-slider",3,"isScrollingChange","isSlidingChange","activeIndexChange","isResizingChange","smoothScroll","smoothScrollInterruptOnMousemove","sliderIntersectionObserverDisabled","hammerSliding","adapter","items","config","state","galleryId"],[1,"g-slider-content"],["itemIntersectionObserver","",3,"type","config","data","currIndex","index","count","itemIntersectionObserverDisabled","adapter","activeIndexChange","click","error",4,"ngFor","ngForOf","ngForTrackBy"],["class","g-slider-debug",4,"ngIf"],["itemIntersectionObserver","",3,"activeIndexChange","click","error","type","config","data","currIndex","index","count","itemIntersectionObserverDisabled","adapter"],[1,"g-slider-debug"],[1,"g-slider-resizing"],[1,"g-slider-scrolling"],[1,"g-slider-sliding"]],template:function(i,r){if(i&1){let o=N();Nn(),d(0,"div",1,0),te(2,"async"),te(3,"async"),D("isScrollingChange",function(a){return C(o),w(r.isScrolling=a)})("isSlidingChange",function(a){return C(o),w(r.isSliding=a)})("activeIndexChange",function(a){return C(o),w(r.onActiveIndexChange(a))})("isResizingChange",function(a){return C(o),w(r.isResizing=a)}),d(4,"div",2),T(5,n5,1,9,"gallery-item",3),h(),T(6,i5,7,0,"div",4),h(),Cn(7)}i&2&&(g("smoothScroll",me(2,13,r.position$))("smoothScrollInterruptOnMousemove",!r.config.disableMouseScroll)("sliderIntersectionObserverDisabled",r.isScrolling||r.isSliding||r.isResizing)("hammerSliding",!r.config.disableMouseScroll)("adapter",r.adapter)("items",me(3,15,r.items$))("config",r.config)("state",r.state)("galleryId",r.galleryId),J("centralised",r.config.itemAutosize),f(5),g("ngForOf",r.state.items)("ngForTrackBy",r.trackByFn),f(),g("ngIf",r.config.debug))},dependencies:[ot,rt,Me,vr,Om,Dk,Mk,A5,L5,F5],styles:['[_nghost-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;order:1;flex:1}.g-slider[_ngcontent-%COMP%]{display:flex;align-items:center;transition:var(--g-height-transition);min-height:100%;min-width:100%;max-height:100%;max-width:100%;height:var(--slider-height, 100%);width:var(--slider-width, 100%);overflow:var(--slider-overflow);scroll-snap-type:var(--slider-scroll-snap-type);flex-direction:var(--slider-flex-direction);scrollbar-width:none}.g-slider[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.g-slider.g-sliding[_ngcontent-%COMP%] .g-slider-content[_ngcontent-%COMP%], .g-slider.g-scrolling[_ngcontent-%COMP%] .g-slider-content[_ngcontent-%COMP%]{pointer-events:none}.g-slider[centralised=true][_ngcontent-%COMP%]:before, .g-slider[centralised=true][_ngcontent-%COMP%]:after{content:""}.g-slider[centralised=true][_ngcontent-%COMP%]:before{flex:0 0 var(--slider-centralize-start-size)}.g-slider[centralised=true][_ngcontent-%COMP%]:after{flex:0 0 var(--slider-centralize-end-size)}.g-slider-content[_ngcontent-%COMP%]{flex:0 0 auto;display:flex;align-items:center;gap:1px;width:var(--slider-content-width, unset);height:var(--slider-content-height, unset);flex-direction:var(--slider-flex-direction)}'],changeDetection:0})}}return t})(),pk=(()=>{class t{get isActive(){return this.index===this.currIndex}get isIndexAttr(){return this.index}get imageContext(){return{$implicit:this.data,index:this.index,type:this.type,active:this.isActive,count:this.count,first:this.index===0,last:this.index===this.count-1}}get nativeElement(){return this.el.nativeElement}constructor(e){this.el=e,this.error=new O}static{this.\u0275fac=function(i){return new(i||t)(v($))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-thumb"]],hostVars:3,hostBindings:function(i,r){i&2&&(J("galleryIndex",r.isIndexAttr),j("g-active-thumb",r.isActive))},inputs:{config:"config",index:"index",count:"count",currIndex:"currIndex",type:"type",data:"data"},outputs:{error:"error"},decls:2,vars:6,consts:[[3,"error","src","alt","isThumbnail","loadingIcon","loadingError"],["class","g-template g-thumb-template",4,"ngIf"],[1,"g-template","g-thumb-template"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(i,r){i&1&&(d(0,"gallery-image",0),D("error",function(s){return r.error.emit(s)}),h(),T(1,o5,2,2,"div",1)),i&2&&(g("src",r.data.thumb)("alt",r.data.alt+"-thumbnail")("isThumbnail",!0)("loadingIcon",r.config.thumbLoadingIcon)("loadingError",r.config.thumbLoadingError),f(),g("ngIf",r.config.thumbTemplate))},dependencies:[ot,Me,Es,Sk],styles:["[_nghost-%COMP%]{cursor:var(--g-thumb-cursor);height:var(--g-thumb-height);width:var(--g-thumb-width);max-height:var(--g-thumb-height);max-width:var(--g-thumb-width);align-self:center;background:#000;position:relative;display:flex;overflow:hidden;flex-direction:column;flex:0 0 auto;scroll-snap-align:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:rgba(0,0,0,0);--g-thumb-opacity: .5}.g-active-thumb[_nghost-%COMP%]{--g-thumb-opacity: 1}.g-template[_ngcontent-%COMP%]{position:absolute;z-index:10;inset:0;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}"],changeDetection:0})}}return t})(),j5=(()=>{class t{get _viewport(){return this._el.nativeElement}constructor(e,i){this._el=e,this._zone=i,this.resized=new O}ngOnInit(){this._zone.runOutsideAngular(()=>{this._resizeSubscription=Pm(this._viewport).pipe(rh(this.config.resizeDebounceTime,wa),ct(()=>{this.updateSliderSize(),this.resized.emit()})).subscribe()})}ngOnChanges(e){e.config.firstChange||this.updateSliderSize()}ngOnDestroy(){this._resizeSubscription?.unsubscribe()}updateSliderSize(){this._viewport.style.setProperty("--thumb-centralize-start-size",this.adapter.getCentralizerStartSize()+"px"),this._viewport.style.setProperty("--thumb-centralize-end-size",this.adapter.getCentralizerEndSize()+"px")}static{this.\u0275fac=function(i){return new(i||t)(v($),v(Se))}}static{this.\u0275dir=B({type:t,selectors:[["","thumbResizeObserver",""]],inputs:{config:"config",adapter:"adapter"},outputs:{resized:"thumbResizeObserver"},features:[xe]})}}return t})(),H5=(()=>{class t{constructor(){this.position$=new X,this.thumbClick=new O,this.error=new O,this.items=new Ha}get slider(){return this.sliderEl.nativeElement}ngOnChanges(e){if(e.config&&e.config.currentValue?.thumbPosition!==e.config.previousValue?.thumbPosition){switch(this.config.thumbPosition){case Xl.Right:case Xl.Left:this.adapter=new km(this.slider,this.config);break;case Xl.Top:case Xl.Bottom:this.adapter=new xm(this.slider,this.config);break}e.config.firstChange||requestAnimationFrame(()=>{this.scrollToIndex(this.state.currIndex,"auto")})}e.state&&(e.state.firstChange||!this.config.detachThumbs)&&e.state.currentValue?.currIndex!==e.state.previousValue?.currIndex&&requestAnimationFrame(()=>{this.scrollToIndex(this.state.currIndex,e.state?.firstChange?"auto":"smooth")})}ngAfterViewInit(){this.items.notifyOnChanges(),this.items$=this.items.changes.pipe(ds(null),G(()=>this.items.toArray()))}trackByFn(e,i){return i.type}onActiveIndexChange(e){e===-1?this.scrollToIndex(this.state.currIndex,"smooth"):this.scrollToIndex(e,"smooth")}scrollToIndex(e,i){let r=this.items.get(e)?.nativeElement;if(r){let o=this.adapter.getScrollToValue(r,i);this.position$.next(o)}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-thumbs"]],viewQuery:function(i,r){if(i&1&&(Ot(mk,7),Ot(pk,5)),i&2){let o;Ge(o=qe())&&(r.sliderEl=o.first),Ge(o=qe())&&(r.items=o)}},inputs:{galleryId:"galleryId",state:"state",config:"config"},outputs:{thumbClick:"thumbClick",error:"error"},features:[xe],decls:6,vars:15,consts:[["slider",""],[1,"g-slider",3,"thumbResizeObserver","activeIndexChange","smoothScroll","smoothScrollInterruptOnMousemove","hammerSliding","galleryId","items","state","config","adapter"],[1,"g-slider-content"],[3,"type","config","data","currIndex","index","count","click","error",4,"ngFor","ngForOf","ngForTrackBy"],[3,"click","error","type","config","data","currIndex","index","count"]],template:function(i,r){if(i&1){let o=N();d(0,"div",1,0),te(2,"async"),te(3,"async"),D("thumbResizeObserver",function(){return C(o),w(r.scrollToIndex(r.state.currIndex,"auto"))})("activeIndexChange",function(a){return C(o),w(r.onActiveIndexChange(a))}),d(4,"div",2),T(5,s5,1,7,"gallery-thumb",3),h()()}i&2&&(g("smoothScroll",me(2,11,r.position$))("smoothScrollInterruptOnMousemove",!r.config.disableThumbMouseScroll)("hammerSliding",!r.config.disableThumbMouseScroll)("galleryId",r.galleryId)("items",me(3,13,r.items$))("state",r.state)("config",r.config)("adapter",r.adapter),J("centralised",r.config.thumbCentralized||r.adapter.isContentLessThanContainer),f(5),g("ngForOf",r.state.items)("ngForTrackBy",r.trackByFn))},dependencies:[ot,rt,vr,pk,Dk,Mk,j5],styles:['[_nghost-%COMP%]{max-height:100%;max-width:100%;display:block;z-index:100}.g-slider[_ngcontent-%COMP%]{display:flex;align-items:center;transition:var(--g-height-transition);max-height:100%;min-width:100%;height:var(--thumb-slider-height);width:var(--thumb-slider-width);top:var(--thumb-slider-top);left:var(--thumb-slider-left);overflow:var(--thumb-slider-overflow);scroll-snap-type:var(--slider-scroll-snap-type);flex-direction:var(--thumb-slider-flex-direction);scrollbar-width:none}.g-slider[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.g-slider.g-sliding[_ngcontent-%COMP%] .g-slider-content[_ngcontent-%COMP%]{pointer-events:none}.g-slider[centralised=true][_ngcontent-%COMP%]:before, .g-slider[centralised=true][_ngcontent-%COMP%]:after{content:""}.g-slider[centralised=true][_ngcontent-%COMP%]:before{flex:0 0 var(--thumb-centralize-start-size)}.g-slider[centralised=true][_ngcontent-%COMP%]:after{flex:0 0 var(--thumb-centralize-end-size)}.g-slider-content[_ngcontent-%COMP%]{flex:0 0 auto;display:flex;flex-direction:var(--thumb-slider-flex-direction);align-items:center;gap:1px}'],changeDetection:0})}}return t})(),B5=(()=>{class t{get thumbPosition(){return this.config.thumbPosition}get orientation(){return this.config.orientation}get disableThumb(){return this.config.disableThumbs}get bulletDisabled(){return this.config.disableBullets}get bulletPosition(){return this.config.bulletPosition}get imageSize(){return this.config.imageSize}get thumbImageSize(){return this.config.thumbImageSize}get counterPosition(){return this.config.counterPosition}get scrollDisabled(){return this.config.disableScroll}get thumbScrollDisabled(){return this.config.disableThumbScroll}get itemAutosize(){return this.config.itemAutosize}get autoHeight(){return this.config.autoHeight}get thumbAutosize(){return this.config.thumbAutosize}get direction(){return this.dir.value}get debug(){return this.config.debug}constructor(e,i){this.el=e,this.dir=i,this.itemClick=new O,this.thumbClick=new O,this.error=new O}ngOnChanges(e){e.config&&(e.config.currentValue?.thumbWidth!==e.config.previousValue?.thumbWidth&&this.el.nativeElement.style.setProperty("--g-thumb-width",Dm(e.config.currentValue.thumbWidth)),e.config.currentValue?.thumbHeight!==e.config.previousValue?.thumbHeight&&this.el.nativeElement.style.setProperty("--g-thumb-height",Dm(e.config.currentValue.thumbHeight)))}static{this.\u0275fac=function(i){return new(i||t)(v($),v(Jl))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-core"]],hostVars:15,hostBindings:function(i,r){i&2&&J("thumbPosition",r.thumbPosition)("orientation",r.orientation)("thumbDisabled",r.disableThumb)("bulletDisabled",r.bulletDisabled)("bulletPosition",r.bulletPosition)("imageSize",r.imageSize)("thumbImageSize",r.thumbImageSize)("counterPosition",r.counterPosition)("scrollDisabled",r.scrollDisabled)("thumbScrollDisabled",r.thumbScrollDisabled)("itemAutosize",r.itemAutosize)("autoHeight",r.autoHeight)("thumbAutosize",r.thumbAutosize)("dir",r.direction)("debug",r.debug)},inputs:{galleryId:"galleryId",state:"state",config:"config"},outputs:{itemClick:"itemClick",thumbClick:"thumbClick",error:"error"},features:[xe],decls:8,vars:14,consts:[[3,"state","config","galleryId","thumbClick","error",4,"ngIf"],[1,"g-box"],[3,"itemClick","error","state","config","galleryId"],[3,"state","config","galleryId",4,"ngIf"],[3,"state",4,"ngIf"],[1,"g-box-template"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"thumbClick","error","state","config","galleryId"],[3,"state","config","galleryId"],[3,"state"]],template:function(i,r){i&1&&(T(0,l5,1,3,"gallery-thumbs",0),d(1,"div",1)(2,"gallery-slider",2),D("itemClick",function(s){return r.itemClick.emit(s)})("error",function(s){return r.error.emit(s)}),T(3,c5,1,3,"gallery-nav",3),h(),T(4,u5,1,3,"gallery-bullets",3)(5,d5,1,1,"gallery-counter",4),d(6,"div",5),T(7,h5,1,0,"ng-container",6),h()()),i&2&&(g("ngIf",r.config.thumbs),f(2),j("g-debug",r.config.debug),g("state",r.state)("config",r.config)("galleryId",r.galleryId),f(),g("ngIf",r.config.nav&&r.state.items.length>1),f(),g("ngIf",r.config.bullets),f(),g("ngIf",r.config.counter),f(2),g("ngTemplateOutlet",r.config.boxTemplate)("ngTemplateOutletContext",Zr(11,a5,r.state,r.config)))},dependencies:[ot,Me,Es,H5,V5,g5,m5,p5],styles:["[_nghost-%COMP%]{position:relative;overflow:hidden;display:flex;gap:var(--g-gutter-size);width:100%;height:500px;min-height:100%;max-height:100%;--image-object-fit: unset;--slider-thumb-height: unset;--slider-thumb-width: unset;--thumb-slider-left: unset;--thumb-slider-overflow: unset;--thumb-slider-flex-direction: unset;--g-thumb-width: unset;--g-thumb-height: unset;--g-thumb-cursor: pointer;--slider-scroll-snap-type: unset;--slider-overflow: unset;--slider-flex-direction: unset;--slider-width: unset;--slider-height: unset;--slider-content-width: unset;--slider-content-height: unset;--g-item-width: unset;--g-item-height: unset;--g-item-max-height: var(--slider-height);--bullets-top: unset;--bullets-bottom: unset;--bullets-cursor: pointer;--bullets-opacity: .4;--bullets-hover-opacity: 1;--bullets-active-opacity: 1;--counter-top: unset;--counter-bottom: unset;--counter-border-radius: unset;--nav-space: 8px;--nav-hover-space: 6.4px;--nav-next-right: unset;--nav-next-hover-right: unset;--nav-next-left: unset;--nav-next-hover-left: unset}[thumbPosition=top][_nghost-%COMP%]{flex-direction:column}[thumbPosition=left][_nghost-%COMP%]{flex-direction:row}[thumbPosition=right][_nghost-%COMP%]{flex-direction:row-reverse}[thumbPosition=bottom][_nghost-%COMP%]{flex-direction:column-reverse}[autoHeight=true][itemAutoSize=false][orientation=horizontal][thumbPosition=top][_nghost-%COMP%], [autoHeight=true][itemAutoSize=false][orientation=horizontal][thumbPosition=bottom][_nghost-%COMP%]{height:fit-content;--g-item-height: auto !important;--g-item-max-height: auto}[imageSize=contain][_nghost-%COMP%] gallery-slider[_ngcontent-%COMP%], [thumbImageSize=contain][_nghost-%COMP%] gallery-thumbs[_ngcontent-%COMP%]{--image-object-fit: contain}[imageSize=cover][_nghost-%COMP%] gallery-slider[_ngcontent-%COMP%], [thumbImageSize=cover][_nghost-%COMP%] gallery-thumbs[_ngcontent-%COMP%]{--image-object-fit: cover}[thumbPosition=top][_nghost-%COMP%], [thumbPosition=bottom][_nghost-%COMP%]{--thumb-slider-top: 0;--thumb-slider-overflow: auto hidden;--thumb-slider-flex-direction: row;--g-thumb-height: 100%}[thumbPosition=top][thumbAutosize=true][_nghost-%COMP%], [thumbPosition=bottom][thumbAutosize=true][_nghost-%COMP%]{--g-thumb-width: auto !important}[thumbPosition=left][_nghost-%COMP%], [thumbPosition=right][_nghost-%COMP%]{--thumb-slider-left: 0;--thumb-slider-overflow: hidden auto;--thumb-slider-flex-direction: column;--g-thumb-width: 100%}[thumbPosition=left][thumbAutosize=true][_nghost-%COMP%], [thumbPosition=right][thumbAutosize=true][_nghost-%COMP%]{--g-thumb-height: auto !important}[thumbDisbled=true][_nghost-%COMP%]{--g-thumb-cursor: default}[thumbScrollDisabled=true][_nghost-%COMP%]{--thumb-slider-overflow: hidden !important}[orientation=horizontal][_nghost-%COMP%]{--slider-overflow: auto hidden;--slider-scroll-snap-type: x mandatory;--slider-flex-direction: row;--slider-content-height: 100%}[orientation=vertical][_nghost-%COMP%]{--slider-overflow: hidden auto;--slider-scroll-snap-type: y mandatory;--slider-flex-direction: column;--slider-content-width: 100%}[scrollDisabled=true][_nghost-%COMP%]{--slider-overflow: hidden !important}[orientation=horizontal][_nghost-%COMP%]{--g-item-width: var(--slider-width);--g-item-height: 100%}[orientation=horizontal][itemAutoSize=true][_nghost-%COMP%]{--g-item-width: auto}[orientation=vertical][_nghost-%COMP%]{--g-item-width: 100%;--g-item-height: var(--slider-height)}[orientation=vertical][itemAutoSize=true][_nghost-%COMP%]{--g-item-height: auto}[bulletPosition=top][_nghost-%COMP%]{--bullets-top: 15px}[bulletPosition=bottom][_nghost-%COMP%]{--bullets-bottom: 15px}[bulletDisabled=true][_nghost-%COMP%]{--bullets-cursor: default;--bullets-hover-opacity: var(--bullets-opacity)}[counterPosition=top][_nghost-%COMP%]{--counter-top: 0;--counter-border-radius: 0 0 4px 4px}[counterPosition=bottom][_nghost-%COMP%]{--counter-bottom: 0;--counter-border-radius: 4px 4px 0 0}[dir=ltr][_nghost-%COMP%]{--nav-next-transform: translateY(-50%) perspective(1px);--nav-next-right: var(--nav-space);--nav-next-hover-right: var(--nav-hover-space);--nav-prev-transform: translateY(-50%) perspective(1px) scale(-1, -1);--nav-prev-left: var(--nav-space);--nav-prev-hover-left: var(--nav-hover-space)}[dir=rtl][_nghost-%COMP%]{--nav-next-transform: translateY(-50%) perspective(1px) scale(-1, -1);--nav-next-left: var(--nav-space);--nav-next-hover-left: var(--nav-hover-space);--nav-prev-transform: translateY(-50%) perspective(1px);--nav-prev-right: var(--nav-space);--nav-prev-hover-right: var(--nav-hover-space)}.g-box[_ngcontent-%COMP%]{overflow:hidden;position:relative;display:flex;flex-direction:column;order:1;flex:1}.g-box-template[_ngcontent-%COMP%]{position:absolute;z-index:10}",'[debug=true][_nghost-%COMP%] .g-sliding gallery-item.g-item-highlight, [debug=true][_nghost-%COMP%] .g-resizing gallery-item.g-item-highlight, [debug=true][_nghost-%COMP%] .g-scrolling gallery-item.g-item-highlight{visibility:hidden}[debug=true][_nghost-%COMP%] gallery-slider:after, [debug=true][_nghost-%COMP%] gallery-slider:before{position:absolute;content:"";z-index:12}[debug=true][_nghost-%COMP%] gallery-slider:before{width:100%;height:0;border-top:1px dashed lime}[debug=true][_nghost-%COMP%] gallery-slider:after{height:100%;width:0;border-left:1px dashed lime}[debug=true][_nghost-%COMP%] gallery-slider gallery-item{outline:1px solid darkorange}[debug=true][_nghost-%COMP%] gallery-slider gallery-item.g-item-highlight:after{content:"";position:absolute;width:100%;height:100%;border:3px solid lime;box-sizing:border-box;z-index:10}[debug=true][_nghost-%COMP%] .g-sliding .g-slider-sliding{display:block}[debug=true][_nghost-%COMP%] .g-scrolling .g-slider-scrolling{display:block}[debug=true][_nghost-%COMP%] .g-resizing .g-slider-resizing{display:block}[debug=true][_nghost-%COMP%] .g-slider-debug{position:absolute;top:0;left:0;display:flex;gap:5px;padding:10px}[debug=true][_nghost-%COMP%] .g-slider-debug .g-slider-resizing{background:#f54c28}[debug=true][_nghost-%COMP%] .g-slider-debug .g-slider-scrolling{background:#ff8524}[debug=true][_nghost-%COMP%] .g-slider-debug .g-slider-sliding{background:#1f6cb9}[debug=true][_nghost-%COMP%] .g-slider-debug div, [debug=true][_nghost-%COMP%] .g-slider-debug:before{display:none;color:#fff;font-family:monospace;z-index:12;padding:2px 6px;border-radius:3px}[debug=true][itemAutoSize=false][_nghost-%COMP%] .g-slider-debug:before{content:var(--intersection-margin);background:#ecececd6;color:#363636;display:block}[debug=true][itemAutoSize=true][_nghost-%COMP%] gallery-item:before{position:absolute;margin:10px;content:var(--item-intersection-margin);background:#ecececd6;color:#363636;display:block;width:270px;font-family:monospace;z-index:12;padding:2px 6px;border-radius:3px}'],changeDetection:0})}}return t})(),U5=(()=>{class t{constructor(e){this.templateRef=e}static ngTemplateContextGuard(e,i){return!0}static{this.\u0275fac=function(i){return new(i||t)(v(Et))}}static{this.\u0275dir=B({type:t,selectors:[["","galleryImageDef",""]]})}}return t})(),$5=(()=>{class t{constructor(e){this.templateRef=e}static ngTemplateContextGuard(e,i){return!0}static{this.\u0275fac=function(i){return new(i||t)(v(Et))}}static{this.\u0275dir=B({type:t,selectors:[["","galleryThumbDef",""]]})}}return t})(),Y5=(()=>{class t{constructor(e){this.templateRef=e}static ngTemplateContextGuard(e,i){return!0}static{this.\u0275fac=function(i){return new(i||t)(v(Et))}}static{this.\u0275dir=B({type:t,selectors:[["","galleryItemDef",""]]})}}return t})(),z5=(()=>{class t{constructor(e){this.templateRef=e}static ngTemplateContextGuard(e,i){return!0}static{this.\u0275fac=function(i){return new(i||t)(v(Et))}}static{this.\u0275dir=B({type:t,selectors:[["","galleryBoxDef",""]]})}}return t})(),W5=(()=>{class t{constructor(e,i){this._gallery=e,this._imgManager=i}ngAfterViewInit(){this._galleryRef=this._gallery.ref(this.galleryId),this._subscribe(),this.config.autoplay&&this._galleryRef.play()}ngOnChanges(e){this._galleryRef&&e.config?.currentValue.autoplay!==e.config?.previousValue.autoplay&&(this.config.autoplay?this._galleryRef.play():this._galleryRef.stop())}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe(),this._currentSubscription=this._galleryRef.playingChanged.pipe(vt(e=>e.isPlaying?this._imgManager.getActiveItem(this._galleryRef.state).pipe(vt(()=>Q({}).pipe(vc(this.config.autoplayInterval),ct(()=>{this._galleryRef.stateSnapshot.hasNext?this._galleryRef.next(this.config.scrollBehavior):this._galleryRef.set(0,this.config.scrollBehavior)})))):Tt)).subscribe()}_unsubscribe(){this._currentSubscription?.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(v(ec),v(Nm))}}static{this.\u0275dir=B({type:t,selectors:[["gallery-core","autoplay",""]],inputs:{config:"config",galleryId:"galleryId"},features:[xe]})}}return t})(),VC=(()=>{class t{constructor(e){this._gallery=e,this.id="root",this.nav=this._gallery.config.nav,this.bullets=this._gallery.config.bullets,this.loop=this._gallery.config.loop,this.debug=this._gallery.config.debug,this.thumbs=this._gallery.config.thumbs,this.counter=this._gallery.config.counter,this.detachThumbs=this._gallery.config.detachThumbs,this.thumbAutosize=this._gallery.config.thumbAutosize,this.itemAutosize=this._gallery.config.itemAutosize,this.autoHeight=this._gallery.config.autoHeight,this.autoplay=this._gallery.config.autoplay,this.disableThumbs=this._gallery.config.disableThumbs,this.disableBullets=this._gallery.config.disableBullets,this.disableScroll=this._gallery.config.disableScroll,this.disableThumbScroll=this._gallery.config.disableThumbScroll,this.thumbCentralized=this._gallery.config.thumbCentralized,this.disableMouseScroll=this._gallery.config.disableMouseScroll,this.disableThumbMouseScroll=this._gallery.config.disableThumbMouseScroll,this.bulletSize=this._gallery.config.bulletSize,this.thumbWidth=this._gallery.config.thumbWidth,this.thumbHeight=this._gallery.config.thumbHeight,this.autoplayInterval=this._gallery.config.autoplayInterval,this.scrollDuration=this._gallery.config.scrollDuration,this.resizeDebounceTime=this._gallery.config.resizeDebounceTime,this.scrollBehavior=this._gallery.config.scrollBehavior,this.scrollEase=this._gallery.config.scrollEase,this.imageSize=this._gallery.config.imageSize,this.thumbImageSize=this._gallery.config.thumbImageSize,this.bulletPosition=this._gallery.config.bulletPosition,this.counterPosition=this._gallery.config.counterPosition,this.orientation=this._gallery.config.orientation,this.loadingAttr=this._gallery.config.loadingAttr,this.loadingStrategy=this._gallery.config.loadingStrategy,this.thumbPosition=this._gallery.config.thumbPosition,this.destroyRef=!0,this.skipInitConfig=!1,this.itemClick=new O,this.thumbClick=new O,this.playingChange=new O,this.indexChange=new O,this.itemsChange=new O,this.error=new O}getConfig(){return{nav:this.nav,bullets:this.bullets,loop:this.loop,debug:this.debug,thumbs:this.thumbs,counter:this.counter,autoplay:this.autoplay,bulletSize:this.bulletSize,imageSize:this.imageSize,thumbImageSize:this.thumbImageSize,scrollBehavior:this.scrollBehavior,thumbCentralized:this.thumbCentralized,thumbWidth:this.thumbWidth,thumbHeight:this.thumbHeight,scrollEase:this.scrollEase,bulletPosition:this.bulletPosition,loadingAttr:this.loadingAttr,detachThumbs:this.detachThumbs,thumbPosition:this.thumbPosition,autoplayInterval:this.autoplayInterval,counterPosition:this.counterPosition,loadingStrategy:this.loadingStrategy,scrollDuration:this.scrollDuration,orientation:this.orientation,resizeDebounceTime:this.resizeDebounceTime,disableBullets:this.disableBullets,disableThumbs:this.disableThumbs,disableScroll:this.disableScroll,disableThumbScroll:this.disableThumbScroll,disableMouseScroll:this.disableMouseScroll,disableThumbMouseScroll:this.disableThumbMouseScroll,thumbAutosize:this.thumbAutosize,itemAutosize:this.itemAutosize,autoHeight:this.autoHeight}}ngOnChanges(e){this.galleryRef&&(this.galleryRef.setConfig(this.getConfig()),e.items&&e.items.currentValue!==e.items.previousValue&&this.load(this.items))}ngOnInit(){this.skipInitConfig?this.galleryRef=this._gallery.ref(this.id):this.galleryRef=this._gallery.ref(this.id,this.getConfig()),this.load(this.items),this.indexChange.observed&&(this._indexChange$=this.galleryRef.indexChanged.subscribe(e=>this.indexChange.emit(e))),this.itemsChange.observed&&(this._itemChange$=this.galleryRef.itemsChanged.subscribe(e=>this.itemsChange.emit(e))),this.playingChange.observed&&(this._playingChange$=this.galleryRef.playingChanged.subscribe(e=>this.playingChange.emit(e)))}ngAfterContentInit(){let e={};this._galleryItemDef&&(e.itemTemplate=this._galleryItemDef.templateRef),this._galleryImageDef&&(e.imageTemplate=this._galleryImageDef.templateRef),this._galleryThumbDef&&(e.thumbTemplate=this._galleryThumbDef.templateRef),this._galleryBoxDef&&(e.boxTemplate=this._galleryBoxDef.templateRef),Object.keys(e).length&&this.galleryRef.setConfig(e)}ngOnDestroy(){this._itemClick$?.unsubscribe(),this._thumbClick$?.unsubscribe(),this._itemChange$?.unsubscribe(),this._indexChange$?.unsubscribe(),this._playingChange$?.unsubscribe(),this.destroyRef&&this.galleryRef?.destroy()}onItemClick(e){this.itemClick.emit(e),this.galleryRef.itemClick.next(e)}onThumbClick(e){this.galleryRef.set(e),this.thumbClick.emit(e),this.galleryRef.thumbClick.next(e)}onError(e){this.error.emit(e),this.galleryRef.error.next(e)}load(e){this.galleryRef.load(e)}add(e,i){this.galleryRef.add(e,i)}addImage(e,i){this.galleryRef.addImage(e,i)}addVideo(e,i){this.galleryRef.addVideo(e,i)}addIframe(e,i){this.galleryRef.addIframe(e,i)}addYoutube(e,i){this.galleryRef.addYoutube(e,i)}addVimeo(e,i){this.galleryRef.addVimeo(e,i)}remove(e){this.galleryRef.remove(e)}next(e,i){this.galleryRef.next(e,i)}prev(e,i){this.galleryRef.prev(e,i)}set(e,i){this.galleryRef.set(e,i)}reset(){this.galleryRef.reset()}play(e){this.galleryRef.play(e)}stop(){this.galleryRef.stop()}static{this.\u0275fac=function(i){return new(i||t)(v(ec))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery"]],contentQueries:function(i,r,o){if(i&1&&(xo(o,Y5,5),xo(o,U5,5),xo(o,$5,5),xo(o,z5,5)),i&2){let s;Ge(s=qe())&&(r._galleryItemDef=s.first),Ge(s=qe())&&(r._galleryImageDef=s.first),Ge(s=qe())&&(r._galleryThumbDef=s.first),Ge(s=qe())&&(r._galleryBoxDef=s.first)}},inputs:{id:"id",items:"items",nav:[2,"nav","nav",Xe],bullets:[2,"bullets","bullets",Xe],loop:[2,"loop","loop",Xe],debug:[2,"debug","debug",Xe],thumbs:[2,"thumbs","thumbs",Xe],counter:[2,"counter","counter",Xe],detachThumbs:[2,"detachThumbs","detachThumbs",Xe],thumbAutosize:[2,"thumbAutosize","thumbAutosize",Xe],itemAutosize:[2,"itemAutosize","itemAutosize",Xe],autoHeight:[2,"autoHeight","autoHeight",Xe],autoplay:[2,"autoplay","autoplay",Xe],disableThumbs:[2,"disableThumbs","disableThumbs",Xe],disableBullets:[2,"disableBullets","disableBullets",Xe],disableScroll:[2,"disableScroll","disableScroll",Xe],disableThumbScroll:[2,"disableThumbScroll","disableThumbScroll",Xe],thumbCentralized:[2,"thumbCentralized","thumbCentralized",Xe],disableMouseScroll:[2,"disableMouseScroll","disableMouseScroll",Xe],disableThumbMouseScroll:[2,"disableThumbMouseScroll","disableThumbMouseScroll",Xe],bulletSize:[2,"bulletSize","bulletSize",Ts],thumbWidth:[2,"thumbWidth","thumbWidth",Ts],thumbHeight:[2,"thumbHeight","thumbHeight",Ts],autoplayInterval:[2,"autoplayInterval","autoplayInterval",Ts],scrollDuration:[2,"scrollDuration","scrollDuration",Ts],resizeDebounceTime:[2,"resizeDebounceTime","resizeDebounceTime",Ts],scrollBehavior:"scrollBehavior",scrollEase:"scrollEase",imageSize:"imageSize",thumbImageSize:"thumbImageSize",bulletPosition:"bulletPosition",counterPosition:"counterPosition",orientation:"orientation",loadingAttr:"loadingAttr",loadingStrategy:"loadingStrategy",thumbPosition:"thumbPosition",destroyRef:"destroyRef",skipInitConfig:"skipInitConfig"},outputs:{itemClick:"itemClick",thumbClick:"thumbClick",playingChange:"playingChange",indexChange:"indexChange",itemsChange:"itemsChange",error:"error"},features:[ce([Nm]),xe],decls:3,vars:7,consts:[["autoplay","",3,"itemClick","thumbClick","error","galleryId","state","config"]],template:function(i,r){i&1&&(d(0,"gallery-core",0),te(1,"async"),te(2,"async"),D("itemClick",function(s){return r.onItemClick(s)})("thumbClick",function(s){return r.onThumbClick(s)})("error",function(s){return r.onError(s)}),h()),i&2&&g("galleryId",r.id)("state",me(1,3,r.galleryRef.state))("config",me(2,5,r.galleryRef.config))},dependencies:[ot,vr,B5,W5],styles:["[_nghost-%COMP%]{position:relative;overflow:hidden;z-index:1;display:flex;justify-content:center;align-items:center;background-color:#000;--g-height-transition: height 468ms cubic-bezier(.42, 0, .58, 1);--g-nav-drop-shadow: drop-shadow(0 0 2px rgba(0, 0, 0, .6));--g-box-shadow: 0 0 3px rgba(0, 0, 0, .6);--g-font-color: #000;--g-overlay-color: #fff;--g-gutter-size: 1px}[gallerize][_nghost-%COMP%]{--g-item-cursor: pointer}"],changeDetection:0})}}return t})(),Tk=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=Ce({type:t})}static{this.\u0275inj=be({imports:[VC]})}}return t})();function q5(t){return typeof t<"u"&&t!==null}function Q5(t){return t!=null&&`${t}`!="false"}function Z5(t){let n=new Date(t);if(!Number.isNaN(n.valueOf()))return n;let e=String(t).match(/\d+/g);if(e===null||e.length<=2)return n;{let[i,r,...o]=e.map(s=>parseInt(s,10));return new Date(Date.UTC(i,r-1,...o))}}var dd=60,hd=dd*60,tc=hd*24,Ek=tc*7,Ik=tc*30,xk=tc*365,K5=(()=>{class t{constructor(){this.changes=new X}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac})}}return t})(),J5=function(t){let n=Date.now(),e=Math.round(Math.abs(n-t)/1e3),i=t{class t extends nc{format(e){let{suffix:i,value:r,unit:o}=J5(e);return this.parse(r,o,i)}parse(e,i,r){return e!==1&&(i+="s"),e+" "+i+" "+r}static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})()}static{this.\u0275prov=x({token:t,factory:t.\u0275fac})}}return t})();var ic=class{},Ak=(()=>{class t extends ic{tick(e){return Q(0).pipe(Ea(()=>{let i=Date.now(),r=Math.round(Math.abs(i-e)/1e3),o=r{let e;return function(r){return(e||(e=bn(t)))(r||t)}})()}static{this.\u0275prov=x({token:t,factory:t.\u0275fac})}}return t})();var Jo=(()=>{class t{constructor(e,i,r,o){this.clock=o,this.live=!0,this.stateChanges=new X,e&&(this.intlSubscription=e.changes.subscribe(()=>this.stateChanges.next())),this.stateChanges.subscribe(()=>{this.value=r.format(this.date),i.markForCheck()})}transform(e,...i){let r=Z5(e).valueOf(),o;if(o=q5(i[0])?Q5(i[0]):this.live,this.date===r&&this.live===o)return this.value;if(this.date=r,this.live=o,this.date)this.clockSubscription&&(this.clockSubscription.unsubscribe(),this.clockSubscription=void 0),this.clockSubscription=this.clock.tick(this.date).pipe(le(()=>this.live,this)).subscribe(()=>this.stateChanges.next()),this.stateChanges.next();else throw new SyntaxError(`Wrong parameter in TimeagoPipe. Expected a valid date, received: ${e}`);return this.value}ngOnDestroy(){this.intlSubscription&&(this.intlSubscription.unsubscribe(),this.intlSubscription=void 0),this.clockSubscription&&(this.clockSubscription.unsubscribe(),this.clockSubscription=void 0),this.stateChanges.complete()}static{this.\u0275fac=function(i){return new(i||t)(v(K5,24),v(it,16),v(nc,16),v(ic,16))}}static{this.\u0275pipe=To({name:"timeago",type:t,pure:!1,standalone:!1})}static{this.\u0275prov=x({token:t,factory:t.\u0275fac})}}return t})(),Nr=(()=>{class t{static forRoot(e={}){return{ngModule:t,providers:[e.clock||{provide:ic,useClass:Ak},e.intl||[],e.formatter||{provide:nc,useClass:kk}]}}static forChild(e={}){return{ngModule:t,providers:[e.clock||{provide:ic,useClass:Ak},e.intl||[],e.formatter||{provide:nc,useClass:kk}]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=Ce({type:t})}static{this.\u0275inj=be({})}}return t})();var X5=["overlay"],e8=["*"];function t8(t,n){t&1&&A(0,"div")}function n8(t,n){if(t&1&&(d(0,"div"),T(1,t8,1,0,"div",6),h()),t&2){let e=p(2);Jt(e.spinner.class),on("color",e.spinner.color),f(),g("ngForOf",e.spinner.divArray)}}function i8(t,n){if(t&1&&(A(0,"div",7),te(1,"safeHtml")),t&2){let e=p(2);g("innerHTML",me(1,1,e.template),mi)}}function r8(t,n){if(t&1&&(d(0,"div",2,0),T(2,n8,2,5,"div",3)(3,i8,2,3,"div",4),d(4,"div",5),Cn(5),h()()),t&2){let e=p();on("background-color",e.spinner.bdColor)("z-index",e.spinner.zIndex)("position",e.spinner.fullScreen?"fixed":"absolute"),g("@.disabled",e.disableAnimation)("@fadeIn","in"),f(2),g("ngIf",!e.template),f(),g("ngIf",e.template),f(),on("z-index",e.spinner.zIndex)}}var o8={"ball-8bits":16,"ball-atom":4,"ball-beat":3,"ball-circus":5,"ball-climbing-dot":4,"ball-clip-rotate":1,"ball-clip-rotate-multiple":2,"ball-clip-rotate-pulse":2,"ball-elastic-dots":5,"ball-fall":3,"ball-fussion":4,"ball-grid-beat":9,"ball-grid-pulse":9,"ball-newton-cradle":4,"ball-pulse":3,"ball-pulse-rise":5,"ball-pulse-sync":3,"ball-rotate":1,"ball-running-dots":5,"ball-scale":1,"ball-scale-multiple":3,"ball-scale-pulse":2,"ball-scale-ripple":1,"ball-scale-ripple-multiple":3,"ball-spin":8,"ball-spin-clockwise":8,"ball-spin-clockwise-fade":8,"ball-spin-clockwise-fade-rotating":8,"ball-spin-fade":8,"ball-spin-fade-rotating":8,"ball-spin-rotate":2,"ball-square-clockwise-spin":8,"ball-square-spin":8,"ball-triangle-path":3,"ball-zig-zag":2,"ball-zig-zag-deflect":2,cog:1,"cube-transition":2,fire:3,"line-scale":5,"line-scale-party":5,"line-scale-pulse-out":5,"line-scale-pulse-out-rapid":5,"line-spin-clockwise-fade":8,"line-spin-clockwise-fade-rotating":8,"line-spin-fade":8,"line-spin-fade-rotating":8,pacman:6,"square-jelly-box":2,"square-loader":1,"square-spin":1,timer:1,"triangle-skew-spin":1},jC={BD_COLOR:"rgba(51,51,51,0.8)",SPINNER_COLOR:"#fff",Z_INDEX:99999},HC="primary",sa=class t{constructor(n){Object.assign(this,n)}static create(n){return!n?.template&&!n?.type&&console.warn(`[ngx-spinner]: Property "type" is missed. Please, provide animation type to component + and ensure css is added to angular.json file`),new t(n)}},BC=(()=>{class t{constructor(){this.spinnerObservable=new Ne(null)}getSpinner(e){return this.spinnerObservable.asObservable().pipe(le(i=>i&&i.name===e))}show(e=HC,i){return new Promise((r,o)=>{setTimeout(()=>{i&&Object.keys(i).length?(i.name=e,this.spinnerObservable.next(new sa(Y(E({},i),{show:!0}))),r(!0)):(this.spinnerObservable.next(new sa({name:e,show:!0})),r(!0))},10)})}hide(e=HC,i=10){return new Promise((r,o)=>{setTimeout(()=>{this.spinnerObservable.next(new sa({name:e,show:!1})),r(!0)},i)})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Rk=new U("NGX_SPINNER_CONFIG"),s8=(()=>{class t{constructor(e){this.sanitizer=e}transform(e){return e?this.sanitizer.bypassSecurityTrustHtml(e):""}static{this.\u0275fac=function(i){return new(i||t)(v(Jr,16))}}static{this.\u0275pipe=To({name:"safeHtml",type:t,pure:!0})}}return t})(),Pk=(()=>{class t{constructor(e,i,r,o){this.spinnerService=e,this.changeDetector=i,this.elementRef=r,this.globalConfig=o,this.disableAnimation=!1,this.spinner=new sa,this.ngUnsubscribe=new X,this.setDefaultOptions=()=>{let{type:s}=this.globalConfig??{};this.spinner=sa.create({name:this.name,bdColor:this.bdColor,size:this.size,color:this.color,type:this.type??s,fullScreen:this.fullScreen,divArray:this.divArray,divCount:this.divCount,show:this.show,zIndex:this.zIndex,template:this.template,showSpinner:this.showSpinner})},this.bdColor=jC.BD_COLOR,this.zIndex=jC.Z_INDEX,this.color=jC.SPINNER_COLOR,this.size="large",this.fullScreen=!0,this.name=HC,this.template=null,this.showSpinner=!1,this.divArray=[],this.divCount=0,this.show=!1}initObservable(){this.spinnerService.getSpinner(this.name).pipe(hi(this.ngUnsubscribe)).subscribe(e=>{this.setDefaultOptions(),Object.assign(this.spinner,e),e.show&&this.onInputChange(),this.changeDetector.detectChanges()})}ngOnInit(){this.setDefaultOptions(),this.initObservable()}isSpinnerZone(e){return e===this.elementRef.nativeElement.parentElement?!0:e.parentNode&&this.isSpinnerZone(e.parentNode)}ngOnChanges(e){for(let i in e)if(i){let r=e[i];if(r.isFirstChange())return;typeof r.currentValue<"u"&&r.currentValue!==r.previousValue&&r.currentValue!==""&&(this.spinner[i]=r.currentValue,i==="showSpinner"&&(r.currentValue?this.spinnerService.show(this.spinner.name,this.spinner):this.spinnerService.hide(this.spinner.name)),i==="name"&&this.initObservable())}}getClass(e,i){this.spinner.divCount=o8[e],this.spinner.divArray=Array(this.spinner.divCount).fill(0).map((o,s)=>s);let r="";switch(i.toLowerCase()){case"small":r="la-sm";break;case"medium":r="la-2x";break;case"large":r="la-3x";break;default:break}return"la-"+e+" "+r}onInputChange(){this.spinner.class=this.getClass(this.spinner.type,this.spinner.size)}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}static{this.\u0275fac=function(i){return new(i||t)(v(BC),v(it),v($),v(Rk,8))}}static{this.\u0275cmp=L({type:t,selectors:[["ngx-spinner"]],viewQuery:function(i,r){if(i&1&&Ot(X5,5),i&2){let o;Ge(o=qe())&&(r.spinnerDOM=o.first)}},inputs:{bdColor:"bdColor",size:"size",color:"color",type:"type",fullScreen:"fullScreen",name:"name",zIndex:"zIndex",template:"template",showSpinner:"showSpinner",disableAnimation:"disableAnimation"},features:[xe],ngContentSelectors:e8,decls:1,vars:1,consts:[["overlay",""],["class","ngx-spinner-overlay",3,"background-color","z-index","position",4,"ngIf"],[1,"ngx-spinner-overlay"],[3,"class","color",4,"ngIf"],[3,"innerHTML",4,"ngIf"],[1,"loading-text"],[4,"ngFor","ngForOf"],[3,"innerHTML"]],template:function(i,r){i&1&&(Nn(),T(0,r8,6,12,"div",1)),i&2&&g("ngIf",r.spinner.show)},dependencies:[s8,Me,rt],styles:[".ngx-spinner-overlay[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:100%}.ngx-spinner-overlay[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:not(.loading-text){top:50%;left:50%;margin:0;position:absolute;transform:translate(-50%,-50%)}.loading-text[_ngcontent-%COMP%]{position:absolute;top:60%;left:50%;transform:translate(-50%,-60%)}"],data:{animation:[no("fadeIn",[kr("in",Ct({opacity:1})),ni(":enter",[Ct({opacity:0}),Mn(300)]),ni(":leave",Mn(200,Ct({opacity:0})))])]},changeDetection:0})}}return t})(),Ok=(()=>{class t{static forRoot(e){return{ngModule:t,providers:[{provide:Rk,useValue:e}]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=Ce({type:t})}static{this.\u0275inj=be({})}}return t})();var rc=class t{busyRequestCount=0;spinnerService=S(BC);busy(){this.busyRequestCount++,this.spinnerService.show(void 0,{type:"line-scale-pulse-out-rapid",size:"medium",bdColor:"rgba(247,228,177,0.5)",color:"#008080"})}idle(){this.busyRequestCount--,this.busyRequestCount<=0&&(this.busyRequestCount=0,this.spinnerService.hide())}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};var Lr=class t{baseUrl=Yt.apiUrl;hubUrl=Yt.hubsUrl;http=S(Vn);busyService=S(rc);hubConnection;paginatedResult=ht(null);messageThread=ht([]);getMessage(n,e,i){let r=bl(n,e);return r=r.append("Container",i),this.http.get(this.baseUrl+"messages",{observe:"response",params:r}).subscribe({next:o=>Vs(o,this.paginatedResult)})}getMessageThread(n){return this.http.get(this.baseUrl+"messages/thread/"+n)}sendMessage(n,e){return this.hubConnection?.invoke("SendMessage",{recipientUsername:n,content:e}).catch(i=>console.log(i))}deleteMessage(n){return this.http.delete(this.baseUrl+"messages/"+n)}createHubConnection(n,e){this.busyService.busy(),this.hubConnection=new Bs().withUrl(this.hubUrl+"message?user="+e,{accessTokenFactory:()=>n.token}).withAutomaticReconnect().build(),this.hubConnection.start().catch(i=>console.error(i)).finally(()=>this.busyService.idle()),this.hubConnection.on("ReceiveMessageThread",i=>{this.messageThread.set(i)}),this.hubConnection.on("NewMessage",i=>{this.messageThread.update(r=>[...r,i])}),this.hubConnection.on("UpdatedGroup",i=>{i.connections.some(r=>r.username===e)&&this.messageThread.update(r=>(r.forEach(o=>{o.dateRead||(o.dateRead=new Date(Date.now()))}),r))})}stopHubConnection(){this.hubConnection?.state===Be.Connected&&this.hubConnection.stop().catch(n=>console.log(n))}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};var a8=["messageForm"],l8=["scrollMe"],c8=(t,n)=>n.id;function u8(t,n){t&1&&(d(0,"p"),y(1,"No messages yet"),h())}function d8(t,n){t&1&&(d(0,"span",18),y(1,"(unread)"),h())}function h8(t,n){if(t&1&&(d(0,"span",19),y(1),te(2,"timeago"),h()),t&2){let e=p().$implicit;f(),pe("(read ",me(2,1,e.dateRead),")")}}function f8(t,n){if(t&1&&(d(0,"li")(1,"div")(2,"span",12),A(3,"img",13),h(),d(4,"div",14)(5,"div",15)(6,"small",16)(7,"span",17),y(8),te(9,"timeago"),h(),T(10,d8,2,0,"span",18)(11,h8,3,3,"span",19),h()(),d(12,"p"),y(13),h()()()()),t&2){let e=n.$implicit,i=p(2);f(3),Pt("src",e.senderPhotoUrl||"./assets/user.png",ft),f(5),pe(" ",me(9,5,e.messageSent)," "),f(2),Le(!e.dateRead&&e.senderUsername!==i.username()?10:-1),f(),Le(e.dateRead&&e.senderUsername!==i.username()?11:-1),f(2),H(e.content)}}function p8(t,n){if(t&1&&(d(0,"ul",4,1),Dt(2,f8,14,7,"li",null,c8),h()),t&2){let e=p();f(2),Mt(e.messageThread())}}function m8(t,n){t&1&&A(0,"i",11)}var Fm=class t{messageForm;scrollContainer;messageService=S(Lr);username=Pn.required();messageContent="";loading=!1;ngAfterViewChecked(){this.scrollToBottom()}sendMessage(){this.loading=!0,this.messageService.sendMessage(this.username(),this.messageContent)?.then(()=>{this.messageForm?.reset(),this.scrollToBottom()}).finally(()=>this.loading=!1)}scrollToBottom(){this.scrollContainer&&(this.scrollContainer.nativeElement.scrollTop=this.scrollContainer.nativeElement.scrollHeight)}messageThread(){return this.messageService.messageThread()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-member-messages"]],viewQuery:function(e,i){if(e&1&&(Ot(a8,5),Ot(l8,5)),e&2){let r;Ge(r=qe())&&(i.messageForm=r.first),Ge(r=qe())&&(i.scrollContainer=r.first)}},inputs:{username:[1,"username"]},decls:13,vars:4,consts:[["messageForm","ngForm"],["scrollMe",""],[1,"card"],[1,"car-body"],[1,"chat",2,"overflow-y","auto","overflow-x","hidden","max-height","535px","scroll-behavior","smooth","scrollbar-width","none","-ms-overflow-style","none"],[1,"card-footer"],[3,"ngSubmit"],[1,"input-group"],["name","messageContent","required","","type","text","placeholder","Send a private message",1,"form-control","input-sm",3,"ngModelChange","ngModel"],[1,"input-group-append"],["type","submit",1,"btn","btn-primary",3,"disabled"],[1,"fa","fa-spinner","fa-spin"],[1,"chat-img","float-end"],["alt","Message sender",1,"rounded-circle",3,"src"],[1,"chat-body"],[1,"header"],[1,"text-muted"],[1,"fa","fa-clock-o"],[1,"text-danger"],[1,"text-success"]],template:function(e,i){if(e&1){let r=N();d(0,"div",2)(1,"div",3),T(2,u8,2,0,"p")(3,p8,4,0,"ul",4),h(),d(4,"div",5)(5,"form",6,0),D("ngSubmit",function(){return C(r),w(i.sendMessage())}),d(7,"div",7)(8,"input",8),Pe("ngModelChange",function(s){return C(r),Fe(i.messageContent,s)||(i.messageContent=s),w(s)}),h(),d(9,"div",9)(10,"button",10),y(11," Send "),T(12,m8,1,0,"i",11),h()()()()()()}if(e&2){let r=bt(6);f(2),Le(i.messageThread().length===0?2:3),f(6),Re("ngModel",i.messageContent),f(2),g("disabled",!r.valid),f(2),Le(i.loading?12:-1)}},dependencies:[Nr,Jo,Bn,Di,en,Lt,wi,Lu,Dn,Zi],styles:[".card[_ngcontent-%COMP%]{border:none}.chat[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0}.chat[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-bottom:10px;padding-bottom:10px;border-bottom:1px dotted #B3A9A9}.rounded-circle[_ngcontent-%COMP%]{max-height:50px}"]})};var g8=["memberTabs"];function _8(t,n){t&1&&(d(0,"div",7)(1,"i",20),y(2," Online now "),h()())}function y8(t,n){if(t&1&&A(0,"gallery",17),t&2){let e=p();g("items",e.images)("items",e.images)("itemAutosize",!0)}}var Vm=class t{memberTabs;presenceService=S(Ho);messageService=S(Lr);route=S(Qi);router=S(an);accountService=S(tt);member={};images=[];activeTab;ngOnInit(){this.route.data.subscribe({next:n=>{this.member=n.member,this.member&&this.member.photos.map(e=>{this.images.push(new ud({src:e.url,thumb:e.url}))})}}),this.route.paramMap.subscribe({next:n=>this.onRouteParamsChange()}),this.route.queryParams.subscribe({next:n=>{n.tab&&this.selectTab(n.tab)}})}selectTab(n){if(this.memberTabs){let e=this.memberTabs.tabs.find(i=>i.heading===n);e&&(e.active=!0)}}onRouteParamsChange(){let n=this.accountService.currentUser();n&&this.messageService.hubConnection?.state===Be.Connected&&this.activeTab?.heading==="Messages"&&this.messageService.hubConnection.stop().then(()=>{this.messageService.createHubConnection(n,this.member.username)})}onTabActivated(n){if(this.activeTab=n,this.router.navigate([],{relativeTo:this.route,queryParams:{tab:this.activeTab.heading},queryParamsHandling:"merge"}),this.activeTab.heading=="Messages"){let e=this.accountService.currentUser();if(!e)return;this.messageService.createHubConnection(e,this.member.username)}else this.messageService.stopHubConnection()}ngOnDestroy(){this.messageService.stopHubConnection()}onlineUsers(){return this.presenceService.onlineUsers()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-member-detail"]],viewQuery:function(e,i){if(e&1&&Ot(g8,7),e&2){let r;Ge(r=qe())&&(i.memberTabs=r.first)}},decls:56,vars:20,consts:[["memberTabs",""],["photoTab","tab"],[1,"row"],[1,"col-4"],[1,"card"],[1,"card-img","img-thumbnail",3,"src","alt"],[1,"card-body"],[1,"mb-2"],[1,"card-footer"],[1,"btn-group","d-flex"],[1,"btn","btn-primary"],[1,"btn","btn-primary",3,"click"],[1,"col-8"],[1,"member-tabset"],[3,"selectTab","heading"],["heading","Interests",3,"selectTab"],["heading","Photos",3,"selectTab"],[1,"gallery",3,"items","itemAutosize"],["heading","Messages",3,"selectTab"],[3,"username"],[1,"fa","fa-user-circle","text-success"]],template:function(e,i){if(e&1){let r=N();d(0,"div",2)(1,"div",3)(2,"div",4),A(3,"img",5),d(4,"div",6),T(5,_8,3,0,"div",7),d(6,"div")(7,"strong"),y(8,"Location:"),h(),d(9,"p"),y(10),h()(),d(11,"div")(12,"strong"),y(13,"Age:"),h(),d(14,"p"),y(15),h()(),d(16,"div")(17,"strong"),y(18,"Last Active:"),h(),d(19,"p"),y(20),te(21,"timeago"),h()(),d(22,"div")(23,"strong"),y(24,"Member since:"),h(),d(25,"p"),y(26),te(27,"date"),h()(),d(28,"div",8)(29,"div",9)(30,"button",10),y(31,"Like"),h(),d(32,"button",11),D("click",function(){return C(r),w(i.selectTab("Messages"))}),y(33,"Message"),h()()()()()(),d(34,"div",12)(35,"tabset",13,0)(37,"tab",14),D("selectTab",function(s){return C(r),w(i.onTabActivated(s))}),d(38,"h4"),y(39,"Description"),h(),d(40,"p"),y(41),h(),d(42,"h4"),y(43,"Looking for"),h(),d(44,"p"),y(45),h()(),d(46,"tab",15),D("selectTab",function(s){return C(r),w(i.onTabActivated(s))}),d(47,"h4"),y(48,"Interests"),h(),d(49,"p"),y(50),h()(),d(51,"tab",16,1),D("selectTab",function(s){return C(r),w(i.onTabActivated(s))}),T(53,y8,1,3,"gallery",17),h(),d(54,"tab",18),D("selectTab",function(s){return C(r),w(i.onTabActivated(s))}),A(55,"app-member-messages",19),h()()()()}if(e&2){let r=bt(52);f(3),Pt("src",i.member.photoUrl||"https://th.bing.com/th/id/OIP.PoS7waY4-VeqgNuBSxVUogAAAA?rs=1&pid=ImgDetMain",ft),Pt("alt",i.member.knownAs),f(2),Le(i.onlineUsers().includes(i.member.username)?5:-1),f(5),mr("",i.member.city,", ",i.member.country,""),f(5),H(i.member.age),f(5),H(me(21,15,i.member.lastActive)),f(6),H(Ja(27,17,i.member.created,"dd MMM, yyyy")),f(11),Io("heading","About ",i.member.knownAs,""),f(4),H(i.member.introduction),f(4),H(i.member.lookingFor),f(5),H(i.member.interests),f(3),Le(r.active?53:-1),f(2),g("username",i.member.username)}},dependencies:[Kl,Zl,oa,Tk,VC,Nr,Jo,Zc,Fm],styles:[".img-thumbnail[_ngcontent-%COMP%]{margin:25px;width:85%;height:85%}.card-body[_ngcontent-%COMP%]{padding:0 25px}.card-footer[_ngcontent-%COMP%]{padding:10px 15px;border-top:none}"]})};var v8=(t,n)=>n.id;function b8(t,n){if(t&1&&(d(0,"div",8),A(1,"app-member-card",10),h()),t&2){let e=n.$implicit;f(),g("member",e)}}function C8(t,n){if(t&1){let e=N();d(0,"div",9)(1,"pagination",11),D("pageChanged",function(r){C(e);let o=p();return w(o.pageChange(r))}),Pe("ngModelChange",function(r){let o;C(e);let s=p();return Fe((o=s.paginatedResult())==null?null:o.pagination.currentPage,r)||(((o=s.paginatedResult())==null?null:o.pagination).currentPage=r),w(r)}),h()()}if(t&2){let e,i,r,o=p();f(),g("boundaryLinks",!0)("totalItems",(e=o.paginatedResult())==null?null:e.pagination.totalItems)("itemsPerPage",(i=o.paginatedResult())==null?null:i.pagination.itemsPerPage),Re("ngModel",(r=o.paginatedResult())==null?null:r.pagination.currentPage),g("maxSize",10)}}var jm=class t{likesService=S(Fo);predicate="liked";pageNumber=1;pageSize=5;ngOnInit(){this.loadLikes()}ngOnDestroy(){this.likesService.paginatedResult.set(null)}getTitle(){switch(this.predicate){case"liked":return"Members your like";case"likedBy":return"Members who like you";default:return""}}loadLikes(){this.likesService.getLikes(this.predicate,this.pageNumber,this.pageSize)}pageChange(n){this.pageNumber!=n.page&&(this.pageNumber=n.page,this.loadLikes())}paginatedResult(){return this.likesService.paginatedResult()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-lists"]],decls:16,vars:5,consts:[[1,"text-center","mt-3"],[1,"container","mt-3"],[1,"d-flex"],[1,"btn-group"],["btnRadio","liked",1,"btn","btn-primary",3,"ngModelChange","click","ngModel"],["btnRadio","likedBy",1,"btn","btn-primary",3,"ngModelChange","click","ngModel"],["btnRadio","mutual",1,"btn","btn-primary",3,"ngModelChange","click","ngModel"],[1,"row","mt-3"],[1,"col-2"],[1,"d-flex","justify-content-center"],[3,"member"],["previousText","\u2039","nextText","\u203A","firstText","\xAB","lastText","\xBB",3,"pageChanged","ngModelChange","boundaryLinks","totalItems","itemsPerPage","ngModel","maxSize"]],template:function(e,i){if(e&1&&(d(0,"div",0)(1,"h2"),y(2),h()(),d(3,"div",1)(4,"div",2)(5,"div",3)(6,"button",4),Pe("ngModelChange",function(o){return Fe(i.predicate,o)||(i.predicate=o),o}),D("click",function(){return i.loadLikes()}),y(7,"Members I like"),h(),d(8,"button",5),Pe("ngModelChange",function(o){return Fe(i.predicate,o)||(i.predicate=o),o}),D("click",function(){return i.loadLikes()}),y(9,"Members who like me"),h(),d(10,"button",6),Pe("ngModelChange",function(o){return Fe(i.predicate,o)||(i.predicate=o),o}),D("click",function(){return i.loadLikes()}),y(11,"Mutual"),h()()(),d(12,"div",7),Dt(13,b8,2,1,"div",8,v8),h()(),T(15,C8,2,5,"div",9)),e&2){let r,o;f(2),H(i.getTitle()),f(4),Re("ngModel",i.predicate),f(2),Re("ngModel",i.predicate),f(2),Re("ngModel",i.predicate),f(3),Mt((r=i.paginatedResult())==null?null:r.items),f(2),Le((o=i.paginatedResult())!=null&&o.pagination?15:-1)}},dependencies:[Ql,Ko,Bn,Lt,Dn,Gl,ql,ra],encapsulation:2})};var w8=()=>({tab:"Messages"}),D8=(t,n)=>n.id;function M8(t,n){t&1&&(d(0,"h3",6),y(1,"No messages"),h())}function S8(t,n){if(t&1){let e=N();d(0,"tr",12)(1,"td"),y(2),h(),d(3,"td")(4,"div"),A(5,"img",13),d(6,"strong",14),y(7),h()()(),d(8,"td"),y(9),te(10,"timeago"),h(),d(11,"td",15),D("click",function(r){return C(e),w(r.stopPropagation())}),d(12,"button",16),D("click",function(){let r=C(e).$implicit,o=p(2);return w(o.deleteMessage(r.id))}),y(13,"Delete"),h()()()}if(t&2){let e=n.$implicit,i=p(2);Pt("routerLink",i.getRoute(e)),g("queryParams",Qr(8,w8)),f(2),H(e.content),f(3),g("src",i.isOutbox?e.recipientPhotoUrl||"./assets/user.png":e.senderPhotoUrl||"./assets/user.png",ft),f(2),H(i.isOutbox?e.senderPhotoUrl:e.recipientUsername),f(2),H(me(10,6,e.messageSent))}}function T8(t,n){if(t&1&&(d(0,"table",7)(1,"thead")(2,"tr")(3,"th",9),y(4,"Message"),h(),d(5,"th",10),y(6,"From / To"),h(),d(7,"th",10),y(8,"Sent / Recived"),h(),A(9,"th",10),h()(),d(10,"tbody",11),Dt(11,S8,14,9,"tr",12,D8),h()()),t&2){let e,i=p();f(11),Mt((e=i.paginatedResult())==null?null:e.items)}}function E8(t,n){if(t&1){let e=N();d(0,"div",8)(1,"pagination",17),D("pageChanged",function(r){C(e);let o=p();return w(o.pageChange(r))}),Pe("ngModelChange",function(r){let o;C(e);let s=p();return Fe((o=s.paginatedResult())==null?null:o.pagination.currentPage,r)||(((o=s.paginatedResult())==null?null:o.pagination).currentPage=r),w(r)}),h()()}if(t&2){let e,i,r,o=p();f(),g("boundaryLinks",!0)("totalItems",(e=o.paginatedResult())==null?null:e.pagination.totalItems)("itemsPerPage",(i=o.paginatedResult())==null?null:i.pagination.itemsPerPage),Re("ngModel",(r=o.paginatedResult())==null?null:r.pagination.currentPage),g("maxSize",10)}}var Hm=class t{messageService=S(Lr);container="Inbox";pageNumber=1;pageSize=5;isOutbox=this.container==="Outbox";ngOnInit(){this.loadMessage()}loadMessage(){this.messageService.getMessage(this.pageNumber,this.pageSize,this.container)}getRoute(n){return this.container==="Outbox"?`/members/${n.recipientUsername}`:`/members/${n.senderUsername}`}pageChange(n){this.pageNumber!==n.page&&(this.pageNumber=n.page,this.loadMessage())}deleteMessage(n){this.messageService.deleteMessage(n).subscribe({next:e=>{this.messageService.paginatedResult.update(i=>(i&&i.items&&i.items.splice(i.items.findIndex(r=>r.id==n),1),i))}})}paginatedResult(){return this.messageService.paginatedResult()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-messages"]],decls:12,vars:5,consts:[[1,"container","mt-3"],[1,"d-flex"],[1,"btn-group"],["btnRadio","Unread",1,"btn","btn-primary",3,"ngModelChange","click","ngModel"],["btnRadio","Inbox",1,"btn","btn-primary",3,"ngModelChange","click","ngModel"],["btnRadio","Outbox",1,"btn","btn-primary",3,"ngModelChange","click","ngModel"],[1,"mt-3"],[1,"table","table-hover","mt-3",2,"cursor","pointer"],[1,"d-flex","justify-content-center"],[2,"width","40%"],[2,"width","20%"],[1,"align-middle"],[3,"routerLink","queryParams"],["alt","Image of user",1,"rounded-circle",3,"src"],[2,"margin-left","10px"],[3,"click"],[1,"btn","btn-danger",3,"click"],["previousText","\u2039","nextText","\u203A","firstText","\xAB","lastText","\xBB",3,"pageChanged","ngModelChange","boundaryLinks","totalItems","itemsPerPage","ngModel","maxSize"]],template:function(e,i){if(e&1&&(d(0,"div",0)(1,"div",1)(2,"div",2)(3,"button",3),Pe("ngModelChange",function(o){return Fe(i.container,o)||(i.container=o),o}),D("click",function(){return i.loadMessage()}),y(4,"Unread"),h(),d(5,"button",4),Pe("ngModelChange",function(o){return Fe(i.container,o)||(i.container=o),o}),D("click",function(){return i.loadMessage()}),y(6,"Inbox"),h(),d(7,"button",5),Pe("ngModelChange",function(o){return Fe(i.container,o)||(i.container=o),o}),D("click",function(){return i.loadMessage()}),y(8,"Outbox"),h()()()(),T(9,M8,2,0,"h3",6)(10,T8,13,0,"table",7)(11,E8,2,5,"div",8)),e&2){let r,o;f(3),Re("ngModel",i.container),f(2),Re("ngModel",i.container),f(2),Re("ngModel",i.container),f(2),Le(!((r=i.paginatedResult())!=null&&r.items)||((r=i.paginatedResult())==null||r.items==null?null:r.items.length)===0?9:10),f(2),Le((o=i.paginatedResult())!=null&&o.pagination&&((o=i.paginatedResult())==null||o.pagination==null?null:o.pagination.totalItems)>0?11:-1)}},dependencies:[Ql,Ko,Bn,Lt,Dn,Nr,Jo,Mr,ql,ra],styles:[".rounded-circle[_ngcontent-%COMP%]{max-height:50px}"]})};var Nk=(t,n)=>{let e=S(tt),i=S(nn);return e.currentUser()?!0:(i.error("You are not logged in!"),!1)};function I8(t,n){if(t&1&&(d(0,"li"),y(1),h()),t&2){let e=n.$implicit;f(),H(e)}}function x8(t,n){if(t&1&&(d(0,"div",1)(1,"ul",2),Dt(2,I8,2,1,"li",null,Ka),h()()),t&2){let e=p();f(2),Mt(e.validationErrors)}}var Bm=class t{baseUrl=Yt.apiUrl;http=S(Vn);validationErrors=[];get400Error(){this.http.get(this.baseUrl+"buggy/bad-request").subscribe({next:n=>console.log(n),error:n=>console.log(n)})}get401Error(){this.http.get(this.baseUrl+"buggy/auth").subscribe({next:n=>console.log(n),error:n=>console.log(n)})}get404Error(){this.http.get(this.baseUrl+"buggy/not-found").subscribe({next:n=>console.log(n),error:n=>console.log(n)})}get500Error(){this.http.get(this.baseUrl+"buggy/server-error").subscribe({next:n=>console.log(n),error:n=>console.log(n)})}get400ValidationError(){this.http.post(this.baseUrl+"account/register",{}).subscribe({next:n=>console.log(n),error:n=>{console.log(n),this.validationErrors=n}})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-test-errors"]],decls:12,vars:1,consts:[[1,"btn","btn-outline-primary","m-3",3,"click"],[1,"row","mt-5"],[1,"text-danger"]],template:function(e,i){e&1&&(d(0,"div")(1,"button",0),D("click",function(){return i.get400Error()}),y(2,"Test 400 error"),h(),d(3,"button",0),D("click",function(){return i.get401Error()}),y(4,"Test 401 error"),h(),d(5,"button",0),D("click",function(){return i.get404Error()}),y(6,"Test 404 error"),h(),d(7,"button",0),D("click",function(){return i.get500Error()}),y(8,"Test 500 error"),h(),d(9,"button",0),D("click",function(){return i.get400ValidationError()}),y(10,"Test 400 validation error"),h(),T(11,x8,4,0,"div",1),h()),e&2&&(f(11),Le(i.validationErrors.length>0?11:-1))},encapsulation:2})};var Um=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-not-found"]],decls:5,vars:0,consts:[[1,"container-fluid"],["routerLink","/",1,"btn","btn-info","btn-lg"]],template:function(e,i){e&1&&(d(0,"div",0)(1,"h1"),y(2,"Not found"),h(),d(3,"button",1),y(4,"Return to home page"),h()())},dependencies:[Mr],encapsulation:2})};function k8(t,n){if(t&1&&(d(0,"h5",0),y(1),h(),d(2,"p",1),y(3,"Note: if you are seeing this error then angular is not to blame!"),h(),d(4,"p"),y(5,"What to do next"),h(),d(6,"ol")(7,"li"),y(8,"Open chrom dev tools and check the failing network nequest in the network tab"),h(),d(9,"li"),y(10,"Examine the URL of the failing request"),h(),d(11,"li"),y(12,"Reproduce the error in postman - if you can reporduce the error then angular is not to blame"),h()(),d(13,"p",1),y(14,"Followein the stack trace - check the first 2 lines this tells you exactly whichline of code caused the problem!"),h(),d(15,"code",2),y(16),h()),t&2){let e=p();f(),pe("Error: ",e.error.message,""),f(15),H(e.error.details)}}var $m=class t{constructor(n){this.router=n;let e=this.router.getCurrentNavigation();this.error=e?.extras?.state?.error}error;static \u0275fac=function(e){return new(e||t)(v(an))};static \u0275cmp=L({type:t,selectors:[["app-server-error"]],decls:3,vars:1,consts:[[1,"text-danger"],[1,"font-weight-bold"],[1,"mt-5",2,"background-color","whitesmoke"]],template:function(e,i){e&1&&(d(0,"h4"),y(1,"Internal Server Error"),h(),T(2,k8,17,2)),e&2&&(f(2),Le(i.error?2:-1))},encapsulation:2})};var fd=class{constructor(n){this.rawFile=n;let e=n instanceof HTMLInputElement?n.value:n;this[`_createFrom${typeof e=="string"?"FakePath":"Object"}`](e)}_createFromFakePath(n){this.lastModifiedDate=void 0,this.size=void 0,this.type=`like/${n.slice(n.lastIndexOf(".")+1).toLowerCase()}`,this.name=n.slice(n.lastIndexOf("/")+n.lastIndexOf("\\")+2)}_createFromObject(n){this.size=n.size,this.type=n.type,this.name=n.name}},UC=class{constructor(n,e,i){this.url="/",this.headers=[],this.withCredentials=!0,this.formData=[],this.isReady=!1,this.isUploading=!1,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!1,this.isError=!1,this.progress=0,this.uploader=n,this.some=e,this.options=i,this.file=new fd(e),this._file=e,n.options&&(this.method=n.options.method||"POST",this.alias=n.options.itemAlias||"file"),this.url=n.options.url}upload(){try{this.uploader.uploadItem(this)}catch{this.uploader._onCompleteItem(this,"",0,{}),this.uploader._onErrorItem(this,"",0,{})}}cancel(){this.uploader.cancelItem(this)}remove(){this.uploader.removeFromQueue(this)}onBeforeUpload(){}onBuildForm(n){return{form:n}}onProgress(n){return{progress:n}}onSuccess(n,e,i){return{response:n,status:e,headers:i}}onError(n,e,i){return{response:n,status:e,headers:i}}onCancel(n,e,i){return{response:n,status:e,headers:i}}onComplete(n,e,i){return{response:n,status:e,headers:i}}_onBeforeUpload(){this.isReady=!0,this.isUploading=!0,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!1,this.isError=!1,this.progress=0,this.onBeforeUpload()}_onBuildForm(n){this.onBuildForm(n)}_onProgress(n){this.progress=n,this.onProgress(n)}_onSuccess(n,e,i){this.isReady=!1,this.isUploading=!1,this.isUploaded=!0,this.isSuccess=!0,this.isCancel=!1,this.isError=!1,this.progress=100,this.index=void 0,this.onSuccess(n,e,i)}_onError(n,e,i){this.isReady=!1,this.isUploading=!1,this.isUploaded=!0,this.isSuccess=!1,this.isCancel=!1,this.isError=!0,this.progress=0,this.index=void 0,this.onError(n,e,i)}_onCancel(n,e,i){this.isReady=!1,this.isUploading=!1,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!0,this.isError=!1,this.progress=0,this.index=void 0,this.onCancel(n,e,i)}_onComplete(n,e,i){this.onComplete(n,e,i),this.uploader.options.removeAfterUpload&&this.remove()}_prepareToUploading(){this.index=this.index||++this.uploader._nextIndex,this.isReady=!0}},A8=(()=>{class t{static{this.mime_doc=["application/msword","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-word.document.macroEnabled.12","application/vnd.ms-word.template.macroEnabled.12"]}static{this.mime_xsl=["application/vnd.ms-excel","application/vnd.ms-excel","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.ms-excel.sheet.macroEnabled.12","application/vnd.ms-excel.template.macroEnabled.12","application/vnd.ms-excel.addin.macroEnabled.12","application/vnd.ms-excel.sheet.binary.macroEnabled.12"]}static{this.mime_ppt=["application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/vnd.ms-powerpoint.addin.macroEnabled.12","application/vnd.ms-powerpoint.presentation.macroEnabled.12","application/vnd.ms-powerpoint.presentation.macroEnabled.12","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"]}static{this.mime_psd=["image/photoshop","image/x-photoshop","image/psd","application/photoshop","application/psd","zz-application/zz-winassoc-psd"]}static{this.mime_compress=["application/x-gtar","application/x-gcompress","application/compress","application/x-tar","application/x-rar-compressed","application/octet-stream","application/x-zip-compressed","application/zip-compressed","application/x-7z-compressed","application/gzip","application/x-bzip2"]}static getMimeClass(e){let i="application";return e?.type&&this.mime_psd.indexOf(e.type)!==-1||e?.type?.match("image.*")?i="image":e?.type?.match("video.*")?i="video":e?.type?.match("audio.*")?i="audio":e?.type==="application/pdf"?i="pdf":e?.type&&this.mime_compress.indexOf(e.type)!==-1?i="compress":e?.type&&this.mime_doc.indexOf(e.type)!==-1?i="doc":e?.type&&this.mime_xsl.indexOf(e.type)!==-1?i="xls":e?.type&&this.mime_ppt.indexOf(e.type)!==-1&&(i="ppt"),i==="application"&&e?.name&&(i=this.fileTypeDetection(e.name)),i}static fileTypeDetection(e){let i={jpg:"image",jpeg:"image",tif:"image",psd:"image",bmp:"image",png:"image",nef:"image",tiff:"image",cr2:"image",dwg:"image",cdr:"image",ai:"image",indd:"image",pin:"image",cdp:"image",skp:"image",stp:"image","3dm":"image",mp3:"audio",wav:"audio",wma:"audio",mod:"audio",m4a:"audio",compress:"compress",zip:"compress",rar:"compress","7z":"compress",lz:"compress",z01:"compress",bz2:"compress",gz:"compress",pdf:"pdf",xls:"xls",xlsx:"xls",ods:"xls",mp4:"video",avi:"video",wmv:"video",mpg:"video",mts:"video",flv:"video","3gp":"video",vob:"video",m4v:"video",mpeg:"video",m2ts:"video",mov:"video",doc:"doc",docx:"doc",eps:"doc",txt:"doc",odt:"doc",rtf:"doc",ppt:"ppt",pptx:"ppt",pps:"ppt",ppsx:"ppt",odp:"ppt"},r=e.split(".");if(r.length<2)return"application";let o=r[r.length-1].toLowerCase();return i[o]===void 0?"application":i[o]}}return t})();function R8(t){return File&&t instanceof File}var Ym=class{constructor(n){this.isUploading=!1,this.queue=[],this.progress=0,this._nextIndex=0,this.options={autoUpload:!1,isHTML5:!0,filters:[],removeAfterUpload:!1,disableMultipart:!1,formatDataFunction:e=>e._file,formatDataFunctionIsAsync:!1,url:""},this.setOptions(n),this.response=new O}setOptions(n){this.options=Object.assign(this.options,n),this.authToken=this.options.authToken,this.authTokenHeader=this.options.authTokenHeader||"Authorization",this.autoUpload=this.options.autoUpload,this.options.filters?.unshift({name:"queueLimit",fn:this._queueLimitFilter}),this.options.maxFileSize&&this.options.filters?.unshift({name:"fileSize",fn:this._fileSizeFilter}),this.options.allowedFileType&&this.options.filters?.unshift({name:"fileType",fn:this._fileTypeFilter}),this.options.allowedMimeType&&this.options.filters?.unshift({name:"mimeType",fn:this._mimeTypeFilter});for(let e=0;e{r||(r=this.options);let u=new fd(c);if(this._isValidFile(u,s,r)){let m=new UC(this,c,r);l.push(m),this.queue.push(m),this._onAfterAddingFile(m)}else if(typeof this._failFilterIndex=="number"&&this._failFilterIndex>=0){let m=s[this._failFilterIndex];this._onWhenAddingFileFailed(u,m,r)}}),this.queue.length!==a&&(this._onAfterAddingAll(l),this.progress=this._getTotalProgress()),this._render(),this.options.autoUpload&&this.uploadAll()}removeFromQueue(n){let e=this.getIndexOfItem(n),i=this.queue[e];i.isUploading&&i.cancel(),this.queue.splice(e,1),this.progress=this._getTotalProgress()}clearQueue(){for(;this.queue.length;)this.queue[0].remove();this.progress=0}uploadItem(n){let e=this.getIndexOfItem(n),i=this.queue[e],r=this.options.isHTML5?"_xhrTransport":"_iframeTransport";i._prepareToUploading(),!this.isUploading&&(this.isUploading=!0,this[r](i))}cancelItem(n){let e=this.getIndexOfItem(n),i=this.queue[e],r=this.options.isHTML5?i._xhr:i._form;i&&i.isUploading&&r.abort()}uploadAll(){let n=this.getNotUploadedItems().filter(e=>!e.isUploading);n.length&&(n.map(e=>e._prepareToUploading()),n[0].upload())}cancelAll(){this.getNotUploadedItems().map(e=>e.cancel())}isFile(n){return R8(n)}isFileLikeObject(n){return n instanceof fd}getIndexOfItem(n){return typeof n=="number"?n:this.queue.indexOf(n)}getNotUploadedItems(){return this.queue.filter(n=>!n.isUploaded)}getReadyItems(){return this.queue.filter(n=>n.isReady&&!n.isUploading).sort((n,e)=>n.index-e.index)}onAfterAddingAll(n){return{fileItems:n}}onBuildItemForm(n,e){return{fileItem:n,form:e}}onAfterAddingFile(n){return{fileItem:n}}onWhenAddingFileFailed(n,e,i){return{item:n,filter:e,options:i}}onBeforeUploadItem(n){return{fileItem:n}}onProgressItem(n,e){return{fileItem:n,progress:e}}onProgressAll(n){return{progress:n}}onSuccessItem(n,e,i,r){return{item:n,response:e,status:i,headers:r}}onErrorItem(n,e,i,r){return{item:n,response:e,status:i,headers:r}}onCancelItem(n,e,i,r){return{item:n,response:e,status:i,headers:r}}onCompleteItem(n,e,i,r){return{item:n,response:e,status:i,headers:r}}onCompleteAll(){}_mimeTypeFilter(n){return!(n?.type&&this.options.allowedMimeType&&this.options.allowedMimeType?.indexOf(n.type)===-1)}_fileSizeFilter(n){return!(this.options.maxFileSize&&n.size>this.options.maxFileSize)}_fileTypeFilter(n){return!(this.options.allowedFileType&&this.options.allowedFileType.indexOf(A8.getMimeClass(n))===-1)}_onErrorItem(n,e,i,r){n._onError(e,i,r),this.onErrorItem(n,e,i,r)}_onCompleteItem(n,e,i,r){n._onComplete(e,i,r),this.onCompleteItem(n,e,i,r);let o=this.getReadyItems()[0];if(this.isUploading=!1,o){o.upload();return}this.onCompleteAll(),this.progress=this._getTotalProgress(),this._render()}_headersGetter(n){return e=>e?n[e.toLowerCase()]||void 0:n}_xhrTransport(n){let e=this,i=n._xhr=new XMLHttpRequest,r;if(this._onBeforeUploadItem(n),typeof n._file.size!="number")throw new TypeError("The file specified is no longer valid");if(this.options.disableMultipart)this.options.formatDataFunction&&(r=this.options.formatDataFunction(n));else{r=new FormData,this._onBuildItemForm(n,r);let o=()=>r.append(n.alias,n._file,n.file.name);this.options.parametersBeforeFiles||o(),this.options.additionalParameter!==void 0&&Object.keys(this.options.additionalParameter).forEach(s=>{let a=this.options.additionalParameter?.[s];typeof a=="string"&&a.indexOf("{{file_name}}")>=0&&n.file?.name&&(a=a.replace("{{file_name}}",n.file.name)),r.append(s,a)}),o&&this.options.parametersBeforeFiles&&o()}if(i.upload.onprogress=o=>{let s=Math.round(o.lengthComputable?o.loaded*100/o.total:0);this._onProgressItem(n,s)},i.onload=()=>{let o=this._parseHeaders(i.getAllResponseHeaders()),s=this._transformResponse(i.response),l=`_on${this._isSuccessCode(i.status)?"Success":"Error"}Item`;this[l](n,s,i.status,o),this._onCompleteItem(n,s,i.status,o)},i.onerror=()=>{let o=this._parseHeaders(i.getAllResponseHeaders()),s=this._transformResponse(i.response);this._onErrorItem(n,s,i.status,o),this._onCompleteItem(n,s,i.status,o)},i.onabort=()=>{let o=this._parseHeaders(i.getAllResponseHeaders()),s=this._transformResponse(i.response);this._onCancelItem(n,s,i.status,o),this._onCompleteItem(n,s,i.status,o)},n.method&&n.url&&i.open(n.method,n.url,!0),i.withCredentials=n.withCredentials,this.options.headers)for(let o of this.options.headers)i.setRequestHeader(o.name,o.value);if(n.headers.length)for(let o of n.headers)i.setRequestHeader(o.name,o.value);this.authToken&&this.authTokenHeader&&i.setRequestHeader(this.authTokenHeader,this.authToken),i.onreadystatechange=function(){i.readyState==XMLHttpRequest.DONE&&e.response.emit(i.responseText)},this.options.formatDataFunctionIsAsync?r.then(o=>i.send(JSON.stringify(o))):i.send(r),this._render()}_getTotalProgress(n=0){if(this.options.removeAfterUpload)return n;let e=this.getNotUploadedItems().length,i=e?this.queue.length-e:this.queue.length,r=100/this.queue.length,o=n*r/100;return Math.round(i*r+o)}_getFilters(n){if(!n)return this.options?.filters||[];if(Array.isArray(n))return n;if(typeof n=="string"){let e=n.match(/[^\s,]+/g);return this.options?.filters||[].filter(i=>e?.indexOf(i.name)!==-1)}return this.options?.filters||[]}_render(){}_queueLimitFilter(){return this.options.queueLimit===void 0||this.queue.length(typeof this._failFilterIndex=="number"&&this._failFilterIndex++,r.fn.call(this,n,i))):!0}_isSuccessCode(n){return n>=200&&n<300||n===304}_transformResponse(n){return n}_parseHeaders(n){let e={},i,r,o;return n&&n.split(` +`).map(s=>{o=s.indexOf(":"),i=s.slice(0,o).trim().toLowerCase(),r=s.slice(o+1).trim(),i&&(e[i]=e[i]?e[i]+", "+r:r)}),e}_onWhenAddingFileFailed(n,e,i){this.onWhenAddingFileFailed(n,e,i)}_onAfterAddingFile(n){this.onAfterAddingFile(n)}_onAfterAddingAll(n){this.onAfterAddingAll(n)}_onBeforeUploadItem(n){n._onBeforeUpload(),this.onBeforeUploadItem(n)}_onBuildItemForm(n,e){n._onBuildForm(e),this.onBuildItemForm(n,e)}_onProgressItem(n,e){let i=this._getTotalProgress(e);this.progress=i,n._onProgress(e),this.onProgressItem(n,e),this.onProgressAll(i),this._render()}_onSuccessItem(n,e,i,r){n._onSuccess(e,i,r),this.onSuccessItem(n,e,i,r)}_onCancelItem(n,e,i,r){n._onCancel(e,i,r),this.onCancelItem(n,e,i,r)}},Lk=(()=>{class t{constructor(e){this.fileOver=new O,this.onFileDrop=new O,this.element=e}getOptions(){return this.uploader?.options}getFilters(){return""}onDrop(e){let i=this._getTransfer(e);if(!i)return;let r=this.getOptions(),o=this.getFilters();this._preventAndStop(e),r&&this.uploader?.addToQueue(i.files,r,o),this.fileOver.emit(!1),this.onFileDrop.emit(i.files)}onDragOver(e){let i=this._getTransfer(e);this._haveFiles(i.types)&&(i.dropEffect="copy",this._preventAndStop(e),this.fileOver.emit(!0))}onDragLeave(e){this.element&&e.currentTarget===this.element[0]||(this._preventAndStop(e),this.fileOver.emit(!1))}_getTransfer(e){return e.dataTransfer?e.dataTransfer:e.originalEvent.dataTransfer}_preventAndStop(e){e.preventDefault(),e.stopPropagation()}_haveFiles(e){return e?e.indexOf?e.indexOf("Files")!==-1:e.contains?e.contains("Files"):!1:!1}static{this.\u0275fac=function(i){return new(i||t)(v($))}}static{this.\u0275dir=B({type:t,selectors:[["","ng2FileDrop",""]],hostBindings:function(i,r){i&1&&D("drop",function(s){return r.onDrop(s)})("dragover",function(s){return r.onDragOver(s)})("dragleave",function(s){return r.onDragLeave(s)})},inputs:{uploader:"uploader"},outputs:{fileOver:"fileOver",onFileDrop:"onFileDrop"},standalone:!1})}}return t})();var Fk=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=Ce({type:t})}static{this.\u0275inj=be({imports:[ot]})}}return t})();var O8=t=>({"nv-file-over":t}),N8=t=>({"bg-white bg-opacity-25":t}),L8=t=>({width:t});function F8(t,n){t&1&&(d(0,"div",21),y(1," Awaiting approval "),h())}function V8(t,n){if(t&1){let e=N();d(0,"span",22),y(1),d(2,"button",23),D("click",function(){let r=C(e).$implicit,o=p().$implicit,s=p();return w(s.removeTagFromPhoto(o,r))}),A(3,"i",24),h()()}if(t&2){let e=n.$implicit;f(),pe(" ",e," ")}}function j8(t,n){if(t&1){let e=N();d(0,"div",29)(1,"input",30),D("change",function(){let r=C(e).$implicit,o=p(4);return w(o.toggleTagSelection(r))}),h(),d(2,"label",31),y(3),h()()}if(t&2){let e=n.$implicit,i=p(3).$implicit,r=p();f(),g("id",e+"-"+i.id)("checked",r.selectedTagNames.includes(e))("disabled",i.tags==null?null:i.tags.includes(e)),f(),g("for",e+"-"+i.id),f(),pe(" ",e," ")}}function H8(t,n){if(t&1){let e=N();d(0,"div")(1,"div",26),T(2,j8,4,5,"div",27),h(),d(3,"button",28),D("click",function(){C(e);let r=p(2).$implicit,o=p();return w(o.submitTagsForPhoto(r))}),y(4," Save Tags "),h()()}if(t&2){let e=p(3);f(2),g("ngForOf",e.availableTags)}}function B8(t,n){t&1&&(d(0,"span"),y(1,"Loading tags..."),h())}function U8(t,n){if(t&1&&(d(0,"div",18),T(1,H8,5,1,"div",25)(2,B8,2,0,"ng-template",null,0,wn),h()),t&2){let e=bt(3),i=p(2);f(),g("ngIf",i.availableTags.length)("ngIfElse",e)}}function $8(t,n){if(t&1){let e=N();d(0,"div",8)(1,"div",9),A(2,"img",10),T(3,F8,2,0,"div",11),h(),d(4,"div",12)(5,"button",13),D("click",function(){let r=C(e).$implicit,o=p();return w(o.setMainPhoto(r))}),y(6," Main "),h(),d(7,"button",14),D("click",function(){let r=C(e).$implicit,o=p();return w(o.deletePhoto(r))}),A(8,"i",15),h()(),d(9,"div",16),T(10,V8,4,1,"span",17),h(),d(11,"div",18)(12,"button",19),D("click",function(){let r=C(e).$implicit,o=p();return w(o.openTagEditor(r))}),y(13),h(),T(14,U8,4,2,"div",20),h()()}if(t&2){let e=n.$implicit,i=p();f(2),g("ngClass",gr(9,N8,!e.isApproved))("src",e.url,ft),f(),g("ngIf",!e.isApproved),f(2),g("disabled",e.isMain)("ngClass",e.isMain?"btn-success active":"btn-outline-success"),f(2),g("disabled",e.isMain),f(3),g("ngForOf",e.tags),f(3),pe(" ",i.editingPhotoId===e.id?"Close tag editor":"Edit photo tags"," "),f(),g("ngIf",i.editingPhotoId===e.id)}}function Y8(t,n){if(t&1&&(d(0,"td",44),y(1),te(2,"number"),h()),t&2){let e=p().$implicit;f(),pe(" ",Ja(2,1,(e==null||e.file==null?null:e.file.size)/1024/1024,".2")," MB ")}}function z8(t,n){if(t&1&&(d(0,"tr")(1,"td")(2,"strong"),y(3),h()(),T(4,Y8,3,4,"td",43),h()),t&2){let e=n.$implicit,i=p(2);f(3),H(e==null||e.file==null?null:e.file.name),f(),g("ngIf",i.uploader==null||i.uploader.options==null?null:i.uploader.options.isHTML5)}}function W8(t,n){if(t&1){let e=N();d(0,"div",32)(1,"h3"),y(2,"Upload queue"),h(),d(3,"p"),y(4),h(),d(5,"table",33)(6,"thead")(7,"tr")(8,"th",34),y(9,"Name"),h(),d(10,"th"),y(11,"Size"),h()()(),d(12,"tbody"),T(13,z8,5,2,"tr",35),h()(),d(14,"div")(15,"div"),y(16," Queue progress: "),d(17,"div",36),A(18,"div",37),h()(),d(19,"button",38),D("click",function(){C(e);let r=p();return w(r.uploader==null?null:r.uploader.uploadAll())}),A(20,"span",39),y(21," Upload all "),h(),d(22,"button",40),D("click",function(){C(e);let r=p();return w(r.uploader==null?null:r.uploader.cancelAll())}),A(23,"span",41),y(24," Cancel all "),h(),d(25,"button",42),D("click",function(){C(e);let r=p();return w(r.uploader==null?null:r.uploader.clearQueue())}),A(26,"span",15),y(27," Remove all "),h()()()}if(t&2){let e,i=p();f(4),pe("Queue length: ",i.uploader==null||i.uploader.queue==null?null:i.uploader.queue.length,""),f(9),g("ngForOf",i.uploader==null?null:i.uploader.queue),f(5),g("ngStyle",gr(6,L8,(i.uploader==null?null:i.uploader.progress)+"%")),f(),g("disabled",!(!(i.uploader==null||(e=i.uploader.getNotUploadedItems())==null)&&e.length)),f(3),g("disabled",!(i.uploader!=null&&i.uploader.isUploading)),f(3),g("disabled",!(!(i.uploader==null||i.uploader.queue==null)&&i.uploader.queue.length))}}var zm=class t{memberService=S(Pr);accountService=S(tt);toastService=S(nn);member=Pn.required();userPhotos=[];uploader;hasBaseDropZoneOver=!1;baseUrl=Yt.apiUrl;memberChange=Jh();editingPhotoId=null;selectedTagNames=[];availableTags=[];ngOnInit(){this.member().photoUrl||(this.member().photoUrl="https://th.bing.com/th/id/OIP.PoS7waY4-VeqgNuBSxVUogAAAA?rs=1&pid=ImgDetMain"),this.initializeUploader(),this.getUserPhotos()}fileOverBase(n){this.hasBaseDropZoneOver=n}deletePhoto(n){this.memberService.deletePhoto(n).subscribe({next:e=>{let i=E({},this.member());i.photos=i.photos.filter(r=>r.id!==n.id),this.memberChange.emit(i)}})}getUserPhotos(){this.memberService.getPhotosWithTags().subscribe({next:n=>{this.userPhotos=n}})}setMainPhoto(n){this.memberService.setMainPhoto(n).subscribe({next:e=>{let i=this.accountService.currentUser();i&&(i.photoUrl=n.url,this.accountService.setCurrentUser(i));let r=E({},this.member());r.photoUrl=n.url,r.photos.forEach(o=>{o.isMain&&(o.isMain=!1),o.id===n.id&&(o.isMain=!0)}),this.memberChange.emit(r)}})}initializeUploader(){this.uploader=new Ym({url:this.baseUrl+"users/add-photo",authToken:"Bearer "+this.accountService.currentUser()?.token,isHTML5:!0,allowedFileType:["image"],removeAfterUpload:!0,autoUpload:!1,maxFileSize:1*1024*1024}),this.uploader.onAfterAddingFile=n=>{n.withCredentials=!1},this.uploader.onSuccessItem=(n,e,i,r)=>{let o=JSON.parse(e),s=E({},this.member());if(s.photos.push(o),this.memberChange.emit(s),o.isMain){let a=this.accountService.currentUser();a&&(a.photoUrl=o.url,this.accountService.setCurrentUser(a)),s.photoUrl=o.url,s.photos.forEach(l=>{l.isMain&&(l.isMain=!1),l.id===o.id&&(l.isMain=!0)}),this.memberChange.emit(s)}}}trackPhoto(n,e){return e.id}loadAvailableTags(){this.memberService.getAllTags().subscribe({next:n=>this.availableTags=n,error:n=>console.error("Failed to load tags",n)})}openTagEditor(n){if(this.editingPhotoId===n.id){this.editingPhotoId=null,this.selectedTagNames=[];return}this.editingPhotoId=n.id,this.selectedTagNames=n.tags?[...n.tags]:[],this.availableTags.length||(this.loadAvailableTags(),console.log(this.availableTags))}toggleTagEditor(n){this.editingPhotoId===n?this.editingPhotoId=null:this.editingPhotoId=n}toggleTagSelection(n){let e=this.selectedTagNames.indexOf(n);e>-1?this.selectedTagNames.splice(e,1):this.selectedTagNames.push(n)}removeTagFromPhoto(n,e){let i=n.tags?.filter(r=>r!==e)||[];this.memberService.addTagToPhoto(n.id,i).subscribe({next:()=>{this.toastService.success("Tag removed successfully"),n.tags=i;let r=this.member().photos.findIndex(o=>o.id===n.id);r>-1&&(this.member().photos[r].tags=[...i]),this.memberChange.emit(Y(E({},this.member()),{photos:[...this.member().photos]}))},error:r=>{this.toastService.error("Failed to remove tag"),console.error(r)}})}submitTagsForPhoto(n){this.memberService.addTagToPhoto(n.id,this.selectedTagNames).subscribe({next:()=>{this.toastService.success("Tags updated successfully");let e=this.userPhotos.findIndex(r=>r.id===n.id);e>-1&&(this.userPhotos[e].tags=[...this.selectedTagNames]);let i=this.member().photos.findIndex(r=>r.id===n.id);i>-1&&(this.member().photos[i].tags=[...this.selectedTagNames]),this.memberChange.emit(Y(E({},this.member()),{photos:[...this.member().photos]})),this.editingPhotoId=null,this.selectedTagNames=[]},error:e=>{this.toastService.error("Failed to update tags"),console.error(e)}})}getAllTags(){this.memberService.getAllTags().subscribe({next:n=>{this.availableTags=n,console.log("Available tags:",this.availableTags),console.log(n)},error:n=>{console.error("Failed to load tags",n)}})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-photo-editor"]],inputs:{member:[1,"member"]},outputs:{memberChange:"memberChange"},decls:10,vars:7,consts:[["loadingTags",""],[1,"row"],["class","col-3 card m-2 p-4",4,"ngFor","ngForOf","ngForTrackBy"],[1,"row","mt-5"],[1,"col-md-3"],["ng2FileDrop","",1,"card","bg-faded","p-5","text-center","my-drop-zone",3,"fileOver","ngClass","uploader"],[1,"fa","fa-upload","fa-3x"],["class","col-md-9 upload-div",4,"ngIf"],[1,"col-3","card","m-2","p-4"],[1,"position-relative","align-items-center","d-inline-block"],["alt","photo of user",1,"img-thumbnail","mb-1",3,"ngClass","src"],["class","position-absolute top-50 start-50 translate-middle text-white bg-danger bg-opacity-75 px-2 py-1 rounded",4,"ngIf"],[1,"text-center"],[1,"btn","btn-sm","me-1",3,"click","disabled","ngClass"],[1,"btn","btn-danger","btn-sm",3,"click","disabled"],[1,"fa","fa-trash"],[1,"d-flex","mt-2","flex-wrap","gap-1"],["class","badge bg-secondary text-white d-flex align-items-center",4,"ngFor","ngForOf"],[1,"mt-2"],[1,"btn","btn-primary",3,"click"],["class","mt-2",4,"ngIf"],[1,"position-absolute","top-50","start-50","translate-middle","text-white","bg-danger","bg-opacity-75","px-2","py-1","rounded"],[1,"badge","bg-secondary","text-white","d-flex","align-items-center"],["type","button","title","Remove tag",1,"btn","btn-link","btn-sm","p-0","ms-1",3,"click"],[1,"fa","fa-trash","text-danger"],[4,"ngIf","ngIfElse"],[1,"d-flex","flex-wrap","gap-2","border","rounded","p-2","mb-2",2,"max-height","120px","overflow-y","auto"],["class","form-check me-3",4,"ngFor","ngForOf"],[1,"btn","btn-success","btn-sm","mt-2",3,"click"],[1,"form-check","me-3"],["type","checkbox",1,"form-check-input",3,"change","id","checked","disabled"],[1,"form-check-label","ms-1",3,"for"],[1,"col-md-9","upload-div"],[1,"table"],["width","50%"],[4,"ngFor","ngForOf"],[1,"progress"],["role","progressbar",1,"progress-bar",3,"ngStyle"],["type","button",1,"btn","btn-success","btn-s",3,"click","disabled"],[1,"fa","fa-upload"],["type","button",1,"btn","btn-warning","btn-s",3,"click","disabled"],[1,"fa","fa-ban"],["type","button",1,"btn","btn-danger","btn-s",3,"click","disabled"],["nowrap","",4,"ngIf"],["nowrap",""]],template:function(e,i){e&1&&(d(0,"div",1),T(1,$8,15,11,"div",2),h(),d(2,"div",3)(3,"div",4)(4,"h3"),y(5,"Add photos"),h(),d(6,"div",5),D("fileOver",function(o){return i.fileOverBase(o)}),A(7,"i",6),y(8," Drop photos here "),h()(),T(9,W8,28,8,"div",7),h()),e&2&&(f(),g("ngForOf",i.userPhotos)("ngForTrackBy",i.trackPhoto),f(5),g("ngClass",gr(5,O8,i.hasBaseDropZoneOver))("uploader",i.uploader),f(3),g("ngIf",i.uploader==null||i.uploader.queue==null?null:i.uploader.queue.length))},dependencies:[Me,rt,e0,sn,Fk,Lk,n0],styles:[".nv-file-over[_ngcontent-%COMP%]{border:dotted 3px red}"]})};var G8=["editForm"];function q8(t,n){t&1&&(d(0,"div",4)(1,"p")(2,"strong"),y(3,"Information: "),h(),y(4," You have made changes. Any unsaved changes will be lost "),h()())}function Q8(t,n){if(t&1){let e=N();d(0,"div",1)(1,"div",2)(2,"h1"),y(3,"Your profile"),h()(),d(4,"div",3),T(5,q8,5,0,"div",4),h(),d(6,"div",2)(7,"div",5),A(8,"img",6),d(9,"div",7)(10,"div")(11,"strong"),y(12,"Location:"),h(),d(13,"p"),y(14),h()(),d(15,"div")(16,"strong"),y(17,"Age:"),h(),d(18,"p"),y(19),h()(),d(20,"div")(21,"strong"),y(22,"Last Active:"),h(),d(23,"p"),y(24),te(25,"timeago"),h()(),d(26,"div")(27,"strong"),y(28,"Member since:"),h(),d(29,"p"),y(30),te(31,"date"),h()(),d(32,"div",8)(33,"button",9),y(34,"Save changes "),h()()()()(),d(35,"div",3)(36,"tabset",10)(37,"tab",11)(38,"form",12,0),D("ngSubmit",function(){C(e);let r=p();return w(r.updateMember())}),d(40,"h4",13),y(41,"Description"),h(),d(42,"textarea",14),Pe("ngModelChange",function(r){C(e);let o=p();return Fe(o.member.introduction,r)||(o.member.introduction=r),w(r)}),y(43," "),h(),d(44,"h4",13),y(45,"Looking for"),h(),d(46,"textarea",15),Pe("ngModelChange",function(r){C(e);let o=p();return Fe(o.member.lookingFor,r)||(o.member.lookingFor=r),w(r)}),y(47," "),h(),d(48,"h4",13),y(49,"Interests"),h(),d(50,"textarea",16),Pe("ngModelChange",function(r){C(e);let o=p();return Fe(o.member.interests,r)||(o.member.interests=r),w(r)}),y(51," "),h(),d(52,"h4",13),y(53,"Location details"),h(),d(54,"div",17)(55,"label"),y(56,"City: "),h(),d(57,"input",18),Pe("ngModelChange",function(r){C(e);let o=p();return Fe(o.member.city,r)||(o.member.city=r),w(r)}),h(),d(58,"label"),y(59,"Country: "),h(),d(60,"input",19),Pe("ngModelChange",function(r){C(e);let o=p();return Fe(o.member.country,r)||(o.member.country=r),w(r)}),h()()()(),d(61,"tab",20)(62,"app-photo-editor",21),D("memberChange",function(r){C(e);let o=p();return w(o.onMemberChange(r))}),h()()()()()}if(t&2){let e=bt(39),i=p();f(5),Le(e.dirty?5:-1),f(3),Pt("src",i.member.photoUrl,ft),Pt("alt",i.member.knownAs),f(6),mr("",i.member.city,", ",i.member.country,""),f(5),H(i.member.age),f(5),pe("",me(25,17,i.member.lastActive)," "),f(6),H(Ja(31,19,i.member.created,"dd MMM, yyyy")),f(3),g("disabled",!e.dirty),f(4),Io("heading","About ",i.member.knownAs,""),f(5),Re("ngModel",i.member.introduction),f(4),Re("ngModel",i.member.lookingFor),f(4),Re("ngModel",i.member.interests),f(7),Re("ngModel",i.member.city),f(3),Re("ngModel",i.member.country),f(2),g("member",i.member)}}var Wm=class t{editForm;notify(n){this.editForm?.dirty&&(n.returnValue=!0)}member;accountService=S(tt);memberService=S(Pr);toastr=S(nn);ngOnInit(){this.loadMember()}loadMember(){let n=this.accountService.currentUser();n&&this.memberService.getMember(n.username).subscribe(e=>{this.member=e})}updateMember(){this.memberService.updateMember(this.editForm?.value).subscribe({next:()=>{this.toastr.success("Profile updated successfully!"),this.editForm?.reset(this.member)}}),this.toastr.success("Profile updated successfully!"),this.editForm?.reset(this.member)}onMemberChange(n){this.member=n}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-member-edit"]],viewQuery:function(e,i){if(e&1&&Ot(G8,5),e&2){let r;Ge(r=qe())&&(i.editForm=r.first)}},hostBindings:function(e,i){e&1&&D("beforeunload",function(o){return i.notify(o)},!1,Hc)},decls:1,vars:1,consts:[["editForm","ngForm"],[1,"row"],[1,"col-4"],[1,"col-8"],[1,"alert","pb-1","alert-info"],[1,"card"],[1,"card-img","img-thumbnail",3,"src","alt"],[1,"card-body"],[1,"card-footer"],["form","editForm","type","submit",1,"btn","btn-success","col-12",3,"disabled"],[1,"member-tabset"],[3,"heading"],["id","editForm",3,"ngSubmit"],[1,"mt-2",2,"color","black"],["name","introduction","rows","6",1,"form-control",3,"ngModelChange","ngModel"],["name","lookingFor","rows","6",1,"form-control",3,"ngModelChange","ngModel"],["name","interests","rows","6",1,"form-control",3,"ngModelChange","ngModel"],[1,"d-flex","align-items-center"],["type","text","name","city",1,"form-control","mx-2",3,"ngModelChange","ngModel"],["type","text","name","country",1,"form-control","mx-2",3,"ngModelChange","ngModel"],["heading","Edit photos"],[3,"memberChange","member"]],template:function(e,i){e&1&&T(0,Q8,63,22,"div",1),e&2&&Le(i.member?0:-1)},dependencies:[Kl,Zl,oa,Bn,Di,en,Lt,wi,Dn,Zi,zm,Zc,Nr,Jo],styles:[".img-thumbnail[_ngcontent-%COMP%]{margin:25px;width:85%;height:85%}.card-body[_ngcontent-%COMP%]{padding:0 25px}.card-footer[_ngcontent-%COMP%]{padding:10px 15px;border-top:none}"]})};function Vk(t){return t!=null&&`${t}`!="false"}var $C;try{$C=typeof Intl<"u"&&Intl.v8BreakIterator}catch{$C=!1}var Hk=(()=>{class t{constructor(e){this._platformId=e,this.isBrowser=this._platformId?xs(this._platformId):typeof document=="object"&&!!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||$C)&&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}static{this.\u0275fac=function(i){return new(i||t)(F(Qn))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Bk=(()=>{class t{constructor(e){this._platform=e}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return K8(e)&&getComputedStyle(e).visibility==="visible"}isTabbable(e){if(!this._platform.isBrowser)return!1;let i=Z8(oG(e));if(i&&(jk(i)===-1||!this.isVisible(i)))return!1;let r=e.nodeName.toLowerCase(),o=jk(e);return e.hasAttribute("contenteditable")?o!==-1:r==="iframe"||r==="object"||this._platform.WEBKIT&&this._platform.IOS&&!iG(e)?!1:r==="audio"?e.hasAttribute("controls")?o!==-1:!1:r==="video"?o===-1?!1:o!==null?!0:this._platform.FIREFOX||e.hasAttribute("controls"):e.tabIndex>=0}isFocusable(e,i){return rG(e)&&!this.isDisabled(e)&&(i?.ignoreVisibility||this.isVisible(e))}static{this.\u0275fac=function(i){return new(i||t)(F(Hk))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Z8(t){try{return t.frameElement}catch{return null}}function K8(t){return!!(t.offsetWidth||t.offsetHeight||typeof t.getClientRects=="function"&&t.getClientRects().length)}function J8(t){let n=t.nodeName.toLowerCase();return n==="input"||n==="select"||n==="button"||n==="textarea"}function X8(t){return tG(t)&&t.type=="hidden"}function eG(t){return nG(t)&&t.hasAttribute("href")}function tG(t){return t.nodeName.toLowerCase()=="input"}function nG(t){return t.nodeName.toLowerCase()=="a"}function Uk(t){if(!t.hasAttribute("tabindex")||t.tabIndex===void 0)return!1;let n=t.getAttribute("tabindex");return n=="-32768"?!1:!!(n&&!isNaN(parseInt(n,10)))}function jk(t){if(!Uk(t))return null;let n=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(n)?-1:n}function iG(t){let n=t.nodeName.toLowerCase(),e=n==="input"&&t.type;return e==="text"||e==="password"||n==="select"||n==="textarea"}function rG(t){return X8(t)?!1:J8(t)||eG(t)||t.hasAttribute("contenteditable")||Uk(t)}function oG(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}var sG=(()=>{class t{constructor(){this._focusTrapStack=[]}register(e){this._focusTrapStack=this._focusTrapStack.filter(r=>r!==e);let i=this._focusTrapStack;i.length&&i[i.length-1]._disable(),i.push(e),e._enable()}deregister(e){e._disable();let i=this._focusTrapStack,r=i.indexOf(e);r!==-1&&(i.splice(r,1),i.length&&i[i.length-1]._enable())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var YC=class{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,r,o=!1){this._element=n,this._checker=e,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,o||this.attachAnchors()}destroy(){let n=this._startAnchor,e=this._endAnchor;n&&(n.removeEventListener("focus",this.startAnchorListener),n.parentNode&&n.parentNode.removeChild(n)),e&&(e.removeEventListener("focus",this.endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return this._hasAttached?!0:(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(){return new Promise(n=>{this._executeOnStable(()=>n(this.focusInitialElement()))})}focusFirstTabbableElementWhenReady(){return new Promise(n=>{this._executeOnStable(()=>n(this.focusFirstTabbableElement()))})}focusLastTabbableElementWhenReady(){return new Promise(n=>{this._executeOnStable(()=>n(this.focusLastTabbableElement()))})}_getRegionBoundary(n){let e=this._element.querySelectorAll(`[cdk-focus-region-${n}], [cdkFocusRegion${n}], [cdk-focus-${n}]`);for(let i=0;i=0;i--){let r=e[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[i]):null;if(r)return r}return null}_createAnchor(){let 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(yt(1)).subscribe(n)}},aG=(()=>{class t{constructor(e,i,r){this._checker=e,this._ngZone=i,this._document=r}create(e,i=!1){return new YC(e,this._checker,this._ngZone,this._document,i)}static{this.\u0275fac=function(i){return new(i||t)(F(Bk),F(Se),F(Ie))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),$k=(()=>{class t{get enabled(){return this.focusTrap.enabled}set enabled(e){this.focusTrap.enabled=Vk(e)}get autoCapture(){return this._autoCapture}set autoCapture(e){this._autoCapture=Vk(e)}constructor(e,i,r){this._elementRef=e,this._focusTrapFactory=i,this._previouslyFocusedElement=null,this._autoCapture=!1,this._document=r,this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0)}ngOnDestroy(){this.focusTrap.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)}ngAfterContentInit(){this.focusTrap.attachAnchors(),this.autoCapture&&this._captureFocus()}ngDoCheck(){this.focusTrap.hasAttached()||this.focusTrap.attachAnchors()}ngOnChanges(e){let i=e.autoCapture;i&&!i.firstChange&&this.autoCapture&&this.focusTrap.hasAttached()&&this._captureFocus()}_captureFocus(){this._previouslyFocusedElement=this._document.activeElement,this.focusTrap.focusInitialElementWhenReady()}static{this.\u0275fac=function(i){return new(i||t)(v($),v(aG),v(Ie))}}static{this.\u0275dir=B({type:t,selectors:[["","focusTrap",""]],inputs:{enabled:[0,"cdkTrapFocus","enabled"],autoCapture:[0,"cdkTrapFocusAutoCapture","autoCapture"]},exportAs:["focusTrap"],features:[ce([sG,Hk,Bk]),xe]})}}return t})(),Yk=(()=>{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=Ce({type:t})}static{this.\u0275inj=be({imports:[ot]})}}return t})();var lG=["*"],Xo=(()=>{class t{constructor(){this.hide=()=>{},this.setClass=()=>{}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})();var zk=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),Gm={backdrop:!0,keyboard:!0,focus:!0,show:!1,ignoreBackdropClick:!1,class:"",animated:!0,initialState:{},closeInterceptor:void 0},cG=new U("override-default-config"),Fr={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",IN:"in",SHOW:"show"};var qm={MODAL:300,BACKDROP:150},zC={BACKRDOP:"backdrop-click",ESC:"esc",BACK:"browser-back-navigation-clicked"},uG=(()=>{class t{get isAnimated(){return this._isAnimated}set isAnimated(e){this._isAnimated=e}get isShown(){return this._isShown}set isShown(e){this._isShown=e,e?this.renderer.addClass(this.element.nativeElement,`${Fr.SHOW}`):this.renderer.removeClass(this.element.nativeElement,`${Fr.SHOW}`)}constructor(e,i){this._isAnimated=!1,this._isShown=!1,this.element=e,this.renderer=i}ngOnInit(){this.isAnimated&&(this.renderer.addClass(this.element.nativeElement,`${Fr.FADE}`),rm.reflow(this.element.nativeElement)),this.isShown=!0}static{this.\u0275fac=function(i){return new(i||t)(v($),v(ke))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-modal-backdrop"]],hostAttrs:[1,"modal-backdrop"],decls:0,vars:0,template:function(i,r){},encapsulation:2})}}return t})(),dG=1,aa=(()=>{class t{constructor(e,i,r){this.clf=i,this.modalDefaultOption=r,this.onShow=new O,this.onShown=new O,this.onHide=new O,this.onHidden=new O,this.isBodyOverflowing=!1,this.originalBodyPadding=0,this.scrollbarWidth=0,this.modalsCount=0,this.lastHiddenId=null,this.loaders=[],this._focusEl=null,this._backdropLoader=this.clf.createLoader(),this._renderer=e.createRenderer(null,null),this.config=r?Object.assign({},Gm,r):Gm}show(e,i){this._focusEl=Ht.activeElement,this.modalsCount++,this.lastHiddenId=null,this._createLoaders();let r=i?.id||dG++;return this.config=this.modalDefaultOption?Object.assign({},Gm,this.modalDefaultOption,i):Object.assign({},Gm,i),this.config.id=r,this._showBackdrop(),this.lastDismissReason=void 0,this._showModal(e)}hide(e){this.lastHiddenId!==e&&(this.lastHiddenId=e,(this.modalsCount===1||e==null)&&(this._hideBackdrop(),this.resetScrollbar()),this.modalsCount=this.modalsCount>=1&&e!=null?this.modalsCount-1:0,setTimeout(()=>{this._hideModal(e),this.removeLoaders(e)},this.config.animated?qm.BACKDROP:0),this._focusEl&&this._focusEl.focus())}_showBackdrop(){let e=this.config.backdrop===!0||this.config.backdrop==="static",i=!this.backdropRef||!this.backdropRef.instance.isShown;this.modalsCount===1&&(this.removeBackdrop(),e&&i&&(this._backdropLoader.attach(uG).to("body").show({isAnimated:this.config.animated}),this.backdropRef=this._backdropLoader._componentRef))}_hideBackdrop(){if(!this.backdropRef)return;this.backdropRef.instance.isShown=!1;let e=this.config.animated?qm.BACKDROP:0;setTimeout(()=>this.removeBackdrop(),e)}_showModal(e){let i=this.loaders[this.loaders.length-1];if(this.config&&this.config.providers)for(let s of this.config.providers)i.provide(s);let r=new Xo,o=i.provide({provide:zk,useValue:this.config}).provide({provide:Xo,useValue:r}).attach(hG).to("body");return r.hide=()=>o.instance?.hide(),r.setClass=s=>{o.instance&&(o.instance.config.class=s)},r.onHidden=new O,r.onHide=new O,this.copyEvent(i.onBeforeHide,r.onHide),this.copyEvent(i.onHidden,r.onHidden),o.show({content:e,isAnimated:this.config.animated,initialState:this.config.initialState,bsModalService:this,id:this.config.id}),o.instance&&(o.instance.level=this.getModalsCount(),r.content=i.getInnerComponent(),r.id=o.instance.config?.id),r}_hideModal(e){if(e!=null){let i=this.loaders.findIndex(o=>o.instance?.config.id===e),r=this.loaders[i];r&&r.hide(e)}else this.loaders.forEach(i=>{i.instance&&i.hide(i.instance.config.id)})}getModalsCount(){return this.modalsCount}setDismissReason(e){this.lastDismissReason=e}removeBackdrop(){this._renderer.removeClass(Ht.body,Fr.OPEN),this._renderer.setStyle(Ht.body,"overflow-y",""),this._backdropLoader.hide(),this.backdropRef=void 0}checkScrollbar(){this.isBodyOverflowing=Ht.body.clientWidthr.instance?.config.id===e);i>=0&&(this.loaders.splice(i,1),this.loaders.forEach((r,o)=>{r.instance&&(r.instance.level=o+1)}))}else this.loaders.splice(0,this.loaders.length)}copyEvent(e,i){e.subscribe(r=>{i.emit(this.lastDismissReason||r)})}static{this.\u0275fac=function(i){return new(i||t)(F(kn),F(Qt),F(cG,8))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),hG=(()=>{class t{constructor(e,i,r){this._element=i,this._renderer=r,this.isShown=!1,this.isAnimated=!1,this._focusEl=null,this.isModalHiding=!1,this.clickStartedInContent=!1,this.config=Object.assign({},e)}ngOnInit(){this._focusEl=Ht.activeElement,this.isAnimated&&this._renderer.addClass(this._element.nativeElement,Fr.FADE),this._renderer.setStyle(this._element.nativeElement,"display","block"),setTimeout(()=>{this.isShown=!0,this._renderer.addClass(this._element.nativeElement,Fr.SHOW)},this.isAnimated?qm.BACKDROP:0),Ht&&Ht.body&&(this.bsModalService&&this.bsModalService.getModalsCount()===1&&(this.bsModalService.checkScrollbar(),this.bsModalService.setScrollbar()),this._renderer.addClass(Ht.body,Fr.OPEN),this._renderer.setStyle(Ht.body,"overflow-y","hidden")),this._element.nativeElement&&this._element.nativeElement.focus()}onClickStarted(e){this.clickStartedInContent=e.target!==this._element.nativeElement}onClickStop(e){let i=e.target===this._element.nativeElement&&!this.clickStartedInContent;if(this.config.ignoreBackdropClick||this.config.backdrop==="static"||!i){this.clickStartedInContent=!1;return}this.bsModalService?.setDismissReason(zC.BACKRDOP),this.hide()}onPopState(){this.bsModalService?.setDismissReason(zC.BACK),this.hide()}onEsc(e){this.isShown&&((e.keyCode===27||e.key==="Escape")&&e.preventDefault(),this.config.keyboard&&this.level===this.bsModalService?.getModalsCount()&&(this.bsModalService?.setDismissReason(zC.ESC),this.hide()))}ngOnDestroy(){this.isShown&&this._hide()}hide(){if(!this.isModalHiding){if(this.config.closeInterceptor){this.config.closeInterceptor().then(()=>this._hide(),()=>{});return}this._hide()}}_hide(){this.isModalHiding=!0,this._renderer.removeClass(this._element.nativeElement,Fr.SHOW),setTimeout(()=>{this.isShown=!1,this.bsModalService?.hide(this.config.id),Ht&&Ht.body&&this.bsModalService?.getModalsCount()===0&&(this._renderer.removeClass(Ht.body,Fr.OPEN),this._renderer.setStyle(Ht.body,"overflow-y","")),this.bsModalService?.hide(this.config.id),this.isModalHiding=!1,this._focusEl&&this._focusEl.focus()},this.isAnimated?qm.MODAL:0)}static{this.\u0275fac=function(i){return new(i||t)(v(zk),v($),v(ke))}}static{this.\u0275cmp=L({type:t,selectors:[["modal-container"]],hostAttrs:["role","dialog","tabindex","-1",1,"modal"],hostVars:3,hostBindings:function(i,r){i&1&&D("mousedown",function(s){return r.onClickStarted(s)})("click",function(s){return r.onClickStop(s)})("popstate",function(){return r.onPopState()},!1,Hc)("keydown.esc",function(s){return r.onEsc(s)},!1,Hc),i&2&&J("aria-modal",!0)("aria-labelledby",r.config.ariaLabelledBy)("aria-describedby",r.config.ariaDescribedby)},features:[ce([aa])],ngContentSelectors:lG,decls:3,vars:2,consts:[["role","document","focusTrap",""],[1,"modal-content"]],template:function(i,r){i&1&&(Nn(),d(0,"div",0)(1,"div",1),Cn(2),h()()),i&2&&Jt("modal-dialog"+(r.config.class?" "+r.config.class:""))},dependencies:[$k],encapsulation:2})}}return t})();var Wk=(()=>{class t{static forRoot(){return{ngModule:t,providers:[aa,Qt,rn]}}static forChild(){return{ngModule:t,providers:[aa,Qt,rn]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=Ce({type:t})}static{this.\u0275inj=be({imports:[Yk]})}}return t})();var Qm=class t{bsModalRef=S(Xo);title="";message="";btnOkText="";btnCancelText="";result=!1;confirm(){this.result=!0,this.bsModalRef.hide()}decline(){this.bsModalRef.hide()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-confirm-dialog"]],decls:11,vars:4,consts:[[1,"modal-header"],[1,"modal-title","pull-left"],[1,"modal-body"],[1,"modal-footer"],["type","button",1,"btn","btn-success",3,"click"],["type","button",1,"btn","btn-danger",3,"click"]],template:function(e,i){e&1&&(d(0,"div",0)(1,"h4",1),y(2),h()(),d(3,"div",2)(4,"p"),y(5),h()(),d(6,"div",3)(7,"button",4),D("click",function(){return i.confirm()}),y(8),h(),d(9,"button",5),D("click",function(){return i.decline()}),y(10),h()()),e&2&&(f(2),H(i.title),f(3),H(i.message),f(3),H(i.btnOkText),f(2),H(i.btnCancelText))},encapsulation:2})};var Zm=class t{bsModalRef;modalService=S(aa);confirm(n="Confirmation",e="Are you sure you want to do this?",i="Ok",r="Cancel"){let o={initialState:{title:n,message:e,btnOkText:i,btnCancelText:r}};return this.bsModalRef=this.modalService.show(Qm,o),this.bsModalRef.onHidden?.pipe(G(()=>this.bsModalRef?.content?this.bsModalRef.content.result:!1))}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};var Gk=(t,n,e,i)=>{let r=S(Zm);return t.editForm?.dirty?r.confirm()??!1:!0};var qk=(t,n)=>{let e=S(Pr),i=t.paramMap.get("username");return i?e.getMember(i):null};var oc=class t{baseUrl=Yt.apiUrl;http=S(Vn);getTags(){return this.http.get(this.baseUrl+"admin/get-tags")}addTag(n){return this.http.post(this.baseUrl+"admin/create-tag",n)}getUserWithRoles(){return this.http.get(this.baseUrl+"admin/users-with-roles")}updateUserRoles(n,e){return this.http.post(this.baseUrl+"admin/edit-roles/"+n+"?roles="+e,{})}getPhotosForApproval(){return this.http.get(this.baseUrl+"admin/photos-to-moderate")}approvePhoto(n){return this.http.post(this.baseUrl+"admin/approve-photo/"+n,{})}rejectPhoto(n){return this.http.post(this.baseUrl+"admin/reject-photo/"+n,{})}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};function fG(t,n){if(t&1){let e=N();d(0,"div",5)(1,"input",8),D("change",function(){let r=C(e).$implicit,o=p();return w(o.updateChecked(r))}),h(),d(2,"label"),y(3),h()()}if(t&2){let e=n.$implicit,i=p();f(),g("checked",i.selectedRoles.includes(e))("disabled",e==="Admin"&&i.username==="admin"),f(2),H(e)}}var Km=class t{bsModalRef=S(Xo);title="";availableRoles=[];selectedRoles=[];username="";rolesUpdated=!1;updateChecked(n){this.selectedRoles.includes(n)?this.selectedRoles=this.selectedRoles.filter(e=>e!==n):this.selectedRoles.push(n)}onSelectRoles(){this.rolesUpdated=!0,this.bsModalRef.hide()}hide(){this.bsModalRef.hide()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-roles-modal"]],decls:12,vars:2,consts:[[1,"modal-header"],[1,"modal-title","pull-left"],["type","button",1,"btn-close","close","pull-right",3,"click"],[1,"visually-hidden"],[1,"modal-body"],[1,"form-check"],[1,"modal-footer"],["type","button",1,"btn","btn-success",3,"click","disabled"],["type","checkbox","value","role",1,"form-check-input",3,"change","checked","disabled"]],template:function(e,i){e&1&&(d(0,"div",0)(1,"h4",1),y(2),h(),d(3,"button",2),D("click",function(){return i.hide()}),d(4,"span",3),y(5,"\xD7"),h()()(),d(6,"div",4),Dt(7,fG,4,3,"div",5,Ka),h(),d(9,"div",6)(10,"button",7),D("click",function(){return i.onSelectRoles()}),y(11,"Submit"),h()()),e&2&&(f(2),H(i.title),f(5),Mt(i.availableRoles),f(3),g("disabled",i.selectedRoles.length===0))},encapsulation:2})};var pG=(t,n)=>n.username;function mG(t,n){if(t&1){let e=N();d(0,"tr")(1,"td"),y(2),h(),d(3,"td"),y(4),h(),d(5,"td")(6,"button",4),D("click",function(){let r=C(e).$implicit,o=p();return w(o.openRolesModal(r))}),y(7,"Edit roles"),h()()()}if(t&2){let e=n.$implicit;f(2),H(e.username),f(2),H(e.roles)}}var Jm=class t{adminService=S(oc);modalService=S(aa);bsModalRef=new Xo;users=[];ngOnInit(){this.getUserWithRoles()}getUserWithRoles(){this.adminService.getUserWithRoles().subscribe({next:n=>this.users=n})}openRolesModal(n){let e={class:"modal-lg",initialState:{title:"User roles",username:n.username,selectedRoles:[...n.roles],availableRoles:["Admin","Moderator","Member"],users:this.users,rolesUpdated:!1}};this.bsModalRef=this.modalService.show(Km,e),this.bsModalRef.onHide?.subscribe({next:()=>{if(this.bsModalRef.content&&this.bsModalRef.content.rolesUpdated){let i=this.bsModalRef.content.selectedRoles;this.adminService.updateUserRoles(n.username,i).subscribe({next:r=>n.roles=r})}}})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-user-management"]],decls:12,vars:0,consts:[[1,"row"],[1,"table"],[2,"width","30%"],[2,"width","40%"],[1,"btn","btn-info",3,"click"]],template:function(e,i){e&1&&(d(0,"div",0)(1,"table",1)(2,"thead")(3,"tr")(4,"th",2),y(5,"Username"),h(),d(6,"th",3),y(7,"Active roles"),h(),A(8,"th",2),h()(),d(9,"tbody"),Dt(10,mG,8,2,"tr",null,pG),h()()()),e&2&&(f(10),Mt(i.users))},encapsulation:2})};var sc=class t{appHasRole=[];accountService=S(tt);viewContainerRef=S(pt);templateRef=S(Et);ngOnInit(){this.accountService.roles()?.some(n=>this.appHasRole.includes(n))?this.viewContainerRef.createEmbeddedView(this.templateRef):this.viewContainerRef.clear()}static \u0275fac=function(e){return new(e||t)};static \u0275dir=B({type:t,selectors:[["","appHasRole",""]],inputs:{appHasRole:"appHasRole"}})};var Qk=(t,n)=>n.id;function gG(t,n){if(t&1&&(d(0,"option",23),y(1),h()),t&2){let e=n.$implicit;g("value",e.name),f(),H(e.name)}}function _G(t,n){if(t&1&&(d(0,"span",27),y(1),h()),t&2){let e=n.$implicit;f(),pe(" ",e," ")}}function yG(t,n){if(t&1){let e=N();d(0,"div",10)(1,"div",24)(2,"img",25),D("click",function(){let r=C(e).$implicit,o=p();return w(o.openPhotoModal(r))}),h(),d(3,"div",26),Dt(4,_G,2,1,"span",27,Fv),h(),d(6,"div",28)(7,"button",29),D("click",function(){let r=C(e).$implicit,o=p();return w(o.approvePhoto(r.id))}),A(8,"i",30),y(9," Approve "),h(),d(10,"button",31),D("click",function(){let r=C(e).$implicit,o=p();return w(o.rejectPhoto(r.id))}),A(11,"i",32),y(12," Reject "),h()()()()}if(t&2){let e=n.$implicit;f(2),Pt("src",e.url,ft),f(2),Mt(e.tags)}}function vG(t,n){if(t&1&&(d(0,"span",27),y(1),h()),t&2){let e=n.$implicit;f(),pe(" ",e," ")}}function bG(t,n){if(t&1){let e=N();d(0,"div",48)(1,"textarea",53),Pe("ngModelChange",function(r){C(e);let o=p(2);return Fe(o.adminMessage,r)||(o.adminMessage=r),w(r)}),h()()}if(t&2){let e=p(2);f(),Re("ngModel",e.adminMessage)}}function CG(t,n){if(t&1){let e=N();d(0,"div",33)(1,"div",34),D("click",function(){C(e);let r=p();return w(r.closePhotoModal())}),h(),d(2,"div",35)(3,"div",36)(4,"h5",37),y(5,"Photo Preview"),h(),d(6,"button",38),D("click",function(){C(e);let r=p();return w(r.closePhotoModal())}),h()(),d(7,"div",39),A(8,"img",40),d(9,"div",41),Dt(10,vG,2,1,"span",27,Fv),h()(),d(12,"div",42)(13,"div",43)(14,"div",44)(15,"input",45),Pe("ngModelChange",function(r){C(e);let o=p();return Fe(o.isAnonymous,r)||(o.isAnonymous=r),w(r)}),h(),d(16,"label",46),A(17,"i",47),y(18," Send message "),h()()(),T(19,bG,2,1,"div",48),d(20,"div",49)(21,"button",50),D("click",function(){C(e);let r=p();return r.approvePhoto(r.selectedPhoto.id),w(r.closePhotoModal())}),A(22,"i",30),y(23," Approve "),h(),d(24,"button",31),D("click",function(){C(e);let r=p();return r.rejectPhoto(r.selectedPhoto.id),w(r.closePhotoModal())}),A(25,"i",32),y(26," Reject "),h(),d(27,"button",51),D("click",function(){C(e);let r=p();return w(r.closePhotoModal())}),A(28,"i",52),y(29," Close "),h()()()()()}if(t&2){let e=p();j("show",e.isModalOpen),f(8),g("src",e.selectedPhoto.url,ft),f(2),Mt(e.selectedPhoto.tags),f(5),Re("ngModel",e.isAnonymous),f(4),Le(e.isAnonymous?19:-1)}}function wG(t,n){if(t&1&&(d(0,"div",16),y(1),h()),t&2){let e=n.$implicit;f(),pe(" ",e.name," ")}}var Xm=class t{adminService=S(oc);toastrService=S(nn);messageService=S(Lr);accountService=S(tt);selectedPhoto=null;isModalOpen=!1;photos=[];isAnonymous=!1;adminMessage="";tags=[];newTag={};selectedTag="";filteredPhotos=[];ngOnInit(){this.approvePhotosForApproval(),this.getTags(),this.filteredPhotos=this.photos}approvePhotosForApproval(){this.adminService.getPhotosForApproval().subscribe({next:n=>{this.photos=n,this.filterPhotosByTag()},error:n=>{this.toastrService.error("Failed to load photos"),console.log(n)}})}approvePhoto(n){this.isAnonymous&&(this.adminMessage!=""?this.sendMessage():this.toastrService.error("Type in the message, that you have decided to send!")),this.adminService.approvePhoto(n).subscribe({next:()=>this.photos.splice(this.photos.findIndex(e=>e.id===n),1),error:e=>{this.toastrService.error("Failed to approve photo"),console.log(e)}})}rejectPhoto(n){this.isAnonymous&&(this.adminMessage!=""?this.sendMessage():this.toastrService.error("Type in the message, that you have decided to send!")),this.adminService.rejectPhoto(n).subscribe({next:()=>this.photos.splice(this.photos.findIndex(e=>e.id===n),1),error:e=>{this.toastrService.error("Failed to reject photo"),console.log(e)}})}sendMessage(){let n=`Regarding your photo: ${this.adminMessage}`;if(this.selectedPhoto?.username){if(!this.accountService.currentUser){this.toastrService.error("You must be logged in to send messages");return}this.messageService.sendMessage(this.selectedPhoto.username,n)?.then(()=>{console.log(`Anonymous message sent to ${this.selectedPhoto?.username}`)}).catch(i=>{console.error("Error sending message:",i),this.toastrService.error("Failed to send notification message")})}else this.toastrService.error("No username selected for the photo")}openPhotoModal(n){this.selectedPhoto=n,this.isModalOpen=!0,this.isAnonymous=!1,this.adminMessage="";let e=this.accountService.currentUser();e&&(this.messageService.createHubConnection(e,this.selectedPhoto.username),document.body.classList.add("modal-open"))}closePhotoModal(){this.messageService.stopHubConnection(),this.isModalOpen=!1,document.body.classList.remove("modal-open"),setTimeout(()=>{this.selectedPhoto=null,this.isAnonymous=!1,this.adminMessage=""},300)}createTag(n){n.invalid||this.adminService.addTag(this.newTag).subscribe({next:()=>{this.newTag.name="",this.toastrService.success("Tag successfully created"),this.getTags(),n.resetForm()},error:e=>{e.status===400?this.toastrService.error("You can't create duplicates!"):this.toastrService.error("Something unexpected happened: "+e)}})}getTags(){return this.adminService.getTags().subscribe({next:n=>{this.tags=n},error:n=>this.toastrService.error("Something unexpected happened: "+n)})}filterPhotosByTag(){this.selectedTag?this.filteredPhotos=this.photos.filter(n=>n.tags&&n.tags.includes(this.selectedTag)):this.filteredPhotos=this.photos}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-photo-management"]],decls:35,vars:4,consts:[["tagForm","ngForm"],[1,"text-center","mt-5","mx-4","text-primary","fw-bold"],[1,"text-info","justify-content-center","d-flex"],[1,"line","mx-auto","justify-content-center","d-flex"],[1,"d-flex","mt-3","justify-content-center","mb-3"],[1,"form-select","w-auto",3,"ngModelChange","change","ngModel"],["value",""],[3,"value",4,"ngFor","ngForOf"],[1,"photo-gallery-container",2,"max-height","650px","overflow-y","auto"],[1,"row","g-3"],[1,"col-sm-6","col-md-4","col-lg-3","mb-3"],[1,"photo-modal",3,"show"],[1,"container","my-5"],[1,"text-center","mb-3"],[1,"text-center","text-muted"],[1,"d-flex","flex-wrap","justify-content-center","gap-2"],[1,"badge","bg-secondary","p-2","px-3","fs-6","shadow-sm"],[3,"ngSubmit"],[1,"mb-3"],["for","tagName",1,"form-label"],["type","text","id","tagName","name","name","placeholder","Enter tag name","required","",1,"form-control",3,"ngModelChange","ngModel"],[1,"text-center"],["type","submit",1,"btn","btn-primary"],[3,"value"],[1,"photo-card"],["alt","photo waiting to be approved",1,"img-thumbnail","photo-image",2,"cursor","pointer",3,"click","src"],[1,"d-flex","flex-wrap","justify-content-center","gap-2","mt-2"],[1,"badge","bg-secondary","px-3","py-2","fs-6","shadow-sm"],[1,"action-buttons","mt-2"],[1,"btn","btn-success","me-2",3,"click"],[1,"bi","bi-check-lg"],[1,"btn","btn-danger",3,"click"],[1,"bi","bi-x-lg"],[1,"photo-modal"],[1,"modal-backdrop",3,"click"],[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button",1,"btn-close",3,"click"],[1,"modal-body"],["alt","enlarged photo",1,"modal-image",2,"max-width","100%","max-height","400px",3,"src"],[1,"d-flex","flex-wrap","justify-content-center","gap-2","mt-3"],[1,"modal-footer","flex-column","align-items-stretch"],[1,"anonymity-toggle","mb-3"],[1,"form-check","form-switch"],["type","checkbox","id","anonymitySwitch",1,"form-check-input",3,"ngModelChange","ngModel"],["for","anonymitySwitch",1,"form-check-label"],[1,"bi","bi-incognito","me-1"],[1,"admin-message","mb-3","w-100"],[1,"action-buttons","d-flex","justify-content-center","gap-2"],[1,"btn","btn-success",3,"click"],[1,"btn","btn-secondary",3,"click"],[1,"bi","bi-x"],["rows","3","placeholder","Enter message...",1,"form-control",3,"ngModelChange","ngModel"]],template:function(e,i){if(e&1){let r=N();d(0,"h1",1),y(1,` User Photos Management +`),h(),d(2,"p",2),y(3,` Approve or reject photos as you like. +`),h(),A(4,"div",3),d(5,"div",4)(6,"select",5),Pe("ngModelChange",function(s){return C(r),Fe(i.selectedTag,s)||(i.selectedTag=s),w(s)}),D("change",function(){return C(r),w(i.filterPhotosByTag())}),d(7,"option",6),y(8,"All Tags"),h(),T(9,gG,2,2,"option",7),h()(),d(10,"div",8)(11,"div",9),Dt(12,yG,13,1,"div",10,Qk),h(),T(14,CG,30,5,"div",11),h(),d(15,"div",12)(16,"h2",13),y(17,"Photo Tags List"),h(),d(18,"p",14),y(19," You can browse available photo tags here and also create new tags. "),h(),d(20,"div",15),Dt(21,wG,2,1,"div",16,Qk),h()(),d(23,"div",12)(24,"h2",13),y(25,"Create New Photo Tag"),h(),d(26,"form",17,0),D("ngSubmit",function(){C(r);let s=bt(27);return w(i.createTag(s))}),d(28,"div",18)(29,"label",19),y(30,"Tag Name"),h(),d(31,"input",20),Pe("ngModelChange",function(s){return C(r),Fe(i.newTag.name,s)||(i.newTag.name=s),w(s)}),h()(),d(32,"div",21)(33,"button",22),y(34," Create Tag "),h()()()()}e&2&&(f(6),Re("ngModel",i.selectedTag),f(3),g("ngForOf",i.tags),f(3),Mt(i.filteredPhotos),f(2),Le(i.selectedPhoto?14:-1),f(7),Mt(i.tags),f(10),Re("ngModel",i.newTag.name))},dependencies:[ox,Bn,Di,bp,Cp,en,Y0,yl,Lt,wi,Lu,Dn,Zi],styles:['img.img-thumbnail[_ngcontent-%COMP%]{height:175px;min-width:175px!important;margin-bottom:2px}[_nghost-%COMP%]{--bg-color: #121212;--card-bg: #1e1e1e;--text-color: #e0e0e0;--border-color: #333;--btn-success-bg: #2e7d32;--btn-success-hover: #388e3c;--btn-danger-bg: #c62828;--btn-danger-hover: #d32f2f;--btn-secondary-bg: #424242;--btn-secondary-hover: #616161;--modal-bg: #212121;--input-bg: #2c2c2c;--input-border: #444;--switch-active: #2e7d32}.photo-gallery-container[_ngcontent-%COMP%]{background-color:var(--bg-color);color:var(--text-color);padding:1.5rem;min-height:100vh}.photo-card[_ngcontent-%COMP%]{background-color:var(--card-bg);border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0000004d;transition:transform .2s ease}.photo-card[_ngcontent-%COMP%]:hover{transform:translateY(-5px)}.photo-image[_ngcontent-%COMP%]{width:100%;height:200px;object-fit:cover;cursor:pointer;border:1px solid var(--border-color);background-color:var(--card-bg)}.action-buttons[_ngcontent-%COMP%]{display:flex;justify-content:center;padding:.75rem;gap:.5rem}.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;font-weight:500;border:none;border-radius:6px;transition:all .2s ease;padding:.5rem 1rem}.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%]{background-color:var(--btn-success-bg)}.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%]:hover{background-color:var(--btn-success-hover)}.action-buttons[_ngcontent-%COMP%] .btn-danger[_ngcontent-%COMP%]{background-color:var(--btn-danger-bg)}.action-buttons[_ngcontent-%COMP%] .btn-danger[_ngcontent-%COMP%]:hover{background-color:var(--btn-danger-hover)}.action-buttons[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%]{background-color:var(--btn-secondary-bg)}.action-buttons[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%]:hover{background-color:var(--btn-secondary-hover)}.photo-modal[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:1050;display:flex;justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.photo-modal.show[_ngcontent-%COMP%]{opacity:1;visibility:visible}.modal-backdrop[_ngcontent-%COMP%]{position:absolute;inset:0;background-color:#000c}.modal-content[_ngcontent-%COMP%]{position:relative;background-color:var(--modal-bg);border-radius:12px;width:90%;max-width:800px;box-shadow:0 10px 25px #00000080;max-height:90vh;display:flex;flex-direction:column;z-index:1051}.modal-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color)}.modal-header[_ngcontent-%COMP%] .modal-title[_ngcontent-%COMP%]{margin:0;color:var(--text-color);font-size:1.25rem}.modal-header[_ngcontent-%COMP%] .btn-close[_ngcontent-%COMP%]{color:var(--text-color);opacity:.7;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.25rem}.modal-header[_ngcontent-%COMP%] .btn-close[_ngcontent-%COMP%]:hover{opacity:1}.modal-header[_ngcontent-%COMP%] .btn-close[_ngcontent-%COMP%]:after{content:"\\d7"}.modal-body[_ngcontent-%COMP%]{padding:1rem;overflow-y:auto;display:flex;justify-content:center;align-items:center}.modal-body[_ngcontent-%COMP%] .modal-image[_ngcontent-%COMP%]{max-width:100%;max-height:60vh;object-fit:contain;border-radius:4px}.modal-footer[_ngcontent-%COMP%]{padding:1rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;align-items:stretch}.anonymity-toggle[_ngcontent-%COMP%]{align-self:flex-start;margin-bottom:1rem}.form-check-input[_ngcontent-%COMP%]{background-color:var(--input-bg);border-color:var(--input-border);width:40px;height:20px;cursor:pointer}.form-check-input[_ngcontent-%COMP%]:checked{background-color:var(--switch-active);border-color:var(--switch-active)}.admin-message[_ngcontent-%COMP%]{margin-bottom:1rem;width:100%}.form-control[_ngcontent-%COMP%]{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-color);resize:vertical;border-radius:6px;padding:.75rem;transition:border-color .2s ease}.form-control[_ngcontent-%COMP%]:focus{border-color:#777;box-shadow:0 0 0 .2rem #54545440}.form-check-label[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;-webkit-user-select:none;user-select:none}']})};var DG=()=>["Admin"],MG=()=>["Admin","Moderator"];function SG(t,n){t&1&&(d(0,"tab",4)(1,"div",5),A(2,"app-user-management"),h()())}function TG(t,n){t&1&&(d(0,"tab",6)(1,"div",5),A(2,"app-photo-management"),h()())}var eg=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-admin-panel"]],decls:6,vars:4,consts:[[1,"tab-panel"],[1,"member-tabset"],["heading","User management",4,"appHasRole"],["heading","Photo management",4,"appHasRole"],["heading","User management"],[1,"container"],["heading","Photo management"]],template:function(e,i){e&1&&(d(0,"h2"),y(1,"Admin panel"),h(),d(2,"div",0)(3,"tabset",1),T(4,SG,3,0,"tab",2)(5,TG,3,0,"tab",3),h()()),e&2&&(f(4),g("appHasRole",Qr(2,DG)),f(),g("appHasRole",Qr(3,MG)))},dependencies:[Kl,Zl,oa,Jm,sc,Xm],encapsulation:2})};var Zk=(t,n)=>{let e=S(tt),i=S(nn);return e.roles().includes("Admin")||e.roles().includes("Moderator")?!0:(i.error("You cannot enter this area"),!1)};var Kk=[{path:"",component:sd},{path:"",runGuardsAndResolvers:"always",canActivate:[Nk],children:[{path:"members",component:wm},{path:"members/:username",component:Vm,resolve:{member:qk}},{path:"member/edit",component:Wm,canDeactivate:[Gk]},{path:"lists",component:jm},{path:"messages",component:Hm},{path:"admin",component:eg,canActivate:[Zk]}]},{path:"errors",component:Bm},{path:"not-found",component:Um},{path:"server-error",component:$m},{path:"**",component:sd,pathMatch:"full"}];function Jk(t){return new R(3e3,!1)}function EG(){return new R(3100,!1)}function IG(){return new R(3101,!1)}function xG(t){return new R(3001,!1)}function kG(t){return new R(3003,!1)}function AG(t){return new R(3004,!1)}function eA(t,n){return new R(3005,!1)}function tA(){return new R(3006,!1)}function nA(){return new R(3007,!1)}function iA(t,n){return new R(3008,!1)}function rA(t){return new R(3002,!1)}function oA(t,n,e,i,r){return new R(3010,!1)}function sA(){return new R(3011,!1)}function aA(){return new R(3012,!1)}function lA(){return new R(3200,!1)}function cA(){return new R(3202,!1)}function uA(){return new R(3013,!1)}function dA(t){return new R(3014,!1)}function hA(t){return new R(3015,!1)}function fA(t){return new R(3016,!1)}function pA(t,n){return new R(3404,!1)}function RG(t){return new R(3502,!1)}function mA(t){return new R(3503,!1)}function gA(){return new R(3300,!1)}function _A(t){return new R(3504,!1)}function yA(t){return new R(3301,!1)}function vA(t,n){return new R(3302,!1)}function bA(t){return new R(3303,!1)}function CA(t,n){return new R(3400,!1)}function wA(t){return new R(3401,!1)}function DA(t){return new R(3402,!1)}function MA(t,n){return new R(3505,!1)}function uo(t){switch(t.length){case 0:return new xr;case 1:return t[0];default:return new Us(t)}}function QC(t,n,e=new Map,i=new Map){let r=[],o=[],s=-1,a=null;if(n.forEach(l=>{let c=l.get("offset"),u=c==s,m=u&&a||new Map;l.forEach((b,_)=>{let M=_,I=b;if(_!=="offset")switch(M=t.normalizePropertyName(M,r),I){case Dl:I=e.get(_);break;case Mi:I=i.get(_);break;default:I=t.normalizeStyleValue(_,M,I,r);break}m.set(M,I)}),u||o.push(m),a=m,s=c}),r.length)throw RG(r);return o}function tg(t,n,e,i){switch(n){case"start":t.onStart(()=>i(e&&WC(e,"start",t)));break;case"done":t.onDone(()=>i(e&&WC(e,"done",t)));break;case"destroy":t.onDestroy(()=>i(e&&WC(e,"destroy",t)));break}}function WC(t,n,e){let i=e.totalTime,r=!!e.disabled,o=ng(t.element,t.triggerName,t.fromState,t.toState,n||t.phaseName,i??t.totalTime,r),s=t._data;return s!=null&&(o._data=s),o}function ng(t,n,e,i,r="",o=0,s){return{element:t,triggerName:n,fromState:e,toState:i,phaseName:r,totalTime:o,disabled:!!s}}function $n(t,n,e){let i=t.get(n);return i||t.set(n,i=e),i}function ZC(t){let n=t.indexOf(":"),e=t.substring(1,n),i=t.slice(n+1);return[e,i]}var PG=typeof document>"u"?null:document.documentElement;function ig(t){let n=t.parentNode||t.host||null;return n===PG?null:n}function OG(t){return t.substring(1,6)=="ebkit"}var la=null,Xk=!1;function SA(t){la||(la=NG()||{},Xk=la.style?"WebkitAppearance"in la.style:!1);let n=!0;return la.style&&!OG(t)&&(n=t in la.style,!n&&Xk&&(n="Webkit"+t.charAt(0).toUpperCase()+t.slice(1)in la.style)),n}function NG(){return typeof document<"u"?document.body:null}function KC(t,n){for(;n;){if(n===t)return!0;n=ig(n)}return!1}function JC(t,n,e){if(e)return Array.from(t.querySelectorAll(n));let i=t.querySelector(n);return i?[i]:[]}var LG=1e3,XC="{{",FG="}}",ew="ng-enter",rg="ng-leave",pd="ng-trigger",md=".ng-trigger",tw="ng-animating",og=".ng-animating";function Vr(t){if(typeof t=="number")return t;let n=t.match(/^(-?[\.\d]+)(m?s)/);return!n||n.length<2?0:GC(parseFloat(n[1]),n[2])}function GC(t,n){switch(n){case"s":return t*LG;default:return t}}function gd(t,n,e){return t.hasOwnProperty("duration")?t:VG(t,n,e)}function VG(t,n,e){let i=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i,r,o=0,s="";if(typeof t=="string"){let a=t.match(i);if(a===null)return n.push(Jk(t)),{duration:0,delay:0,easing:""};r=GC(parseFloat(a[1]),a[2]);let l=a[3];l!=null&&(o=GC(parseFloat(l),a[4]));let c=a[5];c&&(s=c)}else r=t;if(!e){let a=!1,l=n.length;r<0&&(n.push(EG()),a=!0),o<0&&(n.push(IG()),a=!0),a&&n.splice(l,0,Jk(t))}return{duration:r,delay:o,easing:s}}function TA(t){return t.length?t[0]instanceof Map?t:t.map(n=>new Map(Object.entries(n))):[]}function ir(t,n,e){n.forEach((i,r)=>{let o=sg(r);e&&!e.has(r)&&e.set(r,t.style[o]),t.style[o]=i})}function es(t,n){n.forEach((e,i)=>{let r=sg(i);t.style[r]=""})}function ac(t){return Array.isArray(t)?t.length==1?t[0]:Bp(t):t}function EA(t,n,e){let i=n.params||{},r=nw(t);r.length&&r.forEach(o=>{i.hasOwnProperty(o)||e.push(xG(o))})}var qC=new RegExp(`${XC}\\s*(.+?)\\s*${FG}`,"g");function nw(t){let n=[];if(typeof t=="string"){let e;for(;e=qC.exec(t);)n.push(e[1]);qC.lastIndex=0}return n}function lc(t,n,e){let i=`${t}`,r=i.replace(qC,(o,s)=>{let a=n[s];return a==null&&(e.push(kG(s)),a=""),a.toString()});return r==i?t:r}var jG=/-+([a-z0-9])/g;function sg(t){return t.replace(jG,(...n)=>n[1].toUpperCase())}function IA(t,n){return t===0||n===0}function xA(t,n,e){if(e.size&&n.length){let i=n[0],r=[];if(e.forEach((o,s)=>{i.has(s)||r.push(s),i.set(s,o)}),r.length)for(let o=1;os.set(a,ag(t,a)))}}return n}function Yn(t,n,e){switch(n.type){case ue.Trigger:return t.visitTrigger(n,e);case ue.State:return t.visitState(n,e);case ue.Transition:return t.visitTransition(n,e);case ue.Sequence:return t.visitSequence(n,e);case ue.Group:return t.visitGroup(n,e);case ue.Animate:return t.visitAnimate(n,e);case ue.Keyframes:return t.visitKeyframes(n,e);case ue.Style:return t.visitStyle(n,e);case ue.Reference:return t.visitReference(n,e);case ue.AnimateChild:return t.visitAnimateChild(n,e);case ue.AnimateRef:return t.visitAnimateRef(n,e);case ue.Query:return t.visitQuery(n,e);case ue.Stagger:return t.visitStagger(n,e);default:throw AG(n.type)}}function ag(t,n){return window.getComputedStyle(t)[n]}var vw=(()=>{class t{validateStyleProperty(e){return SA(e)}containsElement(e,i){return KC(e,i)}getParentElement(e){return ig(e)}query(e,i,r){return JC(e,i,r)}computeStyle(e,i,r){return r||""}animate(e,i,r,o,s,a=[],l){return new xr(r,o)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})(),ua=class{static NOOP=new vw},da=class{};var HG=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"]),hg=class extends da{normalizePropertyName(n,e){return sg(n)}normalizeStyleValue(n,e,i,r){let o="",s=i.toString().trim();if(HG.has(e)&&i!==0&&i!=="0")if(typeof i=="number")o="px";else{let a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&a[1].length==0&&r.push(eA(n,i))}return s+o}};var fg="*";function BG(t,n){let e=[];return typeof t=="string"?t.split(/\s*,\s*/).forEach(i=>UG(i,e,n)):e.push(t),e}function UG(t,n,e){if(t[0]==":"){let l=$G(t,e);if(typeof l=="function"){n.push(l);return}t=l}let i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(i==null||i.length<4)return e.push(hA(t)),n;let r=i[1],o=i[2],s=i[3];n.push(kA(r,s));let a=r==fg&&s==fg;o[0]=="<"&&!a&&n.push(kA(s,r))}function $G(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) *"}}var lg=new Set(["true","1"]),cg=new Set(["false","0"]);function kA(t,n){let e=lg.has(t)||cg.has(t),i=lg.has(n)||cg.has(n);return(r,o)=>{let s=t==fg||t==r,a=n==fg||n==o;return!s&&e&&typeof r=="boolean"&&(s=r?lg.has(t):cg.has(t)),!a&&i&&typeof o=="boolean"&&(a=o?lg.has(n):cg.has(n)),s&&a}}var HA=":self",YG=new RegExp(`s*${HA}s*,?`,"g");function BA(t,n,e,i){return new lw(t).build(n,e,i)}var AA="",lw=class{_driver;constructor(n){this._driver=n}build(n,e,i){let r=new cw(e);return this._resetContextStyleTimingState(r),Yn(this,ac(n),r)}_resetContextStyleTimingState(n){n.currentQuerySelector=AA,n.collectedStyles=new Map,n.collectedStyles.set(AA,new Map),n.currentTime=0}visitTrigger(n,e){let i=e.queryCount=0,r=e.depCount=0,o=[],s=[];return n.name.charAt(0)=="@"&&e.errors.push(tA()),n.definitions.forEach(a=>{if(this._resetContextStyleTimingState(e),a.type==ue.State){let l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(u=>{l.name=u,o.push(this.visitState(l,e))}),l.name=c}else if(a.type==ue.Transition){let l=this.visitTransition(a,e);i+=l.queryCount,r+=l.depCount,s.push(l)}else e.errors.push(nA())}),{type:ue.Trigger,name:n.name,states:o,transitions:s,queryCount:i,depCount:r,options:null}}visitState(n,e){let i=this.visitStyle(n.styles,e),r=n.options&&n.options.params||null;if(i.containsDynamicStyles){let o=new Set,s=r||{};i.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{nw(l).forEach(c=>{s.hasOwnProperty(c)||o.add(c)})})}),o.size&&e.errors.push(iA(n.name,[...o.values()]))}return{type:ue.State,name:n.name,style:i,options:r?{params:r}:null}}visitTransition(n,e){e.queryCount=0,e.depCount=0;let i=Yn(this,ac(n.animation),e),r=BG(n.expr,e.errors);return{type:ue.Transition,matchers:r,animation:i,queryCount:e.queryCount,depCount:e.depCount,options:ca(n.options)}}visitSequence(n,e){return{type:ue.Sequence,steps:n.steps.map(i=>Yn(this,i,e)),options:ca(n.options)}}visitGroup(n,e){let i=e.currentTime,r=0,o=n.steps.map(s=>{e.currentTime=i;let a=Yn(this,s,e);return r=Math.max(r,e.currentTime),a});return e.currentTime=r,{type:ue.Group,steps:o,options:ca(n.options)}}visitAnimate(n,e){let i=qG(n.timings,e.errors);e.currentAnimateTimings=i;let r,o=n.styles?n.styles:Ct({});if(o.type==ue.Keyframes)r=this.visitKeyframes(o,e);else{let s=n.styles,a=!1;if(!s){a=!0;let c={};i.easing&&(c.easing=i.easing),s=Ct(c)}e.currentTime+=i.duration+i.delay;let l=this.visitStyle(s,e);l.isEmptyStep=a,r=l}return e.currentAnimateTimings=null,{type:ue.Animate,timings:i,style:r,options:null}}visitStyle(n,e){let i=this._makeStyleAst(n,e);return this._validateStyleAst(i,e),i}_makeStyleAst(n,e){let i=[],r=Array.isArray(n.styles)?n.styles:[n.styles];for(let a of r)typeof a=="string"?a===Mi?i.push(a):e.errors.push(rA(a)):i.push(new Map(Object.entries(a)));let o=!1,s=null;return i.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(s=a.get("easing"),a.delete("easing")),!o)){for(let l of a.values())if(l.toString().indexOf(XC)>=0){o=!0;break}}}),{type:ue.Style,styles:i,easing:s,offset:n.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(n,e){let i=e.currentAnimateTimings,r=e.currentTime,o=e.currentTime;i&&o>0&&(o-=i.duration+i.delay),n.styles.forEach(s=>{typeof s!="string"&&s.forEach((a,l)=>{let c=e.collectedStyles.get(e.currentQuerySelector),u=c.get(l),m=!0;u&&(o!=r&&o>=u.startTime&&r<=u.endTime&&(e.errors.push(oA(l,u.startTime,u.endTime,o,r)),m=!1),o=u.startTime),m&&c.set(l,{startTime:o,endTime:r}),e.options&&EA(a,e.options,e.errors)})})}visitKeyframes(n,e){let i={type:ue.Keyframes,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(sA()),i;let r=1,o=0,s=[],a=!1,l=!1,c=0,u=n.steps.map(V=>{let de=this._makeStyleAst(V,e),De=de.offset!=null?de.offset:GG(de.styles),nt=0;return De!=null&&(o++,nt=de.offset=De),l=l||nt<0||nt>1,a=a||nt0&&o{let De=b>0?de==_?1:b*de:s[de],nt=De*P;e.currentTime=M+I.delay+nt,I.duration=nt,this._validateStyleAst(V,e),V.offset=De,i.styles.push(V)}),i}visitReference(n,e){return{type:ue.Reference,animation:Yn(this,ac(n.animation),e),options:ca(n.options)}}visitAnimateChild(n,e){return e.depCount++,{type:ue.AnimateChild,options:ca(n.options)}}visitAnimateRef(n,e){return{type:ue.AnimateRef,animation:this.visitReference(n.animation,e),options:ca(n.options)}}visitQuery(n,e){let i=e.currentQuerySelector,r=n.options||{};e.queryCount++,e.currentQuery=n;let[o,s]=zG(n.selector);e.currentQuerySelector=i.length?i+" "+o:o,$n(e.collectedStyles,e.currentQuerySelector,new Map);let a=Yn(this,ac(n.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:ue.Query,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:a,originalSelector:n.selector,options:ca(n.options)}}visitStagger(n,e){e.currentQuery||e.errors.push(uA());let i=n.timings==="full"?{duration:0,delay:0,easing:"full"}:gd(n.timings,e.errors,!0);return{type:ue.Stagger,animation:Yn(this,ac(n.animation),e),timings:i,options:null}}};function zG(t){let n=!!t.split(/\s*,\s*/).find(e=>e==HA);return n&&(t=t.replace(YG,"")),t=t.replace(/@\*/g,md).replace(/@\w+/g,e=>md+"-"+e.slice(1)).replace(/:animating/g,og),[t,n]}function WG(t){return t?E({},t):null}var cw=class{errors;queryCount=0;depCount=0;currentTransition=null;currentQuery=null;currentQuerySelector=null;currentAnimateTimings=null;currentTime=0;collectedStyles=new Map;options=null;unsupportedCSSPropertiesFound=new Set;constructor(n){this.errors=n}};function GG(t){if(typeof t=="string")return null;let n=null;if(Array.isArray(t))t.forEach(e=>{if(e instanceof Map&&e.has("offset")){let i=e;n=parseFloat(i.get("offset")),i.delete("offset")}});else if(t instanceof Map&&t.has("offset")){let e=t;n=parseFloat(e.get("offset")),e.delete("offset")}return n}function qG(t,n){if(t.hasOwnProperty("duration"))return t;if(typeof t=="number"){let o=gd(t,n).duration;return iw(o,0,"")}let e=t;if(e.split(/\s+/).some(o=>o.charAt(0)=="{"&&o.charAt(1)=="{")){let o=iw(0,0,"");return o.dynamic=!0,o.strValue=e,o}let r=gd(e,n);return iw(r.duration,r.delay,r.easing)}function ca(t){return t?(t=E({},t),t.params&&(t.params=WG(t.params))):t={},t}function iw(t,n,e){return{duration:t,delay:n,easing:e}}function bw(t,n,e,i,r,o,s=null,a=!1){return{type:1,element:t,keyframes:n,preStyleProps:e,postStyleProps:i,duration:r,delay:o,totalTime:r+o,easing:s,subTimeline:a}}var yd=class{_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()}},QG=1,ZG=":enter",KG=new RegExp(ZG,"g"),JG=":leave",XG=new RegExp(JG,"g");function UA(t,n,e,i,r,o=new Map,s=new Map,a,l,c=[]){return new uw().buildKeyframes(t,n,e,i,r,o,s,a,l,c)}var uw=class{buildKeyframes(n,e,i,r,o,s,a,l,c,u=[]){c=c||new yd;let m=new dw(n,e,c,r,o,u,[]);m.options=l;let b=l.delay?Vr(l.delay):0;m.currentTimeline.delayNextStep(b),m.currentTimeline.setStyles([s],null,m.errors,l),Yn(this,i,m);let _=m.timelines.filter(M=>M.containsAnimation());if(_.length&&a.size){let M;for(let I=_.length-1;I>=0;I--){let P=_[I];if(P.element===e){M=P;break}}M&&!M.allowOnlyTimelineStyles()&&M.setStyles([a],null,m.errors,l)}return _.length?_.map(M=>M.buildKeyframes()):[bw(e,[],[],[],0,b,"",!1)]}visitTrigger(n,e){}visitState(n,e){}visitTransition(n,e){}visitAnimateChild(n,e){let i=e.subInstructions.get(e.element);if(i){let r=e.createSubContext(n.options),o=e.currentTimeline.currentTime,s=this._visitSubInstructions(i,r,r.options);o!=s&&e.transformIntoNewTimeline(s)}e.previousNode=n}visitAnimateRef(n,e){let 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(let r of n){let o=r?.delay;if(o){let s=typeof o=="number"?o:Vr(lc(o,r?.params??{},e.errors));i.delayNextStep(s)}}}_visitSubInstructions(n,e,i){let o=e.currentTimeline.currentTime,s=i.duration!=null?Vr(i.duration):null,a=i.delay!=null?Vr(i.delay):null;return s!==0&&n.forEach(l=>{let c=e.appendInstructionToTimeline(l,s,a);o=Math.max(o,c.duration+c.delay)}),o}visitReference(n,e){e.updateOptions(n.options,!0),Yn(this,n.animation,e),e.previousNode=n}visitSequence(n,e){let i=e.subContextCount,r=e,o=n.options;if(o&&(o.params||o.delay)&&(r=e.createSubContext(o),r.transformIntoNewTimeline(),o.delay!=null)){r.previousNode.type==ue.Style&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=pg);let s=Vr(o.delay);r.delayNextStep(s)}n.steps.length&&(n.steps.forEach(s=>Yn(this,s,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),e.previousNode=n}visitGroup(n,e){let i=[],r=e.currentTimeline.currentTime,o=n.options&&n.options.delay?Vr(n.options.delay):0;n.steps.forEach(s=>{let a=e.createSubContext(n.options);o&&a.delayNextStep(o),Yn(this,s,a),r=Math.max(r,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(s=>e.currentTimeline.mergeTimelineCollectedStyles(s)),e.transformIntoNewTimeline(r),e.previousNode=n}_visitTiming(n,e){if(n.dynamic){let i=n.strValue,r=e.params?lc(i,e.params,e.errors):i;return gd(r,e.errors)}else return{duration:n.duration,delay:n.delay,easing:n.easing}}visitAnimate(n,e){let i=e.currentAnimateTimings=this._visitTiming(n.timings,e),r=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),r.snapshotCurrentStyles());let o=n.style;o.type==ue.Keyframes?this.visitKeyframes(o,e):(e.incrementTime(i.duration),this.visitStyle(o,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=n}visitStyle(n,e){let i=e.currentTimeline,r=e.currentAnimateTimings;!r&&i.hasCurrentStyleProperties()&&i.forwardFrame();let o=r&&r.easing||n.easing;n.isEmptyStep?i.applyEmptyStep(o):i.setStyles(n.styles,o,e.errors,e.options),e.previousNode=n}visitKeyframes(n,e){let i=e.currentAnimateTimings,r=e.currentTimeline.duration,o=i.duration,a=e.createSubContext().currentTimeline;a.easing=i.easing,n.styles.forEach(l=>{let c=l.offset||0;a.forwardTime(c*o),a.setStyles(l.styles,l.easing,e.errors,e.options),a.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(a),e.transformIntoNewTimeline(r+o),e.previousNode=n}visitQuery(n,e){let i=e.currentTimeline.currentTime,r=n.options||{},o=r.delay?Vr(r.delay):0;o&&(e.previousNode.type===ue.Style||i==0&&e.currentTimeline.hasCurrentStyleProperties())&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=pg);let s=i,a=e.invokeQuery(n.selector,n.originalSelector,n.limit,n.includeSelf,!!r.optional,e.errors);e.currentQueryTotal=a.length;let l=null;a.forEach((c,u)=>{e.currentQueryIndex=u;let m=e.createSubContext(n.options,c);o&&m.delayNextStep(o),c===e.element&&(l=m.currentTimeline),Yn(this,n.animation,m),m.currentTimeline.applyStylesToKeyframe();let b=m.currentTimeline.currentTime;s=Math.max(s,b)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=n}visitStagger(n,e){let i=e.parentContext,r=e.currentTimeline,o=n.timings,s=Math.abs(o.duration),a=s*(e.currentQueryTotal-1),l=s*e.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime;break}let u=e.currentTimeline;l&&u.delayNextStep(l);let m=u.currentTime;Yn(this,n.animation,e),e.previousNode=n,i.currentStaggerTime=r.currentTime-m+(r.startTime-i.currentTimeline.startTime)}},pg={},dw=class t{_driver;element;subInstructions;_enterClassName;_leaveClassName;errors;timelines;parentContext=null;currentTimeline;currentAnimateTimings=null;previousNode=pg;subContextCount=0;options={};currentQueryIndex=0;currentQueryTotal=0;currentStaggerTime=0;constructor(n,e,i,r,o,s,a,l){this._driver=n,this.element=e,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=o,this.errors=s,this.timelines=a,this.currentTimeline=l||new mg(this._driver,e,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(n,e){if(!n)return;let i=n,r=this.options;i.duration!=null&&(r.duration=Vr(i.duration)),i.delay!=null&&(r.delay=Vr(i.delay));let o=i.params;if(o){let s=r.params;s||(s=this.options.params={}),Object.keys(o).forEach(a=>{(!e||!s.hasOwnProperty(a))&&(s[a]=lc(o[a],s,this.errors))})}}_copyOptions(){let n={};if(this.options){let e=this.options.params;if(e){let i=n.params={};Object.keys(e).forEach(r=>{i[r]=e[r]})}}return n}createSubContext(n=null,e,i){let r=e||this.element,o=new t(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(n),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}transformIntoNewTimeline(n){return this.previousNode=pg,this.currentTimeline=this.currentTimeline.fork(this.element,n),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(n,e,i){let r={duration:e??n.duration,delay:this.currentTimeline.currentTime+(i??0)+n.delay,easing:""},o=new hw(this._driver,n.element,n.keyframes,n.preStyleProps,n.postStyleProps,r,n.stretchStartingKeyframe);return this.timelines.push(o),r}incrementTime(n){this.currentTimeline.forwardTime(this.currentTimeline.duration+n)}delayNextStep(n){n>0&&this.currentTimeline.delayNextStep(n)}invokeQuery(n,e,i,r,o,s){let a=[];if(r&&a.push(this.element),n.length>0){n=n.replace(KG,"."+this._enterClassName),n=n.replace(XG,"."+this._leaveClassName);let l=i!=1,c=this._driver.query(this.element,n,l);i!==0&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),a.push(...c)}return!o&&a.length==0&&s.push(dA(e)),a}},mg=class t{_driver;element;startTime;_elementTimelineStylesLookup;duration=0;easing=null;_previousKeyframe=new Map;_currentKeyframe=new Map;_keyframes=new Map;_styleSummary=new Map;_localTimelineStyles=new Map;_globalTimelineStyles;_pendingStyles=new Map;_backFill=new Map;_currentEmptyStepKeyframe=null;constructor(n,e,i,r){this._driver=n,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=r,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){let e=this._keyframes.size===1&&this._pendingStyles.size;this.duration||e?(this.forwardTime(this.currentTime+n),e&&this.snapshotCurrentStyles()):this.startTime+=n}fork(n,e){return this.applyStylesToKeyframe(),new t(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+=QG,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||Mi),this._currentKeyframe.set(e,Mi);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(n,e,i,r){e&&this._previousKeyframe.set("easing",e);let o=r&&r.params||{},s=e6(n,this._globalTimelineStyles);for(let[a,l]of s){let c=lc(l,o,i);this._pendingStyles.set(a,c),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??Mi),this._updateStyle(a,c)}}applyStylesToKeyframe(){this._pendingStyles.size!=0&&(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(){let n=[];for(let e in this._currentKeyframe)n.push(e);return n}mergeTimelineCollectedStyles(n){n._styleSummary.forEach((e,i)=>{let r=this._styleSummary.get(i);(!r||e.time>r.time)&&this._updateStyle(i,e.value)})}buildKeyframes(){this.applyStylesToKeyframe();let n=new Set,e=new Set,i=this._keyframes.size===1&&this.duration===0,r=[];this._keyframes.forEach((a,l)=>{let c=new Map([...this._backFill,...a]);c.forEach((u,m)=>{u===Dl?n.add(m):u===Mi&&e.add(m)}),i||c.set("offset",l/this.duration),r.push(c)});let o=[...n.values()],s=[...e.values()];if(i){let a=r[0],l=new Map(a);a.set("offset",0),l.set("offset",1),r=[a,l]}return bw(this.element,r,o,s,this.duration,this.startTime,this.easing,!1)}},hw=class extends mg{keyframes;preStyleProps;postStyleProps;_stretchStartingKeyframe;timings;constructor(n,e,i,r,o,s,a=!1){super(n,e,s.delay),this.keyframes=i,this.preStyleProps=r,this.postStyleProps=o,this._stretchStartingKeyframe=a,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let n=this.keyframes,{delay:e,duration:i,easing:r}=this.timings;if(this._stretchStartingKeyframe&&e){let o=[],s=i+e,a=e/s,l=new Map(n[0]);l.set("offset",0),o.push(l);let c=new Map(n[0]);c.set("offset",RA(a)),o.push(c);let u=n.length-1;for(let m=1;m<=u;m++){let b=new Map(n[m]),_=b.get("offset"),M=e+_*i;b.set("offset",RA(M/s)),o.push(b)}i=s,e=0,r="",n=o}return bw(this.element,n,this.preStyleProps,this.postStyleProps,i,e,r,!0)}};function RA(t,n=3){let e=Math.pow(10,n-1);return Math.round(t*e)/e}function e6(t,n){let e=new Map,i;return t.forEach(r=>{if(r==="*"){i??=n.keys();for(let o of i)e.set(o,Mi)}else for(let[o,s]of r)e.set(o,s)}),e}function PA(t,n,e,i,r,o,s,a,l,c,u,m,b){return{type:0,element:t,triggerName:n,isRemovalTransition:r,fromState:e,fromStyles:o,toState:i,toStyles:s,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:m,errors:b}}var rw={},gg=class{_triggerName;ast;_stateStyles;constructor(n,e,i){this._triggerName=n,this.ast=e,this._stateStyles=i}match(n,e,i,r){return t6(this.ast.matchers,n,e,i,r)}buildStyles(n,e,i){let r=this._stateStyles.get("*");return n!==void 0&&(r=this._stateStyles.get(n?.toString())||r),r?r.buildStyles(e,i):new Map}build(n,e,i,r,o,s,a,l,c,u){let m=[],b=this.ast.options&&this.ast.options.params||rw,_=a&&a.params||rw,M=this.buildStyles(i,_,m),I=l&&l.params||rw,P=this.buildStyles(r,I,m),V=new Set,de=new Map,De=new Map,nt=r==="void",Li={params:$A(I,b),delay:this.ast.options?.delay},ai=u?[]:UA(n,e,this.ast.animation,o,s,M,P,Li,c,m),gn=0;return ai.forEach(Sn=>{gn=Math.max(Sn.duration+Sn.delay,gn)}),m.length?PA(e,this._triggerName,i,r,nt,M,P,[],[],de,De,gn,m):(ai.forEach(Sn=>{let ts=Sn.element,ha=$n(de,ts,new Set);Sn.preStyleProps.forEach(ns=>ha.add(ns));let ww=$n(De,ts,new Set);Sn.postStyleProps.forEach(ns=>ww.add(ns)),ts!==e&&V.add(ts)}),PA(e,this._triggerName,i,r,nt,M,P,ai,[...V.values()],de,De,gn))}};function t6(t,n,e,i,r){return t.some(o=>o(n,e,i,r))}function $A(t,n){let e=E({},n);return Object.entries(t).forEach(([i,r])=>{r!=null&&(e[i]=r)}),e}var fw=class{styles;defaultParams;normalizer;constructor(n,e,i){this.styles=n,this.defaultParams=e,this.normalizer=i}buildStyles(n,e){let i=new Map,r=$A(n,this.defaultParams);return this.styles.styles.forEach(o=>{typeof o!="string"&&o.forEach((s,a)=>{s&&(s=lc(s,r,e));let l=this.normalizer.normalizePropertyName(a,e);s=this.normalizer.normalizeStyleValue(a,l,s,e),i.set(a,s)})}),i}};function n6(t,n,e){return new pw(t,n,e)}var pw=class{name;ast;_normalizer;transitionFactories=[];fallbackTransition;states=new Map;constructor(n,e,i){this.name=n,this.ast=e,this._normalizer=i,e.states.forEach(r=>{let o=r.options&&r.options.params||{};this.states.set(r.name,new fw(r.style,o,i))}),OA(this.states,"true","1"),OA(this.states,"false","0"),e.transitions.forEach(r=>{this.transitionFactories.push(new gg(n,r,this.states))}),this.fallbackTransition=i6(n,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(n,e,i,r){return this.transitionFactories.find(s=>s.match(n,e,i,r))||null}matchStyles(n,e,i){return this.fallbackTransition.buildStyles(n,e,i)}};function i6(t,n,e){let i=[(s,a)=>!0],r={type:ue.Sequence,steps:[],options:null},o={type:ue.Transition,animation:r,matchers:i,options:null,queryCount:0,depCount:0};return new gg(t,o,n)}function OA(t,n,e){t.has(n)?t.has(e)||t.set(e,t.get(n)):t.has(e)&&t.set(n,t.get(e))}var r6=new yd,mw=class{bodyNode;_driver;_normalizer;_animations=new Map;_playersById=new Map;players=[];constructor(n,e,i){this.bodyNode=n,this._driver=e,this._normalizer=i}register(n,e){let i=[],r=[],o=BA(this._driver,e,i,r);if(i.length)throw mA(i);this._animations.set(n,o)}_buildPlayer(n,e,i){let r=n.element,o=QC(this._normalizer,n.keyframes,e,i);return this._driver.animate(r,o,n.duration,n.delay,n.easing,[],!0)}create(n,e,i={}){let r=[],o=this._animations.get(n),s,a=new Map;if(o?(s=UA(this._driver,e,o,ew,rg,new Map,new Map,i,r6,r),s.forEach(u=>{let m=$n(a,u.element,new Map);u.postStyleProps.forEach(b=>m.set(b,null))})):(r.push(gA()),s=[]),r.length)throw _A(r);a.forEach((u,m)=>{u.forEach((b,_)=>{u.set(_,this._driver.computeStyle(m,_,Mi))})});let l=s.map(u=>{let m=a.get(u.element);return this._buildPlayer(u,new Map,m)}),c=uo(l);return this._playersById.set(n,c),c.onDestroy(()=>this.destroy(n)),this.players.push(c),c}destroy(n){let e=this._getPlayer(n);e.destroy(),this._playersById.delete(n);let i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(n){let e=this._playersById.get(n);if(!e)throw yA(n);return e}listen(n,e,i,r){let o=ng(e,"","","");return tg(this._getPlayer(n),i,o,r),()=>{}}command(n,e,i,r){if(i=="register"){this.register(n,r[0]);return}if(i=="create"){let s=r[0]||{};this.create(n,e,s);return}let o=this._getPlayer(n);switch(i){case"play":o.play();break;case"pause":o.pause();break;case"reset":o.reset();break;case"restart":o.restart();break;case"finish":o.finish();break;case"init":o.init();break;case"setPosition":o.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(n);break}}},NA="ng-animate-queued",o6=".ng-animate-queued",ow="ng-animate-disabled",s6=".ng-animate-disabled",a6="ng-star-inserted",l6=".ng-star-inserted",c6=[],YA={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},u6={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},rr="__ng_removed",vd=class{namespaceId;value;options;get params(){return this.options.params}constructor(n,e=""){this.namespaceId=e;let i=n&&n.hasOwnProperty("value"),r=i?n.value:n;if(this.value=h6(r),i){let o=n,{value:s}=o,a=Sg(o,["value"]);this.options=a}else this.options={};this.options.params||(this.options.params={})}absorbOptions(n){let e=n.params;if(e){let i=this.options.params;Object.keys(e).forEach(r=>{i[r]==null&&(i[r]=e[r])})}}},_d="void",sw=new vd(_d),gw=class{id;hostElement;_engine;players=[];_triggers=new Map;_queue=[];_elementListeners=new Map;_hostClassName;constructor(n,e,i){this.id=n,this.hostElement=e,this._engine=i,this._hostClassName="ng-tns-"+n,Ni(e,this._hostClassName)}listen(n,e,i,r){if(!this._triggers.has(e))throw vA(i,e);if(i==null||i.length==0)throw bA(e);if(!f6(i))throw CA(i,e);let o=$n(this._elementListeners,n,[]),s={name:e,phase:i,callback:r};o.push(s);let a=$n(this._engine.statesByElement,n,new Map);return a.has(e)||(Ni(n,pd),Ni(n,pd+"-"+e),a.set(e,sw)),()=>{this._engine.afterFlush(()=>{let l=o.indexOf(s);l>=0&&o.splice(l,1),this._triggers.has(e)||a.delete(e)})}}register(n,e){return this._triggers.has(n)?!1:(this._triggers.set(n,e),!0)}_getTrigger(n){let e=this._triggers.get(n);if(!e)throw wA(n);return e}trigger(n,e,i,r=!0){let o=this._getTrigger(e),s=new bd(this.id,e,n),a=this._engine.statesByElement.get(n);a||(Ni(n,pd),Ni(n,pd+"-"+e),this._engine.statesByElement.set(n,a=new Map));let l=a.get(e),c=new vd(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a.set(e,c),l||(l=sw),!(c.value===_d)&&l.value===c.value){if(!g6(l.params,c.params)){let I=[],P=o.matchStyles(l.value,l.params,I),V=o.matchStyles(c.value,c.params,I);I.length?this._engine.reportError(I):this._engine.afterFlush(()=>{es(n,P),ir(n,V)})}return}let b=$n(this._engine.playersByElement,n,[]);b.forEach(I=>{I.namespaceId==this.id&&I.triggerName==e&&I.queued&&I.destroy()});let _=o.matchTransition(l.value,c.value,n,c.params),M=!1;if(!_){if(!r)return;_=o.fallbackTransition,M=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:e,transition:_,fromState:l,toState:c,player:s,isFallbackTransition:M}),M||(Ni(n,NA),s.onStart(()=>{cc(n,NA)})),s.onDone(()=>{let I=this.players.indexOf(s);I>=0&&this.players.splice(I,1);let P=this._engine.playersByElement.get(n);if(P){let V=P.indexOf(s);V>=0&&P.splice(V,1)}}),this.players.push(s),b.push(s),s}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(r=>r.name!=n))})}clearElementCache(n){this._engine.statesByElement.delete(n),this._elementListeners.delete(n);let e=this._engine.playersByElement.get(n);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(n))}_signalRemovalForInnerTriggers(n,e){let i=this._engine.driver.query(n,md,!0);i.forEach(r=>{if(r[rr])return;let o=this._engine.fetchNamespacesByElement(r);o.size?o.forEach(s=>s.triggerLeaveAnimation(r,e,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(n,e,i,r){let o=this._engine.statesByElement.get(n),s=new Map;if(o){let a=[];if(o.forEach((l,c)=>{if(s.set(c,l.value),this._triggers.has(c)){let u=this.trigger(n,c,_d,r);u&&a.push(u)}}),a.length)return this._engine.markElementAsRemoved(this.id,n,!0,e,s),i&&uo(a).onDone(()=>this._engine.processLeaveNode(n)),!0}return!1}prepareLeaveAnimationListeners(n){let e=this._elementListeners.get(n),i=this._engine.statesByElement.get(n);if(e&&i){let r=new Set;e.forEach(o=>{let s=o.name;if(r.has(s))return;r.add(s);let l=this._triggers.get(s).fallbackTransition,c=i.get(s)||sw,u=new vd(_d),m=new bd(this.id,s,n);this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:s,transition:l,fromState:c,toState:u,player:m,isFallbackTransition:!0})})}}removeNode(n,e){let i=this._engine;if(n.childElementCount&&this._signalRemovalForInnerTriggers(n,e),this.triggerLeaveAnimation(n,e,!0))return;let r=!1;if(i.totalAnimations){let o=i.players.length?i.playersByQueriedElement.get(n):[];if(o&&o.length)r=!0;else{let s=n;for(;s=s.parentNode;)if(i.statesByElement.get(s)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(n),r)i.markElementAsRemoved(this.id,n,!1,e);else{let o=n[rr];(!o||o===YA)&&(i.afterFlush(()=>this.clearElementCache(n)),i.destroyInnerAnimations(n),i._onRemovalComplete(n,e))}}insertNode(n,e){Ni(n,this._hostClassName)}drainQueuedTransitions(n){let e=[];return this._queue.forEach(i=>{let r=i.player;if(r.destroyed)return;let o=i.element,s=this._elementListeners.get(o);s&&s.forEach(a=>{if(a.name==i.triggerName){let l=ng(o,i.triggerName,i.fromState.value,i.toState.value);l._data=n,tg(i.player,a.phase,l,a.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):e.push(i)}),this._queue=[],e.sort((i,r)=>{let o=i.transition.ast.depCount,s=r.transition.ast.depCount;return o==0||s==0?o-s:this._engine.driver.containsElement(i.element,r.element)?1:-1})}destroy(n){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,n)}},_w=class{bodyNode;driver;_normalizer;players=[];newHostElements=new Map;playersByElement=new Map;playersByQueriedElement=new Map;statesByElement=new Map;disabledNodes=new Set;totalAnimations=0;totalQueuedPlayers=0;_namespaceLookup={};_namespaceList=[];_flushFns=[];_whenQuietFns=[];namespacesByHostElement=new Map;collectedEnterElements=[];collectedLeaveElements=[];onRemovalComplete=(n,e)=>{};_onRemovalComplete(n,e){this.onRemovalComplete(n,e)}constructor(n,e,i){this.bodyNode=n,this.driver=e,this._normalizer=i}get queuedPlayers(){let n=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&n.push(i)})}),n}createNamespace(n,e){let i=new gw(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){let i=this._namespaceList,r=this.namespacesByHostElement;if(i.length-1>=0){let s=!1,a=this.driver.getParentElement(e);for(;a;){let l=r.get(a);if(l){let c=i.indexOf(l);i.splice(c+1,0,n),s=!0;break}a=this.driver.getParentElement(a)}s||i.unshift(n)}else i.push(n);return r.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 r=this._namespaceLookup[n];r&&r.register(e,i)&&this.totalAnimations++}destroy(n,e){n&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{let i=this._fetchNamespace(n);this.namespacesByHostElement.delete(i.hostElement);let r=this._namespaceList.indexOf(i);r>=0&&this._namespaceList.splice(r,1),i.destroy(e),delete this._namespaceLookup[n]}))}_fetchNamespace(n){return this._namespaceLookup[n]}fetchNamespacesByElement(n){let e=new Set,i=this.statesByElement.get(n);if(i){for(let r of i.values())if(r.namespaceId){let o=this._fetchNamespace(r.namespaceId);o&&e.add(o)}}return e}trigger(n,e,i,r){if(ug(e)){let o=this._fetchNamespace(n);if(o)return o.trigger(e,i,r),!0}return!1}insertNode(n,e,i,r){if(!ug(e))return;let o=e[rr];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;let s=this.collectedLeaveElements.indexOf(e);s>=0&&this.collectedLeaveElements.splice(s,1)}if(n){let s=this._fetchNamespace(n);s&&s.insertNode(e,i)}r&&this.collectEnterElement(e)}collectEnterElement(n){this.collectedEnterElements.push(n)}markElementAsDisabled(n,e){e?this.disabledNodes.has(n)||(this.disabledNodes.add(n),Ni(n,ow)):this.disabledNodes.has(n)&&(this.disabledNodes.delete(n),cc(n,ow))}removeNode(n,e,i){if(ug(e)){let r=n?this._fetchNamespace(n):null;r?r.removeNode(e,i):this.markElementAsRemoved(n,e,!1,i);let o=this.namespacesByHostElement.get(e);o&&o.id!==n&&o.removeNode(e,i)}else this._onRemovalComplete(e,i)}markElementAsRemoved(n,e,i,r,o){this.collectedLeaveElements.push(e),e[rr]={namespaceId:n,setForRemoval:r,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:o}}listen(n,e,i,r,o){return ug(e)?this._fetchNamespace(n).listen(e,i,r,o):()=>{}}_buildInstruction(n,e,i,r,o){return n.transition.build(this.driver,n.element,n.fromState.value,n.toState.value,i,r,n.fromState.options,n.toState.options,e,o)}destroyInnerAnimations(n){let e=this.driver.query(n,md,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),this.playersByQueriedElement.size!=0&&(e=this.driver.query(n,og,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(n){let e=this.playersByElement.get(n);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(n){let e=this.playersByQueriedElement.get(n);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(n=>{if(this.players.length)return uo(this.players).onDone(()=>n());n()})}processLeaveNode(n){let e=n[rr];if(e&&e.setForRemoval){if(n[rr]=YA,e.namespaceId){this.destroyInnerAnimations(n);let i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(n)}this._onRemovalComplete(n,e.setForRemoval)}n.classList?.contains(ow)&&this.markElementAsDisabled(n,!1),this.driver.query(n,s6,!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(n=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,r)=>this._balanceNamespaceList(i,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){let i=this._whenQuietFns;this._whenQuietFns=[],e.length?uo(e).onDone(()=>{i.forEach(r=>r())}):i.forEach(r=>r())}}reportError(n){throw DA(n)}_flushAnimations(n,e){let i=new yd,r=[],o=new Map,s=[],a=new Map,l=new Map,c=new Map,u=new Set;this.disabledNodes.forEach(z=>{u.add(z);let Z=this.driver.query(z,o6,!0);for(let ee=0;ee{let ee=ew+I++;M.set(Z,ee),z.forEach(Oe=>Ni(Oe,ee))});let P=[],V=new Set,de=new Set;for(let z=0;zV.add(Oe)):de.add(Z))}let De=new Map,nt=VA(b,Array.from(V));nt.forEach((z,Z)=>{let ee=rg+I++;De.set(Z,ee),z.forEach(Oe=>Ni(Oe,ee))}),n.push(()=>{_.forEach((z,Z)=>{let ee=M.get(Z);z.forEach(Oe=>cc(Oe,ee))}),nt.forEach((z,Z)=>{let ee=De.get(Z);z.forEach(Oe=>cc(Oe,ee))}),P.forEach(z=>{this.processLeaveNode(z)})});let Li=[],ai=[];for(let z=this._namespaceList.length-1;z>=0;z--)this._namespaceList[z].drainQueuedTransitions(e).forEach(ee=>{let Oe=ee.player,Zt=ee.element;if(Li.push(Oe),this.collectedEnterElements.length){let cn=Zt[rr];if(cn&&cn.setForMove){if(cn.previousTriggersValues&&cn.previousTriggersValues.has(ee.triggerName)){let is=cn.previousTriggersValues.get(ee.triggerName),li=this.statesByElement.get(ee.element);if(li&&li.has(ee.triggerName)){let Cd=li.get(ee.triggerName);Cd.value=is,li.set(ee.triggerName,Cd)}}Oe.destroy();return}}let or=!m||!this.driver.containsElement(m,Zt),zn=De.get(Zt),ho=M.get(Zt),_t=this._buildInstruction(ee,i,ho,zn,or);if(_t.errors&&_t.errors.length){ai.push(_t);return}if(or){Oe.onStart(()=>es(Zt,_t.fromStyles)),Oe.onDestroy(()=>ir(Zt,_t.toStyles)),r.push(Oe);return}if(ee.isFallbackTransition){Oe.onStart(()=>es(Zt,_t.fromStyles)),Oe.onDestroy(()=>ir(Zt,_t.toStyles)),r.push(Oe);return}let Sw=[];_t.timelines.forEach(cn=>{cn.stretchStartingKeyframe=!0,this.disabledNodes.has(cn.element)||Sw.push(cn)}),_t.timelines=Sw,i.append(Zt,_t.timelines);let rR={instruction:_t,player:Oe,element:Zt};s.push(rR),_t.queriedElements.forEach(cn=>$n(a,cn,[]).push(Oe)),_t.preStyleProps.forEach((cn,is)=>{if(cn.size){let li=l.get(is);li||l.set(is,li=new Set),cn.forEach((Cd,Mg)=>li.add(Mg))}}),_t.postStyleProps.forEach((cn,is)=>{let li=c.get(is);li||c.set(is,li=new Set),cn.forEach((Cd,Mg)=>li.add(Mg))})});if(ai.length){let z=[];ai.forEach(Z=>{z.push(MA(Z.triggerName,Z.errors))}),Li.forEach(Z=>Z.destroy()),this.reportError(z)}let gn=new Map,Sn=new Map;s.forEach(z=>{let Z=z.element;i.has(Z)&&(Sn.set(Z,Z),this._beforeAnimationBuild(z.player.namespaceId,z.instruction,gn))}),r.forEach(z=>{let Z=z.element;this._getPreviousPlayers(Z,!1,z.namespaceId,z.triggerName,null).forEach(Oe=>{$n(gn,Z,[]).push(Oe),Oe.destroy()})});let ts=P.filter(z=>jA(z,l,c)),ha=new Map;FA(ha,this.driver,de,c,Mi).forEach(z=>{jA(z,l,c)&&ts.push(z)});let ns=new Map;_.forEach((z,Z)=>{FA(ns,this.driver,new Set(z),l,Dl)}),ts.forEach(z=>{let Z=ha.get(z),ee=ns.get(z);ha.set(z,new Map([...Z?.entries()??[],...ee?.entries()??[]]))});let Dg=[],Dw=[],Mw={};s.forEach(z=>{let{element:Z,player:ee,instruction:Oe}=z;if(i.has(Z)){if(u.has(Z)){ee.onDestroy(()=>ir(Z,Oe.toStyles)),ee.disabled=!0,ee.overrideTotalTime(Oe.totalTime),r.push(ee);return}let Zt=Mw;if(Sn.size>1){let zn=Z,ho=[];for(;zn=zn.parentNode;){let _t=Sn.get(zn);if(_t){Zt=_t;break}ho.push(zn)}ho.forEach(_t=>Sn.set(_t,Zt))}let or=this._buildAnimation(ee.namespaceId,Oe,gn,o,ns,ha);if(ee.setRealPlayer(or),Zt===Mw)Dg.push(ee);else{let zn=this.playersByElement.get(Zt);zn&&zn.length&&(ee.parentPlayer=uo(zn)),r.push(ee)}}else es(Z,Oe.fromStyles),ee.onDestroy(()=>ir(Z,Oe.toStyles)),Dw.push(ee),u.has(Z)&&r.push(ee)}),Dw.forEach(z=>{let Z=o.get(z.element);if(Z&&Z.length){let ee=uo(Z);z.setRealPlayer(ee)}}),r.forEach(z=>{z.parentPlayer?z.syncPlayerEvents(z.parentPlayer):z.destroy()});for(let z=0;z!or.destroyed);Zt.length?p6(this,Z,Zt):this.processLeaveNode(Z)}return P.length=0,Dg.forEach(z=>{this.players.push(z),z.onDone(()=>{z.destroy();let Z=this.players.indexOf(z);this.players.splice(Z,1)}),z.play()}),Dg}afterFlush(n){this._flushFns.push(n)}afterFlushAnimationsDone(n){this._whenQuietFns.push(n)}_getPreviousPlayers(n,e,i,r,o){let s=[];if(e){let a=this.playersByQueriedElement.get(n);a&&(s=a)}else{let a=this.playersByElement.get(n);if(a){let l=!o||o==_d;a.forEach(c=>{c.queued||!l&&c.triggerName!=r||s.push(c)})}}return(i||r)&&(s=s.filter(a=>!(i&&i!=a.namespaceId||r&&r!=a.triggerName))),s}_beforeAnimationBuild(n,e,i){let r=e.triggerName,o=e.element,s=e.isRemovalTransition?void 0:n,a=e.isRemovalTransition?void 0:r;for(let l of e.timelines){let c=l.element,u=c!==o,m=$n(i,c,[]);this._getPreviousPlayers(c,u,s,a,e.toState).forEach(_=>{let M=_.getRealPlayer();M.beforeDestroy&&M.beforeDestroy(),_.destroy(),m.push(_)})}es(o,e.fromStyles)}_buildAnimation(n,e,i,r,o,s){let a=e.triggerName,l=e.element,c=[],u=new Set,m=new Set,b=e.timelines.map(M=>{let I=M.element;u.add(I);let P=I[rr];if(P&&P.removedBeforeQueried)return new xr(M.duration,M.delay);let V=I!==l,de=m6((i.get(I)||c6).map(gn=>gn.getRealPlayer())).filter(gn=>{let Sn=gn;return Sn.element?Sn.element===I:!1}),De=o.get(I),nt=s.get(I),Li=QC(this._normalizer,M.keyframes,De,nt),ai=this._buildPlayer(M,Li,de);if(M.subTimeline&&r&&m.add(I),V){let gn=new bd(n,a,I);gn.setRealPlayer(ai),c.push(gn)}return ai});c.forEach(M=>{$n(this.playersByQueriedElement,M.element,[]).push(M),M.onDone(()=>d6(this.playersByQueriedElement,M.element,M))}),u.forEach(M=>Ni(M,tw));let _=uo(b);return _.onDestroy(()=>{u.forEach(M=>cc(M,tw)),ir(l,e.toStyles)}),m.forEach(M=>{$n(r,M,[]).push(_)}),_}_buildPlayer(n,e,i){return e.length>0?this.driver.animate(n.element,e,n.duration,n.delay,n.easing,i):new xr(n.duration,n.delay)}},bd=class{namespaceId;triggerName;element;_player=new xr;_containsRealPlayer=!1;_queuedCallbacks=new Map;destroyed=!1;parentPlayer=null;markedForDestroy=!1;disabled=!1;queued=!0;totalTime=0;constructor(n,e,i){this.namespaceId=n,this.triggerName=e,this.element=i}setRealPlayer(n){this._containsRealPlayer||(this._player=n,this._queuedCallbacks.forEach((e,i)=>{e.forEach(r=>tg(n,i,void 0,r))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(n.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(n){this.totalTime=n}syncPlayerEvents(n){let e=this._player;e.triggerCallback&&n.onStart(()=>e.triggerCallback("start")),n.onDone(()=>this.finish()),n.onDestroy(()=>this.destroy())}_queueEvent(n,e){$n(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?!1: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){let e=this._player;e.triggerCallback&&e.triggerCallback(n)}};function d6(t,n,e){let i=t.get(n);if(i){if(i.length){let r=i.indexOf(e);i.splice(r,1)}i.length==0&&t.delete(n)}return i}function h6(t){return t??null}function ug(t){return t&&t.nodeType===1}function f6(t){return t=="start"||t=="done"}function LA(t,n){let e=t.style.display;return t.style.display=n??"none",e}function FA(t,n,e,i,r){let o=[];e.forEach(l=>o.push(LA(l)));let s=[];i.forEach((l,c)=>{let u=new Map;l.forEach(m=>{let b=n.computeStyle(c,m,r);u.set(m,b),(!b||b.length==0)&&(c[rr]=u6,s.push(c))}),t.set(c,u)});let a=0;return e.forEach(l=>LA(l,o[a++])),s}function VA(t,n){let e=new Map;if(t.forEach(a=>e.set(a,[])),n.length==0)return e;let i=1,r=new Set(n),o=new Map;function s(a){if(!a)return i;let l=o.get(a);if(l)return l;let c=a.parentNode;return e.has(c)?l=c:r.has(c)?l=i:l=s(c),o.set(a,l),l}return n.forEach(a=>{let l=s(a);l!==i&&e.get(l).push(a)}),e}function Ni(t,n){t.classList?.add(n)}function cc(t,n){t.classList?.remove(n)}function p6(t,n,e){uo(e).onDone(()=>t.processLeaveNode(n))}function m6(t){let n=[];return zA(t,n),n}function zA(t,n){for(let e=0;er.add(o)):n.set(t,i),e.delete(t),!0}var uc=class{_driver;_normalizer;_transitionEngine;_timelineEngine;_triggerCache={};onRemovalComplete=(n,e)=>{};constructor(n,e,i){this._driver=e,this._normalizer=i,this._transitionEngine=new _w(n.body,e,i),this._timelineEngine=new mw(n.body,e,i),this._transitionEngine.onRemovalComplete=(r,o)=>this.onRemovalComplete(r,o)}registerTrigger(n,e,i,r,o){let s=n+"-"+r,a=this._triggerCache[s];if(!a){let l=[],c=[],u=BA(this._driver,o,l,c);if(l.length)throw pA(r,l);a=n6(r,u,this._normalizer),this._triggerCache[s]=a}this._transitionEngine.registerTrigger(e,r,a)}register(n,e){this._transitionEngine.register(n,e)}destroy(n,e){this._transitionEngine.destroy(n,e)}onInsert(n,e,i,r){this._transitionEngine.insertNode(n,e,i,r)}onRemove(n,e,i){this._transitionEngine.removeNode(n,e,i)}disableAnimations(n,e){this._transitionEngine.markElementAsDisabled(n,e)}process(n,e,i,r){if(i.charAt(0)=="@"){let[o,s]=ZC(i),a=r;this._timelineEngine.command(o,e,s,a)}else this._transitionEngine.trigger(n,e,i,r)}listen(n,e,i,r,o){if(i.charAt(0)=="@"){let[s,a]=ZC(i);return this._timelineEngine.listen(s,e,a,o)}return this._transitionEngine.listen(n,e,i,r,o)}flush(n=-1){this._transitionEngine.flush(n)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(n){this._transitionEngine.afterFlushAnimationsDone(n)}};function _6(t,n){let e=null,i=null;return Array.isArray(n)&&n.length?(e=aw(n[0]),n.length>1&&(i=aw(n[n.length-1]))):n instanceof Map&&(e=aw(n)),e||i?new y6(t,e,i):null}var y6=(()=>{class t{_element;_startStyles;_endStyles;static initialStylesByElement=new WeakMap;_state=0;_initialStyles;constructor(e,i,r){this._element=e,this._startStyles=i,this._endStyles=r;let o=t.initialStylesByElement.get(e);o||t.initialStylesByElement.set(e,o=new Map),this._initialStyles=o}start(){this._state<1&&(this._startStyles&&ir(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(ir(this._element,this._initialStyles),this._endStyles&&(ir(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(es(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(es(this._element,this._endStyles),this._endStyles=null),ir(this._element,this._initialStyles),this._state=3)}}return t})();function aw(t){let n=null;return t.forEach((e,i)=>{v6(i)&&(n=n||new Map,n.set(i,e))}),n}function v6(t){return t==="display"||t==="position"}var _g=class{element;keyframes;options;_specialStyles;_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_duration;_delay;_initialized=!1;_finished=!1;_started=!1;_destroyed=!1;_finalKeyframe;_originalOnDoneFns=[];_originalOnStartFns=[];domPlayer;time=0;parentPlayer=null;currentSnapshot=new Map;constructor(n,e,i,r){this.element=n,this.keyframes=e,this.options=i,this._specialStyles=r,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;let n=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,n,this.options),this._finalKeyframe=n.length?n[n.length-1]:new Map;let e=()=>this._onFinish();this.domPlayer.addEventListener("finish",e),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",e)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(n){let 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){this.domPlayer===void 0&&this.init(),this.domPlayer.currentTime=n*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){let n=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,r)=>{r!=="offset"&&n.set(r,this._finished?i:ag(this.element,r))}),this.currentSnapshot=n}triggerCallback(n){let e=n==="start"?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}},yg=class{validateStyleProperty(n){return!0}validateAnimatableStyleProperty(n){return!0}containsElement(n,e){return KC(n,e)}getParentElement(n){return ig(n)}query(n,e,i){return JC(n,e,i)}computeStyle(n,e,i){return ag(n,e)}animate(n,e,i,r,o,s=[]){let a=r==0?"both":"forwards",l={duration:i,delay:r,fill:a};o&&(l.easing=o);let c=new Map,u=s.filter(_=>_ instanceof _g);IA(i,r)&&u.forEach(_=>{_.currentSnapshot.forEach((M,I)=>c.set(I,M))});let m=TA(e).map(_=>new Map(_));m=xA(n,m,c);let b=_6(n,m);return new _g(n,m,l,b)}};var dg="@",WA="@.disabled",vg=class{namespaceId;delegate;engine;_onDestroy;\u0275type=0;constructor(n,e,i,r){this.namespaceId=n,this.delegate=e,this.engine=i,this._onDestroy=r}get data(){return this.delegate.data}destroyNode(n){this.delegate.destroyNode?.(n)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{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,r=!0){this.delegate.insertBefore(n,e,i),this.engine.onInsert(this.namespaceId,e,n,r)}removeChild(n,e,i){this.parentNode(e)&&this.engine.onRemove(this.namespaceId,e,this.delegate)}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,r){this.delegate.setAttribute(n,e,i,r)}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,r){this.delegate.setStyle(n,e,i,r)}removeStyle(n,e,i){this.delegate.removeStyle(n,e,i)}setProperty(n,e,i){e.charAt(0)==dg&&e==WA?this.disableAnimations(n,!!i):this.delegate.setProperty(n,e,i)}setValue(n,e){this.delegate.setValue(n,e)}listen(n,e,i,r){return this.delegate.listen(n,e,i,r)}disableAnimations(n,e){this.engine.disableAnimations(n,e)}},yw=class extends vg{factory;constructor(n,e,i,r,o){super(e,i,r,o),this.factory=n,this.namespaceId=e}setProperty(n,e,i){e.charAt(0)==dg?e.charAt(1)=="."&&e==WA?(i=i===void 0?!0:!!i,this.disableAnimations(n,i)):this.engine.process(this.namespaceId,n,e.slice(1),i):this.delegate.setProperty(n,e,i)}listen(n,e,i,r){if(e.charAt(0)==dg){let o=b6(n),s=e.slice(1),a="";return s.charAt(0)!=dg&&([s,a]=C6(s)),this.engine.listen(this.namespaceId,o,s,a,l=>{let c=l._data||-1;this.factory.scheduleListenerCallback(c,i,l)})}return this.delegate.listen(n,e,i,r)}};function b6(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}function C6(t){let n=t.indexOf("."),e=t.substring(0,n),i=t.slice(n+1);return[e,i]}var bg=class{delegate;engine;_zone;_currentId=0;_microtaskId=1;_animationCallbacksBuffer=[];_rendererCache=new Map;_cdRecurDepth=0;constructor(n,e,i){this.delegate=n,this.engine=e,this._zone=i,e.onRemovalComplete=(r,o)=>{o?.removeChild(null,r)}}createRenderer(n,e){let i="",r=this.delegate.createRenderer(n,e);if(!n||!e?.data?.animation){let c=this._rendererCache,u=c.get(r);if(!u){let m=()=>c.delete(r);u=new vg(i,r,this.engine,m),c.set(r,u)}return u}let o=e.id,s=e.id+"-"+this._currentId;this._currentId++,this.engine.register(s,n);let a=c=>{Array.isArray(c)?c.forEach(a):this.engine.registerTrigger(o,s,n,c.name,c)};return e.data.animation.forEach(a),new yw(this,s,r,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(n,e,i){if(n>=0&&ne(i));return}let r=this._animationCallbacksBuffer;r.length==0&&queueMicrotask(()=>{this._zone.run(()=>{r.forEach(o=>{let[s,a]=o;s(a)}),this._animationCallbacksBuffer=[]})}),r.push([e,i])}end(){this._cdRecurDepth--,this._cdRecurDepth==0&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}componentReplaced(n){this.engine.flush(),this.delegate.componentReplaced?.(n)}};var D6=(()=>{class t extends uc{constructor(e,i,r){super(e,i,r)}ngOnDestroy(){this.flush()}static \u0275fac=function(i){return new(i||t)(F(Ie),F(ua),F(da))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})();function M6(){return new hg}function S6(t,n,e){return new bg(t,n,e)}var GA=[{provide:da,useFactory:M6},{provide:uc,useClass:D6},{provide:kn,useFactory:S6,deps:[tu,uc,Se]}],ige=[{provide:ua,useClass:vw},{provide:Vc,useValue:"NoopAnimations"},...GA],T6=[{provide:ua,useFactory:()=>new yg},{provide:Vc,useFactory:()=>"BrowserAnimations"},...GA];function qA(){return Za("NgEagerAnimations"),[...T6]}var QA=(t,n)=>{let e=S(an),i=S(nn);return n(t).pipe(ji(r=>{if(r)switch(r.status){case 400:if(r.error.errors){if(r.error.errors){let s=[];for(let a in r.error.errors)r.error.errors[a]&&s.push(r.error.errors[a]);throw s.flat()}}else i.error(r.error,r.status);break;case 401:i.error("Unauthorised",r.status);break;case 404:e.navigateByUrl("/not-found");break;case 500:let o={state:{error:r.error}};e.navigateByUrl("/server-error",o);break;default:i.error("Something unexpected went wrong"),console.log(r);break}throw r}))};var ZA=(t,n)=>{let e=S(tt);return e.currentUser()&&(t=t.clone({setHeaders:{Authorization:`Bearer ${e.currentUser()?.token}`}})),n(t)};var KA=(t,n)=>{let e=S(rc);return e.busy(),n(t).pipe(Yt.production?Kt:vc(500),di(()=>{e.idle()}))};var JA={providers:[H0(Kk),m0(g0([QA,ZA,KA])),qA(),mb({positionClass:"toast-bottom-right"}),By(Ok,Nr.forRoot(),Wk.forRoot())]};var E6=["*"],I6=t=>({dropdown:t}),XA=(()=>{class t{constructor(){this.autoClose=!0,this.insideClick=!1,this.isAnimated=!1,this.stopOnClickPropagation=!1}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),dc=(()=>{class t{constructor(){this.direction="down",this.autoClose=!0,this.insideClick=!1,this.isAnimated=!1,this.stopOnClickPropagation=!1,this.isOpenChange=new O,this.isDisabledChange=new O,this.toggleClick=new O,this.counts=0,this.dropdownMenu=new Promise(e=>{this.resolveDropdownMenu=e})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),x6="220ms cubic-bezier(0, 0, 0.2, 1)",eR=[Ct({height:0,overflow:"hidden"}),Mn(x6,Ct({height:"*",overflow:"hidden"}))],k6=(()=>{class t{get direction(){return this._state.direction}constructor(e,i,r,o,s){this._state=e,this.cd=i,this._renderer=r,this._element=o,this.isOpen=!1,this._factoryDropDownAnimation=s.build(eR),this._subscription=e.isOpenChange.subscribe(a=>{this.isOpen=a;let l=this._element.nativeElement.querySelector(".dropdown-menu");this._renderer.addClass(this._element.nativeElement.querySelector("div"),"open"),l&&(this._renderer.addClass(l,"show"),(l.classList.contains("dropdown-menu-right")||l.classList.contains("dropdown-menu-end"))&&(this._renderer.setStyle(l,"left","auto"),this._renderer.setStyle(l,"right","0")),this.direction==="up"&&(this._renderer.setStyle(l,"top","auto"),this._renderer.setStyle(l,"transform","translateY(-101%)"))),l&&this._state.isAnimated&&this._factoryDropDownAnimation.create(l).play(),this.cd.markForCheck(),this.cd.detectChanges()})}_contains(e){return this._element.nativeElement.contains(e)}ngOnDestroy(){this._subscription.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(v(dc),v(it),v(ke),v($),v(Up))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-dropdown-container"]],hostAttrs:[2,"display","block","position","absolute","z-index","1040"],ngContentSelectors:E6,decls:2,vars:9,consts:[[3,"ngClass"]],template:function(i,r){i&1&&(Nn(),d(0,"div",0),Cn(1),h()),i&2&&(j("dropup",r.direction==="up")("show",r.isOpen)("open",r.isOpen),g("ngClass",gr(7,I6,r.direction==="down")))},dependencies:[sn],encapsulation:2,changeDetection:0})}}return t})(),Cw=(()=>{class t{set autoClose(e){this._state.autoClose=e}get autoClose(){return this._state.autoClose}set isAnimated(e){this._state.isAnimated=e}get isAnimated(){return this._state.isAnimated}set insideClick(e){this._state.insideClick=e}get insideClick(){return this._state.insideClick}set isDisabled(e){this._isDisabled=e,this._state.isDisabledChange.emit(e),e&&this.hide()}get isDisabled(){return this._isDisabled}get isOpen(){return this._showInline?this._isInlineOpen:this._dropdown.isShown}set isOpen(e){e?this.show():this.hide()}get _showInline(){return!this.container}constructor(e,i,r,o,s,a,l){this._elementRef=e,this._renderer=i,this._viewContainerRef=r,this._cis=o,this._state=s,this._config=a,this.dropup=!1,this._isInlineOpen=!1,this._isDisabled=!1,this._subscriptions=[],this._isInited=!1,this._state.autoClose=this._config.autoClose,this._state.insideClick=this._config.insideClick,this._state.isAnimated=this._config.isAnimated,this._state.stopOnClickPropagation=this._config.stopOnClickPropagation,this._factoryDropDownAnimation=l.build(eR),this._dropdown=this._cis.createLoader(this._elementRef,this._viewContainerRef,this._renderer).provide({provide:dc,useValue:this._state}),this.onShown=this._dropdown.onShown,this.onHidden=this._dropdown.onHidden,this.isOpenChange=this._state.isOpenChange}ngOnInit(){this._isInited||(this._isInited=!0,this._dropdown.listen({outsideClick:!1,triggers:this.triggers,show:()=>this.show()}),this._subscriptions.push(this._state.toggleClick.subscribe(e=>this.toggle(e))),this._subscriptions.push(this._state.isDisabledChange.pipe(le(e=>e)).subscribe(()=>this.hide())))}show(){if(!(this.isOpen||this.isDisabled)){if(this._showInline){this._inlinedMenu||this._state.dropdownMenu.then(e=>{this._dropdown.attachInline(e.viewContainer,e.templateRef),this._inlinedMenu=this._dropdown._inlineViewRef,this.addBs4Polyfills(),this._inlinedMenu&&this._renderer.addClass(this._inlinedMenu.rootNodes[0].parentNode,"open"),this.playAnimation()}).catch(),this.addBs4Polyfills(),this._isInlineOpen=!0,this.onShown.emit(!0),this._state.isOpenChange.emit(!0),this.playAnimation();return}this._state.dropdownMenu.then(e=>{let i=this.dropup||typeof this.dropup<"u"&&this.dropup;this._state.direction=i?"up":"down";let r=this.placement||(i?"top start":"bottom start");this._dropdown.attach(k6).to(this.container).position({attachment:r}).show({content:e.templateRef,placement:r}),this._state.isOpenChange.emit(!0)}).catch()}}hide(){this.isOpen&&(this._showInline?(this.removeShowClass(),this.removeDropupStyles(),this._isInlineOpen=!1,this.onHidden.emit(!0)):this._dropdown.hide(),this._state.isOpenChange.emit(!1))}toggle(e){return this.isOpen||!e?this.hide():this.show()}_contains(e){return this._elementRef.nativeElement.contains(e.target)||this._dropdown.instance&&this._dropdown.instance._contains(e.target)}navigationClick(e){let i=this._elementRef.nativeElement.querySelector(".dropdown-menu");if(!i)return;let r=this._elementRef.nativeElement.ownerDocument.activeElement,o=i.querySelectorAll(".dropdown-item");switch(e.keyCode){case 38:this._state.counts>0&&o[--this._state.counts].focus();break;case 40:this._state.counts+1{this._inlinedMenu&&this._factoryDropDownAnimation.create(this._inlinedMenu.rootNodes[0]).play()})}addShowClass(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&this._renderer.addClass(this._inlinedMenu.rootNodes[0],"show")}removeShowClass(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&this._renderer.removeClass(this._inlinedMenu.rootNodes[0],"show")}checkRightAlignment(){if(this._inlinedMenu&&this._inlinedMenu.rootNodes[0]){let e=this._inlinedMenu.rootNodes[0].classList.contains("dropdown-menu-right")||this._inlinedMenu.rootNodes[0].classList.contains("dropdown-menu-end");this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"left",e?"auto":"0"),this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"right",e?"0":"auto")}}addDropupStyles(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&(this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"top",this.dropup?"auto":"100%"),this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"transform",this.dropup?"translateY(-101%)":"translateY(0)"),this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"bottom","auto"))}removeDropupStyles(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&(this._renderer.removeStyle(this._inlinedMenu.rootNodes[0],"top"),this._renderer.removeStyle(this._inlinedMenu.rootNodes[0],"transform"),this._renderer.removeStyle(this._inlinedMenu.rootNodes[0],"bottom"))}static{this.\u0275fac=function(i){return new(i||t)(v($),v(ke),v(pt),v(Qt),v(dc),v(XA),v(Up))}}static{this.\u0275dir=B({type:t,selectors:[["","bsDropdown",""],["","dropdown",""]],hostVars:6,hostBindings:function(i,r){i&1&&D("keydown.arrowDown",function(s){return r.navigationClick(s)})("keydown.arrowUp",function(s){return r.navigationClick(s)}),i&2&&j("dropup",r.dropup)("open",r.isOpen)("show",r.isOpen)},inputs:{placement:"placement",triggers:"triggers",container:"container",dropup:"dropup",autoClose:"autoClose",isAnimated:"isAnimated",insideClick:"insideClick",isDisabled:"isDisabled",isOpen:"isOpen"},outputs:{isOpenChange:"isOpenChange",onShown:"onShown",onHidden:"onHidden"},exportAs:["bs-dropdown"],features:[ce([dc,Qt,XA])]})}}return t})(),tR=(()=>{class t{constructor(e,i,r){e.resolveDropdownMenu({templateRef:r,viewContainer:i})}static{this.\u0275fac=function(i){return new(i||t)(v(dc),v(pt),v(Et))}}static{this.\u0275dir=B({type:t,selectors:[["","bsDropdownMenu",""],["","dropdownMenu",""]],exportAs:["bs-dropdown-menu"]})}}return t})(),nR=(()=>{class t{constructor(e,i,r,o,s){this._changeDetectorRef=e,this._dropdown=i,this._element=r,this._renderer=o,this._state=s,this.isOpen=!1,this._subscriptions=[],this._subscriptions.push(this._state.isOpenChange.subscribe(a=>{this.isOpen=a,a?(this._documentClickListener=this._renderer.listen("document","click",l=>{this._state.autoClose&&l.button!==2&&!this._element.nativeElement.contains(l.target)&&!(this._state.insideClick&&this._dropdown._contains(l))&&(this._state.toggleClick.emit(!1),this._changeDetectorRef.detectChanges())}),this._escKeyUpListener=this._renderer.listen(this._element.nativeElement,"keyup.esc",()=>{this._state.autoClose&&(this._state.toggleClick.emit(!1),this._changeDetectorRef.detectChanges())})):(this._documentClickListener&&this._documentClickListener(),this._escKeyUpListener&&this._escKeyUpListener())})),this._subscriptions.push(this._state.isDisabledChange.subscribe(a=>this.isDisabled=a||void 0))}onClick(e){this._state.stopOnClickPropagation&&e.stopPropagation(),!this.isDisabled&&this._state.toggleClick.emit(!0)}ngOnDestroy(){this._documentClickListener&&this._documentClickListener(),this._escKeyUpListener&&this._escKeyUpListener();for(let e of this._subscriptions)e.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(v(it),v(Cw),v($),v(ke),v(dc))}}static{this.\u0275dir=B({type:t,selectors:[["","bsDropdownToggle",""],["","dropdownToggle",""]],hostVars:3,hostBindings:function(i,r){i&1&&D("click",function(s){return r.onClick(s)}),i&2&&J("aria-haspopup",!0)("disabled",r.isDisabled)("aria-expanded",r.isOpen)},exportAs:["bs-dropdown-toggle"]})}}return t})(),iR=(()=>{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=Ce({type:t})}static{this.\u0275inj=be({})}}return t})();var R6=t=>({collapse:t}),P6=()=>["Admin","Moderator"];function O6(t,n){t&1&&(d(0,"li",12)(1,"a",17),y(2,"Admin"),h()())}function N6(t,n){t&1&&(d(0,"li",12)(1,"a",13),y(2,"Matches"),h()(),d(3,"li",12)(4,"a",14),y(5,"Lists"),h()(),d(6,"li",12)(7,"a",15),y(8,"Messages"),h()(),T(9,O6,3,0,"li",16)),t&2&&(f(9),g("appHasRole",Qr(1,P6)))}function L6(t,n){if(t&1){let e=N();d(0,"div",21)(1,"a",22),y(2,"Edit profile"),h(),A(3,"div",23),d(4,"a",24),D("click",function(){C(e);let r=p(2);return w(r.logout())}),y(5,"Logout"),h()()}}function F6(t,n){if(t&1&&(d(0,"div",10),A(1,"img",18),d(2,"a",19),y(3),h(),T(4,L6,6,0,"div",20),h()),t&2){let e,i,r=p();f(),Pt("src",((e=r.currentUser())==null?null:e.photoUrl)||"https://th.bing.com/th/id/OIP.PoS7waY4-VeqgNuBSxVUogAAAA?rs=1&pid=ImgDetMain",ft),f(2),pe("Welcome ",(i=r.currentUser())==null?null:i.knownAs,"")}}function V6(t,n){if(t&1){let e=N();d(0,"form",25,0),D("ngSubmit",function(){C(e);let r=p();return w(r.login())}),d(2,"input",26),Pe("ngModelChange",function(r){C(e);let o=p();return Fe(o.model.username,r)||(o.model.username=r),w(r)}),h(),d(3,"input",27),Pe("ngModelChange",function(r){C(e);let o=p();return Fe(o.model.password,r)||(o.model.password=r),w(r)}),h(),d(4,"button",28),y(5,"Login"),h()()}if(t&2){let e=p();f(2),Re("ngModel",e.model.username),f(),Re("ngModel",e.model.password)}}var Cg=class t{accountService=S(tt);router=S(an);toastr=S(nn);isCollapsed=!0;model={};login(){this.accountService.login(this.model).subscribe({next:n=>this.router.navigateByUrl("/members"),error:n=>this.toastr.error(n.error)})}logout(){this.accountService.logout(),this.router.navigateByUrl("/")}toggleNavbar(){this.isCollapsed=!this.isCollapsed}currentUser(){return this.accountService.currentUser()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-nav"]],decls:14,vars:6,consts:[["loginForm","ngForm"],[1,"navbar","navbar-expand-md","py-2","navbar-dark","bg-primary","floating-nav"],[1,"container"],["routerLinkActive","active","routerLink","/",1,"navbar-brand"],["type","button","aria-controls","navbarContent","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],[1,"navbar-collapse",3,"ngClass"],[1,"navbar-nav","mr-auto"],[1,"nav-item","active"],["routerLink","/errors","routerLinkActive","active",1,"nav-link"],["dropdown","",1,"dropdown","ms-auto"],["autocomplete","off",1,"d-flex","mt-2","mt-md-0","ms-auto"],[1,"nav-item"],["routerLink","/members","routerLinkActive","active",1,"nav-link"],["routerLink","/lists","routerLinkActive","active",1,"nav-link"],["routerLink","/messages","routerLinkActive","active",1,"nav-link"],["class","nav-item",4,"appHasRole"],["routerLink","/admin","routerLinkActive","active",1,"nav-link"],["alt","User main image",1,"me-2",3,"src"],["dropdownToggle","",1,"dropdown-toggle","text-light","text-decoration-none"],["class","dropdown-menu",4,"dropdownMenu"],[1,"dropdown-menu"],["routerLink","/member/edit",1,"dropdown-item"],[1,"dropdown-divider"],[1,"dropdown-item",3,"click"],["autocomplete","off",1,"d-flex","mt-2","mt-md-0","ms-auto",3,"ngSubmit"],["name","username","type","text","placeholder","Username",1,"form-control","ms-2",3,"ngModelChange","ngModel"],["name","password","type","password","placeholder","Password",1,"form-control","ms-2",3,"ngModelChange","ngModel"],["type","submit",1,"btn","btn-success","ms-2"]],template:function(e,i){e&1&&(d(0,"nav",1)(1,"div",2)(2,"a",3),y(3,"Dating App"),h(),d(4,"button",4),D("click",function(){return i.toggleNavbar()}),A(5,"span",5),h(),d(6,"div",6)(7,"ul",7),T(8,N6,10,2),d(9,"li",8)(10,"a",9),y(11,"Errors"),h()()(),T(12,F6,5,2,"div",10)(13,V6,6,2,"form",11),h()()()),e&2&&(f(6),g("ngClass",gr(4,R6,i.isCollapsed)),f(2),Le(i.currentUser()?8:-1),f(4),Le(i.currentUser()?12:-1),f(),Le(i.currentUser()?-1:13))},dependencies:[Bn,Di,en,Lt,wi,Dn,Zi,iR,tR,nR,Cw,Mr,sc,ot,sn],styles:[".dropdown-toggle[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]{cursor:pointer}img[_ngcontent-%COMP%]{max-height:50px;border:2px solid #fff;display:inline;border-radius:50%}.floating-nav[_ngcontent-%COMP%]{margin:15px auto;border-radius:15px;box-shadow:0 4px 12px #00000026;width:95%;max-width:1400px;position:fixed;top:0;left:0;right:0;z-index:1030}body[_ngcontent-%COMP%]{padding-top:90px}@media (max-width: 767px){.navbar-collapse[_ngcontent-%COMP%]{padding:10px 0}.navbar-collapse.collapse[_ngcontent-%COMP%]{display:none}.navbar-collapse[_ngcontent-%COMP%]:not(.collapse){display:block}.navbar-nav[_ngcontent-%COMP%]{margin-top:10px;border-top:1px solid rgba(255,255,255,.2);padding-top:10px}.dropdown[_ngcontent-%COMP%], form[_ngcontent-%COMP%]{margin-top:15px;width:100%}form.d-flex[_ngcontent-%COMP%]{flex-wrap:wrap}form.d-flex[_ngcontent-%COMP%] input[_ngcontent-%COMP%], form.d-flex[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin:5px 0}}"]})};var wg=class t{accountService=S(tt);ngOnInit(){this.setCurrentUser()}setCurrentUser(){let n=localStorage.getItem("user");if(!n)return;let e=JSON.parse(n);this.accountService.setCurrentUser(e)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-root"]],decls:6,vars:0,consts:[["type","line-scale-pulse-out-rapid"],[1,"container",2,"margin-top","100px"]],template:function(e,i){e&1&&(d(0,"ngx-spinner",0)(1,"h3"),y(2,"Loading..."),h()(),A(3,"app-nav"),d(4,"div",1),A(5,"router-outlet"),h())},dependencies:[Du,Cg,Pk],encapsulation:2})};u0(wg,JA).catch(t=>console.error(t)); diff --git a/API/wwwroot/main-XWFP3YCG.js b/API/wwwroot/main-XWFP3YCG.js deleted file mode 100644 index 6e18bf3..0000000 --- a/API/wwwroot/main-XWFP3YCG.js +++ /dev/null @@ -1,20 +0,0 @@ -var iR=Object.defineProperty,rR=Object.defineProperties;var oR=Object.getOwnPropertyDescriptors;var vd=Object.getOwnPropertySymbols;var Mw=Object.prototype.hasOwnProperty,Sw=Object.prototype.propertyIsEnumerable;var Dw=(t,n,e)=>n in t?iR(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,E=(t,n)=>{for(var e in n||={})Mw.call(n,e)&&Dw(t,e,n[e]);if(vd)for(var e of vd(n))Sw.call(n,e)&&Dw(t,e,n[e]);return t},W=(t,n)=>rR(t,oR(n));var fa=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(n,e)=>(typeof require<"u"?require:n)[e]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var wg=(t,n)=>{var e={};for(var i in t)Mw.call(t,i)&&n.indexOf(i)<0&&(e[i]=t[i]);if(t!=null&&vd)for(var i of vd(t))n.indexOf(i)<0&&Sw.call(t,i)&&(e[i]=t[i]);return e};var me=(t,n,e)=>new Promise((i,r)=>{var o=l=>{try{a(e.next(l))}catch(c){r(c)}},s=l=>{try{a(e.throw(l))}catch(c){r(c)}},a=l=>l.done?i(l.value):Promise.resolve(l.value).then(o,s);a((e=e.apply(t,n)).next())});function Eg(t,n){return Object.is(t,n)}var Ht=null,bd=!1,Tg=1,ci=Symbol("SIGNAL");function ge(t){let n=Ht;return Ht=t,n}function Ig(){return Ht}var dc={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:"unknown",producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function hc(t){if(bd)throw new Error("");if(Ht===null)return;Ht.consumerOnSignalRead(t);let n=Ht.nextProducerIndex++;if(Md(Ht),nt.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function Og(t){Md(t);for(let n=0;n0}function Md(t){t.producerNode??=[],t.producerIndexOfThis??=[],t.producerLastReadVersion??=[]}function Iw(t){t.liveConsumerNode??=[],t.liveConsumerIndexOfThis??=[]}function xw(t){return t.producerNode!==void 0}function Ng(t,n){let e=Object.create(aR);e.computation=t,n!==void 0&&(e.equal=n);let i=()=>{if(xg(e),hc(e),e.value===Cd)throw e.error;return e.value};return i[ci]=e,i}var Dg=Symbol("UNSET"),Mg=Symbol("COMPUTING"),Cd=Symbol("ERRORED"),aR=W(E({},dc),{value:Dg,dirty:!0,error:null,equal:Eg,kind:"computed",producerMustRecompute(t){return t.value===Dg||t.value===Mg},producerRecomputeValue(t){if(t.value===Mg)throw new Error("Detected cycle in computations.");let n=t.value;t.value=Mg;let e=wd(t),i,r=!1;try{i=t.computation(),ge(null),r=n!==Dg&&n!==Cd&&i!==Cd&&t.equal(n,i)}catch(o){i=Cd,t.error=o}finally{Rg(t,e)}if(r){t.value=n;return}t.value=i,t.version++}});function lR(){throw new Error}var kw=lR;function Aw(t){kw(t)}function Lg(t){kw=t}var cR=null;function Fg(t,n){let e=Object.create(Sd);e.value=t,n!==void 0&&(e.equal=n);let i=()=>(hc(e),e.value);return i[ci]=e,i}function fc(t,n){Ag()||Aw(t),t.equal(t.value,n)||(t.value=n,uR(t))}function Vg(t,n){Ag()||Aw(t),fc(t,n(t.value))}var Sd=W(E({},dc),{equal:Eg,value:void 0,kind:"signal"});function uR(t){t.version++,Ew(),kg(t),cR?.()}function jg(t){let n=ge(null);try{return t()}finally{ge(n)}}var Hg;function pc(){return Hg}function Fr(t){let n=Hg;return Hg=t,n}var Ed=Symbol("NotFound");function K(t){return typeof t=="function"}function pa(t){let e=t(i=>{Error.call(i),i.stack=new Error().stack});return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}var Td=pa(t=>function(e){t(this),this.message=e?`${e.length} errors occurred during unsubscription: -${e.map((i,r)=>`${r+1}) ${i.toString()}`).join(` - `)}`:"",this.name="UnsubscriptionError",this.errors=e});function rs(t,n){if(t){let e=t.indexOf(n);0<=e&&t.splice(e,1)}}var Ue=class t{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;let{_parentage:e}=this;if(e)if(this._parentage=null,Array.isArray(e))for(let o of e)o.remove(this);else e.remove(this);let{initialTeardown:i}=this;if(K(i))try{i()}catch(o){n=o instanceof Td?o.errors:[o]}let{_finalizers:r}=this;if(r){this._finalizers=null;for(let o of r)try{Rw(o)}catch(s){n=n??[],s instanceof Td?n=[...n,...s.errors]:n.push(s)}}if(n)throw new Td(n)}}add(n){var e;if(n&&n!==this)if(this.closed)Rw(n);else{if(n instanceof t){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=(e=this._finalizers)!==null&&e!==void 0?e:[]).push(n)}}_hasParent(n){let{_parentage:e}=this;return e===n||Array.isArray(e)&&e.includes(n)}_addParent(n){let{_parentage:e}=this;this._parentage=Array.isArray(e)?(e.push(n),e):e?[e,n]:n}_removeParent(n){let{_parentage:e}=this;e===n?this._parentage=null:Array.isArray(e)&&rs(e,n)}remove(n){let{_finalizers:e}=this;e&&rs(e,n),n instanceof t&&n._removeParent(this)}};Ue.EMPTY=(()=>{let t=new Ue;return t.closed=!0,t})();var Bg=Ue.EMPTY;function Id(t){return t instanceof Ue||t&&"closed"in t&&K(t.remove)&&K(t.add)&&K(t.unsubscribe)}function Rw(t){K(t)?t():t.unsubscribe()}var Ni={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var ma={setTimeout(t,n,...e){let{delegate:i}=ma;return i?.setTimeout?i.setTimeout(t,n,...e):setTimeout(t,n,...e)},clearTimeout(t){let{delegate:n}=ma;return(n?.clearTimeout||clearTimeout)(t)},delegate:void 0};function xd(t){ma.setTimeout(()=>{let{onUnhandledError:n}=Ni;if(n)n(t);else throw t})}function os(){}var Ow=Ug("C",void 0,void 0);function Pw(t){return Ug("E",void 0,t)}function Nw(t){return Ug("N",t,void 0)}function Ug(t,n,e){return{kind:t,value:n,error:e}}var ss=null;function ga(t){if(Ni.useDeprecatedSynchronousErrorHandling){let n=!ss;if(n&&(ss={errorThrown:!1,error:null}),t(),n){let{errorThrown:e,error:i}=ss;if(ss=null,e)throw i}}else t()}function Lw(t){Ni.useDeprecatedSynchronousErrorHandling&&ss&&(ss.errorThrown=!0,ss.error=t)}var as=class extends Ue{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,Id(n)&&n.add(this)):this.destination=gR}static create(n,e,i){return new fo(n,e,i)}next(n){this.isStopped?Yg(Nw(n),this):this._next(n)}error(n){this.isStopped?Yg(Pw(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?Yg(Ow,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},pR=Function.prototype.bind;function $g(t,n){return pR.call(t,n)}var zg=class{constructor(n){this.partialObserver=n}next(n){let{partialObserver:e}=this;if(e.next)try{e.next(n)}catch(i){kd(i)}}error(n){let{partialObserver:e}=this;if(e.error)try{e.error(n)}catch(i){kd(i)}else kd(n)}complete(){let{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(e){kd(e)}}},fo=class extends as{constructor(n,e,i){super();let r;if(K(n)||!n)r={next:n??void 0,error:e??void 0,complete:i??void 0};else{let o;this&&Ni.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),r={next:n.next&&$g(n.next,o),error:n.error&&$g(n.error,o),complete:n.complete&&$g(n.complete,o)}):r=n}this.destination=new zg(r)}};function kd(t){Ni.useDeprecatedSynchronousErrorHandling?Lw(t):xd(t)}function mR(t){throw t}function Yg(t,n){let{onStoppedNotification:e}=Ni;e&&ma.setTimeout(()=>e(t,n))}var gR={closed:!0,next:os,error:mR,complete:os};var _a=typeof Symbol=="function"&&Symbol.observable||"@@observable";function Kt(t){return t}function Wg(...t){return Gg(t)}function Gg(t){return t.length===0?Kt:t.length===1?t[0]:function(e){return t.reduce((i,r)=>r(i),e)}}var ne=(()=>{class t{constructor(e){e&&(this._subscribe=e)}lift(e){let i=new t;return i.source=this,i.operator=e,i}subscribe(e,i,r){let o=yR(e)?e:new fo(e,i,r);return ga(()=>{let{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(e){try{return this._subscribe(e)}catch(i){e.error(i)}}forEach(e,i){return i=Fw(i),new i((r,o)=>{let s=new fo({next:a=>{try{e(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:r});this.subscribe(s)})}_subscribe(e){var i;return(i=this.source)===null||i===void 0?void 0:i.subscribe(e)}[_a](){return this}pipe(...e){return Gg(e)(this)}toPromise(e){return e=Fw(e),new e((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return t.create=n=>new t(n),t})();function Fw(t){var n;return(n=t??Ni.Promise)!==null&&n!==void 0?n:Promise}function _R(t){return t&&K(t.next)&&K(t.error)&&K(t.complete)}function yR(t){return t&&t instanceof as||_R(t)&&Id(t)}function qg(t){return K(t?.lift)}function se(t){return n=>{if(qg(n))return n.lift(function(e){try{return t(e,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}function ae(t,n,e,i,r){return new Qg(t,n,e,i,r)}var Qg=class extends as{constructor(n,e,i,r,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=e?function(a){try{e(a)}catch(l){n.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:e}=this;super.unsubscribe(),!e&&((n=this.onFinalize)===null||n===void 0||n.call(this))}}};function ya(){return se((t,n)=>{let e=null;t._refCount++;let i=ae(n,void 0,void 0,void 0,()=>{if(!t||t._refCount<=0||0<--t._refCount){e=null;return}let r=t._connection,o=e;e=null,r&&(!o||r===o)&&r.unsubscribe(),n.unsubscribe()});t.subscribe(i),i.closed||(e=t.connect())})}var va=class extends ne{constructor(n,e){super(),this.source=n,this.subjectFactory=e,this._subject=null,this._refCount=0,this._connection=null,qg(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){let n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;let{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new Ue;let e=this.getSubject();n.add(this.source.subscribe(ae(e,void 0,()=>{this._teardown(),e.complete()},i=>{this._teardown(),e.error(i)},()=>this._teardown()))),n.closed&&(this._connection=null,n=Ue.EMPTY)}return n}refCount(){return ya()(this)}};var ba={schedule(t){let n=requestAnimationFrame,e=cancelAnimationFrame,{delegate:i}=ba;i&&(n=i.requestAnimationFrame,e=i.cancelAnimationFrame);let r=n(o=>{e=void 0,t(o)});return new Ue(()=>e?.(r))},requestAnimationFrame(...t){let{delegate:n}=ba;return(n?.requestAnimationFrame||requestAnimationFrame)(...t)},cancelAnimationFrame(...t){let{delegate:n}=ba;return(n?.cancelAnimationFrame||cancelAnimationFrame)(...t)},delegate:void 0};var Vw=pa(t=>function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var X=(()=>{class t extends ne{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(e){let i=new Ad(this,this);return i.operator=e,i}_throwIfClosed(){if(this.closed)throw new Vw}next(e){ga(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let i of this.currentObservers)i.next(e)}})}error(e){ga(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=e;let{observers:i}=this;for(;i.length;)i.shift().error(e)}})}complete(){ga(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:e}=this;for(;e.length;)e.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var e;return((e=this.observers)===null||e===void 0?void 0:e.length)>0}_trySubscribe(e){return this._throwIfClosed(),super._trySubscribe(e)}_subscribe(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)}_innerSubscribe(e){let{hasError:i,isStopped:r,observers:o}=this;return i||r?Bg:(this.currentObservers=null,o.push(e),new Ue(()=>{this.currentObservers=null,rs(o,e)}))}_checkFinalizedStatuses(e){let{hasError:i,thrownError:r,isStopped:o}=this;i?e.error(r):o&&e.complete()}asObservable(){let e=new ne;return e.source=this,e}}return t.create=(n,e)=>new Ad(n,e),t})(),Ad=class extends X{constructor(n,e){super(),this.destination=n,this.source=e}next(n){var e,i;(i=(e=this.destination)===null||e===void 0?void 0:e.next)===null||i===void 0||i.call(e,n)}error(n){var e,i;(i=(e=this.destination)===null||e===void 0?void 0:e.error)===null||i===void 0||i.call(e,n)}complete(){var n,e;(e=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||e===void 0||e.call(n)}_subscribe(n){var e,i;return(i=(e=this.source)===null||e===void 0?void 0:e.subscribe(n))!==null&&i!==void 0?i:Bg}};var Pe=class extends X{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){let e=super._subscribe(n);return!e.closed&&n.next(this._value),e}getValue(){let{hasError:n,thrownError:e,_value:i}=this;if(n)throw e;return this._throwIfClosed(),i}next(n){super.next(this._value=n)}};var Zg={now(){return(Zg.delegate||Date).now()},delegate:void 0};var Rd=class extends Ue{constructor(n,e){super()}schedule(n,e=0){return this}};var mc={setInterval(t,n,...e){let{delegate:i}=mc;return i?.setInterval?i.setInterval(t,n,...e):setInterval(t,n,...e)},clearInterval(t){let{delegate:n}=mc;return(n?.clearInterval||clearInterval)(t)},delegate:void 0};var po=class extends Rd{constructor(n,e){super(n,e),this.scheduler=n,this.work=e,this.pending=!1}schedule(n,e=0){var i;if(this.closed)return this;this.state=n;let r=this.id,o=this.scheduler;return r!=null&&(this.id=this.recycleAsyncId(o,r,e)),this.pending=!0,this.delay=e,this.id=(i=this.id)!==null&&i!==void 0?i:this.requestAsyncId(o,this.id,e),this}requestAsyncId(n,e,i=0){return mc.setInterval(n.flush.bind(n,this),i)}recycleAsyncId(n,e,i=0){if(i!=null&&this.delay===i&&this.pending===!1)return e;e!=null&&mc.clearInterval(e)}execute(n,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;let i=this._execute(n,e);if(i)return i;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(n,e){let i=!1,r;try{this.work(n)}catch(o){i=!0,r=o||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){let{id:n,scheduler:e}=this,{actions:i}=e;this.work=this.state=this.scheduler=null,this.pending=!1,rs(i,this),n!=null&&(this.id=this.recycleAsyncId(e,n,null)),this.delay=null,super.unsubscribe()}}};var Ca=class t{constructor(n,e=t.now){this.schedulerActionCtor=n,this.now=e}schedule(n,e=0,i){return new this.schedulerActionCtor(this,n).schedule(i,e)}};Ca.now=Zg.now;var mo=class extends Ca{constructor(n,e=Ca.now){super(n,e),this.actions=[],this._active=!1}flush(n){let{actions:e}=this;if(this._active){e.push(n);return}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}}};var gc=new mo(po),jw=gc;var Od=class extends po{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 i!=null&&i>0||i==null&&this.delay>0?super.requestAsyncId(n,e,i):(n.flush(this),0)}};var Pd=class extends mo{};var Kg=new Pd(Od);var Nd=class extends po{constructor(n,e){super(n,e),this.scheduler=n,this.work=e}requestAsyncId(n,e,i=0){return i!==null&&i>0?super.requestAsyncId(n,e,i):(n.actions.push(this),n._scheduled||(n._scheduled=ba.requestAnimationFrame(()=>n.flush(void 0))))}recycleAsyncId(n,e,i=0){var r;if(i!=null?i>0:this.delay>0)return super.recycleAsyncId(n,e,i);let{actions:o}=n;e!=null&&e===n._scheduled&&((r=o[o.length-1])===null||r===void 0?void 0:r.id)!==e&&(ba.cancelAnimationFrame(e),n._scheduled=void 0)}};var Ld=class extends mo{flush(n){this._active=!0;let e;n?e=n.id:(e=this._scheduled,this._scheduled=void 0);let{actions:i}=this,r;n=n||i.shift();do if(r=n.execute(n.state,n.delay))break;while((n=i[0])&&n.id===e&&i.shift());if(this._active=!1,r){for(;(n=i[0])&&n.id===e&&i.shift();)n.unsubscribe();throw r}}};var wa=new Ld(Nd);var Mt=new ne(t=>t.complete());function Jg(t){return t?vR(t):Mt}function vR(t){return new ne(n=>t.schedule(()=>n.complete()))}function Fd(t){return t&&K(t.schedule)}function Xg(t){return t[t.length-1]}function Vd(t){return K(Xg(t))?t.pop():void 0}function ir(t){return Fd(Xg(t))?t.pop():void 0}function Hw(t,n){return typeof Xg(t)=="number"?t.pop():n}function Uw(t,n,e,i){var r=arguments.length,o=r<3?n:i===null?i=Object.getOwnPropertyDescriptor(n,e):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")o=Reflect.decorate(t,n,e,i);else for(var a=t.length-1;a>=0;a--)(s=t[a])&&(o=(r<3?s(o):r>3?s(n,e,o):s(n,e))||o);return r>3&&o&&Object.defineProperty(n,e,o),o}function $w(t,n){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(t,n)}function Yw(t,n,e,i){function r(o){return o instanceof e?o:new e(function(s){s(o)})}return new(e||(e=Promise))(function(o,s){function a(u){try{c(i.next(u))}catch(m){s(m)}}function l(u){try{c(i.throw(u))}catch(m){s(m)}}function c(u){u.done?o(u.value):r(u.value).then(a,l)}c((i=i.apply(t,n||[])).next())})}function Bw(t){var n=typeof Symbol=="function"&&Symbol.iterator,e=n&&t[n],i=0;if(e)return e.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function ls(t){return this instanceof ls?(this.v=t,this):new ls(t)}function zw(t,n,e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=e.apply(t,n||[]),r,o=[];return r=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",s),r[Symbol.asyncIterator]=function(){return this},r;function s(_){return function(M){return Promise.resolve(M).then(_,m)}}function a(_,M){i[_]&&(r[_]=function(I){return new Promise(function(O,V){o.push([_,I,O,V])>1||l(_,I)})},M&&(r[_]=M(r[_])))}function l(_,M){try{c(i[_](M))}catch(I){b(o[0][3],I)}}function c(_){_.value instanceof ls?Promise.resolve(_.value.v).then(u,m):b(o[0][2],_)}function u(_){l("next",_)}function m(_){l("throw",_)}function b(_,M){_(M),o.shift(),o.length&&l(o[0][0],o[0][1])}}function Ww(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t[Symbol.asyncIterator],e;return n?n.call(t):(t=typeof Bw=="function"?Bw(t):t[Symbol.iterator](),e={},i("next"),i("throw"),i("return"),e[Symbol.asyncIterator]=function(){return this},e);function i(o){e[o]=t[o]&&function(s){return new Promise(function(a,l){s=t[o](s),r(a,l,s.done,s.value)})}}function r(o,s,a,l){Promise.resolve(l).then(function(c){o({value:c,done:a})},s)}}var Da=t=>t&&typeof t.length=="number"&&typeof t!="function";function jd(t){return K(t?.then)}function Hd(t){return K(t[_a])}function Bd(t){return Symbol.asyncIterator&&K(t?.[Symbol.asyncIterator])}function Ud(t){return new TypeError(`You provided ${t!==null&&typeof t=="object"?"an invalid object":`'${t}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function bR(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var $d=bR();function Yd(t){return K(t?.[$d])}function zd(t){return zw(this,arguments,function*(){let e=t.getReader();try{for(;;){let{value:i,done:r}=yield ls(e.read());if(r)return yield ls(void 0);yield yield ls(i)}}finally{e.releaseLock()}})}function Wd(t){return K(t?.getReader)}function Ze(t){if(t instanceof ne)return t;if(t!=null){if(Hd(t))return CR(t);if(Da(t))return wR(t);if(jd(t))return DR(t);if(Bd(t))return Gw(t);if(Yd(t))return MR(t);if(Wd(t))return SR(t)}throw Ud(t)}function CR(t){return new ne(n=>{let e=t[_a]();if(K(e.subscribe))return e.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function wR(t){return new ne(n=>{for(let e=0;e{t.then(e=>{n.closed||(n.next(e),n.complete())},e=>n.error(e)).then(null,xd)})}function MR(t){return new ne(n=>{for(let e of t)if(n.next(e),n.closed)return;n.complete()})}function Gw(t){return new ne(n=>{ER(t,n).catch(e=>n.error(e))})}function SR(t){return Gw(zd(t))}function ER(t,n){var e,i,r,o;return Yw(this,void 0,void 0,function*(){try{for(e=Ww(t);i=yield e.next(),!i.done;){let s=i.value;if(n.next(s),n.closed)return}}catch(s){r={error:s}}finally{try{i&&!i.done&&(o=e.return)&&(yield o.call(e))}finally{if(r)throw r.error}}n.complete()})}function Sn(t,n,e,i=0,r=!1){let o=n.schedule(function(){e(),r?t.add(this.schedule(null,i)):this.unsubscribe()},i);if(t.add(o),!r)return o}function cs(t,n=0){return se((e,i)=>{e.subscribe(ae(i,r=>Sn(i,t,()=>i.next(r),n),()=>Sn(i,t,()=>i.complete(),n),r=>Sn(i,t,()=>i.error(r),n)))})}function Gd(t,n=0){return se((e,i)=>{i.add(t.schedule(()=>e.subscribe(i),n))})}function qw(t,n){return Ze(t).pipe(Gd(n),cs(n))}function Qw(t,n){return Ze(t).pipe(Gd(n),cs(n))}function Zw(t,n){return new ne(e=>{let i=0;return n.schedule(function(){i===t.length?e.complete():(e.next(t[i++]),e.closed||this.schedule())})})}function Kw(t,n){return new ne(e=>{let i;return Sn(e,n,()=>{i=t[$d](),Sn(e,n,()=>{let r,o;try{({value:r,done:o}=i.next())}catch(s){e.error(s);return}o?e.complete():e.next(r)},0,!0)}),()=>K(i?.return)&&i.return()})}function qd(t,n){if(!t)throw new Error("Iterable cannot be null");return new ne(e=>{Sn(e,n,()=>{let i=t[Symbol.asyncIterator]();Sn(e,n,()=>{i.next().then(r=>{r.done?e.complete():e.next(r.value)})},0,!0)})})}function Jw(t,n){return qd(zd(t),n)}function Xw(t,n){if(t!=null){if(Hd(t))return qw(t,n);if(Da(t))return Zw(t,n);if(jd(t))return Qw(t,n);if(Bd(t))return qd(t,n);if(Yd(t))return Kw(t,n);if(Wd(t))return Jw(t,n)}throw Ud(t)}function Ke(t,n){return n?Xw(t,n):Ze(t)}function Q(...t){let n=ir(t);return Ke(t,n)}function Ma(t,n){let e=K(t)?t:()=>t,i=r=>r.error(e());return new ne(n?r=>n.schedule(i,0,r):i)}function e_(t){return!!t&&(t instanceof ne||K(t.lift)&&K(t.subscribe))}var Li=pa(t=>function(){t(this),this.name="EmptyError",this.message="no elements in sequence"});function Qd(t,n){let e=typeof n=="object";return new Promise((i,r)=>{let o=new fo({next:s=>{i(s),o.unsubscribe()},error:r,complete:()=>{e?i(n.defaultValue):r(new Li)}});t.subscribe(o)})}function eD(t){return t instanceof Date&&!isNaN(t)}function G(t,n){return se((e,i)=>{let r=0;e.subscribe(ae(i,o=>{i.next(t.call(n,o,r++))}))})}var{isArray:TR}=Array;function IR(t,n){return TR(n)?t(...n):t(n)}function Sa(t){return G(n=>IR(t,n))}var{isArray:xR}=Array,{getPrototypeOf:kR,prototype:AR,keys:RR}=Object;function Zd(t){if(t.length===1){let n=t[0];if(xR(n))return{args:n,keys:null};if(OR(n)){let e=RR(n);return{args:e.map(i=>n[i]),keys:e}}}return{args:t,keys:null}}function OR(t){return t&&typeof t=="object"&&kR(t)===AR}function Kd(t,n){return t.reduce((e,i,r)=>(e[i]=n[r],e),{})}function go(...t){let n=ir(t),e=Vd(t),{args:i,keys:r}=Zd(t);if(i.length===0)return Ke([],n);let o=new ne(PR(i,n,r?s=>Kd(r,s):Kt));return e?o.pipe(Sa(e)):o}function PR(t,n,e=Kt){return i=>{tD(n,()=>{let{length:r}=t,o=new Array(r),s=r,a=r;for(let l=0;l{let c=Ke(t[l],n),u=!1;c.subscribe(ae(i,m=>{o[l]=m,u||(u=!0,a--),a||i.next(e(o.slice()))},()=>{--s||i.complete()}))},i)},i)}}function tD(t,n,e){t?Sn(e,t,n):n()}function Jd(t,n,e,i,r,o,s,a){let l=[],c=0,u=0,m=!1,b=()=>{m&&!l.length&&!c&&n.complete()},_=I=>c{o&&n.next(I),c++;let O=!1;Ze(e(I,u++)).subscribe(ae(n,V=>{r?.(V),o?_(V):n.next(V)},()=>{O=!0},void 0,()=>{if(O)try{for(c--;l.length&&cM(V)):M(V)}b()}catch(V){n.error(V)}}))};return t.subscribe(ae(n,_,()=>{m=!0,b()})),()=>{a?.()}}function ze(t,n,e=1/0){return K(n)?ze((i,r)=>G((o,s)=>n(i,o,r,s))(Ze(t(i,r))),e):(typeof n=="number"&&(e=n),se((i,r)=>Jd(i,r,t,e)))}function Xd(t=1/0){return ze(Kt,t)}function nD(){return Xd(1)}function _o(...t){return nD()(Ke(t,ir(t)))}function eh(t){return new ne(n=>{Ze(t()).subscribe(n)})}function t_(...t){let n=Vd(t),{args:e,keys:i}=Zd(t),r=new ne(o=>{let{length:s}=e;if(!s){o.complete();return}let a=new Array(s),l=s,c=s;for(let u=0;u{m||(m=!0,c--),a[u]=b},()=>l--,void 0,()=>{(!l||!m)&&(c||o.next(i?Kd(i,a):a),o.complete())}))}});return n?r.pipe(Sa(n)):r}var NR=["addListener","removeListener"],LR=["addEventListener","removeEventListener"],FR=["on","off"];function ui(t,n,e,i){if(K(e)&&(i=e,e=void 0),i)return ui(t,n,e).pipe(Sa(i));let[r,o]=HR(t)?LR.map(s=>a=>t[s](n,a,e)):VR(t)?NR.map(iD(t,n)):jR(t)?FR.map(iD(t,n)):[];if(!r&&Da(t))return ze(s=>ui(s,n,e))(Ze(t));if(!r)throw new TypeError("Invalid event target");return new ne(s=>{let a=(...l)=>s.next(1o(a)})}function iD(t,n){return e=>i=>t[e](n,i)}function VR(t){return K(t.addListener)&&K(t.removeListener)}function jR(t){return K(t.on)&&K(t.off)}function HR(t){return K(t.addEventListener)&&K(t.removeEventListener)}function us(t=0,n,e=jw){let i=-1;return n!=null&&(Fd(n)?e=n:i=n),new ne(r=>{let o=eD(t)?+t-e.now():t;o<0&&(o=0);let s=0;return e.schedule(function(){r.closed||(r.next(s++),0<=i?this.schedule(void 0,i):r.complete())},o)})}function Ea(...t){let n=ir(t),e=Hw(t,1/0),i=t;return i.length?i.length===1?Ze(i[0]):Xd(e)(Ke(i,n)):Mt}function le(t,n){return se((e,i)=>{let r=0;e.subscribe(ae(i,o=>t.call(n,o,r++)&&i.next(o)))})}function Fi(t){return se((n,e)=>{let i=null,r=!1,o;i=n.subscribe(ae(e,void 0,void 0,s=>{o=Ze(t(s,Fi(t)(n))),i?(i.unsubscribe(),i=null,o.subscribe(e)):r=!0})),r&&(i.unsubscribe(),i=null,o.subscribe(e))})}function rD(t,n,e,i,r){return(o,s)=>{let a=e,l=n,c=0;o.subscribe(ae(s,u=>{let m=c++;l=a?t(l,u,m):(a=!0,u),i&&s.next(l)},r&&(()=>{a&&s.next(l),s.complete()})))}}function yo(t,n){return K(n)?ze(t,n,1):ze(t,1)}function th(t,n=gc){return se((e,i)=>{let r=null,o=null,s=null,a=()=>{if(r){r.unsubscribe(),r=null;let c=o;o=null,i.next(c)}};function l(){let c=s+t,u=n.now();if(u{o=c,s=n.now(),r||(r=n.schedule(l,t),i.add(r))},()=>{a(),i.complete()},void 0,()=>{o=r=null}))})}function vo(t){return se((n,e)=>{let i=!1;n.subscribe(ae(e,r=>{i=!0,e.next(r)},()=>{i||e.next(t),e.complete()}))})}function yt(t){return t<=0?()=>Mt:se((n,e)=>{let i=0;n.subscribe(ae(e,r=>{++i<=t&&(e.next(r),t<=i&&e.complete())}))})}function oD(){return se((t,n)=>{t.subscribe(ae(n,os))})}function sD(t){return G(()=>t)}function n_(t,n){return n?e=>_o(n.pipe(yt(1),oD()),e.pipe(n_(t))):ze((e,i)=>Ze(t(e,i)).pipe(yt(1),sD(e)))}function _c(t,n=gc){let e=us(t,n);return n_(()=>e)}function Vr(t,n=Kt){return t=t??BR,se((e,i)=>{let r,o=!0;e.subscribe(ae(i,s=>{let a=n(s);(o||!t(r,a))&&(o=!1,r=a,i.next(s))}))})}function BR(t,n){return t===n}function nh(t=UR){return se((n,e)=>{let i=!1;n.subscribe(ae(e,r=>{i=!0,e.next(r)},()=>i?e.complete():e.error(t())))})}function UR(){return new Li}function Ta(t,n=1/0,e){return n=(n||0)<1?1/0:n,se((i,r)=>Jd(i,r,t,n,void 0,!0,e))}function di(t){return se((n,e)=>{try{n.subscribe(e)}finally{e.add(t)}})}function jr(t,n){let e=arguments.length>=2;return i=>i.pipe(t?le((r,o)=>t(r,o,i)):Kt,yt(1),e?vo(n):nh(()=>new Li))}function Ia(t){return t<=0?()=>Mt:se((n,e)=>{let i=[];n.subscribe(ae(e,r=>{i.push(r),t{for(let r of i)e.next(r);e.complete()},void 0,()=>{i=null}))})}function i_(t,n){let e=arguments.length>=2;return i=>i.pipe(t?le((r,o)=>t(r,o,i)):Kt,Ia(1),e?vo(n):nh(()=>new Li))}function yc(t,n){return se(rD(t,n,arguments.length>=2,!0))}function r_(t){return le((n,e)=>t<=e)}function ds(...t){let n=ir(t);return se((e,i)=>{(n?_o(t,e,n):_o(t,e)).subscribe(i)})}function vt(t,n){return se((e,i)=>{let r=null,o=0,s=!1,a=()=>s&&!r&&i.complete();e.subscribe(ae(i,l=>{r?.unsubscribe();let c=0,u=o++;Ze(t(l,u)).subscribe(r=ae(i,m=>i.next(n?n(l,m,u,c++):m),()=>{r=null,a()}))},()=>{s=!0,a()}))})}function hi(t){return se((n,e)=>{Ze(t).subscribe(ae(e,()=>e.complete(),os)),!e.closed&&n.subscribe(e)})}function o_(t,n=!1){return se((e,i)=>{let r=0;e.subscribe(ae(i,o=>{let s=t(o,r++);(s||n)&&i.next(o),!s&&i.complete()}))})}function ct(t,n,e){let i=K(t)||n||e?{next:t,error:n,complete:e}:t;return i?se((r,o)=>{var s;(s=i.subscribe)===null||s===void 0||s.call(i);let a=!0;r.subscribe(ae(o,l=>{var c;(c=i.next)===null||c===void 0||c.call(i,l),o.next(l)},()=>{var l;a=!1,(l=i.complete)===null||l===void 0||l.call(i),o.complete()},l=>{var c;a=!1,(c=i.error)===null||c===void 0||c.call(i,l),o.error(l)},()=>{var l,c;a&&((l=i.unsubscribe)===null||l===void 0||l.call(i)),(c=i.finalize)===null||c===void 0||c.call(i)}))}):Kt}var XD="https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss",R=class extends Error{code;constructor(n,e){super(Oy(n,e)),this.code=n}};function $R(t){return`NG0${Math.abs(t)}`}function Oy(t,n){return`${$R(t)}${n?": "+n:""}`}var eM=Symbol("InputSignalNode#UNSET"),YR=W(E({},Sd),{transformFn:void 0,applyValueToInputSignal(t,n){fc(t,n)}});function tM(t,n){let e=Object.create(YR);e.value=t,e.transformFn=n?.transform;function i(){if(hc(e),e.value===eM){let r=null;throw new R(-950,r)}return e.value}return i[ci]=e,i}function Ac(t){return{toString:t}.toString()}var ih="__parameters__";function zR(t){return function(...e){if(t){let i=t(...e);for(let r in i)this[r]=i[r]}}}function nM(t,n,e){return Ac(()=>{let i=zR(n);function r(...o){if(this instanceof r)return i.apply(this,o),this;let s=new r(...o);return a.annotation=s,a;function a(l,c,u){let m=l.hasOwnProperty(ih)?l[ih]:Object.defineProperty(l,ih,{value:[]})[ih];for(;m.length<=u;)m.push(null);return(m[u]=m[u]||[]).push(s),l}}return r.prototype.ngMetadataName=t,r.annotationCls=r,r})}var rr=globalThis;function We(t){for(let n in t)if(t[n]===We)return n;throw Error("Could not find renamed property on target object.")}function WR(t,n){for(let e in n)n.hasOwnProperty(e)&&!t.hasOwnProperty(e)&&(t[e]=n[e])}function In(t){if(typeof t=="string")return t;if(Array.isArray(t))return`[${t.map(In).join(", ")}]`;if(t==null)return""+t;let n=t.overriddenName||t.name;if(n)return`${n}`;let e=t.toString();if(e==null)return""+e;let i=e.indexOf(` -`);return i>=0?e.slice(0,i):e}function w_(t,n){return t?n?`${t} ${n}`:t:n||""}var GR=We({__forward_ref__:We});function He(t){return t.__forward_ref__=He,t.toString=function(){return In(this())},t}function _n(t){return iM(t)?t():t}function iM(t){return typeof t=="function"&&t.hasOwnProperty(GR)&&t.__forward_ref__===He}function x(t){return{token:t.token,providedIn:t.providedIn||null,factory:t.factory,value:void 0}}function ve(t){return{providers:t.providers||[],imports:t.imports||[]}}function Hh(t){return aD(t,oM)||aD(t,sM)}function rM(t){return Hh(t)!==null}function aD(t,n){return t.hasOwnProperty(n)?t[n]:null}function qR(t){let n=t&&(t[oM]||t[sM]);return n||null}function lD(t){return t&&(t.hasOwnProperty(cD)||t.hasOwnProperty(QR))?t[cD]:null}var oM=We({\u0275prov:We}),cD=We({\u0275inj:We}),sM=We({ngInjectableDef:We}),QR=We({ngInjectorDef:We}),B=class{_desc;ngMetadataName="InjectionToken";\u0275prov;constructor(n,e){this._desc=n,this.\u0275prov=void 0,typeof e=="number"?this.__NG_ELEMENT_ID__=e:e!==void 0&&(this.\u0275prov=x({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function aM(t){return t&&!!t.\u0275providers}var ZR=We({\u0275cmp:We}),KR=We({\u0275dir:We}),JR=We({\u0275pipe:We}),XR=We({\u0275mod:We}),ph=We({\u0275fac:We}),wc=We({__NG_ELEMENT_ID__:We}),uD=We({__NG_ENV_ID__:We});function ms(t){return typeof t=="string"?t:t==null?"":String(t)}function eO(t){return typeof t=="function"?t.name||t.toString():typeof t=="object"&&t!=null&&typeof t.type=="function"?t.type.name||t.type.toString():ms(t)}function lM(t,n){throw new R(-200,t)}function Py(t,n){throw new R(-201,!1)}var Ce=function(t){return t[t.Default=0]="Default",t[t.Host=1]="Host",t[t.Self=2]="Self",t[t.SkipSelf=4]="SkipSelf",t[t.Optional=8]="Optional",t}(Ce||{}),D_;function cM(){return D_}function En(t){let n=D_;return D_=t,n}function uM(t,n,e){let i=Hh(t);if(i&&i.providedIn=="root")return i.value===void 0?i.value=i.factory():i.value;if(e&Ce.Optional)return null;if(n!==void 0)return n;Py(t,"Injector")}var tO={},fs=tO,M_="__NG_DI_FLAG__",mh=class{injector;constructor(n){this.injector=n}retrieve(n,e){let i=e;return this.injector.get(n,i.optional?Ed:fs,i)}},gh="ngTempTokenPath",nO="ngTokenPath",iO=/\n/gm,rO="\u0275",dD="__source";function oO(t,n=Ce.Default){if(pc()===void 0)throw new R(-203,!1);if(pc()===null)return uM(t,void 0,n);{let e=pc(),i;return e instanceof mh?i=e.injector:i=e,i.get(t,n&Ce.Optional?null:void 0,n)}}function F(t,n=Ce.Default){return(cM()||oO)(_n(t),n)}function S(t,n=Ce.Default){return F(t,Bh(n))}function Bh(t){return typeof t>"u"||typeof t=="number"?t:0|(t.optional&&8)|(t.host&&1)|(t.self&&2)|(t.skipSelf&&4)}function S_(t){let n=[];for(let e=0;e ");else if(typeof n=="object"){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+(typeof a=="string"?JSON.stringify(a):In(a)))}r=`{${o.join(", ")}}`}return`${e}${i?"("+i+")":""}[${r}]: ${t.replace(iO,` - `)}`}var Ny=dM(nM("Optional"),8);var hM=dM(nM("SkipSelf"),4);function gs(t,n){let e=t.hasOwnProperty(ph);return e?t[ph]:null}function cO(t,n,e){if(t.length!==n.length)return!1;for(let i=0;iArray.isArray(e)?Ly(e,n):n(e))}function fM(t,n,e){n>=t.length?t.push(e):t.splice(n,0,e)}function _h(t,n){return n>=t.length-1?t.pop():t.splice(n,1)[0]}function dO(t,n){let e=[];for(let i=0;in;){let o=r-2;t[r]=t[o],r--}t[n]=e,t[n+1]=i}}function Fy(t,n,e){let i=Rc(t,n);return i>=0?t[i|1]=e:(i=~i,hO(t,i,n,e)),i}function s_(t,n){let e=Rc(t,n);if(e>=0)return t[e|1]}function Rc(t,n){return fO(t,n,1)}function fO(t,n,e){let i=0,r=t.length>>e;for(;r!==i;){let o=i+(r-i>>1),s=t[o<n?r=o:i=o+1}return~(r<{e.push(s)};return Ly(n,s=>{let a=s;E_(a,o,[],i)&&(r||=[],r.push(a))}),r!==void 0&&yM(r,o),e}function yM(t,n){for(let e=0;e{n(o,i)})}}function E_(t,n,e,i){if(t=_n(t),!t)return!1;let r=null,o=lD(t),s=!o&&Pa(t);if(!o&&!s){let l=t.ngModule;if(o=lD(l),o)r=l;else return!1}else{if(s&&!s.standalone)return!1;r=t}let a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){let l=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let c of l)E_(c,n,e,i)}}else if(o){if(o.imports!=null&&!a){i.add(r);let c;try{Ly(o.imports,u=>{E_(u,n,e,i)&&(c||=[],c.push(u))})}finally{}c!==void 0&&yM(c,n)}if(!a){let c=gs(r)||(()=>new r);n({provide:r,useFactory:c,deps:Tn},r),n({provide:mM,useValue:r,multi:!0},r),n({provide:Oa,useValue:()=>F(r),multi:!0},r)}let l=o.providers;if(l!=null&&!a){let c=t;jy(l,u=>{n(u,c)})}}else return!1;return r!==t&&t.providers!==void 0}function jy(t,n){for(let e of t)aM(e)&&(e=e.\u0275providers),Array.isArray(e)?jy(e,n):n(e)}var gO=We({provide:String,useValue:We});function vM(t){return t!==null&&typeof t=="object"&&gO in t}function _O(t){return!!(t&&t.useExisting)}function yO(t){return!!(t&&t.useFactory)}function Na(t){return typeof t=="function"}function vO(t){return!!t.useClass}var Uh=new B(""),lh={},hD={},a_;function Hy(){return a_===void 0&&(a_=new yh),a_}var yn=class{},Dc=class extends yn{parent;source;scopes;records=new Map;_ngOnDestroyHooks=new Set;_onDestroyHooks=[];get destroyed(){return this._destroyed}_destroyed=!1;injectorDefTypes;constructor(n,e,i,r){super(),this.parent=e,this.source=i,this.scopes=r,I_(n,s=>this.processProvider(s)),this.records.set(pM,xa(void 0,this)),r.has("environment")&&this.records.set(yn,xa(void 0,this));let o=this.records.get(Uh);o!=null&&typeof o.value=="string"&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(mM,Tn,Ce.Self))}retrieve(n,e){let i=e;return this.get(n,i.optional?Ed:fs,i)}destroy(){bc(this),this._destroyed=!0;let n=ge(null);try{for(let i of this._ngOnDestroyHooks)i.ngOnDestroy();let e=this._onDestroyHooks;this._onDestroyHooks=[];for(let i of e)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),ge(n)}}onDestroy(n){return bc(this),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){bc(this);let e=Fr(this),i=En(void 0),r;try{return n()}finally{Fr(e),En(i)}}get(n,e=fs,i=Ce.Default){if(bc(this),n.hasOwnProperty(uD))return n[uD](this);i=Bh(i);let r,o=Fr(this),s=En(void 0);try{if(!(i&Ce.SkipSelf)){let l=this.records.get(n);if(l===void 0){let c=MO(n)&&Hh(n);c&&this.injectableDefInScope(c)?l=xa(T_(n),lh):l=null,this.records.set(n,l)}if(l!=null)return this.hydrate(n,l)}let a=i&Ce.Self?Hy():this.parent;return e=i&Ce.Optional&&e===fs?null:e,a.get(n,e)}catch(a){if(a.name==="NullInjectorError"){if((a[gh]=a[gh]||[]).unshift(In(n)),o)throw a;return aO(a,n,"R3InjectorError",this.source)}else throw a}finally{En(s),Fr(o)}}resolveInjectorInitializers(){let n=ge(null),e=Fr(this),i=En(void 0),r;try{let o=this.get(Oa,Tn,Ce.Self);for(let s of o)s()}finally{Fr(e),En(i),ge(n)}}toString(){let n=[],e=this.records;for(let i of e.keys())n.push(In(i));return`R3Injector[${n.join(", ")}]`}processProvider(n){n=_n(n);let e=Na(n)?n:_n(n&&n.provide),i=CO(n);if(!Na(n)&&n.multi===!0){let r=this.records.get(e);r||(r=xa(void 0,lh,!0),r.factory=()=>S_(r.multi),this.records.set(e,r)),e=n,r.multi.push(n)}this.records.set(e,i)}hydrate(n,e){let i=ge(null);try{return e.value===hD?lM(In(n)):e.value===lh&&(e.value=hD,e.value=e.factory()),typeof e.value=="object"&&e.value&&DO(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}finally{ge(i)}}injectableDefInScope(n){if(!n.providedIn)return!1;let e=_n(n.providedIn);return typeof e=="string"?e==="any"||this.scopes.has(e):this.injectorDefTypes.has(e)}removeOnDestroy(n){let e=this._onDestroyHooks.indexOf(n);e!==-1&&this._onDestroyHooks.splice(e,1)}};function T_(t){let n=Hh(t),e=n!==null?n.factory:gs(t);if(e!==null)return e;if(t instanceof B)throw new R(204,!1);if(t instanceof Function)return bO(t);throw new R(204,!1)}function bO(t){if(t.length>0)throw new R(204,!1);let e=qR(t);return e!==null?()=>e.factory(t):()=>new t}function CO(t){if(vM(t))return xa(void 0,t.useValue);{let n=bM(t);return xa(n,lh)}}function bM(t,n,e){let i;if(Na(t)){let r=_n(t);return gs(r)||T_(r)}else if(vM(t))i=()=>_n(t.useValue);else if(yO(t))i=()=>t.useFactory(...S_(t.deps||[]));else if(_O(t))i=()=>F(_n(t.useExisting));else{let r=_n(t&&(t.useClass||t.provide));if(wO(t))i=()=>new r(...S_(t.deps));else return gs(r)||T_(r)}return i}function bc(t){if(t.destroyed)throw new R(205,!1)}function xa(t,n,e=!1){return{factory:t,value:n,multi:e?[]:void 0}}function wO(t){return!!t.deps}function DO(t){return t!==null&&typeof t=="object"&&typeof t.ngOnDestroy=="function"}function MO(t){return typeof t=="function"||typeof t=="object"&&t instanceof B}function I_(t,n){for(let e of t)Array.isArray(e)?I_(e,n):e&&aM(e)?I_(e.\u0275providers,n):n(e)}function Gn(t,n){let e;t instanceof Dc?(bc(t),e=t):e=new mh(t);let i,r=Fr(e),o=En(void 0);try{return n()}finally{Fr(r),En(o)}}function SO(){return cM()!==void 0||pc()!=null}function EO(t){return typeof t=="function"}var ur=0,he=1,fe=2,un=3,Hi=4,An=5,La=6,vh=7,Bt=8,Fa=9,Hr=10,ut=11,Mc=12,fD=13,za=14,zn=15,ys=16,ka=17,Br=18,$h=19,CM=20,bo=21,l_=22,bh=23,fi=24,c_=25,Ut=26,By=1;var vs=7,Ch=8,Va=9,cn=10;function Co(t){return Array.isArray(t)&&typeof t[By]=="object"}function $r(t){return Array.isArray(t)&&t[By]===!0}function Uy(t){return(t.flags&4)!==0}function Wa(t){return t.componentOffset>-1}function Yh(t){return(t.flags&1)===1}function Bi(t){return!!t.template}function wh(t){return(t[fe]&512)!==0}function Oc(t){return(t[fe]&256)===256}var x_=class{previousValue;currentValue;firstChange;constructor(n,e,i){this.previousValue=n,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}};function wM(t,n,e,i){n!==null?n.applyValueToInputSignal(n,i):t[e]=i}var xe=(()=>{let t=()=>DM;return t.ngInherit=!0,t})();function DM(t){return t.type.prototype.ngOnChanges&&(t.setInput=IO),TO}function TO(){let t=SM(this),n=t?.current;if(n){let e=t.previous;if(e===_s)t.previous=n;else for(let i in n)e[i]=n[i];t.current=null,this.ngOnChanges(n)}}function IO(t,n,e,i,r){let o=this.declaredInputs[i],s=SM(t)||xO(t,{previous:_s,current:null}),a=s.current||(s.current={}),l=s.previous,c=l[o];a[o]=new x_(c&&c.currentValue,e,l===_s),wM(t,n,r,e)}var MM="__ngSimpleChanges__";function SM(t){return t[MM]||null}function xO(t,n){return t[MM]=n}var pD=null;var Je=function(t,n=null,e){pD?.(t,n,e)},kO="svg",AO="math";function sr(t){for(;Array.isArray(t);)t=t[ur];return t}function RO(t){for(;Array.isArray(t);){if(typeof t[By]=="object")return t;t=t[ur]}return null}function EM(t,n){return sr(n[t])}function dr(t,n){return sr(n[t.index])}function $y(t,n){return t.data[n]}function Yy(t,n){return t[n]}function ar(t,n){let e=n[t];return Co(e)?e:e[ur]}function OO(t){return(t[fe]&4)===4}function zy(t){return(t[fe]&128)===128}function PO(t){return $r(t[un])}function wo(t,n){return n==null?null:t[n]}function TM(t){t[ka]=0}function IM(t){t[fe]&1024||(t[fe]|=1024,zy(t)&&Wh(t))}function NO(t,n){for(;t>0;)n=n[za],t--;return n}function zh(t){return!!(t[fe]&9216||t[fi]?.dirty)}function k_(t){t[Hr].changeDetectionScheduler?.notify(8),t[fe]&64&&(t[fe]|=1024),zh(t)&&Wh(t)}function Wh(t){t[Hr].changeDetectionScheduler?.notify(0);let n=bs(t);for(;n!==null&&!(n[fe]&8192||(n[fe]|=8192,!zy(n)));)n=bs(n)}function xM(t,n){if(Oc(t))throw new R(911,!1);t[bo]===null&&(t[bo]=[]),t[bo].push(n)}function LO(t,n){if(t[bo]===null)return;let e=t[bo].indexOf(n);e!==-1&&t[bo].splice(e,1)}function bs(t){let n=t[un];return $r(n)?n[un]:n}function Wy(t){return t[vh]??=[]}function Gy(t){return t.cleanup??=[]}function FO(t,n,e,i){let r=Wy(n);r.push(e),t.firstCreatePass&&Gy(t).push(i,r.length-1)}var ye={lFrame:FM(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var A_=!1;function VO(){return ye.lFrame.elementDepthCount}function jO(){ye.lFrame.elementDepthCount++}function HO(){ye.lFrame.elementDepthCount--}function qy(){return ye.bindingsEnabled}function kM(){return ye.skipHydrationRootTNode!==null}function BO(t){return ye.skipHydrationRootTNode===t}function UO(){ye.skipHydrationRootTNode=null}function ie(){return ye.lFrame.lView}function dt(){return ye.lFrame.tView}function C(t){return ye.lFrame.contextLView=t,t[Bt]}function w(t){return ye.lFrame.contextLView=null,t}function vn(){let t=AM();for(;t!==null&&t.type===64;)t=t.parent;return t}function AM(){return ye.lFrame.currentTNode}function $O(){let t=ye.lFrame,n=t.currentTNode;return t.isParent?n:n.parent}function Ms(t,n){let e=ye.lFrame;e.currentTNode=t,e.isParent=n}function Qy(){return ye.lFrame.isParent}function Zy(){ye.lFrame.isParent=!1}function YO(){return ye.lFrame.contextLView}function RM(){return A_}function mD(t){let n=A_;return A_=t,n}function Ga(){let t=ye.lFrame,n=t.bindingRootIndex;return n===-1&&(n=t.bindingRootIndex=t.tView.bindingStartIndex),n}function zO(){return ye.lFrame.bindingIndex}function WO(t){return ye.lFrame.bindingIndex=t}function Ss(){return ye.lFrame.bindingIndex++}function Ky(t){let n=ye.lFrame,e=n.bindingIndex;return n.bindingIndex=n.bindingIndex+t,e}function GO(){return ye.lFrame.inI18n}function qO(t,n){let e=ye.lFrame;e.bindingIndex=e.bindingRootIndex=t,R_(n)}function QO(){return ye.lFrame.currentDirectiveIndex}function R_(t){ye.lFrame.currentDirectiveIndex=t}function OM(t){let n=ye.lFrame.currentDirectiveIndex;return n===-1?null:t[n]}function PM(){return ye.lFrame.currentQueryIndex}function Jy(t){ye.lFrame.currentQueryIndex=t}function ZO(t){let n=t[he];return n.type===2?n.declTNode:n.type===1?t[An]:null}function NM(t,n,e){if(e&Ce.SkipSelf){let r=n,o=t;for(;r=r.parent,r===null&&!(e&Ce.Host);)if(r=ZO(o),r===null||(o=o[za],r.type&10))break;if(r===null)return!1;n=r,t=o}let i=ye.lFrame=LM();return i.currentTNode=n,i.lView=t,!0}function Xy(t){let n=LM(),e=t[he];ye.lFrame=n,n.currentTNode=e.firstChild,n.lView=t,n.tView=e,n.contextLView=t,n.bindingIndex=e.bindingStartIndex,n.inI18n=!1}function LM(){let t=ye.lFrame,n=t===null?null:t.child;return n===null?FM(t):n}function FM(t){let 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 t!==null&&(t.child=n),n}function VM(){let t=ye.lFrame;return ye.lFrame=t.parent,t.currentTNode=null,t.lView=null,t}var jM=VM;function ev(){let t=VM();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 KO(t){return(ye.lFrame.contextLView=NO(t,ye.lFrame.contextLView))[Bt]}function Yr(){return ye.lFrame.selectedIndex}function Cs(t){ye.lFrame.selectedIndex=t}function Pc(){let t=ye.lFrame;return $y(t.tView,t.selectedIndex)}function JO(){return ye.lFrame.currentNamespace}var HM=!0;function Gh(){return HM}function qh(t){HM=t}function XO(t,n,e){let{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=n.type.prototype;if(i){let s=DM(n);(e.preOrderHooks??=[]).push(t,s),(e.preOrderCheckHooks??=[]).push(t,s)}r&&(e.preOrderHooks??=[]).push(0-t,r),o&&((e.preOrderHooks??=[]).push(t,o),(e.preOrderCheckHooks??=[]).push(t,o))}function tv(t,n){for(let e=n.directiveStart,i=n.directiveEnd;e=i)break}else n[l]<0&&(t[ka]+=65536),(a>14>16&&(t[fe]&3)===n&&(t[fe]+=16384,gD(a,o)):gD(a,o)}var Ra=-1,ws=class{factory;injectImpl;resolving=!1;canSeeViewProviders;multi;componentProviders;index;providerFactory;constructor(n,e,i){this.factory=n,this.canSeeViewProviders=e,this.injectImpl=i}};function tP(t){return(t.flags&8)!==0}function nP(t){return(t.flags&16)!==0}function iP(t,n,e){let i=0;for(;in){s=o-1;break}}}for(;o>16}function Mh(t,n){let e=oP(t),i=n;for(;e>0;)i=i[za],e--;return i}var O_=!0;function Sh(t){let n=O_;return O_=t,n}var sP=256,YM=sP-1,zM=5,aP=0,or={};function lP(t,n,e){let i;typeof e=="string"?i=e.charCodeAt(0)||0:e.hasOwnProperty(wc)&&(i=e[wc]),i==null&&(i=e[wc]=aP++);let r=i&YM,o=1<>zM)]|=o}function Eh(t,n){let e=WM(t,n);if(e!==-1)return e;let i=n[he];i.firstCreatePass&&(t.injectorIndex=n.length,d_(i.data,t),d_(n,null),d_(i.blueprint,null));let r=nv(t,n),o=t.injectorIndex;if($M(r)){let s=Dh(r),a=Mh(r,n),l=a[he].data;for(let c=0;c<8;c++)n[o+c]=a[s+c]|l[s+c]}return n[o+8]=r,o}function d_(t,n){t.push(0,0,0,0,0,0,0,0,n)}function WM(t,n){return t.injectorIndex===-1||t.parent&&t.parent.injectorIndex===t.injectorIndex||n[t.injectorIndex+8]===null?-1:t.injectorIndex}function nv(t,n){if(t.parent&&t.parent.injectorIndex!==-1)return t.parent.injectorIndex;let e=0,i=null,r=n;for(;r!==null;){if(i=KM(r),i===null)return Ra;if(e++,r=r[za],i.injectorIndex!==-1)return i.injectorIndex|e<<16}return Ra}function P_(t,n,e){lP(t,n,e)}function cP(t,n){if(n==="class")return t.classes;if(n==="style")return t.styles;let e=t.attrs;if(e){let i=e.length,r=0;for(;r>20,m=i?a:a+u,b=r?a+u:c;for(let _=m;_=l&&M.type===e)return _}if(r){let _=s[l];if(_&&Bi(_)&&_.type===e)return l}return null}function Sc(t,n,e,i){let r=t[e],o=n.data;if(r instanceof ws){let s=r;s.resolving&&lM(eO(o[e]));let a=Sh(s.canSeeViewProviders);s.resolving=!0;let l,c=s.injectImpl?En(s.injectImpl):null,u=NM(t,i,Ce.Default);try{r=t[e]=s.factory(void 0,o,t,i),n.firstCreatePass&&e>=i.directiveStart&&XO(e,o[e],n)}finally{c!==null&&En(c),Sh(a),s.resolving=!1,jM()}}return r}function dP(t){if(typeof t=="string")return t.charCodeAt(0)||0;let n=t.hasOwnProperty(wc)?t[wc]:void 0;return typeof n=="number"?n>=0?n&YM:hP:n}function yD(t,n,e){let i=1<>zM)]&i)}function vD(t,n){return!(t&Ce.Self)&&!(t&Ce.Host&&n)}var ps=class{_tNode;_lView;constructor(n,e){this._tNode=n,this._lView=e}get(n,e,i){return QM(this._tNode,this._lView,n,Bh(i),e)}};function hP(){return new ps(vn(),ie())}function bn(t){return Ac(()=>{let n=t.prototype.constructor,e=n[ph]||N_(n),i=Object.prototype,r=Object.getPrototypeOf(t.prototype).constructor;for(;r&&r!==i;){let o=r[ph]||N_(r);if(o&&o!==e)return o;r=Object.getPrototypeOf(r)}return o=>new o})}function N_(t){return iM(t)?()=>{let n=N_(_n(t));return n&&n()}:gs(t)}function fP(t,n,e,i,r){let o=t,s=n;for(;o!==null&&s!==null&&s[fe]&2048&&!wh(s);){let a=ZM(o,s,e,i|Ce.Self,or);if(a!==or)return a;let l=o.parent;if(!l){let c=s[CM];if(c){let u=c.get(e,or,i);if(u!==or)return u}l=KM(s),s=s[za]}o=l}return r}function KM(t){let n=t[he],e=n.type;return e===2?n.declTNode:e===1?t[An]:null}function iv(t){return cP(vn(),t)}function bD(t,n=null,e=null,i){let r=JM(t,n,e,i);return r.resolveInjectorInitializers(),r}function JM(t,n=null,e=null,i,r=new Set){let o=[e||Tn,Vy(t)];return i=i||(typeof t=="object"?void 0:In(t)),new Dc(o,n||Hy(),i||null,r)}var kt=class t{static THROW_IF_NOT_FOUND=fs;static NULL=new yh;static create(n,e){if(Array.isArray(n))return bD({name:""},e,n,"");{let i=n.name??"";return bD({name:i},n.parent,n.providers,i)}}static \u0275prov=x({token:t,providedIn:"any",factory:()=>F(pM)});static __NG_ELEMENT_ID__=-1};var pP=new B("");pP.__NG_ELEMENT_ID__=t=>{let n=vn();if(n===null)throw new R(204,!1);if(n.type&2)return n.value;if(t&Ce.Optional)return null;throw new R(204,!1)};var XM=!1,Nc=(()=>{class t{static __NG_ELEMENT_ID__=mP;static __NG_ENV_ID__=e=>e}return t})(),L_=class extends Nc{_lView;constructor(n){super(),this._lView=n}onDestroy(n){return xM(this._lView,n),()=>LO(this._lView,n)}};function mP(){return new L_(ie())}var Ec=class{},rv=new B("",{providedIn:"root",factory:()=>!1});var eS=new B(""),tS=new B(""),Mo=(()=>{class t{taskId=0;pendingTasks=new Set;get _hasPendingTasks(){return this.hasPendingTasks.value}hasPendingTasks=new Pe(!1);add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);let e=this.taskId++;return this.pendingTasks.add(e),e}has(e){return this.pendingTasks.has(e)}remove(e){this.pendingTasks.delete(e),this.pendingTasks.size===0&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static \u0275prov=x({token:t,providedIn:"root",factory:()=>new t})}return t})();var F_=class extends X{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(n=!1){super(),this.__isAsync=n,SO()&&(this.destroyRef=S(Nc,{optional:!0})??void 0,this.pendingTasks=S(Mo,{optional:!0})??void 0)}emit(n){let e=ge(null);try{super.next(n)}finally{ge(e)}}subscribe(n,e,i){let r=n,o=e||(()=>null),s=i;if(n&&typeof n=="object"){let l=n;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=this.wrapInTimeout(o),r&&(r=this.wrapInTimeout(r)),s&&(s=this.wrapInTimeout(s)));let a=super.subscribe({next:r,error:o,complete:s});return n instanceof Ue&&n.add(a),a}wrapInTimeout(n){return e=>{let i=this.pendingTasks?.add();setTimeout(()=>{n(e),i!==void 0&&this.pendingTasks?.remove(i)})}}},P=F_;function Th(...t){}function nS(t){let n,e;function i(){t=Th;try{e!==void 0&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(e),n!==void 0&&clearTimeout(n)}catch{}}return n=setTimeout(()=>{t(),i()}),typeof requestAnimationFrame=="function"&&(e=requestAnimationFrame(()=>{t(),i()})),()=>i()}function CD(t){return queueMicrotask(()=>t()),()=>{t=Th}}var ov="isAngularZone",Ih=ov+"_ID",gP=0,Me=class t{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new P(!1);onMicrotaskEmpty=new P(!1);onStable=new P(!1);onError=new P(!1);constructor(n){let{enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:r=!1,scheduleInRootZone:o=XM}=n;if(typeof Zone>"u")throw new R(908,!1);Zone.assertZonePatched();let s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!r&&i,s.shouldCoalesceRunChangeDetection=r,s.callbackScheduled=!1,s.scheduleInRootZone=o,vP(s)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get(ov)===!0}static assertInAngularZone(){if(!t.isInAngularZone())throw new R(909,!1)}static assertNotInAngularZone(){if(t.isInAngularZone())throw new R(909,!1)}run(n,e,i){return this._inner.run(n,e,i)}runTask(n,e,i,r){let o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,n,_P,Th,Th);try{return o.runTask(s,e,i)}finally{o.cancelTask(s)}}runGuarded(n,e,i){return this._inner.runGuarded(n,e,i)}runOutsideAngular(n){return this._outer.run(n)}},_P={};function sv(t){if(t._nesting==0&&!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 yP(t){if(t.isCheckStableRunning||t.callbackScheduled)return;t.callbackScheduled=!0;function n(){nS(()=>{t.callbackScheduled=!1,V_(t),t.isCheckStableRunning=!0,sv(t),t.isCheckStableRunning=!1})}t.scheduleInRootZone?Zone.root.run(()=>{n()}):t._outer.run(()=>{n()}),V_(t)}function vP(t){let n=()=>{yP(t)},e=gP++;t._inner=t._inner.fork({name:"angular",properties:{[ov]:!0,[Ih]:e,[Ih+e]:!0},onInvokeTask:(i,r,o,s,a,l)=>{if(bP(l))return i.invokeTask(o,s,a,l);try{return wD(t),i.invokeTask(o,s,a,l)}finally{(t.shouldCoalesceEventChangeDetection&&s.type==="eventTask"||t.shouldCoalesceRunChangeDetection)&&n(),DD(t)}},onInvoke:(i,r,o,s,a,l,c)=>{try{return wD(t),i.invoke(o,s,a,l,c)}finally{t.shouldCoalesceRunChangeDetection&&!t.callbackScheduled&&!CP(l)&&n(),DD(t)}},onHasTask:(i,r,o,s)=>{i.hasTask(o,s),r===o&&(s.change=="microTask"?(t._hasPendingMicrotasks=s.microTask,V_(t),sv(t)):s.change=="macroTask"&&(t.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,r,o,s)=>(i.handleError(o,s),t.runOutsideAngular(()=>t.onError.emit(s)),!1)})}function V_(t){t._hasPendingMicrotasks||(t.shouldCoalesceEventChangeDetection||t.shouldCoalesceRunChangeDetection)&&t.callbackScheduled===!0?t.hasPendingMicrotasks=!0:t.hasPendingMicrotasks=!1}function wD(t){t._nesting++,t.isStable&&(t.isStable=!1,t.onUnstable.emit(null))}function DD(t){t._nesting--,sv(t)}var j_=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new P;onMicrotaskEmpty=new P;onStable=new P;onError=new P;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,r){return n.apply(e,i)}};function bP(t){return iS(t,"__ignore_ng_zone__")}function CP(t){return iS(t,"__scheduler_tick__")}function iS(t,n){return!Array.isArray(t)||t.length!==1?!1:t[0]?.data?.[n]===!0}var lr=class{_console=console;handleError(n){this._console.error("ERROR",n)}},wP=new B("",{providedIn:"root",factory:()=>{let t=S(Me),n=S(lr);return e=>t.runOutsideAngular(()=>n.handleError(e))}}),H_=class{destroyed=!1;listeners=null;errorHandler=S(lr,{optional:!0});destroyRef=S(Nc);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(n){if(this.destroyed)throw new R(953,!1);return(this.listeners??=[]).push(n),{unsubscribe:()=>{let e=this.listeners?.indexOf(n);e!==void 0&&e!==-1&&this.listeners?.splice(e,1)}}}emit(n){if(this.destroyed){console.warn(Oy(953,!1));return}if(this.listeners===null)return;let e=ge(null);try{for(let i of this.listeners)try{i(n)}catch(r){this.errorHandler?.handleError(r)}}finally{ge(e)}}};function Qh(t){return new H_}function MD(t,n){return tM(t,n)}function DP(t){return tM(eM,t)}var Rn=(MD.required=DP,MD);function MP(){return qa(vn(),ie())}function qa(t,n){return new $(dr(t,n))}var $=(()=>{class t{nativeElement;constructor(e){this.nativeElement=e}static __NG_ELEMENT_ID__=MP}return t})();function SP(t){return t instanceof $?t.nativeElement:t}function EP(t){return typeof t=="function"&&t[ci]!==void 0}function ht(t,n){let e=Fg(t,n?.equal),i=e[ci];return e.set=r=>fc(i,r),e.update=r=>Vg(i,r),e.asReadonly=TP.bind(e),e}function TP(){let t=this[ci];if(t.readonlyFn===void 0){let n=()=>this();n[ci]=t,t.readonlyFn=n}return t.readonlyFn}function rS(t){return EP(t)&&typeof t.set=="function"}function IP(){return this._results[Symbol.iterator]()}var Ha=class{_emitDistinctChangesOnly;dirty=!0;_onDirty=void 0;_results=[];_changesDetected=!1;_changes=void 0;length=0;first=void 0;last=void 0;get changes(){return this._changes??=new X}constructor(n=!1){this._emitDistinctChangesOnly=n}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){this.dirty=!1;let i=uO(n);(this._changesDetected=!cO(this._results,i,e))&&(this._results=i,this.length=i.length,this.last=i[this.length-1],this.first=i[0])}notifyOnChanges(){this._changes!==void 0&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.next(this)}onDirty(n){this._onDirty=n}setDirty(){this.dirty=!0,this._onDirty?.()}destroy(){this._changes!==void 0&&(this._changes.complete(),this._changes.unsubscribe())}[Symbol.iterator]=IP};function oS(t){return(t.flags&128)===128}var sS=function(t){return t[t.OnPush=0]="OnPush",t[t.Default=1]="Default",t}(sS||{}),aS=new Map,xP=0;function kP(){return xP++}function AP(t){aS.set(t[$h],t)}function B_(t){aS.delete(t[$h])}var SD="__ngContext__";function Qa(t,n){Co(n)?(t[SD]=n[$h],AP(n)):t[SD]=n}function lS(t){return uS(t[Mc])}function cS(t){return uS(t[Hi])}function uS(t){for(;t!==null&&!$r(t);)t=t[Hi];return t}var U_;function dS(t){U_=t}function hS(){if(U_!==void 0)return U_;if(typeof document<"u")return document;throw new R(210,!1)}var av=new B("",{providedIn:"root",factory:()=>RP}),RP="ng",lv=new B(""),qn=new B("",{providedIn:"platform",factory:()=>"unknown"});var Lc=new B(""),cv=new B("",{providedIn:"root",factory:()=>hS().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});var OP="h",PP="b";var fS=!1,NP=new B("",{providedIn:"root",factory:()=>fS});var pS=function(t){return t[t.CHANGE_DETECTION=0]="CHANGE_DETECTION",t[t.AFTER_NEXT_RENDER=1]="AFTER_NEXT_RENDER",t}(pS||{}),Zh=new B(""),ED=new Set;function Za(t){ED.has(t)||(ED.add(t),performance?.mark?.("mark_feature_usage",{detail:{feature:t}}))}var LP=(()=>{class t{impl=null;execute(){this.impl?.execute()}static \u0275prov=x({token:t,providedIn:"root",factory:()=>new t})}return t})();var FP=()=>null;function mS(t,n,e=!1){return FP(t,n,e)}function gS(t,n){let e=t.contentQueries;if(e!==null){let i=ge(null);try{for(let r=0;rt,createScript:t=>t,createScriptURL:t=>t})}catch{}return rh}function Kh(t){return VP()?.createHTML(t)||t}var oh;function _S(){if(oh===void 0&&(oh=null,rr.trustedTypes))try{oh=rr.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:t=>t,createScript:t=>t,createScriptURL:t=>t})}catch{}return oh}function TD(t){return _S()?.createHTML(t)||t}function ID(t){return _S()?.createScriptURL(t)||t}var Ur=class{changingThisBreaksApplicationSecurity;constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${XD})`}},Y_=class extends Ur{getTypeName(){return"HTML"}},z_=class extends Ur{getTypeName(){return"Style"}},W_=class extends Ur{getTypeName(){return"Script"}},G_=class extends Ur{getTypeName(){return"URL"}},q_=class extends Ur{getTypeName(){return"ResourceURL"}};function Ui(t){return t instanceof Ur?t.changingThisBreaksApplicationSecurity:t}function zr(t,n){let e=jP(t);if(e!=null&&e!==n){if(e==="ResourceURL"&&n==="URL")return!0;throw new Error(`Required a safe ${n}, got a ${e} (see ${XD})`)}return e===n}function jP(t){return t instanceof Ur&&t.getTypeName()||null}function yS(t){return new Y_(t)}function vS(t){return new z_(t)}function bS(t){return new W_(t)}function CS(t){return new G_(t)}function wS(t){return new q_(t)}function HP(t){let n=new Z_(t);return BP()?new Q_(n):n}var Q_=class{inertDocumentHelper;constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n=""+n;try{let e=new window.DOMParser().parseFromString(Kh(n),"text/html").body;return e===null?this.inertDocumentHelper.getInertBodyElement(n):(e.firstChild?.remove(),e)}catch{return null}}},Z_=class{defaultDoc;inertDocument;constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){let e=this.inertDocument.createElement("template");return e.innerHTML=Kh(n),e}};function BP(){try{return!!new window.DOMParser().parseFromString(Kh(""),"text/html")}catch{return!1}}var UP=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Jh(t){return t=String(t),t.match(UP)?t:"unsafe:"+t}function Wr(t){let n={};for(let e of t.split(","))n[e]=!0;return n}function Fc(...t){let n={};for(let e of t)for(let i in e)e.hasOwnProperty(i)&&(n[i]=!0);return n}var DS=Wr("area,br,col,hr,img,wbr"),MS=Wr("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),SS=Wr("rp,rt"),$P=Fc(SS,MS),YP=Fc(MS,Wr("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")),zP=Fc(SS,Wr("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")),xD=Fc(DS,YP,zP,$P),ES=Wr("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),WP=Wr("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"),GP=Wr("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"),qP=Fc(ES,WP,GP),QP=Wr("script,style,template"),K_=class{sanitizedSomething=!1;buf=[];sanitizeChildren(n){let e=n.firstChild,i=!0,r=[];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){r.push(e),e=JP(e);continue}for(;e;){e.nodeType===Node.ELEMENT_NODE&&this.endElement(e);let o=KP(e);if(o){e=o;break}e=r.pop()}}return this.buf.join("")}startElement(n){let e=kD(n).toLowerCase();if(!xD.hasOwnProperty(e))return this.sanitizedSomething=!0,!QP.hasOwnProperty(e);this.buf.push("<"),this.buf.push(e);let i=n.attributes;for(let r=0;r"),!0}endElement(n){let e=kD(n).toLowerCase();xD.hasOwnProperty(e)&&!DS.hasOwnProperty(e)&&(this.buf.push(""))}chars(n){this.buf.push(AD(n))}};function ZP(t,n){return(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}function KP(t){let n=t.nextSibling;if(n&&t!==n.previousSibling)throw TS(n);return n}function JP(t){let n=t.firstChild;if(n&&ZP(t,n))throw TS(n);return n}function kD(t){let n=t.nodeName;return typeof n=="string"?n:"FORM"}function TS(t){return new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`)}var XP=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,eN=/([^\#-~ |!])/g;function AD(t){return t.replace(/&/g,"&").replace(XP,function(n){let e=n.charCodeAt(0),i=n.charCodeAt(1);return"&#"+((e-55296)*1024+(i-56320)+65536)+";"}).replace(eN,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(//g,">")}var sh;function dv(t,n){let e=null;try{sh=sh||HP(t);let i=n?String(n):"";e=sh.getInertBodyElement(i);let r=5,o=i;do{if(r===0)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=e.innerHTML,e=sh.getInertBodyElement(i)}while(i!==o);let a=new K_().sanitizeChildren(RD(e)||e);return Kh(a)}finally{if(e){let i=RD(e)||e;for(;i.firstChild;)i.firstChild.remove()}}}function RD(t){return"content"in t&&tN(t)?t.content:null}function tN(t){return t.nodeType===Node.ELEMENT_NODE&&t.nodeName==="TEMPLATE"}var Qn=function(t){return t[t.NONE=0]="NONE",t[t.HTML=1]="HTML",t[t.STYLE=2]="STYLE",t[t.SCRIPT=3]="SCRIPT",t[t.URL=4]="URL",t[t.RESOURCE_URL=5]="RESOURCE_URL",t}(Qn||{});function mi(t){let n=hv();return n?TD(n.sanitize(Qn.HTML,t)||""):zr(t,"HTML")?TD(Ui(t)):dv(hS(),ms(t))}function ft(t){let n=hv();return n?n.sanitize(Qn.URL,t)||"":zr(t,"URL")?Ui(t):Jh(ms(t))}function Xh(t){let n=hv();if(n)return ID(n.sanitize(Qn.RESOURCE_URL,t)||"");if(zr(t,"ResourceURL"))return ID(Ui(t));throw new R(904,!1)}function nN(t,n){return n==="src"&&(t==="embed"||t==="frame"||t==="iframe"||t==="media"||t==="script")||n==="href"&&(t==="base"||t==="link")?Xh:ft}function IS(t,n,e){return nN(n,e)(t)}function hv(){let t=ie();return t&&t[Hr].sanitizer}var iN=/^>|^->||--!>|)/g,oN="\u200B$1\u200B";function sN(t){return t.replace(iN,n=>n.replace(rN,oN))}function Vc(t){return t.ownerDocument.defaultView}function xS(t){return t instanceof Function?t():t}function aN(t,n,e){let i=t.length;for(;;){let r=t.indexOf(n,e);if(r===-1)return r;if(r===0||t.charCodeAt(r-1)<=32){let o=n.length;if(r+o===i||t.charCodeAt(r+o)<=32)return r}e=r+1}}var kS="ng-template";function lN(t,n,e,i){let r=0;if(i){for(;r-1){let o;for(;++ro?m="":m=r[u+1].toLowerCase(),i&2&&c!==m){if(Vi(i))return!1;s=!0}}}}return Vi(i)||s}function Vi(t){return(t&1)===0}function dN(t,n,e,i){if(n===null)return-1;let r=0;if(i||!e){let o=!1;for(;r-1)for(e++;e0?'="'+a+'"':"")+"]"}else i&8?r+="."+s:i&4&&(r+=" "+s);else r!==""&&!Vi(s)&&(n+=OD(o,r),r=""),i=s,o=o||!Vi(i);e++}return r!==""&&(n+=OD(o,r)),n}function _N(t){return t.map(gN).join(",")}function yN(t){let n=[],e=[],i=1,r=2;for(;iUt&&FS(t,n,Ut,!1),Je(s?2:0,r),e(i,r)}finally{Cs(o),Je(s?3:1,r)}}function tf(t,n,e){ON(t,n,e),(e.flags&64)===64&&PN(t,n,e)}function _v(t,n,e=dr){let i=n.localNames;if(i!==null){let r=n.index+1;for(let o=0;onull;function AN(t){return t==="class"?"className":t==="for"?"htmlFor":t==="formaction"?"formAction":t==="innerHtml"?"innerHTML":t==="readonly"?"readOnly":t==="tabindex"?"tabIndex":t}function nf(t,n,e,i,r,o,s,a){if(!a&&vv(n,t,e,i,r)){Wa(n)&&RN(e,n.index);return}if(n.type&3){let l=dr(n,e);i=AN(i),r=s!=null?s(r,n.value||"",i):r,o.setProperty(l,i,r)}else n.type&12}function RN(t,n){let e=ar(n,t);e[fe]&16||(e[fe]|=64)}function ON(t,n,e){let i=e.directiveStart,r=e.directiveEnd;Wa(e)&&TN(n,e,t.data[i+e.componentOffset]),t.firstCreatePass||Eh(e,n);let o=e.initialInputs;for(let s=i;s=0?i[a]():i[-a].unsubscribe(),s+=2}else{let a=i[e[s+1]];e[s].call(a)}i!==null&&(n[vh]=null);let r=n[bo];if(r!==null){n[bo]=null;for(let s=0;s{Wh(t.lView)},consumerOnSignalRead(){this.lView[fi]=this}});function aL(t){let n=t[fi]??Object.create(lL);return n.lView=t,n}var lL=W(E({},dc),{consumerIsAlwaysLive:!0,kind:"template",consumerMarkedDirty:t=>{let n=bs(t.lView);for(;n&&!WS(n[he]);)n=bs(n);n&&IM(n)},consumerOnSignalRead(){this.lView[fi]=this}});function WS(t){return t.type!==2}function GS(t){if(t[bh]===null)return;let n=!0;for(;n;){let e=!1;for(let i of t[bh])i.dirty&&(e=!0,i.zone===null||Zone.current===i.zone?i.run():i.zone.run(()=>i.run()));n=e&&!!(t[fe]&8192)}}var cL=100;function qS(t,n=!0,e=0){let r=t[Hr].rendererFactory,o=!1;o||r.begin?.();try{uL(t,e)}catch(s){throw n&&HN(t,s),s}finally{o||r.end?.()}}function uL(t,n){let e=RM();try{mD(!0),ey(t,n);let i=0;for(;zh(t);){if(i===cL)throw new R(103,!1);i++,ey(t,1)}}finally{mD(e)}}function dL(t,n,e,i){if(Oc(n))return;let r=n[fe],o=!1,s=!1;Xy(n);let a=!0,l=null,c=null;o||(WS(t)?(c=iL(n),l=wd(c)):Ig()===null?(a=!1,c=aL(n),l=wd(c)):n[fi]&&(Pg(n[fi]),n[fi]=null));try{TM(n),WO(t.bindingStartIndex),e!==null&&VS(t,n,e,2,i);let u=(r&3)===3;if(!o)if(u){let _=t.preOrderCheckHooks;_!==null&&ch(n,_,null)}else{let _=t.preOrderHooks;_!==null&&uh(n,_,0,null),u_(n,0)}if(s||hL(n),GS(n),QS(n,0),t.contentQueries!==null&&gS(t,n),!o)if(u){let _=t.contentCheckHooks;_!==null&&ch(n,_)}else{let _=t.contentHooks;_!==null&&uh(n,_,1),u_(n,1)}pL(t,n);let m=t.components;m!==null&&KS(n,m,0);let b=t.viewQuery;if(b!==null&&$_(2,b,i),!o)if(u){let _=t.viewCheckHooks;_!==null&&ch(n,_)}else{let _=t.viewHooks;_!==null&&uh(n,_,2),u_(n,2)}if(t.firstUpdatePass===!0&&(t.firstUpdatePass=!1),n[l_]){for(let _ of n[l_])_();n[l_]=null}o||(YS(n),n[fe]&=-73)}catch(u){throw o||Wh(n),u}finally{c!==null&&(Rg(c,l),a&&oL(c)),ev()}}function QS(t,n){for(let e=lS(t);e!==null;e=cS(e))for(let i=cn;i0&&(t[e-1][Hi]=i[Hi]);let o=_h(t,cn+n);zN(i[he],i);let s=o[Br];s!==null&&s.detachView(o[he]),i[un]=null,i[Hi]=null,i[fe]&=-129}return i}function mL(t,n,e,i){let r=cn+i,o=e.length;i>0&&(e[r-1][Hi]=n),i-1&&(Tc(n,i),_h(e,i))}this._attachedToViewContainer=!1}rf(this._lView[he],this._lView)}onDestroy(n){xM(this._lView,n)}markForCheck(){Sv(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[fe]&=-129}reattach(){k_(this._lView),this._lView[fe]|=128}detectChanges(){this._lView[fe]|=1024,qS(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new R(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let n=wh(this._lView),e=this._lView[ys];e!==null&&!n&&Dv(e,this._lView),jS(this._lView[he],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new R(902,!1);this._appRef=n;let e=wh(this._lView),i=this._lView[ys];i!==null&&!e&&tE(i,this._lView),k_(this._lView)}};var St=(()=>{class t{static __NG_ELEMENT_ID__=yL}return t})(),gL=St,_L=class extends gL{_declarationLView;_declarationTContainer;elementRef;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)}createEmbeddedViewImpl(n,e,i){let r=jc(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:e,dehydratedView:i});return new Ic(r)}};function yL(){return af(vn(),ie())}function af(t,n){return t.type&4?new _L(n,t,qa(t,n)):null}function Bc(t,n,e,i,r){let o=t.data[n];if(o===null)o=vL(t,n,e,i,r),GO()&&(o.flags|=32);else if(o.type&64){o.type=e,o.value=i,o.attrs=r;let s=$O();o.injectorIndex=s===null?-1:s.injectorIndex}return Ms(o,!0),o}function vL(t,n,e,i,r){let o=AM(),s=Qy(),a=s?o:o&&o.parent,l=t.data[n]=CL(t,a,e,n,i,r);return bL(t,l,o,s),l}function bL(t,n,e,i){t.firstChild===null&&(t.firstChild=n),e!==null&&(i?e.child==null&&n.parent!==null&&(e.child=n):e.next===null&&(e.next=n,n.prev=e))}function CL(t,n,e,i,r,o){let s=n?n.injectorIndex:-1,a=0;return kM()&&(a|=128),{type:e,index:i,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:o,mergedAttrs:null,localNames:null,initialInputs:null,inputs:null,hostDirectiveInputs:null,outputs:null,hostDirectiveOutputs:null,directiveToIndex: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}}var LX=new RegExp(`^(\\d+)*(${PP}|${OP})*(.*)`);var wL=()=>null;function Ua(t,n){return wL(t,n)}var DL=class{},nE=class{},ty=class{resolveComponentFactory(n){throw Error(`No component factory found for ${In(n)}.`)}},So=class{static NULL=new ty},xn=class{},ke=(()=>{class t{destroyNode=null;static __NG_ELEMENT_ID__=()=>ML()}return t})();function ML(){let t=ie(),n=vn(),e=ar(n.index,t);return(Co(e)?e:t)[ut]}var SL=(()=>{class t{static \u0275prov=x({token:t,providedIn:"root",factory:()=>null})}return t})();var f_={},ny=class{injector;parentInjector;constructor(n,e){this.injector=n,this.parentInjector=e}get(n,e,i){i=Bh(i);let r=this.injector.get(n,f_,i);return r!==f_||e===f_?r:this.parentInjector.get(n,e,i)}};function iy(t,n,e){let i=e?t.styles:null,r=e?t.classes:null,o=0;if(n!==null)for(let s=0;s0&&(e.directiveToIndex=new Map);for(let b=0;b0;){let e=t[--n];if(typeof e=="number"&&e<0)return e}return 0}function NL(t,n,e){if(e){if(n.exportAs)for(let i=0;i{let[e,i,r]=t[n],o={propName:e,templateName:n,isSignal:(i&ef.SignalBased)!==0};return r&&(o.transform=r),o})}function VL(t){return Object.keys(t).map(n=>({propName:t[n],templateName:n}))}function jL(t,n,e){let i=n instanceof yn?n:n?.injector;return i&&t.getStandaloneInjector!==null&&(i=t.getStandaloneInjector(i)||i),i?new ny(e,i):e}function HL(t){let n=t.get(xn,null);if(n===null)throw new R(407,!1);let e=t.get(SL,null),i=t.get(Ec,null);return{rendererFactory:n,sanitizer:e,changeDetectionScheduler:i}}function BL(t,n){let e=(t.selectors[0][0]||"div").toLowerCase();return RS(n,e,e==="svg"?kO:e==="math"?AO:null)}var xc=class extends nE{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=FL(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=VL(this.componentDef.outputs),this.cachedOutputs}constructor(n,e){super(),this.componentDef=n,this.ngModule=e,this.componentType=n.type,this.selector=_N(n.selectors),this.ngContentSelectors=n.ngContentSelectors??[],this.isBoundToModule=!!e}create(n,e,i,r){Je(22);let o=ge(null);try{let s=this.componentDef,a=i?["ng-version","19.2.8"]:yN(this.componentDef.selectors[0]),l=pv(0,null,null,1,0,null,null,null,null,[a],null),c=jL(s,r||this.ngModule,n),u=HL(c),m=u.rendererFactory.createRenderer(null,s),b=i?IN(m,i,s.encapsulation,c):BL(s,m),_=mv(null,l,null,512|NS(s),null,null,u,m,c,null,mS(b,c,!0));_[Ut]=b,Xy(_);let M=null;try{let I=rE(Ut,l,_,"#host",()=>[this.componentDef],!0,0);b&&(PS(m,b,I),Qa(b,_)),tf(l,_,I),uv(l,I,_),oE(l,I),e!==void 0&&UL(I,this.ngContentSelectors,e),M=ar(I.index,_),_[Bt]=M[Bt],bv(l,_,null)}catch(I){throw M!==null&&B_(M),B_(_),I}finally{Je(23),ev()}return new ry(this.componentType,_)}finally{ge(o)}}},ry=class extends DL{_rootLView;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(n,e){super(),this._rootLView=e,this._tNode=$y(e[he],Ut),this.location=qa(this._tNode,e),this.instance=ar(this._tNode.index,e)[Bt],this.hostView=this.changeDetectorRef=new Ic(e,void 0,!1),this.componentType=n}setInput(n,e){let i=this._tNode;if(this.previousInputValues??=new Map,this.previousInputValues.has(n)&&Object.is(this.previousInputValues.get(n),e))return;let r=this._rootLView,o=vv(i,r[he],r,n,e);this.previousInputValues.set(n,e);let s=ar(i.index,r);Sv(s,1)}get injector(){return new ps(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(n){this.hostView.onDestroy(n)}};function UL(t,n,e){let i=t.projection=[];for(let r=0;r{class t{static __NG_ELEMENT_ID__=$L}return t})();function $L(){let t=vn();return aE(t,ie())}var YL=pt,sE=class extends YL{_lContainer;_hostTNode;_hostLView;constructor(n,e,i){super(),this._lContainer=n,this._hostTNode=e,this._hostLView=i}get element(){return qa(this._hostTNode,this._hostLView)}get injector(){return new ps(this._hostTNode,this._hostLView)}get parentInjector(){let n=nv(this._hostTNode,this._hostLView);if($M(n)){let e=Mh(n,this._hostLView),i=Dh(n),r=e[he].data[i+8];return new ps(r,e)}else return new ps(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){let e=jD(this._lContainer);return e!==null&&e[n]||null}get length(){return this._lContainer.length-cn}createEmbeddedView(n,e,i){let r,o;typeof i=="number"?r=i:i!=null&&(r=i.index,o=i.injector);let s=Ua(this._lContainer,n.ssrId),a=n.createEmbeddedViewImpl(e||{},o,s);return this.insertImpl(a,r,Ba(this._hostTNode,s)),a}createComponent(n,e,i,r,o){let s=n&&!EO(n),a;if(s)a=e;else{let M=e||{};a=M.index,i=M.injector,r=M.projectableNodes,o=M.environmentInjector||M.ngModuleRef}let l=s?n:new xc(Pa(n)),c=i||this.parentInjector;if(!o&&l.ngModule==null){let I=(s?c:this.parentInjector).get(yn,null);I&&(o=I)}let u=Pa(l.componentType??{}),m=Ua(this._lContainer,u?.id??null),b=m?.firstChild??null,_=l.create(c,r,b,o);return this.insertImpl(_.hostView,a,Ba(this._hostTNode,m)),_}insert(n,e){return this.insertImpl(n,e,!0)}insertImpl(n,e,i){let r=n._lView;if(PO(r)){let a=this.indexOf(n);if(a!==-1)this.detach(a);else{let l=r[un],c=new sE(l,l[An],l[un]);c.detach(c.indexOf(n))}}let o=this._adjustIndex(e),s=this._lContainer;return Hc(s,r,o,i),n.attachToViewContainerRef(),fM(p_(s),o,n),n}move(n,e){return this.insert(n,e)}indexOf(n){let e=jD(this._lContainer);return e!==null?e.indexOf(n):-1}remove(n){let e=this._adjustIndex(n,-1),i=Tc(this._lContainer,e);i&&(_h(p_(this._lContainer),e),rf(i[he],i))}detach(n){let e=this._adjustIndex(n,-1),i=Tc(this._lContainer,e);return i&&_h(p_(this._lContainer),e)!=null?new Ic(i):null}_adjustIndex(n,e=0){return n??this.length+e}};function jD(t){return t[Ch]}function p_(t){return t[Ch]||(t[Ch]=[])}function aE(t,n){let e,i=n[t.index];return $r(i)?e=i:(e=JS(i,n,null,t),n[t.index]=e,gv(n,e)),WL(e,n,t,i),new sE(e,t,n)}function zL(t,n){let e=t[ut],i=e.createComment(""),r=dr(n,t),o=e.parentNode(r);return xh(e,o,i,e.nextSibling(r),!1),i}var WL=QL,GL=()=>!1;function qL(t,n,e){return GL(t,n,e)}function QL(t,n,e,i){if(t[vs])return;let r;e.type&8?r=sr(i):r=zL(n,e),t[vs]=r}var oy=class t{queryList;matches=null;constructor(n){this.queryList=n}clone(){return new t(this.queryList)}setDirty(){this.queryList.setDirty()}},sy=class t{queries;constructor(n=[]){this.queries=n}createEmbeddedView(n){let e=n.queries;if(e!==null){let i=n.contentQueries!==null?n.contentQueries[0]:e.length,r=[];for(let o=0;o0)i.push(s[a/2]);else{let c=o[a+1],u=n[-l];for(let m=cn;mn.trim())}function uE(t,n,e){t.queries===null&&(t.queries=new ay),t.queries.track(new ly(n,e))}function rF(t,n){let e=t.contentQueries||(t.contentQueries=[]),i=e.length?e[e.length-1]:-1;n!==i&&e.push(t.queries.length-1,n)}function Tv(t,n){return t.queries.getByIndex(n)}function oF(t,n){let e=t[he],i=Tv(e,n);return i.crossesNgTemplate?cy(e,t,n,[]):lE(e,t,i,n)}var $a=class{},Iv=class{};var uy=class extends $a{ngModuleType;_parent;_bootstrapComponents=[];_r3Injector;instance;destroyCbs=[];componentFactoryResolver=new Ah(this);constructor(n,e,i,r=!0){super(),this.ngModuleType=n,this._parent=e;let o=gM(n);this._bootstrapComponents=xS(o.bootstrap),this._r3Injector=JM(n,e,[{provide:$a,useValue:this},{provide:So,useValue:this.componentFactoryResolver},...i],In(n),new Set(["environment"])),r&&this.resolveInjectorInitializers()}resolveInjectorInitializers(){this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(this.ngModuleType)}get injector(){return this._r3Injector}destroy(){let n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(e=>e()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}},dy=class extends Iv{moduleType;constructor(n){super(),this.moduleType=n}create(n){return new uy(this.moduleType,n,[])}};var Oh=class extends $a{injector;componentFactoryResolver=new Ah(this);instance=null;constructor(n){super();let e=new Dc([...n.providers,{provide:$a,useValue:this},{provide:So,useValue:this.componentFactoryResolver}],n.parent||Hy(),n.debugName,new Set(["environment"]));this.injector=e,n.runEnvironmentInitializers&&e.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}};function lf(t,n,e=null){return new Oh({providers:t,parent:n,debugName:e,runEnvironmentInitializers:!0}).injector}var sF=(()=>{class t{_injector;cachedInjectors=new Map;constructor(e){this._injector=e}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e)){let i=_M(!1,e.type),r=i.length>0?lf([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e,r)}return this.cachedInjectors.get(e)}ngOnDestroy(){try{for(let e of this.cachedInjectors.values())e!==null&&e.destroy()}finally{this.cachedInjectors.clear()}}static \u0275prov=x({token:t,providedIn:"environment",factory:()=>new t(F(yn))})}return t})();function L(t){return Ac(()=>{let n=dE(t),e=W(E({},n),{decls:t.decls,vars:t.vars,template:t.template,consts:t.consts||null,ngContentSelectors:t.ngContentSelectors,onPush:t.changeDetection===sS.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&t.dependencies||null,getStandaloneInjector:n.standalone?r=>r.get(sF).getOrCreateStandaloneInjector(e):null,getExternalStyles:null,signals:t.signals??!1,data:t.data||{},encapsulation:t.encapsulation||pi.Emulated,styles:t.styles||Tn,_:null,schemas:t.schemas||null,tView:null,id:""});n.standalone&&Za("NgStandalone"),hE(e);let i=t.dependencies;return e.directiveDefs=HD(i,!1),e.pipeDefs=HD(i,!0),e.id=dF(e),e})}function aF(t){return Pa(t)||pO(t)}function lF(t){return t!==null}function be(t){return Ac(()=>({type:t.type,bootstrap:t.bootstrap||Tn,declarations:t.declarations||Tn,imports:t.imports||Tn,exports:t.exports||Tn,transitiveCompileScopes:null,schemas:t.schemas||null,id:t.id||null}))}function cF(t,n){if(t==null)return _s;let e={};for(let i in t)if(t.hasOwnProperty(i)){let r=t[i],o,s,a,l;Array.isArray(r)?(a=r[0],o=r[1],s=r[2]??o,l=r[3]||null):(o=r,s=r,a=ef.None,l=null),e[o]=[i,a,l],n[o]=s}return e}function uF(t){if(t==null)return _s;let n={};for(let e in t)t.hasOwnProperty(e)&&(n[t[e]]=e);return n}function H(t){return Ac(()=>{let n=dE(t);return hE(n),n})}function Eo(t){return{type:t.type,name:t.name,factory:null,pure:t.pure!==!1,standalone:t.standalone??!0,onDestroy:t.type.prototype.ngOnDestroy||null}}function dE(t){let 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,inputConfig:t.inputs||_s,exportAs:t.exportAs||null,standalone:t.standalone??!0,signals:t.signals===!0,selectors:t.selectors||Tn,viewQuery:t.viewQuery||null,features:t.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:cF(t.inputs,n),outputs:uF(t.outputs),debugInfo:null}}function hE(t){t.features?.forEach(n=>n(t))}function HD(t,n){if(!t)return null;let e=n?mO:aF;return()=>(typeof t=="function"?t():t).map(i=>e(i)).filter(lF)}function dF(t){let n=0,e=typeof t.consts=="function"?"":t.consts,i=[t.selectors,t.ngContentSelectors,t.hostVars,t.hostAttrs,e,t.vars,t.decls,t.encapsulation,t.standalone,t.signals,t.exportAs,JSON.stringify(t.inputs),JSON.stringify(t.outputs),Object.getOwnPropertyNames(t.type.prototype),!!t.contentQueries,!!t.viewQuery];for(let o of i.join("|"))n=Math.imul(31,n)+o.charCodeAt(0)<<0;return n+=2147483648,"c"+n}function hF(t){return Object.getPrototypeOf(t.prototype).constructor}function Ct(t){let n=hF(t.type),e=!0,i=[t];for(;n;){let r;if(Bi(t))r=n.\u0275cmp||n.\u0275dir;else{if(n.\u0275cmp)throw new R(903,!1);r=n.\u0275dir}if(r){if(e){i.push(r);let s=t;s.inputs=m_(t.inputs),s.declaredInputs=m_(t.declaredInputs),s.outputs=m_(t.outputs);let a=r.hostBindings;a&&_F(t,a);let l=r.viewQuery,c=r.contentQueries;if(l&&mF(t,l),c&&gF(t,c),fF(t,r),WR(t.outputs,r.outputs),Bi(r)&&r.data.animation){let u=t.data;u.animation=(u.animation||[]).concat(r.data.animation)}}let o=r.features;if(o)for(let s=0;s=0;i--){let r=t[i];r.hostVars=n+=r.hostVars,r.hostAttrs=ja(r.hostAttrs,e=ja(e,r.hostAttrs))}}function m_(t){return t===_s?{}:t===Tn?[]:t}function mF(t,n){let e=t.viewQuery;e?t.viewQuery=(i,r)=>{n(i,r),e(i,r)}:t.viewQuery=n}function gF(t,n){let e=t.contentQueries;e?t.contentQueries=(i,r,o)=>{n(i,r,o),e(i,r,o)}:t.contentQueries=n}function _F(t,n){let e=t.hostBindings;e?t.hostBindings=(i,r)=>{n(i,r),e(i,r)}:t.hostBindings=n}function fE(t){return xv(t)?Array.isArray(t)||!(t instanceof Map)&&Symbol.iterator in t:!1}function yF(t,n){if(Array.isArray(t))for(let e=0;e{class t{log(e){console.log(e)}warn(e){console.warn(e)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}return t})();var pE=new B("");var MF=(()=>{class t{static \u0275prov=x({token:t,providedIn:"root",factory:()=>new hy})}return t})(),hy=class{queuedEffectCount=0;queues=new Map;schedule(n){this.enqueue(n)}remove(n){let e=n.zone,i=this.queues.get(e);i.has(n)&&(i.delete(n),this.queuedEffectCount--)}enqueue(n){let e=n.zone;this.queues.has(e)||this.queues.set(e,new Set);let i=this.queues.get(e);i.has(n)||(this.queuedEffectCount++,i.add(n))}flush(){for(;this.queuedEffectCount>0;)for(let[n,e]of this.queues)n===null?this.flushQueue(e):n.run(()=>this.flushQueue(e))}flushQueue(n){for(let e of n)n.delete(e),this.queuedEffectCount--,e.run()}};function To(t){return!!t&&typeof t.then=="function"}function Rv(t){return!!t&&typeof t.subscribe=="function"}var SF=new B("");var mE=(()=>{class t{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((e,i)=>{this.resolve=e,this.reject=i});appInits=S(SF,{optional:!0})??[];injector=S(kt);constructor(){}runInitializers(){if(this.initialized)return;let e=[];for(let r of this.appInits){let o=Gn(this.injector,r);if(To(o))e.push(o);else if(Rv(o)){let s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});e.push(s)}}let i=()=>{this.done=!0,this.resolve()};Promise.all(e).then(()=>{i()}).catch(r=>{this.reject(r)}),e.length===0&&i(),this.initialized=!0}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Ov=new B("");function EF(){Lg(()=>{throw new R(600,!1)})}function TF(t){return t.isBoundToModule}var IF=10;var kn=(()=>{class t{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=S(wP);afterRenderManager=S(LP);zonelessEnabled=S(rv);rootEffectScheduler=S(MF);dirtyFlags=0;tracingSnapshot=null;externalTestViews=new Set;afterTick=new X;get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];isStable=S(Mo).hasPendingTasks.pipe(G(e=>!e));constructor(){S(Zh,{optional:!0})}whenStable(){let e;return new Promise(i=>{e=this.isStable.subscribe({next:r=>{r&&i()}})}).finally(()=>{e.unsubscribe()})}_injector=S(yn);_rendererFactory=null;get injector(){return this._injector}bootstrap(e,i){return this.bootstrapImpl(e,i)}bootstrapImpl(e,i,r=kt.NULL){Je(10);let o=e instanceof nE;if(!this._injector.get(mE).done){let _="";throw new R(405,_)}let a;o?a=e:a=this._injector.get(So).resolveComponentFactory(e),this.componentTypes.push(a.componentType);let l=TF(a)?void 0:this._injector.get($a),c=i||a.selector,u=a.create(r,[],c,l),m=u.location.nativeElement,b=u.injector.get(pE,null);return b?.registerApplication(m),u.onDestroy(()=>{this.detachView(u.hostView),hh(this.components,u),b?.unregisterApplication(m)}),this._loadComponent(u),Je(11,u),u}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){Je(12),this.tracingSnapshot!==null?this.tracingSnapshot.run(pS.CHANGE_DETECTION,this.tickImpl):this.tickImpl()}tickImpl=()=>{if(this._runningTick)throw new R(101,!1);let e=ge(null);try{this._runningTick=!0,this.synchronize()}catch(i){this.internalErrorHandler(i)}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,ge(e),this.afterTick.next(),Je(13)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(xn,null,{optional:!0}));let e=0;for(;this.dirtyFlags!==0&&e++zh(e))){this.dirtyFlags|=2;return}else this.dirtyFlags&=-8}attachView(e){let i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){let i=e;hh(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e),this._injector.get(Ov,[]).forEach(r=>r(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._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>hh(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new R(406,!1);let e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function hh(t,n){let e=t.indexOf(n);e>-1&&t.splice(e,1)}function xF(t,n,e,i){if(!e&&!zh(t))return;qS(t,n,e&&!i?0:1)}function J(t,n,e,i){let r=ie(),o=Ss();if(Wn(r,o,n)){let s=dt(),a=Pc();LN(a,r,t,n,e,i)}return J}function gE(t,n,e,i){return Wn(t,Ss(),e)?n+ms(e)+i:On}function kF(t,n,e,i,r,o){let s=zO(),a=kv(t,s,e,r);return Ky(2),a?n+ms(e)+i+ms(r)+o:On}function ah(t,n){return t<<17|n<<2}function Ds(t){return t>>17&32767}function AF(t){return(t&2)==2}function RF(t,n){return t&131071|n<<17}function fy(t){return t|2}function Ya(t){return(t&131068)>>2}function g_(t,n){return t&-131069|n<<2}function OF(t){return(t&1)===1}function py(t){return t|1}function PF(t,n,e,i,r,o){let s=o?n.classBindings:n.styleBindings,a=Ds(s),l=Ya(s);t[i]=e;let c=!1,u;if(Array.isArray(e)){let m=e;u=m[1],(u===null||Rc(m,u)>0)&&(c=!0)}else u=e;if(r)if(l!==0){let b=Ds(t[a+1]);t[i+1]=ah(b,a),b!==0&&(t[b+1]=g_(t[b+1],i)),t[a+1]=RF(t[a+1],i)}else t[i+1]=ah(a,0),a!==0&&(t[a+1]=g_(t[a+1],i)),a=i;else t[i+1]=ah(l,0),a===0?a=i:t[l+1]=g_(t[l+1],i),l=i;c&&(t[i+1]=fy(t[i+1])),BD(t,u,i,!0),BD(t,u,i,!1),NF(n,u,t,i,o),s=ah(a,l),o?n.classBindings=s:n.styleBindings=s}function NF(t,n,e,i,r){let o=r?t.residualClasses:t.residualStyles;o!=null&&typeof n=="string"&&Rc(o,n)>=0&&(e[i+1]=py(e[i+1]))}function BD(t,n,e,i){let r=t[e+1],o=n===null,s=i?Ds(r):Ya(r),a=!1;for(;s!==0&&(a===!1||o);){let l=t[s],c=t[s+1];LF(l,n)&&(a=!0,t[s+1]=i?py(c):fy(c)),s=i?Ds(c):Ya(c)}a&&(t[e+1]=i?fy(r):py(r))}function LF(t,n){return t===null||n==null||(Array.isArray(t)?t[1]:t)===n?!0:Array.isArray(t)&&typeof n=="string"?Rc(t,n)>=0:!1}var ji={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function FF(t){return t.substring(ji.key,ji.keyEnd)}function VF(t){return jF(t),_E(t,yE(t,0,ji.textEnd))}function _E(t,n){let e=ji.textEnd;return e===n?-1:(n=ji.keyEnd=HF(t,ji.key=n,e),yE(t,n,e))}function jF(t){ji.key=0,ji.keyEnd=0,ji.value=0,ji.valueEnd=0,ji.textEnd=t.length}function yE(t,n,e){for(;n32;)n++;return n}function g(t,n,e){let i=ie(),r=Ss();if(Wn(i,r,n)){let o=dt(),s=Pc();nf(o,s,i,t,n,i[ut],e,!1)}return g}function my(t,n,e,i,r){vv(n,t,e,r?"class":"style",i)}function rn(t,n,e){return vE(t,n,e,!1),rn}function j(t,n){return vE(t,n,null,!0),j}function Jt(t){UF(qF,BF,t,!0)}function BF(t,n){for(let e=VF(n);e>=0;e=_E(n,e))Fy(t,FF(n),!0)}function vE(t,n,e,i){let r=ie(),o=dt(),s=Ky(2);if(o.firstUpdatePass&&CE(o,t,s,i),n!==On&&Wn(r,s,n)){let a=o.data[Yr()];wE(o,a,r,r[ut],t,r[s+1]=ZF(n,e),i,s)}}function UF(t,n,e,i){let r=dt(),o=Ky(2);r.firstUpdatePass&&CE(r,null,o,i);let s=ie();if(e!==On&&Wn(s,o,e)){let a=r.data[Yr()];if(DE(a,i)&&!bE(r,o)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;l!==null&&(e=w_(l,e||"")),my(r,a,s,e,i)}else QF(r,a,s,s[ut],s[o+1],s[o+1]=GF(t,n,e),i,o)}}function bE(t,n){return n>=t.expandoStartIndex}function CE(t,n,e,i){let r=t.data;if(r[e+1]===null){let o=r[Yr()],s=bE(t,e);DE(o,i)&&n===null&&!s&&(n=!1),n=$F(r,o,n,i),PF(r,o,n,e,s,i)}}function $F(t,n,e,i){let r=OM(t),o=i?n.residualClasses:n.residualStyles;if(r===null)(i?n.classBindings:n.styleBindings)===0&&(e=__(null,t,n,e,i),e=kc(e,n.attrs,i),o=null);else{let s=n.directiveStylingLast;if(s===-1||t[s]!==r)if(e=__(r,t,n,e,i),o===null){let l=YF(t,n,i);l!==void 0&&Array.isArray(l)&&(l=__(null,t,n,l[1],i),l=kc(l,n.attrs,i),zF(t,n,i,l))}else o=WF(t,n,i)}return o!==void 0&&(i?n.residualClasses=o:n.residualStyles=o),e}function YF(t,n,e){let i=e?n.classBindings:n.styleBindings;if(Ya(i)!==0)return t[Ds(i)]}function zF(t,n,e,i){let r=e?n.classBindings:n.styleBindings;t[Ds(r)]=i}function WF(t,n,e){let i,r=n.directiveEnd;for(let o=1+n.directiveStylingLast;o0;){let l=t[r],c=Array.isArray(l),u=c?l[1]:l,m=u===null,b=e[r+1];b===On&&(b=m?Tn:void 0);let _=m?s_(b,i):u===i?b:void 0;if(c&&!Nh(_)&&(_=s_(l,i)),Nh(_)&&(a=_,s))return a;let M=t[r+1];r=s?Ds(M):Ya(M)}if(n!==null){let l=o?n.residualClasses:n.residualStyles;l!=null&&(a=s_(l,i))}return a}function Nh(t){return t!==void 0}function ZF(t,n){return t==null||t===""||(typeof n=="string"?t=t+n:typeof t=="object"&&(t=In(Ui(t)))),t}function DE(t,n){return(t.flags&(n?8:16))!==0}var gy=class{destroy(n){}updateValue(n,e){}swap(n,e){let i=Math.min(n,e),r=Math.max(n,e),o=this.detach(r);if(r-i>1){let s=this.detach(i);this.attach(i,o),this.attach(r,s)}else this.attach(i,o)}move(n,e){this.attach(e,this.detach(n))}};function y_(t,n,e,i,r){return t===e&&Object.is(n,i)?1:Object.is(r(t,n),r(e,i))?-1:0}function KF(t,n,e){let i,r,o=0,s=t.length-1,a=void 0;if(Array.isArray(n)){let l=n.length-1;for(;o<=s&&o<=l;){let c=t.at(o),u=n[o],m=y_(o,c,o,u,e);if(m!==0){m<0&&t.updateValue(o,u),o++;continue}let b=t.at(s),_=n[l],M=y_(s,b,l,_,e);if(M!==0){M<0&&t.updateValue(s,_),s--,l--;continue}let I=e(o,c),O=e(s,b),V=e(o,u);if(Object.is(V,O)){let de=e(l,_);Object.is(de,I)?(t.swap(o,s),t.updateValue(s,_),l--,s--):t.move(s,o),t.updateValue(o,u),o++;continue}if(i??=new Lh,r??=YD(t,o,s,e),_y(t,i,o,V))t.updateValue(o,u),o++,s++;else if(r.has(V))i.set(I,t.detach(o)),s--;else{let de=t.create(o,n[o]);t.attach(o,de),o++,s++}}for(;o<=l;)$D(t,i,e,o,n[o]),o++}else if(n!=null){let l=n[Symbol.iterator](),c=l.next();for(;!c.done&&o<=s;){let u=t.at(o),m=c.value,b=y_(o,u,o,m,e);if(b!==0)b<0&&t.updateValue(o,m),o++,c=l.next();else{i??=new Lh,r??=YD(t,o,s,e);let _=e(o,m);if(_y(t,i,o,_))t.updateValue(o,m),o++,s++,c=l.next();else if(!r.has(_))t.attach(o,t.create(o,m)),o++,s++,c=l.next();else{let M=e(o,u);i.set(M,t.detach(o)),s--}}}for(;!c.done;)$D(t,i,e,t.length,c.value),c=l.next()}for(;o<=s;)t.destroy(t.detach(s--));i?.forEach(l=>{t.destroy(l)})}function _y(t,n,e,i){return n!==void 0&&n.has(i)?(t.attach(e,n.get(i)),n.delete(i),!0):!1}function $D(t,n,e,i,r){if(_y(t,n,i,e(i,r)))t.updateValue(i,r);else{let o=t.create(i,r);t.attach(i,o)}}function YD(t,n,e,i){let r=new Set;for(let o=n;o<=e;o++)r.add(i(o,t.at(o)));return r}var Lh=class{kvMap=new Map;_vMap=void 0;has(n){return this.kvMap.has(n)}delete(n){if(!this.has(n))return!1;let e=this.kvMap.get(n);return this._vMap!==void 0&&this._vMap.has(e)?(this.kvMap.set(n,this._vMap.get(e)),this._vMap.delete(e)):this.kvMap.delete(n),!0}get(n){return this.kvMap.get(n)}set(n,e){if(this.kvMap.has(n)){let i=this.kvMap.get(n);this._vMap===void 0&&(this._vMap=new Map);let r=this._vMap;for(;r.has(i);)i=r.get(i);r.set(i,e)}else this.kvMap.set(n,e)}forEach(n){for(let[e,i]of this.kvMap)if(n(i,e),this._vMap!==void 0){let r=this._vMap;for(;r.has(i);)i=r.get(i),n(i,e)}}};function Re(t,n){Za("NgControlFlow");let e=ie(),i=Ss(),r=e[i]!==On?e[i]:-1,o=r!==-1?Fh(e,Ut+r):void 0,s=0;if(Wn(e,i,t)){let a=ge(null);try{if(o!==void 0&&eE(o,s),t!==-1){let l=Ut+t,c=Fh(e,l),u=Cy(e[he],l),m=Ua(c,u.tView.ssrId),b=jc(e,u,n,{dehydratedView:m});Hc(c,b,s,Ba(u,m))}}finally{ge(a)}}else if(o!==void 0){let a=XS(o,s);a!==void 0&&(a[Bt]=n)}}var yy=class{lContainer;$implicit;$index;constructor(n,e,i){this.lContainer=n,this.$implicit=e,this.$index=i}get $count(){return this.lContainer.length-cn}};function Ka(t){return t}var vy=class{hasEmptyBlock;trackByFn;liveCollection;constructor(n,e,i){this.hasEmptyBlock=n,this.trackByFn=e,this.liveCollection=i}};function Et(t,n,e,i,r,o,s,a,l,c,u,m,b){Za("NgControlFlow");let _=ie(),M=dt(),I=l!==void 0,O=ie(),V=a?s.bind(O[zn][Bt]):s,de=new vy(I,V);O[Ut+t]=de,Ph(_,M,t+1,n,e,i,r,wo(M.consts,o)),I&&Ph(_,M,t+2,l,c,u,m,wo(M.consts,b))}var by=class extends gy{lContainer;hostLView;templateTNode;operationsCounter=void 0;needsIndexUpdate=!1;constructor(n,e,i){super(),this.lContainer=n,this.hostLView=e,this.templateTNode=i}get length(){return this.lContainer.length-cn}at(n){return this.getLView(n)[Bt].$implicit}attach(n,e){let i=e[La];this.needsIndexUpdate||=n!==this.length,Hc(this.lContainer,e,n,Ba(this.templateTNode,i))}detach(n){return this.needsIndexUpdate||=n!==this.length-1,JF(this.lContainer,n)}create(n,e){let i=Ua(this.lContainer,this.templateTNode.tView.ssrId),r=jc(this.hostLView,this.templateTNode,new yy(this.lContainer,e,n),{dehydratedView:i});return this.operationsCounter?.recordCreate(),r}destroy(n){rf(n[he],n),this.operationsCounter?.recordDestroy()}updateValue(n,e){this.getLView(n)[Bt].$implicit=e}reset(){this.needsIndexUpdate=!1,this.operationsCounter?.reset()}updateIndexes(){if(this.needsIndexUpdate)for(let n=0;n(qh(!0),RS(i,r,JO()));function t2(t,n,e,i,r){let o=n.consts,s=wo(o,i),a=Bc(n,t,8,"ng-container",s);s!==null&&iy(a,s,!0);let l=wo(o,r);return qy()&&Ev(n,e,a,l,yv),a.mergedAttrs=ja(a.mergedAttrs,a.attrs),n.queries!==null&&n.queries.elementStart(n,a),a}function At(t,n,e){let i=ie(),r=dt(),o=t+Ut,s=r.firstCreatePass?t2(o,r,i,n,e):r.data[o];Ms(s,!0);let a=n2(r,i,s,t);return i[o]=a,Gh()&&of(r,i,a,s),Qa(a,i),Yh(s)&&(tf(r,i,s),uv(r,s,i)),e!=null&&_v(i,s),At}function Rt(){let t=vn(),n=dt();return Qy()?Zy():(t=t.parent,Ms(t,!1)),n.firstCreatePass&&(tv(n,t),Uy(t)&&n.queries.elementEnd(t)),Rt}function gi(t,n,e){return At(t,n,e),Rt(),gi}var n2=(t,n,e,i)=>(qh(!0),CN(n[ut],""));function N(){return ie()}function Pv(t,n,e){let i=ie(),r=Ss();if(Wn(i,r,n)){let o=dt(),s=Pc(),a=OM(o.data),l=jN(a,s,i);nf(o,s,i,t,n,l,e,!0)}return Pv}var hs=void 0;function i2(t){let n=Math.floor(Math.abs(t)),e=t.toString().replace(/^[^.]*\.?/,"").length;return n===1&&e===0?1:5}var r2=["en",[["a","p"],["AM","PM"],hs],[["AM","PM"],hs,hs],[["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"]],hs,[["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"]],hs,[["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}",hs,"{1} 'at' {0}",hs],[".",",",";","%","+","-","E","\xD7","\u2030","\u221E","NaN",":"],["#,##0.###","#,##0%","\xA4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",i2],v_={};function Zn(t){let n=o2(t),e=zD(n);if(e)return e;let i=n.split("-")[0];if(e=zD(i),e)return e;if(i==="en")return r2;throw new R(701,!1)}function zD(t){return t in v_||(v_[t]=rr.ng&&rr.ng.common&&rr.ng.common.locales&&rr.ng.common.locales[t]),v_[t]}var wt=function(t){return t[t.LocaleId=0]="LocaleId",t[t.DayPeriodsFormat=1]="DayPeriodsFormat",t[t.DayPeriodsStandalone=2]="DayPeriodsStandalone",t[t.DaysFormat=3]="DaysFormat",t[t.DaysStandalone=4]="DaysStandalone",t[t.MonthsFormat=5]="MonthsFormat",t[t.MonthsStandalone=6]="MonthsStandalone",t[t.Eras=7]="Eras",t[t.FirstDayOfWeek=8]="FirstDayOfWeek",t[t.WeekendRange=9]="WeekendRange",t[t.DateFormat=10]="DateFormat",t[t.TimeFormat=11]="TimeFormat",t[t.DateTimeFormat=12]="DateTimeFormat",t[t.NumberSymbols=13]="NumberSymbols",t[t.NumberFormats=14]="NumberFormats",t[t.CurrencyCode=15]="CurrencyCode",t[t.CurrencySymbol=16]="CurrencySymbol",t[t.CurrencyName=17]="CurrencyName",t[t.Currencies=18]="Currencies",t[t.Directionality=19]="Directionality",t[t.PluralCase=20]="PluralCase",t[t.ExtraData=21]="ExtraData",t}(wt||{});function o2(t){return t.toLowerCase().replace(/_/g,"-")}var Vh="en-US";var s2=Vh;function a2(t){typeof t=="string"&&(s2=t.toLowerCase().replace(/_/g,"-"))}function WD(t,n,e){return function i(r){if(r===Function)return e;let o=Wa(t)?ar(t.index,n):n;Sv(o,5);let s=n[Bt],a=GD(n,s,e,r),l=i.__ngNextListenerFn__;for(;l;)a=GD(n,s,l,r)&&a,l=l.__ngNextListenerFn__;return a}}function GD(t,n,e,i){let r=ge(null);try{return Je(6,n,e),e(i)!==!1}catch(o){return l2(t,o),!1}finally{Je(7,n,e),ge(r)}}function l2(t,n){let e=t[Fa],i=e?e.get(lr,null):null;i&&i.handleError(n)}function qD(t,n,e,i,r,o){let s=n[e],a=n[he],c=a.data[e].outputs[i],u=s[c],m=a.firstCreatePass?Gy(a):null,b=Wy(n),_=u.subscribe(o),M=b.length;b.push(o,_),m&&m.push(r,t.index,M,-(M+1))}var c2=(t,n,e)=>{};function D(t,n,e,i){let r=ie(),o=dt(),s=vn();return ME(o,r,r[ut],s,t,n,i),D}function u2(t,n,e,i){let r=t.cleanup;if(r!=null)for(let o=0;ol?a[l]:null}typeof s=="string"&&(o+=2)}return null}function ME(t,n,e,i,r,o,s){let a=Yh(i),c=t.firstCreatePass?Gy(t):null,u=Wy(n),m=!0;if(i.type&3||s){let b=dr(i,n),_=s?s(b):b,M=u.length,I=s?V=>s(sr(V[i.index])):i.index,O=null;if(!s&&a&&(O=u2(t,n,r,i.index)),O!==null){let V=O.__ngLastListenerFn__||O;V.__ngNextListenerFn__=o,O.__ngLastListenerFn__=o,m=!1}else{o=WD(i,n,o),c2(_,r,o);let V=e.listen(_,r,o);u.push(o,V),c&&c.push(r,I,M,M+1)}}else o=WD(i,n,o);if(m){let b=i.outputs?.[r],_=i.hostDirectiveOutputs?.[r];if(_&&_.length)for(let M=0;M<_.length;M+=2){let I=_[M],O=_[M+1];qD(i,n,I,O,r,o)}if(b&&b.length)for(let M of b)qD(i,n,M,r,r,o)}}function p(t=1){return KO(t)}function d2(t,n){let e=null,i=hN(t);for(let r=0;r=t.data.length&&(t.data[e]=null,t.blueprint[e]=null),n[e]=i}function $t(t){let n=YO();return Yy(n,Ut+t)}function v(t,n=""){let e=ie(),i=dt(),r=t+Ut,o=i.firstCreatePass?Bc(i,r,1,n,null):i.data[r],s=p2(i,e,o,n,t);e[r]=s,Gh()&&of(i,e,s,o),Ms(o,!1)}var p2=(t,n,e,i,r)=>(qh(!0),vN(n[ut],i));function U(t){return Te("",t,""),U}function Te(t,n,e){let i=ie(),r=gE(i,t,n,e);return r!==On&&SE(i,Yr(),r),Te}function hr(t,n,e,i,r){let o=ie(),s=kF(o,t,n,e,i,r);return s!==On&&SE(o,Yr(),s),hr}function SE(t,n,e){let i=EM(n,t);bN(t[ut],i,e)}function Le(t,n,e){rS(n)&&(n=n());let i=ie(),r=Ss();if(Wn(i,r,n)){let o=dt(),s=Pc();nf(o,s,i,t,n,i[ut],e,!1)}return Le}function Ve(t,n){let e=rS(t);return e&&t.set(n),e}function Fe(t,n){let e=ie(),i=dt(),r=vn();return ME(i,e,e[ut],r,t,n),Fe}function m2(t,n,e){let i=dt();if(i.firstCreatePass){let r=Bi(t);wy(e,i.data,i.blueprint,r,!0),wy(n,i.data,i.blueprint,r,!1)}}function wy(t,n,e,i,r){if(t=_n(t),Array.isArray(t))for(let o=0;o>20;if(Na(t)||!t.multi){let _=new ws(c,r,y),M=C_(l,n,r?u:u+b,m);M===-1?(P_(Eh(a,s),o,l),b_(o,t,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),e.push(_),s.push(_)):(e[M]=_,s[M]=_)}else{let _=C_(l,n,u+b,m),M=C_(l,n,u,u+b),I=_>=0&&e[_],O=M>=0&&e[M];if(r&&!O||!r&&!I){P_(Eh(a,s),o,l);let V=y2(r?_2:g2,e.length,r,i,c);!r&&O&&(e[M].providerFactory=V),b_(o,t,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),e.push(V),s.push(V)}else{let V=EE(e[r?M:_],c,!r&&i);b_(o,t,_>-1?_:M,V)}!r&&i&&O&&e[M].componentProviders++}}}function b_(t,n,e,i){let r=Na(n),o=vO(n);if(r||o){let l=(o?_n(n.useClass):n).prototype.ngOnDestroy;if(l){let c=t.destroyHooks||(t.destroyHooks=[]);if(!r&&n.multi){let u=c.indexOf(e);u===-1?c.push(e,[i,l]):c[u+1].push(i,l)}else c.push(e,l)}}}function EE(t,n,e){return e&&t.componentProviders++,t.multi.push(n)-1}function C_(t,n,e,i){for(let r=e;r{e.providersResolver=(i,r)=>m2(i,r?r(t):t,n)}}function Gr(t,n,e){let i=Ga()+t,r=ie();return r[i]===On?cf(r,i,e?n.call(e):n()):vF(r,i)}function qr(t,n,e,i){return IE(ie(),Ga(),t,n,e,i)}function Qr(t,n,e,i,r){return xE(ie(),Ga(),t,n,e,i,r)}function TE(t,n,e,i,r,o){return v2(ie(),Ga(),t,n,e,i,r,o)}function Nv(t,n){let e=t[n];return e===On?void 0:e}function IE(t,n,e,i,r,o){let s=n+e;return Wn(t,s,r)?cf(t,s+1,o?i.call(o,r):i(r)):Nv(t,s+1)}function xE(t,n,e,i,r,o,s){let a=n+e;return kv(t,a,r,o)?cf(t,a+2,s?i.call(s,r,o):i(r,o)):Nv(t,a+2)}function v2(t,n,e,i,r,o,s,a){let l=n+e;return bF(t,l,r,o,s)?cf(t,l+3,a?i.call(a,r,o,s):i(r,o,s)):Nv(t,l+3)}function te(t,n){let e=dt(),i,r=t+Ut;e.firstCreatePass?(i=b2(n,e.pipeRegistry),e.data[r]=i,i.onDestroy&&(e.destroyHooks??=[]).push(r,i.onDestroy)):i=e.data[r];let o=i.factory||(i.factory=gs(i.type,!0)),s,a=En(y);try{let l=Sh(!1),c=o();return Sh(l),f2(e,ie(),r,c),c}finally{En(a)}}function b2(t,n){if(n)for(let e=n.length-1;e>=0;e--){let i=n[e];if(t===i.name)return i}}function pe(t,n,e){let i=t+Ut,r=ie(),o=Yy(r,i);return kE(r,i)?IE(r,Ga(),n,o.transform,e,o):o.transform(e)}function Ja(t,n,e,i){let r=t+Ut,o=ie(),s=Yy(o,r);return kE(o,r)?xE(o,Ga(),n,s.transform,e,i,s):s.transform(e,i)}function kE(t,n){return t[he].data[n].pure}function Kn(t,n){return af(t,n)}var My=class{ngModuleFactory;componentFactories;constructor(n,e){this.ngModuleFactory=n,this.componentFactories=e}},AE=(()=>{class t{compileModuleSync(e){return new dy(e)}compileModuleAsync(e){return Promise.resolve(this.compileModuleSync(e))}compileModuleAndAllComponentsSync(e){let i=this.compileModuleSync(e),r=gM(e),o=xS(r.declarations).reduce((s,a)=>{let l=Pa(a);return l&&s.push(new xc(l)),s},[]);return new My(i,o)}compileModuleAndAllComponentsAsync(e){return Promise.resolve(this.compileModuleAndAllComponentsSync(e))}clearCache(){}clearCacheFor(e){}getModuleId(e){}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var C2=(()=>{class t{zone=S(Me);changeDetectionScheduler=S(Ec);applicationRef=S(kn);_onMicrotaskEmptySubscription;initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function w2({ngZoneFactory:t,ignoreChangesOutsideZone:n,scheduleInRootZone:e}){return t??=()=>new Me(W(E({},D2()),{scheduleInRootZone:e})),[{provide:Me,useFactory:t},{provide:Oa,multi:!0,useFactory:()=>{let i=S(C2,{optional:!0});return()=>i.initialize()}},{provide:Oa,multi:!0,useFactory:()=>{let i=S(M2);return()=>{i.initialize()}}},n===!0?{provide:eS,useValue:!0}:[],{provide:tS,useValue:e??XM}]}function D2(t){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:t?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:t?.runCoalescing??!1}}var M2=(()=>{class t{subscription=new Ue;initialized=!1;zone=S(Me);pendingTasks=S(Mo);initialize(){if(this.initialized)return;this.initialized=!0;let e=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(e=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{Me.assertNotInAngularZone(),queueMicrotask(()=>{e!==null&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(e),e=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{Me.assertInAngularZone(),e??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var S2=(()=>{class t{appRef=S(kn);taskService=S(Mo);ngZone=S(Me);zonelessEnabled=S(rv);tracing=S(Zh,{optional:!0});disableScheduling=S(eS,{optional:!0})??!1;zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new Ue;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(Ih):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(S(tS,{optional:!0})??!1);cancelScheduledCallback=null;useMicrotaskScheduler=!1;runningTick=!1;pendingRenderTaskId=null;constructor(){this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof j_||!this.zoneIsDefined)}notify(e){if(!this.zonelessEnabled&&e===5)return;let i=!1;switch(e){case 0:{this.appRef.dirtyFlags|=2;break}case 3:case 2:case 4:case 5:case 1:{this.appRef.dirtyFlags|=4;break}case 6:{this.appRef.dirtyFlags|=2,i=!0;break}case 12:{this.appRef.dirtyFlags|=16,i=!0;break}case 13:{this.appRef.dirtyFlags|=2,i=!0;break}case 11:{i=!0;break}case 9:case 8:case 7:case 10:default:this.appRef.dirtyFlags|=8}if(this.appRef.tracingSnapshot=this.tracing?.snapshot(this.appRef.tracingSnapshot)??null,!this.shouldScheduleTick(i))return;let r=this.useMicrotaskScheduler?CD:nS;this.pendingRenderTaskId=this.taskService.add(),this.scheduleInRootZone?this.cancelScheduledCallback=Zone.root.run(()=>r(()=>this.tick())):this.cancelScheduledCallback=this.ngZone.runOutsideAngular(()=>r(()=>this.tick()))}shouldScheduleTick(e){return!(this.disableScheduling&&!e||this.appRef.destroyed||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(Ih+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;if(this.appRef.dirtyFlags===0){this.cleanup();return}!this.zonelessEnabled&&this.appRef.dirtyFlags&7&&(this.appRef.dirtyFlags|=1);let e=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(i){throw this.taskService.remove(e),i}finally{this.cleanup()}this.useMicrotaskScheduler=!0,CD(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(e)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let e=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(e)}}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function E2(){return typeof $localize<"u"&&$localize.locale||Vh}var Uc=new B("",{providedIn:"root",factory:()=>S(Uc,Ce.Optional|Ce.SkipSelf)||E2()});var Sy=new B(""),T2=new B("");function vc(t){return!t.moduleRef}function I2(t){let n=vc(t)?t.r3Injector:t.moduleRef.injector,e=n.get(Me);return e.run(()=>{vc(t)?t.r3Injector.resolveInjectorInitializers():t.moduleRef.resolveInjectorInitializers();let i=n.get(lr,null),r;if(e.runOutsideAngular(()=>{r=e.onError.subscribe({next:o=>{i.handleError(o)}})}),vc(t)){let o=()=>n.destroy(),s=t.platformInjector.get(Sy);s.add(o),n.onDestroy(()=>{r.unsubscribe(),s.delete(o)})}else{let o=()=>t.moduleRef.destroy(),s=t.platformInjector.get(Sy);s.add(o),t.moduleRef.onDestroy(()=>{hh(t.allPlatformModules,t.moduleRef),r.unsubscribe(),s.delete(o)})}return k2(i,e,()=>{let o=n.get(mE);return o.runInitializers(),o.donePromise.then(()=>{let s=n.get(Uc,Vh);if(a2(s||Vh),!n.get(T2,!0))return vc(t)?n.get(kn):(t.allPlatformModules.push(t.moduleRef),t.moduleRef);if(vc(t)){let l=n.get(kn);return t.rootComponent!==void 0&&l.bootstrap(t.rootComponent),l}else return x2(t.moduleRef,t.allPlatformModules),t.moduleRef})})})}function x2(t,n){let e=t.injector.get(kn);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(i=>e.bootstrap(i));else if(t.instance.ngDoBootstrap)t.instance.ngDoBootstrap(e);else throw new R(-403,!1);n.push(t)}function k2(t,n,e){try{let i=e();return To(i)?i.catch(r=>{throw n.runOutsideAngular(()=>t.handleError(r)),r}):i}catch(i){throw n.runOutsideAngular(()=>t.handleError(i)),i}}var fh=null;function A2(t=[],n){return kt.create({name:n,providers:[{provide:Uh,useValue:"platform"},{provide:Sy,useValue:new Set([()=>fh=null])},...t]})}function R2(t=[]){if(fh)return fh;let n=A2(t);return fh=n,EF(),O2(n),n}function O2(t){let n=t.get(lv,null);Gn(t,()=>{n?.forEach(e=>e())})}function RE(){return!1}var it=(()=>{class t{static __NG_ELEMENT_ID__=P2}return t})();function P2(t){return N2(vn(),ie(),(t&16)===16)}function N2(t,n,e){if(Wa(t)&&!e){let i=ar(t.index,n);return new Ic(i,i)}else if(t.type&175){let i=n[zn];return new Ic(i,n)}return null}var Ey=class{constructor(){}supports(n){return fE(n)}create(n){return new Ty(n)}},L2=(t,n)=>n,Ty=class{length=0;collection;_linkedRecords=null;_unlinkedRecords=null;_previousItHead=null;_itHead=null;_itTail=null;_additionsHead=null;_additionsTail=null;_movesHead=null;_movesTail=null;_removalsHead=null;_removalsTail=null;_identityChangesHead=null;_identityChangesTail=null;_trackByFn;constructor(n){this._trackByFn=n||L2}forEachItem(n){let e;for(e=this._itHead;e!==null;e=e._next)n(e)}forEachOperation(n){let e=this._itHead,i=this._removalsHead,r=0,o=null;for(;e||i;){let s=!i||e&&e.currentIndex{s=this._trackByFn(r,a),e===null||!Object.is(e.trackById,s)?(e=this._mismatch(e,a,s,r),i=!0):(i&&(e=this._verifyReinsertion(e,a,s,r)),Object.is(e.item,a)||this._addIdentityChange(e,a)),e=e._next,r++}),this.length=r;return this._truncate(e),this.collection=n,this.isDirty}get isDirty(){return this._additionsHead!==null||this._movesHead!==null||this._removalsHead!==null||this._identityChangesHead!==null}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;n!==null;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;n!==null;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;n!==null;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,r){let o;return n===null?o=this._itTail:(o=n._prev,this._remove(n)),n=this._unlinkedRecords===null?null:this._unlinkedRecords.get(i,null),n!==null?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._reinsertAfter(n,o,r)):(n=this._linkedRecords===null?null:this._linkedRecords.get(i,r),n!==null?(Object.is(n.item,e)||this._addIdentityChange(n,e),this._moveAfter(n,o,r)):n=this._addAfter(new Iy(e,i),o,r)),n}_verifyReinsertion(n,e,i,r){let o=this._unlinkedRecords===null?null:this._unlinkedRecords.get(i,null);return o!==null?n=this._reinsertAfter(o,n._prev,r):n.currentIndex!=r&&(n.currentIndex=r,this._addToMoves(n,r)),n}_truncate(n){for(;n!==null;){let e=n._next;this._addToRemovals(this._unlink(n)),n=e}this._unlinkedRecords!==null&&this._unlinkedRecords.clear(),this._additionsTail!==null&&(this._additionsTail._nextAdded=null),this._movesTail!==null&&(this._movesTail._nextMoved=null),this._itTail!==null&&(this._itTail._next=null),this._removalsTail!==null&&(this._removalsTail._nextRemoved=null),this._identityChangesTail!==null&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,e,i){this._unlinkedRecords!==null&&this._unlinkedRecords.remove(n);let r=n._prevRemoved,o=n._nextRemoved;return r===null?this._removalsHead=o:r._nextRemoved=o,o===null?this._removalsTail=r:o._prevRemoved=r,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=this._additionsTail._nextAdded=n,n}_insertAfter(n,e,i){let r=e===null?this._itHead:e._next;return n._next=r,n._prev=e,r===null?this._itTail=n:r._prev=n,e===null?this._itHead=n:e._next=n,this._linkedRecords===null&&(this._linkedRecords=new jh),this._linkedRecords.put(n),n.currentIndex=i,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){this._linkedRecords!==null&&this._linkedRecords.remove(n);let e=n._prev,i=n._next;return e===null?this._itHead=i:e._next=i,i===null?this._itTail=e:i._prev=e,n}_addToMoves(n,e){return n.previousIndex===e||(this._movesTail===null?this._movesTail=this._movesHead=n:this._movesTail=this._movesTail._nextMoved=n),n}_addToRemovals(n){return this._unlinkedRecords===null&&(this._unlinkedRecords=new jh),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,this._removalsTail===null?(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=this._identityChangesTail._nextIdentityChange=n,n}},Iy=class{item;trackById;currentIndex=null;previousIndex=null;_nextPrevious=null;_prev=null;_next=null;_prevDup=null;_nextDup=null;_prevRemoved=null;_nextRemoved=null;_nextAdded=null;_nextMoved=null;_nextIdentityChange=null;constructor(n,e){this.item=n,this.trackById=e}},xy=class{_head=null;_tail=null;add(n){this._head===null?(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;i!==null;i=i._nextDup)if((e===null||e<=i.currentIndex)&&Object.is(i.trackById,n))return i;return null}remove(n){let e=n._prevDup,i=n._nextDup;return e===null?this._head=i:e._nextDup=i,i===null?this._tail=e:i._prevDup=e,this._head===null}},jh=class{map=new Map;put(n){let e=n.trackById,i=this.map.get(e);i||(i=new xy,this.map.set(e,i)),i.add(n)}get(n,e){let i=n,r=this.map.get(i);return r?r.get(n,e):null}remove(n){let e=n.trackById;return this.map.get(e).remove(n)&&this.map.delete(e),n}get isEmpty(){return this.map.size===0}clear(){this.map.clear()}};function QD(t,n,e){let i=t.previousIndex;if(i===null)return i;let r=0;return e&&i{if(e&&e.key===r)this._maybeAddToChanges(e,i),this._appendAfter=e,e=e._next;else{let o=this._getOrCreateRecordForKey(r,i);e=this._insertBeforeOrAppend(e,o)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let i=e;i!==null;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){let 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)){let r=this._records.get(n);this._maybeAddToChanges(r,e);let o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}let i=new Ry(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;n!==null;n=n._next)n._nextPrevious=n._next;for(n=this._changesHead;n!==null;n=n._nextChanged)n.previousValue=n.currentValue;for(n=this._additionsHead;n!=null;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){this._additionsHead===null?this._additionsHead=this._additionsTail=n:(this._additionsTail._nextAdded=n,this._additionsTail=n)}_addToChanges(n){this._changesHead===null?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))}},Ry=class{key;previousValue=null;currentValue=null;_nextPrevious=null;_next=null;_prev=null;_nextAdded=null;_nextRemoved=null;_nextChanged=null;constructor(n){this.key=n}};function ZD(){return new Lv([new Ey])}var Lv=(()=>{class t{factories;static \u0275prov=x({token:t,providedIn:"root",factory:ZD});constructor(e){this.factories=e}static create(e,i){if(i!=null){let r=i.factories.slice();e=e.concat(r)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||ZD()),deps:[[t,new hM,new Ny]]}}find(e){let i=this.factories.find(r=>r.supports(e));if(i!=null)return i;throw new R(901,!1)}}return t})();function KD(){return new Fv([new ky])}var Fv=(()=>{class t{static \u0275prov=x({token:t,providedIn:"root",factory:KD});factories;constructor(e){this.factories=e}static create(e,i){if(i){let r=i.factories.slice();e=e.concat(r)}return new t(e)}static extend(e){return{provide:t,useFactory:i=>t.create(e,i||KD()),deps:[[t,new hM,new Ny]]}}find(e){let i=this.factories.find(r=>r.supports(e));if(i)return i;throw new R(901,!1)}}return t})();function OE(t){Je(8);try{let{rootComponent:n,appProviders:e,platformProviders:i}=t,r=R2(i),o=[w2({}),{provide:Ec,useExisting:S2},...e||[]],s=new Oh({providers:o,parent:r,debugName:"",runEnvironmentInitializers:!1});return I2({r3Injector:s.injector,platformInjector:r,rootComponent:n})}catch(n){return Promise.reject(n)}finally{Je(9)}}function Xe(t){return typeof t=="boolean"?t:t!=null&&t!=="false"}function Es(t,n=NaN){return!isNaN(parseFloat(t))&&!isNaN(Number(t))?Number(t):n}function _i(t){return jg(t)}function $i(t,n){return Ng(t,n?.equal)}var JD=class{[ci];constructor(n){this[ci]=n}destroy(){this[ci].destroy()}};var Ie=new B("");var LE=null;function yi(){return LE}function Vv(t){LE??=t}var $c=class{},jv=(()=>{class t{historyGo(e){throw new Error("")}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>S(FE),providedIn:"platform"})}return t})();var FE=(()=>{class t extends jv{_location;_history;_doc=S(Ie);constructor(){super(),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return yi().getBaseHref(this._doc)}onPopState(e){let i=yi().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",e,!1),()=>i.removeEventListener("popstate",e)}onHashChange(e){let i=yi().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,r){this._history.pushState(e,i,r)}replaceState(e,i,r){this._history.replaceState(e,i,r)}forward(){this._history.forward()}back(){this._history.back()}historyGo(e=0){this._history.go(e)}getState(){return this._history.state}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>new t,providedIn:"platform"})}return t})();function VE(t,n){return t?n?t.endsWith("/")?n.startsWith("/")?t+n.slice(1):t+n:n.startsWith("/")?t+n:`${t}/${n}`:t:n}function PE(t){let n=t.search(/#|\?|$/);return t[n-1]==="/"?t.slice(0,n-1)+t.slice(n):t}function ko(t){return t&&t[0]!=="?"?`?${t}`:t}var Xa=(()=>{class t{historyGo(e){throw new Error("")}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>S(HE),providedIn:"root"})}return t})(),jE=new B(""),HE=(()=>{class t extends Xa{_platformLocation;_baseHref;_removeListenerFns=[];constructor(e,i){super(),this._platformLocation=e,this._baseHref=i??this._platformLocation.getBaseHrefFromDOM()??S(Ie).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 VE(this._baseHref,e)}path(e=!1){let i=this._platformLocation.pathname+ko(this._platformLocation.search),r=this._platformLocation.hash;return r&&e?`${i}${r}`:i}pushState(e,i,r,o){let s=this.prepareExternalUrl(r+ko(o));this._platformLocation.pushState(e,i,s)}replaceState(e,i,r,o){let s=this.prepareExternalUrl(r+ko(o));this._platformLocation.replaceState(e,i,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(e=0){this._platformLocation.historyGo?.(e)}static \u0275fac=function(i){return new(i||t)(F(jv),F(jE,8))};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),el=(()=>{class t{_subject=new X;_basePath;_locationStrategy;_urlChangeListeners=[];_urlChangeSubscription=null;constructor(e){this._locationStrategy=e;let i=this._locationStrategy.getBaseHref();this._basePath=j2(PE(NE(i))),this._locationStrategy.onPopState(r=>{this._subject.next({url:this.path(!0),pop:!0,state:r.state,type:r.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+ko(i))}normalize(e){return t.stripTrailingSlash(V2(this._basePath,NE(e)))}prepareExternalUrl(e){return e&&e[0]!=="/"&&(e="/"+e),this._locationStrategy.prepareExternalUrl(e)}go(e,i="",r=null){this._locationStrategy.pushState(r,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ko(i)),r)}replaceState(e,i="",r=null){this._locationStrategy.replaceState(r,"",e,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(e+ko(i)),r)}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.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}),()=>{let i=this._urlChangeListeners.indexOf(e);this._urlChangeListeners.splice(i,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(e="",i){this._urlChangeListeners.forEach(r=>r(e,i))}subscribe(e,i,r){return this._subject.subscribe({next:e,error:i??void 0,complete:r??void 0})}static normalizeQueryParams=ko;static joinWithSlash=VE;static stripTrailingSlash=PE;static \u0275fac=function(i){return new(i||t)(F(Xa))};static \u0275prov=x({token:t,factory:()=>F2(),providedIn:"root"})}return t})();function F2(){return new el(F(Xa))}function V2(t,n){if(!t||!n.startsWith(t))return n;let e=n.substring(t.length);return e===""||["/",";","?","#"].includes(e[0])?e:n}function NE(t){return t.replace(/\/index.html$/,"")}function j2(t){if(new RegExp("^(https?:)?//").test(t)){let[,e]=t.split(/\/\/[^\/]+/);return e}return t}var qv=function(t){return t[t.Decimal=0]="Decimal",t[t.Percent=1]="Percent",t[t.Currency=2]="Currency",t[t.Scientific=3]="Scientific",t}(qv||{});var dn=function(t){return t[t.Format=0]="Format",t[t.Standalone=1]="Standalone",t}(dn||{}),$e=function(t){return t[t.Narrow=0]="Narrow",t[t.Abbreviated=1]="Abbreviated",t[t.Wide=2]="Wide",t[t.Short=3]="Short",t}($e||{}),Nn=function(t){return t[t.Short=0]="Short",t[t.Medium=1]="Medium",t[t.Long=2]="Long",t[t.Full=3]="Full",t}(Nn||{}),Ln={Decimal:0,Group:1,List:2,PercentSign:3,PlusSign:4,MinusSign:5,Exponential:6,SuperscriptingExponent:7,PerMille:8,Infinity:9,NaN:10,TimeSeparator:11,CurrencyDecimal:12,CurrencyGroup:13};function WE(t){return Zn(t)[wt.LocaleId]}function GE(t,n,e){let i=Zn(t),r=[i[wt.DayPeriodsFormat],i[wt.DayPeriodsStandalone]],o=vi(r,n);return vi(o,e)}function qE(t,n,e){let i=Zn(t),r=[i[wt.DaysFormat],i[wt.DaysStandalone]],o=vi(r,n);return vi(o,e)}function QE(t,n,e){let i=Zn(t),r=[i[wt.MonthsFormat],i[wt.MonthsStandalone]],o=vi(r,n);return vi(o,e)}function ZE(t,n){let i=Zn(t)[wt.Eras];return vi(i,n)}function Yc(t,n){let e=Zn(t);return vi(e[wt.DateFormat],n)}function zc(t,n){let e=Zn(t);return vi(e[wt.TimeFormat],n)}function Wc(t,n){let i=Zn(t)[wt.DateTimeFormat];return vi(i,n)}function fr(t,n){let e=Zn(t),i=e[wt.NumberSymbols][n];if(typeof i>"u"){if(n===Ln.CurrencyDecimal)return e[wt.NumberSymbols][Ln.Decimal];if(n===Ln.CurrencyGroup)return e[wt.NumberSymbols][Ln.Group]}return i}function KE(t,n){return Zn(t)[wt.NumberFormats][n]}function JE(t){if(!t[wt.ExtraData])throw new Error(`Missing extra locale data for the locale "${t[wt.LocaleId]}". Use "registerLocaleData" to load new data. See the "I18n guide" on angular.io to know more.`)}function XE(t){let n=Zn(t);return JE(n),(n[wt.ExtraData][2]||[]).map(i=>typeof i=="string"?Hv(i):[Hv(i[0]),Hv(i[1])])}function eT(t,n,e){let i=Zn(t);JE(i);let r=[i[wt.ExtraData][0],i[wt.ExtraData][1]],o=vi(r,n)||[];return vi(o,e)||[]}function vi(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 Hv(t){let[n,e]=t.split(":");return{hours:+n,minutes:+e}}var H2=/^(\d{4,})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,uf={},B2=/((?:[^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]*)/;function tT(t,n,e,i){let r=Z2(t);n=Zr(e,n)||n;let s=[],a;for(;n;)if(a=B2.exec(n),a){s=s.concat(a.slice(1));let u=s.pop();if(!u)break;n=u}else{s.push(n);break}let l=r.getTimezoneOffset();i&&(l=iT(i,l),r=Q2(r,i));let c="";return s.forEach(u=>{let m=G2(u);c+=m?m(r,e,l):u==="''"?"'":u.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),c}function mf(t,n,e){let i=new Date(0);return i.setFullYear(t,n,e),i.setHours(0,0,0),i}function Zr(t,n){let e=WE(t);if(uf[e]??={},uf[e][n])return uf[e][n];let i="";switch(n){case"shortDate":i=Yc(t,Nn.Short);break;case"mediumDate":i=Yc(t,Nn.Medium);break;case"longDate":i=Yc(t,Nn.Long);break;case"fullDate":i=Yc(t,Nn.Full);break;case"shortTime":i=zc(t,Nn.Short);break;case"mediumTime":i=zc(t,Nn.Medium);break;case"longTime":i=zc(t,Nn.Long);break;case"fullTime":i=zc(t,Nn.Full);break;case"short":let r=Zr(t,"shortTime"),o=Zr(t,"shortDate");i=df(Wc(t,Nn.Short),[r,o]);break;case"medium":let s=Zr(t,"mediumTime"),a=Zr(t,"mediumDate");i=df(Wc(t,Nn.Medium),[s,a]);break;case"long":let l=Zr(t,"longTime"),c=Zr(t,"longDate");i=df(Wc(t,Nn.Long),[l,c]);break;case"full":let u=Zr(t,"fullTime"),m=Zr(t,"fullDate");i=df(Wc(t,Nn.Full),[u,m]);break}return i&&(uf[e][n]=i),i}function df(t,n){return n&&(t=t.replace(/\{([^}]+)}/g,function(e,i){return n!=null&&i in n?n[i]:e})),t}function Yi(t,n,e="-",i,r){let o="";(t<0||r&&t<=0)&&(r?t=-t+1:(t=-t,o=e));let s=String(t);for(;s.length0||a>-e)&&(a+=e),t===3)a===0&&e===-12&&(a=12);else if(t===6)return U2(a,n);let l=fr(s,Ln.MinusSign);return Yi(a,n,l,i,r)}}function $2(t,n){switch(t){case 0:return n.getFullYear();case 1:return n.getMonth();case 2:return n.getDate();case 3:return n.getHours();case 4:return n.getMinutes();case 5:return n.getSeconds();case 6:return n.getMilliseconds();case 7:return n.getDay();default:throw new Error(`Unknown DateType value "${t}".`)}}function et(t,n,e=dn.Format,i=!1){return function(r,o){return Y2(r,o,t,n,e,i)}}function Y2(t,n,e,i,r,o){switch(e){case 2:return QE(n,r,i)[t.getMonth()];case 1:return qE(n,r,i)[t.getDay()];case 0:let s=t.getHours(),a=t.getMinutes();if(o){let c=XE(n),u=eT(n,r,i),m=c.findIndex(b=>{if(Array.isArray(b)){let[_,M]=b,I=s>=_.hours&&a>=_.minutes,O=s0?Math.floor(r/60):Math.ceil(r/60);switch(t){case 0:return(r>=0?"+":"")+Yi(s,2,o)+Yi(Math.abs(r%60),2,o);case 1:return"GMT"+(r>=0?"+":"")+Yi(s,1,o);case 2:return"GMT"+(r>=0?"+":"")+Yi(s,2,o)+":"+Yi(Math.abs(r%60),2,o);case 3:return i===0?"Z":(r>=0?"+":"")+Yi(s,2,o)+":"+Yi(Math.abs(r%60),2,o);default:throw new Error(`Unknown zone width "${t}"`)}}}var z2=0,pf=4;function W2(t){let n=mf(t,z2,1).getDay();return mf(t,0,1+(n<=pf?pf:pf+7)-n)}function nT(t){let n=t.getDay(),e=n===0?-3:pf-n;return mf(t.getFullYear(),t.getMonth(),t.getDate()+e)}function Bv(t,n=!1){return function(e,i){let r;if(n){let o=new Date(e.getFullYear(),e.getMonth(),1).getDay()-1,s=e.getDate();r=1+Math.floor((s+o)/7)}else{let o=nT(e),s=W2(o.getFullYear()),a=o.getTime()-s.getTime();r=1+Math.round(a/6048e5)}return Yi(r,t,fr(i,Ln.MinusSign))}}function ff(t,n=!1){return function(e,i){let o=nT(e).getFullYear();return Yi(o,t,fr(i,Ln.MinusSign),n)}}var Uv={};function G2(t){if(Uv[t])return Uv[t];let n;switch(t){case"G":case"GG":case"GGG":n=et(3,$e.Abbreviated);break;case"GGGG":n=et(3,$e.Wide);break;case"GGGGG":n=et(3,$e.Narrow);break;case"y":n=Pt(0,1,0,!1,!0);break;case"yy":n=Pt(0,2,0,!0,!0);break;case"yyy":n=Pt(0,3,0,!1,!0);break;case"yyyy":n=Pt(0,4,0,!1,!0);break;case"Y":n=ff(1);break;case"YY":n=ff(2,!0);break;case"YYY":n=ff(3);break;case"YYYY":n=ff(4);break;case"M":case"L":n=Pt(1,1,1);break;case"MM":case"LL":n=Pt(1,2,1);break;case"MMM":n=et(2,$e.Abbreviated);break;case"MMMM":n=et(2,$e.Wide);break;case"MMMMM":n=et(2,$e.Narrow);break;case"LLL":n=et(2,$e.Abbreviated,dn.Standalone);break;case"LLLL":n=et(2,$e.Wide,dn.Standalone);break;case"LLLLL":n=et(2,$e.Narrow,dn.Standalone);break;case"w":n=Bv(1);break;case"ww":n=Bv(2);break;case"W":n=Bv(1,!0);break;case"d":n=Pt(2,1);break;case"dd":n=Pt(2,2);break;case"c":case"cc":n=Pt(7,1);break;case"ccc":n=et(1,$e.Abbreviated,dn.Standalone);break;case"cccc":n=et(1,$e.Wide,dn.Standalone);break;case"ccccc":n=et(1,$e.Narrow,dn.Standalone);break;case"cccccc":n=et(1,$e.Short,dn.Standalone);break;case"E":case"EE":case"EEE":n=et(1,$e.Abbreviated);break;case"EEEE":n=et(1,$e.Wide);break;case"EEEEE":n=et(1,$e.Narrow);break;case"EEEEEE":n=et(1,$e.Short);break;case"a":case"aa":case"aaa":n=et(0,$e.Abbreviated);break;case"aaaa":n=et(0,$e.Wide);break;case"aaaaa":n=et(0,$e.Narrow);break;case"b":case"bb":case"bbb":n=et(0,$e.Abbreviated,dn.Standalone,!0);break;case"bbbb":n=et(0,$e.Wide,dn.Standalone,!0);break;case"bbbbb":n=et(0,$e.Narrow,dn.Standalone,!0);break;case"B":case"BB":case"BBB":n=et(0,$e.Abbreviated,dn.Format,!0);break;case"BBBB":n=et(0,$e.Wide,dn.Format,!0);break;case"BBBBB":n=et(0,$e.Narrow,dn.Format,!0);break;case"h":n=Pt(3,1,-12);break;case"hh":n=Pt(3,2,-12);break;case"H":n=Pt(3,1);break;case"HH":n=Pt(3,2);break;case"m":n=Pt(4,1);break;case"mm":n=Pt(4,2);break;case"s":n=Pt(5,1);break;case"ss":n=Pt(5,2);break;case"S":n=Pt(6,1);break;case"SS":n=Pt(6,2);break;case"SSS":n=Pt(6,3);break;case"Z":case"ZZ":case"ZZZ":n=hf(0);break;case"ZZZZZ":n=hf(3);break;case"O":case"OO":case"OOO":case"z":case"zz":case"zzz":n=hf(1);break;case"OOOO":case"ZZZZ":case"zzzz":n=hf(2);break;default:return null}return Uv[t]=n,n}function iT(t,n){t=t.replace(/:/g,"");let e=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(e)?n:e}function q2(t,n){return t=new Date(t.getTime()),t.setMinutes(t.getMinutes()+n),t}function Q2(t,n,e){let r=t.getTimezoneOffset(),o=iT(n,r);return q2(t,-1*(o-r))}function Z2(t){if(BE(t))return t;if(typeof t=="number"&&!isNaN(t))return new Date(t);if(typeof t=="string"){if(t=t.trim(),/^(\d{4}(-\d{1,2}(-\d{1,2})?)?)$/.test(t)){let[r,o=1,s=1]=t.split("-").map(a=>+a);return mf(r,o-1,s)}let e=parseFloat(t);if(!isNaN(t-e))return new Date(e);let i;if(i=t.match(H2))return K2(i)}let n=new Date(t);if(!BE(n))throw new Error(`Unable to convert "${t}" into a date`);return n}function K2(t){let n=new Date(0),e=0,i=0,r=t[8]?n.setUTCFullYear:n.setFullYear,o=t[8]?n.setUTCHours:n.setHours;t[9]&&(e=Number(t[9]+t[10]),i=Number(t[9]+t[11])),r.call(n,Number(t[1]),Number(t[2])-1,Number(t[3]));let s=Number(t[4]||0)-e,a=Number(t[5]||0)-i,l=Number(t[6]||0),c=Math.floor(parseFloat("0."+(t[7]||0))*1e3);return o.call(n,s,a,l,c),n}function BE(t){return t instanceof Date&&!isNaN(t.valueOf())}var J2=/^(\d+)?\.((\d+)(-(\d+))?)?$/,UE=22,gf=".",Gc="0",X2=";",eV=",",$v="#";function tV(t,n,e,i,r,o,s=!1){let a="",l=!1;if(!isFinite(t))a=fr(e,Ln.Infinity);else{let c=rV(t);s&&(c=iV(c));let u=n.minInt,m=n.minFrac,b=n.maxFrac;if(o){let de=o.match(J2);if(de===null)throw new Error(`${o} is not a valid digit info`);let we=de[1],nt=de[3],Pi=de[5];we!=null&&(u=Yv(we)),nt!=null&&(m=Yv(nt)),Pi!=null?b=Yv(Pi):nt!=null&&m>b&&(b=m)}oV(c,m,b);let _=c.digits,M=c.integerLen,I=c.exponent,O=[];for(l=_.every(de=>!de);M0?O=_.splice(M,_.length):(O=_,_=[0]);let V=[];for(_.length>=n.lgSize&&V.unshift(_.splice(-n.lgSize,_.length).join(""));_.length>n.gSize;)V.unshift(_.splice(-n.gSize,_.length).join(""));_.length&&V.unshift(_.join("")),a=V.join(fr(e,i)),O.length&&(a+=fr(e,r)+O.join("")),I&&(a+=fr(e,Ln.Exponential)+"+"+I)}return t<0&&!l?a=n.negPre+a+n.negSuf:a=n.posPre+a+n.posSuf,a}function rT(t,n,e){let i=KE(n,qv.Decimal),r=nV(i,fr(n,Ln.MinusSign));return tV(t,r,n,Ln.Group,Ln.Decimal,e)}function nV(t,n="-"){let e={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=t.split(X2),r=i[0],o=i[1],s=r.indexOf(gf)!==-1?r.split(gf):[r.substring(0,r.lastIndexOf(Gc)+1),r.substring(r.lastIndexOf(Gc)+1)],a=s[0],l=s[1]||"";e.posPre=a.substring(0,a.indexOf($v));for(let u=0;u-1&&(n=n.replace(gf,"")),(o=n.search(/e/i))>0?(r<0&&(r=o),r+=+n.slice(o+1),n=n.substring(0,o)):r<0&&(r=n.length),o=0;n.charAt(o)===Gc;o++);if(o===(a=n.length))i=[0],r=1;else{for(a--;n.charAt(a)===Gc;)a--;for(r-=o,i=[],s=0;o<=a;o++,s++)i[s]=Number(n.charAt(o))}return r>UE&&(i=i.splice(0,UE-1),e=r-1,r=1),{digits:i,exponent:e,integerLen:r}}function oV(t,n,e){if(n>e)throw new Error(`The minimum number of digits after fraction (${n}) is higher than the maximum (${e}).`);let i=t.digits,r=i.length-t.integerLen,o=Math.min(Math.max(n,r),e),s=o+t.integerLen,a=i[s];if(s>0){i.splice(Math.max(t.integerLen,s));for(let m=s;m=5)if(s-1<0){for(let m=0;m>s;m--)i.unshift(0),t.integerLen++;i.unshift(1),t.integerLen++}else i[s-1]++;for(;r=c?M.pop():l=!1),b>=10?1:0},0);u&&(i.unshift(u),t.integerLen++)}function Yv(t){let n=parseInt(t);if(isNaN(n))throw new Error("Invalid integer literal when parsing "+t);return n}var zv=/\s+/,$E=[],on=(()=>{class t{_ngEl;_renderer;initialClasses=$E;rawClass;stateMap=new Map;constructor(e,i){this._ngEl=e,this._renderer=i}set klass(e){this.initialClasses=e!=null?e.trim().split(zv):$E}set ngClass(e){this.rawClass=typeof e=="string"?e.trim().split(zv):e}ngDoCheck(){for(let i of this.initialClasses)this._updateState(i,!0);let e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(let i of e)this._updateState(i,!0);else if(e!=null)for(let i of Object.keys(e))this._updateState(i,!!e[i]);this._applyStateDiff()}_updateState(e,i){let r=this.stateMap.get(e);r!==void 0?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(e,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(let e of this.stateMap){let i=e[0],r=e[1];r.changed?(this._toggleClass(i,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),r.touched=!1}}_toggleClass(e,i){e=e.trim(),e.length>0&&e.split(zv).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}static \u0275fac=function(i){return new(i||t)(y($),y(ke))};static \u0275dir=H({type:t,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"}})}return t})();var _f=class{$implicit;ngForOf;index;count;constructor(n,e,i,r){this.$implicit=n,this.ngForOf=e,this.index=i,this.count=r}get first(){return this.index===0}get last(){return this.index===this.count-1}get even(){return this.index%2===0}get odd(){return!this.even}},rt=(()=>{class t{_viewContainer;_template;_differs;set ngForOf(e){this._ngForOf=e,this._ngForOfDirty=!0}set ngForTrackBy(e){this._trackByFn=e}get ngForTrackBy(){return this._trackByFn}_ngForOf=null;_ngForOfDirty=!0;_differ=null;_trackByFn;constructor(e,i,r){this._viewContainer=e,this._template=i,this._differs=r}set ngForTemplate(e){e&&(this._template=e)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;let e=this._ngForOf;!this._differ&&e&&(this._differ=this._differs.find(e).create(this.ngForTrackBy))}if(this._differ){let e=this._differ.diff(this._ngForOf);e&&this._applyChanges(e)}}_applyChanges(e){let i=this._viewContainer;e.forEachOperation((r,o,s)=>{if(r.previousIndex==null)i.createEmbeddedView(this._template,new _f(r.item,this._ngForOf,-1,-1),s===null?void 0:s);else if(s==null)i.remove(o===null?void 0:o);else if(o!==null){let a=i.get(o);i.move(a,s),YE(a,r)}});for(let r=0,o=i.length;r{let o=i.get(r.currentIndex);YE(o,r)})}static ngTemplateContextGuard(e,i){return!0}static \u0275fac=function(i){return new(i||t)(y(pt),y(St),y(Lv))};static \u0275dir=H({type:t,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}})}return t})();function YE(t,n){t.context.$implicit=n.item}var De=(()=>{class t{_viewContainer;_context=new yf;_thenTemplateRef=null;_elseTemplateRef=null;_thenViewRef=null;_elseViewRef=null;constructor(e,i){this._viewContainer=e,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){zE(e,!1),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){zE(e,!1),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 ngIfUseIfTypeGuard;static ngTemplateGuard_ngIf;static ngTemplateContextGuard(e,i){return!0}static \u0275fac=function(i){return new(i||t)(y(pt),y(St))};static \u0275dir=H({type:t,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}})}return t})(),yf=class{$implicit=null;ngIf=null};function zE(t,n){if(t&&!t.createEmbeddedView)throw new R(2020,!1)}var vf=class{_viewContainerRef;_templateRef;_created=!1;constructor(n,e){this._viewContainerRef=n,this._templateRef=e}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()}},bi=(()=>{class t{_defaultViews=[];_defaultUsed=!1;_caseCount=0;_lastCaseCheckIndex=0;_lastCasesMatched=!1;_ngSwitch;set ngSwitch(e){this._ngSwitch=e,this._caseCount===0&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(e){this._defaultViews.push(e)}_matchCase(e){let i=e===this._ngSwitch;return 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(let i of this._defaultViews)i.enforceState(e)}}static \u0275fac=function(i){return new(i||t)};static \u0275dir=H({type:t,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"}})}return t})(),pr=(()=>{class t{ngSwitch;_view;ngSwitchCase;constructor(e,i,r){this.ngSwitch=r,r._addCase(),this._view=new vf(e,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}static \u0275fac=function(i){return new(i||t)(y(pt),y(St),y(bi,9))};static \u0275dir=H({type:t,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"}})}return t})(),Qv=(()=>{class t{constructor(e,i,r){r._addDefault(new vf(e,i))}static \u0275fac=function(i){return new(i||t)(y(pt),y(St),y(bi,9))};static \u0275dir=H({type:t,selectors:[["","ngSwitchDefault",""]]})}return t})();var Zv=(()=>{class t{_ngEl;_differs;_renderer;_ngStyle=null;_differ=null;constructor(e,i,r){this._ngEl=e,this._differs=i,this._renderer=r}set ngStyle(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())}ngDoCheck(){if(this._differ){let e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}}_setStyle(e,i){let[r,o]=e.split("."),s=r.indexOf("-")===-1?void 0:cr.DashCase;i!=null?this._renderer.setStyle(this._ngEl.nativeElement,r,o?`${i}${o}`:i,s):this._renderer.removeStyle(this._ngEl.nativeElement,r,s)}_applyChanges(e){e.forEachRemovedItem(i=>this._setStyle(i.key,null)),e.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),e.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}static \u0275fac=function(i){return new(i||t)(y($),y(Fv),y(ke))};static \u0275dir=H({type:t,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"}})}return t})(),Ts=(()=>{class t{_viewContainerRef;_viewRef=null;ngTemplateOutletContext=null;ngTemplateOutlet=null;ngTemplateOutletInjector=null;constructor(e){this._viewContainerRef=e}ngOnChanges(e){if(this._shouldRecreateView(e)){let i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),!this.ngTemplateOutlet){this._viewRef=null;return}let r=this._createContextForwardProxy();this._viewRef=i.createEmbeddedView(this.ngTemplateOutlet,r,{injector:this.ngTemplateOutletInjector??void 0})}}_shouldRecreateView(e){return!!e.ngTemplateOutlet||!!e.ngTemplateOutletInjector}_createContextForwardProxy(){return new Proxy({},{set:(e,i,r)=>this.ngTemplateOutletContext?Reflect.set(this.ngTemplateOutletContext,i,r):!1,get:(e,i,r)=>{if(this.ngTemplateOutletContext)return Reflect.get(this.ngTemplateOutletContext,i,r)}})}static \u0275fac=function(i){return new(i||t)(y(pt))};static \u0275dir=H({type:t,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},features:[xe]})}return t})();function Kv(t,n){return new R(2100,!1)}var Wv=class{createSubscription(n,e){return _i(()=>n.subscribe({next:e,error:i=>{throw i}}))}dispose(n){_i(()=>n.unsubscribe())}},Gv=class{createSubscription(n,e){return n.then(e,i=>{throw i})}dispose(n){}},sV=new Gv,aV=new Wv,mr=(()=>{class t{_ref;_latestValue=null;markForCheckOnValueUpdate=!0;_subscription=null;_obj=null;_strategy=null;constructor(e){this._ref=e}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(e){if(!this._obj){if(e)try{this.markForCheckOnValueUpdate=!1,this._subscribe(e)}finally{this.markForCheckOnValueUpdate=!0}return this._latestValue}return e!==this._obj?(this._dispose(),this.transform(e)):this._latestValue}_subscribe(e){this._obj=e,this._strategy=this._selectStrategy(e),this._subscription=this._strategy.createSubscription(e,i=>this._updateLatestValue(e,i))}_selectStrategy(e){if(To(e))return sV;if(Rv(e))return aV;throw Kv(t,e)}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(e,i){e===this._obj&&(this._latestValue=i,this.markForCheckOnValueUpdate&&this._ref?.markForCheck())}static \u0275fac=function(i){return new(i||t)(y(it,16))};static \u0275pipe=Eo({name:"async",type:t,pure:!1})}return t})();var lV="mediumDate",oT=new B(""),sT=new B(""),qc=(()=>{class t{locale;defaultTimezone;defaultOptions;constructor(e,i,r){this.locale=e,this.defaultTimezone=i,this.defaultOptions=r}transform(e,i,r,o){if(e==null||e===""||e!==e)return null;try{let s=i??this.defaultOptions?.dateFormat??lV,a=r??this.defaultOptions?.timezone??this.defaultTimezone??void 0;return tT(e,s,o||this.locale,a)}catch(s){throw Kv(t,s.message)}}static \u0275fac=function(i){return new(i||t)(y(Uc,16),y(oT,24),y(sT,24))};static \u0275pipe=Eo({name:"date",type:t,pure:!0})}return t})();var Jv=(()=>{class t{_locale;constructor(e){this._locale=e}transform(e,i,r){if(!cV(e))return null;r||=this._locale;try{let o=uV(e);return rT(o,r,i)}catch(o){throw Kv(t,o.message)}}static \u0275fac=function(i){return new(i||t)(y(Uc,16))};static \u0275pipe=Eo({name:"number",type:t,pure:!0})}return t})();function cV(t){return!(t==null||t===""||t!==t)}function uV(t){if(typeof t=="string"&&!isNaN(Number(t)-parseFloat(t)))return Number(t);if(typeof t!="number")throw new Error(`${t} is not a number`);return t}var ot=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=be({type:t});static \u0275inj=ve({})}return t})();function Qc(t,n){n=encodeURIComponent(n);for(let e of t.split(";")){let i=e.indexOf("="),[r,o]=i==-1?[e,""]:[e.slice(0,i),e.slice(i+1)];if(r.trim()===n)return decodeURIComponent(o)}return null}var bf="browser",aT="server";function xs(t){return t===bf}function Cf(t){return t===aT}var Is=class{};var Mf=new B(""),i0=(()=>{class t{_zone;_plugins;_eventNameToPlugin=new Map;constructor(e,i){this._zone=i,e.forEach(r=>{r.manager=this}),this._plugins=e.slice().reverse()}addEventListener(e,i,r,o){return this._findPluginFor(i).addEventListener(e,i,r,o)}getZone(){return this._zone}_findPluginFor(e){let i=this._eventNameToPlugin.get(e);if(i)return i;if(i=this._plugins.find(o=>o.supports(e)),!i)throw new R(5101,!1);return this._eventNameToPlugin.set(e,i),i}static \u0275fac=function(i){return new(i||t)(F(Mf),F(Me))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})(),Zc=class{_doc;constructor(n){this._doc=n}manager},wf="ng-app-id";function lT(t){for(let n of t)n.remove()}function cT(t,n){let e=n.createElement("style");return e.textContent=t,e}function dV(t,n,e,i){let r=t.head?.querySelectorAll(`style[${wf}="${n}"],link[${wf}="${n}"]`);if(r)for(let o of r)o.removeAttribute(wf),o instanceof HTMLLinkElement?i.set(o.href.slice(o.href.lastIndexOf("/")+1),{usage:0,elements:[o]}):o.textContent&&e.set(o.textContent,{usage:0,elements:[o]})}function t0(t,n){let e=n.createElement("link");return e.setAttribute("rel","stylesheet"),e.setAttribute("href",t),e}var r0=(()=>{class t{doc;appId;nonce;inline=new Map;external=new Map;hosts=new Set;isServer;constructor(e,i,r,o={}){this.doc=e,this.appId=i,this.nonce=r,this.isServer=Cf(o),dV(e,i,this.inline,this.external),this.hosts.add(e.head)}addStyles(e,i){for(let r of e)this.addUsage(r,this.inline,cT);i?.forEach(r=>this.addUsage(r,this.external,t0))}removeStyles(e,i){for(let r of e)this.removeUsage(r,this.inline);i?.forEach(r=>this.removeUsage(r,this.external))}addUsage(e,i,r){let o=i.get(e);o?o.usage++:i.set(e,{usage:1,elements:[...this.hosts].map(s=>this.addElement(s,r(e,this.doc)))})}removeUsage(e,i){let r=i.get(e);r&&(r.usage--,r.usage<=0&&(lT(r.elements),i.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])lT(e);this.hosts.clear()}addHost(e){this.hosts.add(e);for(let[i,{elements:r}]of this.inline)r.push(this.addElement(e,cT(i,this.doc)));for(let[i,{elements:r}]of this.external)r.push(this.addElement(e,t0(i,this.doc)))}removeHost(e){this.hosts.delete(e)}addElement(e,i){return this.nonce&&i.setAttribute("nonce",this.nonce),this.isServer&&i.setAttribute(wf,this.appId),e.appendChild(i)}static \u0275fac=function(i){return new(i||t)(F(Ie),F(av),F(cv,8),F(qn))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})(),e0={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/Math/MathML"},o0=/%COMP%/g;var dT="%COMP%",hV=`_nghost-${dT}`,fV=`_ngcontent-${dT}`,pV=!0,mV=new B("",{providedIn:"root",factory:()=>pV});function gV(t){return fV.replace(o0,t)}function _V(t){return hV.replace(o0,t)}function hT(t,n){return n.map(e=>e.replace(o0,t))}var Xc=(()=>{class t{eventManager;sharedStylesHost;appId;removeStylesOnCompDestroy;doc;platformId;ngZone;nonce;tracingService;rendererByCompId=new Map;defaultRenderer;platformIsServer;constructor(e,i,r,o,s,a,l,c=null,u=null){this.eventManager=e,this.sharedStylesHost=i,this.appId=r,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=c,this.tracingService=u,this.platformIsServer=Cf(a),this.defaultRenderer=new Kc(e,s,l,this.platformIsServer,this.tracingService)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;this.platformIsServer&&i.encapsulation===pi.ShadowDom&&(i=W(E({},i),{encapsulation:pi.Emulated}));let r=this.getOrCreateRenderer(e,i);return r instanceof Df?r.applyToHost(e):r instanceof Jc&&r.applyStyles(),r}getOrCreateRenderer(e,i){let r=this.rendererByCompId,o=r.get(i.id);if(!o){let s=this.doc,a=this.ngZone,l=this.eventManager,c=this.sharedStylesHost,u=this.removeStylesOnCompDestroy,m=this.platformIsServer,b=this.tracingService;switch(i.encapsulation){case pi.Emulated:o=new Df(l,c,i,this.appId,u,s,a,m,b);break;case pi.ShadowDom:return new n0(l,c,e,i,s,a,this.nonce,m,b);default:o=new Jc(l,c,i,u,s,a,m,b);break}r.set(i.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}componentReplaced(e){this.rendererByCompId.delete(e)}static \u0275fac=function(i){return new(i||t)(F(i0),F(r0),F(av),F(mV),F(Ie),F(qn),F(Me),F(cv),F(Zh,8))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})(),Kc=class{eventManager;doc;ngZone;platformIsServer;tracingService;data=Object.create(null);throwOnSyntheticProps=!0;constructor(n,e,i,r,o){this.eventManager=n,this.doc=e,this.ngZone=i,this.platformIsServer=r,this.tracingService=o}destroy(){}destroyNode=null;createElement(n,e){return e?this.doc.createElementNS(e0[e]||e,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,e){(uT(n)?n.content:n).appendChild(e)}insertBefore(n,e,i){n&&(uT(n)?n.content:n).insertBefore(e,i)}removeChild(n,e){e.remove()}selectRootElement(n,e){let i=typeof n=="string"?this.doc.querySelector(n):n;if(!i)throw new R(-5104,!1);return e||(i.textContent=""),i}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,e,i,r){if(r){e=r+":"+e;let o=e0[r];o?n.setAttributeNS(o,e,i):n.setAttribute(e,i)}else n.setAttribute(e,i)}removeAttribute(n,e,i){if(i){let r=e0[i];r?n.removeAttributeNS(r,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,r){r&(cr.DashCase|cr.Important)?n.style.setProperty(e,i,r&cr.Important?"important":""):n.style[e]=i}removeStyle(n,e,i){i&cr.DashCase?n.style.removeProperty(e):n.style[e]=""}setProperty(n,e,i){n!=null&&(n[e]=i)}setValue(n,e){n.nodeValue=e}listen(n,e,i,r){if(typeof n=="string"&&(n=yi().getGlobalEventTarget(this.doc,n),!n))throw new R(5102,!1);let o=this.decoratePreventDefault(i);return this.tracingService?.wrapEventListener&&(o=this.tracingService.wrapEventListener(n,e,o)),this.eventManager.addEventListener(n,e,o,r)}decoratePreventDefault(n){return e=>{if(e==="__ngUnwrap__")return n;(this.platformIsServer?this.ngZone.runGuarded(()=>n(e)):n(e))===!1&&e.preventDefault()}}};function uT(t){return t.tagName==="TEMPLATE"&&t.content!==void 0}var n0=class extends Kc{sharedStylesHost;hostEl;shadowRoot;constructor(n,e,i,r,o,s,a,l,c){super(n,o,s,l,c),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let u=r.styles;u=hT(r.id,u);for(let b of u){let _=document.createElement("style");a&&_.setAttribute("nonce",a),_.textContent=b,this.shadowRoot.appendChild(_)}let m=r.getExternalStyles?.();if(m)for(let b of m){let _=t0(b,o);a&&_.setAttribute("nonce",a),this.shadowRoot.appendChild(_)}}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(null,e)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},Jc=class extends Kc{sharedStylesHost;removeStylesOnCompDestroy;styles;styleUrls;constructor(n,e,i,r,o,s,a,l,c){super(n,o,s,a,l),this.sharedStylesHost=e,this.removeStylesOnCompDestroy=r;let u=i.styles;this.styles=c?hT(c,u):u,this.styleUrls=i.getExternalStyles?.(c)}applyStyles(){this.sharedStylesHost.addStyles(this.styles,this.styleUrls)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},Df=class extends Jc{contentAttr;hostAttr;constructor(n,e,i,r,o,s,a,l,c){let u=r+"-"+i.id;super(n,e,i,o,s,a,l,c,u),this.contentAttr=gV(u),this.hostAttr=_V(u)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,e){let i=super.createElement(n,e);return super.setAttribute(i,this.contentAttr,""),i}};var Sf=class t extends $c{supportsDOMEvents=!0;static makeCurrent(){Vv(new t)}onAndCancel(n,e,i,r){return n.addEventListener(e,i,r),()=>{n.removeEventListener(e,i,r)}}dispatchEvent(n,e){n.dispatchEvent(e)}remove(n){n.remove()}createElement(n,e){return e=e||this.getDefaultDocument(),e.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 e==="window"?window:e==="document"?n:e==="body"?n.body:null}getBaseHref(n){let e=yV();return e==null?null:vV(e)}resetBaseElement(){eu=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return Qc(document.cookie,n)}},eu=null;function yV(){return eu=eu||document.querySelector("base"),eu?eu.getAttribute("href"):null}function vV(t){return new URL(t,document.baseURI).pathname}var bV=(()=>{class t{build(){return new XMLHttpRequest}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})(),pT=(()=>{class t extends Zc{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,r,o){return e.addEventListener(i,r,o),()=>this.removeEventListener(e,i,r,o)}removeEventListener(e,i,r,o){return e.removeEventListener(i,r,o)}static \u0275fac=function(i){return new(i||t)(F(Ie))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})(),fT=["alt","control","meta","shift"],CV={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},wV={alt:t=>t.altKey,control:t=>t.ctrlKey,meta:t=>t.metaKey,shift:t=>t.shiftKey},mT=(()=>{class t extends Zc{constructor(e){super(e)}supports(e){return t.parseEventName(e)!=null}addEventListener(e,i,r,o){let s=t.parseEventName(i),a=t.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>yi().onAndCancel(e,s.domEventName,a,o))}static parseEventName(e){let i=e.toLowerCase().split("."),r=i.shift();if(i.length===0||!(r==="keydown"||r==="keyup"))return null;let o=t._normalizeKey(i.pop()),s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),fT.forEach(c=>{let u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,i.length!=0||o.length===0)return null;let l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(e,i){let r=CV[e.key]||e.key,o="";return i.indexOf("code.")>-1&&(r=e.code,o="code."),r==null||!r?!1:(r=r.toLowerCase(),r===" "?r="space":r==="."&&(r="dot"),fT.forEach(s=>{if(s!==r){let a=wV[s];a(e)&&(o+=s+".")}}),o+=r,o===i)}static eventCallback(e,i,r){return o=>{t.matchEventFullKeyCode(o,e)&&r.runGuarded(()=>i(o))}}static _normalizeKey(e){return e==="esc"?"escape":e}static \u0275fac=function(i){return new(i||t)(F(Ie))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})();function s0(t,n){return OE(E({rootComponent:t},DV(n)))}function DV(t){return{appProviders:[...IV,...t?.providers??[]],platformProviders:TV}}function MV(){Sf.makeCurrent()}function SV(){return new lr}function EV(){return dS(document),document}var TV=[{provide:qn,useValue:bf},{provide:lv,useValue:MV,multi:!0},{provide:Ie,useFactory:EV}];var IV=[{provide:Uh,useValue:"root"},{provide:lr,useFactory:SV},{provide:Mf,useClass:pT,multi:!0,deps:[Ie]},{provide:Mf,useClass:mT,multi:!0,deps:[Ie]},Xc,r0,i0,{provide:xn,useExisting:Xc},{provide:Is,useClass:bV},[]];var nl=class{},tu=class{},Ao=class t{headers;normalizedNames=new Map;lazyInit;lazyUpdate=null;constructor(n){n?typeof n=="string"?this.lazyInit=()=>{this.headers=new Map,n.split(` -`).forEach(e=>{let i=e.indexOf(":");if(i>0){let r=e.slice(0,i),o=e.slice(i+1).trim();this.addHeaderEntry(r,o)}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((e,i)=>{this.addHeaderEntry(i,e)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([e,i])=>{this.setHeaderEntries(e,i)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();let 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 t?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){let e=new t;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof t?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([n]),e}applyUpdate(n){let e=n.name.toLowerCase();switch(n.op){case"a":case"s":let i=n.value;if(typeof i=="string"&&(i=[i]),i.length===0)return;this.maybeSetNormalizedName(n.name,e);let r=(n.op==="a"?this.headers.get(e):void 0)||[];r.push(...i),this.headers.set(e,r);break;case"d":let o=n.value;if(!o)this.headers.delete(e),this.normalizedNames.delete(e);else{let s=this.headers.get(e);if(!s)return;s=s.filter(a=>o.indexOf(a)===-1),s.length===0?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}break}}addHeaderEntry(n,e){let i=n.toLowerCase();this.maybeSetNormalizedName(n,i),this.headers.has(i)?this.headers.get(i).push(e):this.headers.set(i,[e])}setHeaderEntries(n,e){let i=(Array.isArray(e)?e:[e]).map(o=>o.toString()),r=n.toLowerCase();this.headers.set(r,i),this.maybeSetNormalizedName(n,r)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>n(this.normalizedNames.get(e),this.headers.get(e)))}};var Tf=class{encodeKey(n){return gT(n)}encodeValue(n){return gT(n)}decodeKey(n){return decodeURIComponent(n)}decodeValue(n){return decodeURIComponent(n)}};function xV(t,n){let e=new Map;return t.length>0&&t.replace(/^\?/,"").split("&").forEach(r=>{let o=r.indexOf("="),[s,a]=o==-1?[n.decodeKey(r),""]:[n.decodeKey(r.slice(0,o)),n.decodeValue(r.slice(o+1))],l=e.get(s)||[];l.push(a),e.set(s,l)}),e}var kV=/%(\d[a-f0-9])/gi,AV={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function gT(t){return encodeURIComponent(t).replace(kV,(n,e)=>AV[e]??n)}function Ef(t){return`${t}`}var zi=class t{map;encoder;updates=null;cloneFrom=null;constructor(n={}){if(this.encoder=n.encoder||new Tf,n.fromString){if(n.fromObject)throw new R(2805,!1);this.map=xV(n.fromString,this.encoder)}else n.fromObject?(this.map=new Map,Object.keys(n.fromObject).forEach(e=>{let i=n.fromObject[e],r=Array.isArray(i)?i.map(Ef):[Ef(i)];this.map.set(e,r)})):this.map=null}has(n){return this.init(),this.map.has(n)}get(n){this.init();let 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){let e=[];return Object.keys(n).forEach(i=>{let r=n[i];Array.isArray(r)?r.forEach(o=>{e.push({param:i,value:o,op:"a"})}):e.push({param:i,value:r,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=>{let e=this.encoder.encodeKey(n);return this.map.get(n).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(n=>n!=="").join("&")}clone(n){let e=new t({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(n),e}init(){this.map===null&&(this.map=new Map),this.cloneFrom!==null&&(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":let e=(n.op==="a"?this.map.get(n.param):void 0)||[];e.push(Ef(n.value)),this.map.set(n.param,e);break;case"d":if(n.value!==void 0){let i=this.map.get(n.param)||[],r=i.indexOf(Ef(n.value));r!==-1&&i.splice(r,1),i.length>0?this.map.set(n.param,i):this.map.delete(n.param)}else{this.map.delete(n.param);break}}}),this.cloneFrom=this.updates=null)}};var If=class{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 RV(t){switch(t){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}function _T(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer}function yT(t){return typeof Blob<"u"&&t instanceof Blob}function vT(t){return typeof FormData<"u"&&t instanceof FormData}function OV(t){return typeof URLSearchParams<"u"&&t instanceof URLSearchParams}var bT="Content-Type",CT="Accept",wT="X-Request-URL",DT="text/plain",MT="application/json",PV=`${MT}, ${DT}, */*`,tl=class t{url;body=null;headers;context;reportProgress=!1;withCredentials=!1;responseType="json";method;params;urlWithParams;transferCache;constructor(n,e,i,r){this.url=e,this.method=n.toUpperCase();let o;if(RV(this.method)||r?(this.body=i!==void 0?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params),this.transferCache=o.transferCache),this.headers??=new Ao,this.context??=new If,!this.params)this.params=new zi,this.urlWithParams=e;else{let s=this.params.toString();if(s.length===0)this.urlWithParams=e;else{let a=e.indexOf("?"),l=a===-1?"?":ab.set(_,n.setHeaders[_]),c)),n.setParams&&(u=Object.keys(n.setParams).reduce((b,_)=>b.set(_,n.setParams[_]),u)),new t(e,i,s,{params:u,headers:c,context:m,reportProgress:l,responseType:r,withCredentials:a,transferCache:o})}},ks=function(t){return t[t.Sent=0]="Sent",t[t.UploadProgress=1]="UploadProgress",t[t.ResponseHeader=2]="ResponseHeader",t[t.DownloadProgress=3]="DownloadProgress",t[t.Response=4]="Response",t[t.User=5]="User",t}(ks||{}),il=class{headers;status;statusText;url;ok;type;constructor(n,e=200,i="OK"){this.headers=n.headers||new Ao,this.status=n.status!==void 0?n.status:e,this.statusText=n.statusText||i,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}},xf=class t extends il{constructor(n={}){super(n)}type=ks.ResponseHeader;clone(n={}){return new t({headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}},nu=class t extends il{body;constructor(n={}){super(n),this.body=n.body!==void 0?n.body:null}type=ks.Response;clone(n={}){return new t({body:n.body!==void 0?n.body:this.body,headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}},iu=class extends il{name="HttpErrorResponse";message;error;ok=!1;constructor(n){super(n,0,"Unknown Error"),this.status>=200&&this.status<300?this.message=`Http failure during parsing for ${n.url||"(unknown url)"}`:this.message=`Http failure response for ${n.url||"(unknown url)"}: ${n.status} ${n.statusText}`,this.error=n.error||null}},NV=200,LV=204;function a0(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,transferCache:t.transferCache}}var Fn=(()=>{class t{handler;constructor(e){this.handler=e}request(e,i,r={}){let o;if(e instanceof tl)o=e;else{let l;r.headers instanceof Ao?l=r.headers:l=new Ao(r.headers);let c;r.params&&(r.params instanceof zi?c=r.params:c=new zi({fromObject:r.params})),o=new tl(e,i,r.body!==void 0?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials,transferCache:r.transferCache})}let s=Q(o).pipe(yo(l=>this.handler.handle(l)));if(e instanceof tl||r.observe==="events")return s;let a=s.pipe(le(l=>l instanceof nu));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(G(l=>{if(l.body!==null&&!(l.body instanceof ArrayBuffer))throw new R(2806,!1);return l.body}));case"blob":return a.pipe(G(l=>{if(l.body!==null&&!(l.body instanceof Blob))throw new R(2807,!1);return l.body}));case"text":return a.pipe(G(l=>{if(l.body!==null&&typeof l.body!="string")throw new R(2808,!1);return l.body}));case"json":default:return a.pipe(G(l=>l.body))}case"response":return a;default:throw new R(2809,!1)}}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 zi().append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,r={}){return this.request("PATCH",e,a0(r,i))}post(e,i,r={}){return this.request("POST",e,a0(r,i))}put(e,i,r={}){return this.request("PUT",e,a0(r,i))}static \u0275fac=function(i){return new(i||t)(F(nl))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})();var FV=new B("");function VV(t,n){return n(t)}function jV(t,n,e){return(i,r)=>Gn(e,()=>n(i,o=>t(o,r)))}var c0=new B(""),ST=new B(""),ET=new B("",{providedIn:"root",factory:()=>!0});var kf=(()=>{class t extends nl{backend;injector;chain=null;pendingTasks=S(Mo);contributeToStability=S(ET);constructor(e,i){super(),this.backend=e,this.injector=i}handle(e){if(this.chain===null){let i=Array.from(new Set([...this.injector.get(c0),...this.injector.get(ST,[])]));this.chain=i.reduceRight((r,o)=>jV(r,o,this.injector),VV)}if(this.contributeToStability){let i=this.pendingTasks.add();return this.chain(e,r=>this.backend.handle(r)).pipe(di(()=>this.pendingTasks.remove(i)))}else return this.chain(e,i=>this.backend.handle(i))}static \u0275fac=function(i){return new(i||t)(F(tu),F(yn))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})();var HV=/^\)\]\}',?\n/,BV=RegExp(`^${wT}:`,"m");function UV(t){return"responseURL"in t&&t.responseURL?t.responseURL:BV.test(t.getAllResponseHeaders())?t.getResponseHeader(wT):null}var l0=(()=>{class t{xhrFactory;constructor(e){this.xhrFactory=e}handle(e){if(e.method==="JSONP")throw new R(-2800,!1);let i=this.xhrFactory;return(i.\u0275loadImpl?Ke(i.\u0275loadImpl()):Q(null)).pipe(vt(()=>new ne(o=>{let s=i.build();if(s.open(e.method,e.urlWithParams),e.withCredentials&&(s.withCredentials=!0),e.headers.forEach((I,O)=>s.setRequestHeader(I,O.join(","))),e.headers.has(CT)||s.setRequestHeader(CT,PV),!e.headers.has(bT)){let I=e.detectContentTypeHeader();I!==null&&s.setRequestHeader(bT,I)}if(e.responseType){let I=e.responseType.toLowerCase();s.responseType=I!=="json"?I:"text"}let a=e.serializeBody(),l=null,c=()=>{if(l!==null)return l;let I=s.statusText||"OK",O=new Ao(s.getAllResponseHeaders()),V=UV(s)||e.url;return l=new xf({headers:O,status:s.status,statusText:I,url:V}),l},u=()=>{let{headers:I,status:O,statusText:V,url:de}=c(),we=null;O!==LV&&(we=typeof s.response>"u"?s.responseText:s.response),O===0&&(O=we?NV:0);let nt=O>=200&&O<300;if(e.responseType==="json"&&typeof we=="string"){let Pi=we;we=we.replace(HV,"");try{we=we!==""?JSON.parse(we):null}catch(ai){we=Pi,nt&&(nt=!1,we={error:ai,text:we})}}nt?(o.next(new nu({body:we,headers:I,status:O,statusText:V,url:de||void 0})),o.complete()):o.error(new iu({error:we,headers:I,status:O,statusText:V,url:de||void 0}))},m=I=>{let{url:O}=c(),V=new iu({error:I,status:s.status||0,statusText:s.statusText||"Unknown Error",url:O||void 0});o.error(V)},b=!1,_=I=>{b||(o.next(c()),b=!0);let O={type:ks.DownloadProgress,loaded:I.loaded};I.lengthComputable&&(O.total=I.total),e.responseType==="text"&&s.responseText&&(O.partialText=s.responseText),o.next(O)},M=I=>{let O={type:ks.UploadProgress,loaded:I.loaded};I.lengthComputable&&(O.total=I.total),o.next(O)};return s.addEventListener("load",u),s.addEventListener("error",m),s.addEventListener("timeout",m),s.addEventListener("abort",m),e.reportProgress&&(s.addEventListener("progress",_),a!==null&&s.upload&&s.upload.addEventListener("progress",M)),s.send(a),o.next({type:ks.Sent}),()=>{s.removeEventListener("error",m),s.removeEventListener("abort",m),s.removeEventListener("load",u),s.removeEventListener("timeout",m),e.reportProgress&&(s.removeEventListener("progress",_),a!==null&&s.upload&&s.upload.removeEventListener("progress",M)),s.readyState!==s.DONE&&s.abort()}})))}static \u0275fac=function(i){return new(i||t)(F(Is))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})(),TT=new B(""),$V="XSRF-TOKEN",YV=new B("",{providedIn:"root",factory:()=>$V}),zV="X-XSRF-TOKEN",WV=new B("",{providedIn:"root",factory:()=>zV}),ru=class{},GV=(()=>{class t{doc;platform;cookieName;lastCookieString="";lastToken=null;parseCount=0;constructor(e,i,r){this.doc=e,this.platform=i,this.cookieName=r}getToken(){if(this.platform==="server")return null;let e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=Qc(e,this.cookieName),this.lastCookieString=e),this.lastToken}static \u0275fac=function(i){return new(i||t)(F(Ie),F(qn),F(YV))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})();function qV(t,n){let e=t.url.toLowerCase();if(!S(TT)||t.method==="GET"||t.method==="HEAD"||e.startsWith("http://")||e.startsWith("https://"))return n(t);let i=S(ru).getToken(),r=S(WV);return i!=null&&!t.headers.has(r)&&(t=t.clone({headers:t.headers.set(r,i)})),n(t)}var u0=function(t){return t[t.Interceptors=0]="Interceptors",t[t.LegacyInterceptors=1]="LegacyInterceptors",t[t.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",t[t.NoXsrfProtection=3]="NoXsrfProtection",t[t.JsonpSupport=4]="JsonpSupport",t[t.RequestsMadeViaParent=5]="RequestsMadeViaParent",t[t.Fetch=6]="Fetch",t}(u0||{});function QV(t,n){return{\u0275kind:t,\u0275providers:n}}function d0(...t){let n=[Fn,l0,kf,{provide:nl,useExisting:kf},{provide:tu,useFactory:()=>S(FV,{optional:!0})??S(l0)},{provide:c0,useValue:qV,multi:!0},{provide:TT,useValue:!0},{provide:ru,useClass:GV}];for(let e of t)n.push(...e.\u0275providers);return Do(n)}function h0(t){return QV(u0.Interceptors,t.map(n=>({provide:c0,useValue:n,multi:!0})))}var IT=(()=>{class t{_doc;constructor(e){this._doc=e}getTitle(){return this._doc.title}setTitle(e){this._doc.title=e||""}static \u0275fac=function(i){return new(i||t)(F(Ie))};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Kr=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:function(i){let r=null;return i?r=new(i||t):r=F(KV),r},providedIn:"root"})}return t})(),KV=(()=>{class t extends Kr{_doc;constructor(e){super(),this._doc=e}sanitize(e,i){if(i==null)return null;switch(e){case Qn.NONE:return i;case Qn.HTML:return zr(i,"HTML")?Ui(i):dv(this._doc,String(i)).toString();case Qn.STYLE:return zr(i,"Style")?Ui(i):i;case Qn.SCRIPT:if(zr(i,"Script"))return Ui(i);throw new R(5200,!1);case Qn.URL:return zr(i,"URL")?Ui(i):Jh(String(i));case Qn.RESOURCE_URL:if(zr(i,"ResourceURL"))return Ui(i);throw new R(5201,!1);default:throw new R(5202,!1)}}bypassSecurityTrustHtml(e){return yS(e)}bypassSecurityTrustStyle(e){return vS(e)}bypassSecurityTrustScript(e){return bS(e)}bypassSecurityTrustUrl(e){return CS(e)}bypassSecurityTrustResourceUrl(e){return wS(e)}static \u0275fac=function(i){return new(i||t)(F(Ie))};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var _e="primary",yu=Symbol("RouteTitle"),_0=class{params;constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e[0]:e}return null}getAll(n){if(this.has(n)){let e=this.params[n];return Array.isArray(e)?e:[e]}return[]}get keys(){return Object.keys(this.params)}};function Os(t){return new _0(t)}function LT(t,n,e){let i=e.path.split("/");if(i.length>t.length||e.pathMatch==="full"&&(n.hasChildren()||i.lengthi[o]===r)}else return t===n}function VT(t){return t.length>0?t[t.length-1]:null}function Po(t){return e_(t)?t:To(t)?Ke(Promise.resolve(t)):Q(t)}var XV={exact:HT,subset:BT},jT={exact:ej,subset:tj,ignored:()=>!0};function xT(t,n,e){return XV[e.paths](t.root,n.root,e.matrixParams)&&jT[e.queryParams](t.queryParams,n.queryParams)&&!(e.fragment==="exact"&&t.fragment!==n.fragment)}function ej(t,n){return gr(t,n)}function HT(t,n,e){if(!As(t.segments,n.segments)||!Pf(t.segments,n.segments,e)||t.numberOfChildren!==n.numberOfChildren)return!1;for(let i in n.children)if(!t.children[i]||!HT(t.children[i],n.children[i],e))return!1;return!0}function tj(t,n){return Object.keys(n).length<=Object.keys(t).length&&Object.keys(n).every(e=>FT(t[e],n[e]))}function BT(t,n,e){return UT(t,n,n.segments,e)}function UT(t,n,e,i){if(t.segments.length>e.length){let r=t.segments.slice(0,e.length);return!(!As(r,e)||n.hasChildren()||!Pf(r,e,i))}else if(t.segments.length===e.length){if(!As(t.segments,e)||!Pf(t.segments,e,i))return!1;for(let r in n.children)if(!t.children[r]||!BT(t.children[r],n.children[r],i))return!1;return!0}else{let r=e.slice(0,t.segments.length),o=e.slice(t.segments.length);return!As(t.segments,r)||!Pf(t.segments,r,i)||!t.children[_e]?!1:UT(t.children[_e],n,o,i)}}function Pf(t,n,e){return n.every((i,r)=>jT[e](t[r].parameters,i.parameters))}var yr=class{root;queryParams;fragment;_queryParamMap;constructor(n=new je([],{}),e={},i=null){this.root=n,this.queryParams=e,this.fragment=i}get queryParamMap(){return this._queryParamMap??=Os(this.queryParams),this._queryParamMap}toString(){return rj.serialize(this)}},je=class{segments;children;parent=null;constructor(n,e){this.segments=n,this.children=e,Object.values(e).forEach(i=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return Nf(this)}},Ro=class{path;parameters;_parameterMap;constructor(n,e){this.path=n,this.parameters=e}get parameterMap(){return this._parameterMap??=Os(this.parameters),this._parameterMap}toString(){return YT(this)}};function nj(t,n){return As(t,n)&&t.every((e,i)=>gr(e.parameters,n[i].parameters))}function As(t,n){return t.length!==n.length?!1:t.every((e,i)=>e.path===n[i].path)}function ij(t,n){let e=[];return Object.entries(t.children).forEach(([i,r])=>{i===_e&&(e=e.concat(n(r,i)))}),Object.entries(t.children).forEach(([i,r])=>{i!==_e&&(e=e.concat(n(r,i)))}),e}var vu=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>new Ps,providedIn:"root"})}return t})(),Ps=class{parse(n){let e=new b0(n);return new yr(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())}serialize(n){let e=`/${ou(n.root,!0)}`,i=aj(n.queryParams),r=typeof n.fragment=="string"?`#${oj(n.fragment)}`:"";return`${e}${i}${r}`}},rj=new Ps;function Nf(t){return t.segments.map(n=>YT(n)).join("/")}function ou(t,n){if(!t.hasChildren())return Nf(t);if(n){let e=t.children[_e]?ou(t.children[_e],!1):"",i=[];return Object.entries(t.children).forEach(([r,o])=>{r!==_e&&i.push(`${r}:${ou(o,!1)}`)}),i.length>0?`${e}(${i.join("//")})`:e}else{let e=ij(t,(i,r)=>r===_e?[ou(t.children[_e],!1)]:[`${r}:${ou(i,!1)}`]);return Object.keys(t.children).length===1&&t.children[_e]!=null?`${Nf(t)}/${e[0]}`:`${Nf(t)}/(${e.join("//")})`}}function $T(t){return encodeURIComponent(t).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Rf(t){return $T(t).replace(/%3B/gi,";")}function oj(t){return encodeURI(t)}function v0(t){return $T(t).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Lf(t){return decodeURIComponent(t)}function kT(t){return Lf(t.replace(/\+/g,"%20"))}function YT(t){return`${v0(t.path)}${sj(t.parameters)}`}function sj(t){return Object.entries(t).map(([n,e])=>`;${v0(n)}=${v0(e)}`).join("")}function aj(t){let n=Object.entries(t).map(([e,i])=>Array.isArray(i)?i.map(r=>`${Rf(e)}=${Rf(r)}`).join("&"):`${Rf(e)}=${Rf(i)}`).filter(e=>e);return n.length?`?${n.join("&")}`:""}var lj=/^[^\/()?;#]+/;function f0(t){let n=t.match(lj);return n?n[0]:""}var cj=/^[^\/()?;=#]+/;function uj(t){let n=t.match(cj);return n?n[0]:""}var dj=/^[^=?&#]+/;function hj(t){let n=t.match(dj);return n?n[0]:""}var fj=/^[^&#]+/;function pj(t){let n=t.match(fj);return n?n[0]:""}var b0=class{url;remaining;constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new je([],{}):new je([],this.parseChildren())}parseQueryParams(){let 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("/");let 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[_e]=new je(n,e)),i}parseSegment(){let n=f0(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new R(4009,!1);return this.capture(n),new Ro(Lf(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let e=uj(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){let r=f0(this.remaining);r&&(i=r,this.capture(i))}n[Lf(e)]=Lf(i)}parseQueryParam(n){let e=hj(this.remaining);if(!e)return;this.capture(e);let i="";if(this.consumeOptional("=")){let s=pj(this.remaining);s&&(i=s,this.capture(i))}let r=kT(e),o=kT(i);if(n.hasOwnProperty(r)){let s=n[r];Array.isArray(s)||(s=[s],n[r]=s),s.push(o)}else n[r]=o}parseParens(n){let e={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let i=f0(this.remaining),r=this.remaining[i.length];if(r!=="/"&&r!==")"&&r!==";")throw new R(4010,!1);let o;i.indexOf(":")>-1?(o=i.slice(0,i.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=_e);let s=this.parseChildren();e[o]=Object.keys(s).length===1?s[_e]:new je([],s),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):!1}capture(n){if(!this.consumeOptional(n))throw new R(4011,!1)}};function zT(t){return t.segments.length>0?new je([],{[_e]:t}):t}function WT(t){let n={};for(let[i,r]of Object.entries(t.children)){let o=WT(r);if(i===_e&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[i]=o)}let e=new je(t.segments,n);return mj(e)}function mj(t){if(t.numberOfChildren===1&&t.children[_e]){let n=t.children[_e];return new je(t.segments.concat(n.segments),n.children)}return t}function Oo(t){return t instanceof yr}function GT(t,n,e=null,i=null){let r=qT(t);return QT(r,n,e,i)}function qT(t){let n;function e(o){let s={};for(let l of o.children){let c=e(l);s[l.outlet]=c}let a=new je(o.url,s);return o===t&&(n=a),a}let i=e(t.root),r=zT(i);return n??r}function QT(t,n,e,i){let r=t;for(;r.parent;)r=r.parent;if(n.length===0)return p0(r,r,r,e,i);let o=gj(n);if(o.toRoot())return p0(r,r,new je([],{}),e,i);let s=_j(o,r,t),a=s.processChildren?au(s.segmentGroup,s.index,o.commands):KT(s.segmentGroup,s.index,o.commands);return p0(r,s.segmentGroup,a,e,i)}function Vf(t){return typeof t=="object"&&t!=null&&!t.outlets&&!t.segmentPath}function cu(t){return typeof t=="object"&&t!=null&&t.outlets}function p0(t,n,e,i,r){let o={};i&&Object.entries(i).forEach(([l,c])=>{o[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`});let s;t===n?s=e:s=ZT(t,n,e);let a=zT(WT(s));return new yr(a,o,r)}function ZT(t,n,e){let i={};return Object.entries(t.children).forEach(([r,o])=>{o===n?i[r]=e:i[r]=ZT(o,n,e)}),new je(t.segments,i)}var jf=class{isAbsolute;numberOfDoubleDots;commands;constructor(n,e,i){if(this.isAbsolute=n,this.numberOfDoubleDots=e,this.commands=i,n&&i.length>0&&Vf(i[0]))throw new R(4003,!1);let r=i.find(cu);if(r&&r!==VT(i))throw new R(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function gj(t){if(typeof t[0]=="string"&&t.length===1&&t[0]==="/")return new jf(!0,0,t);let n=0,e=!1,i=t.reduce((r,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([l,c])=>{a[l]=typeof c=="string"?c.split("/"):c}),[...r,{outlets:a}]}if(o.segmentPath)return[...r,o.segmentPath]}return typeof o!="string"?[...r,o]:s===0?(o.split("/").forEach((a,l)=>{l==0&&a==="."||(l==0&&a===""?e=!0:a===".."?n++:a!=""&&r.push(a))}),r):[...r,o]},[]);return new jf(e,n,i)}var sl=class{segmentGroup;processChildren;index;constructor(n,e,i){this.segmentGroup=n,this.processChildren=e,this.index=i}};function _j(t,n,e){if(t.isAbsolute)return new sl(n,!0,0);if(!e)return new sl(n,!1,NaN);if(e.parent===null)return new sl(e,!0,0);let i=Vf(t.commands[0])?0:1,r=e.segments.length-1+i;return yj(e,r,t.numberOfDoubleDots)}function yj(t,n,e){let i=t,r=n,o=e;for(;o>r;){if(o-=r,i=i.parent,!i)throw new R(4005,!1);r=i.segments.length}return new sl(i,!1,r-o)}function vj(t){return cu(t[0])?t[0].outlets:{[_e]:t}}function KT(t,n,e){if(t??=new je([],{}),t.segments.length===0&&t.hasChildren())return au(t,n,e);let i=bj(t,n,e),r=e.slice(i.commandIndex);if(i.match&&i.pathIndexo!==_e)&&t.children[_e]&&t.numberOfChildren===1&&t.children[_e].segments.length===0){let o=au(t.children[_e],n,e);return new je(t.segments,o.children)}return Object.entries(i).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(r[o]=KT(t.children[o],n,s))}),Object.entries(t.children).forEach(([o,s])=>{i[o]===void 0&&(r[o]=s)}),new je(t.segments,r)}}function bj(t,n,e){let i=0,r=n,o={match:!1,pathIndex:0,commandIndex:0};for(;r=e.length)return o;let s=t.segments[r],a=e[i];if(cu(a))break;let l=`${a}`,c=i0&&l===void 0)break;if(l&&c&&typeof c=="object"&&c.outlets===void 0){if(!RT(l,c,s))return o;i+=2}else{if(!RT(l,{},s))return o;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}function C0(t,n,e){let i=t.segments.slice(0,n),r=0;for(;r{typeof i=="string"&&(i=[i]),i!==null&&(n[e]=C0(new je([],{}),0,i))}),n}function AT(t){let n={};return Object.entries(t).forEach(([e,i])=>n[e]=`${i}`),n}function RT(t,n,e){return t==e.path&&gr(n,e.parameters)}var Ff="imperative",Xt=function(t){return t[t.NavigationStart=0]="NavigationStart",t[t.NavigationEnd=1]="NavigationEnd",t[t.NavigationCancel=2]="NavigationCancel",t[t.NavigationError=3]="NavigationError",t[t.RoutesRecognized=4]="RoutesRecognized",t[t.ResolveStart=5]="ResolveStart",t[t.ResolveEnd=6]="ResolveEnd",t[t.GuardsCheckStart=7]="GuardsCheckStart",t[t.GuardsCheckEnd=8]="GuardsCheckEnd",t[t.RouteConfigLoadStart=9]="RouteConfigLoadStart",t[t.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",t[t.ChildActivationStart=11]="ChildActivationStart",t[t.ChildActivationEnd=12]="ChildActivationEnd",t[t.ActivationStart=13]="ActivationStart",t[t.ActivationEnd=14]="ActivationEnd",t[t.Scroll=15]="Scroll",t[t.NavigationSkipped=16]="NavigationSkipped",t}(Xt||{}),Xn=class{id;url;constructor(n,e){this.id=n,this.url=e}},Ns=class extends Xn{type=Xt.NavigationStart;navigationTrigger;restoredState;constructor(n,e,i="imperative",r=null){super(n,e),this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},vr=class extends Xn{urlAfterRedirects;type=Xt.NavigationEnd;constructor(n,e,i){super(n,e),this.urlAfterRedirects=i}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},Vn=function(t){return t[t.Redirect=0]="Redirect",t[t.SupersededByNewNavigation=1]="SupersededByNewNavigation",t[t.NoDataFromResolver=2]="NoDataFromResolver",t[t.GuardRejected=3]="GuardRejected",t}(Vn||{}),uu=function(t){return t[t.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",t[t.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",t}(uu||{}),_r=class extends Xn{reason;code;type=Xt.NavigationCancel;constructor(n,e,i,r){super(n,e),this.reason=i,this.code=r}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},Jr=class extends Xn{reason;code;type=Xt.NavigationSkipped;constructor(n,e,i,r){super(n,e),this.reason=i,this.code=r}},ll=class extends Xn{error;target;type=Xt.NavigationError;constructor(n,e,i,r){super(n,e),this.error=i,this.target=r}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},du=class extends Xn{urlAfterRedirects;state;type=Xt.RoutesRecognized;constructor(n,e,i,r){super(n,e),this.urlAfterRedirects=i,this.state=r}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Hf=class extends Xn{urlAfterRedirects;state;type=Xt.GuardsCheckStart;constructor(n,e,i,r){super(n,e),this.urlAfterRedirects=i,this.state=r}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Bf=class extends Xn{urlAfterRedirects;state;shouldActivate;type=Xt.GuardsCheckEnd;constructor(n,e,i,r,o){super(n,e),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=o}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},Uf=class extends Xn{urlAfterRedirects;state;type=Xt.ResolveStart;constructor(n,e,i,r){super(n,e),this.urlAfterRedirects=i,this.state=r}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},$f=class extends Xn{urlAfterRedirects;state;type=Xt.ResolveEnd;constructor(n,e,i,r){super(n,e),this.urlAfterRedirects=i,this.state=r}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Yf=class{route;type=Xt.RouteConfigLoadStart;constructor(n){this.route=n}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},zf=class{route;type=Xt.RouteConfigLoadEnd;constructor(n){this.route=n}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},Wf=class{snapshot;type=Xt.ChildActivationStart;constructor(n){this.snapshot=n}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Gf=class{snapshot;type=Xt.ChildActivationEnd;constructor(n){this.snapshot=n}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},qf=class{snapshot;type=Xt.ActivationStart;constructor(n){this.snapshot=n}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Qf=class{snapshot;type=Xt.ActivationEnd;constructor(n){this.snapshot=n}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var hu=class{},cl=class{url;navigationBehaviorOptions;constructor(n,e){this.url=n,this.navigationBehaviorOptions=e}};function wj(t,n){return t.providers&&!t._injector&&(t._injector=lf(t.providers,n,`Route: ${t.path}`)),t._injector??n}function Wi(t){return t.outlet||_e}function Dj(t,n){let e=t.filter(i=>Wi(i)===n);return e.push(...t.filter(i=>Wi(i)!==n)),e}function bu(t){if(!t)return null;if(t.routeConfig?._injector)return t.routeConfig._injector;for(let n=t.parent;n;n=n.parent){let e=n.routeConfig;if(e?._loadedInjector)return e._loadedInjector;if(e?._injector)return e._injector}return null}var Zf=class{rootInjector;outlet=null;route=null;children;attachRef=null;get injector(){return bu(this.route?.snapshot)??this.rootInjector}constructor(n){this.rootInjector=n,this.children=new hl(this.rootInjector)}},hl=(()=>{class t{rootInjector;contexts=new Map;constructor(e){this.rootInjector=e}onChildOutletCreated(e,i){let r=this.getOrCreateContext(e);r.outlet=i,this.contexts.set(e,r)}onChildOutletDestroyed(e){let i=this.getContext(e);i&&(i.outlet=null,i.attachRef=null)}onOutletDeactivated(){let 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 Zf(this.rootInjector),this.contexts.set(e,i)),i}getContext(e){return this.contexts.get(e)||null}static \u0275fac=function(i){return new(i||t)(F(yn))};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Kf=class{_root;constructor(n){this._root=n}get root(){return this._root.value}parent(n){let e=this.pathFromRoot(n);return e.length>1?e[e.length-2]:null}children(n){let e=w0(n,this._root);return e?e.children.map(i=>i.value):[]}firstChild(n){let e=w0(n,this._root);return e&&e.children.length>0?e.children[0].value:null}siblings(n){let e=D0(n,this._root);return e.length<2?[]:e[e.length-2].children.map(r=>r.value).filter(r=>r!==n)}pathFromRoot(n){return D0(n,this._root).map(e=>e.value)}};function w0(t,n){if(t===n.value)return n;for(let e of n.children){let i=w0(t,e);if(i)return i}return null}function D0(t,n){if(t===n.value)return[n];for(let e of n.children){let i=D0(t,e);if(i.length)return i.unshift(n),i}return[]}var Jn=class{value;children;constructor(n,e){this.value=n,this.children=e}toString(){return`TreeNode(${this.value})`}};function ol(t){let n={};return t&&t.children.forEach(e=>n[e.value.outlet]=e),n}var fu=class extends Kf{snapshot;constructor(n,e){super(n),this.snapshot=e,A0(this,n)}toString(){return this.snapshot.toString()}};function JT(t){let n=Mj(t),e=new Pe([new Ro("",{})]),i=new Pe({}),r=new Pe({}),o=new Pe({}),s=new Pe(""),a=new Gi(e,i,o,s,r,_e,t,n.root);return a.snapshot=n.root,new fu(new Jn(a,[]),n)}function Mj(t){let n={},e={},i={},r="",o=new Rs([],n,i,r,e,_e,t,null,{});return new pu("",new Jn(o,[]))}var Gi=class{urlSubject;paramsSubject;queryParamsSubject;fragmentSubject;dataSubject;outlet;component;snapshot;_futureSnapshot;_routerState;_paramMap;_queryParamMap;title;url;params;queryParams;fragment;data;constructor(n,e,i,r,o,s,a,l){this.urlSubject=n,this.paramsSubject=e,this.queryParamsSubject=i,this.fragmentSubject=r,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(G(c=>c[yu]))??Q(void 0),this.url=n,this.params=e,this.queryParams=i,this.fragment=r,this.data=o}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.params.pipe(G(n=>Os(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(G(n=>Os(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function Jf(t,n,e="emptyOnly"){let i,{routeConfig:r}=t;return n!==null&&(e==="always"||r?.path===""||!n.component&&!n.routeConfig?.loadComponent)?i={params:E(E({},n.params),t.params),data:E(E({},n.data),t.data),resolve:E(E(E(E({},t.data),n.data),r?.data),t._resolvedData)}:i={params:E({},t.params),data:E({},t.data),resolve:E(E({},t.data),t._resolvedData??{})},r&&eI(r)&&(i.resolve[yu]=r.title),i}var Rs=class{url;params;queryParams;fragment;data;outlet;component;routeConfig;_resolve;_resolvedData;_routerState;_paramMap;_queryParamMap;get title(){return this.data?.[yu]}constructor(n,e,i,r,o,s,a,l,c){this.url=n,this.params=e,this.queryParams=i,this.fragment=r,this.data=o,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}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??=Os(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=Os(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(i=>i.toString()).join("/"),e=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${e}')`}},pu=class extends Kf{url;constructor(n,e){super(e),this.url=n,A0(this,e)}toString(){return XT(this._root)}};function A0(t,n){n.value._routerState=t,n.children.forEach(e=>A0(t,e))}function XT(t){let n=t.children.length>0?` { ${t.children.map(XT).join(", ")} } `:"";return`${t.value}${n}`}function m0(t){if(t.snapshot){let n=t.snapshot,e=t._futureSnapshot;t.snapshot=e,gr(n.queryParams,e.queryParams)||t.queryParamsSubject.next(e.queryParams),n.fragment!==e.fragment&&t.fragmentSubject.next(e.fragment),gr(n.params,e.params)||t.paramsSubject.next(e.params),JV(n.url,e.url)||t.urlSubject.next(e.url),gr(n.data,e.data)||t.dataSubject.next(e.data)}else t.snapshot=t._futureSnapshot,t.dataSubject.next(t._futureSnapshot.data)}function M0(t,n){let e=gr(t.params,n.params)&&nj(t.url,n.url),i=!t.parent!=!n.parent;return e&&!i&&(!t.parent||M0(t.parent,n.parent))}function eI(t){return typeof t.title=="string"||t.title===null}var tI=new B(""),Cu=(()=>{class t{activated=null;get activatedComponentRef(){return this.activated}_activatedRoute=null;name=_e;activateEvents=new P;deactivateEvents=new P;attachEvents=new P;detachEvents=new P;routerOutletData=Rn(void 0);parentContexts=S(hl);location=S(pt);changeDetector=S(it);inputBinder=S(np,{optional:!0});supportsBindingToComponentInputs=!0;ngOnChanges(e){if(e.name){let{firstChange:i,previousValue:r}=e.name;if(i)return;this.isTrackedInParentContexts(r)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(r)),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;let 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 R(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new R(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new R(4012,!1);this.location.detach();let 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){let e=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(e)}}activateWith(e,i){if(this.isActivated)throw new R(4013,!1);this._activatedRoute=e;let r=this.location,s=e.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new S0(e,a,r.injector,this.routerOutletData);this.activated=r.createComponent(s,{index:r.length,injector:l,environmentInjector:i}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static \u0275fac=function(i){return new(i||t)};static \u0275dir=H({type:t,selectors:[["router-outlet"]],inputs:{name:"name",routerOutletData:[1,"routerOutletData"]},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],features:[xe]})}return t})(),S0=class{route;childContexts;parent;outletData;constructor(n,e,i,r){this.route=n,this.childContexts=e,this.parent=i,this.outletData=r}get(n,e){return n===Gi?this.route:n===hl?this.childContexts:n===tI?this.outletData:this.parent.get(n,e)}},np=new B("");function Sj(t,n,e){let i=mu(t,n._root,e?e._root:void 0);return new fu(i,n)}function mu(t,n,e){if(e&&t.shouldReuseRoute(n.value,e.value.snapshot)){let i=e.value;i._futureSnapshot=n.value;let r=Ej(t,n,e);return new Jn(i,r)}else{if(t.shouldAttach(n.value)){let o=t.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>mu(t,a)),s}}let i=Tj(n.value),r=n.children.map(o=>mu(t,o));return new Jn(i,r)}}function Ej(t,n,e){return n.children.map(i=>{for(let r of e.children)if(t.shouldReuseRoute(i.value,r.value.snapshot))return mu(t,i,r);return mu(t,i)})}function Tj(t){return new Gi(new Pe(t.url),new Pe(t.params),new Pe(t.queryParams),new Pe(t.fragment),new Pe(t.data),t.outlet,t.component,t)}var ul=class{redirectTo;navigationBehaviorOptions;constructor(n,e){this.redirectTo=n,this.navigationBehaviorOptions=e}},nI="ngNavigationCancelingError";function Xf(t,n){let{redirectTo:e,navigationBehaviorOptions:i}=Oo(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,r=iI(!1,Vn.Redirect);return r.url=e,r.navigationBehaviorOptions=i,r}function iI(t,n){let e=new Error(`NavigationCancelingError: ${t||""}`);return e[nI]=!0,e.cancellationCode=n,e}function Ij(t){return rI(t)&&Oo(t.url)}function rI(t){return!!t&&t[nI]}var xj=(t,n,e,i)=>G(r=>(new E0(n,r.targetRouterState,r.currentRouterState,e,i).activate(t),r)),E0=class{routeReuseStrategy;futureState;currState;forwardEvent;inputBindingEnabled;constructor(n,e,i,r,o){this.routeReuseStrategy=n,this.futureState=e,this.currState=i,this.forwardEvent=r,this.inputBindingEnabled=o}activate(n){let e=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,i,n),m0(this.futureState.root),this.activateChildRoutes(e,i,n)}deactivateChildRoutes(n,e,i){let r=ol(e);n.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,r[s],i),delete r[s]}),Object.values(r).forEach(o=>{this.deactivateRouteAndItsChildren(o,i)})}deactivateRoutes(n,e,i){let r=n.value,o=e?e.value:null;if(r===o)if(r.component){let s=i.getContext(r.outlet);s&&this.deactivateChildRoutes(n,e,s.children)}else this.deactivateChildRoutes(n,e,i);else o&&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){let i=e.getContext(n.value.outlet),r=i&&n.value.component?i.children:e,o=ol(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,r);if(i&&i.outlet){let s=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,e){let i=e.getContext(n.value.outlet),r=i&&n.value.component?i.children:e,o=ol(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,r);i&&(i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated()),i.attachRef=null,i.route=null)}activateChildRoutes(n,e,i){let r=ol(e);n.children.forEach(o=>{this.activateRoutes(o,r[o.value.outlet],i),this.forwardEvent(new Qf(o.value.snapshot))}),n.children.length&&this.forwardEvent(new Gf(n.value.snapshot))}activateRoutes(n,e,i){let r=n.value,o=e?e.value:null;if(m0(r),r===o)if(r.component){let s=i.getOrCreateContext(r.outlet);this.activateChildRoutes(n,e,s.children)}else this.activateChildRoutes(n,e,i);else if(r.component){let s=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){let a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),m0(a.route.value),this.activateChildRoutes(n,null,s.children)}else s.attachRef=null,s.route=r,s.outlet&&s.outlet.activateWith(r,s.injector),this.activateChildRoutes(n,null,s.children)}else this.activateChildRoutes(n,null,i)}},ep=class{path;route;constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},al=class{component;route;constructor(n,e){this.component=n,this.route=e}};function kj(t,n,e){let i=t._root,r=n?n._root:null;return su(i,r,e,[i.value])}function Aj(t){let n=t.routeConfig?t.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:t,guards:n}}function fl(t,n){let e=Symbol(),i=n.get(t,e);return i===e?typeof t=="function"&&!rM(t)?t:n.get(t):i}function su(t,n,e,i,r={canDeactivateChecks:[],canActivateChecks:[]}){let o=ol(n);return t.children.forEach(s=>{Rj(s,o[s.value.outlet],e,i.concat([s.value]),r),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>lu(a,e.getContext(s),r)),r}function Rj(t,n,e,i,r={canDeactivateChecks:[],canActivateChecks:[]}){let o=t.value,s=n?n.value:null,a=e?e.getContext(t.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let l=Oj(s,o,o.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new ep(i)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?su(t,n,a?a.children:null,i,r):su(t,n,e,i,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new al(a.outlet.component,s))}else s&&lu(n,a,r),r.canActivateChecks.push(new ep(i)),o.component?su(t,null,a?a.children:null,i,r):su(t,null,e,i,r);return r}function Oj(t,n,e){if(typeof e=="function")return e(t,n);switch(e){case"pathParamsChange":return!As(t.url,n.url);case"pathParamsOrQueryParamsChange":return!As(t.url,n.url)||!gr(t.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!M0(t,n)||!gr(t.queryParams,n.queryParams);case"paramsChange":default:return!M0(t,n)}}function lu(t,n,e){let i=ol(t),r=t.value;Object.entries(i).forEach(([o,s])=>{r.component?n?lu(s,n.children.getContext(o),e):lu(s,null,e):lu(s,n,e)}),r.component?n&&n.outlet&&n.outlet.isActivated?e.canDeactivateChecks.push(new al(n.outlet.component,r)):e.canDeactivateChecks.push(new al(null,r)):e.canDeactivateChecks.push(new al(null,r))}function wu(t){return typeof t=="function"}function Pj(t){return typeof t=="boolean"}function Nj(t){return t&&wu(t.canLoad)}function Lj(t){return t&&wu(t.canActivate)}function Fj(t){return t&&wu(t.canActivateChild)}function Vj(t){return t&&wu(t.canDeactivate)}function jj(t){return t&&wu(t.canMatch)}function oI(t){return t instanceof Li||t?.name==="EmptyError"}var Of=Symbol("INITIAL_VALUE");function dl(){return vt(t=>go(t.map(n=>n.pipe(yt(1),ds(Of)))).pipe(G(n=>{for(let e of n)if(e!==!0){if(e===Of)return Of;if(e===!1||Hj(e))return e}return!0}),le(n=>n!==Of),yt(1)))}function Hj(t){return Oo(t)||t instanceof ul}function Bj(t,n){return ze(e=>{let{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:o,canDeactivateChecks:s}}=e;return s.length===0&&o.length===0?Q(W(E({},e),{guardsResult:!0})):Uj(s,i,r,t).pipe(ze(a=>a&&Pj(a)?$j(i,o,t,n):Q(a)),G(a=>W(E({},e),{guardsResult:a})))})}function Uj(t,n,e,i){return Ke(t).pipe(ze(r=>qj(r.component,r.route,e,n,i)),jr(r=>r!==!0,!0))}function $j(t,n,e,i){return Ke(n).pipe(yo(r=>_o(zj(r.route.parent,i),Yj(r.route,i),Gj(t,r.path,e),Wj(t,r.route,e))),jr(r=>r!==!0,!0))}function Yj(t,n){return t!==null&&n&&n(new qf(t)),Q(!0)}function zj(t,n){return t!==null&&n&&n(new Wf(t)),Q(!0)}function Wj(t,n,e){let i=n.routeConfig?n.routeConfig.canActivate:null;if(!i||i.length===0)return Q(!0);let r=i.map(o=>eh(()=>{let s=bu(n)??e,a=fl(o,s),l=Lj(a)?a.canActivate(n,t):Gn(s,()=>a(n,t));return Po(l).pipe(jr())}));return Q(r).pipe(dl())}function Gj(t,n,e){let i=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(s=>Aj(s)).filter(s=>s!==null).map(s=>eh(()=>{let a=s.guards.map(l=>{let c=bu(s.node)??e,u=fl(l,c),m=Fj(u)?u.canActivateChild(i,t):Gn(c,()=>u(i,t));return Po(m).pipe(jr())});return Q(a).pipe(dl())}));return Q(o).pipe(dl())}function qj(t,n,e,i,r){let o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;if(!o||o.length===0)return Q(!0);let s=o.map(a=>{let l=bu(n)??r,c=fl(a,l),u=Vj(c)?c.canDeactivate(t,n,e,i):Gn(l,()=>c(t,n,e,i));return Po(u).pipe(jr())});return Q(s).pipe(dl())}function Qj(t,n,e,i){let r=n.canLoad;if(r===void 0||r.length===0)return Q(!0);let o=r.map(s=>{let a=fl(s,t),l=Nj(a)?a.canLoad(n,e):Gn(t,()=>a(n,e));return Po(l)});return Q(o).pipe(dl(),sI(i))}function sI(t){return Wg(ct(n=>{if(typeof n!="boolean")throw Xf(t,n)}),G(n=>n===!0))}function Zj(t,n,e,i){let r=n.canMatch;if(!r||r.length===0)return Q(!0);let o=r.map(s=>{let a=fl(s,t),l=jj(a)?a.canMatch(n,e):Gn(t,()=>a(n,e));return Po(l)});return Q(o).pipe(dl(),sI(i))}var gu=class{segmentGroup;constructor(n){this.segmentGroup=n||null}},_u=class extends Error{urlTree;constructor(n){super(),this.urlTree=n}};function rl(t){return Ma(new gu(t))}function Kj(t){return Ma(new R(4e3,!1))}function Jj(t){return Ma(iI(!1,Vn.GuardRejected))}var T0=class{urlSerializer;urlTree;constructor(n,e){this.urlSerializer=n,this.urlTree=e}lineralizeSegments(n,e){let i=[],r=e.root;for(;;){if(i=i.concat(r.segments),r.numberOfChildren===0)return Q(i);if(r.numberOfChildren>1||!r.children[_e])return Kj(`${n.redirectTo}`);r=r.children[_e]}}applyRedirectCommands(n,e,i,r,o){if(typeof e!="string"){let a=e,{queryParams:l,fragment:c,routeConfig:u,url:m,outlet:b,params:_,data:M,title:I}=r,O=Gn(o,()=>a({params:_,data:M,queryParams:l,fragment:c,routeConfig:u,url:m,outlet:b,title:I}));if(O instanceof yr)throw new _u(O);e=O}let s=this.applyRedirectCreateUrlTree(e,this.urlSerializer.parse(e),n,i);if(e[0]==="/")throw new _u(s);return s}applyRedirectCreateUrlTree(n,e,i,r){let o=this.createSegmentGroup(n,e.root,i,r);return new yr(o,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)}createQueryParams(n,e){let i={};return Object.entries(n).forEach(([r,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);i[r]=e[a]}else i[r]=o}),i}createSegmentGroup(n,e,i,r){let o=this.createSegments(n,e.segments,i,r),s={};return Object.entries(e.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,i,r)}),new je(o,s)}createSegments(n,e,i,r){return e.map(o=>o.path[0]===":"?this.findPosParam(n,o,r):this.findOrReturn(o,i))}findPosParam(n,e,i){let r=i[e.path.substring(1)];if(!r)throw new R(4001,!1);return r}findOrReturn(n,e){let i=0;for(let r of e){if(r.path===n.path)return e.splice(i),r;i++}return n}},I0={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function Xj(t,n,e,i,r){let o=aI(t,n,e);return o.matched?(i=wj(n,i),Zj(i,n,e,r).pipe(G(s=>s===!0?o:E({},I0)))):Q(o)}function aI(t,n,e){if(n.path==="**")return eH(e);if(n.path==="")return n.pathMatch==="full"&&(t.hasChildren()||e.length>0)?E({},I0):{matched:!0,consumedSegments:[],remainingSegments:e,parameters:{},positionalParamSegments:{}};let r=(n.matcher||LT)(e,t,n);if(!r)return E({},I0);let o={};Object.entries(r.posParams??{}).forEach(([a,l])=>{o[a]=l.path});let s=r.consumed.length>0?E(E({},o),r.consumed[r.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:r.consumed,remainingSegments:e.slice(r.consumed.length),parameters:s,positionalParamSegments:r.posParams??{}}}function eH(t){return{matched:!0,parameters:t.length>0?VT(t).parameters:{},consumedSegments:t,remainingSegments:[],positionalParamSegments:{}}}function OT(t,n,e,i){return e.length>0&&iH(t,e,i)?{segmentGroup:new je(n,nH(i,new je(e,t.children))),slicedSegments:[]}:e.length===0&&rH(t,e,i)?{segmentGroup:new je(t.segments,tH(t,e,i,t.children)),slicedSegments:e}:{segmentGroup:new je(t.segments,t.children),slicedSegments:e}}function tH(t,n,e,i){let r={};for(let o of e)if(ip(t,n,o)&&!i[Wi(o)]){let s=new je([],{});r[Wi(o)]=s}return E(E({},i),r)}function nH(t,n){let e={};e[_e]=n;for(let i of t)if(i.path===""&&Wi(i)!==_e){let r=new je([],{});e[Wi(i)]=r}return e}function iH(t,n,e){return e.some(i=>ip(t,n,i)&&Wi(i)!==_e)}function rH(t,n,e){return e.some(i=>ip(t,n,i))}function ip(t,n,e){return(t.hasChildren()||n.length>0)&&e.pathMatch==="full"?!1:e.path===""}function oH(t,n,e){return n.length===0&&!t.children[e]}var x0=class{};function sH(t,n,e,i,r,o,s="emptyOnly"){return new k0(t,n,e,i,r,s,o).recognize()}var aH=31,k0=class{injector;configLoader;rootComponentType;config;urlTree;paramsInheritanceStrategy;urlSerializer;applyRedirects;absoluteRedirectCount=0;allowRedirects=!0;constructor(n,e,i,r,o,s,a){this.injector=n,this.configLoader=e,this.rootComponentType=i,this.config=r,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new T0(this.urlSerializer,this.urlTree)}noMatchError(n){return new R(4002,`'${n.segmentGroup}'`)}recognize(){let n=OT(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(G(({children:e,rootSnapshot:i})=>{let r=new Jn(i,e),o=new pu("",r),s=GT(i,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}))}match(n){let e=new Rs([],Object.freeze({}),Object.freeze(E({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),_e,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,n,_e,e).pipe(G(i=>({children:i,rootSnapshot:e})),Fi(i=>{if(i instanceof _u)return this.urlTree=i.urlTree,this.match(i.urlTree.root);throw i instanceof gu?this.noMatchError(i):i}))}processSegmentGroup(n,e,i,r,o){return i.segments.length===0&&i.hasChildren()?this.processChildren(n,e,i,o):this.processSegment(n,e,i,i.segments,r,!0,o).pipe(G(s=>s instanceof Jn?[s]:[]))}processChildren(n,e,i,r){let o=[];for(let s of Object.keys(i.children))s==="primary"?o.unshift(s):o.push(s);return Ke(o).pipe(yo(s=>{let a=i.children[s],l=Dj(e,s);return this.processSegmentGroup(n,l,a,s,r)}),yc((s,a)=>(s.push(...a),s)),vo(null),i_(),ze(s=>{if(s===null)return rl(i);let a=lI(s);return lH(a),Q(a)}))}processSegment(n,e,i,r,o,s,a){return Ke(e).pipe(yo(l=>this.processSegmentAgainstRoute(l._injector??n,e,l,i,r,o,s,a).pipe(Fi(c=>{if(c instanceof gu)return Q(null);throw c}))),jr(l=>!!l),Fi(l=>{if(oI(l))return oH(i,r,o)?Q(new x0):rl(i);throw l}))}processSegmentAgainstRoute(n,e,i,r,o,s,a,l){return Wi(i)!==s&&(s===_e||!ip(r,o,i))?rl(r):i.redirectTo===void 0?this.matchSegmentAgainstRoute(n,r,i,o,s,l):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(n,r,e,i,o,s,l):rl(r)}expandSegmentAgainstRouteUsingRedirect(n,e,i,r,o,s,a){let{matched:l,parameters:c,consumedSegments:u,positionalParamSegments:m,remainingSegments:b}=aI(e,r,o);if(!l)return rl(e);typeof r.redirectTo=="string"&&r.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>aH&&(this.allowRedirects=!1));let _=new Rs(o,c,Object.freeze(E({},this.urlTree.queryParams)),this.urlTree.fragment,PT(r),Wi(r),r.component??r._loadedComponent??null,r,NT(r)),M=Jf(_,a,this.paramsInheritanceStrategy);_.params=Object.freeze(M.params),_.data=Object.freeze(M.data);let I=this.applyRedirects.applyRedirectCommands(u,r.redirectTo,m,_,n);return this.applyRedirects.lineralizeSegments(r,I).pipe(ze(O=>this.processSegment(n,i,e,O.concat(b),s,!1,a)))}matchSegmentAgainstRoute(n,e,i,r,o,s){let a=Xj(e,i,r,n,this.urlSerializer);return i.path==="**"&&(e.children={}),a.pipe(vt(l=>l.matched?(n=i._injector??n,this.getChildConfig(n,i,r).pipe(vt(({routes:c})=>{let u=i._loadedInjector??n,{parameters:m,consumedSegments:b,remainingSegments:_}=l,M=new Rs(b,m,Object.freeze(E({},this.urlTree.queryParams)),this.urlTree.fragment,PT(i),Wi(i),i.component??i._loadedComponent??null,i,NT(i)),I=Jf(M,s,this.paramsInheritanceStrategy);M.params=Object.freeze(I.params),M.data=Object.freeze(I.data);let{segmentGroup:O,slicedSegments:V}=OT(e,b,_,c);if(V.length===0&&O.hasChildren())return this.processChildren(u,c,O,M).pipe(G(we=>new Jn(M,we)));if(c.length===0&&V.length===0)return Q(new Jn(M,[]));let de=Wi(i)===o;return this.processSegment(u,c,O,V,de?_e:o,!0,M).pipe(G(we=>new Jn(M,we instanceof Jn?[we]:[])))}))):rl(e)))}getChildConfig(n,e,i){return e.children?Q({routes:e.children,injector:n}):e.loadChildren?e._loadedRoutes!==void 0?Q({routes:e._loadedRoutes,injector:e._loadedInjector}):Qj(n,e,i,this.urlSerializer).pipe(ze(r=>r?this.configLoader.loadChildren(n,e).pipe(ct(o=>{e._loadedRoutes=o.routes,e._loadedInjector=o.injector})):Jj(e))):Q({routes:[],injector:n})}};function lH(t){t.sort((n,e)=>n.value.outlet===_e?-1:e.value.outlet===_e?1:n.value.outlet.localeCompare(e.value.outlet))}function cH(t){let n=t.value.routeConfig;return n&&n.path===""}function lI(t){let n=[],e=new Set;for(let i of t){if(!cH(i)){n.push(i);continue}let r=n.find(o=>i.value.routeConfig===o.value.routeConfig);r!==void 0?(r.children.push(...i.children),e.add(r)):n.push(i)}for(let i of e){let r=lI(i.children);n.push(new Jn(i.value,r))}return n.filter(i=>!e.has(i))}function PT(t){return t.data||{}}function NT(t){return t.resolve||{}}function uH(t,n,e,i,r,o){return ze(s=>sH(t,n,e,i,s.extractedUrl,r,o).pipe(G(({state:a,tree:l})=>W(E({},s),{targetSnapshot:a,urlAfterRedirects:l}))))}function dH(t,n){return ze(e=>{let{targetSnapshot:i,guards:{canActivateChecks:r}}=e;if(!r.length)return Q(e);let o=new Set(r.map(l=>l.route)),s=new Set;for(let l of o)if(!s.has(l))for(let c of cI(l))s.add(c);let a=0;return Ke(s).pipe(yo(l=>o.has(l)?hH(l,i,t,n):(l.data=Jf(l,l.parent,t).resolve,Q(void 0))),ct(()=>a++),Ia(1),ze(l=>a===s.size?Q(e):Mt))})}function cI(t){let n=t.children.map(e=>cI(e)).flat();return[t,...n]}function hH(t,n,e,i){let r=t.routeConfig,o=t._resolve;return r?.title!==void 0&&!eI(r)&&(o[yu]=r.title),fH(o,t,n,i).pipe(G(s=>(t._resolvedData=s,t.data=Jf(t,t.parent,e).resolve,null)))}function fH(t,n,e,i){let r=y0(t);if(r.length===0)return Q({});let o={};return Ke(r).pipe(ze(s=>pH(t[s],n,e,i).pipe(jr(),ct(a=>{if(a instanceof ul)throw Xf(new Ps,a);o[s]=a}))),Ia(1),G(()=>o),Fi(s=>oI(s)?Mt:Ma(s)))}function pH(t,n,e,i){let r=bu(n)??i,o=fl(t,r),s=o.resolve?o.resolve(n,e):Gn(r,()=>o(n,e));return Po(s)}function g0(t){return vt(n=>{let e=t(n);return e?Ke(e).pipe(G(()=>n)):Q(n)})}var R0=(()=>{class t{buildTitle(e){let i,r=e.root;for(;r!==void 0;)i=this.getResolvedTitleForRoute(r)??i,r=r.children.find(o=>o.outlet===_e);return i}getResolvedTitleForRoute(e){return e.data[yu]}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>S(uI),providedIn:"root"})}return t})(),uI=(()=>{class t extends R0{title;constructor(e){super(),this.title=e}updateTitle(e){let i=this.buildTitle(e);i!==void 0&&this.title.setTitle(i)}static \u0275fac=function(i){return new(i||t)(F(IT))};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),Du=new B("",{providedIn:"root",factory:()=>({})}),O0=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275cmp=L({type:t,selectors:[["ng-component"]],exportAs:["emptyRouterOutlet"],decls:1,vars:0,template:function(i,r){i&1&&A(0,"router-outlet")},dependencies:[Cu],encapsulation:2})}return t})();function P0(t){let n=t.children&&t.children.map(P0),e=n?W(E({},t),{children:n}):E({},t);return!e.component&&!e.loadComponent&&(n||e.loadChildren)&&e.outlet&&e.outlet!==_e&&(e.component=O0),e}var Mu=new B(""),dI=(()=>{class t{componentLoaders=new WeakMap;childrenLoaders=new WeakMap;onLoadStartListener;onLoadEndListener;compiler=S(AE);loadComponent(e){if(this.componentLoaders.get(e))return this.componentLoaders.get(e);if(e._loadedComponent)return Q(e._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(e);let i=Po(e.loadComponent()).pipe(G(fI),ct(o=>{this.onLoadEndListener&&this.onLoadEndListener(e),e._loadedComponent=o}),di(()=>{this.componentLoaders.delete(e)})),r=new va(i,()=>new X).pipe(ya());return this.componentLoaders.set(e,r),r}loadChildren(e,i){if(this.childrenLoaders.get(i))return this.childrenLoaders.get(i);if(i._loadedRoutes)return Q({routes:i._loadedRoutes,injector:i._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(i);let o=hI(i,this.compiler,e,this.onLoadEndListener).pipe(di(()=>{this.childrenLoaders.delete(i)})),s=new va(o,()=>new X).pipe(ya());return this.childrenLoaders.set(i,s),s}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function hI(t,n,e,i){return Po(t.loadChildren()).pipe(G(fI),ze(r=>r instanceof Iv||Array.isArray(r)?Q(r):Ke(n.compileModuleAsync(r))),G(r=>{i&&i(t);let o,s,a=!1;return Array.isArray(r)?(s=r,a=!0):(o=r.create(e).injector,s=o.get(Mu,[],{optional:!0,self:!0}).flat()),{routes:s.map(P0),injector:o}}))}function mH(t){return t&&typeof t=="object"&&"default"in t}function fI(t){return mH(t)?t.default:t}var rp=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>S(gH),providedIn:"root"})}return t})(),gH=(()=>{class t{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,i){return e}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),pI=new B("");var mI=new B(""),gI=(()=>{class t{currentNavigation=null;currentTransition=null;lastSuccessfulNavigation=null;events=new X;transitionAbortSubject=new X;configLoader=S(dI);environmentInjector=S(yn);destroyRef=S(Nc);urlSerializer=S(vu);rootContexts=S(hl);location=S(el);inputBindingEnabled=S(np,{optional:!0})!==null;titleStrategy=S(R0);options=S(Du,{optional:!0})||{};paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly";urlHandlingStrategy=S(rp);createViewTransition=S(pI,{optional:!0});navigationErrorHandler=S(mI,{optional:!0});navigationId=0;get hasRequestedNavigation(){return this.navigationId!==0}transitions;afterPreactivation=()=>Q(void 0);rootComponentType=null;destroyed=!1;constructor(){let e=r=>this.events.next(new Yf(r)),i=r=>this.events.next(new zf(r));this.configLoader.onLoadEndListener=i,this.configLoader.onLoadStartListener=e,this.destroyRef.onDestroy(()=>{this.destroyed=!0})}complete(){this.transitions?.complete()}handleNavigationRequest(e){let i=++this.navigationId;this.transitions?.next(W(E({},e),{extractedUrl:this.urlHandlingStrategy.extract(e.rawUrl),targetSnapshot:null,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null,id:i}))}setupNavigations(e){return this.transitions=new Pe(null),this.transitions.pipe(le(i=>i!==null),vt(i=>{let r=!1,o=!1;return Q(i).pipe(vt(s=>{if(this.navigationId>i.id)return this.cancelNavigationTransition(i,"",Vn.SupersededByNewNavigation),Mt;this.currentTransition=i,this.currentNavigation={id:s.id,initialUrl:s.rawUrl,extractedUrl:s.extractedUrl,targetBrowserUrl:typeof s.extras.browserUrl=="string"?this.urlSerializer.parse(s.extras.browserUrl):s.extras.browserUrl,trigger:s.source,extras:s.extras,previousNavigation:this.lastSuccessfulNavigation?W(E({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let a=!e.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),l=s.extras.onSameUrlNavigation??e.onSameUrlNavigation;if(!a&&l!=="reload"){let c="";return this.events.next(new Jr(s.id,this.urlSerializer.serialize(s.rawUrl),c,uu.IgnoredSameUrlNavigation)),s.resolve(!1),Mt}if(this.urlHandlingStrategy.shouldProcessUrl(s.rawUrl))return Q(s).pipe(vt(c=>(this.events.next(new Ns(c.id,this.urlSerializer.serialize(c.extractedUrl),c.source,c.restoredState)),c.id!==this.navigationId?Mt:Promise.resolve(c))),uH(this.environmentInjector,this.configLoader,this.rootComponentType,e.config,this.urlSerializer,this.paramsInheritanceStrategy),ct(c=>{i.targetSnapshot=c.targetSnapshot,i.urlAfterRedirects=c.urlAfterRedirects,this.currentNavigation=W(E({},this.currentNavigation),{finalUrl:c.urlAfterRedirects});let u=new du(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}));if(a&&this.urlHandlingStrategy.shouldProcessUrl(s.currentRawUrl)){let{id:c,extractedUrl:u,source:m,restoredState:b,extras:_}=s,M=new Ns(c,this.urlSerializer.serialize(u),m,b);this.events.next(M);let I=JT(this.rootComponentType).snapshot;return this.currentTransition=i=W(E({},s),{targetSnapshot:I,urlAfterRedirects:u,extras:W(E({},_),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=u,Q(i)}else{let c="";return this.events.next(new Jr(s.id,this.urlSerializer.serialize(s.extractedUrl),c,uu.IgnoredByUrlHandlingStrategy)),s.resolve(!1),Mt}}),ct(s=>{let a=new Hf(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot);this.events.next(a)}),G(s=>(this.currentTransition=i=W(E({},s),{guards:kj(s.targetSnapshot,s.currentSnapshot,this.rootContexts)}),i)),Bj(this.environmentInjector,s=>this.events.next(s)),ct(s=>{if(i.guardsResult=s.guardsResult,s.guardsResult&&typeof s.guardsResult!="boolean")throw Xf(this.urlSerializer,s.guardsResult);let a=new Bf(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects),s.targetSnapshot,!!s.guardsResult);this.events.next(a)}),le(s=>s.guardsResult?!0:(this.cancelNavigationTransition(s,"",Vn.GuardRejected),!1)),g0(s=>{if(s.guards.canActivateChecks.length!==0)return Q(s).pipe(ct(a=>{let l=new Uf(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}),vt(a=>{let l=!1;return Q(a).pipe(dH(this.paramsInheritanceStrategy,this.environmentInjector),ct({next:()=>l=!0,complete:()=>{l||this.cancelNavigationTransition(a,"",Vn.NoDataFromResolver)}}))}),ct(a=>{let l=new $f(a.id,this.urlSerializer.serialize(a.extractedUrl),this.urlSerializer.serialize(a.urlAfterRedirects),a.targetSnapshot);this.events.next(l)}))}),g0(s=>{let a=l=>{let c=[];l.routeConfig?.loadComponent&&!l.routeConfig._loadedComponent&&c.push(this.configLoader.loadComponent(l.routeConfig).pipe(ct(u=>{l.component=u}),G(()=>{})));for(let u of l.children)c.push(...a(u));return c};return go(a(s.targetSnapshot.root)).pipe(vo(null),yt(1))}),g0(()=>this.afterPreactivation()),vt(()=>{let{currentSnapshot:s,targetSnapshot:a}=i,l=this.createViewTransition?.(this.environmentInjector,s.root,a.root);return l?Ke(l).pipe(G(()=>i)):Q(i)}),G(s=>{let a=Sj(e.routeReuseStrategy,s.targetSnapshot,s.currentRouterState);return this.currentTransition=i=W(E({},s),{targetRouterState:a}),this.currentNavigation.targetRouterState=a,i}),ct(()=>{this.events.next(new hu)}),xj(this.rootContexts,e.routeReuseStrategy,s=>this.events.next(s),this.inputBindingEnabled),yt(1),ct({next:s=>{r=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new vr(s.id,this.urlSerializer.serialize(s.extractedUrl),this.urlSerializer.serialize(s.urlAfterRedirects))),this.titleStrategy?.updateTitle(s.targetRouterState.snapshot),s.resolve(!0)},complete:()=>{r=!0}}),hi(this.transitionAbortSubject.pipe(ct(s=>{throw s}))),di(()=>{!r&&!o&&this.cancelNavigationTransition(i,"",Vn.SupersededByNewNavigation),this.currentTransition?.id===i.id&&(this.currentNavigation=null,this.currentTransition=null)}),Fi(s=>{if(this.destroyed)return i.resolve(!1),Mt;if(o=!0,rI(s))this.events.next(new _r(i.id,this.urlSerializer.serialize(i.extractedUrl),s.message,s.cancellationCode)),Ij(s)?this.events.next(new cl(s.url,s.navigationBehaviorOptions)):i.resolve(!1);else{let a=new ll(i.id,this.urlSerializer.serialize(i.extractedUrl),s,i.targetSnapshot??void 0);try{let l=Gn(this.environmentInjector,()=>this.navigationErrorHandler?.(a));if(l instanceof ul){let{message:c,cancellationCode:u}=Xf(this.urlSerializer,l);this.events.next(new _r(i.id,this.urlSerializer.serialize(i.extractedUrl),c,u)),this.events.next(new cl(l.redirectTo,l.navigationBehaviorOptions))}else throw this.events.next(a),s}catch(l){this.options.resolveNavigationPromiseOnError?i.resolve(!1):i.reject(l)}}return Mt}))}))}cancelNavigationTransition(e,i,r){let o=new _r(e.id,this.urlSerializer.serialize(e.extractedUrl),i,r);this.events.next(o),e.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let e=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),i=this.currentNavigation?.targetBrowserUrl??this.currentNavigation?.extractedUrl;return e.toString()!==i?.toString()&&!this.currentNavigation?.extras.skipLocationChange}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function _H(t){return t!==Ff}var _I=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>S(yH),providedIn:"root"})}return t})(),tp=class{shouldDetach(n){return!1}store(n,e){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,e){return n.routeConfig===e.routeConfig}},yH=(()=>{class t extends tp{static \u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),yI=(()=>{class t{urlSerializer=S(vu);options=S(Du,{optional:!0})||{};canceledNavigationResolution=this.options.canceledNavigationResolution||"replace";location=S(el);urlHandlingStrategy=S(rp);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";currentUrlTree=new yr;getCurrentUrlTree(){return this.currentUrlTree}rawUrlTree=this.currentUrlTree;getRawUrlTree(){return this.rawUrlTree}createBrowserPath({finalUrl:e,initialUrl:i,targetBrowserUrl:r}){let o=e!==void 0?this.urlHandlingStrategy.merge(e,i):i,s=r??o;return s instanceof yr?this.urlSerializer.serialize(s):s}commitTransition({targetRouterState:e,finalUrl:i,initialUrl:r}){i&&e?(this.currentUrlTree=i,this.rawUrlTree=this.urlHandlingStrategy.merge(i,r),this.routerState=e):this.rawUrlTree=r}routerState=JT(null);getRouterState(){return this.routerState}stateMemento=this.createStateMemento();updateStateMemento(){this.stateMemento=this.createStateMemento()}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}resetInternalState({finalUrl:e}){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,e??this.rawUrlTree)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>S(vH),providedIn:"root"})}return t})(),vH=(()=>{class t extends yI{currentPageId=0;lastSuccessfulId=-1;restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}registerNonRouterCurrentEntryChangeListener(e){return this.location.subscribe(i=>{i.type==="popstate"&&setTimeout(()=>{e(i.url,i.state,"popstate")})})}handleRouterEvent(e,i){e instanceof Ns?this.updateStateMemento():e instanceof Jr?this.commitTransition(i):e instanceof du?this.urlUpdateStrategy==="eager"&&(i.extras.skipLocationChange||this.setBrowserUrl(this.createBrowserPath(i),i)):e instanceof hu?(this.commitTransition(i),this.urlUpdateStrategy==="deferred"&&!i.extras.skipLocationChange&&this.setBrowserUrl(this.createBrowserPath(i),i)):e instanceof _r&&(e.code===Vn.GuardRejected||e.code===Vn.NoDataFromResolver)?this.restoreHistory(i):e instanceof ll?this.restoreHistory(i,!0):e instanceof vr&&(this.lastSuccessfulId=e.id,this.currentPageId=this.browserPageId)}setBrowserUrl(e,{extras:i,id:r}){let{replaceUrl:o,state:s}=i;if(this.location.isCurrentPathEqualTo(e)||o){let a=this.browserPageId,l=E(E({},s),this.generateNgRouterState(r,a));this.location.replaceState(e,"",l)}else{let a=E(E({},s),this.generateNgRouterState(r,this.browserPageId+1));this.location.go(e,"",a)}}restoreHistory(e,i=!1){if(this.canceledNavigationResolution==="computed"){let r=this.browserPageId,o=this.currentPageId-r;o!==0?this.location.historyGo(o):this.getCurrentUrlTree()===e.finalUrl&&o===0&&(this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(i&&this.resetInternalState(e),this.resetUrlToCurrentUrlTree())}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.getRawUrlTree()),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(e,i){return this.canceledNavigationResolution==="computed"?{navigationId:e,\u0275routerPageId:i}:{navigationId:e}}static \u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function N0(t,n){t.events.pipe(le(e=>e instanceof vr||e instanceof _r||e instanceof ll||e instanceof Jr),G(e=>e instanceof vr||e instanceof Jr?0:(e instanceof _r?e.code===Vn.Redirect||e.code===Vn.SupersededByNewNavigation:!1)?2:1),le(e=>e!==2),yt(1)).subscribe(()=>{n()})}var bH={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},CH={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},sn=(()=>{class t{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}disposed=!1;nonRouterCurrentEntryChangeSubscription;console=S(Av);stateManager=S(yI);options=S(Du,{optional:!0})||{};pendingTasks=S(Mo);urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred";navigationTransitions=S(gI);urlSerializer=S(vu);location=S(el);urlHandlingStrategy=S(rp);_events=new X;get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}navigated=!1;routeReuseStrategy=S(_I);onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore";config=S(Mu,{optional:!0})?.flat()??[];componentInputBindingEnabled=!!S(np,{optional:!0});constructor(){this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this).subscribe({error:e=>{this.console.warn(e)}}),this.subscribeToNavigationEvents()}eventsSubscription=new Ue;subscribeToNavigationEvents(){let e=this.navigationTransitions.events.subscribe(i=>{try{let r=this.navigationTransitions.currentTransition,o=this.navigationTransitions.currentNavigation;if(r!==null&&o!==null){if(this.stateManager.handleRouterEvent(i,o),i instanceof _r&&i.code!==Vn.Redirect&&i.code!==Vn.SupersededByNewNavigation)this.navigated=!0;else if(i instanceof vr)this.navigated=!0;else if(i instanceof cl){let s=i.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(i.url,r.currentRawUrl),l=E({browserUrl:r.extras.browserUrl,info:r.extras.info,skipLocationChange:r.extras.skipLocationChange,replaceUrl:r.extras.replaceUrl||this.urlUpdateStrategy==="eager"||_H(r.source)},s);this.scheduleNavigation(a,Ff,null,l,{resolve:r.resolve,reject:r.reject,promise:r.promise})}}DH(i)&&this._events.next(i)}catch(r){this.navigationTransitions.transitionAbortSubject.next(r)}});this.eventsSubscription.add(e)}resetRootComponentType(e){this.routerState.root.component=e,this.navigationTransitions.rootComponentType=e}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),Ff,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((e,i,r)=>{this.navigateToSyncWithBrowser(e,r,i)})}navigateToSyncWithBrowser(e,i,r){let o={replaceUrl:!0},s=r?.navigationId?r:null;if(r){let l=E({},r);delete l.navigationId,delete l.\u0275routerPageId,Object.keys(l).length!==0&&(o.state=l)}let a=this.parseUrl(e);this.scheduleNavigation(a,i,s,o)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(e){this.config=e.map(P0),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this._events.unsubscribe(),this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(e,i={}){let{relativeTo:r,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:l}=i,c=l?this.currentUrlTree.fragment:s,u=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":u=E(E({},this.currentUrlTree.queryParams),o);break;case"preserve":u=this.currentUrlTree.queryParams;break;default:u=o||null}u!==null&&(u=this.removeEmptyProps(u));let m;try{let b=r?r.snapshot:this.routerState.snapshot.root;m=qT(b)}catch{(typeof e[0]!="string"||e[0][0]!=="/")&&(e=[]),m=this.currentUrlTree.root}return QT(m,e,u,c??null)}navigateByUrl(e,i={skipLocationChange:!1}){let r=Oo(e)?e:this.parseUrl(e),o=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(o,Ff,null,i)}navigate(e,i={skipLocationChange:!1}){return wH(e),this.navigateByUrl(this.createUrlTree(e,i),i)}serializeUrl(e){return this.urlSerializer.serialize(e)}parseUrl(e){try{return this.urlSerializer.parse(e)}catch{return this.urlSerializer.parse("/")}}isActive(e,i){let r;if(i===!0?r=E({},bH):i===!1?r=E({},CH):r=i,Oo(e))return xT(this.currentUrlTree,e,r);let o=this.parseUrl(e);return xT(this.currentUrlTree,o,r)}removeEmptyProps(e){return Object.entries(e).reduce((i,[r,o])=>(o!=null&&(i[r]=o),i),{})}scheduleNavigation(e,i,r,o,s){if(this.disposed)return Promise.resolve(!1);let a,l,c;s?(a=s.resolve,l=s.reject,c=s.promise):c=new Promise((m,b)=>{a=m,l=b});let u=this.pendingTasks.add();return N0(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(u))}),this.navigationTransitions.handleNavigationRequest({source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:e,extras:o,resolve:a,reject:l,promise:c,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),c.catch(m=>Promise.reject(m))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function wH(t){for(let n=0;n{class t{router;route;tabIndexAttribute;renderer;el;locationStrategy;href=null;target;queryParams;fragment;queryParamsHandling;state;info;relativeTo;isAnchorElement;subscription;onChanges=new X;constructor(e,i,r,o,s,a){this.router=e,this.route=i,this.tabIndexAttribute=r,this.renderer=o,this.el=s,this.locationStrategy=a;let l=s.nativeElement.tagName?.toLowerCase();this.isAnchorElement=l==="a"||l==="area",this.isAnchorElement?this.subscription=e.events.subscribe(c=>{c instanceof vr&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}preserveFragment=!1;skipLocationChange=!1;replaceUrl=!1;setTabIndexIfNotOnNativeEl(e){this.tabIndexAttribute!=null||this.isAnchorElement||this.applyAttributeValue("tabindex",e)}ngOnChanges(e){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}routerLinkInput=null;set routerLink(e){e==null?(this.routerLinkInput=null,this.setTabIndexIfNotOnNativeEl(null)):(Oo(e)?this.routerLinkInput=e:this.routerLinkInput=Array.isArray(e)?e:[e],this.setTabIndexIfNotOnNativeEl("0"))}onClick(e,i,r,o,s){let a=this.urlTree;if(a===null||this.isAnchorElement&&(e!==0||i||r||o||s||typeof this.target=="string"&&this.target!="_self"))return!0;let l={skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state,info:this.info};return this.router.navigateByUrl(a,l),!this.isAnchorElement}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){let e=this.urlTree;this.href=e!==null&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(e)):null;let i=this.href===null?null:IS(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",i)}applyAttributeValue(e,i){let r=this.renderer,o=this.el.nativeElement;i!==null?r.setAttribute(o,e,i):r.removeAttribute(o,e)}get urlTree(){return this.routerLinkInput===null?null:Oo(this.routerLinkInput)?this.routerLinkInput:this.router.createUrlTree(this.routerLinkInput,{relativeTo:this.relativeTo!==void 0?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}static \u0275fac=function(i){return new(i||t)(y(sn),y(Gi),iv("tabindex"),y(ke),y($),y(Xa))};static \u0275dir=H({type:t,selectors:[["","routerLink",""]],hostVars:1,hostBindings:function(i,r){i&1&&D("click",function(s){return r.onClick(s.button,s.ctrlKey,s.shiftKey,s.altKey,s.metaKey)}),i&2&&J("target",r.target)},inputs:{target:"target",queryParams:"queryParams",fragment:"fragment",queryParamsHandling:"queryParamsHandling",state:"state",info:"info",relativeTo:"relativeTo",preserveFragment:[2,"preserveFragment","preserveFragment",Xe],skipLocationChange:[2,"skipLocationChange","skipLocationChange",Xe],replaceUrl:[2,"replaceUrl","replaceUrl",Xe],routerLink:"routerLink"},features:[xe]})}return t})();var SH=new B("");function L0(t,...n){return Do([{provide:Mu,multi:!0,useValue:t},[],{provide:Gi,useFactory:EH,deps:[sn]},{provide:Ov,multi:!0,useFactory:TH},n.map(e=>e.\u0275providers)])}function EH(t){return t.routerState.root}function TH(){let t=S(kt);return n=>{let e=t.get(kn);if(n!==e.components[0])return;let i=t.get(sn),r=t.get(IH);t.get(xH)===1&&i.initialNavigation(),t.get(kH,null,Ce.Optional)?.setUpPreloading(),t.get(SH,null,Ce.Optional)?.init(),i.resetRootComponentType(e.componentTypes[0]),r.closed||(r.next(),r.complete(),r.unsubscribe())}}var IH=new B("",{factory:()=>new X}),xH=new B("",{providedIn:"root",factory:()=>1});var kH=new B("");var TI=(()=>{class t{_renderer;_elementRef;onChange=e=>{};onTouched=()=>{};constructor(e,i){this._renderer=e,this._elementRef=i}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)}static \u0275fac=function(i){return new(i||t)(y(ke),y($))};static \u0275dir=H({type:t})}return t})(),_l=(()=>{class t extends TI{static \u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275dir=H({type:t,features:[Ct]})}return t})(),It=new B(""),RH={provide:It,useExisting:He(()=>H0),multi:!0},H0=(()=>{class t extends _l{writeValue(e){this.setProperty("checked",e)}static \u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275dir=H({type:t,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(i,r){i&1&&D("change",function(s){return r.onChange(s.target.checked)})("blur",function(){return r.onTouched()})},standalone:!1,features:[ce([RH]),Ct]})}return t})(),OH={provide:It,useExisting:He(()=>en),multi:!0};function PH(){let t=yi()?yi().getUserAgent():"";return/android (\d+)/.test(t.toLowerCase())}var NH=new B(""),en=(()=>{class t extends TI{_compositionMode;_composing=!1;constructor(e,i,r){super(e,i),this._compositionMode=r,this._compositionMode==null&&(this._compositionMode=!PH())}writeValue(e){let i=e??"";this.setProperty("value",i)}_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)}static \u0275fac=function(i){return new(i||t)(y(ke),y($),y(NH,8))};static \u0275dir=H({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(i,r){i&1&&D("input",function(s){return r._handleInput(s.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(s){return r._compositionEnd(s.target.value)})},standalone:!1,features:[ce([OH]),Ct]})}return t})();function B0(t){return t==null||U0(t)===0}function U0(t){return t==null?null:Array.isArray(t)||typeof t=="string"?t.length:t instanceof Set?t.size:null}var eo=new B(""),Ru=new B(""),LH=/^(?=.{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])?)*$/,Ci=class{static min(n){return FH(n)}static max(n){return VH(n)}static required(n){return II(n)}static requiredTrue(n){return jH(n)}static email(n){return HH(n)}static minLength(n){return BH(n)}static maxLength(n){return UH(n)}static pattern(n){return $H(n)}static nullValidator(n){return sp()}static compose(n){return PI(n)}static composeAsync(n){return NI(n)}};function FH(t){return n=>{if(n.value==null||t==null)return null;let e=parseFloat(n.value);return!isNaN(e)&&e{if(n.value==null||t==null)return null;let e=parseFloat(n.value);return!isNaN(e)&&e>t?{max:{max:t,actual:n.value}}:null}}function II(t){return B0(t.value)?{required:!0}:null}function jH(t){return t.value===!0?null:{required:!0}}function HH(t){return B0(t.value)||LH.test(t.value)?null:{email:!0}}function BH(t){return n=>{let e=n.value?.length??U0(n.value);return e===null||e===0?null:e{let e=n.value?.length??U0(n.value);return e!==null&&e>t?{maxlength:{requiredLength:t,actualLength:e}}:null}}function $H(t){if(!t)return sp;let n,e;return typeof t=="string"?(e="",t.charAt(0)!=="^"&&(e+="^"),e+=t,t.charAt(t.length-1)!=="$"&&(e+="$"),n=new RegExp(e)):(e=t.toString(),n=t),i=>{if(B0(i.value))return null;let r=i.value;return n.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}function sp(t){return null}function xI(t){return t!=null}function kI(t){return To(t)?Ke(t):t}function AI(t){let n={};return t.forEach(e=>{n=e!=null?E(E({},n),e):n}),Object.keys(n).length===0?null:n}function RI(t,n){return n.map(e=>e(t))}function YH(t){return!t.validate}function OI(t){return t.map(n=>YH(n)?n:e=>n.validate(e))}function PI(t){if(!t)return null;let n=t.filter(xI);return n.length==0?null:function(e){return AI(RI(e,n))}}function $0(t){return t!=null?PI(OI(t)):null}function NI(t){if(!t)return null;let n=t.filter(xI);return n.length==0?null:function(e){let i=RI(e,n).map(kI);return t_(i).pipe(G(AI))}}function Y0(t){return t!=null?NI(OI(t)):null}function vI(t,n){return t===null?[n]:Array.isArray(t)?[...t,n]:[t,n]}function LI(t){return t._rawValidators}function FI(t){return t._rawAsyncValidators}function F0(t){return t?Array.isArray(t)?t:[t]:[]}function ap(t,n){return Array.isArray(t)?t.includes(n):t===n}function bI(t,n){let e=F0(n);return F0(t).forEach(r=>{ap(e,r)||e.push(r)}),e}function CI(t,n){return F0(n).filter(e=>!ap(t,e))}var lp=class{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}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(n){this._rawValidators=n||[],this._composedValidatorFn=$0(this._rawValidators)}_setAsyncValidators(n){this._rawAsyncValidators=n||[],this._composedAsyncValidatorFn=Y0(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_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):!1}getError(n,e){return this.control?this.control.getError(n,e):null}},Xr=class extends lp{name;get formDirective(){return null}get path(){return null}},jn=class extends lp{_parent=null;name=null;valueAccessor=null},cp=class{_cd;constructor(n){this._cd=n}get isTouched(){return this._cd?.control?._touched?.(),!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return this._cd?.control?._pristine?.(),!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return this._cd?.control?._status?.(),!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return this._cd?._submitted?.(),!!this._cd?.submitted}},zH={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},Pie=W(E({},zH),{"[class.ng-submitted]":"isSubmitted"}),Nt=(()=>{class t extends cp{constructor(e){super(e)}static \u0275fac=function(i){return new(i||t)(y(jn,2))};static \u0275dir=H({type:t,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){i&2&&j("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},standalone:!1,features:[Ct]})}return t})(),Cr=(()=>{class t extends cp{constructor(e){super(e)}static \u0275fac=function(i){return new(i||t)(y(Xr,10))};static \u0275dir=H({type:t,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){i&2&&j("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},standalone:!1,features:[Ct]})}return t})();var Su="VALID",op="INVALID",pl="PENDING",Eu="DISABLED",No=class{},up=class extends No{value;source;constructor(n,e){super(),this.value=n,this.source=e}},Iu=class extends No{pristine;source;constructor(n,e){super(),this.pristine=n,this.source=e}},xu=class extends No{touched;source;constructor(n,e){super(),this.touched=n,this.source=e}},ml=class extends No{status;source;constructor(n,e){super(),this.status=n,this.source=e}},dp=class extends No{source;constructor(n){super(),this.source=n}},hp=class extends No{source;constructor(n){super(),this.source=n}};function z0(t){return(gp(t)?t.validators:t)||null}function WH(t){return Array.isArray(t)?$0(t):t||null}function W0(t,n){return(gp(n)?n.asyncValidators:t)||null}function GH(t){return Array.isArray(t)?Y0(t):t||null}function gp(t){return t!=null&&!Array.isArray(t)&&typeof t=="object"}function VI(t,n,e){let i=t.controls;if(!(n?Object.keys(i):i).length)throw new R(1e3,"");if(!i[e])throw new R(1001,"")}function jI(t,n,e){t._forEachChild((i,r)=>{if(e[r]===void 0)throw new R(1002,"")})}var gl=class{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(n,e){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 status(){return _i(this.statusReactive)}set status(n){_i(()=>this.statusReactive.set(n))}_status=$i(()=>this.statusReactive());statusReactive=ht(void 0);get valid(){return this.status===Su}get invalid(){return this.status===op}get pending(){return this.status==pl}get disabled(){return this.status===Eu}get enabled(){return this.status!==Eu}errors;get pristine(){return _i(this.pristineReactive)}set pristine(n){_i(()=>this.pristineReactive.set(n))}_pristine=$i(()=>this.pristineReactive());pristineReactive=ht(!0);get dirty(){return!this.pristine}get touched(){return _i(this.touchedReactive)}set touched(n){_i(()=>this.touchedReactive.set(n))}_touched=$i(()=>this.touchedReactive());touchedReactive=ht(!1);get untouched(){return!this.touched}_events=new X;events=this._events.asObservable();valueChanges;statusChanges;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(bI(n,this._rawValidators))}addAsyncValidators(n){this.setAsyncValidators(bI(n,this._rawAsyncValidators))}removeValidators(n){this.setValidators(CI(n,this._rawValidators))}removeAsyncValidators(n){this.setAsyncValidators(CI(n,this._rawAsyncValidators))}hasValidator(n){return ap(this._rawValidators,n)}hasAsyncValidator(n){return ap(this._rawAsyncValidators,n)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(n={}){let e=this.touched===!1;this.touched=!0;let i=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsTouched(W(E({},n),{sourceControl:i})),e&&n.emitEvent!==!1&&this._events.next(new xu(!0,i))}markAllAsTouched(n={}){this.markAsTouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsTouched(n))}markAsUntouched(n={}){let e=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let i=n.sourceControl??this;this._forEachChild(r=>{r.markAsUntouched({onlySelf:!0,emitEvent:n.emitEvent,sourceControl:i})}),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,i),e&&n.emitEvent!==!1&&this._events.next(new xu(!1,i))}markAsDirty(n={}){let e=this.pristine===!0;this.pristine=!1;let i=n.sourceControl??this;this._parent&&!n.onlySelf&&this._parent.markAsDirty(W(E({},n),{sourceControl:i})),e&&n.emitEvent!==!1&&this._events.next(new Iu(!1,i))}markAsPristine(n={}){let e=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let i=n.sourceControl??this;this._forEachChild(r=>{r.markAsPristine({onlySelf:!0,emitEvent:n.emitEvent})}),this._parent&&!n.onlySelf&&this._parent._updatePristine(n,i),e&&n.emitEvent!==!1&&this._events.next(new Iu(!0,i))}markAsPending(n={}){this.status=pl;let e=n.sourceControl??this;n.emitEvent!==!1&&(this._events.next(new ml(this.status,e)),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.markAsPending(W(E({},n),{sourceControl:e}))}disable(n={}){let e=this._parentMarkedDirty(n.onlySelf);this.status=Eu,this.errors=null,this._forEachChild(r=>{r.disable(W(E({},n),{onlySelf:!0}))}),this._updateValue();let i=n.sourceControl??this;n.emitEvent!==!1&&(this._events.next(new up(this.value,i)),this._events.next(new ml(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(W(E({},n),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(r=>r(!0))}enable(n={}){let e=this._parentMarkedDirty(n.onlySelf);this.status=Su,this._forEachChild(i=>{i.enable(W(E({},n),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent}),this._updateAncestors(W(E({},n),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(n,e){this._parent&&!n.onlySelf&&(this._parent.updateValueAndValidity(n),n.skipPristineCheck||this._parent._updatePristine({},e),this._parent._updateTouched({},e))}setParent(n){this._parent=n}getRawValue(){return this.value}updateValueAndValidity(n={}){if(this._setInitialStatus(),this._updateValue(),this.enabled){let i=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Su||this.status===pl)&&this._runAsyncValidator(i,n.emitEvent)}let e=n.sourceControl??this;n.emitEvent!==!1&&(this._events.next(new up(this.value,e)),this._events.next(new ml(this.status,e)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!n.onlySelf&&this._parent.updateValueAndValidity(W(E({},n),{sourceControl:e}))}_updateTreeValidity(n={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(n)),this.updateValueAndValidity({onlySelf:!0,emitEvent:n.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Eu:Su}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(n,e){if(this.asyncValidator){this.status=pl,this._hasOwnPendingAsyncValidator={emitEvent:e!==!1};let i=kI(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(r=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(r,{emitEvent:e,shouldHaveEmitted:n})})}}_cancelExistingSubscription(){if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let n=this._hasOwnPendingAsyncValidator?.emitEvent??!1;return this._hasOwnPendingAsyncValidator=null,n}return!1}setErrors(n,e={}){this.errors=n,this._updateControlsErrors(e.emitEvent!==!1,this,e.shouldHaveEmitted)}get(n){let e=n;return e==null||(Array.isArray(e)||(e=e.split(".")),e.length===0)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(n,e){let 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,e,i){this.status=this._calculateStatus(),n&&this.statusChanges.emit(this.status),(n||i)&&this._events.next(new ml(this.status,e)),this._parent&&this._parent._updateControlsErrors(n,e,i)}_initObservables(){this.valueChanges=new P,this.statusChanges=new P}_calculateStatus(){return this._allControlsDisabled()?Eu:this.errors?op:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(pl)?pl:this._anyControlsHaveStatus(op)?op:Su}_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,e){let i=!this._anyControlsDirty(),r=this.pristine!==i;this.pristine=i,this._parent&&!n.onlySelf&&this._parent._updatePristine(n,e),r&&this._events.next(new Iu(this.pristine,e))}_updateTouched(n={},e){this.touched=this._anyControlsTouched(),this._events.next(new xu(this.touched,e)),this._parent&&!n.onlySelf&&this._parent._updateTouched(n,e)}_onDisabledChange=[];_registerOnCollectionChange(n){this._onCollectionChange=n}_setUpdateStrategy(n){gp(n)&&n.updateOn!=null&&(this._updateOn=n.updateOn)}_parentMarkedDirty(n){let e=this._parent&&this._parent.dirty;return!n&&!!e&&!this._parent._anyControlsDirty()}_find(n){return null}_assignValidators(n){this._rawValidators=Array.isArray(n)?n.slice():n,this._composedValidatorFn=WH(this._rawValidators)}_assignAsyncValidators(n){this._rawAsyncValidators=Array.isArray(n)?n.slice():n,this._composedAsyncValidatorFn=GH(this._rawAsyncValidators)}},Lo=class extends gl{constructor(n,e,i){super(z0(e),W0(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;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={}){jI(this,!0,n),Object.keys(n).forEach(i=>{VI(this,!0,i),this.controls[i].setValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){n!=null&&(Object.keys(n).forEach(i=>{let r=this.controls[i];r&&r.patchValue(n[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n={},e={}){this._forEachChild((i,r)=>{i.reset(n?n[r]:null,{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),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()?!0:e);return n&&this.updateValueAndValidity({onlySelf:!0}),n}_forEachChild(n){Object.keys(this.controls).forEach(e=>{let 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(let[e,i]of Object.entries(this.controls))if(this.contains(e)&&n(i))return!0;return!1}_reduceValue(){let n={};return this._reduceChildren(n,(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(n,e){let i=n;return this._forEachChild((r,o)=>{i=e(i,r,o)}),i}_allControlsDisabled(){for(let 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}};var V0=class extends Lo{};var Ls=new B("",{providedIn:"root",factory:()=>Ou}),Ou="always";function HI(t,n){return[...n.path,t]}function Au(t,n,e=Ou){G0(t,n),n.valueAccessor.writeValue(t.value),(t.disabled||e==="always")&&n.valueAccessor.setDisabledState?.(t.disabled),QH(t,n),KH(t,n),ZH(t,n),qH(t,n)}function fp(t,n,e=!0){let i=()=>{};n.valueAccessor&&(n.valueAccessor.registerOnChange(i),n.valueAccessor.registerOnTouched(i)),mp(t,n),t&&(n._invokeOnDestroyCallbacks(),t._registerOnCollectionChange(()=>{}))}function pp(t,n){t.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(n)})}function qH(t,n){if(n.valueAccessor.setDisabledState){let e=i=>{n.valueAccessor.setDisabledState(i)};t.registerOnDisabledChange(e),n._registerOnDestroy(()=>{t._unregisterOnDisabledChange(e)})}}function G0(t,n){let e=LI(t);n.validator!==null?t.setValidators(vI(e,n.validator)):typeof e=="function"&&t.setValidators([e]);let i=FI(t);n.asyncValidator!==null?t.setAsyncValidators(vI(i,n.asyncValidator)):typeof i=="function"&&t.setAsyncValidators([i]);let r=()=>t.updateValueAndValidity();pp(n._rawValidators,r),pp(n._rawAsyncValidators,r)}function mp(t,n){let e=!1;if(t!==null){if(n.validator!==null){let r=LI(t);if(Array.isArray(r)&&r.length>0){let o=r.filter(s=>s!==n.validator);o.length!==r.length&&(e=!0,t.setValidators(o))}}if(n.asyncValidator!==null){let r=FI(t);if(Array.isArray(r)&&r.length>0){let o=r.filter(s=>s!==n.asyncValidator);o.length!==r.length&&(e=!0,t.setAsyncValidators(o))}}}let i=()=>{};return pp(n._rawValidators,i),pp(n._rawAsyncValidators,i),e}function QH(t,n){n.valueAccessor.registerOnChange(e=>{t._pendingValue=e,t._pendingChange=!0,t._pendingDirty=!0,t.updateOn==="change"&&BI(t,n)})}function ZH(t,n){n.valueAccessor.registerOnTouched(()=>{t._pendingTouched=!0,t.updateOn==="blur"&&t._pendingChange&&BI(t,n),t.updateOn!=="submit"&&t.markAsTouched()})}function BI(t,n){t._pendingDirty&&t.markAsDirty(),t.setValue(t._pendingValue,{emitModelToViewChange:!1}),n.viewToModelUpdate(t._pendingValue),t._pendingChange=!1}function KH(t,n){let e=(i,r)=>{n.valueAccessor.writeValue(i),r&&n.viewToModelUpdate(i)};t.registerOnChange(e),n._registerOnDestroy(()=>{t._unregisterOnChange(e)})}function UI(t,n){t==null,G0(t,n)}function JH(t,n){return mp(t,n)}function q0(t,n){if(!t.hasOwnProperty("model"))return!1;let e=t.model;return e.isFirstChange()?!0:!Object.is(n,e.currentValue)}function XH(t){return Object.getPrototypeOf(t.constructor)===_l}function $I(t,n){t._syncPendingControls(),n.forEach(e=>{let i=e.control;i.updateOn==="submit"&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function Q0(t,n){if(!n)return null;Array.isArray(n);let e,i,r;return n.forEach(o=>{o.constructor===en?e=o:XH(o)?i=o:r=o}),r||i||e||null}function eB(t,n){let e=t.indexOf(n);e>-1&&t.splice(e,1)}var tB={provide:Xr,useExisting:He(()=>to)},Tu=Promise.resolve(),to=(()=>{class t extends Xr{callSetDisabledState;get submitted(){return _i(this.submittedReactive)}_submitted=$i(()=>this.submittedReactive());submittedReactive=ht(!1);_directives=new Set;form;ngSubmit=new P;options;constructor(e,i,r){super(),this.callSetDisabledState=r,this.form=new Lo({},$0(e),Y0(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){Tu.then(()=>{let i=this._findContainer(e.path);e.control=i.registerControl(e.name,e.control),Au(e.control,e,this.callSetDisabledState),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){Tu.then(()=>{let i=this._findContainer(e.path);i&&i.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){Tu.then(()=>{let i=this._findContainer(e.path),r=new Lo({});UI(r,e),i.registerControl(e.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){Tu.then(()=>{let i=this._findContainer(e.path);i&&i.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,i){Tu.then(()=>{this.form.get(e.path).setValue(i)})}setValue(e){this.control.setValue(e)}onSubmit(e){return this.submittedReactive.set(!0),$I(this.form,this._directives),this.ngSubmit.emit(e),this.form._events.next(new dp(this.control)),e?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submittedReactive.set(!1),this.form._events.next(new hp(this.form))}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}static \u0275fac=function(i){return new(i||t)(y(eo,10),y(Ru,10),y(Ls,8))};static \u0275dir=H({type:t,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){i&1&&D("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[ce([tB]),Ct]})}return t})();function wI(t,n){let e=t.indexOf(n);e>-1&&t.splice(e,1)}function DI(t){return typeof t=="object"&&t!==null&&Object.keys(t).length===2&&"value"in t&&"disabled"in t}var ku=class extends gl{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(n=null,e,i){super(z0(e),W0(i,e)),this._applyFormState(n),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),gp(e)&&(e.nonNullable||e.initialValueIsDefault)&&(DI(n)?this.defaultValue=n.value:this.defaultValue=n)}setValue(n,e={}){this.value=this._pendingValue=n,this._onChange.length&&e.emitModelToViewChange!==!1&&this._onChange.forEach(i=>i(this.value,e.emitViewToModelChange!==!1)),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){wI(this._onChange,n)}registerOnDisabledChange(n){this._onDisabledChange.push(n)}_unregisterOnDisabledChange(n){wI(this._onDisabledChange,n)}_forEachChild(n){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(n){DI(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}};var nB=t=>t instanceof ku;var iB={provide:jn,useExisting:He(()=>wn)},MI=Promise.resolve(),wn=(()=>{class t extends jn{_changeDetectorRef;callSetDisabledState;control=new ku;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new P;constructor(e,i,r,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=Q0(this,o)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){let i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),q0(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){Au(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._checkName()}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(e){MI.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){let i=e.isDisabled.currentValue,r=i!==0&&Xe(i);MI.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?HI(e,this._parent):[e]}static \u0275fac=function(i){return new(i||t)(y(Xr,9),y(eo,10),y(Ru,10),y(It,10),y(it,8),y(Ls,8))};static \u0275dir=H({type:t,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[ce([iB]),Ct,xe]})}return t})();var wr=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275dir=H({type:t,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:!1})}return t})(),rB={provide:It,useExisting:He(()=>Z0),multi:!0},Z0=(()=>{class t extends _l{writeValue(e){let i=e??"";this.setProperty("value",i)}registerOnChange(e){this.onChange=i=>{e(i==""?null:parseFloat(i))}}static \u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275dir=H({type:t,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,r){i&1&&D("input",function(s){return r.onChange(s.target.value)})("blur",function(){return r.onTouched()})},standalone:!1,features:[ce([rB]),Ct]})}return t})(),oB={provide:It,useExisting:He(()=>K0),multi:!0};var sB=(()=>{class t{_accessors=[];add(e,i){this._accessors.push([e,i])}remove(e){for(let i=this._accessors.length-1;i>=0;--i)if(this._accessors[i][1]===e){this._accessors.splice(i,1);return}}select(e){this._accessors.forEach(i=>{this._isSameGroup(i,e)&&i[1]!==e&&i[1].fireUncheck(e.value)})}_isSameGroup(e,i){return e[0].control?e[0]._parent===i._control._parent&&e[1].name===i.name:!1}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),K0=(()=>{class t extends _l{_registry;_injector;_state;_control;_fn;setDisabledStateFired=!1;onChange=()=>{};name;formControlName;value;callSetDisabledState=S(Ls,{optional:!0})??Ou;constructor(e,i,r,o){super(e,i),this._registry=r,this._injector=o}ngOnInit(){this._control=this._injector.get(jn),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(e){this._state=e===this.value,this.setProperty("checked",this._state)}registerOnChange(e){this._fn=e,this.onChange=()=>{e(this.value),this._registry.select(this)}}setDisabledState(e){(this.setDisabledStateFired||e||this.callSetDisabledState==="whenDisabledForLegacyCode")&&this.setProperty("disabled",e),this.setDisabledStateFired=!0}fireUncheck(e){this.writeValue(e)}_checkName(){this.name&&this.formControlName&&(this.name,this.formControlName),!this.name&&this.formControlName&&(this.name=this.formControlName)}static \u0275fac=function(i){return new(i||t)(y(ke),y($),y(sB),y(kt))};static \u0275dir=H({type:t,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(i,r){i&1&&D("change",function(){return r.onChange()})("blur",function(){return r.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},standalone:!1,features:[ce([oB]),Ct]})}return t})();var J0=new B(""),aB={provide:jn,useExisting:He(()=>Fs)},Fs=(()=>{class t extends jn{_ngModelWarningConfig;callSetDisabledState;viewModel;form;set isDisabled(e){}model;update=new P;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,o,s){super(),this._ngModelWarningConfig=o,this.callSetDisabledState=s,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=Q0(this,r)}ngOnChanges(e){if(this._isControlChanged(e)){let i=e.form.previousValue;i&&fp(i,this,!1),Au(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}q0(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&fp(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_isControlChanged(e){return e.hasOwnProperty("form")}static \u0275fac=function(i){return new(i||t)(y(eo,10),y(Ru,10),y(It,10),y(J0,8),y(Ls,8))};static \u0275dir=H({type:t,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],standalone:!1,features:[ce([aB]),Ct,xe]})}return t})(),lB={provide:Xr,useExisting:He(()=>X0)},X0=(()=>{class t extends Xr{callSetDisabledState;get submitted(){return _i(this._submittedReactive)}set submitted(e){this._submittedReactive.set(e)}_submitted=$i(()=>this._submittedReactive());_submittedReactive=ht(!1);_oldForm;_onCollectionChange=()=>this._updateDomValue();directives=[];form=null;ngSubmit=new P;constructor(e,i,r){super(),this.callSetDisabledState=r,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(mp(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){let i=this.form.get(e.path);return Au(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){fp(e.control||null,e,!1),eB(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._submittedReactive.set(!0),$I(this.form,this.directives),this.ngSubmit.emit(e),this.form._events.next(new dp(this.control)),e?.target?.method==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this._submittedReactive.set(!1),this.form._events.next(new hp(this.form))}_updateDomValue(){this.directives.forEach(e=>{let i=e.control,r=this.form.get(e.path);i!==r&&(fp(i||null,e),nB(r)&&(Au(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){let i=this.form.get(e.path);UI(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){let i=this.form.get(e.path);i&&JH(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){G0(this.form,this),this._oldForm&&mp(this._oldForm,this)}static \u0275fac=function(i){return new(i||t)(y(eo,10),y(Ru,10),y(Ls,8))};static \u0275dir=H({type:t,selectors:[["","formGroup",""]],hostBindings:function(i,r){i&1&&D("submit",function(s){return r.onSubmit(s)})("reset",function(){return r.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[ce([lB]),Ct,xe]})}return t})();var cB={provide:jn,useExisting:He(()=>eb)},eb=(()=>{class t extends jn{_ngModelWarningConfig;_added=!1;viewModel;control;name=null;set isDisabled(e){}model;update=new P;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,o,s){super(),this._ngModelWarningConfig=s,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=Q0(this,o)}ngOnChanges(e){this._added||this._setUpControl(),q0(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 HI(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_setUpControl(){this.control=this.formDirective.addControl(this),this._added=!0}static \u0275fac=function(i){return new(i||t)(y(Xr,13),y(eo,10),y(Ru,10),y(It,10),y(J0,8))};static \u0275dir=H({type:t,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},standalone:!1,features:[ce([cB]),Ct,xe]})}return t})();var uB={provide:It,useExisting:He(()=>_p),multi:!0};function YI(t,n){return t==null?`${n}`:(n&&typeof n=="object"&&(n="Object"),`${t}: ${n}`.slice(0,50))}function dB(t){return t.split(":")[0]}var _p=(()=>{class t extends _l{value;_optionMap=new Map;_idCounter=0;set compareWith(e){this._compareWith=e}_compareWith=Object.is;writeValue(e){this.value=e;let i=this._getOptionId(e),r=YI(i,e);this.setProperty("value",r)}registerOnChange(e){this.onChange=i=>{this.value=this._getOptionValue(i),e(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(e){for(let i of this._optionMap.keys())if(this._compareWith(this._optionMap.get(i),e))return i;return null}_getOptionValue(e){let i=dB(e);return this._optionMap.has(i)?this._optionMap.get(i):e}static \u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275dir=H({type:t,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(i,r){i&1&&D("change",function(s){return r.onChange(s.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[ce([uB]),Ct]})}return t})(),zI=(()=>{class t{_element;_renderer;_select;id;constructor(e,i,r){this._element=e,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption())}set ngValue(e){this._select!=null&&(this._select._optionMap.set(this.id,e),this._setElementValue(YI(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._setElementValue(e),this._select&&this._select.writeValue(this._select.value)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(i){return new(i||t)(y($),y(ke),y(_p,9))};static \u0275dir=H({type:t,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return t})(),hB={provide:It,useExisting:He(()=>WI),multi:!0};function SI(t,n){return t==null?`${n}`:(typeof n=="string"&&(n=`'${n}'`),n&&typeof n=="object"&&(n="Object"),`${t}: ${n}`.slice(0,50))}function fB(t){return t.split(":")[0]}var WI=(()=>{class t extends _l{value;_optionMap=new Map;_idCounter=0;set compareWith(e){this._compareWith=e}_compareWith=Object.is;writeValue(e){this.value=e;let i;if(Array.isArray(e)){let r=e.map(o=>this._getOptionId(o));i=(o,s)=>{o._setSelected(r.indexOf(s.toString())>-1)}}else i=(r,o)=>{r._setSelected(!1)};this._optionMap.forEach(i)}registerOnChange(e){this.onChange=i=>{let r=[],o=i.selectedOptions;if(o!==void 0){let s=o;for(let a=0;a{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275dir=H({type:t,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(i,r){i&1&&D("change",function(s){return r.onChange(s.target)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[ce([hB]),Ct]})}return t})(),GI=(()=>{class t{_element;_renderer;_select;id;_value;constructor(e,i,r){this._element=e,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption(this))}set ngValue(e){this._select!=null&&(this._value=e,this._setElementValue(SI(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._select?(this._value=e,this._setElementValue(SI(this.id,e)),this._select.writeValue(this._select.value)):this._setElementValue(e)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}_setSelected(e){this._renderer.setProperty(this._element.nativeElement,"selected",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(i){return new(i||t)(y($),y(ke),y(WI,9))};static \u0275dir=H({type:t,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return t})();var pB=(()=>{class t{_validator=sp;_onChange;_enabled;ngOnChanges(e){if(this.inputName in e){let i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):sp,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return e!=null}static \u0275fac=function(i){return new(i||t)};static \u0275dir=H({type:t,features:[xe]})}return t})();var mB={provide:eo,useExisting:He(()=>tb),multi:!0};var tb=(()=>{class t extends pB{required;inputName="required";normalizeInput=Xe;createValidator=e=>II;enabled(e){return e}static \u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})();static \u0275dir=H({type:t,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(i,r){i&2&&J("required",r._enabled?"":null)},inputs:{required:"required"},standalone:!1,features:[ce([mB]),Ct]})}return t})();var qI=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=be({type:t});static \u0275inj=ve({})}return t})(),j0=class extends gl{constructor(n,e,i){super(z0(e),W0(i,e)),this.controls=n,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;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 r=this._adjustIndex(n);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),e&&(this.controls.splice(r,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(n,e={}){jI(this,!1,n),n.forEach((i,r)=>{VI(this,!1,r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(n,e={}){n!=null&&(n.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(n=[],e={}){this._forEachChild((i,r)=>{i.reset(n[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),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()?!0: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(let 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 EI(t){return!!t&&(t.asyncValidators!==void 0||t.validators!==void 0||t.updateOn!==void 0)}var QI=(()=>{class t{useNonNullable=!1;get nonNullable(){let e=new t;return e.useNonNullable=!0,e}group(e,i=null){let r=this._reduceControls(e),o={};return EI(i)?o=i:i!==null&&(o.validators=i.validator,o.asyncValidators=i.asyncValidator),new Lo(r,o)}record(e,i=null){let r=this._reduceControls(e);return new V0(r,i)}control(e,i,r){let o={};return this.useNonNullable?(EI(i)?o=i:(o.validators=i,o.asyncValidators=r),new ku(e,W(E({},o),{nonNullable:!0}))):new ku(e,i,r)}array(e,i,r){let o=e.map(s=>this._createControl(s));return new j0(o,i,r)}_reduceControls(e){let i={};return Object.keys(e).forEach(r=>{i[r]=this._createControl(e[r])}),i}_createControl(e){if(e instanceof ku)return e;if(e instanceof gl)return e;if(Array.isArray(e)){let i=e[0],r=e.length>1?e[1]:null,o=e.length>2?e[2]:null;return this.control(i,r,o)}else return this.control(e)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Hn=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:Ls,useValue:e.callSetDisabledState??Ou}]}}static \u0275fac=function(i){return new(i||t)};static \u0275mod=be({type:t});static \u0275inj=ve({imports:[qI]})}return t})(),yl=(()=>{class t{static withConfig(e){return{ngModule:t,providers:[{provide:J0,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:Ls,useValue:e.callSetDisabledState??Ou}]}}static \u0275fac=function(i){return new(i||t)};static \u0275mod=be({type:t});static \u0275inj=ve({imports:[qI]})}return t})();var Yt={production:!0,apiUrl:"api/",hubsUrl:"hubs/"};function Vs(t,n){n.set({items:t.body,pagination:JSON.parse(t.headers.get("Pagination"))})}function vl(t,n){let e=new zi;return t&&n&&(e=e.append("pageNumber",t),e=e.append("pageSize",n)),e}var Fo=class t{baseUrl=Yt.apiUrl;http=S(Fn);likeIds=ht([]);paginatedResult=ht(null);toggleLike(n){return this.http.post(`${this.baseUrl}likes/${n}`,{})}getLikes(n,e,i){let r=vl(e,i);return r=r.append("predicate",n),this.http.get(`${this.baseUrl}likes`,{observe:"response",params:r}).subscribe({next:o=>Vs(o,this.paginatedResult)})}getLikeIds(){return this.http.get(`${this.baseUrl}likes/list`).subscribe({next:n=>this.likeIds.set(n)})}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};var ei=class extends Error{constructor(n,e){let i=new.target.prototype;super(`${n}: Status code '${e}'`),this.statusCode=e,this.__proto__=i}},Vo=class extends Error{constructor(n="A timeout occurred."){let e=new.target.prototype;super(n),this.__proto__=e}},tn=class extends Error{constructor(n="An abort occurred."){let e=new.target.prototype;super(n),this.__proto__=e}},yp=class extends Error{constructor(n,e){let i=new.target.prototype;super(n),this.transport=e,this.errorType="UnsupportedTransportError",this.__proto__=i}},vp=class extends Error{constructor(n,e){let i=new.target.prototype;super(n),this.transport=e,this.errorType="DisabledTransportError",this.__proto__=i}},bp=class extends Error{constructor(n,e){let i=new.target.prototype;super(n),this.transport=e,this.errorType="FailedToStartTransportError",this.__proto__=i}},Pu=class extends Error{constructor(n){let e=new.target.prototype;super(n),this.errorType="FailedToNegotiateWithServerError",this.__proto__=e}},Cp=class extends Error{constructor(n,e){let i=new.target.prototype;super(n),this.innerErrors=e,this.__proto__=i}};var bl=class{constructor(n,e,i){this.statusCode=n,this.statusText=e,this.content=i}},Mr=class{get(n,e){return this.send(W(E({},e),{method:"GET",url:n}))}post(n,e){return this.send(W(E({},e),{method:"POST",url:n}))}delete(n,e){return this.send(W(E({},e),{method:"DELETE",url:n}))}getCookieString(n){return""}};var k=function(t){return t[t.Trace=0]="Trace",t[t.Debug=1]="Debug",t[t.Information=2]="Information",t[t.Warning=3]="Warning",t[t.Error=4]="Error",t[t.Critical=5]="Critical",t[t.None=6]="None",t}(k||{});var Sr=class{constructor(){}log(n,e){}};Sr.instance=new Sr;var gB="8.0.7",Ye=class{static isRequired(n,e){if(n==null)throw new Error(`The '${e}' argument is required.`)}static isNotEmpty(n,e){if(!n||n.match(/^\s*$/))throw new Error(`The '${e}' argument should not be empty.`)}static isIn(n,e,i){if(!(n in e))throw new Error(`Unknown ${i} value: ${n}.`)}},Qe=class t{static get isBrowser(){return!t.isNode&&typeof window=="object"&&typeof window.document=="object"}static get isWebWorker(){return!t.isNode&&typeof self=="object"&&"importScripts"in self}static get isReactNative(){return!t.isNode&&typeof window=="object"&&typeof window.document>"u"}static get isNode(){return typeof process<"u"&&process.release&&process.release.name==="node"}};function jo(t,n){let e="";return qi(t)?(e=`Binary data of length ${t.byteLength}`,n&&(e+=`. Content: '${_B(t)}'`)):typeof t=="string"&&(e=`String data of length ${t.length}`,n&&(e+=`. Content: '${t}'`)),e}function _B(t){let n=new Uint8Array(t),e="";return n.forEach(i=>{let r=i<16?"0":"";e+=`0x${r}${i.toString(16)} `}),e.substr(0,e.length-1)}function qi(t){return t&&typeof ArrayBuffer<"u"&&(t instanceof ArrayBuffer||t.constructor&&t.constructor.name==="ArrayBuffer")}function Dp(t,n,e,i,r,o){return me(this,null,function*(){let s={},[a,l]=Er();s[a]=l,t.log(k.Trace,`(${n} transport) sending data. ${jo(r,o.logMessageContent)}.`);let c=qi(r)?"arraybuffer":"text",u=yield e.post(i,{content:r,headers:E(E({},s),o.headers),responseType:c,timeout:o.timeout,withCredentials:o.withCredentials});t.log(k.Trace,`(${n} transport) request complete. Response status: ${u.statusCode}.`)})}function ZI(t){return t===void 0?new js(k.Information):t===null?Sr.instance:t.log!==void 0?t:new js(t)}var wp=class{constructor(n,e){this._subject=n,this._observer=e}dispose(){let n=this._subject.observers.indexOf(this._observer);n>-1&&this._subject.observers.splice(n,1),this._subject.observers.length===0&&this._subject.cancelCallback&&this._subject.cancelCallback().catch(e=>{})}},js=class{constructor(n){this._minLevel=n,this.out=console}log(n,e){if(n>=this._minLevel){let i=`[${new Date().toISOString()}] ${k[n]}: ${e}`;switch(n){case k.Critical:case k.Error:this.out.error(i);break;case k.Warning:this.out.warn(i);break;case k.Information:this.out.info(i);break;default:this.out.log(i);break}}}};function Er(){let t="X-SignalR-User-Agent";return Qe.isNode&&(t="User-Agent"),[t,yB(gB,vB(),CB(),bB())]}function yB(t,n,e,i){let r="Microsoft SignalR/",o=t.split(".");return r+=`${o[0]}.${o[1]}`,r+=` (${t}; `,n&&n!==""?r+=`${n}; `:r+="Unknown OS; ",r+=`${e}`,i?r+=`; ${i}`:r+="; Unknown Runtime Version",r+=")",r}function vB(){if(Qe.isNode)switch(process.platform){case"win32":return"Windows NT";case"darwin":return"macOS";case"linux":return"Linux";default:return process.platform}else return""}function bB(){if(Qe.isNode)return process.versions.node}function CB(){return Qe.isNode?"NodeJS":"Browser"}function Mp(t){return t.stack?t.stack:t.message?t.message:`${t}`}function KI(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("could not find global")}var Sp=class extends Mr{constructor(n){if(super(),this._logger=n,typeof fetch>"u"||Qe.isNode){let e=typeof __webpack_require__=="function"?__non_webpack_require__:fa;this._jar=new(e("tough-cookie")).CookieJar,typeof fetch>"u"?this._fetchType=e("node-fetch"):this._fetchType=fetch,this._fetchType=e("fetch-cookie")(this._fetchType,this._jar)}else this._fetchType=fetch.bind(KI());if(typeof AbortController>"u"){let e=typeof __webpack_require__=="function"?__non_webpack_require__:fa;this._abortControllerType=e("abort-controller")}else this._abortControllerType=AbortController}send(n){return me(this,null,function*(){if(n.abortSignal&&n.abortSignal.aborted)throw new tn;if(!n.method)throw new Error("No method defined.");if(!n.url)throw new Error("No url defined.");let e=new this._abortControllerType,i;n.abortSignal&&(n.abortSignal.onabort=()=>{e.abort(),i=new tn});let r=null;if(n.timeout){let l=n.timeout;r=setTimeout(()=>{e.abort(),this._logger.log(k.Warning,"Timeout from HTTP request."),i=new Vo},l)}n.content===""&&(n.content=void 0),n.content&&(n.headers=n.headers||{},qi(n.content)?n.headers["Content-Type"]="application/octet-stream":n.headers["Content-Type"]="text/plain;charset=UTF-8");let o;try{o=yield this._fetchType(n.url,{body:n.content,cache:"no-cache",credentials:n.withCredentials===!0?"include":"same-origin",headers:E({"X-Requested-With":"XMLHttpRequest"},n.headers),method:n.method,mode:"cors",redirect:"follow",signal:e.signal})}catch(l){throw i||(this._logger.log(k.Warning,`Error from HTTP request. ${l}.`),l)}finally{r&&clearTimeout(r),n.abortSignal&&(n.abortSignal.onabort=null)}if(!o.ok){let l=yield JI(o,"text");throw new ei(l||o.statusText,o.status)}let a=yield JI(o,n.responseType);return new bl(o.status,o.statusText,a)})}getCookieString(n){let e="";return Qe.isNode&&this._jar&&this._jar.getCookies(n,(i,r)=>e=r.join("; ")),e}};function JI(t,n){let e;switch(n){case"arraybuffer":e=t.arrayBuffer();break;case"text":e=t.text();break;case"blob":case"document":case"json":throw new Error(`${n} is not supported.`);default:e=t.text();break}return e}var Ep=class extends Mr{constructor(n){super(),this._logger=n}send(n){return n.abortSignal&&n.abortSignal.aborted?Promise.reject(new tn):n.method?n.url?new Promise((e,i)=>{let r=new XMLHttpRequest;r.open(n.method,n.url,!0),r.withCredentials=n.withCredentials===void 0?!0:n.withCredentials,r.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.content===""&&(n.content=void 0),n.content&&(qi(n.content)?r.setRequestHeader("Content-Type","application/octet-stream"):r.setRequestHeader("Content-Type","text/plain;charset=UTF-8"));let o=n.headers;o&&Object.keys(o).forEach(s=>{r.setRequestHeader(s,o[s])}),n.responseType&&(r.responseType=n.responseType),n.abortSignal&&(n.abortSignal.onabort=()=>{r.abort(),i(new tn)}),n.timeout&&(r.timeout=n.timeout),r.onload=()=>{n.abortSignal&&(n.abortSignal.onabort=null),r.status>=200&&r.status<300?e(new bl(r.status,r.statusText,r.response||r.responseText)):i(new ei(r.response||r.responseText||r.statusText,r.status))},r.onerror=()=>{this._logger.log(k.Warning,`Error from HTTP request. ${r.status}: ${r.statusText}.`),i(new ei(r.statusText,r.status))},r.ontimeout=()=>{this._logger.log(k.Warning,"Timeout from HTTP request."),i(new Vo)},r.send(n.content)}):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}};var Tp=class extends Mr{constructor(n){if(super(),typeof fetch<"u"||Qe.isNode)this._httpClient=new Sp(n);else if(typeof XMLHttpRequest<"u")this._httpClient=new Ep(n);else throw new Error("No usable HttpClient found.")}send(n){return n.abortSignal&&n.abortSignal.aborted?Promise.reject(new tn):n.method?n.url?this._httpClient.send(n):Promise.reject(new Error("No url defined.")):Promise.reject(new Error("No method defined."))}getCookieString(n){return this._httpClient.getCookieString(n)}};var ti=class t{static write(n){return`${n}${t.RecordSeparator}`}static parse(n){if(n[n.length-1]!==t.RecordSeparator)throw new Error("Message is incomplete.");let e=n.split(t.RecordSeparator);return e.pop(),e}};ti.RecordSeparatorCode=30;ti.RecordSeparator=String.fromCharCode(ti.RecordSeparatorCode);var Ip=class{writeHandshakeRequest(n){return ti.write(JSON.stringify(n))}parseHandshakeResponse(n){let e,i;if(qi(n)){let a=new Uint8Array(n),l=a.indexOf(ti.RecordSeparatorCode);if(l===-1)throw new Error("Message is incomplete.");let c=l+1;e=String.fromCharCode.apply(null,Array.prototype.slice.call(a.slice(0,c))),i=a.byteLength>c?a.slice(c).buffer:null}else{let a=n,l=a.indexOf(ti.RecordSeparator);if(l===-1)throw new Error("Message is incomplete.");let c=l+1;e=a.substring(0,c),i=a.length>c?a.substring(c):null}let r=ti.parse(e),o=JSON.parse(r[0]);if(o.type)throw new Error("Expected a handshake response from the server.");return[i,o]}};var oe=function(t){return t[t.Invocation=1]="Invocation",t[t.StreamItem=2]="StreamItem",t[t.Completion=3]="Completion",t[t.StreamInvocation=4]="StreamInvocation",t[t.CancelInvocation=5]="CancelInvocation",t[t.Ping=6]="Ping",t[t.Close=7]="Close",t[t.Ack=8]="Ack",t[t.Sequence=9]="Sequence",t}(oe||{});var xp=class{constructor(){this.observers=[]}next(n){for(let e of this.observers)e.next(n)}error(n){for(let e of this.observers)e.error&&e.error(n)}complete(){for(let n of this.observers)n.complete&&n.complete()}subscribe(n){return this.observers.push(n),new wp(this,n)}};var kp=class{constructor(n,e,i){this._bufferSize=1e5,this._messages=[],this._totalMessageCount=0,this._waitForSequenceMessage=!1,this._nextReceivingSequenceId=1,this._latestReceivedSequenceId=0,this._bufferedByteCount=0,this._reconnectInProgress=!1,this._protocol=n,this._connection=e,this._bufferSize=i}_send(n){return me(this,null,function*(){let e=this._protocol.writeMessage(n),i=Promise.resolve();if(this._isInvocationMessage(n)){this._totalMessageCount++;let r=()=>{},o=()=>{};qi(e)?this._bufferedByteCount+=e.byteLength:this._bufferedByteCount+=e.length,this._bufferedByteCount>=this._bufferSize&&(i=new Promise((s,a)=>{r=s,o=a})),this._messages.push(new nb(e,this._totalMessageCount,r,o))}try{this._reconnectInProgress||(yield this._connection.send(e))}catch{this._disconnected()}yield i})}_ack(n){let e=-1;for(let i=0;ithis._nextReceivingSequenceId){this._connection.stop(new Error("Sequence ID greater than amount of messages we've received."));return}this._nextReceivingSequenceId=n.sequenceId}_disconnected(){this._reconnectInProgress=!0,this._waitForSequenceMessage=!0}_resend(){return me(this,null,function*(){let n=this._messages.length!==0?this._messages[0]._id:this._totalMessageCount+1;yield this._connection.send(this._protocol.writeMessage({type:oe.Sequence,sequenceId:n}));let e=this._messages;for(let i of e)yield this._connection.send(i._message);this._reconnectInProgress=!1})}_dispose(n){n??(n=new Error("Unable to reconnect to server."));for(let e of this._messages)e._rejector(n)}_isInvocationMessage(n){switch(n.type){case oe.Invocation:case oe.StreamItem:case oe.Completion:case oe.StreamInvocation:case oe.CancelInvocation:return!0;case oe.Close:case oe.Sequence:case oe.Ping:case oe.Ack:return!1}}_ackTimer(){this._ackTimerHandle===void 0&&(this._ackTimerHandle=setTimeout(()=>me(this,null,function*(){try{this._reconnectInProgress||(yield this._connection.send(this._protocol.writeMessage({type:oe.Ack,sequenceId:this._latestReceivedSequenceId})))}catch{}clearTimeout(this._ackTimerHandle),this._ackTimerHandle=void 0}),1e3))}},nb=class{constructor(n,e,i,r){this._message=n,this._id=e,this._resolver=i,this._rejector=r}};var wB=30*1e3,DB=15*1e3,MB=1e5,Be=function(t){return t.Disconnected="Disconnected",t.Connecting="Connecting",t.Connected="Connected",t.Disconnecting="Disconnecting",t.Reconnecting="Reconnecting",t}(Be||{}),Nu=class t{static create(n,e,i,r,o,s,a){return new t(n,e,i,r,o,s,a)}constructor(n,e,i,r,o,s,a){this._nextKeepAlive=0,this._freezeEventListener=()=>{this._logger.log(k.Warning,"The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://learn.microsoft.com/aspnet/core/signalr/javascript-client#bsleep")},Ye.isRequired(n,"connection"),Ye.isRequired(e,"logger"),Ye.isRequired(i,"protocol"),this.serverTimeoutInMilliseconds=o??wB,this.keepAliveIntervalInMilliseconds=s??DB,this._statefulReconnectBufferSize=a??MB,this._logger=e,this._protocol=i,this.connection=n,this._reconnectPolicy=r,this._handshakeProtocol=new Ip,this.connection.onreceive=l=>this._processIncomingData(l),this.connection.onclose=l=>this._connectionClosed(l),this._callbacks={},this._methods={},this._closedCallbacks=[],this._reconnectingCallbacks=[],this._reconnectedCallbacks=[],this._invocationId=0,this._receivedHandshakeResponse=!1,this._connectionState=Be.Disconnected,this._connectionStarted=!1,this._cachedPingMessage=this._protocol.writeMessage({type:oe.Ping})}get state(){return this._connectionState}get connectionId(){return this.connection&&this.connection.connectionId||null}get baseUrl(){return this.connection.baseUrl||""}set baseUrl(n){if(this._connectionState!==Be.Disconnected&&this._connectionState!==Be.Reconnecting)throw new Error("The HubConnection must be in the Disconnected or Reconnecting state to change the url.");if(!n)throw new Error("The HubConnection url must be a valid url.");this.connection.baseUrl=n}start(){return this._startPromise=this._startWithStateTransitions(),this._startPromise}_startWithStateTransitions(){return me(this,null,function*(){if(this._connectionState!==Be.Disconnected)return Promise.reject(new Error("Cannot start a HubConnection that is not in the 'Disconnected' state."));this._connectionState=Be.Connecting,this._logger.log(k.Debug,"Starting HubConnection.");try{yield this._startInternal(),Qe.isBrowser&&window.document.addEventListener("freeze",this._freezeEventListener),this._connectionState=Be.Connected,this._connectionStarted=!0,this._logger.log(k.Debug,"HubConnection connected successfully.")}catch(n){return this._connectionState=Be.Disconnected,this._logger.log(k.Debug,`HubConnection failed to start successfully because of error '${n}'.`),Promise.reject(n)}})}_startInternal(){return me(this,null,function*(){this._stopDuringStartError=void 0,this._receivedHandshakeResponse=!1;let n=new Promise((e,i)=>{this._handshakeResolver=e,this._handshakeRejecter=i});yield this.connection.start(this._protocol.transferFormat);try{let e=this._protocol.version;this.connection.features.reconnect||(e=1);let i={protocol:this._protocol.name,version:e};if(this._logger.log(k.Debug,"Sending handshake request."),yield this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(i)),this._logger.log(k.Information,`Using HubProtocol '${this._protocol.name}'.`),this._cleanupTimeout(),this._resetTimeoutPeriod(),this._resetKeepAliveInterval(),yield n,this._stopDuringStartError)throw this._stopDuringStartError;(this.connection.features.reconnect||!1)&&(this._messageBuffer=new kp(this._protocol,this.connection,this._statefulReconnectBufferSize),this.connection.features.disconnected=this._messageBuffer._disconnected.bind(this._messageBuffer),this.connection.features.resend=()=>{if(this._messageBuffer)return this._messageBuffer._resend()}),this.connection.features.inherentKeepAlive||(yield this._sendMessage(this._cachedPingMessage))}catch(e){throw this._logger.log(k.Debug,`Hub handshake failed with error '${e}' during start(). Stopping HubConnection.`),this._cleanupTimeout(),this._cleanupPingTimer(),yield this.connection.stop(e),e}})}stop(){return me(this,null,function*(){let n=this._startPromise;this.connection.features.reconnect=!1,this._stopPromise=this._stopInternal(),yield this._stopPromise;try{yield n}catch{}})}_stopInternal(n){if(this._connectionState===Be.Disconnected)return this._logger.log(k.Debug,`Call to HubConnection.stop(${n}) ignored because it is already in the disconnected state.`),Promise.resolve();if(this._connectionState===Be.Disconnecting)return this._logger.log(k.Debug,`Call to HttpConnection.stop(${n}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;let e=this._connectionState;return this._connectionState=Be.Disconnecting,this._logger.log(k.Debug,"Stopping HubConnection."),this._reconnectDelayHandle?(this._logger.log(k.Debug,"Connection stopped during reconnect delay. Done reconnecting."),clearTimeout(this._reconnectDelayHandle),this._reconnectDelayHandle=void 0,this._completeClose(),Promise.resolve()):(e===Be.Connected&&this._sendCloseMessage(),this._cleanupTimeout(),this._cleanupPingTimer(),this._stopDuringStartError=n||new tn("The connection was stopped before the hub handshake could complete."),this.connection.stop(n))}_sendCloseMessage(){return me(this,null,function*(){try{yield this._sendWithProtocol(this._createCloseMessage())}catch{}})}stream(n,...e){let[i,r]=this._replaceStreamingParams(e),o=this._createStreamInvocation(n,e,r),s,a=new xp;return a.cancelCallback=()=>{let l=this._createCancelInvocation(o.invocationId);return delete this._callbacks[o.invocationId],s.then(()=>this._sendWithProtocol(l))},this._callbacks[o.invocationId]=(l,c)=>{if(c){a.error(c);return}else l&&(l.type===oe.Completion?l.error?a.error(new Error(l.error)):a.complete():a.next(l.item))},s=this._sendWithProtocol(o).catch(l=>{a.error(l),delete this._callbacks[o.invocationId]}),this._launchStreams(i,s),a}_sendMessage(n){return this._resetKeepAliveInterval(),this.connection.send(n)}_sendWithProtocol(n){return this._messageBuffer?this._messageBuffer._send(n):this._sendMessage(this._protocol.writeMessage(n))}send(n,...e){let[i,r]=this._replaceStreamingParams(e),o=this._sendWithProtocol(this._createInvocation(n,e,!0,r));return this._launchStreams(i,o),o}invoke(n,...e){let[i,r]=this._replaceStreamingParams(e),o=this._createInvocation(n,e,!1,r);return new Promise((a,l)=>{this._callbacks[o.invocationId]=(u,m)=>{if(m){l(m);return}else u&&(u.type===oe.Completion?u.error?l(new Error(u.error)):a(u.result):l(new Error(`Unexpected message type: ${u.type}`)))};let c=this._sendWithProtocol(o).catch(u=>{l(u),delete this._callbacks[o.invocationId]});this._launchStreams(i,c)})}on(n,e){!n||!e||(n=n.toLowerCase(),this._methods[n]||(this._methods[n]=[]),this._methods[n].indexOf(e)===-1&&this._methods[n].push(e))}off(n,e){if(!n)return;n=n.toLowerCase();let i=this._methods[n];if(i)if(e){let r=i.indexOf(e);r!==-1&&(i.splice(r,1),i.length===0&&delete this._methods[n])}else delete this._methods[n]}onclose(n){n&&this._closedCallbacks.push(n)}onreconnecting(n){n&&this._reconnectingCallbacks.push(n)}onreconnected(n){n&&this._reconnectedCallbacks.push(n)}_processIncomingData(n){if(this._cleanupTimeout(),this._receivedHandshakeResponse||(n=this._processHandshakeResponse(n),this._receivedHandshakeResponse=!0),n){let e=this._protocol.parseMessages(n,this._logger);for(let i of e)if(!(this._messageBuffer&&!this._messageBuffer._shouldProcessMessage(i)))switch(i.type){case oe.Invocation:this._invokeClientMethod(i).catch(r=>{this._logger.log(k.Error,`Invoke client method threw error: ${Mp(r)}`)});break;case oe.StreamItem:case oe.Completion:{let r=this._callbacks[i.invocationId];if(r){i.type===oe.Completion&&delete this._callbacks[i.invocationId];try{r(i)}catch(o){this._logger.log(k.Error,`Stream callback threw error: ${Mp(o)}`)}}break}case oe.Ping:break;case oe.Close:{this._logger.log(k.Information,"Close message received from server.");let r=i.error?new Error("Server returned an error on close: "+i.error):void 0;i.allowReconnect===!0?this.connection.stop(r):this._stopPromise=this._stopInternal(r);break}case oe.Ack:this._messageBuffer&&this._messageBuffer._ack(i);break;case oe.Sequence:this._messageBuffer&&this._messageBuffer._resetSequence(i);break;default:this._logger.log(k.Warning,`Invalid message type: ${i.type}.`);break}}this._resetTimeoutPeriod()}_processHandshakeResponse(n){let e,i;try{[i,e]=this._handshakeProtocol.parseHandshakeResponse(n)}catch(r){let o="Error parsing handshake response: "+r;this._logger.log(k.Error,o);let s=new Error(o);throw this._handshakeRejecter(s),s}if(e.error){let r="Server returned handshake error: "+e.error;this._logger.log(k.Error,r);let o=new Error(r);throw this._handshakeRejecter(o),o}else this._logger.log(k.Debug,"Server handshake complete.");return this._handshakeResolver(),i}_resetKeepAliveInterval(){this.connection.features.inherentKeepAlive||(this._nextKeepAlive=new Date().getTime()+this.keepAliveIntervalInMilliseconds,this._cleanupPingTimer())}_resetTimeoutPeriod(){if((!this.connection.features||!this.connection.features.inherentKeepAlive)&&(this._timeoutHandle=setTimeout(()=>this.serverTimeout(),this.serverTimeoutInMilliseconds),this._pingServerHandle===void 0)){let n=this._nextKeepAlive-new Date().getTime();n<0&&(n=0),this._pingServerHandle=setTimeout(()=>me(this,null,function*(){if(this._connectionState===Be.Connected)try{yield this._sendMessage(this._cachedPingMessage)}catch{this._cleanupPingTimer()}}),n)}}serverTimeout(){this.connection.stop(new Error("Server timeout elapsed without receiving a message from the server."))}_invokeClientMethod(n){return me(this,null,function*(){let e=n.target.toLowerCase(),i=this._methods[e];if(!i){this._logger.log(k.Warning,`No client method with the name '${e}' found.`),n.invocationId&&(this._logger.log(k.Warning,`No result given for '${e}' method and invocation ID '${n.invocationId}'.`),yield this._sendWithProtocol(this._createCompletionMessage(n.invocationId,"Client didn't provide a result.",null)));return}let r=i.slice(),o=!!n.invocationId,s,a,l;for(let c of r)try{let u=s;s=yield c.apply(this,n.arguments),o&&s&&u&&(this._logger.log(k.Error,`Multiple results provided for '${e}'. Sending error to server.`),l=this._createCompletionMessage(n.invocationId,"Client provided multiple results.",null)),a=void 0}catch(u){a=u,this._logger.log(k.Error,`A callback for the method '${e}' threw error '${u}'.`)}l?yield this._sendWithProtocol(l):o?(a?l=this._createCompletionMessage(n.invocationId,`${a}`,null):s!==void 0?l=this._createCompletionMessage(n.invocationId,null,s):(this._logger.log(k.Warning,`No result given for '${e}' method and invocation ID '${n.invocationId}'.`),l=this._createCompletionMessage(n.invocationId,"Client didn't provide a result.",null)),yield this._sendWithProtocol(l)):s&&this._logger.log(k.Error,`Result given for '${e}' method but server is not expecting a result.`)})}_connectionClosed(n){this._logger.log(k.Debug,`HubConnection.connectionClosed(${n}) called while in state ${this._connectionState}.`),this._stopDuringStartError=this._stopDuringStartError||n||new tn("The underlying connection was closed before the hub handshake could complete."),this._handshakeResolver&&this._handshakeResolver(),this._cancelCallbacksWithError(n||new Error("Invocation canceled due to the underlying connection being closed.")),this._cleanupTimeout(),this._cleanupPingTimer(),this._connectionState===Be.Disconnecting?this._completeClose(n):this._connectionState===Be.Connected&&this._reconnectPolicy?this._reconnect(n):this._connectionState===Be.Connected&&this._completeClose(n)}_completeClose(n){if(this._connectionStarted){this._connectionState=Be.Disconnected,this._connectionStarted=!1,this._messageBuffer&&(this._messageBuffer._dispose(n??new Error("Connection closed.")),this._messageBuffer=void 0),Qe.isBrowser&&window.document.removeEventListener("freeze",this._freezeEventListener);try{this._closedCallbacks.forEach(e=>e.apply(this,[n]))}catch(e){this._logger.log(k.Error,`An onclose callback called with error '${n}' threw error '${e}'.`)}}}_reconnect(n){return me(this,null,function*(){let e=Date.now(),i=0,r=n!==void 0?n:new Error("Attempting to reconnect due to a unknown error."),o=this._getNextRetryDelay(i++,0,r);if(o===null){this._logger.log(k.Debug,"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt."),this._completeClose(n);return}if(this._connectionState=Be.Reconnecting,n?this._logger.log(k.Information,`Connection reconnecting because of error '${n}'.`):this._logger.log(k.Information,"Connection reconnecting."),this._reconnectingCallbacks.length!==0){try{this._reconnectingCallbacks.forEach(s=>s.apply(this,[n]))}catch(s){this._logger.log(k.Error,`An onreconnecting callback called with error '${n}' threw error '${s}'.`)}if(this._connectionState!==Be.Reconnecting){this._logger.log(k.Debug,"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.");return}}for(;o!==null;){if(this._logger.log(k.Information,`Reconnect attempt number ${i} will start in ${o} ms.`),yield new Promise(s=>{this._reconnectDelayHandle=setTimeout(s,o)}),this._reconnectDelayHandle=void 0,this._connectionState!==Be.Reconnecting){this._logger.log(k.Debug,"Connection left the reconnecting state during reconnect delay. Done reconnecting.");return}try{if(yield this._startInternal(),this._connectionState=Be.Connected,this._logger.log(k.Information,"HubConnection reconnected successfully."),this._reconnectedCallbacks.length!==0)try{this._reconnectedCallbacks.forEach(s=>s.apply(this,[this.connection.connectionId]))}catch(s){this._logger.log(k.Error,`An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${s}'.`)}return}catch(s){if(this._logger.log(k.Information,`Reconnect attempt failed because of error '${s}'.`),this._connectionState!==Be.Reconnecting){this._logger.log(k.Debug,`Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`),this._connectionState===Be.Disconnecting&&this._completeClose();return}r=s instanceof Error?s:new Error(s.toString()),o=this._getNextRetryDelay(i++,Date.now()-e,r)}}this._logger.log(k.Information,`Reconnect retries have been exhausted after ${Date.now()-e} ms and ${i} failed attempts. Connection disconnecting.`),this._completeClose()})}_getNextRetryDelay(n,e,i){try{return this._reconnectPolicy.nextRetryDelayInMilliseconds({elapsedMilliseconds:e,previousRetryCount:n,retryReason:i})}catch(r){return this._logger.log(k.Error,`IRetryPolicy.nextRetryDelayInMilliseconds(${n}, ${e}) threw error '${r}'.`),null}}_cancelCallbacksWithError(n){let e=this._callbacks;this._callbacks={},Object.keys(e).forEach(i=>{let r=e[i];try{r(null,n)}catch(o){this._logger.log(k.Error,`Stream 'error' callback called with '${n}' threw error: ${Mp(o)}`)}})}_cleanupPingTimer(){this._pingServerHandle&&(clearTimeout(this._pingServerHandle),this._pingServerHandle=void 0)}_cleanupTimeout(){this._timeoutHandle&&clearTimeout(this._timeoutHandle)}_createInvocation(n,e,i,r){if(i)return r.length!==0?{arguments:e,streamIds:r,target:n,type:oe.Invocation}:{arguments:e,target:n,type:oe.Invocation};{let o=this._invocationId;return this._invocationId++,r.length!==0?{arguments:e,invocationId:o.toString(),streamIds:r,target:n,type:oe.Invocation}:{arguments:e,invocationId:o.toString(),target:n,type:oe.Invocation}}}_launchStreams(n,e){if(n.length!==0){e||(e=Promise.resolve());for(let i in n)n[i].subscribe({complete:()=>{e=e.then(()=>this._sendWithProtocol(this._createCompletionMessage(i)))},error:r=>{let o;r instanceof Error?o=r.message:r&&r.toString?o=r.toString():o="Unknown error",e=e.then(()=>this._sendWithProtocol(this._createCompletionMessage(i,o)))},next:r=>{e=e.then(()=>this._sendWithProtocol(this._createStreamItemMessage(i,r)))}})}}_replaceStreamingParams(n){let e=[],i=[];for(let r=0;r{class t{}return t.Authorization="Authorization",t.Cookie="Cookie",t})();var Ap=class extends Mr{constructor(n,e){super(),this._innerClient=n,this._accessTokenFactory=e}send(n){return me(this,null,function*(){let e=!0;this._accessTokenFactory&&(!this._accessToken||n.url&&n.url.indexOf("/negotiate?")>0)&&(e=!1,this._accessToken=yield this._accessTokenFactory()),this._setAuthorizationHeader(n);let i=yield this._innerClient.send(n);return e&&i.statusCode===401&&this._accessTokenFactory?(this._accessToken=yield this._accessTokenFactory(),this._setAuthorizationHeader(n),yield this._innerClient.send(n)):i})}_setAuthorizationHeader(n){n.headers||(n.headers={}),this._accessToken?n.headers[Hs.Authorization]=`Bearer ${this._accessToken}`:this._accessTokenFactory&&n.headers[Hs.Authorization]&&delete n.headers[Hs.Authorization]}getCookieString(n){return this._innerClient.getCookieString(n)}};var zt=function(t){return t[t.None=0]="None",t[t.WebSockets=1]="WebSockets",t[t.ServerSentEvents=2]="ServerSentEvents",t[t.LongPolling=4]="LongPolling",t}(zt||{}),Lt=function(t){return t[t.Text=1]="Text",t[t.Binary=2]="Binary",t}(Lt||{});var Rp=class{constructor(){this._isAborted=!1,this.onabort=null}abort(){this._isAborted||(this._isAborted=!0,this.onabort&&this.onabort())}get signal(){return this}get aborted(){return this._isAborted}};var Fu=class{get pollAborted(){return this._pollAbort.aborted}constructor(n,e,i){this._httpClient=n,this._logger=e,this._pollAbort=new Rp,this._options=i,this._running=!1,this.onreceive=null,this.onclose=null}connect(n,e){return me(this,null,function*(){if(Ye.isRequired(n,"url"),Ye.isRequired(e,"transferFormat"),Ye.isIn(e,Lt,"transferFormat"),this._url=n,this._logger.log(k.Trace,"(LongPolling transport) Connecting."),e===Lt.Binary&&typeof XMLHttpRequest<"u"&&typeof new XMLHttpRequest().responseType!="string")throw new Error("Binary protocols over XmlHttpRequest not implementing advanced features are not supported.");let[i,r]=Er(),o=E({[i]:r},this._options.headers),s={abortSignal:this._pollAbort.signal,headers:o,timeout:1e5,withCredentials:this._options.withCredentials};e===Lt.Binary&&(s.responseType="arraybuffer");let a=`${n}&_=${Date.now()}`;this._logger.log(k.Trace,`(LongPolling transport) polling: ${a}.`);let l=yield this._httpClient.get(a,s);l.statusCode!==200?(this._logger.log(k.Error,`(LongPolling transport) Unexpected response code: ${l.statusCode}.`),this._closeError=new ei(l.statusText||"",l.statusCode),this._running=!1):this._running=!0,this._receiving=this._poll(this._url,s)})}_poll(n,e){return me(this,null,function*(){try{for(;this._running;)try{let i=`${n}&_=${Date.now()}`;this._logger.log(k.Trace,`(LongPolling transport) polling: ${i}.`);let r=yield this._httpClient.get(i,e);r.statusCode===204?(this._logger.log(k.Information,"(LongPolling transport) Poll terminated by server."),this._running=!1):r.statusCode!==200?(this._logger.log(k.Error,`(LongPolling transport) Unexpected response code: ${r.statusCode}.`),this._closeError=new ei(r.statusText||"",r.statusCode),this._running=!1):r.content?(this._logger.log(k.Trace,`(LongPolling transport) data received. ${jo(r.content,this._options.logMessageContent)}.`),this.onreceive&&this.onreceive(r.content)):this._logger.log(k.Trace,"(LongPolling transport) Poll timed out, reissuing.")}catch(i){this._running?i instanceof Vo?this._logger.log(k.Trace,"(LongPolling transport) Poll timed out, reissuing."):(this._closeError=i,this._running=!1):this._logger.log(k.Trace,`(LongPolling transport) Poll errored after shutdown: ${i.message}`)}}finally{this._logger.log(k.Trace,"(LongPolling transport) Polling complete."),this.pollAborted||this._raiseOnClose()}})}send(n){return me(this,null,function*(){return this._running?Dp(this._logger,"LongPolling",this._httpClient,this._url,n,this._options):Promise.reject(new Error("Cannot send until the transport is connected"))})}stop(){return me(this,null,function*(){this._logger.log(k.Trace,"(LongPolling transport) Stopping polling."),this._running=!1,this._pollAbort.abort();try{yield this._receiving,this._logger.log(k.Trace,`(LongPolling transport) sending DELETE request to ${this._url}.`);let n={},[e,i]=Er();n[e]=i;let r={headers:E(E({},n),this._options.headers),timeout:this._options.timeout,withCredentials:this._options.withCredentials},o;try{yield this._httpClient.delete(this._url,r)}catch(s){o=s}o?o instanceof ei&&(o.statusCode===404?this._logger.log(k.Trace,"(LongPolling transport) A 404 response was returned from sending a DELETE request."):this._logger.log(k.Trace,`(LongPolling transport) Error sending a DELETE request: ${o}`)):this._logger.log(k.Trace,"(LongPolling transport) DELETE request accepted.")}finally{this._logger.log(k.Trace,"(LongPolling transport) Stop finished."),this._raiseOnClose()}})}_raiseOnClose(){if(this.onclose){let n="(LongPolling transport) Firing onclose event.";this._closeError&&(n+=" Error: "+this._closeError),this._logger.log(k.Trace,n),this.onclose(this._closeError)}}};var Op=class{constructor(n,e,i,r){this._httpClient=n,this._accessToken=e,this._logger=i,this._options=r,this.onreceive=null,this.onclose=null}connect(n,e){return me(this,null,function*(){return Ye.isRequired(n,"url"),Ye.isRequired(e,"transferFormat"),Ye.isIn(e,Lt,"transferFormat"),this._logger.log(k.Trace,"(SSE transport) Connecting."),this._url=n,this._accessToken&&(n+=(n.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(this._accessToken)}`),new Promise((i,r)=>{let o=!1;if(e!==Lt.Text){r(new Error("The Server-Sent Events transport only supports the 'Text' transfer format"));return}let s;if(Qe.isBrowser||Qe.isWebWorker)s=new this._options.EventSource(n,{withCredentials:this._options.withCredentials});else{let a=this._httpClient.getCookieString(n),l={};l.Cookie=a;let[c,u]=Er();l[c]=u,s=new this._options.EventSource(n,{withCredentials:this._options.withCredentials,headers:E(E({},l),this._options.headers)})}try{s.onmessage=a=>{if(this.onreceive)try{this._logger.log(k.Trace,`(SSE transport) data received. ${jo(a.data,this._options.logMessageContent)}.`),this.onreceive(a.data)}catch(l){this._close(l);return}},s.onerror=a=>{o?this._close():r(new Error("EventSource failed to connect. The connection could not be found on the server, either the connection ID is not present on the server, or a proxy is refusing/buffering the connection. If you have multiple servers check that sticky sessions are enabled."))},s.onopen=()=>{this._logger.log(k.Information,`SSE connected to ${this._url}`),this._eventSource=s,o=!0,i()}}catch(a){r(a);return}})})}send(n){return me(this,null,function*(){return this._eventSource?Dp(this._logger,"SSE",this._httpClient,this._url,n,this._options):Promise.reject(new Error("Cannot send until the transport is connected"))})}stop(){return this._close(),Promise.resolve()}_close(n){this._eventSource&&(this._eventSource.close(),this._eventSource=void 0,this.onclose&&this.onclose(n))}};var Pp=class{constructor(n,e,i,r,o,s){this._logger=i,this._accessTokenFactory=e,this._logMessageContent=r,this._webSocketConstructor=o,this._httpClient=n,this.onreceive=null,this.onclose=null,this._headers=s}connect(n,e){return me(this,null,function*(){Ye.isRequired(n,"url"),Ye.isRequired(e,"transferFormat"),Ye.isIn(e,Lt,"transferFormat"),this._logger.log(k.Trace,"(WebSockets transport) Connecting.");let i;return this._accessTokenFactory&&(i=yield this._accessTokenFactory()),new Promise((r,o)=>{n=n.replace(/^http/,"ws");let s,a=this._httpClient.getCookieString(n),l=!1;if(Qe.isNode||Qe.isReactNative){let c={},[u,m]=Er();c[u]=m,i&&(c[Hs.Authorization]=`Bearer ${i}`),a&&(c[Hs.Cookie]=a),s=new this._webSocketConstructor(n,void 0,{headers:E(E({},c),this._headers)})}else i&&(n+=(n.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(i)}`);s||(s=new this._webSocketConstructor(n)),e===Lt.Binary&&(s.binaryType="arraybuffer"),s.onopen=c=>{this._logger.log(k.Information,`WebSocket connected to ${n}.`),this._webSocket=s,l=!0,r()},s.onerror=c=>{let u=null;typeof ErrorEvent<"u"&&c instanceof ErrorEvent?u=c.error:u="There was an error with the transport",this._logger.log(k.Information,`(WebSockets transport) ${u}.`)},s.onmessage=c=>{if(this._logger.log(k.Trace,`(WebSockets transport) data received. ${jo(c.data,this._logMessageContent)}.`),this.onreceive)try{this.onreceive(c.data)}catch(u){this._close(u);return}},s.onclose=c=>{if(l)this._close(c);else{let u=null;typeof ErrorEvent<"u"&&c instanceof ErrorEvent?u=c.error:u="WebSocket failed to connect. The connection could not be found on the server, either the endpoint may not be a SignalR endpoint, the connection ID is not present on the server, or there is a proxy blocking WebSockets. If you have multiple servers check that sticky sessions are enabled.",o(new Error(u))}}})})}send(n){return this._webSocket&&this._webSocket.readyState===this._webSocketConstructor.OPEN?(this._logger.log(k.Trace,`(WebSockets transport) sending data. ${jo(n,this._logMessageContent)}.`),this._webSocket.send(n),Promise.resolve()):Promise.reject("WebSocket is not in the OPEN state")}stop(){return this._webSocket&&this._close(void 0),Promise.resolve()}_close(n){this._webSocket&&(this._webSocket.onclose=()=>{},this._webSocket.onmessage=()=>{},this._webSocket.onerror=()=>{},this._webSocket.close(),this._webSocket=void 0),this._logger.log(k.Trace,"(WebSockets transport) socket closed."),this.onclose&&(this._isCloseEvent(n)&&(n.wasClean===!1||n.code!==1e3)?this.onclose(new Error(`WebSocket closed with status code: ${n.code} (${n.reason||"no reason given"}).`)):n instanceof Error?this.onclose(n):this.onclose())}_isCloseEvent(n){return n&&typeof n.wasClean=="boolean"&&typeof n.code=="number"}};var XI=100,Np=class{constructor(n,e={}){if(this._stopPromiseResolver=()=>{},this.features={},this._negotiateVersion=1,Ye.isRequired(n,"url"),this._logger=ZI(e.logger),this.baseUrl=this._resolveUrl(n),e=e||{},e.logMessageContent=e.logMessageContent===void 0?!1:e.logMessageContent,typeof e.withCredentials=="boolean"||e.withCredentials===void 0)e.withCredentials=e.withCredentials===void 0?!0:e.withCredentials;else throw new Error("withCredentials option was not a 'boolean' or 'undefined' value");e.timeout=e.timeout===void 0?100*1e3:e.timeout;let i=null,r=null;if(Qe.isNode&&typeof fa<"u"){let o=typeof __webpack_require__=="function"?__non_webpack_require__:fa;i=o("ws"),r=o("eventsource")}!Qe.isNode&&typeof WebSocket<"u"&&!e.WebSocket?e.WebSocket=WebSocket:Qe.isNode&&!e.WebSocket&&i&&(e.WebSocket=i),!Qe.isNode&&typeof EventSource<"u"&&!e.EventSource?e.EventSource=EventSource:Qe.isNode&&!e.EventSource&&typeof r<"u"&&(e.EventSource=r),this._httpClient=new Ap(e.httpClient||new Tp(this._logger),e.accessTokenFactory),this._connectionState="Disconnected",this._connectionStarted=!1,this._options=e,this.onreceive=null,this.onclose=null}start(n){return me(this,null,function*(){if(n=n||Lt.Binary,Ye.isIn(n,Lt,"transferFormat"),this._logger.log(k.Debug,`Starting connection with transfer format '${Lt[n]}'.`),this._connectionState!=="Disconnected")return Promise.reject(new Error("Cannot start an HttpConnection that is not in the 'Disconnected' state."));if(this._connectionState="Connecting",this._startInternalPromise=this._startInternal(n),yield this._startInternalPromise,this._connectionState==="Disconnecting"){let e="Failed to start the HttpConnection before stop() was called.";return this._logger.log(k.Error,e),yield this._stopPromise,Promise.reject(new tn(e))}else if(this._connectionState!=="Connected"){let e="HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!";return this._logger.log(k.Error,e),Promise.reject(new tn(e))}this._connectionStarted=!0})}send(n){return this._connectionState!=="Connected"?Promise.reject(new Error("Cannot send data if the connection is not in the 'Connected' State.")):(this._sendQueue||(this._sendQueue=new ib(this.transport)),this._sendQueue.send(n))}stop(n){return me(this,null,function*(){if(this._connectionState==="Disconnected")return this._logger.log(k.Debug,`Call to HttpConnection.stop(${n}) ignored because the connection is already in the disconnected state.`),Promise.resolve();if(this._connectionState==="Disconnecting")return this._logger.log(k.Debug,`Call to HttpConnection.stop(${n}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;this._connectionState="Disconnecting",this._stopPromise=new Promise(e=>{this._stopPromiseResolver=e}),yield this._stopInternal(n),yield this._stopPromise})}_stopInternal(n){return me(this,null,function*(){this._stopError=n;try{yield this._startInternalPromise}catch{}if(this.transport){try{yield this.transport.stop()}catch(e){this._logger.log(k.Error,`HttpConnection.transport.stop() threw error '${e}'.`),this._stopConnection()}this.transport=void 0}else this._logger.log(k.Debug,"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.")})}_startInternal(n){return me(this,null,function*(){let e=this.baseUrl;this._accessTokenFactory=this._options.accessTokenFactory,this._httpClient._accessTokenFactory=this._accessTokenFactory;try{if(this._options.skipNegotiation)if(this._options.transport===zt.WebSockets)this.transport=this._constructTransport(zt.WebSockets),yield this._startTransport(e,n);else throw new Error("Negotiation can only be skipped when using the WebSocket transport directly.");else{let i=null,r=0;do{if(i=yield this._getNegotiationResponse(e),this._connectionState==="Disconnecting"||this._connectionState==="Disconnected")throw new tn("The connection was stopped during negotiation.");if(i.error)throw new Error(i.error);if(i.ProtocolVersion)throw new Error("Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.");if(i.url&&(e=i.url),i.accessToken){let o=i.accessToken;this._accessTokenFactory=()=>o,this._httpClient._accessToken=o,this._httpClient._accessTokenFactory=void 0}r++}while(i.url&&r0?Promise.reject(new Cp(`Unable to connect to the server with any of the available transports. ${s.join(" ")}`,s)):Promise.reject(new Error("None of the transports supported by the client are supported by the server."))})}_constructTransport(n){switch(n){case zt.WebSockets:if(!this._options.WebSocket)throw new Error("'WebSocket' is not supported in your environment.");return new Pp(this._httpClient,this._accessTokenFactory,this._logger,this._options.logMessageContent,this._options.WebSocket,this._options.headers||{});case zt.ServerSentEvents:if(!this._options.EventSource)throw new Error("'EventSource' is not supported in your environment.");return new Op(this._httpClient,this._httpClient._accessToken,this._logger,this._options);case zt.LongPolling:return new Fu(this._httpClient,this._logger,this._options);default:throw new Error(`Unknown transport: ${n}.`)}}_startTransport(n,e){return this.transport.onreceive=this.onreceive,this.features.reconnect?this.transport.onclose=i=>me(this,null,function*(){let r=!1;if(this.features.reconnect)try{this.features.disconnected(),yield this.transport.connect(n,e),yield this.features.resend()}catch{r=!0}else{this._stopConnection(i);return}r&&this._stopConnection(i)}):this.transport.onclose=i=>this._stopConnection(i),this.transport.connect(n,e)}_resolveTransportOrError(n,e,i,r){let o=zt[n.transport];if(o==null)return this._logger.log(k.Debug,`Skipping transport '${n.transport}' because it is not supported by this client.`),new Error(`Skipping transport '${n.transport}' because it is not supported by this client.`);if(EB(e,o))if(n.transferFormats.map(a=>Lt[a]).indexOf(i)>=0){if(o===zt.WebSockets&&!this._options.WebSocket||o===zt.ServerSentEvents&&!this._options.EventSource)return this._logger.log(k.Debug,`Skipping transport '${zt[o]}' because it is not supported in your environment.'`),new yp(`'${zt[o]}' is not supported in your environment.`,o);this._logger.log(k.Debug,`Selecting transport '${zt[o]}'.`);try{return this.features.reconnect=o===zt.WebSockets?r:void 0,this._constructTransport(o)}catch(a){return a}}else return this._logger.log(k.Debug,`Skipping transport '${zt[o]}' because it does not support the requested transfer format '${Lt[i]}'.`),new Error(`'${zt[o]}' does not support ${Lt[i]}.`);else return this._logger.log(k.Debug,`Skipping transport '${zt[o]}' because it was disabled by the client.`),new vp(`'${zt[o]}' is disabled by the client.`,o)}_isITransport(n){return n&&typeof n=="object"&&"connect"in n}_stopConnection(n){if(this._logger.log(k.Debug,`HttpConnection.stopConnection(${n}) called while in state ${this._connectionState}.`),this.transport=void 0,n=this._stopError||n,this._stopError=void 0,this._connectionState==="Disconnected"){this._logger.log(k.Debug,`Call to HttpConnection.stopConnection(${n}) was ignored because the connection is already in the disconnected state.`);return}if(this._connectionState==="Connecting")throw this._logger.log(k.Warning,`Call to HttpConnection.stopConnection(${n}) was ignored because the connection is still in the connecting state.`),new Error(`HttpConnection.stopConnection(${n}) was called while the connection is still in the connecting state.`);if(this._connectionState==="Disconnecting"&&this._stopPromiseResolver(),n?this._logger.log(k.Error,`Connection disconnected with error '${n}'.`):this._logger.log(k.Information,"Connection disconnected."),this._sendQueue&&(this._sendQueue.stop().catch(e=>{this._logger.log(k.Error,`TransportSendQueue.stop() threw error '${e}'.`)}),this._sendQueue=void 0),this.connectionId=void 0,this._connectionState="Disconnected",this._connectionStarted){this._connectionStarted=!1;try{this.onclose&&this.onclose(n)}catch(e){this._logger.log(k.Error,`HttpConnection.onclose(${n}) threw error '${e}'.`)}}}_resolveUrl(n){if(n.lastIndexOf("https://",0)===0||n.lastIndexOf("http://",0)===0)return n;if(!Qe.isBrowser)throw new Error(`Cannot resolve '${n}'.`);let e=window.document.createElement("a");return e.href=n,this._logger.log(k.Information,`Normalizing '${n}' to '${e.href}'.`),e.href}_resolveNegotiateUrl(n){let e=new URL(n);e.pathname.endsWith("/")?e.pathname+="negotiate":e.pathname+="/negotiate";let i=new URLSearchParams(e.searchParams);return i.has("negotiateVersion")||i.append("negotiateVersion",this._negotiateVersion.toString()),i.has("useStatefulReconnect")?i.get("useStatefulReconnect")==="true"&&(this._options._useStatefulReconnect=!0):this._options._useStatefulReconnect===!0&&i.append("useStatefulReconnect","true"),e.search=i.toString(),e.toString()}};function EB(t,n){return!t||(n&t)!==0}var ib=class t{constructor(n){this._transport=n,this._buffer=[],this._executing=!0,this._sendBufferedData=new Cl,this._transportResult=new Cl,this._sendLoopPromise=this._sendLoop()}send(n){return this._bufferData(n),this._transportResult||(this._transportResult=new Cl),this._transportResult.promise}stop(){return this._executing=!1,this._sendBufferedData.resolve(),this._sendLoopPromise}_bufferData(n){if(this._buffer.length&&typeof this._buffer[0]!=typeof n)throw new Error(`Expected data to be of type ${typeof this._buffer} but was of type ${typeof n}`);this._buffer.push(n),this._sendBufferedData.resolve()}_sendLoop(){return me(this,null,function*(){for(;;){if(yield this._sendBufferedData.promise,!this._executing){this._transportResult&&this._transportResult.reject("Connection stopped.");break}this._sendBufferedData=new Cl;let n=this._transportResult;this._transportResult=void 0;let e=typeof this._buffer[0]=="string"?this._buffer.join(""):t._concatBuffers(this._buffer);this._buffer.length=0;try{yield this._transport.send(e),n.resolve()}catch(i){n.reject(i)}}})}static _concatBuffers(n){let e=n.map(o=>o.byteLength).reduce((o,s)=>o+s),i=new Uint8Array(e),r=0;for(let o of n)i.set(new Uint8Array(o),r),r+=o.byteLength;return i.buffer}},Cl=class{constructor(){this.promise=new Promise((n,e)=>[this._resolver,this._rejecter]=[n,e])}resolve(){this._resolver()}reject(n){this._rejecter(n)}};var TB="json",Lp=class{constructor(){this.name=TB,this.version=2,this.transferFormat=Lt.Text}parseMessages(n,e){if(typeof n!="string")throw new Error("Invalid input for JSON hub protocol. Expected a string.");if(!n)return[];e===null&&(e=Sr.instance);let i=ti.parse(n),r=[];for(let o of i){let s=JSON.parse(o);if(typeof s.type!="number")throw new Error("Invalid payload.");switch(s.type){case oe.Invocation:this._isInvocationMessage(s);break;case oe.StreamItem:this._isStreamItemMessage(s);break;case oe.Completion:this._isCompletionMessage(s);break;case oe.Ping:break;case oe.Close:break;case oe.Ack:this._isAckMessage(s);break;case oe.Sequence:this._isSequenceMessage(s);break;default:e.log(k.Information,"Unknown message type '"+s.type+"' ignored.");continue}r.push(s)}return r}writeMessage(n){return ti.write(JSON.stringify(n))}_isInvocationMessage(n){this._assertNotEmptyString(n.target,"Invalid payload for Invocation message."),n.invocationId!==void 0&&this._assertNotEmptyString(n.invocationId,"Invalid payload for Invocation message.")}_isStreamItemMessage(n){if(this._assertNotEmptyString(n.invocationId,"Invalid payload for StreamItem message."),n.item===void 0)throw new Error("Invalid payload for StreamItem message.")}_isCompletionMessage(n){if(n.result&&n.error)throw new Error("Invalid payload for Completion message.");!n.result&&n.error&&this._assertNotEmptyString(n.error,"Invalid payload for Completion message."),this._assertNotEmptyString(n.invocationId,"Invalid payload for Completion message.")}_isAckMessage(n){if(typeof n.sequenceId!="number")throw new Error("Invalid SequenceId for Ack message.")}_isSequenceMessage(n){if(typeof n.sequenceId!="number")throw new Error("Invalid SequenceId for Sequence message.")}_assertNotEmptyString(n,e){if(typeof n!="string"||n==="")throw new Error(e)}};var IB={trace:k.Trace,debug:k.Debug,info:k.Information,information:k.Information,warn:k.Warning,warning:k.Warning,error:k.Error,critical:k.Critical,none:k.None};function xB(t){let n=IB[t.toLowerCase()];if(typeof n<"u")return n;throw new Error(`Unknown log level: ${t}`)}var Bs=class{configureLogging(n){if(Ye.isRequired(n,"logging"),kB(n))this.logger=n;else if(typeof n=="string"){let e=xB(n);this.logger=new js(e)}else this.logger=new js(n);return this}withUrl(n,e){return Ye.isRequired(n,"url"),Ye.isNotEmpty(n,"url"),this.url=n,typeof e=="object"?this.httpConnectionOptions=E(E({},this.httpConnectionOptions),e):this.httpConnectionOptions=W(E({},this.httpConnectionOptions),{transport:e}),this}withHubProtocol(n){return Ye.isRequired(n,"protocol"),this.protocol=n,this}withAutomaticReconnect(n){if(this.reconnectPolicy)throw new Error("A reconnectPolicy has already been set.");return n?Array.isArray(n)?this.reconnectPolicy=new Lu(n):this.reconnectPolicy=n:this.reconnectPolicy=new Lu,this}withServerTimeout(n){return Ye.isRequired(n,"milliseconds"),this._serverTimeoutInMilliseconds=n,this}withKeepAliveInterval(n){return Ye.isRequired(n,"milliseconds"),this._keepAliveIntervalInMilliseconds=n,this}withStatefulReconnect(n){return this.httpConnectionOptions===void 0&&(this.httpConnectionOptions={}),this.httpConnectionOptions._useStatefulReconnect=!0,this._statefulReconnectBufferSize=n?.bufferSize,this}build(){let n=this.httpConnectionOptions||{};if(n.logger===void 0&&(n.logger=this.logger),!this.url)throw new Error("The 'HubConnectionBuilder.withUrl' method must be called before building the connection.");let e=new Np(this.url,n);return Nu.create(e,this.logger||Sr.instance,this.protocol||new Lp,this.reconnectPolicy,this._serverTimeoutInMilliseconds,this._keepAliveIntervalInMilliseconds,this._statefulReconnectBufferSize)}};function kB(t){return t.log!==void 0}var ue=function(t){return t[t.State=0]="State",t[t.Transition=1]="Transition",t[t.Sequence=2]="Sequence",t[t.Group=3]="Group",t[t.Animate=4]="Animate",t[t.Keyframes=5]="Keyframes",t[t.Style=6]="Style",t[t.Trigger=7]="Trigger",t[t.Reference=8]="Reference",t[t.AnimateChild=9]="AnimateChild",t[t.AnimateRef=10]="AnimateRef",t[t.Query=11]="Query",t[t.Stagger=12]="Stagger",t}(ue||{}),wi="*";function no(t,n){return{type:ue.Trigger,name:t,definitions:n,options:{}}}function Dn(t,n=null){return{type:ue.Animate,styles:n,timings:t}}function Fp(t,n=null){return{type:ue.Sequence,steps:t,options:n}}function bt(t){return{type:ue.Style,styles:t,offset:null}}function Ir(t,n,e){return{type:ue.State,name:t,styles:n,options:e}}function ni(t,n,e=null){return{type:ue.Transition,expr:t,animation:n,options:e}}var Tr=class{_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_originalOnDoneFns=[];_originalOnStartFns=[];_started=!1;_destroyed=!1;_finished=!1;_position=0;parentPlayer=null;totalTime;constructor(n=0,e=0){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(){queueMicrotask(()=>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){let e=n=="start"?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}},Us=class{_onDoneFns=[];_onStartFns=[];_finished=!1;_started=!1;_destroyed=!1;_onDestroyFns=[];parentPlayer=null;totalTime=0;players;constructor(n){this.players=n;let e=0,i=0,r=0,o=this.players.length;o==0?queueMicrotask(()=>this._onFinish()):this.players.forEach(s=>{s.onDone(()=>{++e==o&&this._onFinish()}),s.onDestroy(()=>{++i==o&&this._onDestroy()}),s.onStart(()=>{++r==o&&this._onStart()})}),this.totalTime=this.players.reduce((s,a)=>Math.max(s,a.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){let e=n*this.totalTime;this.players.forEach(i=>{let r=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(r)})}getPosition(){let n=this.players.reduce((e,i)=>e===null||i.totalTime>e.totalTime?i:e,null);return n!=null?n.getPosition():0}beforeDestroy(){this.players.forEach(n=>{n.beforeDestroy&&n.beforeDestroy()})}triggerCallback(n){let e=n=="start"?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}},wl="!";var Vp=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:()=>S(AB),providedIn:"root"})}return t})(),rb=class{},AB=(()=>{class t extends Vp{animationModuleType=S(Lc,{optional:!0});_nextAnimationId=0;_renderer;constructor(e,i){super();let r={id:"0",encapsulation:pi.None,styles:[],data:{animation:[]}};if(this._renderer=e.createRenderer(i.body,r),this.animationModuleType===null&&!OB(this._renderer))throw new R(3600,!1)}build(e){let i=this._nextAnimationId;this._nextAnimationId++;let r=Array.isArray(e)?Fp(e):e;return ex(this._renderer,null,i,"register",[r]),new ob(i,this._renderer)}static \u0275fac=function(i){return new(i||t)(F(xn),F(Ie))};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ob=class extends rb{_id;_renderer;constructor(n,e){super(),this._id=n,this._renderer=e}create(n,e){return new sb(this._id,n,e||{},this._renderer)}},sb=class{id;element;_renderer;parentPlayer=null;_started=!1;constructor(n,e,i,r){this.id=n,this.element=e,this._renderer=r,this._command("create",i)}_listen(n,e){return this._renderer.listen(this.element,`@@${this.id}:${n}`,e)}_command(n,...e){ex(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 RB(this._renderer)?.engine?.players[this.id]?.getPosition()??0}totalTime=0};function ex(t,n,e,i,r){t.setProperty(n,`@@${e}:${i}`,r)}function RB(t){let n=t.\u0275type;return n===0?t:n===1?t.animationRenderer:null}function OB(t){let n=t.\u0275type;return n===0||n===1}var tx=["toast-component",""];function NB(t,n){if(t&1){let e=N();d(0,"button",5),D("click",function(){C(e);let r=p();return w(r.remove())}),d(1,"span",6),v(2,"\xD7"),h()()}}function LB(t,n){if(t&1&&(At(0),v(1),Rt()),t&2){let e=p(2);f(),Te("[",e.duplicatesCount+1,"]")}}function FB(t,n){if(t&1&&(d(0,"div"),v(1),T(2,LB,2,1,"ng-container",4),h()),t&2){let e=p();Jt(e.options.titleClass),J("aria-label",e.title),f(),Te(" ",e.title," "),f(),g("ngIf",e.duplicatesCount)}}function VB(t,n){if(t&1&&A(0,"div",7),t&2){let e=p();Jt(e.options.messageClass),g("innerHTML",e.message,mi)}}function jB(t,n){if(t&1&&(d(0,"div",8),v(1),h()),t&2){let e=p();Jt(e.options.messageClass),J("aria-label",e.message),f(),Te(" ",e.message," ")}}function HB(t,n){if(t&1&&(d(0,"div"),A(1,"div",9),h()),t&2){let e=p();f(),rn("width",e.width()+"%")}}function BB(t,n){if(t&1){let e=N();d(0,"button",5),D("click",function(){C(e);let r=p();return w(r.remove())}),d(1,"span",6),v(2,"\xD7"),h()()}}function UB(t,n){if(t&1&&(At(0),v(1),Rt()),t&2){let e=p(2);f(),Te("[",e.duplicatesCount+1,"]")}}function $B(t,n){if(t&1&&(d(0,"div"),v(1),T(2,UB,2,1,"ng-container",4),h()),t&2){let e=p();Jt(e.options.titleClass),J("aria-label",e.title),f(),Te(" ",e.title," "),f(),g("ngIf",e.duplicatesCount)}}function YB(t,n){if(t&1&&A(0,"div",7),t&2){let e=p();Jt(e.options.messageClass),g("innerHTML",e.message,mi)}}function zB(t,n){if(t&1&&(d(0,"div",8),v(1),h()),t&2){let e=p();Jt(e.options.messageClass),J("aria-label",e.message),f(),Te(" ",e.message," ")}}function WB(t,n){if(t&1&&(d(0,"div"),A(1,"div",9),h()),t&2){let e=p();f(),rn("width",e.width()+"%")}}var ab=class{_attachedHost;component;viewContainerRef;injector;constructor(n,e){this.component=n,this.injector=e}attach(n,e){return this._attachedHost=n,n.attach(this,e)}detach(){let n=this._attachedHost;if(n)return this._attachedHost=void 0,n.detach()}get isAttached(){return this._attachedHost!=null}setAttachedHost(n){this._attachedHost=n}},lb=class{_attachedPortal;_disposeFn;attach(n,e){return this._attachedPortal=n,this.attachComponentPortal(n,e)}detach(){this._attachedPortal&&this._attachedPortal.setAttachedHost(),this._attachedPortal=void 0,this._disposeFn&&(this._disposeFn(),this._disposeFn=void 0)}setDisposeFn(n){this._disposeFn=n}},cb=class{_overlayRef;componentInstance;duplicatesCount=0;_afterClosed=new X;_activate=new X;_manualClose=new X;_resetTimeout=new X;_countDuplicate=new X;constructor(n){this._overlayRef=n}manualClose(){this._manualClose.next(),this._manualClose.complete()}manualClosed(){return this._manualClose.asObservable()}timeoutReset(){return this._resetTimeout.asObservable()}countDuplicate(){return this._countDuplicate.asObservable()}close(){this._overlayRef.detach(),this._afterClosed.next(),this._manualClose.next(),this._afterClosed.complete(),this._manualClose.complete(),this._activate.complete(),this._resetTimeout.complete(),this._countDuplicate.complete()}afterClosed(){return this._afterClosed.asObservable()}isInactive(){return this._activate.isStopped}activate(){this._activate.next(),this._activate.complete()}afterActivate(){return this._activate.asObservable()}onDuplicate(n,e){n&&this._resetTimeout.next(),e&&this._countDuplicate.next(++this.duplicatesCount)}},Dl=class{toastId;config;message;title;toastType;toastRef;_onTap=new X;_onAction=new X;constructor(n,e,i,r,o,s){this.toastId=n,this.config=e,this.message=i,this.title=r,this.toastType=o,this.toastRef=s,this.toastRef.afterClosed().subscribe(()=>{this._onAction.complete(),this._onTap.complete()})}triggerTap(){this._onTap.next(),this.config.tapToDismiss&&this._onTap.complete()}onTap(){return this._onTap.asObservable()}triggerAction(n){this._onAction.next(n)}onAction(){return this._onAction.asObservable()}},nx={maxOpened:0,autoDismiss:!1,newestOnTop:!0,preventDuplicates:!1,countDuplicates:!1,resetTimeoutOnDuplicate:!1,includeTitleDuplicates:!1,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},closeButton:!1,disableTimeOut:!1,timeOut:5e3,extendedTimeOut:1e3,enableHtml:!1,progressBar:!1,toastClass:"ngx-toastr",positionClass:"toast-top-right",titleClass:"toast-title",messageClass:"toast-message",easing:"ease-in",easeTime:300,tapToDismiss:!0,onActivateTick:!1,progressAnimation:"decreasing"},ix=new B("ToastConfig"),ub=class extends lb{_hostDomElement;_componentFactoryResolver;_appRef;constructor(n,e,i){super(),this._hostDomElement=n,this._componentFactoryResolver=e,this._appRef=i}attachComponentPortal(n,e){let i=this._componentFactoryResolver.resolveComponentFactory(n.component),r;return r=i.create(n.injector),this._appRef.attachView(r.hostView),this.setDisposeFn(()=>{this._appRef.detachView(r.hostView),r.destroy()}),e?this._hostDomElement.insertBefore(this._getComponentRootNode(r),this._hostDomElement.firstChild):this._hostDomElement.appendChild(this._getComponentRootNode(r)),r}_getComponentRootNode(n){return n.hostView.rootNodes[0]}},GB=(()=>{class t{_document=S(Ie);_containerElement;ngOnDestroy(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)}getContainerElement(){return this._containerElement||this._createContainer(),this._containerElement}_createContainer(){let e=this._document.createElement("div");e.classList.add("overlay-container"),e.setAttribute("aria-live","polite"),this._document.body.appendChild(e),this._containerElement=e}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),db=class{_portalHost;constructor(n){this._portalHost=n}attach(n,e=!0){return this._portalHost.attach(n,e)}detach(){return this._portalHost.detach()}},qB=(()=>{class t{_overlayContainer=S(GB);_componentFactoryResolver=S(So);_appRef=S(kn);_document=S(Ie);_paneElements=new Map;create(e,i){return this._createOverlayRef(this.getPaneElement(e,i))}getPaneElement(e="",i){return this._paneElements.get(i)||this._paneElements.set(i,{}),this._paneElements.get(i)[e]||(this._paneElements.get(i)[e]=this._createPaneElement(e,i)),this._paneElements.get(i)[e]}_createPaneElement(e,i){let r=this._document.createElement("div");return r.id="toast-container",r.classList.add(e),r.classList.add("toast-container"),i?i.getContainerElement().appendChild(r):this._overlayContainer.getContainerElement().appendChild(r),r}_createPortalHost(e){return new ub(e,this._componentFactoryResolver,this._appRef)}_createOverlayRef(e){return new db(this._createPortalHost(e))}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),hn=(()=>{class t{overlay;_injector;sanitizer;ngZone;toastrConfig;currentlyActive=0;toasts=[];overlayContainer;previousToastMessage;index=0;constructor(e,i,r,o,s){this.overlay=i,this._injector=r,this.sanitizer=o,this.ngZone=s,this.toastrConfig=E(E({},e.default),e.config),e.config.iconClasses&&(this.toastrConfig.iconClasses=E(E({},e.default.iconClasses),e.config.iconClasses))}show(e,i,r={},o=""){return this._preBuildNotification(o,e,i,this.applyConfig(r))}success(e,i,r={}){let o=this.toastrConfig.iconClasses.success||"";return this._preBuildNotification(o,e,i,this.applyConfig(r))}error(e,i,r={}){let o=this.toastrConfig.iconClasses.error||"";return this._preBuildNotification(o,e,i,this.applyConfig(r))}info(e,i,r={}){let o=this.toastrConfig.iconClasses.info||"";return this._preBuildNotification(o,e,i,this.applyConfig(r))}warning(e,i,r={}){let o=this.toastrConfig.iconClasses.warning||"";return this._preBuildNotification(o,e,i,this.applyConfig(r))}clear(e){for(let i of this.toasts)if(e!==void 0){if(i.toastId===e){i.toastRef.manualClose();return}}else i.toastRef.manualClose()}remove(e){let i=this._findToast(e);if(!i||(i.activeToast.toastRef.close(),this.toasts.splice(i.index,1),this.currentlyActive=this.currentlyActive-1,!this.toastrConfig.maxOpened||!this.toasts.length))return!1;if(this.currentlyActivethis._buildNotification(e,i,r,o)):this._buildNotification(e,i,r,o)}_buildNotification(e,i,r,o){if(!o.toastComponent)throw new Error("toastComponent required");let s=this.findDuplicate(r,i,this.toastrConfig.resetTimeoutOnDuplicate&&o.timeOut>0,this.toastrConfig.countDuplicates);if((this.toastrConfig.includeTitleDuplicates&&r||i)&&this.toastrConfig.preventDuplicates&&s!==null)return s;this.previousToastMessage=i;let a=!1;this.toastrConfig.maxOpened&&this.currentlyActive>=this.toastrConfig.maxOpened&&(a=!0,this.toastrConfig.autoDismiss&&this.clear(this.toasts[0].toastId));let l=this.overlay.create(o.positionClass,this.overlayContainer);this.index=this.index+1;let c=i;i&&o.enableHtml&&(c=this.sanitizer.sanitize(Qn.HTML,i));let u=new cb(l),m=new Dl(this.index,o,c,r,e,u),b=[{provide:Dl,useValue:m}],_=kt.create({providers:b,parent:this._injector}),M=new ab(o.toastComponent,_),I=l.attach(M,o.newestOnTop);u.componentInstance=I.instance;let O={toastId:this.index,title:r||"",message:i||"",toastRef:u,onShown:u.afterActivate(),onHidden:u.afterClosed(),onTap:m.onTap(),onAction:m.onAction(),portal:I};return a||(this.currentlyActive=this.currentlyActive+1,setTimeout(()=>{O.toastRef.activate()})),this.toasts.push(O),O}static \u0275fac=function(i){return new(i||t)(F(ix),F(qB),F(kt),F(Kr),F(Me))};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),QB=(()=>{class t{toastrService;toastPackage;ngZone;message;title;options;duplicatesCount;originalTimeout;width=ht(-1);toastClasses="";state;get _state(){return this.state()}get displayStyle(){if(this.state().value==="inactive")return"none"}timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(e,i,r){this.toastrService=e,this.toastPackage=i,this.ngZone=r,this.message=i.message,this.title=i.title,this.options=i.config,this.originalTimeout=i.config.timeOut,this.toastClasses=`${i.toastType} ${i.config.toastClass}`,this.sub=i.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=i.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=i.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=i.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o}),this.state=ht({value:"inactive",params:{easeTime:this.toastPackage.config.easeTime,easing:"ease-in"}})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.update(e=>W(E({},e),{value:"active"})),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.outsideTimeout(()=>this.remove(),this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let e=new Date().getTime(),i=this.hideTime-e;this.width.set(i/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(r=>100-r),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.update(e=>W(E({},e),{value:"active"})),this.outsideTimeout(()=>this.remove(),this.originalTimeout),this.options.timeOut=this.originalTimeout,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10)}remove(){this.state().value!=="removed"&&(clearTimeout(this.timeout),this.state.update(e=>W(E({},e),{value:"removed"})),this.outsideTimeout(()=>this.toastrService.remove(this.toastPackage.toastId),+this.toastPackage.config.easeTime))}tapToast(){this.state().value!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state().value!=="removed"&&this.options.disableTimeOut!=="extendedTimeOut"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state().value==="removed"||(this.outsideTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&this.outsideInterval(()=>this.updateProgress(),10))}outsideTimeout(e,i){this.ngZone?this.ngZone.runOutsideAngular(()=>this.timeout=setTimeout(()=>this.runInsideAngular(e),i)):this.timeout=setTimeout(()=>e(),i)}outsideInterval(e,i){this.ngZone?this.ngZone.runOutsideAngular(()=>this.intervalId=setInterval(()=>this.runInsideAngular(e),i)):this.intervalId=setInterval(()=>e(),i)}runInsideAngular(e){this.ngZone?this.ngZone.run(()=>e()):e()}static \u0275fac=function(i){return new(i||t)(y(hn),y(Dl),y(Me))};static \u0275cmp=L({type:t,selectors:[["","toast-component",""]],hostVars:5,hostBindings:function(i,r){i&1&&D("click",function(){return r.tapToast()})("mouseenter",function(){return r.stickAround()})("mouseleave",function(){return r.delayedHideToast()}),i&2&&(Pv("@flyInOut",r._state),Jt(r.toastClasses),rn("display",r.displayStyle))},attrs:tx,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(i,r){i&1&&T(0,NB,3,0,"button",0)(1,FB,3,5,"div",1)(2,VB,1,3,"div",2)(3,jB,2,4,"div",3)(4,HB,2,2,"div",4),i&2&&(g("ngIf",r.options.closeButton),f(),g("ngIf",r.title),f(),g("ngIf",r.message&&r.options.enableHtml),f(),g("ngIf",r.message&&!r.options.enableHtml),f(),g("ngIf",r.options.progressBar))},dependencies:[De],encapsulation:2,data:{animation:[no("flyInOut",[Ir("inactive",bt({opacity:0})),Ir("active",bt({opacity:1})),Ir("removed",bt({opacity:0})),ni("inactive => active",Dn("{{ easeTime }}ms {{ easing }}")),ni("active => removed",Dn("{{ easeTime }}ms {{ easing }}"))])]},changeDetection:0})}return t})(),ZB=W(E({},nx),{toastComponent:QB}),hb=(t={})=>Do([{provide:ix,useValue:{default:ZB,config:t}}]),rx=(()=>{class t{static forRoot(e={}){return{ngModule:t,providers:[hb(e)]}}static \u0275fac=function(i){return new(i||t)};static \u0275mod=be({type:t});static \u0275inj=ve({})}return t})();var KB=(()=>{class t{toastrService;toastPackage;appRef;message;title;options;duplicatesCount;originalTimeout;width=ht(-1);toastClasses="";get displayStyle(){return this.state()==="inactive"?"none":null}state=ht("inactive");timeout;intervalId;hideTime;sub;sub1;sub2;sub3;constructor(e,i,r){this.toastrService=e,this.toastPackage=i,this.appRef=r,this.message=i.message,this.title=i.title,this.options=i.config,this.originalTimeout=i.config.timeOut,this.toastClasses=`${i.toastType} ${i.config.toastClass}`,this.sub=i.toastRef.afterActivate().subscribe(()=>{this.activateToast()}),this.sub1=i.toastRef.manualClosed().subscribe(()=>{this.remove()}),this.sub2=i.toastRef.timeoutReset().subscribe(()=>{this.resetTimeout()}),this.sub3=i.toastRef.countDuplicate().subscribe(o=>{this.duplicatesCount=o})}ngOnDestroy(){this.sub.unsubscribe(),this.sub1.unsubscribe(),this.sub2.unsubscribe(),this.sub3.unsubscribe(),clearInterval(this.intervalId),clearTimeout(this.timeout)}activateToast(){this.state.set("active"),!(this.options.disableTimeOut===!0||this.options.disableTimeOut==="timeOut")&&this.options.timeOut&&(this.timeout=setTimeout(()=>{this.remove()},this.options.timeOut),this.hideTime=new Date().getTime()+this.options.timeOut,this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))),this.options.onActivateTick&&this.appRef.tick()}updateProgress(){if(this.width()===0||this.width()===100||!this.options.timeOut)return;let e=new Date().getTime(),i=this.hideTime-e;this.width.set(i/this.options.timeOut*100),this.options.progressAnimation==="increasing"&&this.width.update(r=>100-r),this.width()<=0&&this.width.set(0),this.width()>=100&&this.width.set(100)}resetTimeout(){clearTimeout(this.timeout),clearInterval(this.intervalId),this.state.set("active"),this.options.timeOut=this.originalTimeout,this.timeout=setTimeout(()=>this.remove(),this.originalTimeout),this.hideTime=new Date().getTime()+(this.originalTimeout||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10))}remove(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.state.set("removed"),this.timeout=setTimeout(()=>this.toastrService.remove(this.toastPackage.toastId)))}tapToast(){this.state()!=="removed"&&(this.toastPackage.triggerTap(),this.options.tapToDismiss&&this.remove())}stickAround(){this.state()!=="removed"&&(clearTimeout(this.timeout),this.options.timeOut=0,this.hideTime=0,clearInterval(this.intervalId),this.width.set(0))}delayedHideToast(){this.options.disableTimeOut===!0||this.options.disableTimeOut==="extendedTimeOut"||this.options.extendedTimeOut===0||this.state()==="removed"||(this.timeout=setTimeout(()=>this.remove(),this.options.extendedTimeOut),this.options.timeOut=this.options.extendedTimeOut,this.hideTime=new Date().getTime()+(this.options.timeOut||0),this.width.set(-1),this.options.progressBar&&(this.intervalId=setInterval(()=>this.updateProgress(),10)))}static \u0275fac=function(i){return new(i||t)(y(hn),y(Dl),y(kn))};static \u0275cmp=L({type:t,selectors:[["","toast-component",""]],hostVars:4,hostBindings:function(i,r){i&1&&D("click",function(){return r.tapToast()})("mouseenter",function(){return r.stickAround()})("mouseleave",function(){return r.delayedHideToast()}),i&2&&(Jt(r.toastClasses),rn("display",r.displayStyle))},attrs:tx,decls:5,vars:5,consts:[["type","button","class","toast-close-button","aria-label","Close",3,"click",4,"ngIf"],[3,"class",4,"ngIf"],["role","alert",3,"class","innerHTML",4,"ngIf"],["role","alert",3,"class",4,"ngIf"],[4,"ngIf"],["type","button","aria-label","Close",1,"toast-close-button",3,"click"],["aria-hidden","true"],["role","alert",3,"innerHTML"],["role","alert"],[1,"toast-progress"]],template:function(i,r){i&1&&T(0,BB,3,0,"button",0)(1,$B,3,5,"div",1)(2,YB,1,3,"div",2)(3,zB,2,4,"div",3)(4,WB,2,2,"div",4),i&2&&(g("ngIf",r.options.closeButton),f(),g("ngIf",r.title),f(),g("ngIf",r.message&&r.options.enableHtml),f(),g("ngIf",r.message&&!r.options.enableHtml),f(),g("ngIf",r.options.progressBar))},dependencies:[De],encapsulation:2,changeDetection:0})}return t})(),hse=W(E({},nx),{toastComponent:KB});var Ho=class t{hubConnection;toastr=S(hn);router=S(sn);onlineUsers=ht([]);hubUrl=Yt.hubsUrl;createHubConnection(n){this.hubConnection=new Bs().withUrl(this.hubUrl+"presence",{accessTokenFactory:()=>n.token}).withAutomaticReconnect().build(),this.hubConnection.start().catch(e=>console.log(e)),this.hubConnection.on("UserIsOnline",e=>{this.toastr.info(e+" has connected"),this.onlineUsers.update(i=>[...i,e])}),this.hubConnection.on("UserIsOffline",e=>{this.toastr.warning(e+" has disconnected"),this.onlineUsers.update(i=>i.filter(r=>r!==e))}),this.hubConnection.on("GetOnlineUsers",e=>{this.onlineUsers.set(e)}),this.hubConnection.on("NewMessageReceived",({username:e,knownAs:i})=>{this.toastr.info(i+" has sent you a new message!").onTap.pipe(yt(1)).subscribe(()=>this.router.navigateByUrl("/members/"+e+"?tab=Messages"))}),this.hubConnection.on("PhotoApproved",e=>{this.toastr.success(e.message)}),this.hubConnection.on("PhotoRejected",e=>{this.toastr.error(e.message)})}stopHubConnection(){this.hubConnection?.state===Be.Connected&&this.hubConnection.stop().catch(n=>console.log(n))}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};var tt=class t{http=S(Fn);likesService=S(Fo);presenceSerivce=S(Ho);baseUrl=Yt.apiUrl;currentUser=ht(null);roles=$i(()=>{let n=this.currentUser();if(n&&n.token){let e=JSON.parse(atob(n.token.split(".")[1])).role;return Array.isArray(e)?e:[e]}return[]});login(n){return this.http.post(this.baseUrl+"account/login",n).pipe(G(e=>{e&&this.setCurrentUser(e)}))}register(n){return this.http.post(this.baseUrl+"account/register",n).pipe(G(e=>(e&&this.setCurrentUser(e),e)))}setCurrentUser(n){n.photoUrl||(n.photoUrl="https://th.bing.com/th/id/OIP.PoS7waY4-VeqgNuBSxVUogAAAA?rs=1&pid=ImgDetMain"),localStorage.setItem("user",JSON.stringify(n)),this.currentUser.set(n),this.likesService.getLikeIds(),this.presenceSerivce.createHubConnection(n)}logout(){localStorage.removeItem("user"),this.currentUser.set(null),this.presenceSerivce.stopHubConnection()}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};function JB(t,n){if(t&1&&(d(0,"div",3),v(1),h()),t&2){let e=p();f(),Te(" Please enter ",e.label()," ")}}function XB(t,n){if(t&1&&(d(0,"div",3),v(1),h()),t&2){let e,i=p();f(),hr(" ",i.label()," must be at least ",(e=i.control.getError("minlength"))==null?null:e.requiredLength," characters ")}}function e3(t,n){if(t&1&&(d(0,"div",3),v(1),h()),t&2){let e,i=p();f(),hr(" ",i.label()," must be at most ",(e=i.control.getError("maxlength"))==null?null:e.requiredLength," characters ")}}function t3(t,n){t&1&&(d(0,"div",3),v(1," Passwords do not match "),h())}var jp=class t{constructor(n){this.ngControl=n;this.ngControl.valueAccessor=this}label=Rn("");type=Rn("text");get control(){return this.ngControl.control}writeValue(n){}registerOnChange(n){}registerOnTouched(n){}static \u0275fac=function(e){return new(e||t)(y(jn,2))};static \u0275cmp=L({type:t,selectors:[["app-text-input"]],inputs:{label:[1,"label"],type:[1,"type"]},decls:8,vars:10,consts:[[1,"mb-3","form-floating"],[1,"form-control",3,"type","formControl","placeholder"],["class","invalid-feedback text-start",4,"ngIf"],[1,"invalid-feedback","text-start"]],template:function(e,i){e&1&&(d(0,"div",0),A(1,"input",1),d(2,"label"),v(3),h(),T(4,JB,2,1,"div",2)(5,XB,2,2,"div",2)(6,e3,2,2,"div",2)(7,t3,2,0,"div",2),h()),e&2&&(f(),j("is-invalid",i.control.touched&&i.control.invalid),g("type",i.type())("formControl",i.control)("placeholder",i.label()),f(2),U(i.label()),f(),g("ngIf",(i.control==null?null:i.control.hasError("required"))&&(i.control==null?null:i.control.touched)),f(),g("ngIf",(i.control==null?null:i.control.hasError("minlength"))&&(i.control==null?null:i.control.touched)),f(),g("ngIf",(i.control==null?null:i.control.hasError("maxlength"))&&(i.control==null?null:i.control.touched)),f(),g("ngIf",i.control==null?null:i.control.hasError("isMatching")))},dependencies:[yl,en,Nt,Fs,De],encapsulation:2})};function n3(t,n){return(t%n+n)%n}function qs(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function ri(t){return typeof t=="string"}function Qu(t){return t instanceof Date||Object.prototype.toString.call(t)==="[object Date]"}function ao(t){return t&&t.getTime&&!isNaN(t.getTime())}function Zs(t){return t instanceof Function||Object.prototype.toString.call(t)==="[object Function]"}function Vl(t){return typeof t=="number"||Object.prototype.toString.call(t)==="[object Number]"}function st(t){return t instanceof Array||Object.prototype.toString.call(t)==="[object Array]"}function fn(t,n){return Object.prototype.hasOwnProperty.call(t,n)}function Js(t){return t!=null&&Object.prototype.toString.call(t)==="[object Object]"}function i3(t){if(Object.getOwnPropertyNames)return Object.getOwnPropertyNames(t).length===0;let n;for(n in t)if(t.hasOwnProperty(n))return!1;return!0}function Fx(t){return t===void 0}function Se(t){let n=+t,e=0;return n!==0&&isFinite(n)&&(e=qs(n)),e}var Uu={},ox={date:"day",hour:"hours",minute:"minutes",second:"seconds",millisecond:"milliseconds"};function pn(t,n){let e=t.toLowerCase(),i=t;e in ox&&(i=ox[e]),Uu[e]=Uu[`${e}s`]=Uu[n]=i}function Vx(t){return ri(t)?Uu[t]||Uu[t.toLowerCase()]:void 0}function r3(t){let n={},e,i;for(i in t)fn(t,i)&&(e=Vx(i),e&&(n[e]=t[i]));return n}var Zi=0,oo=1,xr=2,Wt=3,Ki=4,so=5,Ks=6,o3=7,s3=8;function ro(t,n,e){let i=`${Math.abs(t)}`,r=n-i.length,s=t>=0?e?"+":"":"-",a=Math.pow(10,Math.max(0,r)).toString().substr(1);return s+a+i}var fb={},Nl={},jx=/(\[[^\[]*\])|(\\)?([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;function re(t,n,e,i){t&&(Nl[t]=i),n&&(Nl[n[0]]=function(){return ro(i.apply(null,arguments),n[1],n[2])}),e&&(Nl[e]=function(r,o){return o.locale.ordinal(i.apply(null,arguments),t)})}function a3(t){let n=t.match(jx),e=n.length,i=new Array(e);for(let r=0;r=0&&isFinite(i.getUTCFullYear())&&i.setUTCFullYear(t),i}function Jp(t,n=0,e=1,i=0,r=0,o=0,s=0){let a=new Date(t,n,e,i,r,o,s);return t<100&&t>=0&&isFinite(a.getFullYear())&&a.setFullYear(t),a}function Ee(t,n=!1){return n?t.getUTCHours():t.getHours()}function Rl(t,n=!1){return n?t.getUTCMinutes():t.getMinutes()}function xb(t,n=!1){return n?t.getUTCSeconds():t.getSeconds()}function io(t,n=!1){return n?t.getUTCMilliseconds():t.getMilliseconds()}function c3(t){return t.getTime()}function Ji(t,n=!1){return n?t.getUTCDay():t.getDay()}function Wu(t,n=!1){return n?t.getUTCDate():t.getDate()}function Ae(t,n=!1){return n?t.getUTCMonth():t.getMonth()}function Ft(t,n=!1){return n?t.getUTCFullYear():t.getFullYear()}function u3(t){return Math.floor(t.valueOf()/1e3)}function Hx(t){return Jp(t.getFullYear(),t.getMonth(),1,t.getHours(),t.getMinutes(),t.getSeconds())}function Bx(t,n){return t.getDay()===Number(n)}function ea(t,n){return!t||!n?!1:ta(t,n)&&Ae(t)===Ae(n)}function ta(t,n){return!t||!n?!1:Ft(t)===Ft(n)}function lo(t,n){return!t||!n?!1:ta(t,n)&&ea(t,n)&&Wu(t)===Wu(n)}var Ux=/\d/,ii=/\d\d/,$x=/\d{3}/,kb=/\d{4}/,Wp=/[+-]?\d{6}/,lt=/\d\d?/,sx=/\d\d\d\d?/,ax=/\d\d\d\d\d\d?/,Up=/\d{1,3}/,Ab=/\d{1,4}/,Gp=/[+-]?\d{1,6}/,d3=/\d+/,qp=/[+-]?\d+/;var pb=/Z|[+-]\d\d(?::?\d\d)?/gi,h3=/[+-]?\d+(\.\d{1,3})?/,$u=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,Qp={};function q(t,n,e){if(Zs(n)){Qp[t]=n;return}Qp[t]=function(i,r){return i&&e?e:n}}function f3(t,n){return fn(Qp,t)?Qp[t](!1,n):new RegExp(p3(t))}function p3(t){return Qs(t.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(n,e,i,r,o)=>e||i||r||o))}function Qs(t){return t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var Rb={};function at(t,n){let e=ri(t)?[t]:t,i=n;if(Vl(n)&&(i=function(r,o,s){return o[n]=Se(r),s}),st(e)&&Zs(i)){let r;for(r=0;r68?1900:2e3)}function Yu(t){return Yx(t)?366:365}function Yx(t){return t%4===0&&t%100!==0||t%400===0}function jb(t,n){if(isNaN(t)||isNaN(n))return NaN;let e=n3(n,12),i=t+(n-e)/12;return e===1?Yx(i)?29:28:31-e%7%2}function b3(){re("M",["MM",2,!1],"Mo",function(t,n){return(Ae(t,n.isUTC)+1).toString(10)}),re("MMM",null,null,function(t,n){return n.locale.monthsShort(t,n.format,n.isUTC)}),re("MMMM",null,null,function(t,n){return n.locale.months(t,n.format,n.isUTC)}),pn("month","M"),mn("month",8),q("M",lt),q("MM",lt,ii),q("MMM",function(t,n){return n.monthsShortRegex(t)}),q("MMMM",function(t,n){return n.monthsRegex(t)}),at(["M","MM"],function(t,n,e){return n[oo]=Se(t)-1,e}),at(["MMM","MMMM"],function(t,n,e,i){let r=e._locale.monthsParse(t,i,e._strict);return r!=null?n[oo]=r:Ne(e).invalidMonth=!!t,e})}var C3={year:0,month:0,day:0,hour:0,minute:0,seconds:0};function qt(t,n){let e=Object.assign({},C3,n),i=t.getFullYear()+(e.year||0),r=t.getMonth()+(e.month||0),o=t.getDate()+(e.day||0);return e.month&&!e.day&&(o=Math.min(o,jb(i,r))),Jp(i,r,o,t.getHours()+(e.hour||0),t.getMinutes()+(e.minute||0),t.getSeconds()+(e.seconds||0))}function zx(t,n){return Jp(Ml(t.getFullYear(),n.year),Ml(t.getMonth(),n.month),1,Ml(t.getHours(),n.hour),Ml(t.getMinutes(),n.minute),Ml(t.getSeconds(),n.seconds),Ml(t.getMilliseconds(),n.milliseconds))}function Ml(t,n){return Vl(n)?n:t}function Pb(t,n,e){let i=Math.min(Wu(t),jb(Ft(t),n));return e?t.setUTCMonth(n,i):t.setMonth(n,i),t}function w3(t,n,e){return e?t.setUTCHours(n):t.setHours(n),t}function D3(t,n,e){return e?t.setUTCMinutes(n):t.setMinutes(n),t}function M3(t,n,e){return e?t.setUTCSeconds(n):t.setSeconds(n),t}function S3(t,n,e){return e?t.setUTCMilliseconds(n):t.setMilliseconds(n),t}function Wx(t,n,e){return e?t.setUTCDate(n):t.setDate(n),t}function E3(t,n){return t.setTime(n),t}function Xs(t){return new Date(t.getTime())}function kr(t,n,e){let i=Xs(t);switch(n){case"year":Pb(i,0,e);case"quarter":case"month":Wx(i,1,e);case"week":case"isoWeek":case"day":case"date":w3(i,0,e);case"hours":D3(i,0,e);case"minutes":M3(i,0,e);case"seconds":S3(i,0,e)}return n==="week"&&QU(i,0,{isUTC:e}),n==="isoWeek"&&KU(i,1),n==="quarter"&&Pb(i,Math.floor(Ae(i,e)/3)*3,e),i}function Zu(t,n,e){let i=n;i==="date"&&(i="day");let r=kr(t,i,e),o=qu(r,1,i==="isoWeek"?"week":i,e);return zU(o,1,"milliseconds",e)}function T3(){re("DDD",["DDDD",3,!1],"DDDo",function(t){return Gx(t).toString(10)}),pn("dayOfYear","DDD"),mn("dayOfYear",4),q("DDD",Up),q("DDDD",$x),at(["DDD","DDDD"],function(t,n,e){return e._dayOfYear=Se(t),e})}function Gx(t,n){let e=+kr(t,"day",n),i=+kr(t,"year",n),r=e-i,o=1e3*60*60*24;return Math.round(r/o)+1}function Zp(t,n,e){let i=n-e+7;return-((Vb(t,0,i).getUTCDay()-n+7)%7)+i-1}function I3(t,n,e,i,r){let o=(7+e-i)%7,s=Zp(t,i,r),a=1+7*(n-1)+o+s,l,c;return a<=0?(l=t-1,c=Yu(l)+a):a>Yu(t)?(l=t+1,c=a-Yu(t)):(l=t,c=a),{year:l,dayOfYear:c}}function Ll(t,n,e,i){let r=Zp(Ft(t,i),n,e),o=Math.floor((Gx(t,i)-r-1)/7)+1,s,a;return o<1?(a=Ft(t,i)-1,s=o+$p(a,n,e)):o>$p(Ft(t,i),n,e)?(s=o-$p(Ft(t,i),n,e),a=Ft(t,i)+1):(a=Ft(t,i),s=o),{week:s,year:a}}function $p(t,n,e){let i=Zp(t,n,e),r=Zp(t+1,n,e);return(Yu(t)-i+r)/7}var lx=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,x3="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),qx="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),k3="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),Qx="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),A3="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Zx={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"},R3="%d",O3=/\d{1,2}/,P3=$u,N3=$u,Nb=class{constructor(n){n&&this.set(n)}set(n){let e;for(e in n){if(!n.hasOwnProperty(e))continue;let i=n[e],r=Zs(i)?e:`_${e}`;this[r]=i}this._config=n}calendar(n,e,i){let r=this._calendar[n]||this._calendar.sameElse;return Zs(r)?r.call(null,e,i):r}longDateFormat(n){let e=this._longDateFormat[n],i=this._longDateFormat[n.toUpperCase()];return e||!i?e:(this._longDateFormat[n]=i.replace(/MMMM|MM|DD|dddd/g,function(r){return r.slice(1)}),this._longDateFormat[n])}get invalidDate(){return this._invalidDate}set invalidDate(n){this._invalidDate=n}ordinal(n,e){return this._ordinal.replace("%d",n.toString(10))}preparse(n,e){return n}getFullYear(n,e=!1){return Ft(n,e)}postformat(n){return n}relativeTime(n,e,i,r){let o=this._relativeTime[i];return Zs(o)?o(n,e,i,r):o.replace(/%d/i,n.toString(10))}pastFuture(n,e){let i=this._relativeTime[n>0?"future":"past"];return Zs(i)?i(e):i.replace(/%s/i,e)}months(n,e,i=!1){if(!n)return st(this._months)?this._months:this._months.standalone;if(st(this._months))return this._months[Ae(n,i)];let r=(this._months.isFormat||lx).test(e)?"format":"standalone";return this._months[r][Ae(n,i)]}monthsShort(n,e,i=!1){if(!n)return st(this._monthsShort)?this._monthsShort:this._monthsShort.standalone;if(st(this._monthsShort))return this._monthsShort[Ae(n,i)];let r=lx.test(e)?"format":"standalone";return this._monthsShort[r][Ae(n,i)]}monthsParse(n,e,i){let r,o;if(this._monthsParseExact)return this.handleMonthStrictParse(n,e,i);this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]);let s;for(s=0;s<12;s++){if(r=new Date(Date.UTC(2e3,s)),i&&!this._longMonthsParse[s]){let a=this.months(r,"",!0).replace(".",""),l=this.monthsShort(r,"",!0).replace(".","");this._longMonthsParse[s]=new RegExp(`^${a}$`,"i"),this._shortMonthsParse[s]=new RegExp(`^${l}$`,"i")}if(!i&&!this._monthsParse[s]&&(o=`^${this.months(r,"",!0)}|^${this.monthsShort(r,"",!0)}`,this._monthsParse[s]=new RegExp(o.replace(".",""),"i")),i&&e==="MMMM"&&this._longMonthsParse[s].test(n)||i&&e==="MMM"&&this._shortMonthsParse[s].test(n)||!i&&this._monthsParse[s].test(n))return s}}monthsRegex(n){return this._monthsParseExact?(fn(this,"_monthsRegex")||this.computeMonthsParse(),n?this._monthsStrictRegex:this._monthsRegex):(fn(this,"_monthsRegex")||(this._monthsRegex=N3),this._monthsStrictRegex&&n?this._monthsStrictRegex:this._monthsRegex)}monthsShortRegex(n){return this._monthsParseExact?(fn(this,"_monthsRegex")||this.computeMonthsParse(),n?this._monthsShortStrictRegex:this._monthsShortRegex):(fn(this,"_monthsShortRegex")||(this._monthsShortRegex=P3),this._monthsShortStrictRegex&&n?this._monthsShortStrictRegex:this._monthsShortRegex)}week(n,e){return Ll(n,this._week.dow,this._week.doy,e).week}firstDayOfWeek(){return this._week.dow}firstDayOfYear(){return this._week.doy}weekdays(n,e,i){if(!n)return st(this._weekdays)?this._weekdays:this._weekdays.standalone;if(st(this._weekdays))return this._weekdays[Ji(n,i)];let r=this._weekdays.isFormat.test(e)?"format":"standalone";return this._weekdays[r][Ji(n,i)]}weekdaysMin(n,e,i){return n?this._weekdaysMin[Ji(n,i)]:this._weekdaysMin}weekdaysShort(n,e,i){return n?this._weekdaysShort[Ji(n,i)]:this._weekdaysShort}weekdaysParse(n,e,i){let r,o;if(this._weekdaysParseExact)return this.handleWeekStrictParse(n,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){let s=Yp(new Date(Date.UTC(2e3,1)),r,null,!0);if(i&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp(`^${this.weekdays(s,"",!0).replace(".",".?")}$`,"i"),this._shortWeekdaysParse[r]=new RegExp(`^${this.weekdaysShort(s,"",!0).replace(".",".?")}$`,"i"),this._minWeekdaysParse[r]=new RegExp(`^${this.weekdaysMin(s,"",!0).replace(".",".?")}$`,"i")),this._weekdaysParse[r]||(o=`^${this.weekdays(s,"",!0)}|^${this.weekdaysShort(s,"",!0)}|^${this.weekdaysMin(s,"",!0)}`,this._weekdaysParse[r]=new RegExp(o.replace(".",""),"i")),!st(this._fullWeekdaysParse)||!st(this._shortWeekdaysParse)||!st(this._minWeekdaysParse)||!st(this._weekdaysParse))return;if(i&&e==="dddd"&&this._fullWeekdaysParse[r].test(n))return r;if(i&&e==="ddd"&&this._shortWeekdaysParse[r].test(n))return r;if(i&&e==="dd"&&this._minWeekdaysParse[r].test(n))return r;if(!i&&this._weekdaysParse[r].test(n))return r}}weekdaysRegex(n){return this._weekdaysParseExact?(fn(this,"_weekdaysRegex")||this.computeWeekdaysParse(),n?this._weekdaysStrictRegex:this._weekdaysRegex):(fn(this,"_weekdaysRegex")||(this._weekdaysRegex=$u),this._weekdaysStrictRegex&&n?this._weekdaysStrictRegex:this._weekdaysRegex)}weekdaysShortRegex(n){return this._weekdaysParseExact?(fn(this,"_weekdaysRegex")||this.computeWeekdaysParse(),n?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(fn(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=$u),this._weekdaysShortStrictRegex&&n?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}weekdaysMinRegex(n){return this._weekdaysParseExact?(fn(this,"_weekdaysRegex")||this.computeWeekdaysParse(),n?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(fn(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=$u),this._weekdaysMinStrictRegex&&n?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}isPM(n){return n.toLowerCase().charAt(0)==="p"}meridiem(n,e,i){return n>11?i?"pm":"PM":i?"am":"AM"}formatLongDate(n){this._longDateFormat=this._longDateFormat?this._longDateFormat:Zx;let e=this._longDateFormat[n],i=this._longDateFormat[n.toUpperCase()];return e||!i?e:(this._longDateFormat[n]=i.replace(/MMMM|MM|DD|dddd/g,r=>r.slice(1)),this._longDateFormat[n])}handleMonthStrictParse(n,e,i){let r=n.toLocaleLowerCase(),o,s,a;if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],o=0;o<12;++o)a=new Date(2e3,o),this._shortMonthsParse[o]=this.monthsShort(a,"").toLocaleLowerCase(),this._longMonthsParse[o]=this.months(a,"").toLocaleLowerCase();return i?e==="MMM"?(s=this._shortMonthsParse.indexOf(r),s!==-1?s:null):(s=this._longMonthsParse.indexOf(r),s!==-1?s:null):e==="MMM"?(s=this._shortMonthsParse.indexOf(r),s!==-1?s:(s=this._longMonthsParse.indexOf(r),s!==-1?s:null)):(s=this._longMonthsParse.indexOf(r),s!==-1?s:(s=this._shortMonthsParse.indexOf(r),s!==-1?s:null))}handleWeekStrictParse(n,e,i){let r,o=n.toLocaleLowerCase();if(!this._weekdaysParse){this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[];let s;for(s=0;s<7;++s){let a=Yp(new Date(Date.UTC(2e3,1)),s,null,!0);this._minWeekdaysParse[s]=this.weekdaysMin(a).toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(a).toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(a,"").toLocaleLowerCase()}}if(!(!st(this._weekdaysParse)||!st(this._shortWeekdaysParse)||!st(this._minWeekdaysParse)))return i?e==="dddd"?(r=this._weekdaysParse.indexOf(o),r!==-1?r:null):e==="ddd"?(r=this._shortWeekdaysParse.indexOf(o),r!==-1?r:null):(r=this._minWeekdaysParse.indexOf(o),r!==-1?r:null):e==="dddd"?(r=this._weekdaysParse.indexOf(o),r!==-1||(r=this._shortWeekdaysParse.indexOf(o),r!==-1)?r:(r=this._minWeekdaysParse.indexOf(o),r!==-1?r:null)):e==="ddd"?(r=this._shortWeekdaysParse.indexOf(o),r!==-1||(r=this._weekdaysParse.indexOf(o),r!==-1)?r:(r=this._minWeekdaysParse.indexOf(o),r!==-1?r:null)):(r=this._minWeekdaysParse.indexOf(o),r!==-1||(r=this._weekdaysParse.indexOf(o),r!==-1)?r:(r=this._shortWeekdaysParse.indexOf(o),r!==-1?r:null))}computeMonthsParse(){let n=[],e=[],i=[],r,o;for(o=0;o<12;o++)r=new Date(2e3,o),n.push(this.monthsShort(r,"")),e.push(this.months(r,"")),i.push(this.months(r,"")),i.push(this.monthsShort(r,""));for(n.sort($s),e.sort($s),i.sort($s),o=0;o<12;o++)n[o]=Qs(n[o]),e[o]=Qs(e[o]);for(o=0;o<24;o++)i[o]=Qs(i[o]);this._monthsRegex=new RegExp(`^(${i.join("|")})`,"i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(`^(${e.join("|")})`,"i"),this._monthsShortStrictRegex=new RegExp(`^(${n.join("|")})`,"i")}computeWeekdaysParse(){let n=[],e=[],i=[],r=[],o;for(o=0;o<7;o++){let s=Yp(new Date(Date.UTC(2e3,1)),o,null,!0),a=this.weekdaysMin(s),l=this.weekdaysShort(s),c=this.weekdays(s);n.push(a),e.push(l),i.push(c),r.push(a),r.push(l),r.push(c)}for(n.sort($s),e.sort($s),i.sort($s),r.sort($s),o=0;o<7;o++)e[o]=Qs(e[o]),i[o]=Qs(i[o]),r[o]=Qs(r[o]);this._weekdaysRegex=new RegExp(`^(${r.join("|")})`,"i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(`^(${i.join("|")})`,"i"),this._weekdaysShortStrictRegex=new RegExp(`^(${e.join("|")})`,"i"),this._weekdaysMinStrictRegex=new RegExp(`^(${n.join("|")})`,"i")}};function $s(t,n){return n.length-t.length}var L3={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},F3="Invalid date",V3={dow:0,doy:6},j3=/[ap]\.?m?\.?/i,H3={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"},B3={calendar:L3,longDateFormat:Zx,invalidDate:F3,ordinal:R3,dayOfMonthOrdinalParse:O3,relativeTime:H3,months:x3,monthsShort:qx,week:V3,weekdays:k3,weekdaysMin:A3,weekdaysShort:Qx,meridiemParse:j3};function U3(t,n,e){let i=Math.min(t.length,n.length),r=Math.abs(t.length-n.length),o=0,s;for(s=0;s0;){if(e=lU(r.slice(0,o).join("-")),e)return e;if(n&&n.length>=o&&U3(r,n,!0)>=o-1)break;o--}i++}return null}function aU(t,n){let e=Object.assign({},t);for(let i in n)fn(n,i)&&(Js(t[i])&&Js(n[i])?(e[i]={},Object.assign(e[i],t[i]),Object.assign(e[i],n[i])):n[i]!=null?e[i]=n[i]:delete e[i]);for(let i in t)fn(t,i)&&!fn(n,i)&&Js(t[i])&&(e[i]=Object.assign({},e[i]));return e}function lU(t){return Uo[t]||console.error(`Khronos locale error: please load locale "${t}" before using it`),Uo[t]}function Xx(t,n){let e;return t&&(Fx(n)?e=an(t):ri(t)&&(e=e1(t,n)),e&&(zu=e)),zu&&zu._abbr}function e1(t,n){if(n===null)return delete Uo[t],zu=an("en"),null;if(!n)return;let e=B3;if(n.abbr=t,n.parentLocale!=null)if(Uo[n.parentLocale]!=null)e=Uo[n.parentLocale]._config;else return Vu[n.parentLocale]||(Vu[n.parentLocale]=[]),Vu[n.parentLocale].push({name:t,config:n}),null;return Uo[t]=new Nb(aU(e,n)),Vu[t]&&Vu[t].forEach(function(i){e1(i.name,i.config)}),Xx(t),Uo[t]}function an(t){if(cU(),!t)return zu;let n=st(t)?t:[t];return sU(n)}function cU(){Uo.en||(Xx("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal(t){let n=t%10,e=Se(t%100/10)===1?"th":n===1?"st":n===2?"nd":n===3?"rd":"th";return t+e}}),$3(),z3(),v3(),W3(),G3(),q3(),Q3(),K3(),b3(),iU(),rU(),oU(),T3(),WU(),_3())}var Bu=["year","quarter","month","week","day","hours","minutes","seconds","milliseconds"],uU=Bu.reduce((t,n)=>(t[n]=!0,t),{});function dU(t){if(Object.keys(t).some(i=>i in uU&&t[i]===null||isNaN(t[i])))return!1;let e=!1;for(let i=0;i=0&&e>=0&&i>=0||n<=0&&e<=0&&i<=0||(n+=fx(Lb(i)+e)*864e5,e=0,i=0),r.milliseconds=n%1e3;let o=qs(n/1e3);r.seconds=o%60;let s=qs(o/60);r.minutes=s%60;let a=qs(s/60);r.hours=a%24,e+=qs(a/24);let l=qs(t1(e));i+=l,e-=fx(Lb(l));let c=qs(i/12);return i%=12,r.day=e,r.month=i,r.year=c,t}function t1(t){return t*4800/146097}function Lb(t){return t*146097/4800}var Sl=Math.round,El={ss:44,s:45,m:45,h:22,d:26,M:11};function fU(t,n,e,i,r){return r.relativeTime(n||1,!!e,t,i)}function pU(t,n,e){let i=Yb(t).abs(),r=Sl(i.as("s")),o=Sl(i.as("m")),s=Sl(i.as("h")),a=Sl(i.as("d")),l=Sl(i.as("M")),c=Sl(i.as("y")),u=r<=El.ss&&["s",r]||r0,e];return fU.apply(null,m)}var Kp=class{constructor(n,e={}){this._data={},this._locale=an(),this._locale=e&&e._locale||an();let i=n,r=i.year||0,o=i.quarter||0,s=i.month||0,a=i.week||0,l=i.day||0,c=i.hours||0,u=i.minutes||0,m=i.seconds||0,b=i.milliseconds||0;return this._isValid=dU(i),this._milliseconds=+b+m*1e3+u*60*1e3+c*1e3*60*60,this._days=+l+a*7,this._months=+s+o*3+r*12,hU(this)}isValid(){return this._isValid}humanize(n){if(!this.isValid())return this.localeData().invalidDate;let e=this.localeData(),i=pU(this,!n,e);return n&&(i=e.pastFuture(+this,i)),e.postformat(i)}localeData(){return this._locale}locale(n){return n?(this._locale=an(n)||this._locale,this):this._locale._abbr}abs(){let n=Math.abs,e=this._data;return this._milliseconds=n(this._milliseconds),this._days=n(this._days),this._months=n(this._months),e.milliseconds=n(e.milliseconds),e.seconds=n(e.seconds),e.minutes=n(e.minutes),e.hours=n(e.hours),e.month=n(e.month),e.year=n(e.year),this}as(n){if(!this.isValid())return NaN;let e,i,r=this._milliseconds,o=Vx(n);if(o==="month"||o==="year")return e=this._days+r/864e5,i=this._months+t1(e),o==="month"?i:i/12;switch(e=this._days+Math.round(Lb(this._months)),o){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hours":return e*24+r/36e5;case"minutes":return e*1440+r/6e4;case"seconds":return e*86400+r/1e3;case"milliseconds":return Math.floor(e*864e5)+r;default:throw new Error(`Unknown unit ${o}`)}}valueOf(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+Se(this._months/12)*31536e6:NaN}};function mU(t){return t instanceof Kp}function Hb(t){if(t._isValid==null){let n=Ne(t),e=Array.prototype.some.call(n.parsedDateParts,function(r){return r!=null}),i=!isNaN(t._d&&t._d.getTime())&&n.overflow<0&&!n.empty&&!n.invalidMonth&&!n.invalidWeekday&&!n.weekdayMismatch&&!n.nullInput&&!n.invalidFormat&&!n.userInvalidated&&(!n.meridiem||n.meridiem&&e);if(t._strict&&(i=i&&n.charsLeftOver===0&&n.unusedTokens.length===0&&n.bigHour===void 0),Object.isFrozen==null||!Object.isFrozen(t))t._isValid=i;else return i}return t._isValid}function Xp(t,n){return t._d=new Date(NaN),Object.assign(Ne(t),n||{userInvalidated:!0}),t}function gU(t){return t._isValid=!1,t}var _U=/^\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)?)?$/,yU=/^\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)?)?$/,vU=/Z|[+-]\d\d(?::?\d\d)?/,Bp=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/,!0],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/,!0],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/,!0],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/,!0],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/,!0],["YYYYMMDD",/\d{8}/,!0],["GGGG[W]WWE",/\d{4}W\d{3}/,!0],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/,!0]],gb=[["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/]],bU=/^\/?Date\((\-?\d+)/i,CU={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60},wU=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;function n1(t){if(!ri(t._i))return t;let n=t._i,e=_U.exec(n)||yU.exec(n),i,r,o,s;if(!e)return t._isValid=!1,t;let a,l;for(a=0,l=Bp.length;an.formatLongDate(s)||s;for(r.lastIndex=0;i>=0&&r.test(e);)e=e.replace(r,o),r.lastIndex=0,i-=1;return e}function Ol(t,n,e){return t??n??e}function kU(t){let n=new Date;return t._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()]}function Bb(t){let n=[],e,i,r;if(t._d)return t;let o=kU(t);for(t._w&&t._a[xr]==null&&t._a[oo]==null&&AU(t),t._dayOfYear!=null&&(r=Ol(t._a[Zi],o[Zi]),(t._dayOfYear>Yu(r)||t._dayOfYear===0)&&(Ne(t)._overflowDayOfYear=!0),i=new Date(Date.UTC(r,0,t._dayOfYear)),t._a[oo]=i.getUTCMonth(),t._a[xr]=i.getUTCDate()),e=0;e<3&&t._a[e]==null;++e)t._a[e]=n[e]=o[e];for(;e<7;e++)t._a[e]=n[e]=t._a[e]==null?e===2?1:0:t._a[e];t._a[Wt]===24&&t._a[Ki]===0&&t._a[so]===0&&t._a[Ks]===0&&(t._nextDay=!0,t._a[Wt]=0),t._d=(t._useUTC?Vb:Jp).apply(null,n);let s=t._useUTC?t._d.getUTCDay():t._d.getDay();return t._tzm!=null&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[Wt]=24),t._w&&typeof t._w.d<"u"&&t._w.d!==s&&(Ne(t).weekdayMismatch=!0),t}function AU(t){let n,e,i,r,o,s,a,l=t._w;if(l.GG!=null||l.W!=null||l.E!=null)r=1,o=4,n=Ol(l.GG,t._a[Zi],Ll(new Date,1,4).year),e=Ol(l.W,1),i=Ol(l.E,1),(i<1||i>7)&&(a=!0);else{r=t._locale._week.dow,o=t._locale._week.doy;let c=Ll(new Date,r,o);n=Ol(l.gg,t._a[Zi],c.year),e=Ol(l.w,c.week),l.d!=null?(i=l.d,(i<0||i>6)&&(a=!0)):l.e!=null?(i=l.e+r,(l.e<0||l.e>6)&&(a=!0)):i=r}return e<1||e>$p(n,r,o)?Ne(t)._overflowWeeks=!0:a!=null?Ne(t)._overflowWeekday=!0:(s=I3(n,e,i,r,o),t._a[Zi]=s.year,t._dayOfYear=s.dayOfYear),t}function o1(t){let n,e=t._a;return e&&Ne(t).overflow===-2&&(n=e[oo]<0||e[oo]>11?oo:e[xr]<1||e[xr]>jb(e[Zi],e[oo])?xr:e[Wt]<0||e[Wt]>24||e[Wt]===24&&(e[Ki]!==0||e[so]!==0||e[Ks]!==0)?Wt:e[Ki]<0||e[Ki]>59?Ki:e[so]<0||e[so]>59?so:e[Ks]<0||e[Ks]>999?Ks:-1,Ne(t)._overflowDayOfYear&&(nxr)&&(n=xr),Ne(t)._overflowWeeks&&n===-1&&(n=o3),Ne(t)._overflowWeekday&&n===-1&&(n=s3),Ne(t).overflow=n),t}var RU="ISO_8601",OU="RFC_2822";function Ub(t){if(t._f===RU)return n1(t);if(t._f===OU)return i1(t);if(t._a=[],Ne(t).empty=!0,st(t._f)||!t._i&&t._i!==0)return t;let n=t._i.toString(),e=0,i=n.length,r=r1(t._f,t._locale).match(jx)||[],o,s,a,l;for(o=0;o0&&Ne(t).unusedInput.push(l),n=n.slice(n.indexOf(a)+a.length),e+=a.length),Nl[s]?(a?Ne(t).empty=!1:Ne(t).unusedTokens.push(s),m3(s,a,t)):t._strict&&!a&&Ne(t).unusedTokens.push(s);return Ne(t).charsLeftOver=i-e,n.length>0&&Ne(t).unusedInput.push(n),t._a[Wt]<=12&&Ne(t).bigHour===!0&&t._a[Wt]>0&&(Ne(t).bigHour=void 0),Ne(t).parsedDateParts=t._a.slice(0),Ne(t).meridiem=t._meridiem,t._a[Wt]=PU(t._locale,t._a[Wt],t._meridiem),Bb(t),o1(t)}function PU(t,n,e){let i=n;if(e==null)return i;if(t.meridiemHour!=null)return t.meridiemHour(i,e);if(t.isPM==null)return i;let r=t.isPM(e);return r&&i<12&&(i+=12),!r&&i===12&&(i=0),i}function NU(t){let n,e,i,r;if(!t._f||t._f.length===0)return Ne(t).invalidFormat=!0,Xp(t);let o;for(o=0;ori(i)?parseInt(i,10):i)}return Bb(t)}function FU(t){let n=o1(VU(t));return n._d=new Date(n._d!=null?n._d.getTime():NaN),Hb(Object.assign({},n,{_isValid:null}))||(n._d=new Date(NaN)),n}function VU(t){let n=t._i,e=t._f;return t._locale=t._locale||an(t._l),n===null||e===void 0&&n===""?Xp(t,{nullInput:!0}):(ri(n)&&(t._i=n=t._locale.preparse(n,e)),Qu(n)?(t._d=Xs(n),t):(st(e)?NU(t):e?Ub(t):jU(t),Hb(t)||(t._d=null),t))}function jU(t){let n=t._i;if(Fx(n))t._d=new Date;else if(Qu(n))t._d=Xs(n);else if(ri(n))IU(t);else if(st(n)&&n.length){let e=n.slice(0);t._a=e.map(i=>ri(i)?parseInt(i,10):i),Bb(t)}else if(Js(n))LU(t);else if(Vl(n))t._d=new Date(n);else return Xp(t);return t}function HU(t,n,e,i,r){let o={},s=t;return(Js(s)&&i3(s)||st(s)&&s.length===0)&&(s=void 0),o._useUTC=o._isUTC=r,o._l=e,o._i=s,o._f=n,o._strict=i,FU(o)}function Fl(t,n,e,i,r){return Qu(t)?t:HU(t,n,e,i,r)._d}function $b(t){return t instanceof Date?new Date(t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds()):null}function Fb(t){return t<0?Math.round(t*-1)*-1:Math.round(t)}function co(t,n,e="milliseconds"){return!t||!n?!1:e==="milliseconds"?t.valueOf()>n.valueOf():n.valueOf()"u"||!n||!n.length?!1:n.some(e=>e===t.getDay())}function Ku(t,n,e="milliseconds"){if(!t||!n)return!1;if(e==="milliseconds")return t.valueOf()===n.valueOf();let i=n.valueOf();return kr(t,e).valueOf()<=i&&i<=Zu(t,e).valueOf()}var BU=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,UU=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Yb(t,n,e={}){let i=$U(t,n);return new Kp(i,e)}function $U(t,n){if(t==null)return{};if(mU(t))return{milliseconds:t._milliseconds,day:t._days,month:t._months};if(Vl(t))return n?{[n]:t}:{milliseconds:t};if(ri(t)){let e=BU.exec(t);if(e){let i=e[1]==="-"?-1:1;return{year:0,day:Se(e[xr])*i,hours:Se(e[Wt])*i,minutes:Se(e[Ki])*i,seconds:Se(e[so])*i,milliseconds:Se(Fb(Se(e[Ks])*1e3))*i}}if(e=UU.exec(t),e){let i=e[1]==="-"?-1:(e[1]==="+",1);return{year:Ys(e[2],i),month:Ys(e[3],i),week:Ys(e[4],i),day:Ys(e[5],i),hours:Ys(e[6],i),minutes:Ys(e[7],i),seconds:Ys(e[8],i)}}}if(Js(t)&&("from"in t||"to"in t)){let e=YU(Fl(t.from),Fl(t.to));return{milliseconds:e.milliseconds,month:e.months}}return t}function Ys(t,n){let e=t&&parseFloat(t.replace(",","."));return(isNaN(e)?0:e)*n}function px(t,n){let e={milliseconds:0,months:0};e.months=Ae(n)-Ae(t)+(Ft(n)-Ft(t))*12;let i=qu(Xs(t),e.months,"month");return co(i,n)&&--e.months,e.milliseconds=+n-+qu(Xs(t),e.months,"month"),e}function YU(t,n){if(!(ao(t)&&ao(n)))return{milliseconds:0,months:0};let e,i=eU(n,t,{_offset:t.getTimezoneOffset()});return Yo(t,i)?e=px(t,i):(e=px(i,t),e.milliseconds=-e.milliseconds,e.months=-e.months),e}function qu(t,n,e,i){let r=Yb(n,e);return a1(t,r,1,i)}function zU(t,n,e,i){let r=Yb(n,e);return a1(t,r,-1,i)}function a1(t,n,e,i){let r=n._milliseconds,o=Fb(n._days),s=Fb(n._months);return s&&Pb(t,Ae(t,i)+s*e,i),o&&Wx(t,Wu(t,i)+o*e,i),r&&E3(t,c3(t)+r*e),Xs(t)}function WU(){re("d",null,"do",function(t,n){return Ji(t,n.isUTC).toString(10)}),re("dd",null,null,function(t,n){return n.locale.weekdaysMin(t,n.format,n.isUTC)}),re("ddd",null,null,function(t,n){return n.locale.weekdaysShort(t,n.format,n.isUTC)}),re("dddd",null,null,function(t,n){return n.locale.weekdays(t,n.format,n.isUTC)}),re("e",null,null,function(t,n){return l1(t,n.locale,n.isUTC).toString(10)}),re("E",null,null,function(t,n){return ZU(t,n.isUTC).toString(10)}),pn("day","d"),pn("weekday","e"),pn("isoWeekday","E"),mn("day",11),mn("weekday",11),mn("isoWeekday",11),q("d",lt),q("e",lt),q("E",lt),q("dd",function(t,n){return n.weekdaysMinRegex(t)}),q("ddd",function(t,n){return n.weekdaysShortRegex(t)}),q("dddd",function(t,n){return n.weekdaysRegex(t)}),Gu(["dd","ddd","dddd"],function(t,n,e,i){let r=e._locale.weekdaysParse(t,i,e._strict);return r!=null?n.d=r:Ne(e).invalidWeekday=!!t,e}),Gu(["d","e","E"],function(t,n,e,i){return n[i]=Se(t),e})}function GU(t,n){if(!ri(t))return t;let e=parseInt(t,10);if(!isNaN(e))return e;let i=n.weekdaysParse(t);return Vl(i)?i:null}function qU(t,n=an()){return ri(t)?n.weekdaysParse(t)%7||7:Vl(t)&&isNaN(t)?null:t}function Yp(t,n,e=an(),i){let r=Ji(t,i),o=GU(n,e);return qu(t,o-r,"day")}function Gt(t,n){return Ji(t,n)}function l1(t,n=an(),e){return(Ji(t,e)+7-n.firstDayOfWeek())%7}function QU(t,n,e={}){let i=l1(t,e.locale,e.isUTC);return qu(t,n-i,"day")}function ZU(t,n){return Ji(t,n)||7}function KU(t,n,e={}){let i=qU(n,e.locale);return Yp(t,Gt(t)%7?i:i-7)}var JU={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},XU={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},mx=function(t){return t===0?0:t===1?1:t===2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},e$={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"]},Di=function(t){return function(n,e){let i=mx(n),r=e$[t][mx(n)];return i===2&&(r=r[e?0:1]),r.replace(/%d/i,n.toString())}},gx=["\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"],$se={abbr:"ar",months:gx,monthsShort:gx,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:/ص|م/,isPM(t){return t==="\u0645"},meridiem(t,n,e){return t<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:Di("s"),ss:Di("s"),m:Di("m"),mm:Di("m"),h:Di("h"),hh:Di("h"),d:Di("d"),dd:Di("d"),M:Di("M"),MM:Di("M"),y:Di("y"),yy:Di("y")},preparse(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(n){return XU[n]}).replace(/،/g,",")},postformat(t){return t.replace(/\d/g,function(n){return JU[n]}).replace(/,/g,"\u060C")},week:{dow:6,doy:12}};var Yse={abbr:"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(t){switch(t){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}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(t){let n=Number(t),e=n%10,i=n%100;return n===0?n+"-\u0435\u0432":i===0?n+"-\u0435\u043D":i>10&&i<20?n+"-\u0442\u0438":e===1?n+"-\u0432\u0438":e===2?n+"-\u0440\u0438":e===7||e===8?n+"-\u043C\u0438":n+"-\u0442\u0438"},week:{dow:1,doy:7}};var _x="gen._feb._mar._abr._mai._jun._jul._ago._set._oct._nov._des.".split("_"),t$="ene_feb_mar_abr_mai_jun_jul_ago_set_oct_nov_des".split("_"),_b=[/^gen/i,/^feb/i,/^mar/i,/^abr/i,/^mai/i,/^jun/i,/^jul/i,/^ago/i,/^set/i,/^oct/i,/^nov/i,/^des/i],yx=/^(gener|febrer|març|abril|maig|juny|juliol|agost|setembre|octubre|novembre|desembre|gen\.?|feb\.?|mar\.?|abr\.?|mai\.?|jun\.?|jul\.?|ago\.?|set\.?|oct\.?|nov\.?|des\.?)/i,zse={abbr:"ca",months:"gener_febrer_mar\xE7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?t$[Ae(t,e)]:_x[Ae(t,e)]:_x},monthsRegex:yx,monthsShortRegex:yx,monthsStrictRegex:/^(gener|febrer|març|abril|maig|juny|juliol|agost|setembre|octubre|novembre|desembre)/i,monthsShortStrictRegex:/^(gen\.?|feb\.?|mar\.?|abr\.?|mai\.?|jun\.?|jul\.?|ago\.?|set\.?|oct\.?|nov\.?|des\.?)/i,monthsParse:_b,longMonthsParse:_b,shortMonthsParse:_b,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"diu._dil._dim._dix._dij._div._dis.".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 [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay(t){return"[avui a "+("la"+(Ee(t)!==1)?"les":"")+"] LT"},nextDay(t){return"[dema a "+("la"+(Ee(t)!==1)?"les":"")+"] LT"},nextWeek(t){return"dddd [a "+("la"+(Ee(t)!==1)?"les":"")+"] LT"},lastDay(t){return"[ahir a "+("la"+(Ee(t)!==1)?"les":"")+"] LT"},lastWeek(t){return"[el] dddd ["+("passada la "+(Ee(t)!==1)?"passades les":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %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}(er|on|er|rt|é)/,ordinal(t){let n=Number(t),e=n>4?"\xE9":n===1||n===3?"r":n===2?"n":n===4?"t":"\xE9";return n+e},week:{dow:1,doy:4}};var yb="leden_\xFAnor_b\u0159ezen_duben_kv\u011Bten_\u010Derven_\u010Dervenec_srpen_z\xE1\u0159\xED_\u0159\xEDjen_listopad_prosinec".split("_"),vb="led_\xFAno_b\u0159e_dub_kv\u011B_\u010Dvn_\u010Dvc_srp_z\xE1\u0159_\u0159\xEDj_lis_pro".split("_");function Tl(t){return t>1&&t<5&&~~(t/10)!==1}function Mi(t,n,e,i){let r=t+" ";switch(e){case"s":return n||i?"p\xE1r sekund":"p\xE1r sekundami";case"ss":return n||i?r+(Tl(t)?"sekundy":"sekund"):r+"sekundami";case"m":return n?"minuta":i?"minutu":"minutou";case"mm":return n||i?r+(Tl(t)?"minuty":"minut"):r+"minutami";case"h":return n?"hodina":i?"hodinu":"hodinou";case"hh":return n||i?r+(Tl(t)?"hodiny":"hodin"):r+"hodinami";case"d":return n||i?"den":"dnem";case"dd":return n||i?r+(Tl(t)?"dny":"dn\xED"):r+"dny";case"M":return n||i?"m\u011Bs\xEDc":"m\u011Bs\xEDcem";case"MM":return n||i?r+(Tl(t)?"m\u011Bs\xEDce":"m\u011Bs\xEDc\u016F"):r+"m\u011Bs\xEDci";case"y":return n||i?"rok":"rokem";case"yy":return n||i?r+(Tl(t)?"roky":"let"):r+"lety"}}var Wse={abbr:"cs",months:yb,monthsShort:vb,monthsParse:function(t,n){let e,i=[];for(e=0;e<12;e++)i[e]=new RegExp("^"+t[e]+"$|^"+n[e]+"$","i");return i}(yb,vb),shortMonthsParse:function(t){let n,e=[];for(n=0;n<12;n++)e[n]=new RegExp("^"+t[n]+"$","i");return e}(vb),longMonthsParse:function(t){let n,e=[];for(n=0;n<12;n++)e[n]=new RegExp("^"+t[n]+"$","i");return e}(yb),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(t){switch(Gt(t)){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(t){switch(Gt(t)){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:Mi,ss:Mi,m:Mi,mm:Mi,h:Mi,hh:Mi,d:Mi,dd:Mi,M:Mi,MM:Mi,y:Mi,yy:Mi},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};var Gse={abbr:"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",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}};function Bo(t,n,e,i){let r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[t+" Tage",t+" Tagen"],M:["ein Monat","einem Monat"],MM:[t+" Monate",t+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[t+" Jahre",t+" Jahren"]};return n?r[e][0]:r[e][1]}var qse={abbr:"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:Bo,mm:"%d Minuten",h:Bo,hh:"%d Stunden",d:Bo,dd:Bo,M:Bo,MM:Bo,y:Bo,yy:Bo},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};var Qse={abbr:"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(t){let n=Number(t),e=n%10,i=~~(n%100/10)===1?"th":e===1?"st":e===2?"nd":e===3?"rd":"th";return n+i},week:{dow:1,doy:4}};var vx="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n$="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),bb=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],bx=/^(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,Zse={abbr:"es-do",months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?n$[Ae(t,e)]:vx[Ae(t,e)]:vx},monthsRegex:bx,monthsShortRegex:bx,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:bb,longMonthsParse:bb,shortMonthsParse:bb,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(t){return"[hoy a la"+(Ee(t)!==1?"s":"")+"] LT"},nextDay(t){return"[ma\xF1ana a la"+(Ee(t)!==1?"s":"")+"] LT"},nextWeek(t){return"dddd [a la"+(Ee(t)!==1?"s":"")+"] LT"},lastDay(t){return"[ayer a la"+(Ee(t)!==1?"s":"")+"] LT"},lastWeek(t){return"[el] dddd [pasado a la"+(Ee(t)!==1?"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}º/,ordinal:"%d\xBA",week:{dow:1,doy:4}};var Cx="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),i$="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Cb=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],wx=/^(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,Kse={abbr:"es",months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?i$[Ae(t,e)]:Cx[Ae(t,e)]:Cx},monthsRegex:wx,monthsShortRegex:wx,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:Cb,longMonthsParse:Cb,shortMonthsParse:Cb,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(t){return"[hoy a la"+(Ee(t)!==1?"s":"")+"] LT"},nextDay(t){return"[ma\xF1ana a la"+(Ee(t)!==1?"s":"")+"] LT"},nextWeek(t){return"dddd [a la"+(Ee(t)!==1?"s":"")+"] LT"},lastDay(t){return"[ayer a la"+(Ee(t)!==1?"s":"")+"] LT"},lastWeek(t){return"[el] dddd [pasado a la"+(Ee(t)!==1?"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}º/,ordinal:"%d\xBA",week:{dow:1,doy:4}};var Dx="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),r$="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Jse={abbr:"es-pr",months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?r$[Ae(t,e)]:Dx[Ae(t,e)]:Dx},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:"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(t){return"[hoy a la"+(Ee(t)!==1?"s":"")+"] LT"},nextDay(t){return"[ma\xF1ana a la"+(Ee(t)!==1?"s":"")+"] LT"},nextWeek(t){return"dddd [a la"+(Ee(t)!==1?"s":"")+"] LT"},lastDay(t){return"[ayer a la"+(Ee(t)!==1?"s":"")+"] LT"},lastWeek(t){return"[el] dddd [pasado a la"+(Ee(t)!==1?"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}º/,ordinal:"%d\xBA",week:{dow:0,doy:6}};var Mx="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),o$="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Xse={abbr:"es-us",months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?o$[Ae(t,e)]:Mx[Ae(t,e)]:Mx},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(t){return"[hoy a la"+(Ee(t)!==1?"s":"")+"] LT"},nextDay(t){return"[ma\xF1ana a la"+(Ee(t)!==1?"s":"")+"] LT"},nextWeek(t){return"dddd [a la"+(Ee(t)!==1?"s":"")+"] LT"},lastDay(t){return"[ayer a la"+(Ee(t)!==1?"s":"")+"] LT"},lastWeek(t){return"[el] dddd [pasado a la"+(Ee(t)!==1?"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}º/,ordinal:"%d\xBA",week:{dow:0,doy:6}};var Qi=function(t,n,e,i){let r={s:["m\xF5ne sekundi","m\xF5ni sekund","paar sekundit"],ss:[t+"sekundi",t+"sekundit"],m:["\xFChe minuti","\xFCks minut"],mm:[t+" minuti",t+" minutit"],h:["\xFChe tunni","tund aega","\xFCks tund"],hh:[t+" tunni",t+" tundi"],d:["\xFChe p\xE4eva","\xFCks p\xE4ev"],M:["kuu aja","kuu aega","\xFCks kuu"],MM:[t+" kuu",t+" kuud"],y:["\xFChe aasta","aasta","\xFCks aasta"],yy:[t+" aasta",t+" aastat"]};return n?r[e][2]?r[e][2]:r[e][1]:i?r[e][0]:r[e][1]},eae={abbr:"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:Qi,ss:Qi,m:Qi,mm:Qi,h:Qi,hh:Qi,d:Qi,dd:"%d p\xE4eva",M:Qi,MM:Qi,y:Qi,yy:Qi},dayOfMonthOrdinalParse:/\d{1,2}./,ordinal:"%d.",week:{dow:1,doy:4}};var zp="nolla yksi kaksi kolme nelj\xE4 viisi kuusi seitsem\xE4n kahdeksan yhdeks\xE4n".split(" "),s$=["nolla","yhden","kahden","kolmen","nelj\xE4n","viiden","kuuden",zp[7],zp[8],zp[9]];function Si(t,n,e,i){var r="";switch(e){case"s":return i?"muutaman sekunnin":"muutama sekunti";case"ss":return i?"sekunnin":"sekuntia";case"m":return i?"minuutin":"minuutti";case"mm":r=i?"minuutin":"minuuttia";break;case"h":return i?"tunnin":"tunti";case"hh":r=i?"tunnin":"tuntia";break;case"d":return i?"p\xE4iv\xE4n":"p\xE4iv\xE4";case"dd":r=i?"p\xE4iv\xE4n":"p\xE4iv\xE4\xE4";break;case"M":return i?"kuukauden":"kuukausi";case"MM":r=i?"kuukauden":"kuukautta";break;case"y":return i?"vuoden":"vuosi";case"yy":r=i?"vuoden":"vuotta";break}return r=a$(t,i)+" "+r,r}function a$(t,n){return t<10?n?s$[t]:zp[t]:t}var tae={abbr:"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:Si,ss:Si,m:Si,mm:Si,h:Si,hh:Si,d:Si,dd:Si,M:Si,MM:Si,y:Si,yy:Si},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};var nae={abbr:"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(t,n){let e=Number(t);switch(n){case"D":return e+(e===1?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(e===1?"er":"e");case"w":case"W":return e+(e===1?"re":"e")}},week:{dow:1,doy:4}};var iae={abbr:"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(t,n){let e=Number(t);switch(n){case"D":return e+(e===1?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(e===1?"er":"e");case"w":case"W":return e+(e===1?"re":"e")}},week:{dow:1,doy:4}};var Sx="xan._feb._mar._abr._mai._xu\xF1._xul._ago._set._out._nov._dec.".split("_"),l$="xan_feb_mar_abr_mai_xu\xF1_xul_ago_set_out_nov_dec".split("_"),wb=[/^xan/i,/^feb/i,/^mar/i,/^abr/i,/^mai/i,/^xuñ/i,/^xul/i,/^ago/i,/^set/i,/^out/i,/^nov/i,/^dec/i],Ex=/^(xaneiro|febreiro|marzo|abril|maio|xuño|xullo|agosto|setembro|outubro|novembro|decembro|xan\.?|feb\.?|mar\.?|abr\.?|mai\.?|xuñ\.?|xul\.?|ago\.?|set\.?|out\.?|nov\.?|dec\.?)/i,rae={abbr:"gl",months:"xaneiro_febreiro_marzo_abril_maio_xu\xF1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?l$[Ae(t,e)]:Sx[Ae(t,e)]:Sx},monthsRegex:Ex,monthsShortRegex:Ex,monthsStrictRegex:/^(xaneiro|febreiro|marzo|abril|maio|xuño|xullo|agosto|setembro|outubro|novembro|decembro)/i,monthsShortStrictRegex:/^(xan\.?|feb\.?|mar\.?|abr\.?|mai\.?|xuñ\.?|xul\.?|ago\.?|set\.?|out\.?|nov\.?|dec\.?)/i,monthsParse:wb,longMonthsParse:wb,shortMonthsParse:wb,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(t){return"[hoxe \xE1"+(Ee(t)!==1?"s":"")+"] LT"},nextDay(t){return"[ma\xF1an \xE1"+(Ee(t)!==1?"s":"")+"] LT"},nextWeek(t){return"dddd [\xE1"+(Ee(t)!==1?"s":"")+"] LT"},lastDay(t){return"[onte \xE1"+(Ee(t)!==1?"s":"")+"] LT"},lastWeek(t){return"[o] dddd [pasado \xE1"+(Ee(t)!==1?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fai %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}º/,ordinal:"%d\xBA",week:{dow:1,doy:4}};var oae={abbr:"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(t){return t===2?"\u05E9\u05E2\u05EA\u05D9\u05D9\u05DD":t+" \u05E9\u05E2\u05D5\u05EA"},d:"\u05D9\u05D5\u05DD",dd(t){return t===2?"\u05D9\u05D5\u05DE\u05D9\u05D9\u05DD":t+" \u05D9\u05DE\u05D9\u05DD"},M:"\u05D7\u05D5\u05D3\u05E9",MM(t){return t===2?"\u05D7\u05D5\u05D3\u05E9\u05D9\u05D9\u05DD":t+" \u05D7\u05D5\u05D3\u05E9\u05D9\u05DD"},y:"\u05E9\u05E0\u05D4",yy(t){return t===2?"\u05E9\u05E0\u05EA\u05D9\u05D9\u05DD":t%10===0&&t!==10?t+" \u05E9\u05E0\u05D4":t+" \u05E9\u05E0\u05D9\u05DD"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM(t){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(t)},meridiem(t,n,e){return t<5?"\u05DC\u05E4\u05E0\u05D5\u05EA \u05D1\u05D5\u05E7\u05E8":t<10?"\u05D1\u05D1\u05D5\u05E7\u05E8":t<12?e?'\u05DC\u05E4\u05E0\u05D4"\u05E6':"\u05DC\u05E4\u05E0\u05D9 \u05D4\u05E6\u05D4\u05E8\u05D9\u05D9\u05DD":t<18?e?'\u05D0\u05D7\u05D4"\u05E6':"\u05D0\u05D7\u05E8\u05D9 \u05D4\u05E6\u05D4\u05E8\u05D9\u05D9\u05DD":"\u05D1\u05E2\u05E8\u05D1"}};var c$={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"},sae={abbr:"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(t){return t.replace(/[१२३४५६७८९०]/g,function(n){return u$[n]})},postformat(t){return t.replace(/\d/g,function(n){return c$[n]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour(t,n){if(t===12&&(t=0),n==="\u0930\u093E\u0924")return t<4?t:t+12;if(n==="\u0938\u0941\u092C\u0939")return t;if(n==="\u0926\u094B\u092A\u0939\u0930")return t>=10?t:t+12;if(n==="\u0936\u093E\u092E")return t+12},meridiem(t,n,e){return t<4?"\u0930\u093E\u0924":t<10?"\u0938\u0941\u092C\u0939":t<17?"\u0926\u094B\u092A\u0939\u0930":t<20?"\u0936\u093E\u092E":"\u0930\u093E\u0924"},week:{dow:0,doy:6}};var d$="vas\xE1rnap h\xE9tf\u0151n kedden szerd\xE1n cs\xFCt\xF6rt\xF6k\xF6n p\xE9nteken szombaton".split(" ");function Ei(t,n,e,i){switch(e){case"s":return i||n?"n\xE9h\xE1ny m\xE1sodperc":"n\xE9h\xE1ny m\xE1sodperce";case"ss":return t+(i||n?" m\xE1sodperc":" m\xE1sodperce");case"m":return"egy"+(i||n?" perc":" perce");case"mm":return t+(i||n?" perc":" perce");case"h":return"egy"+(i||n?" \xF3ra":" \xF3r\xE1ja");case"hh":return t+(i||n?" \xF3ra":" \xF3r\xE1ja");case"d":return"egy"+(i||n?" nap":" napja");case"dd":return t+(i||n?" nap":" napja");case"M":return"egy"+(i||n?" h\xF3nap":" h\xF3napja");case"MM":return t+(i||n?" h\xF3nap":" h\xF3napja");case"y":return"egy"+(i||n?" \xE9v":" \xE9ve");case"yy":return t+(i||n?" \xE9v":" \xE9ve")}return""}function Tx(t,n){return(n?"":"[m\xFAlt] ")+"["+d$[Gt(t)]+"] LT[-kor]"}var aae={abbr:"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(t){return t.charAt(1).toLowerCase()==="u"},meridiem(t,n,e){return t<12?e===!0?"de":"DE":e===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek(t){return Tx(t,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek(t){return Tx(t,!1)},sameElse:"L"},relativeTime:{future:"%s m\xFAlva",past:"%s",s:Ei,ss:Ei,m:Ei,mm:Ei,h:Ei,hh:Ei,d:Ei,dd:Ei,M:Ei,MM:Ei,y:Ei,yy:Ei},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};var lae={abbr:"hr",months:"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("_"),weekdays:"Nedjelja_Ponedjeljak_Utorak_Srijeda_\u010Cetvrtak_Petak_Subota".split("_"),weekdaysShort:"Ned_Pon_Uto_Sri_\u010Cet_Pet_Sub".split("_"),weekdaysMin:"Ne_Po_Ut_Sr_\u010Ce_Pe_Su".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:"[Danas u] LT",nextDay:"[Sutra u] LT",nextWeek:"dddd [u] LT",lastDay:"[Ju\u010Der u] LT",lastWeek:"[Zadnji] dddd [u] LT",sameElse:"L"},invalidDate:"Neispravan datum",relativeTime:{future:"za %s",past:"%s prije",s:"nekoliko sekundi",ss:"%d sekundi",m:"minuta",mm:"%d minuta",h:"sat",hh:"%d sati",d:"dan",dd:"%d dana",M:"mjesec",MM:"%d mjeseci",y:"godina",yy:"%d godina"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal(t){let n=Number(t),e=n%10,i=(~~(n%100/10)===1,".");return n+i},week:{dow:1,doy:4}};var cae={abbr:"id",months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_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(t,n){if(t===12&&(t=0),n==="pagi")return t;if(n==="siang")return t>=11?t:t+12;if(n==="sore"||n==="malam")return t+12},meridiem(t,n,e){return t<11?"pagi":t<15?"siang":t<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}};var uae={abbr:"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(t){switch(Gt(t)){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future(t){return(/^[0-9].+$/.test(t.toString(10))?"tra":"in")+" "+t},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}º/,ordinal:"%d\xBA",week:{dow:1,doy:4}};var dae={abbr:"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 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY\u5E74M\u6708D\u65E5",lll:"YYYY\u5E74M\u6708D\u65E5 HH:mm",llll:"YYYY\u5E74M\u6708D\u65E5 HH:mm dddd"},meridiemParse:/午前|午後/i,isPM(t){return t==="\u5348\u5F8C"},meridiem(t,n,e){return t<12?"\u5348\u524D":"\u5348\u5F8C"},calendar:{sameDay:"[\u4ECA\u65E5] LT",nextDay:"[\u660E\u65E5] LT",nextWeek:"[\u6765\u9031]dddd LT",lastDay:"[\u6628\u65E5] LT",lastWeek:"[\u524D\u9031]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal(t,n){switch(n){case"d":case"D":case"DDD":return t+"\u65E5";default:return t.toString(10)}},relativeTime:{future:"%s\u5F8C",past:"%s\u524D",s:"\u6570\u79D2",ss:"%d\u79D2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65E5",dd:"%d\u65E5",M:"1\u30F6\u6708",MM:"%d\u30F6\u6708",y:"1\u5E74",yy:"%d\u5E74"}};var hae={abbr:"ka",months:{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("_"),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("_")},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:/(წინა|შემდეგ)/},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(t){var n=t.toString();return/(წამი|წუთი|საათი|წელი)/.test(n)?n.replace(/ი$/,"\u10E8\u10D8"):n+"\u10E8\u10D8"},past(t){var n=t.toString();if(/(წამი|წუთი|საათი|დღე|თვე)/.test(n))return n.replace(/(ი|ე)$/,"\u10D8\u10E1 \u10EC\u10D8\u10DC");if(/წელი/.test(n))return n.replace(/წელი$/,"\u10EC\u10DA\u10D8\u10E1 \u10EC\u10D8\u10DC")},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-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal(t,n){let e=Number(t);return e===0?e.toString():e===1?e+"-\u10DA\u10D8":e<20||e<=100&&e%20===0||e%100===0?"\u10DB\u10D4-"+e:e+"-\u10D4"},week:{dow:1,doy:4}},Db={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"},fae={abbr:"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}-(ші|шы)/,ordinal(t){let n=t%10,e=t>=100?100:null;return t+(Db[t]||Db[n]||Db[e])},week:{dow:1,doy:7}};var pae={abbr:"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}(일|월|주)/,ordinal:function(t,n){switch(n){case"d":case"D":case"DDD":return t+"\uC77C";case"M":return t+"\uC6D4";case"w":case"W":return t+"\uC8FC";default:return t.toString(10)}},meridiemParse:/오전|오후/,isPM:function(t){return t==="\uC624\uD6C4"},meridiem:function(t,n,e){return t<12?"\uC624\uC804":"\uC624\uD6C4"}};var h$={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$(t,n,e,i){return n?"kelios sekund\u0117s":i?"keli\u0173 sekund\u017Ei\u0173":"kelias sekundes"}function Pl(t,n,e,i){return n?$o(e)[0]:i?$o(e)[1]:$o(e)[2]}function Ix(t){return t%10===0||t>10&&t<20}function $o(t){return h$[t].split("_")}function Il(t,n,e,i){let r=t+" ";return t===1?r+Pl(t,n,e[0],i):n?r+(Ix(t)?$o(e)[1]:$o(e)[0]):i?r+$o(e)[1]:r+(Ix(t)?$o(e)[1]:$o(e)[2])}var mae={abbr:"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:f$,ss:Il,m:Pl,mm:Il,h:Pl,hh:Il,d:Pl,dd:Il,M:Pl,MM:Il,y:Pl,yy:Il},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal(t){return t+"-oji"},week:{dow:1,doy:4}};var gae={abbr:"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\u0113td_Pirmd_Otrd_Tre\u0161d_Ceturtd_Piektd_Sestd".split("_"),weekdaysMin:"Sv_Pi_Ot_Tr_Ce_Pk_Se".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:"p\u0113c %s",past:"pirms %s",s:"da\u017E\u0101m sekund\u0113m",ss:"%d sekund\u0113m",m:"min\u016Btes",mm:"%d min\u016Bt\u0113m",h:"stundas",hh:"%d stund\u0101m",d:"dienas",dd:"%d dien\u0101m",M:"m\u0113ne\u0161a",MM:"%d m\u0113ne\u0161iem",y:"gada",yy:"%d gadiem"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal(t){return t+"."},week:{dow:1,doy:4}};function Ti(t,n,e,i){switch(e){case"s":return n?"\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 t+(n?" \u0441\u0435\u043A\u0443\u043D\u0434":" \u0441\u0435\u043A\u0443\u043D\u0434\u044B\u043D");case"m":case"mm":return t+(n?" \u043C\u0438\u043D\u0443\u0442":" \u043C\u0438\u043D\u0443\u0442\u044B\u043D");case"h":case"hh":return t+(n?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043D");case"d":case"dd":return t+(n?" \u04E9\u0434\u04E9\u0440":" \u04E9\u0434\u0440\u0438\u0439\u043D");case"M":case"MM":return t+(n?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044B\u043D");case"y":case"yy":return t+(n?" \u0436\u0438\u043B":" \u0436\u0438\u043B\u0438\u0439\u043D");default:return t.toString(10)}}var _ae={abbr:"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:/ҮӨ|ҮХ/i,isPM:function(t){return t==="\u04AE\u0425"},meridiem:function(t,n,e){return t<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:Ti,ss:Ti,m:Ti,mm:Ti,h:Ti,hh:Ti,d:Ti,dd:Ti,M:Ti,MM:Ti,y:Ti,yy:Ti},dayOfMonthOrdinalParse:/\d{1,2} өдөр/,ordinal:function(t,n){switch(n){case"d":case"D":case"DDD":return t+" \u04E9\u0434\u04E9\u0440";default:return t.toString(10)}}};var yae={abbr:"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}};var xx="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),p$="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Mb=[/^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],kx=/^(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,vae={abbr:"nl-be",months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?p$[Ae(t,e)]:xx[Ae(t,e)]:xx},monthsRegex:kx,monthsShortRegex:kx,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:Mb,longMonthsParse:Mb,shortMonthsParse:Mb,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(t){let n=Number(t);return n+(n===1||n===8||n>=20?"ste":"de")},week:{dow:1,doy:4}};var Ax="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),m$="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Sb=[/^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],Rx=/^(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,bae={abbr:"nl",months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort(t,n,e){return t?/-MMM-/.test(n)?m$[Ae(t,e)]:Ax[Ae(t,e)]:Ax},monthsRegex:Rx,monthsShortRegex:Rx,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:Sb,longMonthsParse:Sb,shortMonthsParse:Sb,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(t){let n=Number(t);return n+(n===1||n===8||n>=20?"ste":"de")},week:{dow:1,doy:4}};var Eb="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017Adziernik_listopad_grudzie\u0144".split("_"),Ox="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015Bnia_pa\u017Adziernika_listopada_grudnia".split("_");function ju(t){return t%10<5&&t%10>1&&~~(t/10)%10!==1}function zs(t,n,e){let i=t+" ";switch(e){case"ss":return i+(ju(t)?"sekundy":"sekund");case"m":return n?"minuta":"minut\u0119";case"mm":return i+(ju(t)?"minuty":"minut");case"h":return n?"godzina":"godzin\u0119";case"hh":return i+(ju(t)?"godziny":"godzin");case"MM":return i+(ju(t)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return i+(ju(t)?"lata":"lat")}}var Cae={abbr:"pl",months(t,n,e){return t?n===""?"("+Ox[Ae(t,e)]+"|"+Eb[Ae(t,e)]+")":/D MMMM/.test(n)?Ox[Ae(t,e)]:Eb[Ae(t,e)]:Eb},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(t){switch(Gt(t)){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015Brod\u0119 o] LT";case 5:return"[W pi\u0105tek o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek(t){switch(Gt(t)){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015Brod\u0119 o] LT";case 4:return"[W zesz\u0142\u0105 czwartek o] LT";case 5:return"[W zesz\u0142\u0105 pi\u0105tek 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:zs,m:zs,mm:zs,h:zs,hh:zs,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:zs,y:"rok",yy:zs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};var wae={abbr:"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(t){return Gt(t)===0||Gt(t)===6?"[\xDAltimo] dddd [\xE0s] LT":"[\xDAltima] dddd [\xE0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atr\xE1s",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}º/,ordinal:"%d\xBA"};function xl(t,n,e){let i={ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},r=" ";return(t%100>=20||t>=100&&t%100===0)&&(r=" de "),t+r+i[e]}var Dae={abbr:"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:xl,m:"un minut",mm:xl,h:"o or\u0103",hh:xl,d:"o zi",dd:xl,M:"o lun\u0103",MM:xl,y:"un an",yy:xl},week:{dow:1,doy:7}};function g$(t,n){let e=t.split("_");return n%10===1&&n%100!==11?e[0]:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?e[1]:e[2]}function Ws(t,n,e){let i={ss:n?"\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:n?"\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"};return e==="m"?n?"\u043C\u0438\u043D\u0443\u0442\u0430":"\u043C\u0438\u043D\u0443\u0442\u0443":t+" "+g$(i[e],+t)}var Tb=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],Mae={abbr:"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:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?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:Tb,longMonthsParse:Tb,shortMonthsParse:Tb,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/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(t,n){if(Hu(n)!==Hu(t))switch(Gt(t)){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"}else return Gt(t)===2?"[\u0412\u043E] dddd [\u0432] LT":"[\u0412] dddd [\u0432] LT"},lastWeek(t,n){if(Hu(n)!==Hu(t))switch(Gt(t)){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"}else return Gt(t)===2?"[\u0412\u043E] dddd [\u0432] LT":"[\u0412] 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:Ws,m:Ws,mm:Ws,h:"\u0447\u0430\u0441",hh:Ws,d:"\u0434\u0435\u043D\u044C",dd:Ws,M:"\u043C\u0435\u0441\u044F\u0446",MM:Ws,y:"\u0433\u043E\u0434",yy:Ws},meridiemParse:/ночи|утра|дня|вечера/i,isPM(t){return/^(дня|вечера)$/.test(t)},meridiem(t,n,e){return t<4?"\u043D\u043E\u0447\u0438":t<12?"\u0443\u0442\u0440\u0430":t<17?"\u0434\u043D\u044F":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal(t,n){let e=Number(t);switch(n){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043E";case"w":case"W":return e+"-\u044F";default:return e.toString(10)}},week:{dow:1,doy:4}};var _$="janu\xE1r_febru\xE1r_marec_apr\xEDl_m\xE1j_j\xFAn_j\xFAl_august_september_okt\xF3ber_november_december".split("_"),y$="jan_feb_mar_apr_m\xE1j_j\xFAn_j\xFAl_aug_sep_okt_nov_dec".split("_");function kl(t){return t>1&&t<5&&~~(t/10)!==1}function Ii(t,n,e,i){let r=t+" ";switch(e){case"s":return n||i?"p\xE1r sek\xFAnd":"p\xE1r sekundami";case"ss":return n||i?r+(kl(t)?"sekundy":"sek\xFAnd"):r+"sekundami";case"m":return n?"min\xFAta":i?"min\xFAtu":"min\xFAtou";case"mm":return n||i?r+(kl(t)?"min\xFAty":"min\xFAt"):r+"min\xFAtami";case"h":return n?"hodina":i?"hodinu":"hodinou";case"hh":return n||i?r+(kl(t)?"hodiny":"hod\xEDn"):r+"hodinami";case"d":return n||i?"de\u0148":"d\u0148om";case"dd":return n||i?r+(kl(t)?"dni":"dn\xED"):r+"d\u0148ami";case"M":return n||i?"mesiac":"mesiacom";case"MM":return n||i?r+(kl(t)?"mesiace":"mesiacov"):r+"mesiacmi";case"y":return n||i?"rok":"rokom";case"yy":return n||i?r+(kl(t)?"roky":"rokov"):r+"rokmi"}}var Sae={abbr:"sk",months:_$,monthsShort:y$,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",l:"D. M. YYYY"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek(t){switch(Gt(t)){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(t){switch(Gt(t)){case 0:return"[minul\xFA nede\u013Eu o] LT";case 1:case 2:return"[minul\xFD] dddd [o] LT";case 3:return"[minul\xFA stredu o] LT";case 4:case 5:return"[minul\xFD] dddd [o] LT";case 6:return"[minul\xFA sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"o %s",past:"pred %s",s:Ii,ss:Ii,m:Ii,mm:Ii,h:Ii,hh:Ii,d:Ii,dd:Ii,M:Ii,MM:Ii,y:Ii,yy:Ii},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}};function xi(t,n,e,i){var r=t+" ";switch(e){case"s":return n||i?"nekaj sekund":"nekaj sekundami";case"ss":return t===1?r+=n?"sekundo":"sekundi":t===2?r+=n||i?"sekundi":"sekundah":t<5?r+=n||i?"sekunde":"sekundah":r+="sekund",r;case"m":return n?"ena minuta":"eno minuto";case"mm":return t===1?r+=n?"minuta":"minuto":t===2?r+=n||i?"minuti":"minutama":t<5?r+=n||i?"minute":"minutami":r+=n||i?"minut":"minutami",r;case"h":return n?"ena ura":"eno uro";case"hh":return t===1?r+=n?"ura":"uro":t===2?r+=n||i?"uri":"urama":t<5?r+=n||i?"ure":"urami":r+=n||i?"ur":"urami",r;case"d":return n||i?"en dan":"enim dnem";case"dd":return t===1?r+=n||i?"dan":"dnem":t===2?r+=n||i?"dni":"dnevoma":r+=n||i?"dni":"dnevi",r;case"M":return n||i?"en mesec":"enim mesecem";case"MM":return t===1?r+=n||i?"mesec":"mesecem":t===2?r+=n||i?"meseca":"mesecema":t<5?r+=n||i?"mesece":"meseci":r+=n||i?"mesecev":"meseci",r;case"y":return n||i?"eno leto":"enim letom";case"yy":return t===1?r+=n||i?"leto":"letom":t===2?r+=n||i?"leti":"letoma":t<5?r+=n||i?"leta":"leti":r+=n||i?"let":"leti",r}}var Eae={abbr:"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(t){switch(Gt(t)){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(t){switch(Gt(t)){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:xi,ss:xi,m:xi,mm:xi,h:xi,hh:xi,d:xi,dd:xi,M:xi,MM:xi,y:xi,yy:xi},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}};var Tae={abbr:"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\xEB_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:"Di_He_Ma_Me_En_Pr_Sh".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:"[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:"para %sve",s:"disa sekonda",ss:"%d sekonda",m:"nj\xEB minut",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}};var Iae={abbr:"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(t){let n=Number(t),e=n%10,i=~~(n%100/10)===1?"e":e===1||e===2?"a":"e";return n+i},week:{dow:1,doy:4}},xae={abbr:"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._\u0E08._\u0E2D._\u0E1E._\u0E1E\u0E24._\u0E28._\u0E2A.".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:/ก่อนเที่ยง|หลังเที่ยง/,isPM(t){return t==="\u0E2B\u0E25\u0E31\u0E07\u0E40\u0E17\u0E35\u0E48\u0E22\u0E07"},meridiem(t,n,e){return t<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"}},Px={abbr:"th-be",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._\u0E08._\u0E2D._\u0E1E._\u0E1E\u0E24._\u0E28._\u0E2A.".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:/ก่อนเที่ยง|หลังเที่ยง/,isPM(t){return t==="\u0E2B\u0E25\u0E31\u0E07\u0E40\u0E17\u0E35\u0E48\u0E22\u0E07"},meridiem(t,n,e){return t<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"},preparse(t,n){let e=Px.longDateFormat[n]?Px.longDateFormat[n]:n;if(e.indexOf("YYYY",e.length-4)!==-1){let i=t.substr(0,t.length-4),r=parseInt(t.substr(t.length-4),10)-543;return i+r}return t},getFullYear(t,n=!1){return 543+(n?t.getUTCFullYear():t.getFullYear())}};var Ib={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"},kae={abbr:"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"},dayOfMonthOrdinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal(t){let n=Number(t);if(n===0)return n+"'\u0131nc\u0131";let e=n%10,i=n%100-e,r=n>=100?100:null;return n+(Ib[e]||Ib[i]||Ib[r])},week:{dow:1,doy:7}};function v$(t,n){let e=t.split("_");return n%10===1&&n%100!==11?e[0]:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?e[1]:e[2]}function Gs(t,n,e){let i={ss:n?"\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:n?"\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:n?"\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"};return e==="m"?n?"\u0445\u0432\u0438\u043B\u0438\u043D\u0430":"\u0445\u0432\u0438\u043B\u0438\u043D\u0443":e==="h"?n?"\u0433\u043E\u0434\u0438\u043D\u0430":"\u0433\u043E\u0434\u0438\u043D\u0443":t+" "+v$(i[e],+t)}function b$(t,n,e){let i={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("_")};if(!t)return i.nominative;let r=/(\[[ВвУу]\]) ?dddd/.test(n)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(n)?"genitive":"nominative";return i[r][Gt(t,e)]}function Al(t){return function(n){return t+"\u043E"+(Ee(n)===11?"\u0431":"")+"] LT"}}var Aae={abbr:"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:b$,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:Al("[\u0421\u044C\u043E\u0433\u043E\u0434\u043D\u0456 "),nextDay:Al("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:Al("[\u0412\u0447\u043E\u0440\u0430 "),nextWeek:Al("[\u0423] dddd ["),lastWeek(t){switch(Gt(t)){case 0:case 3:case 5:case 6:return Al("[\u041C\u0438\u043D\u0443\u043B\u043E\u0457] dddd [")(t);case 1:case 2:case 4:return Al("[\u041C\u0438\u043D\u0443\u043B\u043E\u0433\u043E] dddd [")(t)}},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:Gs,m:Gs,mm:Gs,h:"\u0433\u043E\u0434\u0438\u043D\u0443",hh:Gs,d:"\u0434\u0435\u043D\u044C",dd:Gs,M:"\u043C\u0456\u0441\u044F\u0446\u044C",MM:Gs,y:"\u0440\u0456\u043A",yy:Gs},meridiemParse:/ночі|ранку|дня|вечора/,isPM(t){return/^(дня|вечора)$/.test(t)},meridiem(t,n,e){return t<4?"\u043D\u043E\u0447\u0456":t<12?"\u0440\u0430\u043D\u043A\u0443":t<17?"\u0434\u043D\u044F":"\u0432\u0435\u0447\u043E\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal(t,n){let e=Number(t);switch(n){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043E";default:return e.toString()}},week:{dow:1,doy:7}};var Rae={abbr:"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(t){return/^ch$/i.test(t)},meridiem(t,n,e){return t<12?e?"sa":"SA":e?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xF4m nay l\xFAc] LT",nextDay:"[Ng\xE0y mai l\xFAc] LT",nextWeek:"dddd [tu\u1EA7n t\u1EDBi l\xFAc] LT",lastDay:"[H\xF4m qua l\xFAc] LT",lastWeek:"dddd [tu\u1EA7n tr\u01B0\u1EDBc l\xFAc] LT",sameElse:"L"},relativeTime:{future:"%s t\u1EDBi",past:"%s tr\u01B0\u1EDBc",s:"v\xE0i gi\xE2y",ss:"%d gi\xE2y",m:"m\u1ED9t ph\xFAt",mm:"%d ph\xFAt",h:"m\u1ED9t gi\u1EDD",hh:"%d gi\u1EDD",d:"m\u1ED9t ng\xE0y",dd:"%d ng\xE0y",M:"m\u1ED9t th\xE1ng",MM:"%d th\xE1ng",y:"m\u1ED9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal(t){return""+t},week:{dow:1,doy:4}};var Oae={abbr:"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:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour(t,n){return t===12&&(t=0),n==="\u51CC\u6668"||n==="\u65E9\u4E0A"||n==="\u4E0A\u5348"?t:n==="\u4E0B\u5348"||n==="\u665A\u4E0A"?t+12:t>=11?t:t+12},meridiem(t,n,e){let i=t*100+n;return i<600?"\u51CC\u6668":i<900?"\u65E9\u4E0A":i<1130?"\u4E0A\u5348":i<1230?"\u4E2D\u5348":i<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}(日|月|周)/,ordinal(t,n){let e=Number(t);switch(n){case"d":case"D":case"DDD":return e+"\u65E5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e.toString()}},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}};var C$={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},w$={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},Nx=function(t){return t===0?0:t===1?1:t===2?2:t%100>=3&&t%100<=10?3:t%100>=11?4:5},D$={s:["\u06A9\u0645\u062A\u0631 \u0627\u0632 \u06CC\u06A9 \u062B\u0627\u0646\u06CC\u0647","\u06CC\u06A9 \u062B\u0627\u0646\u06CC\u0647",["\u062F\u0648 \u062B\u0627\u0646\u06CC\u0647","\u062F\u0648 \u062B\u0627\u0646\u06CC\u0647"],"%d \u062B\u0627\u0646\u06CC\u0647","%d \u062B\u0627\u0646\u06CC\u0647","%d \u062B\u0627\u0646\u06CC\u0647"],m:["\u06A9\u0645\u062A\u0631 \u0627\u0632 \u06CC\u06A9 \u062F\u0642\u06CC\u0642\u0647","\u06CC\u06A9 \u062F\u0642\u06CC\u0642\u0647",["\u062F\u0648 \u062F\u0642\u06CC\u0642\u0647","\u062F\u0648 \u062F\u0642\u06CC\u0642\u0647"],"%d \u062F\u0642\u06CC\u0642\u0647","%d \u062F\u0642\u06CC\u0642\u0647","%d \u062F\u0642\u06CC\u0642\u0647"],h:["\u06A9\u0645\u062A\u0631 \u0627\u0632 \u06CC\u06A9 \u0633\u0627\u0639\u062A","\u06CC\u06A9 \u0633\u0627\u0639\u062A",["\u062F\u0648 \u0633\u0627\u0639\u062A","\u062F\u0648 \u0633\u0627\u0639\u062A"],"%d \u0633\u0627\u0639\u062A","%d \u0633\u0627\u0639\u062A","%d \u0633\u0627\u0639\u062A"],d:["\u06A9\u0645\u062A\u0631 \u0627\u0632 \u06CC\u06A9 \u0631\u0648\u0632","\u06CC\u06A9 \u0631\u0648\u0632",["\u062F\u0648 \u0631\u0648\u0632","\u062F\u0648 \u0631\u0648\u0632"],"%d \u0631\u0648\u0632","%d \u0631\u0648\u0632","%d \u0631\u0648\u0632"],M:["\u06A9\u0645\u062A\u0631 \u0627\u0632 \u06CC\u06A9 \u0645\u0627\u0647","\u06CC\u06A9 \u0645\u0627\u0647",["\u062F\u0648 \u0645\u0627\u0647","\u062F\u0648 \u0645\u0627\u0647"],"%d \u0645\u0627\u0647","%d \u0645\u0627\u0647","%d \u0645\u0627\u0647"],y:["\u06A9\u0645\u062A\u0631 \u0627\u0632 \u06CC\u06A9 \u0633\u0627\u0644","\u06CC\u06A9 \u0633\u0627\u0644",["\u062F\u0648 \u0633\u0627\u0644","\u062F\u0648 \u0633\u0627\u0644"],"%d \u0633\u0627\u0644","%d \u0633\u0627\u0644","%d \u0633\u0627\u0644"]},ki=function(t){return function(n,e){let i=Nx(n),r=D$[t][Nx(n)];return i===2&&(r=r[e?0:1]),r.replace(/%d/i,n.toString())}},Lx=["\u0698\u0627\u0646\u0648\u06CC\u0647","\u0641\u0648\u0631\u06CC\u0647","\u0645\u0627\u0631\u0633","\u0622\u0648\u0631\u06CC\u0644","\u0645\u06CC","\u0698\u0648\u0626\u0646","\u062C\u0648\u0644\u0627\u06CC","\u0622\u06AF\u0648\u0633\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"],Pae={abbr:"fa",months:Lx,monthsShort:Lx,weekdays:"\u06CC\u06A9\u0634\u0646\u0628\u0647_\u062F\u0648\u0634\u0646\u0628\u0647_\u0633\u0647 \u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067E\u0646\u062C \u0634\u0646\u0628\u0647_\u062C\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06CC\u06A9\u0634\u0646\u0628\u0647_\u062F\u0648\u200C\u0634\u0646\u0628\u0647_\u0633\u0647\u200C\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u200C\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:"D/\u200FM/\u200FYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM(t){return t==="\u0645"},meridiem(t,n,e){return t<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u062F\u0631 \u0633\u0627\u0639\u062A] LT",nextDay:"[\u0641\u0631\u062F\u0627 \u062F\u0631 \u0633\u0627\u0639\u062A] LT",nextWeek:"dddd [\u062F\u0631 \u0633\u0627\u0639\u062A] LT",lastDay:"[\u062F\u06CC\u0631\u0648\u0632 \u062F\u0631 \u0633\u0627\u0639\u062A] LT",lastWeek:"dddd [\u062F\u0631 \u0633\u0627\u0639\u062A] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062F %s",past:"\u067E\u06CC\u0634 %s",s:ki("s"),ss:ki("s"),m:ki("m"),mm:ki("m"),h:ki("h"),hh:ki("h"),d:ki("d"),dd:ki("d"),M:ki("M"),MM:ki("M"),y:ki("y"),yy:ki("y")},preparse(t){return t.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(n){return w$[n]}).replace(/،/g,",")},postformat(t){return t.replace(/\d/g,function(n){return C$[n]}).replace(/,/g,"\u060C")},week:{dow:6,doy:80}};var zb=class{constructor(n,e){this.open=n,this.close=e||n}isManual(){return this.open==="manual"||this.close==="manual"}},M$={hover:["mouseover","mouseout"],focus:["focusin","focusout"]};function Wb(t,n=M$){let e=(t||"").trim();if(e.length===0)return[];let i=e.split(/\s+/).map(o=>o.split(":")).map(o=>{let s=n[o[0]]||o;return new zb(s[0],s[1])}),r=i.filter(o=>o.isManual());if(r.length>1)throw new Error("Triggers parse error: only one manual trigger is allowed");if(r.length===1&&i.length>1)throw new Error("Triggers parse error: manual trigger can't be mixed with other triggers");return i}function u1(t,n){let e=Wb(n.triggers),i=n.target;if(e.length===1&&e[0].isManual())return Function.prototype;let r=[],o=[],s=()=>{o.forEach(a=>r.push(a())),o.length=0};return e.forEach(a=>{let l=a.open===a.close,c=l?n.toggle:n.show;if(!l&&a.close&&n.hide){let u=a.close,m=n.hide,b=()=>t.listen(i,u,m);o.push(b)}c&&r.push(t.listen(i,a.open,()=>c(s)))}),()=>{r.forEach(a=>a())}}function d1(t,n){return n.outsideClick?t.listen("document","click",e=>{n.target&&n.target.contains(e.target)||n.targets&&n.targets.some(i=>i.contains(e.target))||n.hide&&n.hide()}):Function.prototype}function h1(t,n){return n.outsideEsc?t.listen("document","keyup.esc",e=>{n.target&&n.target.contains(e.target)||n.targets&&n.targets.some(i=>i.contains(e.target))||n.hide&&n.hide()}):Function.prototype}var Vt=typeof window<"u"&&window||{},jt=Vt.document,Fae=Vt.location,Vae=Vt.gc?()=>Vt.gc():()=>null,jae=Vt.performance?Vt.performance:null,Hae=Vt.Event,Bae=Vt.MouseEvent,Uae=Vt.KeyboardEvent,$ae=Vt.EventTarget,Yae=Vt.History,zae=Vt.Location,Wae=Vt.EventListener,f1=function(t){return t.isBs4="bs4",t.isBs5="bs5",t}(f1||{}),zo;function p1(){let t=Vt.document.createElement("span");t.innerText="testing bs version",t.classList.add("d-none"),t.classList.add("pl-1"),Vt.document.head.appendChild(t);let n=Vt.getComputedStyle(t).paddingLeft;return n&&parseFloat(n)?(Vt.document.head.removeChild(t),"bs4"):(Vt.document.head.removeChild(t),"bs5")}function S$(){return zo||(zo=p1()),zo==="bs4"}function E$(){return zo||(zo=p1()),zo==="bs5"}function Wo(){return{isBs4:S$(),isBs5:E$()}}function T$(){let t=Wo(),n=Object.keys(t).find(e=>t[e]);return f1[n]}function m1(){let t="Change";return function(e,i){let r=` __${i}Value`;Object.defineProperty(e,i,{get(){return this[r]},set(o){let s=this[r];this[r]=o,s!==o&&this[i+t]&&this[i+t].emit(o)}})}}var em=class{static reflow(n){n.offsetHeight}static getStyles(n){let e=n.ownerDocument.defaultView;return(!e||!e.opener)&&(e=Vt),e.getComputedStyle(n)}static stackOverflowConfig(){let n=T$();return{crossorigin:"anonymous",integrity:n==="bs5"?"sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65":"sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2",cdnLink:n==="bs5"?"https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css":"https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css"}}},c1={},I$=typeof console>"u"||!("warn"in console);function Bn(t){!RE()||I$||t in c1||(c1[t]=!0,console.warn(t))}var C1=function(t){return t.top="top",t.bottom="bottom",t.left="left",t.right="right",t.auto="auto",t.end="right",t.start="left",t["top left"]="top left",t["top right"]="top right",t["right top"]="right top",t["right bottom"]="right bottom",t["bottom right"]="bottom right",t["bottom left"]="bottom left",t["left bottom"]="left bottom",t["left top"]="left top",t["top start"]="top left",t["top end"]="top right",t["end top"]="right top",t["end bottom"]="right bottom",t["bottom end"]="bottom right",t["bottom start"]="bottom left",t["start bottom"]="start bottom",t["start top"]="left top",t}(C1||{}),Ju=function(t){return t.top="top",t.bottom="bottom",t.left="start",t.right="end",t.auto="auto",t.end="end",t.start="start",t["top left"]="top start",t["top right"]="top end",t["right top"]="end top",t["right bottom"]="end bottom",t["bottom right"]="bottom end",t["bottom left"]="bottom start",t["left bottom"]="start bottom",t["left top"]="start top",t["top start"]="top start",t["top end"]="top end",t["end top"]="end top",t["end bottom"]="end bottom",t["bottom end"]="bottom end",t["bottom start"]="bottom start",t["start bottom"]="start bottom",t["start top"]="start top",t}(Ju||{});function na(t,n){if(t.nodeType!==1)return[];let i=t.ownerDocument.defaultView?.getComputedStyle(t,null);return n?i&&i[n]:i}function Zb(t){if(!t)return document.documentElement;let n=null,e=t?.offsetParent,i;for(;e===n&&t.nextElementSibling&&i!==t.nextElementSibling;)i=t.nextElementSibling,e=i.offsetParent;let r=e&&e.nodeName;return!r||r==="BODY"||r==="HTML"?i?i.ownerDocument.documentElement:document.documentElement:e&&["TH","TD","TABLE"].indexOf(e.nodeName)!==-1&&na(e,"position")==="static"?Zb(e):e}function x$(t){let{nodeName:n}=t;return n==="BODY"?!1:n==="HTML"||Zb(t.firstElementChild)===t}function Gb(t){return t.parentNode!==null?Gb(t.parentNode):t}function rm(t,n){if(!t||!t.nodeType||!n||!n.nodeType)return document.documentElement;let e=t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING,i=e?t:n,r=e?n:t,o=document.createRange();o.setStart(i,0),o.setEnd(r,0);let s=o.commonAncestorContainer;if(t!==s&&n!==s||i.contains(r))return x$(s)?s:Zb(s);let a=Gb(t);return a.host?rm(a.host,n):rm(t,Gb(n).host)}function w1(t){if(!t||!t.parentElement)return document.documentElement;let n=t.parentElement;for(;n?.parentElement&&na(n,"transform")==="none";)n=n.parentElement;return n||document.documentElement}function g1(t,n){let e=n==="x"?"Left":"Top",i=e==="Left"?"Right":"Bottom";return parseFloat(t[`border${e}Width`])+parseFloat(t[`border${i}Width`])}function _1(t,n,e){let i=n,r=e;return Math.max(i[`offset${t}`],i[`scroll${t}`],r[`client${t}`],r[`offset${t}`],r[`scroll${t}`],0)}function D1(t){let n=t.body,e=t.documentElement;return{height:_1("Height",n,e),width:_1("Width",n,e)}}function Xu(t){return W(E({},t),{right:(t.left||0)+t.width,bottom:(t.top||0)+t.height})}function k$(t){return t!==""&&!isNaN(parseFloat(t))&&isFinite(Number(t))}function mt(t){return typeof t=="number"||Object.prototype.toString.call(t)==="[object Number]"}function y1(t){let n=t.getBoundingClientRect();if(!(n&&mt(n.top)&&mt(n.left)&&mt(n.bottom)&&mt(n.right)))return n;let e={left:n.left,top:n.top,width:n.right-n.left,height:n.bottom-n.top},i=t.nodeName==="HTML"?D1(t.ownerDocument):void 0,r=i?.width||t.clientWidth||mt(n.right)&&mt(e.left)&&n.right-e.left||0,o=i?.height||t.clientHeight||mt(n.bottom)&&mt(e.top)&&n.bottom-e.top||0,s=t.offsetWidth-r,a=t.offsetHeight-o;if(s||a){let l=na(t);s-=g1(l,"x"),a-=g1(l,"y"),e.width-=s,e.height-=a}return Xu(e)}function Kb(t,n,e=!1){let i=n.nodeName==="HTML",r=y1(t),o=y1(n),s=na(n),a=parseFloat(s.borderTopWidth),l=parseFloat(s.borderLeftWidth);e&&i&&(o.top=Math.max(o.top??0,0),o.left=Math.max(o.left??0,0));let c=Xu({top:(r.top??0)-(o.top??0)-a,left:(r.left??0)-(o.left??0)-l,width:r.width,height:r.height});if(c.marginTop=0,c.marginLeft=0,i){let u=parseFloat(s.marginTop),m=parseFloat(s.marginLeft);mt(c.top)&&(c.top-=a-u),mt(c.bottom)&&(c.bottom-=a-u),mt(c.left)&&(c.left-=l-m),mt(c.right)&&(c.right-=l-m),c.marginTop=u,c.marginLeft=m}return c}function Jb(t){return t.nodeName==="HTML"?t:t.parentNode||t.host}function M1(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body;default:}let{overflow:n,overflowX:e,overflowY:i}=na(t);return/(auto|scroll|overlay)/.test(String(n)+String(i)+String(e))?t:M1(Jb(t))}function v1(t,n="top"){let e=n==="top"?"scrollTop":"scrollLeft",i=t.nodeName;if(i==="BODY"||i==="HTML"){let r=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||r)[e]}return t[e]}function A$(t,n=!1){let e=t.ownerDocument.documentElement,i=Kb(t,e),r=Math.max(e.clientWidth,window.innerWidth||0),o=Math.max(e.clientHeight,window.innerHeight||0),s=n?0:v1(e),a=n?0:v1(e,"left"),l={top:s-Number(i?.top)+Number(i?.marginTop),left:a-Number(i?.left)+Number(i?.marginLeft),width:r,height:o};return Xu(l)}function S1(t){let n=t.nodeName;return n==="BODY"||n==="HTML"?!1:na(t,"position")==="fixed"?!0:S1(Jb(t))}function Xb(t,n,e=0,i,r=!1){let o={top:0,left:0},s=r?w1(t):rm(t,n);if(i==="viewport")o=A$(s,r);else{let a;i==="scrollParent"?(a=M1(Jb(n)),a.nodeName==="BODY"&&(a=t.ownerDocument.documentElement)):i==="window"?a=t.ownerDocument.documentElement:a=i;let l=Kb(a,s,r);if(l&&a.nodeName==="HTML"&&!S1(s)){let{height:c,width:u}=D1(t.ownerDocument);mt(o.top)&&mt(l.top)&&mt(l.marginTop)&&(o.top+=l.top-l.marginTop),mt(o.top)&&(o.bottom=Number(c)+Number(l.top)),mt(o.left)&&mt(l.left)&&mt(l.marginLeft)&&(o.left+=l.left-l.marginLeft),mt(o.top)&&(o.right=Number(u)+Number(l.left))}else l&&(o=l)}return mt(o.left)&&(o.left+=e),mt(o.top)&&(o.top+=e),mt(o.right)&&(o.right-=e),mt(o.bottom)&&(o.bottom-=e),o}function R$({width:t,height:n}){return t*n}function E1(t,n,e,i,r=["top","bottom","right","left"],o="viewport",s=0){if(t.indexOf("auto")===-1)return t;let a=Xb(e,i,s,o),l={top:{width:a?.width??0,height:(n?.top??0)-(a?.top??0)},right:{width:(a?.right??0)-(n?.right??0),height:a?.height??0},bottom:{width:a?.width??0,height:(a?.bottom??0)-(n?.bottom??0)},left:{width:(n.left??0)-(a?.left??0),height:a?.height??0}},c=Object.keys(l).map(_=>W(E({position:_},l[_]),{area:R$(l[_])})).sort((_,M)=>M.area-_.area),u=c.filter(({width:_,height:M})=>_>=e.clientWidth&&M>=e.clientHeight);u=u.filter(({position:_})=>r.some(M=>M===_));let m=u.length>0?u[0].position:c[0].position,b=t.split(" ")[1];return e.className=e.className.replace(/bs-tooltip-auto/g,`bs-tooltip-${Wo().isBs5?Ju[m]:m}`),m+(b?`-${b}`:"")}function O$(t){return{width:t.offsets.target.width,height:t.offsets.target.height,left:Math.floor(t.offsets.target.left??0),top:Math.round(t.offsets.target.top??0),bottom:Math.round(t.offsets.target.bottom??0),right:Math.floor(t.offsets.target.right??0)}}function P$(t){let n={left:"right",right:"left",bottom:"top",top:"bottom"};return t.replace(/left|right|bottom|top/g,e=>n[e])}function N$(t){return t==="right"?"left":t==="left"?"right":t}var tm=(t,n=0)=>t?parseFloat(t):n;function T1(t){let e=t.ownerDocument.defaultView?.getComputedStyle(t),i=tm(e?.marginTop)+tm(e?.marginBottom),r=tm(e?.marginLeft)+tm(e?.marginRight);return{width:Number(t.offsetWidth)+r,height:Number(t.offsetHeight)+i}}function I1(t,n,e){let i=e?w1(t):rm(t,n);return Kb(n,i,e)}function qb(t,n,e){let i=e.split(" ")[0],r=T1(t),o={width:r.width,height:r.height},s=["right","left"].indexOf(i)!==-1,a=s?"top":"left",l=s?"left":"top",c=s?"height":"width",u=s?"width":"height";return o[a]=(n[a]??0)+n[c]/2-r[c]/2,o[l]=i===l?(n[l]??0)-r[u]:n[P$(l)]??0,o}function x1(t,n){return!!t.modifiers[n]?.enabled}var L$={top:["top","top start","top end"],bottom:["bottom","bottom start","bottom end"],start:["start","start top","start bottom"],end:["end","end top","end bottom"]};function nm(t,n){return Wo().isBs5?L$[n].includes(t):!1}function F$(t){return Wo().isBs5?nm(t,"end")?"ms-2":nm(t,"start")?"me-2":nm(t,"top")?"mb-2":nm(t,"bottom")?"mt-2":"":""}function V$(t,n){let e=t.instance.target,i=e.className,r=Wo().isBs5?Ju[t.placement]:t.placement;if(t.placementAuto&&(i=i.replace(/bs-popover-auto/g,`bs-popover-${r}`),i=i.replace(/ms-2|me-2|mb-2|mt-2/g,""),i=i.replace(/bs-tooltip-auto/g,`bs-tooltip-${r}`),i=i.replace(/\sauto/g,` ${r}`),i.indexOf("popover")!==-1&&(i=i+" "+F$(r)),i.indexOf("popover")!==-1&&i.indexOf("popover-auto")===-1&&(i+=" popover-auto"),i.indexOf("tooltip")!==-1&&i.indexOf("tooltip-auto")===-1&&(i+=" tooltip-auto")),i=i.replace(/left|right|top|bottom|end|start/g,`${r.split(" ")[0]}`),n){n.setAttribute(e,"class",i);return}e.className=i}function b1(t,n,e){!t||!n||Object.keys(n).forEach(i=>{let r="";if(["width","height","top","right","bottom","left"].indexOf(i)!==-1&&k$(n[i])&&(r="px"),e){e.setStyle(t,i,`${String(n[i])}${r}`);return}t.style[i]=String(n[i])+r})}function j$(t){let n=t.offsets.target,e=t.instance.target.querySelector(".arrow");if(!e)return t;let i=["left","right"].indexOf(t.placement.split(" ")[0])!==-1,r=i?"height":"width",o=i?"Top":"Left",s=o.toLowerCase(),a=i?"left":"top",l=i?"bottom":"right",c=T1(e)[r],u=t.placement.split(" ")[1];(t.offsets.host[l]??0)-c<(n[s]??0)&&(n[s]-=(n[s]??0)-((t.offsets.host[l]??0)-c)),Number(t.offsets.host[s])+Number(c)>(n[l]??0)&&(n[s]+=Number(t.offsets.host[s])+Number(c)-Number(n[l])),n=Xu(n);let m=na(t.instance.target),b=parseFloat(m[`margin${o}`])||0,_=parseFloat(m[`border${o}Width`])||0,M;if(!u)M=Number(t.offsets.host[s])+Number(t.offsets.host[r]/2-c/2);else{let O=parseFloat(m.borderRadius)||0,V=Number(b+_+O);M=s===u?Number(t.offsets.host[s])+V:Number(t.offsets.host[s])+Number(t.offsets.host[r]-V)}let I=M-(n[s]??0)-b-_;return I=Math.max(Math.min(n[r]-(c+5),I),0),t.offsets.arrow={[s]:Math.round(I),[a]:""},t.instance.arrow=e,t}function H$(t){if(t.offsets.target=Xu(t.offsets.target),!x1(t.options,"flip"))return t.offsets.target=E(E({},t.offsets.target),qb(t.instance.target,t.offsets.host,t.placement)),t;let n=Xb(t.instance.target,t.instance.host,0,"viewport",!1),e=t.placement.split(" ")[0],i=t.placement.split(" ")[1]||"",r=t.offsets.host,o=t.instance.target,s=t.instance.host,a=E1("auto",r,o,s,t.options.allowedPositions),l=[e,a];return l.forEach((c,u)=>{if(e!==c||l.length===u+1)return;e=t.placement.split(" ")[0];let m=e==="left"&&Math.floor(t.offsets.target.right??0)>Math.floor(t.offsets.host.left??0)||e==="right"&&Math.floor(t.offsets.target.left??0)Math.floor(t.offsets.host.top??0)||e==="bottom"&&Math.floor(t.offsets.target.top??0)Math.floor(n.right??0),M=Math.floor(t.offsets.target.top??0)Math.floor(n.bottom??0),O=e==="left"&&b||e==="right"&&_||e==="top"&&M||e==="bottom"&&I,V=["top","bottom"].indexOf(e)!==-1,de=V&&i==="left"&&b||V&&i==="right"&&_||!V&&i==="left"&&M||!V&&i==="right"&&I;(m||O||de)&&((m||O)&&(e=l[u+1]),de&&(i=N$(i)),t.placement=e+(i?` ${i}`:""),t.offsets.target=E(E({},t.offsets.target),qb(t.instance.target,t.offsets.host,t.placement)))}),t}function B$(t,n,e,i){if(!t||!n)return;let r=I1(t,n);!e.match(/^(auto)*\s*(left|right|top|bottom|start|end)*$/)&&!e.match(/^(left|right|top|bottom|start|end)*(?: (left|right|top|bottom|start|end))*$/)&&(e="auto");let o=!!e.match(/auto/g),s=e.match(/auto\s(left|right|top|bottom|start|end)/)?e.split(" ")[1]||"auto":e,a=s.match(/^(left|right|top|bottom|start|end)* ?(?!\1)(left|right|top|bottom|start|end)?/);a&&(s=a[1]+(a[2]?` ${a[2]}`:"")),["left right","right left","top bottom","bottom top"].indexOf(s)!==-1&&(s="auto"),s=E1(s,r,t,n,i?i.allowedPositions:void 0);let l=qb(t,r,s);return{options:i||{modifiers:{}},instance:{target:t,host:n,arrow:void 0},offsets:{target:l,host:r,arrow:void 0},positionFixed:!1,placement:s,placementAuto:o}}function U$(t){if(!x1(t.options,"preventOverflow"))return t;let n="transform",e=t.instance.target.style,{top:i,left:r,[n]:o}=e;e.top="",e.left="",e[n]="";let s=Xb(t.instance.target,t.instance.host,0,t.options.modifiers.preventOverflow?.boundariesElement||"scrollParent",!1);e.top=i,e.left=r,e[n]=o;let a=["left","right","top","bottom"],l={primary(c){let u=t.offsets.target[c];return(t.offsets.target[c]??0)<(s[c]??0)&&(u=Math.max(t.offsets.target[c]??0,s[c]??0)),{[c]:u}},secondary(c){let u=c==="right",m=u?"left":"top",b=u?"width":"height",_=t.offsets.target[m];return(t.offsets.target[c]??0)>(s[c]??0)&&(_=Math.min(t.offsets.target[m]??0,(s[c]??0)-t.offsets.target[b])),{[m]:_}}};return a.forEach(c=>{let u=["left","top","start"].indexOf(c)!==-1?l.primary:l.secondary;t.offsets.target=E(E({},t.offsets.target),u(c))}),t}function $$(t){let n=t.placement,e=n.split(" ")[0],i=n.split(" ")[1];if(i){let{host:r,target:o}=t.offsets,s=["bottom","top"].indexOf(e)!==-1,a=s?"left":"top",l=s?"width":"height",c={start:{[a]:r[a]},end:{[a]:(r[a]??0)+r[l]-o[l]}};t.offsets.target=W(E({},o),{[a]:a===i?c.start[a]:c.end[a]})}return t}var Qb=class{position(n,e){return this.offset(n,e)}offset(n,e){return I1(e,n)}positionElements(n,e,i,r,o){let s=[H$,$$,U$,j$],a=C1[i],l=B$(e,n,a,o);if(l)return s.reduce((c,u)=>u(c),l)}},Y$=new Qb;function z$(t,n,e,i,r,o){let s=Y$.positionElements(t,n,e,i,r);if(!s)return;let a=O$(s);b1(n,{"will-change":"transform",top:"0px",left:"0px",transform:`translate3d(${a.left}px, ${a.top}px, 0px)`},o),s.instance.arrow&&b1(s.instance.arrow,s.offsets.arrow,o),V$(s,o)}var nn=(()=>{class t{constructor(e,i,r){this.update$$=new X,this.positionElements=new Map,this.isDisabled=!1,xs(r)&&e.runOutsideAngular(()=>{this.triggerEvent$=Ea(ui(window,"scroll",{passive:!0}),ui(window,"resize",{passive:!0}),Q(0,wa),this.update$$),this.triggerEvent$.subscribe(()=>{this.isDisabled||this.positionElements.forEach(o=>{z$(im(o.target),im(o.element),o.attachment,o.appendToBody,this.options,i.createRenderer(null,null))})})})}position(e){this.addPositionElement(e)}get event$(){return this.triggerEvent$}disable(){this.isDisabled=!0}enable(){this.isDisabled=!1}addPositionElement(e){this.positionElements.set(im(e.element),e)}calcPosition(){this.update$$.next(null)}deletePositionElement(e){this.positionElements.delete(im(e))}setOptions(e){this.options=e}static{this.\u0275fac=function(i){return new(i||t)(F(Me),F(xn),F(qn))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function im(t){return typeof t=="string"?document.querySelector(t):t instanceof $?t.nativeElement:t??null}var jl=class extends Pe{constructor(n,e,i){super(n),e.pipe(cs(Kg)).pipe(yc((s,a)=>a?i(s,a):s,n)).subscribe(s=>this.next(s))}},Hl=class t extends ne{constructor(n,e,i){super(),this._dispatcher=n,this._reducer=e,this.source=i}select(n){return(this.source?.pipe(G(n))||new ne().pipe(G(n))).pipe(Vr())}lift(n){let e=new t(this._dispatcher,this._reducer,this);return e.operator=n,e}dispatch(n){this._dispatcher.next(n)}next(n){this._dispatcher.next(n)}error(n){this._dispatcher.error(n)}complete(){}};function W$(t,n){t&1&&(d(0,"td"),v(1,"\xA0\xA0\xA0"),h())}function G$(t,n){if(t&1){let e=N();d(0,"td")(1,"a",1),D("click",function(){C(e);let r=p();return w(r.changeMinutes(r.minuteStep))}),A(2,"span",2),h()()}if(t&2){let e=p();f(),j("disabled",!e.canIncrementMinutes||!e.isEditable)}}function q$(t,n){t&1&&(d(0,"td"),v(1,"\xA0"),h())}function Q$(t,n){if(t&1){let e=N();d(0,"td")(1,"a",1),D("click",function(){C(e);let r=p();return w(r.changeSeconds(r.secondsStep))}),A(2,"span",2),h()()}if(t&2){let e=p();f(),j("disabled",!e.canIncrementSeconds||!e.isEditable)}}function Z$(t,n){t&1&&(d(0,"td"),v(1,"\xA0\xA0\xA0"),h())}function K$(t,n){t&1&&A(0,"td")}function J$(t,n){t&1&&(d(0,"td"),v(1,"\xA0:\xA0"),h())}function X$(t,n){if(t&1){let e=N();d(0,"td",4)(1,"input",5),D("wheel",function(r){C(e);let o=p();return o.prevDef(r),w(o.changeMinutes(o.minuteStep*o.wheelSign(r),"wheel"))})("keydown.ArrowUp",function(){C(e);let r=p();return w(r.changeMinutes(r.minuteStep,"key"))})("keydown.ArrowDown",function(){C(e);let r=p();return w(r.changeMinutes(-r.minuteStep,"key"))})("change",function(r){C(e);let o=p();return w(o.updateMinutes(r.target))}),h()()}if(t&2){let e=p();j("has-error",e.invalidMinutes),f(),j("is-invalid",e.invalidMinutes),g("placeholder",e.minutesPlaceholder)("readonly",e.readonlyInput)("disabled",e.disabled)("value",e.minutes),J("aria-label",e.labelMinutes)}}function eY(t,n){t&1&&(d(0,"td"),v(1,"\xA0:\xA0"),h())}function tY(t,n){if(t&1){let e=N();d(0,"td",4)(1,"input",5),D("wheel",function(r){C(e);let o=p();return o.prevDef(r),w(o.changeSeconds(o.secondsStep*o.wheelSign(r),"wheel"))})("keydown.ArrowUp",function(){C(e);let r=p();return w(r.changeSeconds(r.secondsStep,"key"))})("keydown.ArrowDown",function(){C(e);let r=p();return w(r.changeSeconds(-r.secondsStep,"key"))})("change",function(r){C(e);let o=p();return w(o.updateSeconds(r.target))}),h()()}if(t&2){let e=p();j("has-error",e.invalidSeconds),f(),j("is-invalid",e.invalidSeconds),g("placeholder",e.secondsPlaceholder)("readonly",e.readonlyInput)("disabled",e.disabled)("value",e.seconds),J("aria-label",e.labelSeconds)}}function nY(t,n){t&1&&(d(0,"td"),v(1,"\xA0\xA0\xA0"),h())}function iY(t,n){if(t&1){let e=N();d(0,"td")(1,"button",8),D("click",function(){C(e);let r=p();return w(r.toggleMeridian())}),v(2),h()()}if(t&2){let e=p();f(),j("disabled",!e.isEditable||!e.canToggleMeridian),g("disabled",!e.isEditable||!e.canToggleMeridian),f(),Te("",e.meridian," ")}}function rY(t,n){t&1&&(d(0,"td"),v(1,"\xA0\xA0\xA0"),h())}function oY(t,n){if(t&1){let e=N();d(0,"td")(1,"a",1),D("click",function(){C(e);let r=p();return w(r.changeMinutes(-r.minuteStep))}),A(2,"span",7),h()()}if(t&2){let e=p();f(),j("disabled",!e.canDecrementMinutes||!e.isEditable)}}function sY(t,n){t&1&&(d(0,"td"),v(1,"\xA0"),h())}function aY(t,n){if(t&1){let e=N();d(0,"td")(1,"a",1),D("click",function(){C(e);let r=p();return w(r.changeSeconds(-r.secondsStep))}),A(2,"span",7),h()()}if(t&2){let e=p();f(),j("disabled",!e.canDecrementSeconds||!e.isEditable)}}function lY(t,n){t&1&&(d(0,"td"),v(1,"\xA0\xA0\xA0"),h())}function cY(t,n){t&1&&A(0,"td")}var Go=(()=>{class t{static{this.WRITE_VALUE="[timepicker] write value from ng model"}static{this.CHANGE_HOURS="[timepicker] change hours"}static{this.CHANGE_MINUTES="[timepicker] change minutes"}static{this.CHANGE_SECONDS="[timepicker] change seconds"}static{this.SET_TIME_UNIT="[timepicker] set time unit"}static{this.UPDATE_CONTROLS="[timepicker] update controls"}writeValue(e){return{type:t.WRITE_VALUE,payload:e}}changeHours(e){return{type:t.CHANGE_HOURS,payload:e}}changeMinutes(e){return{type:t.CHANGE_MINUTES,payload:e}}changeSeconds(e){return{type:t.CHANGE_SECONDS,payload:e}}setTime(e){return{type:t.SET_TIME_UNIT,payload:e}}updateControls(e){return{type:t.UPDATE_CONTROLS,payload:e}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),uY=10,dY=24,N1=12,hY=60,fY=60;function iC(t){return!t||t instanceof Date&&isNaN(t.getHours())?!1:typeof t=="string"?iC(new Date(t)):!0}function tC(t,n){return!(t.min&&nt.max)}function Bl(t){return typeof t>"u"?NaN:typeof t=="number"?t:parseInt(t,uY)}function L1(t,n=!1){let e=Bl(t);return isNaN(e)||e<0||e>(n?N1:dY)?NaN:e}function F1(t){let n=Bl(t);return isNaN(n)||n<0||n>hY?NaN:n}function V1(t){let n=Bl(t);return isNaN(n)||n<0||n>fY?NaN:n}function k1(t){return typeof t=="string"?new Date(t):t}function Ai(t,n){if(!t)return Ai(sm(new Date,0,0,0),n);if(!n)return t;let e=t.getHours(),i=t.getMinutes(),r=t.getSeconds();return n.hour&&(e=e+Bl(n.hour)),n.minute&&(i=i+Bl(n.minute)),n.seconds&&(r=r+Bl(n.seconds)),sm(t,e,i,r)}function j1(t,n){let e=L1(n.hour),i=F1(n.minute),r=V1(n.seconds)||0;return n.isPM&&e!==12&&(e+=N1),t?isNaN(e)||isNaN(i)?t:sm(t,e,i,r):!isNaN(e)&&!isNaN(i)?sm(new Date,e,i,r):t}function sm(t,n,e,i){let r=new Date(t.getFullYear(),t.getMonth(),t.getDate(),n,e,i,t.getMilliseconds());return r.setFullYear(t.getFullYear()),r.setMonth(t.getMonth()),r.setDate(t.getDate()),r}function nC(t){let n=t.toString();return n.length>1?n:`0${n}`}function H1(t,n){return!isNaN(L1(t,n))}function B1(t){return!isNaN(F1(t))}function U1(t){return!isNaN(V1(t))}function pY(t,n,e){let i=j1(new Date,t);return!(!i||n&&i>n||e&&i0&&!n.canIncrementHours||t.step<0&&!n.canDecrementHours)}function _Y(t,n){return!(!t.step||t.step>0&&!n.canIncrementMinutes||t.step<0&&!n.canDecrementMinutes)}function yY(t,n){return!(!t.step||t.step>0&&!n.canIncrementSeconds||t.step<0&&!n.canDecrementSeconds)}function R1(t){let{hourStep:n,minuteStep:e,secondsStep:i,readonlyInput:r,disabled:o,mousewheel:s,arrowkeys:a,showSpinners:l,showMeridian:c,showSeconds:u,meridians:m,min:b,max:_}=t;return{hourStep:n,minuteStep:e,secondsStep:i,readonlyInput:r,disabled:o,mousewheel:s,arrowkeys:a,showSpinners:l,showMeridian:c,showSeconds:u,meridians:m,min:b,max:_}}function vY(t,n){let{min:r,max:o,hourStep:s,minuteStep:a,secondsStep:l,showSeconds:c}=n,u={canIncrementHours:!0,canIncrementMinutes:!0,canIncrementSeconds:!0,canDecrementHours:!0,canDecrementMinutes:!0,canDecrementSeconds:!0,canToggleMeridian:!0};if(!t)return u;if(o){let m=Ai(t,{hour:s});if(u.canIncrementHours=o>m&&t.getHours()+s<24,!u.canIncrementHours){let b=Ai(t,{minute:a});u.canIncrementMinutes=c?o>b:o>=b}if(!u.canIncrementMinutes){let b=Ai(t,{seconds:l});u.canIncrementSeconds=o>=b}t.getHours()<12&&(u.canToggleMeridian=Ai(t,{hour:12})=12&&(u.canToggleMeridian=Ai(t,{hour:-12})>r)}return u}var $1=(()=>{class t{constructor(){this.hourStep=1,this.minuteStep=5,this.secondsStep=10,this.showMeridian=!0,this.meridians=["AM","PM"],this.readonlyInput=!1,this.disabled=!1,this.allowEmptyTime=!1,this.mousewheel=!0,this.arrowkeys=!0,this.showSpinners=!0,this.showSeconds=!1,this.showMinutes=!0,this.hoursPlaceholder="HH",this.minutesPlaceholder="MM",this.secondsPlaceholder="SS",this.ariaLabelHours="hours",this.ariaLabelMinutes="minutes",this.ariaLabelSeconds="seconds"}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Y1={value:void 0,config:new $1,controls:{canIncrementHours:!0,canIncrementMinutes:!0,canIncrementSeconds:!0,canDecrementHours:!0,canDecrementMinutes:!0,canDecrementSeconds:!0,canToggleMeridian:!0}};function O1(t=Y1,n){switch(n.type){case Go.WRITE_VALUE:return Object.assign({},t,{value:n.payload});case Go.CHANGE_HOURS:{if(!om(t.config,n.payload)||!gY(n.payload,t.controls))return t;let e=Ai(t.value,{hour:n.payload.step});return(t.config.max||t.config.min)&&!tC(t.config,e)?t:Object.assign({},t,{value:e})}case Go.CHANGE_MINUTES:{if(!om(t.config,n.payload)||!_Y(n.payload,t.controls))return t;let e=Ai(t.value,{minute:n.payload.step});return(t.config.max||t.config.min)&&!tC(t.config,e)?t:Object.assign({},t,{value:e})}case Go.CHANGE_SECONDS:{if(!om(t.config,n.payload)||!yY(n.payload,t.controls))return t;let e=Ai(t.value,{seconds:n.payload.step});return(t.config.max||t.config.min)&&!tC(t.config,e)?t:Object.assign({},t,{value:e})}case Go.SET_TIME_UNIT:{if(!om(t.config))return t;let e=j1(t.value,n.payload);return Object.assign({},t,{value:e})}case Go.UPDATE_CONTROLS:{let e=vY(t.value,n.payload),i={value:t.value,config:n.payload,controls:e};return t.config.showMeridian!==i.config.showMeridian&&t.value&&(i.value=new Date(t.value)),Object.assign({},t,i)}default:return t}}var P1=(()=>{class t extends Hl{constructor(){let e=new Pe({type:"[mini-ngrx] dispatcher init"}),i=new jl(Y1,e,O1);super(e,O1,i)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),bY={provide:It,useExisting:He(()=>Ul),multi:!0},Ul=(()=>{class t{constructor(e,i,r,o){this._cd=i,this._store=r,this._timepickerActions=o,this.hourStep=1,this.minuteStep=5,this.secondsStep=10,this.readonlyInput=!1,this.disabled=!1,this.mousewheel=!0,this.arrowkeys=!0,this.showSpinners=!0,this.showMeridian=!0,this.showMinutes=!0,this.showSeconds=!1,this.meridians=["AM","PM"],this.hoursPlaceholder="HH",this.minutesPlaceholder="MM",this.secondsPlaceholder="SS",this.isValid=new P,this.meridianChange=new P,this.hours="",this.minutes="",this.seconds="",this.meridian="",this.invalidHours=!1,this.invalidMinutes=!1,this.invalidSeconds=!1,this.labelHours="hours",this.labelMinutes="minutes",this.labelSeconds="seconds",this.canIncrementHours=!0,this.canIncrementMinutes=!0,this.canIncrementSeconds=!0,this.canDecrementHours=!0,this.canDecrementMinutes=!0,this.canDecrementSeconds=!0,this.canToggleMeridian=!0,this.onChange=Function.prototype,this.onTouched=Function.prototype,this.config=e,Object.assign(this,this.config),this.timepickerSub=r.select(s=>s.value).subscribe(s=>{this._renderTime(s),this.onChange(s),this._store.dispatch(this._timepickerActions.updateControls(R1(this)))}),r.select(s=>s.controls).subscribe(s=>{let a=A1(this.hours,this.minutes,this.seconds,this.isPM()),l=this.config.allowEmptyTime&&this.isOneOfDatesIsEmpty()||a;this.isValid.emit(l),Object.assign(this,s),i.markForCheck()})}get isSpinnersVisible(){return this.showSpinners&&!this.readonlyInput}get isEditable(){return!(this.readonlyInput||this.disabled)}resetValidation(){this.invalidHours=!1,this.invalidMinutes=!1,this.invalidSeconds=!1}isPM(){return this.showMeridian&&this.meridian===this.meridians[1]}prevDef(e){e.preventDefault()}wheelSign(e){return Math.sign(e.deltaY||0)*-1}ngOnChanges(){this._store.dispatch(this._timepickerActions.updateControls(R1(this)))}changeHours(e,i=""){this.resetValidation(),this._store.dispatch(this._timepickerActions.changeHours({step:e,source:i}))}changeMinutes(e,i=""){this.resetValidation(),this._store.dispatch(this._timepickerActions.changeMinutes({step:e,source:i}))}changeSeconds(e,i=""){this.resetValidation(),this._store.dispatch(this._timepickerActions.changeSeconds({step:e,source:i}))}updateHours(e){this.resetValidation(),this.hours=e.value;let i=H1(this.hours,this.isPM())&&this.isValidLimit();if(!(this.config.allowEmptyTime&&this.isOneOfDatesIsEmpty()||i)){this.invalidHours=!0,this.isValid.emit(!1),this.onChange(null);return}this._updateTime()}updateMinutes(e){this.resetValidation(),this.minutes=e.value;let i=B1(this.minutes)&&this.isValidLimit();if(!(this.config.allowEmptyTime&&this.isOneOfDatesIsEmpty()||i)){this.invalidMinutes=!0,this.isValid.emit(!1),this.onChange(null);return}this._updateTime()}updateSeconds(e){this.resetValidation(),this.seconds=e.value;let i=U1(this.seconds)&&this.isValidLimit();if(!(this.config.allowEmptyTime&&this.isOneOfDatesIsEmpty()||i)){this.invalidSeconds=!0,this.isValid.emit(!1),this.onChange(null);return}this._updateTime()}isValidLimit(){return pY({hour:this.hours,minute:this.minutes,seconds:this.seconds,isPM:this.isPM()},this.max,this.min)}isOneOfDatesIsEmpty(){return mY(this.hours,this.minutes,this.seconds)}_updateTime(){let e=this.showSeconds?this.seconds:void 0,i=this.showMinutes?this.minutes:void 0,r=A1(this.hours,i,e,this.isPM());if(!(this.config.allowEmptyTime&&this.isOneOfDatesIsEmpty()||r)){this.isValid.emit(!1),this.onChange(null);return}this._store.dispatch(this._timepickerActions.setTime({hour:this.hours,minute:this.minutes,seconds:this.seconds,isPM:this.isPM()}))}toggleMeridian(){if(!this.showMeridian||!this.isEditable)return;this._store.dispatch(this._timepickerActions.changeHours({step:12,source:""}))}writeValue(e){iC(e)?(this.resetValidation(),this._store.dispatch(this._timepickerActions.writeValue(k1(e)))):e==null&&this._store.dispatch(this._timepickerActions.writeValue())}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.disabled=e,this._cd.markForCheck()}ngOnDestroy(){this.timepickerSub?.unsubscribe()}_renderTime(e){if(!e||!iC(e)){this.hours="",this.minutes="",this.seconds="",this.meridian=this.meridians[0],this.meridianChange.emit(this.meridian);return}let i=k1(e);if(!i)return;let r=12,o=i.getHours();this.showMeridian&&(this.meridian=this.meridians[o>=r?1:0],this.meridianChange.emit(this.meridian),o=o%r,o===0&&(o=r)),this.hours=nC(o),this.minutes=nC(i.getMinutes()),this.seconds=nC(i.getUTCSeconds())}static{this.\u0275fac=function(i){return new(i||t)(y($1),y(it),y(P1),y(Go))}}static{this.\u0275cmp=L({type:t,selectors:[["timepicker"]],inputs:{hourStep:"hourStep",minuteStep:"minuteStep",secondsStep:"secondsStep",readonlyInput:"readonlyInput",disabled:"disabled",mousewheel:"mousewheel",arrowkeys:"arrowkeys",showSpinners:"showSpinners",showMeridian:"showMeridian",showMinutes:"showMinutes",showSeconds:"showSeconds",meridians:"meridians",min:"min",max:"max",hoursPlaceholder:"hoursPlaceholder",minutesPlaceholder:"minutesPlaceholder",secondsPlaceholder:"secondsPlaceholder"},outputs:{isValid:"isValid",meridianChange:"meridianChange"},features:[ce([bY,P1,Go]),xe],decls:31,vars:33,consts:[[1,"text-center",3,"hidden"],["href","javascript:void(0);",1,"btn","btn-link",3,"click"],[1,"bs-chevron","bs-chevron-up"],[4,"ngIf"],[1,"form-group","mb-3"],["type","text","maxlength","2",1,"form-control","text-center","bs-timepicker-field",3,"wheel","keydown.ArrowUp","keydown.ArrowDown","change","placeholder","readonly","disabled","value"],["class","form-group mb-3",3,"has-error",4,"ngIf"],[1,"bs-chevron","bs-chevron-down"],["type","button",1,"btn","btn-default","text-center",3,"click","disabled"]],template:function(i,r){i&1&&(d(0,"table")(1,"tbody")(2,"tr",0)(3,"td")(4,"a",1),D("click",function(){return r.changeHours(r.hourStep)}),A(5,"span",2),h()(),T(6,W$,2,0,"td",3)(7,G$,3,2,"td",3)(8,q$,2,0,"td",3)(9,Q$,3,2,"td",3)(10,Z$,2,0,"td",3)(11,K$,1,0,"td",3),h(),d(12,"tr")(13,"td",4)(14,"input",5),D("wheel",function(s){return r.prevDef(s),r.changeHours(r.hourStep*r.wheelSign(s),"wheel")})("keydown.ArrowUp",function(){return r.changeHours(r.hourStep,"key")})("keydown.ArrowDown",function(){return r.changeHours(-r.hourStep,"key")})("change",function(s){return r.updateHours(s.target)}),h()(),T(15,J$,2,0,"td",3)(16,X$,2,9,"td",6)(17,eY,2,0,"td",3)(18,tY,2,9,"td",6)(19,nY,2,0,"td",3)(20,iY,3,4,"td",3),h(),d(21,"tr",0)(22,"td")(23,"a",1),D("click",function(){return r.changeHours(-r.hourStep)}),A(24,"span",7),h()(),T(25,rY,2,0,"td",3)(26,oY,3,2,"td",3)(27,sY,2,0,"td",3)(28,aY,3,2,"td",3)(29,lY,2,0,"td",3)(30,cY,1,0,"td",3),h()()()),i&2&&(f(2),g("hidden",!r.showSpinners),f(2),j("disabled",!r.canIncrementHours||!r.isEditable),f(2),g("ngIf",r.showMinutes),f(),g("ngIf",r.showMinutes),f(),g("ngIf",r.showSeconds),f(),g("ngIf",r.showSeconds),f(),g("ngIf",r.showMeridian),f(),g("ngIf",r.showMeridian),f(2),j("has-error",r.invalidHours),f(),j("is-invalid",r.invalidHours),g("placeholder",r.hoursPlaceholder)("readonly",r.readonlyInput)("disabled",r.disabled)("value",r.hours),J("aria-label",r.labelHours),f(),g("ngIf",r.showMinutes),f(),g("ngIf",r.showMinutes),f(),g("ngIf",r.showSeconds),f(),g("ngIf",r.showSeconds),f(),g("ngIf",r.showMeridian),f(),g("ngIf",r.showMeridian),f(),g("hidden",!r.showSpinners),f(2),j("disabled",!r.canDecrementHours||!r.isEditable),f(2),g("ngIf",r.showMinutes),f(),g("ngIf",r.showMinutes),f(),g("ngIf",r.showSeconds),f(),g("ngIf",r.showSeconds),f(),g("ngIf",r.showMeridian),f(),g("ngIf",r.showMeridian))},dependencies:[De],styles:[`.bs-chevron{border-style:solid;display:block;width:9px;height:9px;position:relative;border-width:3px 0px 0 3px}.bs-chevron-up{-webkit-transform:rotate(45deg);transform:rotate(45deg);top:2px}.bs-chevron-down{-webkit-transform:rotate(-135deg);transform:rotate(-135deg);top:-2px}.bs-timepicker-field{width:65px;padding:.375rem .55rem} -`],encapsulation:2,changeDetection:0})}}return t})(),$l=(()=>{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=be({type:t})}static{this.\u0275inj=ve({})}}return t})();var ia=class{constructor(n,e,i){this.nodes=n,this.viewRef=e,this.componentRef=i}},rC=class{constructor(n,e,i,r,o,s,a,l,c){this._viewContainerRef=n,this._renderer=e,this._elementRef=i,this._injector=r,this._componentFactoryResolver=o,this._ngZone=s,this._applicationRef=a,this._posService=l,this._document=c,this.onBeforeShow=new P,this.onShown=new P,this.onBeforeHide=new P,this.onHidden=new P,this._providers=[],this._isHiding=!1,this.containerDefaultSelector="body",this._listenOpts={},this._globalListener=Function.prototype}get isShown(){return this._isHiding?!1:!!this._componentRef}attach(n){return this._componentFactory=this._componentFactoryResolver.resolveComponentFactory(n),this}to(n){return this.container=n||this.container,this}position(n){return n?(this.attachment=n.attachment||this.attachment,this._elementRef=n.target||this._elementRef,this):this}provide(n){return this._providers.push(n),this}show(n={}){if(this._subscribePositioning(),this._innerComponent=void 0,!this._componentRef){this.onBeforeShow.emit(),this._contentRef=this._getContentRef(n.content,n.context,n.initialState);let e=kt.create({providers:this._providers,parent:this._injector});if(!this._componentFactory)return;if(this._componentRef=this._componentFactory.create(e,this._contentRef.nodes),this._applicationRef.attachView(this._componentRef.hostView),this.instance=this._componentRef.instance,Object.assign(this._componentRef.instance,n),this.container instanceof $&&this.container.nativeElement.appendChild(this._componentRef.location.nativeElement),typeof this.container=="string"&&typeof this._document<"u"){let i=this._document.querySelector(this.container)||this._document.querySelector(this.containerDefaultSelector);if(!i)return;i.appendChild(this._componentRef.location.nativeElement)}!this.container&&this._elementRef&&this._elementRef.nativeElement.parentElement&&this._elementRef.nativeElement.parentElement.appendChild(this._componentRef.location.nativeElement),this._contentRef.componentRef&&(this._innerComponent=this._contentRef.componentRef.instance,this._contentRef.componentRef.changeDetectorRef.markForCheck(),this._contentRef.componentRef.changeDetectorRef.detectChanges()),this._componentRef.changeDetectorRef.markForCheck(),this._componentRef.changeDetectorRef.detectChanges(),this.onShown.emit(n.id?{id:n.id}:this._componentRef.instance)}return this._registerOutsideClick(),this._componentRef}hide(n){if(!this._componentRef)return this;this._posService.deletePositionElement(this._componentRef.location),this.onBeforeHide.emit(this._componentRef.instance);let e=this._componentRef.location.nativeElement;return e.parentNode?.removeChild(e),this._contentRef?.componentRef?.destroy(),this._viewContainerRef&&this._contentRef?.viewRef&&this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._contentRef.viewRef)),this._contentRef?.viewRef?.destroy(),this._componentRef?.destroy(),this._contentRef=void 0,this._componentRef=void 0,this._removeGlobalListener(),this.onHidden.emit(n?{id:n}:null),this}toggle(){if(this.isShown){this.hide();return}this.show()}dispose(){this.isShown&&this.hide(),this._unsubscribePositioning(),this._unregisterListenersFn&&this._unregisterListenersFn()}listen(n){this.triggers=n.triggers||this.triggers,this._listenOpts.outsideClick=n.outsideClick,this._listenOpts.outsideEsc=n.outsideEsc,n.target=n.target||this._elementRef?.nativeElement;let e=this._listenOpts.hide=()=>n.hide?n.hide():void this.hide(),i=this._listenOpts.show=o=>{n.show?n.show(o):this.show(o),o()},r=o=>{this.isShown?e():i(o)};return this._renderer&&(this._unregisterListenersFn=u1(this._renderer,{target:n.target,triggers:n.triggers,show:i,hide:e,toggle:r})),this}_removeGlobalListener(){this._globalListener&&(this._globalListener(),this._globalListener=Function.prototype)}attachInline(n,e){return n&&e&&(this._inlineViewRef=n.createEmbeddedView(e)),this}_registerOutsideClick(){if(!this._componentRef||!this._componentRef.location)return;let n=Function.prototype,e=Function.prototype;if(this._listenOpts.outsideClick){let i=this._componentRef.location.nativeElement;setTimeout(()=>{this._renderer&&this._elementRef&&(n=d1(this._renderer,{targets:[i,this._elementRef.nativeElement],outsideClick:this._listenOpts.outsideClick,hide:()=>this._listenOpts.hide&&this._listenOpts.hide()}))})}if(this._listenOpts.outsideEsc&&this._renderer&&this._elementRef){let i=this._componentRef.location.nativeElement;e=h1(this._renderer,{targets:[i,this._elementRef.nativeElement],outsideEsc:this._listenOpts.outsideEsc,hide:()=>this._listenOpts.hide&&this._listenOpts.hide()})}this._globalListener=()=>{n(),e()}}getInnerComponent(){return this._innerComponent}_subscribePositioning(){this._zoneSubscription||!this.attachment||(this.onShown.subscribe(()=>{this._posService.position({element:this._componentRef?.location,target:this._elementRef,attachment:this.attachment,appendToBody:this.container==="body"})}),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>{this._componentRef&&this._posService.calcPosition()}))}_unsubscribePositioning(){this._zoneSubscription&&(this._zoneSubscription.unsubscribe(),this._zoneSubscription=void 0)}_getContentRef(n,e,i){if(!n)return new ia([]);if(n instanceof St){if(this._viewContainerRef){let s=this._viewContainerRef.createEmbeddedView(n,e);return s.markForCheck(),new ia([s.rootNodes],s)}let o=n.createEmbeddedView({});return this._applicationRef.attachView(o),new ia([o.rootNodes],o)}if(typeof n=="function"){let o=this._componentFactoryResolver.resolveComponentFactory(n),s=kt.create({providers:this._providers,parent:this._injector}),a=o.create(s);return Object.assign(a.instance,i),this._applicationRef.attachView(a.hostView),new ia([[a.location.nativeElement]],a.hostView,a)}let r=this._renderer?[this._renderer.createText(`${n}`)]:[];return new ia([r])}},Qt=(()=>{class t{constructor(e,i,r,o,s,a){this._componentFactoryResolver=e,this._ngZone=i,this._injector=r,this._posService=o,this._applicationRef=s,this._document=a}createLoader(e,i,r){return new rC(i,r,e,this._injector,this._componentFactoryResolver,this._ngZone,this._applicationRef,this._posService,this._document)}static{this.\u0275fac=function(i){return new(i||t)(F(So),F(Me),F(kt),F(nn),F(kn),F(Ie))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var wY=["*"],oC=(()=>{class t{constructor(){this.adaptivePosition=!0,this.placement="top",this.triggers="hover focus",this.delay=0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),DY=(()=>{class t{get _bsVersions(){return Wo()}constructor(e){Object.assign(this,e)}ngAfterViewInit(){this.classMap={in:!1,fade:!1},this.placement&&(this._bsVersions.isBs5&&(this.placement=Ju[this.placement]),this.classMap[this.placement]=!0),this.classMap[`tooltip-${this.placement}`]=!0,this.classMap.in=!0,this.animation&&(this.classMap.fade=!0),this.containerClass&&(this.classMap[this.containerClass]=!0)}static{this.\u0275fac=function(i){return new(i||t)(y(oC))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-tooltip-container"]],hostAttrs:["role","tooltip"],hostVars:3,hostBindings:function(i,r){i&2&&(J("id",r.id),Jt("show tooltip in tooltip-"+r.placement+" bs-tooltip-"+r.placement+" "+r.placement+" "+r.containerClass))},ngContentSelectors:wY,decls:3,vars:0,consts:[[1,"tooltip-arrow","arrow"],[1,"tooltip-inner"]],template:function(i,r){i&1&&(Pn(),A(0,"div",0),d(1,"div",1),Cn(2),h())},styles:[".tooltip[_nghost-%COMP%]{display:block;pointer-events:none;position:absolute}.tooltip[_nghost-%COMP%] .tooltip-arrow[_ngcontent-%COMP%]{position:absolute}"],changeDetection:0})}}return t})(),MY=0,z1=(()=>{class t{get isOpen(){return this._tooltip.isShown}set isOpen(e){e?this.show():this.hide()}set htmlContent(e){Bn("tooltipHtml was deprecated, please use `tooltip` instead"),this.tooltip=e}set _placement(e){Bn("tooltipPlacement was deprecated, please use `placement` instead"),this.placement=e}set _isOpen(e){Bn("tooltipIsOpen was deprecated, please use `isOpen` instead"),this.isOpen=e}get _isOpen(){return Bn("tooltipIsOpen was deprecated, please use `isOpen` instead"),this.isOpen}set _enable(e){Bn("tooltipEnable was deprecated, please use `isDisabled` instead"),this.isDisabled=!e}get _enable(){return Bn("tooltipEnable was deprecated, please use `isDisabled` instead"),this.isDisabled}set _appendToBody(e){Bn('tooltipAppendToBody was deprecated, please use `container="body"` instead'),this.container=e?"body":this.container}get _appendToBody(){return Bn('tooltipAppendToBody was deprecated, please use `container="body"` instead'),this.container==="body"}set _popupClass(e){Bn("tooltipClass deprecated")}set _tooltipContext(e){Bn("tooltipContext deprecated")}set _tooltipPopupDelay(e){Bn("tooltipPopupDelay is deprecated, use `delay` instead"),this.delay=e}get _tooltipTrigger(){return Bn("tooltipTrigger was deprecated, please use `triggers` instead"),this.triggers}set _tooltipTrigger(e){Bn("tooltipTrigger was deprecated, please use `triggers` instead"),this.triggers=(e||"").toString()}constructor(e,i,r,o,s,a){this._elementRef=o,this._renderer=s,this._positionService=a,this.tooltipId=MY++,this.adaptivePosition=!0,this.tooltipChange=new P,this.placement="top",this.triggers="hover focus",this.containerClass="",this.isDisabled=!1,this.delay=0,this.tooltipAnimation=!0,this.tooltipFadeDuration=150,this.tooltipStateChanged=new P,this._tooltip=i.createLoader(this._elementRef,e,this._renderer).provide({provide:oC,useValue:r}),Object.assign(this,r),this.onShown=this._tooltip.onShown,this.onHidden=this._tooltip.onHidden}ngOnInit(){this._tooltip.listen({triggers:this.triggers,show:()=>this.show()}),this.tooltipChange.subscribe(e=>{e||this._tooltip.hide()}),this.onShown.subscribe(()=>{this.setAriaDescribedBy()}),this.onHidden.subscribe(()=>{this.setAriaDescribedBy()})}setAriaDescribedBy(){this._ariaDescribedby=this.isOpen?`tooltip-${this.tooltipId}`:void 0,this._ariaDescribedby?this._renderer.setAttribute(this._elementRef.nativeElement,"aria-describedby",this._ariaDescribedby):this._renderer.removeAttribute(this._elementRef.nativeElement,"aria-describedby")}toggle(){if(this.isOpen)return this.hide();this.show()}show(){if(this._positionService.setOptions({modifiers:{flip:{enabled:this.adaptivePosition},preventOverflow:{enabled:this.adaptivePosition,boundariesElement:this.boundariesElement||"scrollParent"}}}),this.isOpen||this.isDisabled||this._delayTimeoutId||!this.tooltip)return;let e=()=>{this._delayTimeoutId&&(this._delayTimeoutId=void 0),this._tooltip.attach(DY).to(this.container).position({attachment:this.placement}).show({content:this.tooltip,placement:this.placement,containerClass:this.containerClass,id:`tooltip-${this.tooltipId}`})},i=()=>{this._tooltipCancelShowFn&&this._tooltipCancelShowFn()};this.delay?(this._delaySubscription&&this._delaySubscription.unsubscribe(),this._delaySubscription=us(this.delay).subscribe(()=>{e(),i()}),this.triggers&&Wb(this.triggers).forEach(r=>{r.close&&(this._tooltipCancelShowFn=this._renderer.listen(this._elementRef.nativeElement,r.close,()=>{this._delaySubscription?.unsubscribe(),i()}))})):e()}hide(){this._delayTimeoutId&&(clearTimeout(this._delayTimeoutId),this._delayTimeoutId=void 0),this._tooltip.isShown&&(this._tooltip.instance?.classMap&&(this._tooltip.instance.classMap.in=!1),setTimeout(()=>{this._tooltip.hide()},this.tooltipFadeDuration))}ngOnDestroy(){this._tooltip.dispose(),this.tooltipChange.unsubscribe(),this._delaySubscription&&this._delaySubscription.unsubscribe(),this.onShown.unsubscribe(),this.onHidden.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(y(pt),y(Qt),y(oC),y($),y(ke),y(nn))}}static{this.\u0275dir=H({type:t,selectors:[["","tooltip",""],["","tooltipHtml",""]],inputs:{adaptivePosition:"adaptivePosition",tooltip:"tooltip",placement:"placement",triggers:"triggers",container:"container",containerClass:"containerClass",boundariesElement:"boundariesElement",isOpen:"isOpen",isDisabled:"isDisabled",delay:"delay",htmlContent:[0,"tooltipHtml","htmlContent"],_placement:[0,"tooltipPlacement","_placement"],_isOpen:[0,"tooltipIsOpen","_isOpen"],_enable:[0,"tooltipEnable","_enable"],_appendToBody:[0,"tooltipAppendToBody","_appendToBody"],tooltipAnimation:"tooltipAnimation",_popupClass:[0,"tooltipClass","_popupClass"],_tooltipContext:[0,"tooltipContext","_tooltipContext"],_tooltipPopupDelay:[0,"tooltipPopupDelay","_tooltipPopupDelay"],tooltipFadeDuration:"tooltipFadeDuration",_tooltipTrigger:[0,"tooltipTrigger","_tooltipTrigger"]},outputs:{tooltipChange:"tooltipChange",onShown:"onShown",onHidden:"onHidden",tooltipStateChanged:"tooltipStateChanged"},exportAs:["bs-tooltip"],features:[ce([Qt,nn])]})}}return Uw([m1(),$w("design:type",Object)],t.prototype,"tooltip",void 0),t})(),sC=(()=>{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=be({type:t})}static{this.\u0275inj=ve({imports:[ot]})}}return t})();function EY(t,n){if(t&1){let e=N();d(0,"button",2),D("click",function(){let r=C(e).$implicit,o=p();return w(o.selectFromRanges(r))}),v(1),h()}if(t&2){let e=n.$implicit,i=p();j("selected",i.compareRanges(e)),f(),Te(" ",e.label," ")}}function TY(t,n){if(t&1){let e=N();At(0),v(1," \u200B "),d(2,"button",2),D("click",function(){C(e);let r=p();return w(r.view("month"))}),d(3,"span"),v(4),h()(),Rt()}if(t&2){let e=p();f(2),g("disabled",e.isDisabled),f(2),U(e.calendar.monthTitle)}}var IY=[[["bs-datepicker-navigation-view"]],"*"],xY=["bs-datepicker-navigation-view","*"];function kY(t,n){t&1&&A(0,"bs-current-date",4)}function AY(t,n){t&1&&A(0,"bs-timepicker")}function RY(t,n){if(t&1){let e=N();d(0,"td",4),D("click",function(){let r=C(e).$implicit,o=p(2);return w(o.viewYear(r))})("mouseenter",function(){let r=C(e).$implicit,o=p(2);return w(o.hoverYear(r,!0))})("mouseleave",function(){let r=C(e).$implicit,o=p(2);return w(o.hoverYear(r,!1))}),d(1,"span"),v(2),h()()}if(t&2){let e=n.$implicit;j("disabled",e.isDisabled)("is-highlighted",e.isHovered),f(),j("selected",e.isSelected),f(),U(e.label)}}function OY(t,n){if(t&1&&(d(0,"tr"),T(1,RY,3,7,"td",3),h()),t&2){let e=n.$implicit;f(),g("ngForOf",e)}}function PY(t,n){if(t&1){let e=N();d(0,"td",4),D("click",function(){let r=C(e).$implicit,o=p(2);return w(o.viewMonth(r))})("mouseenter",function(){let r=C(e).$implicit,o=p(2);return w(o.hoverMonth(r,!0))})("mouseleave",function(){let r=C(e).$implicit,o=p(2);return w(o.hoverMonth(r,!1))}),d(1,"span"),v(2),h()()}if(t&2){let e=n.$implicit;j("disabled",e.isDisabled)("is-highlighted",e.isHovered),f(),j("selected",e.isSelected),f(),U(e.label)}}function NY(t,n){if(t&1&&(d(0,"tr"),T(1,PY,3,7,"td",3),h()),t&2){let e=n.$implicit;f(),g("ngForOf",e)}}var LY=["bsDatepickerDayDecorator",""];function FY(t,n){t&1&&A(0,"th")}function VY(t,n){if(t&1&&(d(0,"th",5),v(1),h()),t&2){let e=n.index,i=p();f(),Te("",i.calendar.weekdays[e]," ")}}function jY(t,n){if(t&1){let e=N();d(0,"span",11),D("click",function(){C(e);let r=p(2).$implicit,o=p();return w(o.selectWeek(r))}),v(1),h()}if(t&2){let e=p(2).index,i=p();f(),U(i.calendar.weekNumbers[e])}}function HY(t,n){if(t&1){let e=N();d(0,"span",12),D("click",function(){C(e);let r=p(2).$implicit,o=p();return w(o.selectWeek(r))})("mouseenter",function(){C(e);let r=p(2).$implicit,o=p();return w(o.weekHoverHandler(r,!0))})("mouseleave",function(){C(e);let r=p(2).$implicit,o=p();return w(o.weekHoverHandler(r,!1))}),v(1),h()}if(t&2){let e=p(2).index,i=p();f(),U(i.calendar.weekNumbers[e])}}function BY(t,n){if(t&1&&(d(0,"td",8),T(1,jY,2,1,"span",9)(2,HY,2,1,"span",10),h()),t&2){let e=p(2);j("active-week",e.isWeekHovered),f(),g("ngIf",e.isiOS),f(),g("ngIf",!e.isiOS)}}function UY(t,n){if(t&1){let e=N();d(0,"span",17),D("click",function(){C(e);let r=p().$implicit,o=p(2);return w(o.selectDay(r))})("mouseenter",function(){C(e);let r=p().$implicit,o=p(2);return w(o.hoverDay(r,!0))})("mouseleave",function(){C(e);let r=p().$implicit,o=p(2);return w(o.hoverDay(r,!1))}),v(1),h()}if(t&2){let e=p().$implicit;Dt("tooltip",e.tooltipText),g("day",e),f(),Te("",e.label," 3")}}function $Y(t,n){if(t&1){let e=N();d(0,"span",18),D("click",function(){C(e);let r=p().$implicit,o=p(2);return w(o.selectDay(r))})("mouseenter",function(){C(e);let r=p().$implicit,o=p(2);return w(o.hoverDay(r,!0))})("mouseleave",function(){C(e);let r=p().$implicit,o=p(2);return w(o.hoverDay(r,!1))}),v(1),h()}if(t&2){let e=p().$implicit;g("day",e),f(),Te("",e.label," 2")}}function YY(t,n){if(t&1){let e=N();d(0,"span",19),D("click",function(){C(e);let r=p().$implicit,o=p(2);return w(o.selectDay(r))}),v(1),h()}if(t&2){let e=p().$implicit;g("day",e),f(),Te("",e.label," 1")}}function zY(t,n){if(t&1&&(d(0,"td",13),T(1,UY,2,3,"span",14)(2,$Y,2,2,"span",15)(3,YY,2,2,"span",16),h()),t&2){let e=p(2);f(),g("ngIf",!e.isiOS&&e.isShowTooltip),f(),g("ngIf",!e.isiOS&&!e.isShowTooltip),f(),g("ngIf",e.isiOS)}}function WY(t,n){if(t&1&&(d(0,"tr"),T(1,BY,3,4,"td",6)(2,zY,4,3,"td",7),h()),t&2){let e=n.$implicit,i=p();f(),g("ngIf",i.options&&i.options.showWeekNumbers),f(),g("ngForOf",e.days)}}var K1=["startTP"];function GY(t,n){if(t&1){let e=N();d(0,"bs-days-calendar-view",13),te(1,"async"),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.dayHoverHandler(r))})("onHoverWeek",function(r){C(e);let o=p(3);return w(o.weekHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.daySelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)("isDisabled",i.isDatePickerDisabled)("options",pe(1,5,i.options$))}}function qY(t,n){if(t&1&&A(0,"timepicker",15,1),t&2){let e=p(4);g("disabled",e.isDatePickerDisabled)}}function QY(t,n){if(t&1&&(d(0,"div",14),A(1,"timepicker",15,0),T(3,qY,2,1,"timepicker",16),h()),t&2){let e=p(3);f(),g("disabled",e.isDatePickerDisabled),f(2),g("ngIf",e.isRangePicker)}}function ZY(t,n){if(t&1&&(At(0),d(1,"div",10),T(2,GY,2,7,"bs-days-calendar-view",11),te(3,"async"),h(),T(4,QY,4,2,"div",12),Rt()),t&2){let e=p(2);f(2),g("ngForOf",pe(3,2,e.daysCalendar$)),f(2),g("ngIf",e.withTimepicker)}}function KY(t,n){if(t&1){let e=N();d(0,"bs-month-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.monthHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.monthSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function JY(t,n){if(t&1&&(d(0,"div",10),T(1,KY,1,3,"bs-month-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",pe(2,1,e.monthsCalendar))}}function XY(t,n){if(t&1){let e=N();d(0,"bs-years-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.yearHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.yearSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function e4(t,n){if(t&1&&(d(0,"div",10),T(1,XY,1,3,"bs-years-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",pe(2,1,e.yearsCalendar))}}function t4(t,n){t&1&&(d(0,"div",19)(1,"button",20),v(2,"Apply"),h(),d(3,"button",21),v(4,"Cancel"),h()())}function n4(t,n){if(t&1){let e=N();d(0,"div",24)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.setToday())}),v(2),h()()}if(t&2){let e=p(3);j("today-left",e.todayPos==="left")("today-right",e.todayPos==="right")("today-center",e.todayPos==="center"),f(2),U(e.todayBtnLbl)}}function i4(t,n){if(t&1){let e=N();d(0,"div",26)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.clearDate())}),v(2),h()()}if(t&2){let e=p(3);j("clear-left",e.clearPos==="left")("clear-right",e.clearPos==="right")("clear-center",e.clearPos==="center"),f(2),U(e.clearBtnLbl)}}function r4(t,n){if(t&1&&(d(0,"div",19),T(1,n4,3,7,"div",22)(2,i4,3,7,"div",23),h()),t&2){let e=p(2);f(),g("ngIf",e.showTodayBtn),f(),g("ngIf",e.showClearBtn)}}function o4(t,n){if(t&1){let e=N();d(0,"div",27)(1,"bs-custom-date-view",28),D("onSelect",function(r){C(e);let o=p(2);return w(o.setRangeOnCalendar(r))}),h()()}if(t&2){let e=p(2);f(),g("selectedRange",e.chosenRange)("ranges",e.customRanges)("customRangeLabel",e.customRangeBtnLbl)}}function s4(t,n){if(t&1){let e=N();d(0,"div",3)(1,"div",4),D("@datepickerAnimation.done",function(){C(e);let r=p();return w(r.positionServiceEnable())}),d(2,"div",5),te(3,"async"),T(4,ZY,5,4,"ng-container",6)(5,JY,3,3,"div",7)(6,e4,3,3,"div",7),h(),T(7,t4,5,0,"div",8)(8,r4,3,2,"div",8),h(),T(9,o4,2,3,"div",9),h()}if(t&2){let e=p();g("ngClass",e.containerClass),f(),g("@datepickerAnimation",e.animationState),f(),g("ngSwitch",pe(3,9,e.viewMode)),f(2),g("ngSwitchCase","day"),f(),g("ngSwitchCase","month"),f(),g("ngSwitchCase","year"),f(),g("ngIf",!1),f(),g("ngIf",e.showTodayBtn||e.showClearBtn),f(),g("ngIf",e.customRanges&&e.customRanges.length>0)}}function a4(t,n){if(t&1){let e=N();d(0,"bs-days-calendar-view",13),te(1,"async"),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.dayHoverHandler(r))})("onHoverWeek",function(r){C(e);let o=p(3);return w(o.weekHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.daySelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)("isDisabled",i.isDatePickerDisabled)("options",pe(1,5,i.options$))}}function l4(t,n){if(t&1&&A(0,"timepicker",15,1),t&2){let e=p(4);g("disabled",e.isDatePickerDisabled)}}function c4(t,n){if(t&1&&(d(0,"div",14),A(1,"timepicker",15,0),T(3,l4,2,1,"timepicker",16),h()),t&2){let e=p(3);f(),g("disabled",e.isDatePickerDisabled),f(2),g("ngIf",e.isRangePicker)}}function u4(t,n){if(t&1&&(At(0),d(1,"div",10),T(2,a4,2,7,"bs-days-calendar-view",11),te(3,"async"),h(),T(4,c4,4,2,"div",12),Rt()),t&2){let e=p(2);f(2),g("ngForOf",pe(3,2,e.daysCalendar$)),f(2),g("ngIf",e.withTimepicker)}}function d4(t,n){if(t&1){let e=N();d(0,"bs-month-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.monthHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.monthSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function h4(t,n){if(t&1&&(d(0,"div",10),T(1,d4,1,3,"bs-month-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",pe(2,1,e.monthsCalendar))}}function f4(t,n){if(t&1){let e=N();d(0,"bs-years-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.yearHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.yearSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function p4(t,n){if(t&1&&(d(0,"div",10),T(1,f4,1,3,"bs-years-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",pe(2,1,e.yearsCalendar))}}function m4(t,n){t&1&&(d(0,"div",19)(1,"button",20),v(2,"Apply"),h(),d(3,"button",21),v(4,"Cancel"),h()())}function g4(t,n){if(t&1){let e=N();d(0,"div",24)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.setToday())}),v(2),h()()}if(t&2){let e=p(3);j("today-left",e.todayPos==="left")("today-right",e.todayPos==="right")("today-center",e.todayPos==="center"),f(2),U(e.todayBtnLbl)}}function _4(t,n){if(t&1){let e=N();d(0,"div",26)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.clearDate())}),v(2),h()()}if(t&2){let e=p(3);j("clear-left",e.clearPos==="left")("clear-right",e.clearPos==="right")("clear-center",e.clearPos==="center"),f(2),U(e.clearBtnLbl)}}function y4(t,n){if(t&1&&(d(0,"div",19),T(1,g4,3,7,"div",22)(2,_4,3,7,"div",23),h()),t&2){let e=p(2);f(),g("ngIf",e.showTodayBtn),f(),g("ngIf",e.showClearBtn)}}function v4(t,n){if(t&1){let e=N();d(0,"div",27)(1,"bs-custom-date-view",28),D("onSelect",function(r){C(e);let o=p(2);return w(o.setRangeOnCalendar(r))}),h()()}if(t&2){let e=p(2);f(),g("selectedRange",e.chosenRange)("ranges",e.customRanges)("customRangeLabel",e.customRangeBtnLbl)}}function b4(t,n){if(t&1){let e=N();d(0,"div",3)(1,"div",4),D("@datepickerAnimation.done",function(){C(e);let r=p();return w(r.positionServiceEnable())}),d(2,"div",5),te(3,"async"),T(4,u4,5,4,"ng-container",6)(5,h4,3,3,"div",7)(6,p4,3,3,"div",7),h(),T(7,m4,5,0,"div",8)(8,y4,3,2,"div",8),h(),T(9,v4,2,3,"div",9),h()}if(t&2){let e=p();g("ngClass",e.containerClass),f(),g("@datepickerAnimation",e.animationState),f(),g("ngSwitch",pe(3,9,e.viewMode)),f(2),g("ngSwitchCase","day"),f(),g("ngSwitchCase","month"),f(),g("ngSwitchCase","year"),f(),g("ngIf",!1),f(),g("ngIf",e.showTodayBtn||e.showClearBtn),f(),g("ngIf",e.customRanges&&e.customRanges.length>0)}}var C4=["endTP"];function w4(t,n){if(t&1){let e=N();d(0,"bs-days-calendar-view",13),te(1,"async"),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.dayHoverHandler(r))})("onHoverWeek",function(r){C(e);let o=p(3);return w(o.weekHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.daySelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)("isDisabled",i.isDatePickerDisabled)("options",pe(1,5,i.options$))}}function D4(t,n){if(t&1&&A(0,"timepicker",15,1),t&2){let e=p(4);g("disabled",e.isDatePickerDisabled)}}function M4(t,n){if(t&1&&(d(0,"div",14),A(1,"timepicker",15,0),T(3,D4,2,1,"timepicker",16),h()),t&2){let e=p(3);f(),g("disabled",e.isDatePickerDisabled),f(2),g("ngIf",e.isRangePicker)}}function S4(t,n){if(t&1&&(At(0),d(1,"div",10),T(2,w4,2,7,"bs-days-calendar-view",11),te(3,"async"),h(),T(4,M4,4,2,"div",12),Rt()),t&2){let e=p(2);f(2),g("ngForOf",pe(3,2,e.daysCalendar$)),f(2),g("ngIf",e.withTimepicker)}}function E4(t,n){if(t&1){let e=N();d(0,"bs-month-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.monthHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.monthSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function T4(t,n){if(t&1&&(d(0,"div",10),T(1,E4,1,3,"bs-month-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",pe(2,1,e.monthsCalendar))}}function I4(t,n){if(t&1){let e=N();d(0,"bs-years-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.yearHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.yearSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function x4(t,n){if(t&1&&(d(0,"div",10),T(1,I4,1,3,"bs-years-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",pe(2,1,e.yearsCalendar))}}function k4(t,n){t&1&&(d(0,"div",19)(1,"button",20),v(2,"Apply"),h(),d(3,"button",21),v(4,"Cancel"),h()())}function A4(t,n){if(t&1){let e=N();d(0,"div",24)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.setToday())}),v(2),h()()}if(t&2){let e=p(3);j("today-left",e.todayPos==="left")("today-right",e.todayPos==="right")("today-center",e.todayPos==="center"),f(2),U(e.todayBtnLbl)}}function R4(t,n){if(t&1){let e=N();d(0,"div",26)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.clearDate())}),v(2),h()()}if(t&2){let e=p(3);j("clear-left",e.clearPos==="left")("clear-right",e.clearPos==="right")("clear-center",e.clearPos==="center"),f(2),U(e.clearBtnLbl)}}function O4(t,n){if(t&1&&(d(0,"div",19),T(1,A4,3,7,"div",22)(2,R4,3,7,"div",23),h()),t&2){let e=p(2);f(),g("ngIf",e.showTodayBtn),f(),g("ngIf",e.showClearBtn)}}function P4(t,n){if(t&1){let e=N();d(0,"div",27)(1,"bs-custom-date-view",28),D("onSelect",function(r){C(e);let o=p(2);return w(o.setRangeOnCalendar(r))}),h()()}if(t&2){let e=p(2);f(),g("selectedRange",e.chosenRange)("ranges",e.customRanges)("customRangeLabel",e.customRangeBtnLbl)}}function N4(t,n){if(t&1){let e=N();d(0,"div",3)(1,"div",4),D("@datepickerAnimation.done",function(){C(e);let r=p();return w(r.positionServiceEnable())}),d(2,"div",5),te(3,"async"),T(4,S4,5,4,"ng-container",6)(5,T4,3,3,"div",7)(6,x4,3,3,"div",7),h(),T(7,k4,5,0,"div",8)(8,O4,3,2,"div",8),h(),T(9,P4,2,3,"div",9),h()}if(t&2){let e=p();g("ngClass",e.containerClass),f(),g("@datepickerAnimation",e.animationState),f(),g("ngSwitch",pe(3,9,e.viewMode)),f(2),g("ngSwitchCase","day"),f(),g("ngSwitchCase","month"),f(),g("ngSwitchCase","year"),f(),g("ngIf",!1),f(),g("ngIf",e.showTodayBtn||e.showClearBtn),f(),g("ngIf",e.customRanges&&e.customRanges.length>0)}}function L4(t,n){if(t&1){let e=N();d(0,"bs-days-calendar-view",13),te(1,"async"),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.dayHoverHandler(r))})("onHoverWeek",function(r){C(e);let o=p(3);return w(o.weekHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.daySelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)("isDisabled",i.isDatePickerDisabled)("options",pe(1,5,i.options$))}}function F4(t,n){if(t&1&&A(0,"timepicker",15,1),t&2){let e=p(4);g("disabled",e.isDatePickerDisabled)}}function V4(t,n){if(t&1&&(d(0,"div",14),A(1,"timepicker",15,0),T(3,F4,2,1,"timepicker",16),h()),t&2){let e=p(3);f(),g("disabled",e.isDatePickerDisabled),f(2),g("ngIf",e.isRangePicker)}}function j4(t,n){if(t&1&&(At(0),d(1,"div",10),T(2,L4,2,7,"bs-days-calendar-view",11),te(3,"async"),h(),T(4,V4,4,2,"div",12),Rt()),t&2){let e=p(2);f(2),g("ngForOf",pe(3,2,e.daysCalendar$)),f(2),g("ngIf",e.withTimepicker)}}function H4(t,n){if(t&1){let e=N();d(0,"bs-month-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.monthHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.monthSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function B4(t,n){if(t&1&&(d(0,"div",10),T(1,H4,1,3,"bs-month-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",pe(2,1,e.monthsCalendar))}}function U4(t,n){if(t&1){let e=N();d(0,"bs-years-calendar-view",18),D("onNavigate",function(r){C(e);let o=p(3);return w(o.navigateTo(r))})("onViewMode",function(r){C(e);let o=p(3);return w(o.setViewMode(r))})("onHover",function(r){C(e);let o=p(3);return w(o.yearHoverHandler(r))})("onSelect",function(r){C(e);let o=p(3);return w(o.yearSelectHandler(r))}),h()}if(t&2){let e=n.$implicit,i=p(3);j("bs-datepicker-multiple",i.multipleCalendars),g("calendar",e)}}function $4(t,n){if(t&1&&(d(0,"div",10),T(1,U4,1,3,"bs-years-calendar-view",17),te(2,"async"),h()),t&2){let e=p(2);f(),g("ngForOf",pe(2,1,e.yearsCalendar))}}function Y4(t,n){t&1&&(d(0,"div",19)(1,"button",20),v(2,"Apply"),h(),d(3,"button",21),v(4,"Cancel"),h()())}function z4(t,n){if(t&1){let e=N();d(0,"div",24)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.setToday())}),v(2),h()()}if(t&2){let e=p(3);j("today-left",e.todayPos==="left")("today-right",e.todayPos==="right")("today-center",e.todayPos==="center"),f(2),U(e.todayBtnLbl)}}function W4(t,n){if(t&1){let e=N();d(0,"div",26)(1,"button",25),D("click",function(){C(e);let r=p(3);return w(r.clearDate())}),v(2),h()()}if(t&2){let e=p(3);j("clear-left",e.clearPos==="left")("clear-right",e.clearPos==="right")("clear-center",e.clearPos==="center"),f(2),U(e.clearBtnLbl)}}function G4(t,n){if(t&1&&(d(0,"div",19),T(1,z4,3,7,"div",22)(2,W4,3,7,"div",23),h()),t&2){let e=p(2);f(),g("ngIf",e.showTodayBtn),f(),g("ngIf",e.showClearBtn)}}function q4(t,n){if(t&1){let e=N();d(0,"div",27)(1,"bs-custom-date-view",28),D("onSelect",function(r){C(e);let o=p(2);return w(o.setRangeOnCalendar(r))}),h()()}if(t&2){let e=p(2);f(),g("selectedRange",e.chosenRange)("ranges",e.customRanges)("customRangeLabel",e.customRangeBtnLbl)}}function Q4(t,n){if(t&1){let e=N();d(0,"div",3)(1,"div",4),D("@datepickerAnimation.done",function(){C(e);let r=p();return w(r.positionServiceEnable())}),d(2,"div",5),te(3,"async"),T(4,j4,5,4,"ng-container",6)(5,B4,3,3,"div",7)(6,$4,3,3,"div",7),h(),T(7,Y4,5,0,"div",8)(8,G4,3,2,"div",8),h(),T(9,q4,2,3,"div",9),h()}if(t&2){let e=p();g("ngClass",e.containerClass),f(),g("@datepickerAnimation",e.animationState),f(),g("ngSwitch",pe(3,9,e.viewMode)),f(2),g("ngSwitchCase","day"),f(),g("ngSwitchCase","month"),f(),g("ngSwitchCase","year"),f(),g("ngIf",!1),f(),g("ngIf",e.showTodayBtn||e.showClearBtn),f(),g("ngIf",e.customRanges&&e.customRanges.length>0)}}var Xi=(()=>{class t{constructor(){this.adaptivePosition=!1,this.useUtc=!1,this.isAnimated=!1,this.startView="day",this.returnFocusToInput=!1,this.containerClass="theme-green",this.displayMonths=1,this.showWeekNumbers=!0,this.dateInputFormat="L",this.rangeSeparator=" - ",this.rangeInputFormat="L",this.monthTitle="MMMM",this.yearTitle="YYYY",this.dayLabel="D",this.monthLabel="MMMM",this.yearLabel="YYYY",this.weekNumbers="w",this.showTodayButton=!1,this.showClearButton=!1,this.todayPosition="center",this.clearPosition="right",this.todayButtonLabel="Today",this.clearButtonLabel="Clear",this.customRangeButtonLabel="Custom Range",this.withTimepicker=!1,this.allowedPositions=["top","bottom"],this.keepDatepickerOpened=!1,this.keepDatesOutOfRules=!1}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),W1="220ms cubic-bezier(0, 0, 0.2, 1)",cm=no("datepickerAnimation",[Ir("animated-down",bt({height:"*",overflow:"hidden"})),ni("* => animated-down",[bt({height:0,overflow:"hidden"}),Dn(W1)]),Ir("animated-up",bt({height:"*",overflow:"hidden"})),ni("* => animated-up",[bt({height:"*",overflow:"hidden"}),Dn(W1)]),ni("* => unanimated",Dn("0s"))]),lm=class{constructor(){this.containerClass="",this.customRanges=[],this.chosenRange=[],this._daysCalendarSub=new Ue,this.selectedTimeSub=new Ue}set minDate(n){this._effects?.setMinDate(n)}set maxDate(n){this._effects?.setMaxDate(n)}set daysDisabled(n){this._effects?.setDaysDisabled(n)}set datesDisabled(n){this._effects?.setDatesDisabled(n)}set datesEnabled(n){this._effects?.setDatesEnabled(n)}set isDisabled(n){this._effects?.setDisabled(n)}set dateCustomClasses(n){this._effects?.setDateCustomClasses(n)}set dateTooltipTexts(n){this._effects?.setDateTooltipTexts(n)}set daysCalendar$(n){this._daysCalendar$=n,this._daysCalendarSub.unsubscribe(),this._daysCalendarSub.add(this._daysCalendar$.subscribe(e=>{this.multipleCalendars=!!e&&e.length>1}))}get daysCalendar$(){return this._daysCalendar$}setViewMode(n){}navigateTo(n){}dayHoverHandler(n){}weekHoverHandler(n){}monthHoverHandler(n){}yearHoverHandler(n){}timeSelectHandler(n,e){}daySelectHandler(n){}monthSelectHandler(n){}yearSelectHandler(n){}setRangeOnCalendar(n){}setToday(){}clearDate(){}_stopPropagation(n){n.stopPropagation()}},gt=(()=>{class t{static{this.CALCULATE="[datepicker] calculate dates matrix"}static{this.FORMAT="[datepicker] format datepicker values"}static{this.FLAG="[datepicker] set flags"}static{this.SELECT="[datepicker] select date"}static{this.NAVIGATE_OFFSET="[datepicker] shift view date"}static{this.NAVIGATE_TO="[datepicker] change view date"}static{this.SET_OPTIONS="[datepicker] update render options"}static{this.HOVER="[datepicker] hover date"}static{this.CHANGE_VIEWMODE="[datepicker] switch view mode"}static{this.SET_MIN_DATE="[datepicker] set min date"}static{this.SET_MAX_DATE="[datepicker] set max date"}static{this.SET_DAYSDISABLED="[datepicker] set days disabled"}static{this.SET_DATESDISABLED="[datepicker] set dates disabled"}static{this.SET_DATESENABLED="[datepicker] set dates enabled"}static{this.SET_IS_DISABLED="[datepicker] set is disabled"}static{this.SET_DATE_CUSTOM_CLASSES="[datepicker] set date custom classes"}static{this.SET_DATE_TOOLTIP_TEXTS="[datepicker] set date tooltip texts"}static{this.SET_LOCALE="[datepicker] set datepicker locale"}static{this.SELECT_TIME="[datepicker] select time"}static{this.SELECT_RANGE="[daterangepicker] select dates range"}calculate(){return{type:t.CALCULATE}}format(){return{type:t.FORMAT}}flag(){return{type:t.FLAG}}select(e){return{type:t.SELECT,payload:e}}selectTime(e,i){return{type:t.SELECT_TIME,payload:{date:e,index:i}}}changeViewMode(e){return{type:t.CHANGE_VIEWMODE,payload:e}}navigateTo(e){return{type:t.NAVIGATE_TO,payload:e}}navigateStep(e){return{type:t.NAVIGATE_OFFSET,payload:e}}setOptions(e){return{type:t.SET_OPTIONS,payload:e}}selectRange(e){return{type:t.SELECT_RANGE,payload:e}}hoverDay(e){return{type:t.HOVER,payload:e.isHovered?e.cell.date:null}}minDate(e){return{type:t.SET_MIN_DATE,payload:e}}maxDate(e){return{type:t.SET_MAX_DATE,payload:e}}daysDisabled(e){return{type:t.SET_DAYSDISABLED,payload:e}}datesDisabled(e){return{type:t.SET_DATESDISABLED,payload:e}}datesEnabled(e){return{type:t.SET_DATESENABLED,payload:e}}isDisabled(e){return{type:t.SET_IS_DISABLED,payload:e}}setDateCustomClasses(e){return{type:t.SET_DATE_CUSTOM_CLASSES,payload:e}}setDateTooltipTexts(e){return{type:t.SET_DATE_TOOLTIP_TEXTS,payload:e}}setLocale(e){return{type:t.SET_LOCALE,payload:e}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),dC=(()=>{class t{constructor(){this._defaultLocale="en",this._locale=new Pe(this._defaultLocale),this._localeChange=this._locale.asObservable()}get locale(){return this._locale}get localeChange(){return this._localeChange}get currentLocale(){return this._locale.getValue()}use(e){e!==this.currentLocale&&this._locale.next(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),Qo=(()=>{class t{constructor(e,i){this._actions=e,this._localeService=i,this._subs=[]}init(e){return this._store=e,this}setValue(e){this._store?.dispatch(this._actions.select(e))}setRangeValue(e){this._store?.dispatch(this._actions.selectRange(e))}setMinDate(e){return this._store?.dispatch(this._actions.minDate(e)),this}setMaxDate(e){return this._store?.dispatch(this._actions.maxDate(e)),this}setDaysDisabled(e){return this._store?.dispatch(this._actions.daysDisabled(e)),this}setDatesDisabled(e){return this._store?.dispatch(this._actions.datesDisabled(e)),this}setDatesEnabled(e){return this._store?.dispatch(this._actions.datesEnabled(e)),this}setDisabled(e){return this._store?.dispatch(this._actions.isDisabled(e)),this}setDateCustomClasses(e){return this._store?.dispatch(this._actions.setDateCustomClasses(e)),this}setDateTooltipTexts(e){return this._store?.dispatch(this._actions.setDateTooltipTexts(e)),this}setOptions(e){let i=Object.assign({locale:this._localeService.currentLocale},e);return this._store?.dispatch(this._actions.setOptions(i)),this}setBindings(e){return this._store?(e.selectedTime=this._store.select(i=>i.selectedTime).pipe(le(i=>!!i)),e.daysCalendar$=this._store.select(i=>i.flaggedMonths).pipe(le(i=>!!i)),e.monthsCalendar=this._store.select(i=>i.flaggedMonthsCalendar).pipe(le(i=>!!i)),e.yearsCalendar=this._store.select(i=>i.yearsCalendarFlagged).pipe(le(i=>!!i)),e.viewMode=this._store.select(i=>i.view?.mode),e.options$=go([this._store.select(i=>i.showWeekNumbers),this._store.select(i=>i.displayMonths)]).pipe(G(i=>({showWeekNumbers:i[0],displayMonths:i[1]}))),this):this}setEventHandlers(e){return e.setViewMode=i=>{this._store?.dispatch(this._actions.changeViewMode(i))},e.navigateTo=i=>{this._store?.dispatch(this._actions.navigateStep(i.step))},e.dayHoverHandler=i=>{let r=i.cell;r.isOtherMonth||r.isDisabled||(this._store?.dispatch(this._actions.hoverDay(i)),r.isHovered=i.isHovered)},e.monthHoverHandler=i=>{i.cell.isHovered=i.isHovered},e.yearHoverHandler=i=>{i.cell.isHovered=i.isHovered},this}registerDatepickerSideEffects(){return this._store?(this._subs.push(this._store.select(e=>e.view).subscribe(()=>{this._store?.dispatch(this._actions.calculate())})),this._subs.push(this._store.select(e=>e.monthsModel).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.format()))),this._subs.push(this._store.select(e=>e.formattedMonths).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._store.select(e=>e.selectedDate).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._store.select(e=>e.selectedRange).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._store.select(e=>e.monthsCalendar).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._store.select(e=>e.yearsCalendarModel).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._store.select(e=>e.hoveredDate).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._store.select(e=>e.dateCustomClasses).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._store.select(e=>e.dateTooltipTexts).pipe(le(e=>!!e)).subscribe(()=>this._store?.dispatch(this._actions.flag()))),this._subs.push(this._localeService.localeChange.subscribe(e=>this._store?.dispatch(this._actions.setLocale(e)))),this):this}destroy(){for(let e of this._subs)e.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(F(gt),F(dC))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),Z4={width:7,height:6},K4=24*60*60*1e3;var J4={date:new Date,mode:"day"},J1=Object.assign(new Xi,{locale:"en",view:J4,selectedRange:[],selectedTime:[],monthViewOptions:Z4});function X4(t,n){if(Bx(t,n.firstDayOfWeek))return t;let e=Ji(t),i=ez(e,n.firstDayOfWeek);return qt(t,{day:-i})}function ez(t,n){let e=Number(n);if(isNaN(e))return 0;if(e===0)return t;let i=t-e%7;return i<0?i+7:i}function cC(t,n,e){let i=n&&Yo(Zu(t,"month"),n,"day"),r=e&&co(kr(t,"month"),e,"day");return i||r||!1}function ed(t,n,e){let i=n&&Yo(Zu(t,"year"),n,"day"),r=e&&co(kr(t,"year"),e,"day");return i||r||!1}function hC(t,n,e){return!n||!st(n)||!n.length?!1:e&&e==="year"&&!n[0].getDate()?n.some(i=>Ku(t,i,"year")):n.some(i=>Ku(t,i,"date"))}function fC(t,n,e){return!n||!st(n)||!n.length?!1:!n.some(i=>Ku(t,i,e||"date"))}function X1(t,n=0){let e=t&&t.yearsCalendarModel&&t.yearsCalendarModel[n];return e?.years[0]&&e.years[0][0]&&e.years[0][0].date}function tz(t,n){return!t||!n||!t.length&&!t[0].value||t.forEach(e=>(!e||!e.value||e.value instanceof Date||!(e.value instanceof Array&&e.value.length)||(e.value=tk(e.value,n)),t)),t}function ek(t,n){return!t||!n||t instanceof Array&&!t.length||t instanceof Date?t:tk(t,n)}function tk(t,n){return t instanceof Array?t.map(i=>i&&(co(i,n,"date")&&(i=n),i)):t}function G1(t){return t&&nk(t)}function q1(t){return t?.length&&t.map(n=>n&&nk(n)),t}function nk(t){let n=new Date;return t.setMilliseconds(n.getMilliseconds()),t.setSeconds(n.getSeconds()),t.setMinutes(n.getMinutes()),t.setHours(n.getHours()),t}function pC(t,n){let e=t.initialDate,i=new Array(t.height);for(let r=0;rs),month:e}}function nz(t,n,e){return{month:t.month,monthTitle:oi(t.month,n.monthTitle,n.locale),yearTitle:oi(t.month,n.yearTitle,n.locale),weekNumbers:iz(t.daysMatrix,n.weekNumbers,n.locale),weekdays:rz(n.locale),weeks:t.daysMatrix.map((i,r)=>({days:i.map((o,s)=>({date:o,label:oi(o,n.dayLabel,n.locale),monthIndex:e,weekIndex:r,dayIndex:s}))})),hideLeftArrow:!1,hideRightArrow:!1,disableLeftArrow:!1,disableRightArrow:!1}}function iz(t,n,e){return t.map(i=>i[0]?oi(i[0],n,e):"")}function rz(t){let n=an(t),e=n.weekdaysShort(),i=n.firstDayOfWeek();return[...e.slice(i),...e.slice(0,i)]}function oz(t,n){return t.weeks.forEach(e=>{e.days.forEach((i,r)=>{let o=!ea(i.date,t.month),s=!o&&lo(i.date,n.hoveredDate),a=!o&&n.selectedRange&&lo(i.date,n.selectedRange[0]),l=!o&&n.selectedRange&&lo(i.date,n.selectedRange[1]),c=!o&&lo(i.date,n.selectedDate)||a||l,u=!o&&n.selectedRange&&sz(i.date,n.selectedRange,n.hoveredDate),m=n.isDisabled||Yo(i.date,n.minDate,"day")||co(i.date,n.maxDate,"day")||s1(i.date,n.daysDisabled)||hC(i.date,n.datesDisabled)||fC(i.date,n.datesEnabled),b=new Date,_=!o&&lo(i.date,b),M=n.dateCustomClasses&&n.dateCustomClasses.map(V=>lo(i.date,V.date)?V.classes:[]).reduce((V,de)=>V.concat(de),[]).join(" ")||"",I=n.dateTooltipTexts&&n.dateTooltipTexts.map(V=>lo(i.date,V.date)?V.tooltipText:"").reduce((V,de)=>(V.push(de),V),[]).join(" ")||"",O=Object.assign({},i,{isOtherMonth:o,isHovered:s,isSelected:c,isSelectionStart:a,isSelectionEnd:l,isInRange:u,isDisabled:m,isToday:_,customClasses:M,tooltipText:I});(i.isOtherMonth!==O.isOtherMonth||i.isHovered!==O.isHovered||i.isSelected!==O.isSelected||i.isSelectionStart!==O.isSelectionStart||i.isSelectionEnd!==O.isSelectionEnd||i.isDisabled!==O.isDisabled||i.isInRange!==O.isInRange||i.customClasses!==O.customClasses||i.tooltipText!==O.tooltipText)&&(e.days[r]=O)})}),t.hideLeftArrow=n.isDisabled||!!n.monthIndex&&n.monthIndex>0&&n.monthIndex!==n.displayMonths,t.hideRightArrow=n.isDisabled||(!!n.monthIndex||n.monthIndex===0)&&!!n.displayMonths&&n.monthIndexn[0]&&t<=n[1]:e?t>n[0]&&t<=e:!1}function Q1(t,n){return n?t>=n:!0}var az=4,lz=3,cz={month:1};function ik(t,n){let e=kr(t,"year");return{months:pC({width:lz,height:az,initialDate:e,shift:cz},o=>({date:o,label:oi(o,n.monthLabel,n.locale)})),monthTitle:"",yearTitle:oi(t,n.yearTitle,n.locale),hideRightArrow:!1,hideLeftArrow:!1,disableRightArrow:!1,disableLeftArrow:!1}}function uz(t,n){return t.months.forEach((e,i)=>{e.forEach((r,o)=>{let s,a=ea(r.date,n.hoveredMonth),l=n.isDisabled||hC(r.date,n.datesDisabled)||fC(r.date,n.datesEnabled,"month")||cC(r.date,n.minDate,n.maxDate);!n.selectedDate&&n.selectedRange?(s=ea(r.date,n.selectedRange[0]),s||(s=ea(r.date,n.selectedRange[1]))):s=ea(r.date,n.selectedDate);let c=Object.assign(r,{isHovered:a,isDisabled:l,isSelected:s});(r.isHovered!==c.isHovered||r.isDisabled!==c.isDisabled||r.isSelected!==c.isSelected)&&(t.months[i][o]=c)})}),t.hideLeftArrow=!!n.monthIndex&&n.monthIndex>0&&n.monthIndex!==n.displayMonths,t.hideRightArrow=(!!n.monthIndex||n.monthIndex===0)&&(!!n.displayMonths||n.displayMonths===0)&&n.monthIndex({date:a,label:oi(a,n.yearLabel,n.locale)})),s=fz(o,n);return{years:o,monthTitle:"",yearTitle:s,hideLeftArrow:!1,hideRightArrow:!1,disableLeftArrow:!1,disableRightArrow:!1}}function hz(t,n){return n&&t.getFullYear()>=n.getFullYear()&&t.getFullYear(){r.forEach((s,a)=>{let l,c=ta(s.date,n.hoveredYear),u=n.isDisabled||hC(s.date,n.datesDisabled,"year")||fC(s.date,n.datesEnabled,"year")||ed(s.date,n.minDate,n.maxDate);!n.selectedDate&&n.selectedRange?(l=ta(s.date,n.selectedRange[0]),l||(l=ta(s.date,n.selectedRange[1]))):l=ta(s.date,n.selectedDate);let m=Object.assign(s,{isHovered:c,isDisabled:u,isSelected:l});(s.isHovered!==m.isHovered||s.isDisabled!==m.isDisabled||s.isSelected!==m.isSelected)&&(t.years[o][a]=m)})}),t.hideLeftArrow=!!n.yearIndex&&n.yearIndex>0&&n.yearIndex!==n.displayMonths,t.hideRightArrow=!!n.yearIndex&&!!n.displayMonths&&n.yearIndexs)),e.value instanceof Date&&(e.selectedDate=e.value,e.selectedTime=[e.value])),Object.assign({},t,e)}case gt.SELECT_RANGE:{if(!t.view)return t;let e={selectedRange:n.payload,view:t.view};e.selectedRange?.forEach((s,a)=>{if(Array.isArray(t.selectedTime)){let l=t.selectedTime[a];l&&uC(s,l)}});let i=t.view.mode,r=n.payload&&n.payload[0]||t.view.date,o=lC(r,t.minDate,t.maxDate);return e.view={mode:i,date:o},Object.assign({},t,e)}case gt.SET_MIN_DATE:return Object.assign({},t,{minDate:n.payload});case gt.SET_MAX_DATE:return Object.assign({},t,{maxDate:n.payload});case gt.SET_IS_DISABLED:return Object.assign({},t,{isDisabled:n.payload});case gt.SET_DATE_CUSTOM_CLASSES:return Object.assign({},t,{dateCustomClasses:n.payload});case gt.SET_DATE_TOOLTIP_TEXTS:return Object.assign({},t,{dateTooltipTexts:n.payload});default:return t}}function mz(t){if(!t.view)return t;let n;t.displayOneMonthRange&&sk(t.view.date,t.minDate,t.maxDate)?n=1:n=t.displayMonths||1;let e=t.view.date;if(t.view.mode==="day"&&t.monthViewOptions){t.showPreviousMonth&&t.selectedRange&&t.selectedRange.length===0&&(e=qt(e,{month:-1})),t.monthViewOptions.firstDayOfWeek=an(t.locale).firstDayOfWeek();let i=new Array(n);for(let r=0;rt.monthViewOptions?aC(o.month,t.monthViewOptions):null).filter(o=>o!==null))}return Object.assign({},t,{monthsModel:i})}if(t.view.mode==="month"){let i=new Array(n);for(let r=0;rnz(r,td(t),o));return Object.assign({},t,{formattedMonths:i})}let n=t.displayMonths||1,e=t.view.date;if(t.view.mode==="month"){let i=new Array(n);for(let r=0;roz(i,{isDisabled:t.isDisabled,minDate:t.minDate,maxDate:t.maxDate,daysDisabled:t.daysDisabled,datesDisabled:t.datesDisabled,datesEnabled:t.datesEnabled,hoveredDate:t.hoveredDate,selectedDate:t.selectedDate,selectedRange:t.selectedRange,displayMonths:n,dateCustomClasses:t.dateCustomClasses,dateTooltipTexts:t.dateTooltipTexts,monthIndex:r}));return Object.assign({},t,{flaggedMonths:e})}if(t.view.mode==="month"&&t.monthsCalendar){let e=t.monthsCalendar.map((i,r)=>uz(i,{isDisabled:t.isDisabled,minDate:t.minDate,maxDate:t.maxDate,hoveredMonth:t.hoveredMonth,selectedDate:t.selectedDate,datesDisabled:t.datesDisabled,datesEnabled:t.datesEnabled,selectedRange:t.selectedRange,displayMonths:n,monthIndex:r}));return Object.assign({},t,{flaggedMonthsCalendar:e})}if(t.view.mode==="year"&&t.yearsCalendarModel){let e=t.yearsCalendarModel.map((i,r)=>pz(i,{isDisabled:t.isDisabled,minDate:t.minDate,maxDate:t.maxDate,hoveredYear:t.hoveredYear,selectedDate:t.selectedDate,datesDisabled:t.datesDisabled,datesEnabled:t.datesEnabled,selectedRange:t.selectedRange,displayMonths:n,yearIndex:r}));return Object.assign({},t,{yearsCalendarFlagged:e})}return t}function yz(t,n){if(!t.view)return t;let e=vz(t,n);if(!e)return t;let i={view:{mode:t.view.mode,date:e}};return Object.assign({},t,i)}function vz(t,n){if(t.view){if(t.view.mode==="year"&&t.minMode==="year"){let e=X1(t,0);if(e){let i=qt(e,{year:-rk});return qt(i,n.payload)}}return qt(kr(t.view.date,"month"),n.payload)}}function td(t){return{locale:t.locale,monthTitle:t.monthTitle,yearTitle:t.yearTitle,dayLabel:t.dayLabel,monthLabel:t.monthLabel,yearLabel:t.yearLabel,weekNumbers:t.weekNumbers}}function lC(t,n,e){let i=Array.isArray(t)?t[0]:t;return n&&co(n,i,"day")?n:e&&Yo(e,i,"day")?e:i}function sk(t,n,e){return e&&Ku(e,t,"day")?!0:n&&e&&n.getMonth()===e.getMonth()}var Zo=(()=>{class t extends Hl{constructor(){let e=new Pe({type:"[datepicker] dispatcher init"}),i=new jl(J1,e,Z1);super(e,Z1,i)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),dm=(()=>{class t{constructor(){this.onSelect=new P}selectFromRanges(e){this.onSelect.emit(e)}compareRanges(e){return JSON.stringify(e?.value)===JSON.stringify(this.selectedRange)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["bs-custom-date-view"]],inputs:{ranges:"ranges",selectedRange:"selectedRange",customRangeLabel:"customRangeLabel"},outputs:{onSelect:"onSelect"},decls:2,vars:1,consts:[[1,"bs-datepicker-predefined-btns"],["type","button","class","btn",3,"selected","click",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"click"]],template:function(i,r){i&1&&(d(0,"div",0),T(1,EY,2,3,"button",1),h()),i&2&&(f(),g("ngForOf",r.ranges))},dependencies:[rt],encapsulation:2,changeDetection:0})}}return t})(),zl=function(t){return t[t.UP=0]="UP",t[t.DOWN=1]="DOWN",t}(zl||{}),_C=(()=>{class t{constructor(){this.isDisabled=!1,this.onNavigate=new P,this.onViewMode=new P}navTo(e){this.onNavigate.emit(e?zl.DOWN:zl.UP)}view(e){this.isDisabled||this.onViewMode.emit(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["bs-datepicker-navigation-view"]],inputs:{calendar:"calendar",isDisabled:"isDisabled"},outputs:{onNavigate:"onNavigate",onViewMode:"onViewMode"},decls:12,vars:9,consts:[["type","button",1,"previous",3,"click","disabled"],[4,"ngIf"],["type","button",1,"current",3,"click","disabled"],["type","button",1,"next",3,"click","disabled"]],template:function(i,r){i&1&&(d(0,"button",0),D("click",function(){return r.navTo(!0)}),d(1,"span"),v(2,"\u2039"),h()(),T(3,TY,5,2,"ng-container",1),v(4," \u200B "),d(5,"button",2),D("click",function(){return r.view("year")}),d(6,"span"),v(7),h()(),v(8," \u200B "),d(9,"button",3),D("click",function(){return r.navTo(!1)}),d(10,"span"),v(11,"\u203A"),h()()),i&2&&(rn("visibility",r.calendar.hideLeftArrow?"hidden":"visible"),g("disabled",r.calendar.disableLeftArrow),f(3),g("ngIf",r.calendar&&r.calendar.monthTitle),f(2),g("disabled",r.isDisabled),f(2),U(r.calendar.yearTitle),f(2),rn("visibility",r.calendar.hideRightArrow?"hidden":"visible"),g("disabled",r.calendar.disableRightArrow))},dependencies:[De],encapsulation:2,changeDetection:0})}}return t})(),bz=(()=>{class t{constructor(){this.ampm="ok",this.hours=0,this.minutes=0}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["bs-timepicker"]],decls:16,vars:3,consts:[[1,"bs-timepicker-container"],[1,"bs-timepicker-controls"],["type","button",1,"bs-decrease"],["type","text","placeholder","00",3,"value"],["type","button",1,"bs-increase"],["type","button",1,"switch-time-format"],["src","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAKCAYAAABi8KSDAAABSElEQVQYV3XQPUvDUBQG4HNuagtVqc6KgouCv6GIuIntYBLB9hcIQpLStCAIV7DYmpTcRWcXqZio3Vwc/UCc/QEqfgyKGbr0I7nS1EiHeqYzPO/h5SD0jaxUZjmSLCB+OFb+UFINFwASAEAdpu9gaGXVyAHHFQBkHpKHc6a9dzECvADyY9sqlAMsK9W0jzxDXqeytr3mhQckxSji27TJJ5/rPmIpwJJq3HrtduriYOurv1a4i1p5HnhkG9OFymi0ReoO05cGwb+ayv4dysVygjeFmsP05f8wpZQ8fsdvfmuY9zjWSNqUtgYFVnOVReILYoBFzdQI5/GGFzNHhGbeZnopDGU29sZbscgldmC99w35VOATTycIMMcBXIfpSVGzZhA6C8hh00conln6VQ9TGgV32OEAKQC4DrBq7CJwd0ggR7Vq/rPrfgB+C3sGypY5DAAAAABJRU5ErkJggg==","alt",""]],template:function(i,r){i&1&&(d(0,"div",0)(1,"div",1)(2,"button",2),v(3,"-"),h(),A(4,"input",3),d(5,"button",4),v(6,"+"),h()(),d(7,"div",1)(8,"button",2),v(9,"-"),h(),A(10,"input",3),d(11,"button",4),v(12,"+"),h()(),d(13,"button",5),v(14),A(15,"img",6),h()()),i&2&&(f(4),g("value",r.hours),f(6),g("value",r.minutes),f(4),Te("",r.ampm," "))},encapsulation:2})}}return t})(),Cz=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["bs-current-date"]],inputs:{title:"title"},decls:3,vars:1,consts:[[1,"current-timedate"]],template:function(i,r){i&1&&(d(0,"div",0)(1,"span"),v(2),h()()),i&2&&(f(2),U(r.title))},encapsulation:2})}}return t})(),yC=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["bs-calendar-layout"]],ngContentSelectors:xY,decls:6,vars:2,consts:[["title","hey there",4,"ngIf"],[1,"bs-datepicker-head"],[1,"bs-datepicker-body"],[4,"ngIf"],["title","hey there"]],template:function(i,r){i&1&&(Pn(IY),T(0,kY,1,0,"bs-current-date",0),d(1,"div",1),Cn(2),h(),d(3,"div",2),Cn(4,1),h(),T(5,AY,1,0,"bs-timepicker",3)),i&2&&(g("ngIf",!1),f(5),g("ngIf",!1))},dependencies:[De,Cz,bz],encapsulation:2})}}return t})(),hm=(()=>{class t{constructor(){this.onNavigate=new P,this.onViewMode=new P,this.onSelect=new P,this.onHover=new P}navigateTo(e){let i=zl.DOWN===e?-1:1;this.onNavigate.emit({step:{year:i*um}})}viewYear(e){this.onSelect.emit(e)}hoverYear(e,i){this.onHover.emit({cell:e,isHovered:i})}changeViewMode(e){this.onViewMode.emit(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["bs-years-calendar-view"]],inputs:{calendar:"calendar"},outputs:{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"},decls:5,vars:2,consts:[[3,"onNavigate","onViewMode","calendar"],["role","grid",1,"years"],[4,"ngFor","ngForOf"],["role","gridcell",3,"disabled","is-highlighted","click","mouseenter","mouseleave",4,"ngFor","ngForOf"],["role","gridcell",3,"click","mouseenter","mouseleave"]],template:function(i,r){i&1&&(d(0,"bs-calendar-layout")(1,"bs-datepicker-navigation-view",0),D("onNavigate",function(s){return r.navigateTo(s)})("onViewMode",function(s){return r.changeViewMode(s)}),h(),d(2,"table",1)(3,"tbody"),T(4,OY,2,1,"tr",2),h()()()),i&2&&(f(),g("calendar",r.calendar),f(3),g("ngForOf",r.calendar==null?null:r.calendar.years))},dependencies:[yC,_C,rt],encapsulation:2})}}return t})(),fm=(()=>{class t{constructor(){this.onNavigate=new P,this.onViewMode=new P,this.onSelect=new P,this.onHover=new P}navigateTo(e){let i=zl.DOWN===e?-1:1;this.onNavigate.emit({step:{year:i}})}viewMonth(e){this.onSelect.emit(e)}hoverMonth(e,i){this.onHover.emit({cell:e,isHovered:i})}changeViewMode(e){this.onViewMode.emit(e)}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["bs-month-calendar-view"]],inputs:{calendar:"calendar"},outputs:{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover"},decls:5,vars:2,consts:[[3,"onNavigate","onViewMode","calendar"],["role","grid",1,"months"],[4,"ngFor","ngForOf"],["role","gridcell",3,"disabled","is-highlighted","click","mouseenter","mouseleave",4,"ngFor","ngForOf"],["role","gridcell",3,"click","mouseenter","mouseleave"]],template:function(i,r){i&1&&(d(0,"bs-calendar-layout")(1,"bs-datepicker-navigation-view",0),D("onNavigate",function(s){return r.navigateTo(s)})("onViewMode",function(s){return r.changeViewMode(s)}),h(),d(2,"table",1)(3,"tbody"),T(4,NY,2,1,"tr",2),h()()()),i&2&&(f(),g("calendar",r.calendar),f(3),g("ngForOf",r.calendar==null?null:r.calendar.months))},dependencies:[yC,_C,rt],encapsulation:2})}}return t})(),wz=(()=>{class t{constructor(e,i,r){this._config=e,this._elRef=i,this._renderer=r,this.day={date:new Date,label:""}}ngOnInit(){this.day?.isToday&&this._config&&this._config.customTodayClass&&this._renderer.addClass(this._elRef.nativeElement,this._config.customTodayClass),typeof this.day?.customClasses=="string"&&this.day?.customClasses.split(" ").filter(e=>e).forEach(e=>{this._renderer.addClass(this._elRef.nativeElement,e)})}static{this.\u0275fac=function(i){return new(i||t)(y(Xi),y($),y(ke))}}static{this.\u0275cmp=L({type:t,selectors:[["","bsDatepickerDayDecorator",""]],hostVars:16,hostBindings:function(i,r){i&2&&j("disabled",r.day.isDisabled)("is-highlighted",r.day.isHovered)("is-other-month",r.day.isOtherMonth)("is-active-other-month",r.day.isOtherMonthHovered)("in-range",r.day.isInRange)("select-start",r.day.isSelectionStart)("select-end",r.day.isSelectionEnd)("selected",r.day.isSelected)},inputs:{day:"day"},attrs:LY,decls:1,vars:1,template:function(i,r){i&1&&v(0),i&2&&U(r.day&&r.day.label||"")},encapsulation:2,changeDetection:0})}}return t})(),nd=(()=>{class t{constructor(e){this._config=e,this.onNavigate=new P,this.onViewMode=new P,this.onSelect=new P,this.onHover=new P,this.onHoverWeek=new P,this.isiOS=/iPad|iPhone|iPod/.test(navigator.platform)||navigator.platform==="MacIntel"&&navigator.maxTouchPoints>1,this._config.dateTooltipTexts&&this._config.dateTooltipTexts.length>0&&(this.isShowTooltip=!0)}navigateTo(e){let i=zl.DOWN===e?-1:1;this.onNavigate.emit({step:{month:i}})}changeViewMode(e){this.onViewMode.emit(e)}selectDay(e){this.onSelect.emit(e)}selectWeek(e){if(!this._config.selectWeek&&!this._config.selectWeekDateRange||e.days.length===0)return;if(this._config.selectWeek&&e.days[0]&&!e.days[0].isDisabled&&this._config.selectFromOtherMonth){this.onSelect.emit(e.days[0]);return}let i=e.days.find(r=>(this._config.selectFromOtherMonth||!r.isOtherMonth)&&!r.isDisabled);if(this.onSelect.emit(i),this._config.selectWeekDateRange){let o=e.days.slice(0).reverse().find(s=>(this._config.selectFromOtherMonth||!s.isOtherMonth)&&!s.isDisabled);this.onSelect.emit(o)}}weekHoverHandler(e,i){if(!this._config.selectWeek&&!this._config.selectWeekDateRange)return;e.days.find(o=>(this._config.selectFromOtherMonth||!o.isOtherMonth)&&!o.isDisabled)&&(e.isHovered=i,this.isWeekHovered=i,this.onHoverWeek.emit(e))}hoverDay(e,i){this._config.selectFromOtherMonth&&e.isOtherMonth&&(e.isOtherMonthHovered=i),this._config.dateTooltipTexts&&(e.tooltipText="",this._config.dateTooltipTexts.forEach(r=>{if(lo(r.date,e.date)){e.tooltipText=r.tooltipText;return}})),this.onHover.emit({cell:e,isHovered:i})}static{this.\u0275fac=function(i){return new(i||t)(y(Xi))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-days-calendar-view"]],inputs:{calendar:"calendar",options:"options",isDisabled:"isDisabled"},outputs:{onNavigate:"onNavigate",onViewMode:"onViewMode",onSelect:"onSelect",onHover:"onHover",onHoverWeek:"onHoverWeek"},decls:9,vars:5,consts:[[3,"onNavigate","onViewMode","calendar","isDisabled"],["role","grid",1,"days","weeks"],[4,"ngIf"],["aria-label","weekday",4,"ngFor","ngForOf"],[4,"ngFor","ngForOf"],["aria-label","weekday"],["class","week",3,"active-week",4,"ngIf"],["role","gridcell",4,"ngFor","ngForOf"],[1,"week"],[3,"click",4,"ngIf"],[3,"click","mouseenter","mouseleave",4,"ngIf"],[3,"click"],[3,"click","mouseenter","mouseleave"],["role","gridcell"],["bsDatepickerDayDecorator","",3,"day","tooltip","click","mouseenter","mouseleave",4,"ngIf"],["bsDatepickerDayDecorator","",3,"day","click","mouseenter","mouseleave",4,"ngIf"],["bsDatepickerDayDecorator","",3,"day","click",4,"ngIf"],["bsDatepickerDayDecorator","",3,"click","mouseenter","mouseleave","day","tooltip"],["bsDatepickerDayDecorator","",3,"click","mouseenter","mouseleave","day"],["bsDatepickerDayDecorator","",3,"click","day"]],template:function(i,r){i&1&&(d(0,"bs-calendar-layout")(1,"bs-datepicker-navigation-view",0),D("onNavigate",function(s){return r.navigateTo(s)})("onViewMode",function(s){return r.changeViewMode(s)}),h(),d(2,"table",1)(3,"thead")(4,"tr"),T(5,FY,1,0,"th",2)(6,VY,2,1,"th",3),h()(),d(7,"tbody"),T(8,WY,3,2,"tr",4),h()()()),i&2&&(f(),g("calendar",r.calendar)("isDisabled",!!r.isDisabled),f(4),g("ngIf",r.options&&r.options.showWeekNumbers),f(),g("ngForOf",r.calendar.weekdays),f(2),g("ngForOf",r.calendar.weeks))},dependencies:[yC,_C,De,rt,wz,sC,z1],encapsulation:2})}}return t})(),vC=(()=>{class t extends lm{set value(e){this._effects?.setValue(e)}get isDatePickerDisabled(){return!!this._config.isDisabled}get isDatepickerDisabled(){return this.isDatePickerDisabled?"":null}get isDatepickerReadonly(){return this.isDatePickerDisabled?"":null}constructor(e,i,r,o,s,a,l){super(),this._config=i,this._store=r,this._element=o,this._actions=s,this._positionService=l,this.valueChange=new P,this.animationState="void",this.isRangePicker=!1,this._subs=[],this._effects=a,e.setStyle(o.nativeElement,"display","block"),e.setStyle(o.nativeElement,"position","absolute")}ngOnInit(){this._positionService.setOptions({modifiers:{flip:{enabled:this._config.adaptivePosition},preventOverflow:{enabled:this._config.adaptivePosition}},allowedPositions:this._config.allowedPositions}),this._positionService.event$?.pipe(yt(1)).subscribe(()=>{if(this._positionService.disable(),this._config.isAnimated){this.animationState=this.isTopPosition?"animated-up":"animated-down";return}this.animationState="unanimated"}),this.isOtherMonthsActive=this._config.selectFromOtherMonth,this.containerClass=this._config.containerClass,this.showTodayBtn=this._config.showTodayButton,this.todayBtnLbl=this._config.todayButtonLabel,this.todayPos=this._config.todayPosition,this.showClearBtn=this._config.showClearButton,this.clearBtnLbl=this._config.clearButtonLabel,this.clearPos=this._config.clearPosition,this.customRangeBtnLbl=this._config.customRangeButtonLabel,this.withTimepicker=this._config.withTimepicker,this._effects?.init(this._store).setOptions(this._config).setBindings(this).setEventHandlers(this).registerDatepickerSideEffects();let e;this._subs.push(this._store.select(i=>i.selectedDate).subscribe(i=>{e=i,this.valueChange.emit(i)})),this._subs.push(this._store.select(i=>i.selectedTime).subscribe(i=>{!i||!i[0]||!(i[0]instanceof Date)||i[0]===e||this.valueChange.emit(i[0])})),this._store.dispatch(this._actions.changeViewMode(this._config.startView))}ngAfterViewInit(){this.selectedTimeSub.add(this.selectedTime?.subscribe(e=>{Array.isArray(e)&&e.length>=1&&this.startTimepicker?.writeValue(e[0])})),this.startTimepicker?.registerOnChange(e=>{this.timeSelectHandler(e,0)})}get isTopPosition(){return this._element.nativeElement.classList.contains("top")}positionServiceEnable(){this._positionService.enable()}timeSelectHandler(e,i){this._store.dispatch(this._actions.selectTime(e,i))}daySelectHandler(e){!e||(this.isOtherMonthsActive?e.isDisabled:e.isOtherMonth||e.isDisabled)||this._store.dispatch(this._actions.select(e.date))}monthSelectHandler(e){!e||e.isDisabled||this._store.dispatch(this._actions.navigateTo({unit:{month:Ae(e.date),year:Ft(e.date)},viewMode:"day"}))}yearSelectHandler(e){!e||e.isDisabled||this._store.dispatch(this._actions.navigateTo({unit:{year:Ft(e.date)},viewMode:"month"}))}setToday(){this._store.dispatch(this._actions.select(new Date))}clearDate(){this._store.dispatch(this._actions.select(void 0))}ngOnDestroy(){for(let e of this._subs)e.unsubscribe();this.selectedTimeSub.unsubscribe(),this._effects?.destroy()}static{this.\u0275fac=function(i){return new(i||t)(y(ke),y(Xi),y(Zo),y($),y(gt),y(Qo),y(nn))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-datepicker-container"]],viewQuery:function(i,r){if(i&1&&Ot(K1,5),i&2){let o;Ge(o=qe())&&(r.startTimepicker=o.first)}},hostAttrs:["role","dialog","aria-label","calendar",1,"bottom"],hostVars:2,hostBindings:function(i,r){i&1&&D("click",function(s){return r._stopPropagation(s)}),i&2&&J("disabled",r.isDatepickerDisabled)("readonly",r.isDatepickerReadonly)},features:[ce([Zo,Qo,gt]),Ct],decls:2,vars:3,consts:[["startTP",""],["endTP",""],["class","bs-datepicker",3,"ngClass",4,"ngIf"],[1,"bs-datepicker",3,"ngClass"],[1,"bs-datepicker-container"],["role","application",1,"bs-calendar-container",3,"ngSwitch"],[4,"ngSwitchCase"],["class","bs-media-container",4,"ngSwitchCase"],["class","bs-datepicker-buttons",4,"ngIf"],["class","bs-datepicker-custom-range",4,"ngIf"],[1,"bs-media-container"],[3,"bs-datepicker-multiple","calendar","isDisabled","options","onNavigate","onViewMode","onHover","onHoverWeek","onSelect",4,"ngFor","ngForOf"],["class","bs-timepicker-in-datepicker-container",4,"ngIf"],[3,"onNavigate","onViewMode","onHover","onHoverWeek","onSelect","calendar","isDisabled","options"],[1,"bs-timepicker-in-datepicker-container"],[3,"disabled"],[3,"disabled",4,"ngIf"],[3,"bs-datepicker-multiple","calendar","onNavigate","onViewMode","onHover","onSelect",4,"ngFor","ngForOf"],[3,"onNavigate","onViewMode","onHover","onSelect","calendar"],[1,"bs-datepicker-buttons"],["type","button",1,"btn","btn-success"],["type","button",1,"btn","btn-default"],["class","btn-today-wrapper",3,"today-left","today-right","today-center",4,"ngIf"],["class","btn-clear-wrapper",3,"clear-left","clear-right","clear-center",4,"ngIf"],[1,"btn-today-wrapper"],[1,"btn","btn-success",3,"click"],[1,"btn-clear-wrapper"],[1,"bs-datepicker-custom-range"],[3,"onSelect","selectedRange","ranges","customRangeLabel"]],template:function(i,r){i&1&&(T(0,s4,10,11,"div",2),te(1,"async")),i&2&&g("ngIf",pe(1,1,r.viewMode))},dependencies:[De,on,bi,pr,rt,nd,$l,Ul,fm,hm,dm,mr],encapsulation:2,data:{animation:[cm]}})}}return t})(),Yl,bC=(()=>{class t{get readonlyValue(){return this.isDisabled?"":null}constructor(e,i,r,o,s){this._config=e,this._elementRef=i,this._renderer=r,this.placement="bottom",this.triggers="click",this.outsideClick=!0,this.container="body",this.outsideEsc=!0,this.isDestroy$=new X,this.isDisabled=!1,this.bsValueChange=new P,this._subs=[],this._dateInputFormat$=new X,Object.assign(this,this._config),this._datepicker=s.createLoader(i,o,r),this.onShown=this._datepicker.onShown,this.onHidden=this._datepicker.onHidden,this.isOpen$=new Pe(this.isOpen)}get isOpen(){return this._datepicker.isShown}set isOpen(e){this.isOpen$.next(e)}set bsValue(e){this._bsValue&&e&&this._bsValue.getTime()===e.getTime()||(!this._bsValue&&e&&!this._config.withTimepicker&&uC(e,new Date),e&&this.bsConfig?.initCurrentTime&&(e=G1(e)),this.initPreviousValue(),this._bsValue=e,this.bsValueChange.emit(e))}get dateInputFormat$(){return this._dateInputFormat$}ngOnInit(){this._datepicker.listen({outsideClick:this.outsideClick,outsideEsc:this.outsideEsc,triggers:this.triggers,show:()=>this.show()}),this.setConfig(),this.initPreviousValue()}initPreviousValue(){Yl=this._bsValue}ngOnChanges(e){e.bsConfig&&(e.bsConfig.currentValue?.initCurrentTime&&e.bsConfig.currentValue?.initCurrentTime!==e.bsConfig.previousValue?.initCurrentTime&&this._bsValue&&(this.initPreviousValue(),this._bsValue=G1(this._bsValue),this.bsValueChange.emit(this._bsValue)),this.setConfig(),this._dateInputFormat$.next(this.bsConfig&&this.bsConfig.dateInputFormat)),!(!this._datepickerRef||!this._datepickerRef.instance)&&(e.minDate&&(this._datepickerRef.instance.minDate=this.minDate),e.maxDate&&(this._datepickerRef.instance.maxDate=this.maxDate),e.daysDisabled&&(this._datepickerRef.instance.daysDisabled=this.daysDisabled),e.datesDisabled&&(this._datepickerRef.instance.datesDisabled=this.datesDisabled),e.datesEnabled&&(this._datepickerRef.instance.datesEnabled=this.datesEnabled),e.isDisabled&&(this._datepickerRef.instance.isDisabled=this.isDisabled),e.dateCustomClasses&&(this._datepickerRef.instance.dateCustomClasses=this.dateCustomClasses),e.dateTooltipTexts&&(this._datepickerRef.instance.dateTooltipTexts=this.dateTooltipTexts))}initSubscribes(){this._subs.push(this.bsValueChange.subscribe(e=>{this._datepickerRef&&(this._datepickerRef.instance.value=e)})),this._datepickerRef&&this._subs.push(this._datepickerRef.instance.valueChange.subscribe(e=>{this.initPreviousValue(),this.bsValue=e,!this.keepDatepickerModalOpened()&&this.hide()}))}keepDatepickerModalOpened(){return!Yl||!this.bsConfig?.keepDatepickerOpened||!this._config.withTimepicker?!1:this.isDateSame()}isDateSame(){return Yl instanceof Date&&this._bsValue?.getDate()===Yl?.getDate()&&this._bsValue?.getMonth()===Yl?.getMonth()&&this._bsValue?.getFullYear()===Yl?.getFullYear()}ngAfterViewInit(){this.isOpen$.pipe(le(e=>e!==this.isOpen),hi(this.isDestroy$)).subscribe(()=>this.toggle())}show(){this._datepicker.isShown||(this.setConfig(),this._datepickerRef=this._datepicker.provide({provide:Xi,useValue:this._config}).attach(vC).to(this.container).position({attachment:this.placement}).show({placement:this.placement}),this.initSubscribes())}hide(){this.isOpen&&this._datepicker.hide();for(let e of this._subs)e.unsubscribe();this._config.returnFocusToInput&&this._renderer.selectRootElement(this._elementRef.nativeElement).focus()}toggle(){if(this.isOpen)return this.hide();this.show()}setConfig(){this._config=Object.assign({},this._config,this.bsConfig,{value:this._config.keepDatesOutOfRules?this._bsValue:ek(this._bsValue,this.maxDate||this.bsConfig&&this.bsConfig.maxDate),isDisabled:this.isDisabled,minDate:this.minDate||this.bsConfig&&this.bsConfig.minDate,maxDate:this.maxDate||this.bsConfig&&this.bsConfig.maxDate,daysDisabled:this.daysDisabled||this.bsConfig&&this.bsConfig.daysDisabled,dateCustomClasses:this.dateCustomClasses||this.bsConfig&&this.bsConfig.dateCustomClasses,dateTooltipTexts:this.dateTooltipTexts||this.bsConfig&&this.bsConfig.dateTooltipTexts,datesDisabled:this.datesDisabled||this.bsConfig&&this.bsConfig.datesDisabled,datesEnabled:this.datesEnabled||this.bsConfig&&this.bsConfig.datesEnabled,minMode:this.minMode||this.bsConfig&&this.bsConfig.minMode,initCurrentTime:this.bsConfig?.initCurrentTime,keepDatepickerOpened:this.bsConfig?.keepDatepickerOpened,keepDatesOutOfRules:this.bsConfig?.keepDatesOutOfRules})}unsubscribeSubscriptions(){this._subs?.length&&(this._subs.map(e=>e.unsubscribe()),this._subs.length=0)}ngOnDestroy(){this._datepicker.dispose(),this.isOpen$.next(!1),this.isDestroy$&&(this.isDestroy$.next(null),this.isDestroy$.complete()),this.unsubscribeSubscriptions()}static{this.\u0275fac=function(i){return new(i||t)(y(Xi),y($),y(ke),y(pt),y(Qt))}}static{this.\u0275dir=H({type:t,selectors:[["","bsDatepicker",""]],hostVars:1,hostBindings:function(i,r){i&2&&J("readonly",r.readonlyValue)},inputs:{placement:"placement",triggers:"triggers",outsideClick:"outsideClick",container:"container",outsideEsc:"outsideEsc",isDisabled:"isDisabled",minDate:"minDate",maxDate:"maxDate",ignoreMinMaxErrors:"ignoreMinMaxErrors",minMode:"minMode",daysDisabled:"daysDisabled",datesDisabled:"datesDisabled",datesEnabled:"datesEnabled",dateCustomClasses:"dateCustomClasses",dateTooltipTexts:"dateTooltipTexts",isOpen:"isOpen",bsValue:"bsValue",bsConfig:"bsConfig"},outputs:{onShown:"onShown",onHidden:"onHidden",bsValueChange:"bsValueChange"},exportAs:["bsDatepicker"],features:[ce([Qt]),xe]})}}return t})();var Dz=(()=>{class t extends vC{get disabledValue(){return this.isDatePickerDisabled?"":null}get readonlyValue(){return this.isDatePickerDisabled?"":null}constructor(e,i,r,o,s,a,l){super(e,i,r,o,s,a,l),e.setStyle(o.nativeElement,"display","inline-block"),e.setStyle(o.nativeElement,"position","static")}static{this.\u0275fac=function(i){return new(i||t)(y(ke),y(Xi),y(Zo),y($),y(gt),y(Qo),y(nn))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-datepicker-inline-container"]],hostVars:2,hostBindings:function(i,r){i&1&&D("click",function(s){return r._stopPropagation(s)}),i&2&&J("disabled",r.disabledValue)("readonly",r.readonlyValue)},features:[ce([Zo,Qo,nn]),Ct],decls:2,vars:3,consts:[["startTP",""],["endTP",""],["class","bs-datepicker",3,"ngClass",4,"ngIf"],[1,"bs-datepicker",3,"ngClass"],[1,"bs-datepicker-container"],["role","application",1,"bs-calendar-container",3,"ngSwitch"],[4,"ngSwitchCase"],["class","bs-media-container",4,"ngSwitchCase"],["class","bs-datepicker-buttons",4,"ngIf"],["class","bs-datepicker-custom-range",4,"ngIf"],[1,"bs-media-container"],[3,"bs-datepicker-multiple","calendar","isDisabled","options","onNavigate","onViewMode","onHover","onHoverWeek","onSelect",4,"ngFor","ngForOf"],["class","bs-timepicker-in-datepicker-container",4,"ngIf"],[3,"onNavigate","onViewMode","onHover","onHoverWeek","onSelect","calendar","isDisabled","options"],[1,"bs-timepicker-in-datepicker-container"],[3,"disabled"],[3,"disabled",4,"ngIf"],[3,"bs-datepicker-multiple","calendar","onNavigate","onViewMode","onHover","onSelect",4,"ngFor","ngForOf"],[3,"onNavigate","onViewMode","onHover","onSelect","calendar"],[1,"bs-datepicker-buttons"],["type","button",1,"btn","btn-success"],["type","button",1,"btn","btn-default"],["class","btn-today-wrapper",3,"today-left","today-right","today-center",4,"ngIf"],["class","btn-clear-wrapper",3,"clear-left","clear-right","clear-center",4,"ngIf"],[1,"btn-today-wrapper"],[1,"btn","btn-success",3,"click"],[1,"btn-clear-wrapper"],[1,"bs-datepicker-custom-range"],[3,"onSelect","selectedRange","ranges","customRangeLabel"]],template:function(i,r){i&1&&(T(0,b4,10,11,"div",2),te(1,"async")),i&2&&g("ngIf",pe(1,1,r.viewMode))},dependencies:[De,on,bi,pr,rt,nd,$l,Ul,fm,hm,dm,mr],encapsulation:2,data:{animation:[cm]}})}}return t})();var CC=(()=>{class t extends lm{set value(e){this._effects?.setRangeValue(e)}get isDatePickerDisabled(){return!!this._config.isDisabled}get isDatepickerDisabled(){return this.isDatePickerDisabled?"":null}get isDatepickerReadonly(){return this.isDatePickerDisabled?"":null}constructor(e,i,r,o,s,a,l){super(),this._config=i,this._store=r,this._element=o,this._actions=s,this._positionService=l,this.valueChange=new P,this.animationState="void",this._rangeStack=[],this.chosenRange=[],this._subs=[],this.isRangePicker=!0,this._effects=a,this.customRanges=this._config.ranges||[],this.customRangeBtnLbl=this._config.customRangeButtonLabel,e.setStyle(o.nativeElement,"display","block"),e.setStyle(o.nativeElement,"position","absolute")}ngOnInit(){this._positionService.setOptions({modifiers:{flip:{enabled:this._config.adaptivePosition},preventOverflow:{enabled:this._config.adaptivePosition}},allowedPositions:this._config.allowedPositions}),this._positionService.event$?.pipe(yt(1)).subscribe(()=>{if(this._positionService.disable(),this._config.isAnimated){this.animationState=this.isTopPosition?"animated-up":"animated-down";return}this.animationState="unanimated"}),this.containerClass=this._config.containerClass,this.isOtherMonthsActive=this._config.selectFromOtherMonth,this.withTimepicker=this._config.withTimepicker,this._effects?.init(this._store).setOptions(this._config).setBindings(this).setEventHandlers(this).registerDatepickerSideEffects();let e;this._subs.push(this._store.select(i=>i.selectedRange).subscribe(i=>{e=i,this.valueChange.emit(i),this.chosenRange=i||[]})),this._subs.push(this._store.select(i=>i.selectedTime).subscribe(i=>{!i||!i[0]||!i[1]||!(i[0]instanceof Date)||!(i[1]instanceof Date)||e&&i[0]===e[0]&&i[1]===e[1]||(this.valueChange.emit(i),this.chosenRange=i||[])}))}ngAfterViewInit(){this.selectedTimeSub.add(this.selectedTime?.subscribe(e=>{Array.isArray(e)&&e.length>=2&&(this.startTimepicker?.writeValue(e[0]),this.endTimepicker?.writeValue(e[1]))})),this.startTimepicker?.registerOnChange(e=>{this.timeSelectHandler(e,0)}),this.endTimepicker?.registerOnChange(e=>{this.timeSelectHandler(e,1)})}get isTopPosition(){return this._element.nativeElement.classList.contains("top")}positionServiceEnable(){this._positionService.enable()}timeSelectHandler(e,i){this._store.dispatch(this._actions.selectTime(e,i))}daySelectHandler(e){!e||(this.isOtherMonthsActive?e.isDisabled:e.isOtherMonth||e.isDisabled)||this.rangesProcessing(e)}monthSelectHandler(e){if(!(!e||e.isDisabled)){if(e.isSelected=!0,this._config.minMode!=="month"){if(e.isDisabled)return;this._store.dispatch(this._actions.navigateTo({unit:{month:Ae(e.date),year:Ft(e.date)},viewMode:"day"}));return}this.rangesProcessing(e)}}yearSelectHandler(e){if(!(!e||e.isDisabled)){if(e.isSelected=!0,this._config.minMode!=="year"){if(e.isDisabled)return;this._store.dispatch(this._actions.navigateTo({unit:{year:Ft(e.date)},viewMode:"month"}));return}this.rangesProcessing(e)}}rangesProcessing(e){this._rangeStack.length===1&&(this._rangeStack=e.date>=this._rangeStack[0]?[this._rangeStack[0],e.date]:[e.date]),this._config.maxDateRange&&this.setMaxDateRangeOnCalendar(e.date),this._rangeStack.length===0&&(this._rangeStack=[e.date],this._config.maxDateRange&&this.setMaxDateRangeOnCalendar(e.date)),this._store.dispatch(this._actions.selectRange(this._rangeStack)),this._rangeStack.length===2&&(this._rangeStack=[])}ngOnDestroy(){for(let e of this._subs)e.unsubscribe();this.selectedTimeSub.unsubscribe(),this._effects?.destroy()}setRangeOnCalendar(e){e&&(this._rangeStack=e.value instanceof Date?[e.value]:e.value),this._store.dispatch(this._actions.selectRange(this._rangeStack))}setMaxDateRangeOnCalendar(e){let i=new Date(e);if(this._config.maxDate){let r=this._config.maxDate.getTime(),o=e.getTime()+(this._config.maxDateRange||0)*K4;i=o>r?new Date(this._config.maxDate):new Date(o)}else i.setDate(e.getDate()+(this._config.maxDateRange||0));this._effects?.setMaxDate(i)}static{this.\u0275fac=function(i){return new(i||t)(y(ke),y(Xi),y(Zo),y($),y(gt),y(Qo),y(nn))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-daterangepicker-container"]],viewQuery:function(i,r){if(i&1&&(Ot(K1,5),Ot(C4,5)),i&2){let o;Ge(o=qe())&&(r.startTimepicker=o.first),Ge(o=qe())&&(r.endTimepicker=o.first)}},hostAttrs:["role","dialog","aria-label","calendar",1,"bottom"],hostVars:2,hostBindings:function(i,r){i&1&&D("click",function(s){return r._stopPropagation(s)}),i&2&&J("disabled",r.isDatepickerDisabled)("readonly",r.isDatepickerReadonly)},features:[ce([Zo,Qo,gt,nn]),Ct],decls:2,vars:3,consts:[["startTP",""],["endTP",""],["class","bs-datepicker",3,"ngClass",4,"ngIf"],[1,"bs-datepicker",3,"ngClass"],[1,"bs-datepicker-container"],["role","application",1,"bs-calendar-container",3,"ngSwitch"],[4,"ngSwitchCase"],["class","bs-media-container",4,"ngSwitchCase"],["class","bs-datepicker-buttons",4,"ngIf"],["class","bs-datepicker-custom-range",4,"ngIf"],[1,"bs-media-container"],[3,"bs-datepicker-multiple","calendar","isDisabled","options","onNavigate","onViewMode","onHover","onHoverWeek","onSelect",4,"ngFor","ngForOf"],["class","bs-timepicker-in-datepicker-container",4,"ngIf"],[3,"onNavigate","onViewMode","onHover","onHoverWeek","onSelect","calendar","isDisabled","options"],[1,"bs-timepicker-in-datepicker-container"],[3,"disabled"],[3,"disabled",4,"ngIf"],[3,"bs-datepicker-multiple","calendar","onNavigate","onViewMode","onHover","onSelect",4,"ngFor","ngForOf"],[3,"onNavigate","onViewMode","onHover","onSelect","calendar"],[1,"bs-datepicker-buttons"],["type","button",1,"btn","btn-success"],["type","button",1,"btn","btn-default"],["class","btn-today-wrapper",3,"today-left","today-right","today-center",4,"ngIf"],["class","btn-clear-wrapper",3,"clear-left","clear-right","clear-center",4,"ngIf"],[1,"btn-today-wrapper"],[1,"btn","btn-success",3,"click"],[1,"btn-clear-wrapper"],[1,"bs-datepicker-custom-range"],[3,"onSelect","selectedRange","ranges","customRangeLabel"]],template:function(i,r){i&1&&(T(0,N4,10,11,"div",2),te(1,"async")),i&2&&g("ngIf",pe(1,1,r.viewMode))},dependencies:[De,on,bi,pr,rt,nd,$l,Ul,fm,hm,dm,mr],encapsulation:2,data:{animation:[cm]}})}}return t})(),Mz=(()=>{class t extends CC{get disabledValue(){return this.isDatePickerDisabled?"":null}get readonlyValue(){return this.isDatePickerDisabled?"":null}constructor(e,i,r,o,s,a,l){super(e,i,r,o,s,a,l),e.setStyle(o.nativeElement,"display","inline-block"),e.setStyle(o.nativeElement,"position","static")}static{this.\u0275fac=function(i){return new(i||t)(y(ke),y(Xi),y(Zo),y($),y(gt),y(Qo),y(nn))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-daterangepicker-inline-container"]],hostVars:2,hostBindings:function(i,r){i&1&&D("click",function(s){return r._stopPropagation(s)}),i&2&&J("disabled",r.disabledValue)("readonly",r.readonlyValue)},features:[ce([Zo,Qo,gt,nn]),Ct],decls:2,vars:3,consts:[["startTP",""],["endTP",""],["class","bs-datepicker",3,"ngClass",4,"ngIf"],[1,"bs-datepicker",3,"ngClass"],[1,"bs-datepicker-container"],["role","application",1,"bs-calendar-container",3,"ngSwitch"],[4,"ngSwitchCase"],["class","bs-media-container",4,"ngSwitchCase"],["class","bs-datepicker-buttons",4,"ngIf"],["class","bs-datepicker-custom-range",4,"ngIf"],[1,"bs-media-container"],[3,"bs-datepicker-multiple","calendar","isDisabled","options","onNavigate","onViewMode","onHover","onHoverWeek","onSelect",4,"ngFor","ngForOf"],["class","bs-timepicker-in-datepicker-container",4,"ngIf"],[3,"onNavigate","onViewMode","onHover","onHoverWeek","onSelect","calendar","isDisabled","options"],[1,"bs-timepicker-in-datepicker-container"],[3,"disabled"],[3,"disabled",4,"ngIf"],[3,"bs-datepicker-multiple","calendar","onNavigate","onViewMode","onHover","onSelect",4,"ngFor","ngForOf"],[3,"onNavigate","onViewMode","onHover","onSelect","calendar"],[1,"bs-datepicker-buttons"],["type","button",1,"btn","btn-success"],["type","button",1,"btn","btn-default"],["class","btn-today-wrapper",3,"today-left","today-right","today-center",4,"ngIf"],["class","btn-clear-wrapper",3,"clear-left","clear-right","clear-center",4,"ngIf"],[1,"btn-today-wrapper"],[1,"btn","btn-success",3,"click"],[1,"btn-clear-wrapper"],[1,"bs-datepicker-custom-range"],[3,"onSelect","selectedRange","ranges","customRangeLabel"]],template:function(i,r){i&1&&(T(0,Q4,10,11,"div",2),te(1,"async")),i&2&&g("ngIf",pe(1,1,r.viewMode))},dependencies:[De,on,bi,pr,rt,nd,$l,Ul,fm,hm,dm,mr],encapsulation:2,data:{animation:[cm]}})}}return t})();var Sz={provide:It,useExisting:He(()=>pm),multi:!0},Ez={provide:eo,useExisting:He(()=>pm),multi:!0},pm=(()=>{class t{constructor(e,i,r,o,s){this._picker=e,this._localeService=i,this._renderer=r,this._elRef=o,this.changeDetection=s,this._onChange=Function.prototype,this._onTouched=Function.prototype,this._validatorChange=Function.prototype,this._subs=new Ue}onChange(e){this.writeValue(e.target.value),this._onChange(this._value),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus(),this._onTouched()}onBlur(){this._onTouched()}hide(){this._picker.hide(),this._renderer.selectRootElement(this._elRef.nativeElement).blur(),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus()}ngOnInit(){let e=i=>{this._setInputValue(i),this._value!==i&&(this._value=i,this._onChange(i),this._onTouched()),this.changeDetection.markForCheck()};this._picker._bsValue&&e(this._picker._bsValue),this._subs.add(this._picker.bsValueChange.subscribe(e)),this._subs.add(this._localeService.localeChange.subscribe(()=>{this._setInputValue(this._value)})),this._subs.add(this._picker.dateInputFormat$.pipe(Vr()).subscribe(()=>{this._setInputValue(this._value)}))}ngOnDestroy(){this._subs.unsubscribe()}_setInputValue(e){let i=e?oi(e,this._picker._config.dateInputFormat,this._localeService.currentLocale):"";this._renderer.setProperty(this._elRef.nativeElement,"value",i)}validate(e){let i=e.value;if(i==null||i==="")return null;if(Qu(i)){if(!ao(i))return{bsDate:{invalid:i}};if(this._picker&&this._picker.minDate&&Yo(i,this._picker.minDate,"date"))return this.writeValue(this._picker.minDate),this._picker.ignoreMinMaxErrors?null:{bsDate:{minDate:this._picker.minDate}};if(this._picker&&this._picker.maxDate&&co(i,this._picker.maxDate,"date"))return this.writeValue(this._picker.maxDate),this._picker.ignoreMinMaxErrors?null:{bsDate:{maxDate:this._picker.maxDate}}}return null}registerOnValidatorChange(e){this._validatorChange=e}writeValue(e){if(!e)this._value=void 0;else{let i=this._localeService.currentLocale;if(!an(i))throw new Error(`Locale "${i}" is not defined, please add it with "defineLocale(...)"`);if(this._value=Fl(e,this._picker._config.dateInputFormat,this._localeService.currentLocale),this._picker._config.useUtc){let o=$b(this._value);this._value=o===null?void 0:o}}this._picker.bsValue=this._value}setDisabledState(e){if(this._picker.isDisabled=e,e){this._renderer.setAttribute(this._elRef.nativeElement,"disabled","disabled");return}this._renderer.removeAttribute(this._elRef.nativeElement,"disabled")}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}static{this.\u0275fac=function(i){return new(i||t)(y(bC,1),y(dC),y(ke),y($),y(it))}}static{this.\u0275dir=H({type:t,selectors:[["input","bsDatepicker",""]],hostBindings:function(i,r){i&1&&D("change",function(s){return r.onChange(s)})("blur",function(){return r.onBlur()})("keyup.esc",function(){return r.hide()})("keydown.enter",function(){return r.hide()})},features:[ce([Sz,Ez])]})}}return t})(),Tz=(()=>{class t extends Xi{constructor(){super(...arguments),this.displayMonths=2}static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})()}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),qo,Iz=(()=>{class t{get isOpen(){return this._datepicker.isShown}set isOpen(e){this.isOpen$.next(e)}set bsValue(e){this._bsValue!==e&&(e&&this.bsConfig?.initCurrentTime&&(e=q1(e)),this.initPreviousValue(),this._bsValue=e,this.bsValueChange.emit(e))}get isDatepickerReadonly(){return this.isDisabled?"":null}get rangeInputFormat$(){return this._rangeInputFormat$}constructor(e,i,r,o,s){this._config=e,this._elementRef=i,this._renderer=r,this.placement="bottom",this.triggers="click",this.outsideClick=!0,this.container="body",this.outsideEsc=!0,this.isDestroy$=new X,this.isDisabled=!1,this.bsValueChange=new P,this._subs=[],this._rangeInputFormat$=new X,this._datepicker=s.createLoader(i,o,r),Object.assign(this,e),this.onShown=this._datepicker.onShown,this.onHidden=this._datepicker.onHidden,this.isOpen$=new Pe(this.isOpen)}ngOnInit(){this.isDestroy$=new X,this._datepicker.listen({outsideClick:this.outsideClick,outsideEsc:this.outsideEsc,triggers:this.triggers,show:()=>this.show()}),this.initPreviousValue(),this.setConfig()}ngOnChanges(e){e.bsConfig&&(e.bsConfig.currentValue?.initCurrentTime&&e.bsConfig.currentValue?.initCurrentTime!==e.bsConfig.previousValue?.initCurrentTime&&this._bsValue&&(this.initPreviousValue(),this._bsValue=q1(this._bsValue),this.bsValueChange.emit(this._bsValue)),this.setConfig(),this._rangeInputFormat$.next(e.bsConfig.currentValue&&e.bsConfig.currentValue.rangeInputFormat)),!(!this._datepickerRef||!this._datepickerRef.instance)&&(e.minDate&&(this._datepickerRef.instance.minDate=this.minDate),e.maxDate&&(this._datepickerRef.instance.maxDate=this.maxDate),e.datesDisabled&&(this._datepickerRef.instance.datesDisabled=this.datesDisabled),e.datesEnabled&&(this._datepickerRef.instance.datesEnabled=this.datesEnabled),e.daysDisabled&&(this._datepickerRef.instance.daysDisabled=this.daysDisabled),e.isDisabled&&(this._datepickerRef.instance.isDisabled=this.isDisabled),e.dateCustomClasses&&(this._datepickerRef.instance.dateCustomClasses=this.dateCustomClasses))}ngAfterViewInit(){this.isOpen$.pipe(le(e=>e!==this.isOpen),hi(this.isDestroy$)).subscribe(()=>this.toggle())}show(){this._datepicker.isShown||(this.setConfig(),this._datepickerRef=this._datepicker.provide({provide:Xi,useValue:this._config}).attach(CC).to(this.container).position({attachment:this.placement}).show({placement:this.placement}),this.initSubscribes())}initSubscribes(){this._subs.push(this.bsValueChange.subscribe(e=>{this._datepickerRef&&(this._datepickerRef.instance.value=e)})),this._datepickerRef&&this._subs.push(this._datepickerRef.instance.valueChange.pipe(le(e=>e&&e[0]&&!!e[1])).subscribe(e=>{this.initPreviousValue(),this.bsValue=e,!this.keepDatepickerModalOpened()&&this.hide()}))}initPreviousValue(){qo=this._bsValue}keepDatepickerModalOpened(){return!qo||!this.bsConfig?.keepDatepickerOpened||!this._config.withTimepicker?!1:this.isDateSame()}isDateSame(){return this._bsValue?.[0]?.getDate()===qo?.[0]?.getDate()&&this._bsValue?.[0]?.getMonth()===qo?.[0]?.getMonth()&&this._bsValue?.[0]?.getFullYear()===qo?.[0]?.getFullYear()&&this._bsValue?.[1]?.getDate()===qo?.[1]?.getDate()&&this._bsValue?.[1]?.getMonth()===qo?.[1]?.getMonth()&&this._bsValue?.[1]?.getFullYear()===qo?.[1]?.getFullYear()}setConfig(){this._config=Object.assign({},this._config,this.bsConfig,{value:this.bsConfig?.keepDatesOutOfRules?this._bsValue:ek(this._bsValue,this.maxDate||this.bsConfig&&this.bsConfig.maxDate),isDisabled:this.isDisabled,minDate:this.minDate||this.bsConfig&&this.bsConfig.minDate,maxDate:this.maxDate||this.bsConfig&&this.bsConfig.maxDate,daysDisabled:this.daysDisabled||this.bsConfig&&this.bsConfig.daysDisabled,dateCustomClasses:this.dateCustomClasses||this.bsConfig&&this.bsConfig.dateCustomClasses,datesDisabled:this.datesDisabled||this.bsConfig&&this.bsConfig.datesDisabled,datesEnabled:this.datesEnabled||this.bsConfig&&this.bsConfig.datesEnabled,ranges:tz(this.bsConfig&&this.bsConfig.ranges,this.maxDate||this.bsConfig&&this.bsConfig.maxDate),maxDateRange:this.bsConfig&&this.bsConfig.maxDateRange,initCurrentTime:this.bsConfig?.initCurrentTime,keepDatepickerOpened:this.bsConfig?.keepDatepickerOpened,keepDatesOutOfRules:this.bsConfig?.keepDatesOutOfRules})}hide(){this.isOpen&&this._datepicker.hide();for(let e of this._subs)e.unsubscribe();this._config.returnFocusToInput&&this._renderer.selectRootElement(this._elementRef.nativeElement).focus()}toggle(){if(this.isOpen)return this.hide();this.show()}unsubscribeSubscriptions(){this._subs?.length&&(this._subs.map(e=>e.unsubscribe()),this._subs.length=0)}ngOnDestroy(){this._datepicker.dispose(),this.isOpen$.next(!1),this.isDestroy$&&(this.isDestroy$.next(null),this.isDestroy$.complete()),this.unsubscribeSubscriptions()}static{this.\u0275fac=function(i){return new(i||t)(y(Tz),y($),y(ke),y(pt),y(Qt))}}static{this.\u0275dir=H({type:t,selectors:[["","bsDaterangepicker",""]],hostVars:1,hostBindings:function(i,r){i&2&&J("readonly",r.isDatepickerReadonly)},inputs:{placement:"placement",triggers:"triggers",outsideClick:"outsideClick",container:"container",outsideEsc:"outsideEsc",isOpen:"isOpen",bsValue:"bsValue",bsConfig:"bsConfig",isDisabled:"isDisabled",minDate:"minDate",maxDate:"maxDate",dateCustomClasses:"dateCustomClasses",daysDisabled:"daysDisabled",datesDisabled:"datesDisabled",datesEnabled:"datesEnabled"},outputs:{onShown:"onShown",onHidden:"onHidden",bsValueChange:"bsValueChange"},exportAs:["bsDaterangepicker"],features:[ce([Qt]),xe]})}}return t})(),xz={provide:It,useExisting:He(()=>ak),multi:!0},kz={provide:eo,useExisting:He(()=>ak),multi:!0},ak=(()=>{class t{constructor(e,i,r,o,s){this._picker=e,this._localeService=i,this._renderer=r,this._elRef=o,this.changeDetection=s,this._onChange=Function.prototype,this._onTouched=Function.prototype,this._validatorChange=Function.prototype,this._subs=new Ue}ngOnInit(){let e=i=>{this._setInputValue(i),this._value!==i&&(this._value=i,this._onChange(i),this._onTouched()),this.changeDetection.markForCheck()};this._picker._bsValue&&e(this._picker._bsValue),this._subs.add(this._picker.bsValueChange.subscribe(i=>{this._setInputValue(i),this._value!==i&&(this._value=i,this._onChange(i),this._onTouched()),this.changeDetection.markForCheck()})),this._subs.add(this._localeService.localeChange.subscribe(()=>{this._setInputValue(this._value)})),this._subs.add(this._picker.rangeInputFormat$.pipe(Vr()).subscribe(()=>{this._setInputValue(this._value)}))}ngOnDestroy(){this._subs.unsubscribe()}onKeydownEvent(e){(e.keyCode===13||e.code==="Enter")&&this.hide()}_setInputValue(e){let i="";if(e){let r=e[0]?oi(e[0],this._picker._config.rangeInputFormat,this._localeService.currentLocale):"",o=e[1]?oi(e[1],this._picker._config.rangeInputFormat,this._localeService.currentLocale):"";i=r&&o?r+this._picker._config.rangeSeparator+o:""}this._renderer.setProperty(this._elRef.nativeElement,"value",i)}onChange(e){this.writeValue(e.target.value),this._onChange(this._value),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus(),this._onTouched()}validate(e){let i=e.value,r=[];if(i==null||!st(i))return null;i=i.slice().sort((a,l)=>a.getTime()-l.getTime());let o=ao(i[0]),s=ao(i[1]);return o?s?(this._picker&&this._picker.minDate&&Yo(i[0],this._picker.minDate,"date")&&(i[0]=this._picker.minDate,r.push({bsDate:{minDate:this._picker.minDate}})),this._picker&&this._picker.maxDate&&co(i[1],this._picker.maxDate,"date")&&(i[1]=this._picker.maxDate,r.push({bsDate:{maxDate:this._picker.maxDate}})),r.length>0?(this.writeValue(i),r):null):{bsDate:{invalid:i[1]}}:{bsDate:{invalid:i[0]}}}registerOnValidatorChange(e){this._validatorChange=e}writeValue(e){if(!e)this._value=void 0;else{let i=this._localeService.currentLocale;if(!an(i))throw new Error(`Locale "${i}" is not defined, please add it with "defineLocale(...)"`);let o=[];if(typeof e=="string"){let s=this._picker._config.rangeSeparator.trim();e.replace(/[^-]/g,"").length>1?o=e.split(this._picker._config.rangeSeparator):o=e.split(s.length>0?s:this._picker._config.rangeSeparator).map(a=>a.trim())}Array.isArray(e)&&(o=e),this._value=o.map(s=>this._picker._config.useUtc?$b(Fl(s,this._picker._config.rangeInputFormat,this._localeService.currentLocale)):Fl(s,this._picker._config.rangeInputFormat,this._localeService.currentLocale)).map(s=>isNaN(s.valueOf())?void 0:s)}this._picker.bsValue=this._value}setDisabledState(e){if(this._picker.isDisabled=e,e){this._renderer.setAttribute(this._elRef.nativeElement,"disabled","disabled");return}this._renderer.removeAttribute(this._elRef.nativeElement,"disabled")}registerOnChange(e){this._onChange=e}registerOnTouched(e){this._onTouched=e}onBlur(){this._onTouched()}hide(){this._picker.hide(),this._renderer.selectRootElement(this._elRef.nativeElement).blur(),this._picker._config.returnFocusToInput&&this._renderer.selectRootElement(this._elRef.nativeElement).focus()}static{this.\u0275fac=function(i){return new(i||t)(y(Iz,1),y(dC),y(ke),y($),y(it))}}static{this.\u0275dir=H({type:t,selectors:[["input","bsDaterangepicker",""]],hostBindings:function(i,r){i&1&&D("change",function(s){return r.onChange(s)})("keyup.esc",function(){return r.hide()})("keydown",function(s){return r.onKeydownEvent(s)})("blur",function(){return r.onBlur()})},features:[ce([xz,kz])]})}}return t})(),lk=(()=>{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=be({type:t})}static{this.\u0275inj=ve({imports:[ot,sC,$l,nd,vC,Dz,CC,Mz]})}}return t})();function Rz(t,n){if(t&1&&(d(0,"div",3),v(1),h()),t&2){let e=p();f(),Te(" Please enter ",e.label()," ")}}var mm=class t{constructor(n){this.ngControl=n;this.ngControl.valueAccessor=this,this.bsConfig={containerClass:"theme-blue",isAnimated:!0,adaptivePosition:!0,dateInputFormat:"DD/MM/YYYY"}}label=Rn("");maxDate=Rn();bsConfig;writeValue(n){}registerOnChange(n){}registerOnTouched(n){}get control(){return this.ngControl.control}static \u0275fac=function(e){return new(e||t)(y(jn,2))};static \u0275cmp=L({type:t,selectors:[["app-date-picker"]],inputs:{label:[1,"label"],maxDate:[1,"maxDate"]},decls:5,vars:8,consts:[[1,"mb-3","form-floating"],["bsDatepicker","",1,"form-control",3,"formControl","placeholder","bsConfig","maxDate"],["class","invalid-feedback text-start",4,"ngIf"],[1,"invalid-feedback","text-start"]],template:function(e,i){e&1&&(d(0,"div",0),A(1,"input",1),d(2,"label"),v(3),h(),T(4,Rz,2,1,"div",2),h()),e&2&&(f(),j("is-invalid",i.control.touched&&i.control.invalid),g("formControl",i.control)("placeholder",i.label())("bsConfig",i.bsConfig)("maxDate",i.maxDate()),f(2),U(i.label()),f(),g("ngIf",i.control==null?null:i.control.hasError("required")))},dependencies:[lk,bC,pm,De,yl,en,Nt,Fs],encapsulation:2})};function Oz(t,n){if(t&1&&(d(0,"li"),v(1),h()),t&2){let e=n.$implicit;f(),U(e)}}function Pz(t,n){if(t&1&&(d(0,"div",10)(1,"ul"),Et(2,Oz,2,1,"li",null,Ka),h()()),t&2){let e=p();f(2),Tt(e.validationErrors)}}var gm=class t{accountService=S(tt);fb=S(QI);router=S(sn);cancelRegister=Qh();maxDate=new Date;validationErrors;registerForm=new Lo({});register(){let n=this.getDateOnly(this.registerForm.get("dateOfBirth")?.value);this.registerForm.patchValue({dateOfBirth:n}),this.accountService.register(this.registerForm.value).subscribe({next:e=>this.router.navigateByUrl("/members"),error:e=>this.validationErrors=e})}cancel(){this.cancelRegister.emit(!1)}ngOnInit(){this.initializeFrom(),this.maxDate.setFullYear(this.maxDate.getFullYear()-18)}initializeFrom(){this.registerForm=this.fb.group({gender:["male"],username:["",Ci.required],knownAs:["",Ci.required],dateOfBirth:["",Ci.required],city:["",Ci.required],country:["",Ci.required],password:["",[Ci.required,Ci.minLength(4),Ci.maxLength(8)]],confirmPassword:[,[Ci.required,this.matchValue("password")]]}),this.registerForm.controls.password.valueChanges.subscribe({next:()=>{this.registerForm.controls.confirmPassword.updateValueAndValidity()}})}matchValue(n){return e=>e.value===e.parent?.get(n)?.value?null:{isMatching:!0}}getDateOnly(n){if(n)return new Date(n).toISOString().slice(0,10)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-register"]],outputs:{cancelRegister:"cancelRegister"},decls:26,vars:21,consts:[["autocomplete","off",3,"ngSubmit","formGroup"],[1,"text-center","text-primary"],[1,"mv-3"],[2,"margin-bottom","10px"],[1,"form-check-label",2,"margin-left","8px"],["type","radio","formControlName","gender","value","male",1,"form-check-input"],["type","radio","formControlName","gender","value","female",1,"form-check-input"],[3,"formControl","label","type"],[3,"formControl","label"],[3,"formControl","label","maxDate"],[1,"alert","alert-danger","text-start"],[1,"form-group","text-center"],["type","submit",1,"btn","btn-success","me-2",3,"disabled"],["type","submit",1,"btn","btn-default","me-2",3,"click"]],template:function(e,i){e&1&&(d(0,"form",0),D("ngSubmit",function(){return i.register()}),d(1,"h2",1),v(2,"Sign up"),h(),A(3,"hr"),d(4,"div",2)(5,"label",3),v(6," I'm a: "),h(),d(7,"label",4),A(8,"input",5),v(9," Male "),h(),d(10,"label",4),A(11,"input",6),v(12," Female "),h()(),A(13,"app-text-input",7)(14,"app-text-input",8)(15,"app-date-picker",9)(16,"app-text-input",8)(17,"app-text-input",8)(18,"app-text-input",7)(19,"app-text-input",7),T(20,Pz,4,0,"div",10),d(21,"div",11)(22,"button",12),v(23,"Register"),h(),d(24,"button",13),D("click",function(){return i.cancel()}),v(25,"Cancle"),h()()()),e&2&&(g("formGroup",i.registerForm),f(13),g("formControl",i.registerForm.get("username"))("label","Username")("type","text"),f(),g("formControl",i.registerForm.get("knownAs"))("label","known As"),f(),g("formControl",i.registerForm.get("dateOfBirth"))("label","Date of Birth")("maxDate",i.maxDate),f(),g("formControl",i.registerForm.get("city"))("label","City"),f(),g("formControl",i.registerForm.get("country"))("label","Country"),f(),g("formControl",i.registerForm.get("password"))("label","Password")("type","password"),f(),g("formControl",i.registerForm.get("confirmPassword"))("label","Confirm password")("type","password"),f(),Re(i.validationErrors?20:-1),f(2),g("disabled",!i.registerForm.valid))},dependencies:[yl,wr,en,K0,Nt,Cr,Fs,X0,eb,jp,mm],encapsulation:2})};function Nz(t,n){if(t&1){let e=N();d(0,"h1"),v(1,"Find your match"),h(),d(2,"p",3),v(3,"Come on in to view your matches... all you need to do is sign up?"),h(),d(4,"div",4)(5,"button",5),D("click",function(){C(e);let r=p();return w(r.registerToggle())}),v(6,"Register"),h(),d(7,"button",6),v(8,"Learn more"),h()()}}function Lz(t,n){if(t&1){let e=N();d(0,"div",2)(1,"div",7)(2,"div",8)(3,"app-register",9),D("cancelRegister",function(r){C(e);let o=p();return w(o.cancelRegisterMode(r))}),h()()()()}}var id=class t{registerMode=!1;registerToggle(){this.registerMode=!this.registerMode}cancelRegisterMode(n){this.registerMode=n}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-home"]],decls:4,vars:1,consts:[[1,"container","mt-5"],[2,"text-align","center"],[1,"container"],[1,"lead"],[1,"text-center"],[1,"btn","btn-primary","btn-lg","me-2",3,"click"],[1,"btn","btn-info","btn-lg","me-2"],[1,"row","justify-content-center"],[1,"col-4"],[3,"cancelRegister"]],template:function(e,i){e&1&&(d(0,"div",0)(1,"div",1),T(2,Nz,9,0)(3,Lz,4,0,"div",2),h()()),e&2&&(f(2),Re(i.registerMode?3:2))},dependencies:[gm],encapsulation:2})};var rd=class{gender;minAge=18;maxAge=99;pageNumber=1;pageSize=5;orderBy="lastActive";constructor(n){this.gender=n?.gender==="female"?"male":"female"}};var Ar=class t{http=S(Fn);accountService=S(tt);baseUrl=Yt.apiUrl;paginatedResult=ht(null);memberCache=new Map;user=this.accountService.currentUser();userParams=ht(new rd(this.user));resetUserParams(){this.userParams.set(new rd(this.user))}getMembers(){let n=this.memberCache.get(Object.values(this.userParams()).join("-"));if(n)return Vs(n,this.paginatedResult);let e=vl(this.userParams().pageNumber,this.userParams().pageSize);return e=e.append("minAge",this.userParams().minAge.toString()),e=e.append("maxAge",this.userParams().maxAge.toString()),e=e.append("gender",this.userParams().gender),e=e.append("orderBy",this.userParams().orderBy),this.http.get(this.baseUrl+"users",{params:e,observe:"response"}).subscribe({next:i=>{Vs(i,this.paginatedResult),this.memberCache.set(Object.values(this.userParams()).join("-"),i)}})}getMember(n){let e=[...this.memberCache.values()].reduce((i,r)=>i.concat(r.body),[]).find(i=>i.username==n);return e?Q(e):this.http.get(this.baseUrl+"users/"+n)}updateMember(n){return this.http.put(this.baseUrl+"users",n).pipe()}setMainPhoto(n){return this.http.put(this.baseUrl+"users/set-main-photo/"+n.id,{}).pipe()}deletePhoto(n){return this.http.delete(this.baseUrl+"users/delete-photo/"+n.id).pipe()}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};var Fz=()=>({tab:"Messages"});function Vz(t,n){t&1&&A(0,"i",16)}var Wl=class t{member=Rn.required();presenceService=S(Ho);likesService=S(Fo);hasLiked=$i(()=>this.likesService.likeIds().includes(this.member().id));isOnline=$i(()=>this.presenceService.onlineUsers().includes(this.member().username));toggleLike(){this.likesService.toggleLike(this.member().id).subscribe({next:()=>{this.hasLiked()?this.likesService.likeIds.update(n=>n.filter(e=>e!=this.member().id)):this.likesService.likeIds.update(n=>[...n,this.member().id])}})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-member-card"]],inputs:{member:[1,"member"]},decls:22,vars:13,consts:[[1,"card","mb-4"],[1,"card-img-wrapper"],[1,"card-img-top",3,"src","alt"],[1,"list-inline","member-icons","animate","text-center"],[1,"list-inline-item"],[1,"btn","btn-primary",3,"routerLink"],[1,"fa","fa-user"],[1,"btn","btn-primary",3,"click"],[1,"fa","fa-heart"],[1,"btn","btn-primary",3,"routerLink","queryParams"],[1,"fa","fa-envelope"],[1,"card-body","p-1"],[1,"card-title","text-center","mb-1"],[1,"fa","fa-user","me-2"],["class","fa fa-heart ms-2","style","color: red;",4,"ngIf"],[1,"card-text","text-muted","text-center"],[1,"fa","fa-heart","ms-2",2,"color","red"]],template:function(e,i){e&1&&(d(0,"div",0)(1,"div",1),A(2,"img",2),d(3,"ul",3)(4,"li",4)(5,"button",5),A(6,"i",6),h()(),d(7,"li",4)(8,"button",7),D("click",function(){return i.toggleLike()}),A(9,"i",8),h()(),d(10,"li",4)(11,"button",9),A(12,"i",10),h()()()(),d(13,"div",11)(14,"h6",12)(15,"span"),A(16,"i",13),h(),v(17),A(18,"br"),T(19,Vz,1,0,"i",14),h(),d(20,"p",15),v(21),h()()()),e&2&&(f(2),Dt("src",i.member().photoUrl||"https://th.bing.com/th/id/OIP.PoS7waY4-VeqgNuBSxVUogAAAA?rs=1&pid=ImgDetMain",ft),Dt("alt",i.member().knownAs),f(3),g("routerLink","/members/"+i.member().username),f(6),Io("routerLink","/members/",i.member().username,""),g("queryParams",Gr(12,Fz)),f(4),j("is-online",i.isOnline()),f(2),hr(" ",i.member().knownAs,", ",i.member().age,""),f(2),g("ngIf",i.hasLiked()),f(2),U(i.member().city))},dependencies:[br,De],styles:[".card[_ngcontent-%COMP%]:hover img[_ngcontent-%COMP%]{transform:scale(1.2);transition-duration:.5s;transition-timing-function:ease-out}.card[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{transform:scale(1);transition-duration:.5s;transition-timing-function:ease-out}.card-img-wrapper[_ngcontent-%COMP%]{overflow:hidden;position:relative}.member-icons[_ngcontent-%COMP%]{position:absolute;bottom:-30%;left:0;right:0;margin-right:auto;margin-left:auto;opacity:0;transition:all .3s ease-in-out}.card-img-wrapper[_ngcontent-%COMP%]:hover .member-icons[_ngcontent-%COMP%]{bottom:0;opacity:1}@keyframes _ngcontent-%COMP%_fa-blink{0%{opacity:1}to{opacity:.4}}.is-online[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fa-blink 1.5s linear infinite;color:#01bd2a}"]})};var jz=(t,n)=>({"pull-left":t,"float-left":n}),Hz=(t,n)=>({"pull-right":t,"float-right":n}),_m=(t,n)=>({disabled:t,currentPage:n}),Bz=(t,n,e)=>({disabled:t,$implicit:n,currentPage:e});function Uz(t,n){if(t&1){let e=N();d(0,"li",11)(1,"a",12),D("click",function(r){C(e);let o=p();return w(o.selectPage(1,r))}),gi(2,13),h()()}if(t&2){let e=p(),i=$t(13);j("disabled",e.noPrevious()||e.disabled),f(2),g("ngTemplateOutlet",e.customFirstTemplate||i)("ngTemplateOutletContext",Qr(4,_m,e.noPrevious()||e.disabled,e.page))}}function $z(t,n){if(t&1){let e=N();d(0,"li",14)(1,"a",12),D("click",function(r){C(e);let o=p();return w(o.selectPage(o.page-1,r))}),gi(2,13),h()()}if(t&2){let e=p(),i=$t(11);j("disabled",e.noPrevious()||e.disabled),f(2),g("ngTemplateOutlet",e.customPreviousTemplate||i)("ngTemplateOutletContext",Qr(4,_m,e.noPrevious()||e.disabled,e.page))}}function Yz(t,n){if(t&1){let e=N();d(0,"li",15)(1,"a",12),D("click",function(r){let o=C(e).$implicit,s=p();return w(s.selectPage(o.number,r))}),gi(2,13),h()()}if(t&2){let e=n.$implicit,i=p(),r=$t(7);j("active",e.active)("disabled",i.disabled&&!e.active),f(2),g("ngTemplateOutlet",i.customPageTemplate||r)("ngTemplateOutletContext",TE(6,Bz,i.disabled,e,i.page))}}function zz(t,n){if(t&1){let e=N();d(0,"li",16)(1,"a",12),D("click",function(r){C(e);let o=p();return w(o.selectPage(o.page+1,r))}),gi(2,13),h()()}if(t&2){let e=p(),i=$t(9);j("disabled",e.noNext()||e.disabled),f(2),g("ngTemplateOutlet",e.customNextTemplate||i)("ngTemplateOutletContext",Qr(4,_m,e.noNext()||e.disabled,e.page))}}function Wz(t,n){if(t&1){let e=N();d(0,"li",17)(1,"a",12),D("click",function(r){C(e);let o=p();return w(o.selectPage(o.totalPages,r))}),gi(2,13),h()()}if(t&2){let e=p(),i=$t(15);j("disabled",e.noNext()||e.disabled),f(2),g("ngTemplateOutlet",e.customLastTemplate||i)("ngTemplateOutletContext",Qr(4,_m,e.noNext()||e.disabled,e.page))}}function Gz(t,n){if(t&1&&v(0),t&2){let e=n.$implicit;U(e.text)}}function qz(t,n){if(t&1&&v(0),t&2){let e=p();U(e.getText("next"))}}function Qz(t,n){if(t&1&&v(0),t&2){let e=p();U(e.getText("previous"))}}function Zz(t,n){if(t&1&&v(0),t&2){let e=p();U(e.getText("first"))}}function Kz(t,n){if(t&1&&v(0),t&2){let e=p();U(e.getText("last"))}}var ck=(()=>{class t{constructor(){this.main={itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",pageBtnClass:"",rotate:!0},this.pager={itemsPerPage:15,previousText:"\xAB Previous",nextText:"Next \xBB",pageBtnClass:"",align:!0}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),Jz={provide:It,useExisting:He(()=>Xz),multi:!0},Xz=(()=>{class t{constructor(e,i,r){this.elementRef=e,this.changeDetection=r,this.align=!1,this.boundaryLinks=!1,this.directionLinks=!0,this.firstText="First",this.previousText="\xAB Previous",this.nextText="Next \xBB",this.lastText="Last",this.rotate=!0,this.pageBtnClass="",this.disabled=!1,this.numPages=new P,this.pageChanged=new P,this.onChange=Function.prototype,this.onTouched=Function.prototype,this.classMap="",this.inited=!1,this._itemsPerPage=15,this._totalItems=0,this._totalPages=0,this._page=1,this.elementRef=e,this.config||this.configureOptions(Object.assign({},i.main,i.pager))}get itemsPerPage(){return this._itemsPerPage}set itemsPerPage(e){this._itemsPerPage=e,this.totalPages=this.calculateTotalPages()}get totalItems(){return this._totalItems}set totalItems(e){this._totalItems=e,this.totalPages=this.calculateTotalPages()}get totalPages(){return this._totalPages}set totalPages(e){this._totalPages=e,this.numPages.emit(e),this.inited&&this.selectPage(this.page)}get page(){return this._page}set page(e){let i=this._page;this._page=e>this.totalPages?this.totalPages:e||1,this.changeDetection.markForCheck(),!(i===this._page||typeof i>"u")&&this.pageChanged.emit({page:this._page,itemsPerPage:this.itemsPerPage})}configureOptions(e){this.config=Object.assign({},e)}ngOnInit(){typeof window<"u"&&(this.classMap=this.elementRef.nativeElement.getAttribute("class")||""),typeof this.maxSize>"u"&&(this.maxSize=this.config?.maxSize||0),typeof this.rotate>"u"&&(this.rotate=!!this.config?.rotate),typeof this.boundaryLinks>"u"&&(this.boundaryLinks=!!this.config?.boundaryLinks),typeof this.directionLinks>"u"&&(this.directionLinks=!!this.config?.directionLinks),typeof this.pageBtnClass>"u"&&(this.pageBtnClass=this.config?.pageBtnClass||""),typeof this.itemsPerPage>"u"&&(this.itemsPerPage=this.config?.itemsPerPage||0),this.totalPages=this.calculateTotalPages(),this.pages=this.getPages(this.page,this.totalPages),this.inited=!0}writeValue(e){this.page=e,this.pages=this.getPages(this.page,this.totalPages)}getText(e){return this[`${e}Text`]||this.config[`${e}Text`]}noPrevious(){return this.page===1}noNext(){return this.page===this.totalPages}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}selectPage(e,i){i&&i.preventDefault(),this.disabled||(i&&i.target&&i.target.blur(),this.writeValue(e),this.onChange(this.page))}makePage(e,i,r){return{text:i,number:e,active:r}}getPages(e,i){let r=[],o=1,s=i,a=typeof this.maxSize<"u"&&this.maxSizei&&(s=i,o=s-this.maxSize+1)):(o=(Math.ceil(e/this.maxSize)-1)*this.maxSize+1,s=Math.min(o+this.maxSize-1,i)));for(let l=o;l<=s;l++){let c=this.makePage(l,l.toString(),l===e);r.push(c)}if(a&&!this.rotate){if(o>1){let l=this.makePage(o-1,"...",!1);r.unshift(l)}if(sra),multi:!0},ra=(()=>{class t{constructor(e,i,r){this.elementRef=e,this.changeDetection=r,this.align=!0,this.boundaryLinks=!1,this.directionLinks=!0,this.rotate=!0,this.pageBtnClass="",this.disabled=!1,this.numPages=new P,this.pageChanged=new P,this.onChange=Function.prototype,this.onTouched=Function.prototype,this.classMap="",this.inited=!1,this._itemsPerPage=10,this._totalItems=0,this._totalPages=0,this._page=1,this.elementRef=e,this.config||this.configureOptions(i.main)}get itemsPerPage(){return this._itemsPerPage}set itemsPerPage(e){this._itemsPerPage=e,this.totalPages=this.calculateTotalPages()}get totalItems(){return this._totalItems}set totalItems(e){this._totalItems=e,this.totalPages=this.calculateTotalPages()}get totalPages(){return this._totalPages}set totalPages(e){this._totalPages=e,this.numPages.emit(e),this.inited&&this.selectPage(this.page)}get page(){return this._page}set page(e){let i=this._page;this._page=e>this.totalPages?this.totalPages:e||1,this.changeDetection.markForCheck(),!(i===this._page||typeof i>"u")&&this.pageChanged.emit({page:this._page,itemsPerPage:this.itemsPerPage})}configureOptions(e){this.config=Object.assign({},e)}ngOnInit(){typeof window<"u"&&(this.classMap=this.elementRef.nativeElement.getAttribute("class")||""),typeof this.maxSize>"u"&&(this.maxSize=this.config?.maxSize||0),typeof this.rotate>"u"&&(this.rotate=!!this.config?.rotate),typeof this.boundaryLinks>"u"&&(this.boundaryLinks=!!this.config?.boundaryLinks),typeof this.directionLinks>"u"&&(this.directionLinks=!!this.config?.directionLinks),typeof this.pageBtnClass>"u"&&(this.pageBtnClass=this.config?.pageBtnClass||""),typeof this.itemsPerPage>"u"&&(this.itemsPerPage=this.config?.itemsPerPage||0),this.totalPages=this.calculateTotalPages(),this.pages=this.getPages(this.page,this.totalPages),this.inited=!0}writeValue(e){this.page=e,this.pages=this.getPages(this.page,this.totalPages)}getText(e){return this[`${e}Text`]||this.config[`${e}Text`]}noPrevious(){return this.page===1}noNext(){return this.page===this.totalPages}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}selectPage(e,i){i&&i.preventDefault(),this.disabled||(i&&i.target&&i.target.blur(),this.writeValue(e),this.onChange(this.page))}makePage(e,i,r){return{text:i,number:e,active:r}}getPages(e,i){let r=[],o=1,s=i,a=typeof this.maxSize<"u"&&this.maxSizei&&(s=i,o=s-this.maxSize+1)):(o=(Math.ceil(e/this.maxSize)-1)*this.maxSize+1,s=Math.min(o+this.maxSize-1,i)));for(let l=o;l<=s;l++){let c=this.makePage(l,l.toString(),l===e);r.push(c)}if(a&&!this.rotate){if(o>1){let l=this.makePage(o-1,"...",!1);r.unshift(l)}if(s{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=be({type:t})}static{this.\u0275inj=ve({imports:[ot]})}}return t})();var tW={provide:It,useExisting:He(()=>nW),multi:!0},nW=(()=>{class t{constructor(){this.btnCheckboxTrue=!0,this.btnCheckboxFalse=!1,this.state=!1,this.isDisabled=!1,this.onChange=Function.prototype,this.onTouched=Function.prototype}onClick(){this.isDisabled||(this.toggle(!this.state),this.onChange(this.value))}ngOnInit(){this.toggle(this.trueValue===this.value)}get trueValue(){return typeof this.btnCheckboxTrue<"u"?this.btnCheckboxTrue:!0}get falseValue(){return typeof this.btnCheckboxFalse<"u"?this.btnCheckboxFalse:!1}toggle(e){this.state=e,this.value=this.state?this.trueValue:this.falseValue}writeValue(e){this.state=this.trueValue===e,this.value=e?this.trueValue:this.falseValue}setDisabledState(e){this.isDisabled=e}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275dir=H({type:t,selectors:[["","btnCheckbox",""]],hostVars:3,hostBindings:function(i,r){i&1&&D("click",function(){return r.onClick()}),i&2&&(J("aria-pressed",r.state),j("active",r.state))},inputs:{btnCheckboxTrue:"btnCheckboxTrue",btnCheckboxFalse:"btnCheckboxFalse"},features:[ce([tW])]})}}return t})(),iW={provide:It,useExisting:He(()=>Ko),multi:!0},Ko=(()=>{class t{get value(){return this.group?this.group.value:this._value}set value(e){if(this.group){this.group.value=e;return}this._value=e,this._onChange(e)}get disabled(){return this._disabled}set disabled(e){this.setDisabledState(e)}get controlOrGroupDisabled(){return this.disabled||this.group&&this.group.disabled?!0:void 0}get hasDisabledClass(){return this.controlOrGroupDisabled&&!this.isActive}get isActive(){return this.btnRadio===this.value}get tabindex(){if(!this.controlOrGroupDisabled)return this.isActive||this.group==null?0:-1}get hasFocus(){return this._hasFocus}constructor(e,i,r,o){this.el=e,this.cdr=i,this.renderer=r,this.group=o,this.onChange=Function.prototype,this.onTouched=Function.prototype,this.uncheckable=!1,this.role="radio",this._disabled=!1,this._hasFocus=!1}toggleIfAllowed(){this.canToggle()&&(this.uncheckable&&this.btnRadio===this.value?this.value=void 0:this.value=this.btnRadio)}onSpacePressed(e){this.toggleIfAllowed(),e.preventDefault()}focus(){this.el.nativeElement.focus()}onFocus(){this._hasFocus=!0}onBlur(){this._hasFocus=!1,this.onTouched()}canToggle(){return!this.controlOrGroupDisabled&&(this.uncheckable||this.btnRadio!==this.value)}ngOnChanges(e){"uncheckable"in e&&(this.uncheckable=this.uncheckable!==!1&&typeof this.uncheckable<"u")}_onChange(e){if(this.group){this.group.value=e;return}this.onTouched(),this.onChange(e)}writeValue(e){this.value=e,this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){if(this._disabled=e,e){this.renderer.setAttribute(this.el.nativeElement,"disabled","disabled");return}this.renderer.removeAttribute(this.el.nativeElement,"disabled")}static{this.\u0275fac=function(i){return new(i||t)(y($),y(it),y(ke),y(He(()=>uk),8))}}static{this.\u0275dir=H({type:t,selectors:[["","btnRadio",""]],hostVars:8,hostBindings:function(i,r){i&1&&D("click",function(){return r.toggleIfAllowed()})("keydown.space",function(s){return r.onSpacePressed(s)})("focus",function(){return r.onFocus()})("blur",function(){return r.onBlur()}),i&2&&(J("aria-disabled",r.controlOrGroupDisabled)("aria-checked",r.isActive)("role",r.role)("tabindex",r.tabindex),j("disabled",r.hasDisabledClass)("active",r.isActive))},inputs:{btnRadio:"btnRadio",uncheckable:"uncheckable",value:"value",disabled:"disabled"},features:[ce([iW]),xe]})}}return t})(),rW={provide:It,useExisting:He(()=>uk),multi:!0},uk=(()=>{class t{constructor(e){this.cdr=e,this.onChange=Function.prototype,this.onTouched=Function.prototype,this.role="radiogroup",this._disabled=!1}get value(){return this._value}set value(e){this._value=e,this.onChange(e)}get disabled(){return this._disabled}get tabindex(){return this._disabled?null:0}writeValue(e){this._value=e,this.cdr.markForCheck()}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.radioButtons&&(this._disabled=e,this.radioButtons.forEach(i=>{i.setDisabledState(e)}),this.cdr.markForCheck())}onFocus(){if(this._disabled)return;let e=this.getActiveOrFocusedRadio();if(e){e.focus();return}if(this.radioButtons){let i=this.radioButtons.find(r=>!r.disabled);i&&i.focus()}}onBlur(){this.onTouched&&this.onTouched()}selectNext(e){this.selectInDirection("next"),e.preventDefault()}selectPrevious(e){this.selectInDirection("previous"),e.preventDefault()}selectInDirection(e){if(this._disabled)return;function i(o,s){let l=(o+(e==="next"?1:-1))%s.length;return l<0&&(l=s.length-1),l}let r=this.getActiveOrFocusedRadio();if(r&&this.radioButtons){let o=this.radioButtons.toArray(),s=o.indexOf(r);for(let a=i(s,o);a!==s;a=i(a,o))if(o[a].canToggle()){o[a].toggleIfAllowed(),o[a].focus();break}}}getActiveOrFocusedRadio(){if(this.radioButtons)return this.radioButtons.find(e=>e.isActive)||this.radioButtons.find(e=>e.hasFocus)}static{this.\u0275fac=function(i){return new(i||t)(y(it))}}static{this.\u0275dir=H({type:t,selectors:[["","btnRadioGroup",""]],contentQueries:function(i,r,o){if(i&1&&xo(o,Ko,4),i&2){let s;Ge(s=qe())&&(r.radioButtons=s)}},hostVars:2,hostBindings:function(i,r){i&1&&D("focus",function(){return r.onFocus()})("blur",function(){return r.onBlur()})("keydown.ArrowRight",function(s){return r.selectNext(s)})("keydown.ArrowDown",function(s){return r.selectNext(s)})("keydown.ArrowLeft",function(s){return r.selectPrevious(s)})("keydown.ArrowUp",function(s){return r.selectPrevious(s)}),i&2&&J("role",r.role)("tabindex",r.tabindex)},features:[ce([rW])]})}}return t})(),ql=(()=>{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=be({type:t})}static{this.\u0275inj=ve({})}}return t})();var oW=(t,n)=>n.value,sW=(t,n)=>n.id;function aW(t,n){if(t&1&&(d(0,"option",10),v(1),h()),t&2){let e=n.$implicit;g("value",e.value),f(),U(e.display)}}function lW(t,n){if(t&1&&(d(0,"div",17)(1,"p"),A(2,"app-member-card",19),h()()),t&2){let e=n.$implicit;f(2),g("member",e)}}function cW(t,n){if(t&1){let e=N();d(0,"div",18)(1,"pagination",20),D("pageChanged",function(r){C(e);let o=p();return w(o.pageChange(r))}),Fe("ngModelChange",function(r){let o;C(e);let s=p();return Ve((o=s.paginatedResult())==null?null:o.pagination.currentPage,r)||(((o=s.paginatedResult())==null?null:o.pagination).currentPage=r),w(r)}),h()()}if(t&2){let e,i,r,o=p();f(),g("boundaryLinks",!0)("totalItems",(e=o.paginatedResult())==null?null:e.pagination.totalItems)("itemsPerPage",(i=o.paginatedResult())==null?null:i.pagination.itemsPerPage),Le("ngModel",(r=o.paginatedResult())==null?null:r.pagination.currentPage),g("maxSize",10)}}var ym=class t{membersService=S(Ar);genderList=[{value:"male",display:"Males"},{value:"female",display:"Females"}];ngOnInit(){this.membersService.paginatedResult()||this.loadMembers()}loadMembers(){this.membersService.getMembers()}resetFilters(){this.membersService.resetUserParams(),this.loadMembers()}pageChange(n){this.membersService.userParams().pageNumber!=n.page&&(this.membersService.userParams().pageNumber=n.page,this.loadMembers())}paginatedResult(){return this.membersService.paginatedResult()}userParams(){return this.membersService.userParams()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-member-lists"]],decls:34,vars:7,consts:[["form","ngForm"],[1,"row"],[1,"text-center","mt-3"],[1,"container","mt-3"],[1,"d-flex","mb-3",3,"ngSubmit"],[1,"d-flex","mx-2"],[1,"col-form-label"],["type","number","name","minAge",1,"form-control","ms-1",2,"width","70px",3,"ngModelChange","ngModel"],["type","number","name","maxAge",1,"form-control","ms-1",2,"width","70px",3,"ngModelChange","ngModel"],["name","gender",1,"form-select","ms-1",2,"width","130px",3,"ngModelChange","ngModel"],[3,"value"],["type","submit",1,"btn","btn-primary","ms-1"],["type","button",1,"btn","btn-info","ms-1",3,"click"],[1,"col"],[1,"btn-group","float-end"],["name","orderBy","btnRadio","lastActive",1,"btn","btn-primary",3,"click","ngModelChange","ngModel"],["name","orderBy","btnRadio","created",1,"btn","btn-primary",3,"click","ngModelChange","ngModel"],[1,"col-2"],[1,"d-flex","justify-content-center"],[3,"member"],["previousText","\u2039","nextText","\u203A","firstText","\xAB","lastText","\xBB",3,"pageChanged","ngModelChange","boundaryLinks","totalItems","itemsPerPage","ngModel","maxSize"]],template:function(e,i){if(e&1){let r=N();d(0,"div",1)(1,"div",2)(2,"h2"),v(3),h()(),d(4,"div",3)(5,"form",4,0),D("ngSubmit",function(){return C(r),w(i.loadMembers())}),d(7,"div",5)(8,"label",6),v(9,"Age from: "),h(),d(10,"input",7),Fe("ngModelChange",function(s){return C(r),Ve(i.userParams().minAge,s)||(i.userParams().minAge=s),w(s)}),h()(),d(11,"div",5)(12,"label",6),v(13,"Age to: "),h(),d(14,"input",8),Fe("ngModelChange",function(s){return C(r),Ve(i.userParams().maxAge,s)||(i.userParams().maxAge=s),w(s)}),h()(),d(15,"div",5)(16,"label",6),v(17,"Show "),h(),d(18,"select",9),Fe("ngModelChange",function(s){return C(r),Ve(i.userParams().gender,s)||(i.userParams().gender=s),w(s)}),Et(19,aW,2,2,"option",10,oW),h()(),d(21,"button",11),v(22,"Apply filters "),h(),d(23,"button",12),D("click",function(){return C(r),w(i.resetFilters())}),v(24,"Reset filters "),h(),d(25,"div",13)(26,"div",14)(27,"button",15),D("click",function(){return C(r),w(i.loadMembers())}),Fe("ngModelChange",function(s){return C(r),Ve(i.userParams().orderBy,s)||(i.userParams().orderBy=s),w(s)}),v(28,"Last active"),h(),d(29,"button",16),D("click",function(){return C(r),w(i.loadMembers())}),Fe("ngModelChange",function(s){return C(r),Ve(i.userParams().orderBy,s)||(i.userParams().orderBy=s),w(s)}),v(30,"Newest members"),h()()()()(),Et(31,lW,3,1,"div",17,sW),h(),T(33,cW,2,5,"div",18)}if(e&2){let r,o,s;f(3),Te("Your matches - ",(r=i.paginatedResult())==null||r.pagination==null?null:r.pagination.totalItems,""),f(7),Le("ngModel",i.userParams().minAge),f(4),Le("ngModel",i.userParams().maxAge),f(4),Le("ngModel",i.userParams().gender),f(),Tt(i.genderList),f(8),Le("ngModel",i.userParams().orderBy),f(2),Le("ngModel",i.userParams().orderBy),f(2),Tt((o=i.paginatedResult())==null?null:o.items),f(2),Re((s=i.paginatedResult())!=null&&s.pagination?33:-1)}},dependencies:[Wl,Gl,ra,Hn,wr,zI,GI,en,Z0,_p,Nt,Cr,wn,to,ql,Ko],encapsulation:2})};var uW=["*"],dW=t=>["nav-item",t];function hW(t,n){if(t&1){let e=N();d(0,"span",7),D("click",function(r){C(e);let o=p().$implicit,s=p();return r.preventDefault(),w(s.removeTab(o))}),v(1," \u274C"),h()}}function fW(t,n){if(t&1){let e=N();d(0,"li",3),D("keydown",function(r){let o=C(e).index,s=p();return w(s.keyNavActions(r,o))}),d(1,"a",4),D("click",function(){let r=C(e).$implicit;return w(r.active=!0)}),d(2,"span",5),v(3),h(),T(4,hW,2,0,"span",6),h()()}if(t&2){let e=n.$implicit;j("active",e.active)("disabled",e.disabled),g("ngClass",qr(15,dW,e.customClass||"")),f(),j("active",e.active)("disabled",e.disabled),J("aria-controls",e.id?e.id:"")("aria-selected",!!e.active)("id",e.id?e.id+"-link":""),f(),g("ngTransclude",e.headingRef),f(),U(e.heading),f(),g("ngIf",e.removable)}}var pW=(()=>{class t{set ngTransclude(e){this._ngTransclude=e,e&&this.viewRef.createEmbeddedView(e)}get ngTransclude(){return this._ngTransclude}constructor(e){this.viewRef=e}static{this.\u0275fac=function(i){return new(i||t)(y(pt))}}static{this.\u0275dir=H({type:t,selectors:[["","ngTransclude",""]],inputs:{ngTransclude:"ngTransclude"}})}}return t})(),mW=(()=>{class t{constructor(){this.type="tabs",this.isKeysAllowed=!0,this.ariaLabel="Tabs"}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),oa=(()=>{class t{get vertical(){return this._vertical}set vertical(e){this._vertical=e,this.setClassMap()}get justified(){return this._justified}set justified(e){this._justified=e,this.setClassMap()}get type(){return this._type}set type(e){this._type=e,this.setClassMap()}get isKeysAllowed(){return this._isKeysAllowed}set isKeysAllowed(e){this._isKeysAllowed=e}constructor(e,i,r){this.renderer=i,this.elementRef=r,this.clazz=!0,this.tabs=[],this.classMap={},this.ariaLabel="Tabs",this.isDestroyed=!1,this._vertical=!1,this._justified=!1,this._type="tabs",this._isKeysAllowed=!0,Object.assign(this,e)}ngOnDestroy(){this.isDestroyed=!0}addTab(e){this.tabs.push(e),e.active=this.tabs.length===1&&!e.active}removeTab(e,i={reselect:!0,emit:!0}){let r=this.tabs.indexOf(e);if(!(r===-1||this.isDestroyed)){if(i.reselect&&e.active&&this.hasAvailableTabs(r)){let o=this.getClosestTabIndex(r);this.tabs[o].active=!0}i.emit&&e.removed.emit(e),this.tabs.splice(r,1),e.elementRef.nativeElement.parentNode&&this.renderer.removeChild(e.elementRef.nativeElement.parentNode,e.elementRef.nativeElement)}}keyNavActions(e,i){if(!this.isKeysAllowed)return;let r=Array.from(this.elementRef.nativeElement.querySelectorAll(".nav-link"));if(e.keyCode===13||e.key==="Enter"||e.keyCode===32||e.key==="Space"){e.preventDefault(),r[i%r.length].click();return}if(e.keyCode===39||e.key==="RightArrow"){let o,s=1;do o=r[(i+s)%r.length],s++;while(o.classList.contains("disabled"));o.focus();return}if(e.keyCode===37||e.key==="LeftArrow"){let o,s=1,a=i;do a-s<0?(a=r.length-1,o=r[a],s=0):o=r[a-s],s++;while(o.classList.contains("disabled"));o.focus();return}if(e.keyCode===36||e.key==="Home"){e.preventDefault();let o,s=0;do o=r[s%r.length],s++;while(o.classList.contains("disabled"));o.focus();return}if(e.keyCode===35||e.key==="End"){e.preventDefault();let o,s=1,a=i;do a-s<0?(a=r.length-1,o=r[a],s=0):o=r[a-s],s++;while(o.classList.contains("disabled"));o.focus();return}if((e.keyCode===46||e.key==="Delete")&&this.tabs[i].removable){if(this.removeTab(this.tabs[i]),r[i+1]){r[(i+1)%r.length].focus();return}r[r.length-1]&&r[0].focus()}}getClosestTabIndex(e){let i=this.tabs.length;if(!i)return-1;for(let r=1;r<=i;r+=1){let o=e-r,s=e+r;if(this.tabs[o]&&!this.tabs[o].disabled)return o;if(this.tabs[s]&&!this.tabs[s].disabled)return s}return-1}hasAvailableTabs(e){let i=this.tabs.length;if(!i)return!1;for(let r=0;r{class t{get customClass(){return this._customClass}set customClass(e){this.customClass&&this.customClass.split(" ").forEach(i=>{this.renderer.removeClass(this.elementRef.nativeElement,i)}),this._customClass=e?e.trim():"",this.customClass&&this.customClass.split(" ").forEach(i=>{this.renderer.addClass(this.elementRef.nativeElement,i)})}get active(){return this._active}set active(e){if(this._active!==e){if(this.disabled&&e||!e){this._active&&!e&&(this.deselect.emit(this),this._active=e);return}this._active=e,this.selectTab.emit(this),this.tabset.tabs.forEach(i=>{i!==this&&(i.active=!1)})}}get ariaLabelledby(){return this.id?`${this.id}-link`:""}constructor(e,i,r){this.elementRef=i,this.renderer=r,this.disabled=!1,this.removable=!1,this.selectTab=new P,this.deselect=new P,this.removed=new P,this.addClass=!0,this.role="tabpanel",this._active=!1,this._customClass="",this.tabset=e,this.tabset.addTab(this)}ngOnInit(){this.removable=!!this.removable}ngOnDestroy(){this.tabset.removeTab(this,{reselect:!1,emit:!1})}static{this.\u0275fac=function(i){return new(i||t)(y(oa),y($),y(ke))}}static{this.\u0275dir=H({type:t,selectors:[["tab"],["","tab",""]],hostVars:7,hostBindings:function(i,r){i&2&&(J("id",r.id)("role",r.role)("aria-labelledby",r.ariaLabelledby),j("active",r.active)("tab-pane",r.addClass))},inputs:{heading:"heading",id:"id",disabled:"disabled",removable:"removable",customClass:"customClass",active:"active"},outputs:{selectTab:"selectTab",deselect:"deselect",removed:"removed"},exportAs:["tab"]})}}return t})();var Zl=(()=>{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=be({type:t})}static{this.\u0275inj=ve({imports:[ot]})}}return t})();function vm(t){return t==null?"":typeof t=="string"?t:`${t}px`}var gW=new B("cdk-dir-doc",{providedIn:"root",factory:_W});function _W(){return S(Ie)}var yW=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Adlm|Arab|Hebr|Nkoo|Rohg|Thaa))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;function SC(t){let n=t?.toLowerCase()||"";return n==="auto"&&typeof navigator<"u"&&navigator?.language?yW.test(navigator.language)?"rtl":"ltr":n==="rtl"?"rtl":"ltr"}var Kl=(()=>{class t{value="ltr";change=new P;constructor(){let e=S(gW,{optional:!0});if(e){let i=e.body?e.body.dir:null,r=e.documentElement?e.documentElement.dir:null;this.value=SC(i||r||"ltr")}}ngOnDestroy(){this.change.complete()}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var bm=(()=>{class t{_dir="ltr";_isInitialized=!1;_rawDir;change=new P;get dir(){return this._dir}set dir(e){let i=this._dir;this._dir=SC(e),this._rawDir=e,i!==this._dir&&this._isInitialized&&this.change.emit(this._dir)}get value(){return this.dir}ngAfterContentInit(){this._isInitialized=!0}ngOnDestroy(){this.change.complete()}static \u0275fac=function(i){return new(i||t)};static \u0275dir=H({type:t,selectors:[["","dir",""]],hostVars:1,hostBindings:function(i,r){i&2&&J("dir",r._rawDir)},inputs:{dir:"dir"},outputs:{change:"dirChange"},exportAs:["dir"],features:[ce([{provide:Kl,useExisting:t}])]})}return t})();var EC;try{EC=typeof Intl<"u"&&Intl.v8BreakIterator}catch{EC=!1}var TC=(()=>{class t{_platformId=S(qn);isBrowser=this._platformId?xs(this._platformId):typeof document=="object"&&!!document;EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent);TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent);BLINK=this.isBrowser&&!!(window.chrome||EC)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT;WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT;IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window);FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent);ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT;SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT;constructor(){}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();var Rr=function(t){return t[t.NORMAL=0]="NORMAL",t[t.NEGATED=1]="NEGATED",t[t.INVERTED=2]="INVERTED",t}(Rr||{}),Cm;function IC(){if(typeof document!="object"||!document)return Rr.NORMAL;if(Cm==null){let t=document.createElement("div"),n=t.style;t.dir="rtl",n.width="1px",n.overflow="auto",n.visibility="hidden",n.pointerEvents="none",n.position="absolute";let e=document.createElement("div"),i=e.style;i.width="2px",i.height="1px",t.appendChild(e),document.body.appendChild(t),Cm=Rr.NORMAL,t.scrollLeft===0&&(t.scrollLeft=1,Cm=t.scrollLeft===0?Rr.NEGATED:Rr.INVERTED),t.remove()}return Cm}function CW(t,n){if(t&1){let e=N();d(0,"div",1),D("click",function(){let r=C(e).index,o=p();return w(o.config.disableBullets?null:o.gallery.ref(o.galleryId).set(r))}),A(1,"div",2),h()}if(t&2){let e=n.index,i=p();rn("width",i.config==null?null:i.config.bulletSize,"px")("height",i.config==null?null:i.config.bulletSize,"px"),j("g-bullet-active",e===i.state.currIndex)}}function wW(t,n){if(t&1){let e=N();d(0,"i",2),D("click",function(){C(e);let r=p();return w(r.gallery.ref(r.id).prev(r.config.scrollBehavior))}),h()}if(t&2){let e=p();g("innerHtml",e.navIcon,mi)}}function DW(t,n){if(t&1){let e=N();d(0,"i",3),D("click",function(){C(e);let r=p();return w(r.gallery.ref(r.id).next(r.config.scrollBehavior))}),h()}if(t&2){let e=p();g("innerHtml",e.navIcon,mi)}}var MW=["iframe"];function SW(t,n){if(t&1&&A(0,"iframe",3,1),t&2){let e=p();g("src",e.iframeSrc,Xh),J("loading",e.loadingAttr)}}function EW(t,n){if(t&1&&A(0,"iframe",4,1),t&2){let e=p();g("src",e.iframeSrc,Xh),J("loading",e.loadingAttr)}}var TW=["video"];function IW(t,n){if(t&1&&A(0,"source",5),t&2){let e=p().$implicit;g("src",e==null?null:e.url,ft)("type",e.type)}}function xW(t,n){if(t&1&&A(0,"source",6),t&2){let e=p().$implicit;g("src",e==null?null:e.url,ft)}}function kW(t,n){if(t&1&&(At(0),T(1,IW,1,2,"source",4)(2,xW,1,1,"ng-template",null,1,Kn),Rt()),t&2){let e=n.$implicit,i=$t(3);f(),g("ngIf",e==null?null:e.type)("ngIfElse",i)}}function AW(t,n){if(t&1){let e=N();At(0),d(1,"img",8),D("load",function(){C(e);let r=p();return w(r.state="success")})("error",function(r){C(e);let o=p();return o.state="failed",w(o.error.emit(r))}),h(),Rt()}if(t&2){let e=p();f(),rn("visibility",e.state==="success"?"visible":"hidden"),g("@fadeIn",e.state)("src",e.src,ft),J("alt",e.alt)("loading",e.loadingAttr)}}function RW(t,n){if(t&1){let e=N();d(0,"img",9),D("load",function(){C(e);let r=p();return w(r.state="success")})("error",function(r){C(e);let o=p();return o.state="failed",w(o.error.emit(r))}),h()}if(t&2){let e=p();rn("visibility",e.state==="success"?"visible":"hidden"),g("galleryImage",e.index)("@fadeIn",e.state)("src",e.src,ft),J("alt",e.alt)("loading",e.loadingAttr)}}function OW(t,n){if(t&1&&A(0,"div",12),t&2){let e=p(2);g("innerHTML",e.errorTemplate,mi)}}function PW(t,n){if(t&1&&(At(0),d(1,"h4"),A(2,"div",13),h(),Rt()),t&2){let e=p(3);f(2),g("innerHTML",e.errorSvg,mi)}}function NW(t,n){if(t&1&&(d(0,"h2"),A(1,"div",14),h(),d(2,"p"),v(3,"Unable to load the image!"),h()),t&2){let e=p(3);f(),g("innerHTML",e.errorSvg,mi)}}function LW(t,n){if(t&1&&T(0,PW,3,1,"ng-container",5)(1,NW,4,1,"ng-template",null,2,Kn),t&2){let e=$t(2),i=p(2);g("ngIf",i.isThumbnail)("ngIfElse",e)}}function FW(t,n){if(t&1&&(d(0,"div",10),T(1,OW,1,1,"div",11)(2,LW,3,2,"ng-template",null,1,Kn),h()),t&2){let e=$t(3),i=p();f(),g("ngIf",i.errorTemplate)("ngIfElse",e)}}function VW(t,n){if(t&1&&A(0,"div",16),t&2){let e=p(2);g("innerHTML",e.loaderTemplate,mi)}}function jW(t,n){t&1&&A(0,"div",18)}function HW(t,n){if(t&1&&T(0,jW,1,0,"div",17),t&2){let e=p(2);g("ngIf",e.isThumbnail)}}function BW(t,n){if(t&1&&(At(0),T(1,VW,1,1,"div",15)(2,HW,1,1,"ng-template",null,3,Kn),Rt()),t&2){let e=$t(3),i=p();f(),g("ngIf",i.loaderTemplate)("ngIfElse",e)}}function UW(t,n){t&1&&gi(0)}function $W(t,n){if(t&1&&(d(0,"div",9),T(1,UW,1,0,"ng-container",10),h()),t&2){let e=p(3);f(),g("ngTemplateOutlet",e.config.imageTemplate)("ngTemplateOutletContext",e.imageContext)}}function YW(t,n){if(t&1){let e=N();At(0),d(1,"gallery-image",7),D("error",function(r){C(e);let o=p(2);return w(o.error.emit(r))}),h(),T(2,$W,2,2,"div",8),Rt()}if(t&2){let e=p(2);f(),g("src",e.imageData.src)("alt",e.imageData.alt)("index",e.index)("loadingAttr",e.config.loadingAttr)("loadingIcon",e.config.loadingIcon)("loadingError",e.config.loadingError),f(),g("ngIf",e.config.imageTemplate)}}function zW(t,n){if(t&1){let e=N();d(0,"gallery-video",11),D("error",function(r){C(e);let o=p(2);return w(o.error.emit(r))}),h()}if(t&2){let e=p(2);g("src",e.videoData.src)("mute",e.videoData.mute)("poster",e.videoData.poster)("controls",e.videoData.controls)("controlsList",e.videoData.controlsList)("disablePictureInPicture",e.videoData.disablePictureInPicture)("play",e.isAutoPlay)("pause",e.currIndex!==e.index)}}function WW(t,n){if(t&1&&A(0,"gallery-iframe",12),t&2){let e=p(2);g("src",e.youtubeSrc)("autoplay",e.isAutoPlay)("loadingAttr",e.config.loadingAttr)("pause",e.currIndex!==e.index)}}function GW(t,n){if(t&1&&A(0,"gallery-iframe",12),t&2){let e=p(2);g("src",e.vimeoSrc)("autoplay",e.isAutoPlay)("loadingAttr",e.config.loadingAttr)("pause",e.currIndex!==e.index)}}function qW(t,n){if(t&1&&A(0,"gallery-iframe",13),t&2){let e=p(2);g("src",e.data.src)("loadingAttr",e.config.loadingAttr)}}function QW(t,n){t&1&&gi(0)}function ZW(t,n){if(t&1&&(d(0,"div",9),T(1,QW,1,0,"ng-container",10),h()),t&2){let e=p(3);f(),g("ngTemplateOutlet",e.config.itemTemplate)("ngTemplateOutletContext",e.itemContext)}}function KW(t,n){if(t&1&&(At(0),T(1,ZW,2,2,"div",8),Rt()),t&2){let e=p(2);f(),g("ngIf",e.config.itemTemplate)}}function JW(t,n){if(t&1&&(At(0,1),T(1,YW,3,7,"ng-container",2)(2,zW,1,8,"gallery-video",3)(3,WW,1,4,"gallery-iframe",4)(4,GW,1,4,"gallery-iframe",4)(5,qW,1,2,"gallery-iframe",5)(6,KW,2,1,"ng-container",6),Rt()),t&2){let e=p();g("ngSwitch",e.type),f(),g("ngSwitchCase",e.Types.Image),f(),g("ngSwitchCase",e.Types.Video),f(),g("ngSwitchCase",e.Types.Youtube),f(),g("ngSwitchCase",e.Types.Vimeo),f(),g("ngSwitchCase",e.Types.Iframe)}}var pk=["slider"],XW=["*"];function e5(t,n){if(t&1){let e=N();d(0,"gallery-item",5),D("activeIndexChange",function(r){C(e);let o=p();return w(o.onActiveIndexChange(r))})("click",function(){let r=C(e).index,o=p();return w(o.itemClick.emit(r))})("error",function(r){let o=C(e).index,s=p();return w(s.error.emit({itemIndex:o,error:r}))}),h()}if(t&2){let e=n.$implicit,i=n.index,r=p();g("type",e.type)("config",r.config)("data",e.data)("currIndex",r.state.currIndex)("index",i)("count",r.state.items.length)("itemIntersectionObserverDisabled",r.isScrolling||r.isSliding||r.isResizing)("adapter",r.adapter),J("galleryId",r.galleryId)}}function t5(t,n){t&1&&(d(0,"div",6)(1,"div",7),v(2,"RESIZING"),h(),d(3,"div",8),v(4,"SCROLLING"),h(),d(5,"div",9),v(6,"SLIDING"),h()())}function n5(t,n){t&1&&gi(0)}function i5(t,n){if(t&1&&(d(0,"div",2),T(1,n5,1,0,"ng-container",3),h()),t&2){let e=p();f(),g("ngTemplateOutlet",e.config.thumbTemplate)("ngTemplateOutletContext",e.imageContext)}}function r5(t,n){if(t&1){let e=N();d(0,"gallery-thumb",4),D("click",function(){let r=C(e).index,o=p();return w(o.config.disableThumbs?null:o.thumbClick.emit(r))})("error",function(r){let o=C(e).index,s=p();return w(s.error.emit({itemIndex:o,error:r}))}),h()}if(t&2){let e=n.$implicit,i=n.index,r=p();g("type",e.type)("config",r.config)("data",e.data)("currIndex",r.state.currIndex)("index",i)("count",r.state.items.length),J("galleryId",r.galleryId)}}var o5=(t,n)=>({state:t,config:n});function s5(t,n){if(t&1){let e=N();d(0,"gallery-thumbs",7),D("thumbClick",function(r){C(e);let o=p();return w(o.thumbClick.emit(r))})("error",function(r){C(e);let o=p();return w(o.error.emit(r))}),h()}if(t&2){let e=p();g("state",e.state)("config",e.config)("galleryId",e.galleryId)}}function a5(t,n){if(t&1&&A(0,"gallery-nav",8),t&2){let e=p();g("state",e.state)("config",e.config)("galleryId",e.galleryId)}}function l5(t,n){if(t&1&&A(0,"gallery-bullets",8),t&2){let e=p();g("state",e.state)("config",e.config)("galleryId",e.galleryId)}}function c5(t,n){if(t&1&&A(0,"gallery-counter",9),t&2){let e=p();g("state",e.state)}}function u5(t,n){t&1&&gi(0)}var si=function(t){return t.INITIALIZED="initialized",t.ITEMS_CHANGED="itemsChanged",t.INDEX_CHANGED="indexChanged",t.PLAY="play",t.STOP="stop",t}(si||{}),xC=function(t){return t.Cover="cover",t.Contain="contain",t}(xC||{}),Mm=function(t){return t.Preload="preload",t.Lazy="lazy",t.Default="default",t}(Mm||{}),mk=function(t){return t.Eager="eager",t.Lazy="lazy",t}(mk||{}),Jl=function(t){return t.Top="top",t.Left="left",t.Right="right",t.Bottom="bottom",t}(Jl||{}),gk=function(t){return t.Top="top",t.Bottom="bottom",t}(gk||{}),_k=function(t){return t.Top="top",t.Bottom="bottom",t}(_k||{}),sd=function(t){return t.Horizontal="horizontal",t.Vertical="vertical",t}(sd||{}),Ri=function(t){return t.Image="image",t.Video="video",t.Youtube="youtube",t.Vimeo="vimeo",t.Iframe="iframe",t}(Ri||{}),dk={action:si.INITIALIZED,isPlaying:!1,hasNext:!1,hasPrev:!1,currIndex:0,items:[]},hk={nav:!0,loop:!1,bullets:!1,thumbs:!1,debug:!1,bulletSize:6,counter:!1,autoplay:!1,thumbWidth:120,thumbHeight:90,disableBullets:!1,disableThumbs:!1,disableScroll:!1,disableThumbScroll:!1,disableMouseScroll:!1,disableThumbMouseScroll:!1,autoplayInterval:3e3,scrollDuration:468,scrollEase:{x1:.42,y1:0,x2:.58,y2:1},thumbCentralized:!1,thumbAutosize:!1,itemAutosize:!1,autoHeight:!1,scrollBehavior:"smooth",resizeDebounceTime:0,loadingAttr:mk.Lazy,imageSize:xC.Contain,thumbImageSize:xC.Cover,bulletPosition:gk.Bottom,counterPosition:_k.Top,thumbPosition:Jl.Bottom,loadingStrategy:Mm.Preload,orientation:sd.Horizontal,navIcon:'',loadingIcon:''},ad=class{constructor(n){this.data=n,this.type=Ri.Image}},kC=class{constructor(n){this.data=n,this.type=Ri.Video}},AC=class{constructor(n){this.data=n,this.type=Ri.Iframe}},RC=class{constructor(n){this.data=W(E({},n),{src:`https://youtube.com/embed/${n.src}`,thumb:n.thumb?n.thumb:`//img.youtube.com/vi/${n.src}/default.jpg`}),this.type=Ri.Youtube}},OC=class{constructor(n){this.data=W(E({},n),{src:`https://player.vimeo.com/video/${n.src}`,thumb:n.thumb?n.thumb:this.getVimeoThumb(n.src)}),this.type=Ri.Vimeo}getVimeoThumb(n){return`//vumbnail.com/${n}.jpg`}},wm=t=>le(n=>t.indexOf(n.action)>-1),PC=class{get stateSnapshot(){return this._state.value}get configSnapshot(){return this._config.value}get initialized(){return this.state.pipe(wm([si.INITIALIZED]))}get itemsChanged(){return this.state.pipe(wm([si.ITEMS_CHANGED]))}get indexChanged(){return this.state.pipe(wm([si.INDEX_CHANGED]))}get playingChanged(){return this.state.pipe(wm([si.PLAY,si.STOP]))}constructor(n,e){this.deleteInstance=e,this.itemClick=new X,this.thumbClick=new X,this.error=new X,this._state=new Pe(dk),this._config=new Pe(n),this.state=this._state.asObservable(),this.config=this._config.asObservable()}setState(n){this._state.next(E(E({},this.stateSnapshot),n))}setConfig(n){this._config.next(E(E({},this._config.value),n))}add(n,e){let i=[...this.stateSnapshot.items,n];this.setState({action:si.ITEMS_CHANGED,items:i,hasNext:i.length>1,currIndex:e?i.length-1:this.stateSnapshot.currIndex})}addImage(n,e){this.add(new ad(n),e)}addVideo(n,e){this.add(new kC(n),e)}addIframe(n,e){this.add(new AC(n),e)}addYoutube(n,e){this.add(new RC(n),e)}addVimeo(n,e){this.add(new OC(n),e)}remove(n){let e=this.stateSnapshot,i=[...e.items.slice(0,n),...e.items.slice(n+1,e.items.length)];this.setState({action:si.ITEMS_CHANGED,currIndex:n<1?e.currIndex:n-1,items:i,hasNext:i.length>1,hasPrev:n>0})}load(n){n&&this.setState({action:si.ITEMS_CHANGED,items:n,hasNext:n.length>1,hasPrev:!1})}set(n,e=this._config.value.scrollBehavior){if(n<0||n>=this.stateSnapshot.items.length){console.error(`[NgGallery]: Unable to set the active item because the given index (${n}) is outside the items range!`);return}n!==this.stateSnapshot.currIndex&&this.setState({behavior:e,action:si.INDEX_CHANGED,currIndex:n,hasNext:n0})}next(n=this._config.value.scrollBehavior,e=!0){this.stateSnapshot.hasNext?this.set(this.stateSnapshot.currIndex+1,n):e&&this._config.value.loop&&this.set(0,n)}prev(n=this._config.value.scrollBehavior,e=!0){this.stateSnapshot.hasPrev?this.set(this.stateSnapshot.currIndex-1,n):e&&this._config.value.loop&&this.set(this.stateSnapshot.items.length-1,n)}play(n){n&&this.setConfig({autoplayInterval:n}),this.setState({action:si.PLAY,behavior:"auto",isPlaying:!0})}stop(){this.setState({action:si.STOP,isPlaying:!1})}reset(){this.setState(dk)}destroy(){this._state.complete(),this._config.complete(),this.itemClick.complete(),this.thumbClick.complete(),this.deleteInstance()}},d5=new B("GALLERY_CONFIG"),Xl=(()=>{class t{constructor(e){this._instances=new Map,this.config=e?E(E({},hk),e):hk}ref(e="root",i){if(this._instances.has(e)){let r=this._instances.get(e);return i&&r.setConfig(i),r}else return this._instances.set(e,new PC(E(E({},this.config),i),this.deleteInstance(e))).get(e)}destroyAll(){this._instances.forEach(e=>e.destroy())}resetAll(){this._instances.forEach(e=>e.reset())}debugConsole(...e){this.config.debug&&console.log(...e)}deleteInstance(e){return()=>{this._instances.has(e)&&this._instances.delete(e)}}static{this.\u0275fac=function(i){return new(i||t)(F(d5,8))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),h5=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-counter"]],inputs:{state:"state"},decls:2,vars:1,consts:[[1,"g-counter"]],template:function(i,r){i&1&&(d(0,"div",0),v(1),h()),i&2&&(f(),U(r.state.currIndex+1+" / "+r.state.items.length))},styles:[".g-counter[_ngcontent-%COMP%]{font-weight:700;-webkit-user-select:none;user-select:none;opacity:.6;transition:opacity linear .15s;z-index:50;position:absolute;left:50%;transform:translate(-50%) perspective(1px);font-size:12px;padding:4px 10px;color:var(--g-font-color);background-color:var(--g-overlay-color);box-shadow:var(--g-box-shadow);top:var(--counter-top);bottom:var(--counter-bottom);border-radius:var(--counter-border-radius)}.g-counter[_ngcontent-%COMP%]:hover{opacity:.8}"],changeDetection:0})}}return t})(),f5=(()=>{class t{constructor(e){this.gallery=e}static{this.\u0275fac=function(i){return new(i||t)(y(Xl))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-bullets"]],inputs:{galleryId:"galleryId",state:"state",config:"config"},decls:1,vars:1,consts:[["class","g-bullet",3,"g-bullet-active","width","height","click",4,"ngFor","ngForOf"],[1,"g-bullet",3,"click"],[1,"g-bullet-inner"]],template:function(i,r){i&1&&T(0,CW,2,6,"div",0),i&2&&g("ngForOf",r.state.items)},dependencies:[ot,rt],styles:["[_nghost-%COMP%]{position:absolute;left:50%;z-index:99;transform:translate(-50%);display:flex;gap:6px;top:var(--bullets-top);bottom:var(--bullets-bottom)}[_nghost-%COMP%], .g-bullet[_ngcontent-%COMP%], .g-bullet-inner[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center}.g-bullet[_ngcontent-%COMP%]{cursor:var(--bullets-cursor);z-index:20}.g-bullet[_ngcontent-%COMP%]:hover .g-bullet-inner[_ngcontent-%COMP%]{opacity:var(--bullets-hover-opacity)}.g-bullet-active[_ngcontent-%COMP%] .g-bullet-inner[_ngcontent-%COMP%]{opacity:var(--bullets-active-opacity)}.g-bullet-inner[_ngcontent-%COMP%]{background-color:var(--g-overlay-color);opacity:var(--bullets-opacity);width:100%;height:100%;border-radius:50%;transition:opacity linear .15s}"],changeDetection:0})}}return t})(),p5=(()=>{class t{constructor(e,i,r){this.gallery=e,this._sanitizer=i,this.dir=r}ngOnInit(){this.navIcon=this._sanitizer.bypassSecurityTrustHtml(this.config.navIcon)}rightButton(){}leftButton(){}static{this.\u0275fac=function(i){return new(i||t)(y(Xl),y(Kr),y(Kl))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-nav"]],inputs:{id:[0,"galleryId","id"],state:"state",config:"config"},decls:2,vars:2,consts:[["class","g-nav-prev","aria-label","Previous","role","button",3,"innerHtml","click",4,"ngIf"],["class","g-nav-next","aria-label","Next","role","button",3,"innerHtml","click",4,"ngIf"],["aria-label","Previous","role","button",1,"g-nav-prev",3,"click","innerHtml"],["aria-label","Next","role","button",1,"g-nav-next",3,"click","innerHtml"]],template:function(i,r){i&1&&T(0,wW,1,1,"i",0)(1,DW,1,1,"i",1),i&2&&(g("ngIf",r.config.loop||r.state.hasPrev),f(),g("ngIf",r.config.loop||r.state.hasNext))},dependencies:[ot,De],styles:[".g-nav-next[_ngcontent-%COMP%], .g-nav-prev[_ngcontent-%COMP%]{position:absolute;top:50%;display:flex;padding:16px 8px;cursor:pointer;z-index:999;opacity:.6;transition:opacity linear .15s,right linear .15s,left linear .15s}.g-nav-next[_ngcontent-%COMP%]:hover, .g-nav-prev[_ngcontent-%COMP%]:hover{opacity:1}.g-nav-next[_ngcontent-%COMP%] svg, .g-nav-prev[_ngcontent-%COMP%] svg{filter:var(--g-nav-drop-shadow);width:28px;height:28px;fill:#fff}.g-nav-next[_ngcontent-%COMP%]{left:var(--nav-next-left);right:var(--nav-next-right);transform:var(--nav-next-transform)}.g-nav-next[_ngcontent-%COMP%]:hover{left:var(--nav-next-hover-left);right:var(--nav-next-hover-right)}.g-nav-prev[_ngcontent-%COMP%]{left:var(--nav-prev-left);right:var(--nav-prev-right);transform:var(--nav-prev-transform)}.g-nav-prev[_ngcontent-%COMP%]:hover{left:var(--nav-prev-hover-left);right:var(--nav-prev-hover-right)}"],changeDetection:0})}}return t})(),m5=2,g5=4,_5=8,y5=16,Sm=class{get scrollValue(){return this.slider.scrollLeft}get clientSize(){return this.slider.clientWidth}get isContentLessThanContainer(){return this.clientSize>=this.slider.firstElementChild.clientWidth}constructor(n,e){this.slider=n,this.config=e,this.hammerDirection=m5|g5,this.scrollSnapType="x mandatory"}getScrollToValue(n,e){let i=n.offsetLeft-(this.clientSize-n.clientWidth)/2;return{behavior:e,start:i}}getRootMargin(){return"1000px 1px 1000px 1px"}getElementRootMargin(n,e){let i=-1*((n.clientWidth-e.clientWidth)/2)+1;return`0px ${i}px 0px ${i}px`}getCentralizerStartSize(){return this.isContentLessThanContainer?(this.clientSize-this.slider.firstElementChild.clientWidth)/2:this.clientSize/2-this.slider.firstElementChild.firstElementChild?.clientWidth/2}getCentralizerEndSize(){return this.isContentLessThanContainer?(this.clientSize-this.slider.firstElementChild.clientWidth)/2:this.clientSize/2-this.slider.firstElementChild.lastElementChild?.clientWidth/2}getHammerVelocity(n){return n.velocityX}getHammerValue(n,e,i){return{behavior:i,left:n-e.deltaX}}},Em=class{get scrollValue(){return this.slider.scrollTop}get clientSize(){return this.slider.clientHeight}get isContentLessThanContainer(){return this.clientSize>=this.slider.firstElementChild.clientHeight}constructor(n,e){this.slider=n,this.config=e,this.hammerDirection=_5|y5,this.scrollSnapType="y mandatory"}getScrollToValue(n,e){let i=n.offsetTop-(this.clientSize-n.clientHeight)/2;return{behavior:e,top:i}}getRootMargin(){return"1px 1000px 1px 1000px"}getElementRootMargin(n,e){let i=-1*((n.clientHeight-e.clientHeight)/2)+1;return`${i}px 0px ${i}px 0px`}getCentralizerStartSize(){return this.isContentLessThanContainer?(this.clientSize-this.slider.firstElementChild.clientHeight)/2:this.clientSize/2-this.slider.firstElementChild.firstElementChild?.clientHeight/2}getCentralizerEndSize(){return this.isContentLessThanContainer?(this.clientSize-this.slider.firstElementChild.clientHeight)/2:this.clientSize/2-this.slider.firstElementChild.lastElementChild?.clientHeight/2}getHammerVelocity(n){return n.velocityY}getHammerValue(n,e,i){return{behavior:i,top:n-e.deltaY}}};var v5=4,b5=.001,C5=1e-7,w5=10,od=11,Dm=1/(od-1),D5=typeof Float32Array=="function";function yk(t,n){return 1-3*n+3*t}function vk(t,n){return 3*n-6*t}function bk(t){return 3*t}function Tm(t,n,e){return((yk(n,e)*t+vk(n,e))*t+bk(n))*t}function Ck(t,n,e){return 3*yk(n,e)*t*t+2*vk(n,e)*t+bk(n)}function M5(t,n,e,i,r){let o,s,a=0;do s=n+(e-n)/2,o=Tm(s,i,r)-t,o>0?e=s:n=s;while(Math.abs(o)>C5&&++a=b5?S5(s,m,t,e):b===0?m:M5(s,a,a+Dm,t,e)}return function(a){return a===0?0:a===1?1:Tm(o(a),n,i)}}var wk=(()=>{class t{get _w(){return this._document.defaultView}get _now(){return this._w.performance?.now?.bind(this._w.performance)||Date.now}set smoothScroll(e){e&&this._zone.runOutsideAngular(()=>{this.scrollTo(e)})}constructor(e,i,r,o){this._document=e,this._zone=i,this._dir=r,this._scrollController=new X,this._finished=new X,this.isScrollingChange=new P,this._el=o.nativeElement}ngOnInit(){this._subscription=this._scrollController.pipe(vt(e=>(this._zone.run(()=>{this.isScrollingChange.emit(!0)}),this._el.classList.add("g-scrolling"),this._el.style.setProperty("--slider-scroll-snap-type","none"),Q(null).pipe(Ta(()=>this._step(e).pipe(o_(i=>this._isFinished(i)),hi(this._finished))),di(()=>this.resetElement()),hi(this._interrupted()))))).subscribe()}ngOnDestroy(){this._subscription?.unsubscribe(),this._scrollController.complete()}_scrollElement(e,i){this._el.scrollLeft=e,this._el.scrollTop=i}resetElement(){this._zone.run(()=>{this.isScrollingChange.emit(!1)}),this._el.classList.remove("g-scrolling"),this._isInterruptedByMouse||this._el.style.setProperty("--slider-scroll-snap-type",this.adapter.scrollSnapType),this._isInterruptedByMouse=!1}_isFinished(e){return e.currentX!==e.x||e.currentY!==e.y?!0:(this._finished.next(),!1)}_interrupted(){let e;return this.interruptOnMousemove&&typeof Hammer<"u"?(this._hammer=new Hammer(this._el,{inputClass:Hammer.MouseInput}),this._hammer.get("pan").set({direction:this.adapter.hammerDirection}),e=Ea(new ne(i=>(this._hammer.on("panstart",()=>{this._isInterruptedByMouse=!0,i.next(),i.complete()}),()=>{this._hammer.destroy()})),ui(this._el,"wheel",{passive:!0,capture:!0}),ui(this._el,"touchmove",{passive:!0,capture:!0}))):e=Ea(ui(this._el,"wheel",{passive:!0,capture:!0}),ui(this._el,"touchmove",{passive:!0,capture:!0})),e.pipe(yt(1))}_step(e){return new ne(i=>{let r=(this._now()-e.startTime)/e.duration;r=r>1?1:r;let o=e.easing(r);e.currentX=e.startX+(e.x-e.startX)*o,e.currentY=e.startY+(e.y-e.startY)*o,this._scrollElement(e.currentX,e.currentY),requestAnimationFrame(()=>{i.next(e),i.complete()})})}_applyScrollToOptions(e){e.duration||this._scrollElement(e.left,e.top);let i={scrollable:this._el,startTime:this._now(),startX:this._el.scrollLeft,startY:this._el.scrollTop,x:e.left==null?this._el.scrollLeft:~~e.left,y:e.top==null?this._el.scrollTop:~~e.top,duration:e.duration,easing:T5(e.easing.x1,e.easing.y1,e.easing.x2,e.easing.y2)};this._scrollController.next(i)}scrollTo(e){let i=this._dir.value==="rtl",r=IC(),o=W(E({},e),{left:e.left==null?i?e.end:e.start:e.left,right:e.right==null?i?e.start:e.end:e.right,duration:e.behavior==="smooth"?this.config.scrollDuration:0,easing:this.config.scrollEase});return o.bottom!=null&&(o.top=this._el.scrollHeight-this._el.clientHeight-o.bottom),i&&r!==Rr.NORMAL?(o.left!=null&&(o.right=this._el.scrollWidth-this._el.clientWidth-o.left),r===Rr.INVERTED?o.left=o.right:r===Rr.NEGATED&&(o.left=o.right?-o.right:o.right)):o.right!=null&&(o.left=this._el.scrollWidth-this._el.clientWidth-o.right),this._applyScrollToOptions(o)}static{this.\u0275fac=function(i){return new(i||t)(y(Ie),y(Me),y(bm),y($))}}static{this.\u0275dir=H({type:t,selectors:[["","smoothScroll",""]],inputs:{smoothScroll:"smoothScroll",adapter:"adapter",config:"config",interruptOnMousemove:[0,"smoothScrollInterruptOnMousemove","interruptOnMousemove"]},outputs:{isScrollingChange:"isScrollingChange"},features:[ce([bm])]})}}return t})(),Dk=(()=>{class t{get _viewport(){return this._el.nativeElement}constructor(e,i,r,o,s){this._document=e,this._el=i,this._dir=r,this._platform=o,this._zone=s,this.activeIndexChange=new P,this.isSlidingChange=new P}ngOnChanges(e){e.enabled&&e.enabled?.currentValue!==e.enabled?.previousValue&&(this.enabled?this._subscribe():this._unsubscribe()),!e.adapter?.firstChange&&e.adapter?.currentValue!==e.adapter?.previousValue&&(this.enabled?this._subscribe():this._unsubscribe())}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe(),!this._platform.ANDROID&&!this._platform.IOS&&typeof Hammer<"u"&&this._zone.runOutsideAngular(()=>{let e=this.adapter.hammerDirection;this._hammer=new Hammer(this._el.nativeElement,{inputClass:Hammer.MouseInput}),this._hammer.get("pan").set({direction:e});let i;this._hammer.on("panstart",()=>{this._zone.run(()=>{this.isSlidingChange.emit(!0)}),i=this.adapter.scrollValue,this._viewport.classList.add("g-sliding"),this._viewport.style.setProperty("--slider-scroll-snap-type","none")}),this._hammer.on("panmove",r=>this._viewport.scrollTo(this.adapter.getHammerValue(i,r,"auto"))),this._hammer.on("panend",r=>{this._document.onselectstart=null,this._viewport.classList.remove("g-sliding");let o=this.getIndexOnMouseUp(r);this._zone.run(()=>{this.isSlidingChange.emit(!1),this.activeIndexChange.emit(o)})})})}_unsubscribe(){this._hammer?.destroy()}getIndexOnMouseUp(e){let i=this.items[this.state.currIndex].nativeElement,r=this.getElementFromViewportCenter();if(r&&r!==i)return+r.getAttribute("galleryIndex");let o=this.adapter.getHammerVelocity(e);return Math.abs(o)>.3?this.config.orientation===sd.Horizontal?o>0?this._dir.value==="rtl"?this.state.currIndex+1:this.state.currIndex-1:this._dir.value==="rtl"?this.state.currIndex-1:this.state.currIndex+1:o>0?this.state.currIndex-1:this.state.currIndex+1:-1}getElementFromViewportCenter(){let e=this._viewport.getBoundingClientRect();return this._document.elementsFromPoint(e.x+e.width/2,e.y+e.height/2).find(r=>r.getAttribute("galleryId")===this.galleryId)}static{this.\u0275fac=function(i){return new(i||t)(y(Ie),y($),y(Kl),y(TC),y(Me))}}static{this.\u0275dir=H({type:t,selectors:[["","hammerSliding",""]],inputs:{enabled:[0,"hammerSliding","enabled"],galleryId:"galleryId",items:"items",adapter:"adapter",state:"state",config:"config"},outputs:{activeIndexChange:"activeIndexChange",isSlidingChange:"isSlidingChange"},features:[xe]})}}return t})(),Im=class{observe(n,e,i){return I5(n,e,i).pipe(G(r=>r.isIntersecting?(r.target.classList.add("g-item-highlight"),+r.target.getAttribute("galleryIndex")):(r.target.classList.remove("g-item-highlight"),-1)),le(r=>r!==-1))}};function I5(t,n,e){return new ne(i=>{let r=new IntersectionObserver(o=>i.next(o),{root:t,rootMargin:e,threshold:1});return n.forEach(o=>r.observe(o)),()=>{n.forEach(o=>r.unobserve(o)),r.disconnect()}}).pipe(ze(i=>i))}var x5=(()=>{class t{get _viewport(){return this._el.nativeElement}constructor(e,i){this._zone=e,this._el=i,this._sensor=new Im,this.activeIndexChange=new P}ngOnChanges(){this.config.itemAutosize||this.disabled?this._unsubscribe():this._subscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){if(this._unsubscribe(),this.adapter&&this.items?.length){let e=this.adapter.getRootMargin();this.config.debug&&this._viewport.style.setProperty("--intersection-margin",`"INTERSECTION(${e})"`),this._zone.runOutsideAngular(()=>{this._currentSubscription=this._sensor.observe(this._viewport,this.items.map(i=>i.nativeElement),e).subscribe(i=>{this._zone.run(()=>this.activeIndexChange.emit(i))})})}}_unsubscribe(){this._currentSubscription?.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(y(Me),y($))}}static{this.\u0275dir=H({type:t,selectors:[["","sliderIntersectionObserver",""]],inputs:{adapter:"adapter",items:"items",config:"config",disabled:[0,"sliderIntersectionObserverDisabled","disabled"]},outputs:{activeIndexChange:"activeIndexChange"},features:[xe]})}}return t})();function xm(t,n){return new ne(e=>{let i=new ResizeObserver(r=>e.next(r));return i.observe(t),n&&n(i),()=>i.disconnect()}).pipe(ze(e=>e))}var k5=(()=>{class t{set src(e){this.videoSrc=e,this.iframeSrc=this._sanitizer.bypassSecurityTrustResourceUrl(e)}set pauseVideo(e){if(this.iframe?.nativeElement&&e){let i=this.iframe.nativeElement;i.src=null,!this.autoplay&&this.videoSrc&&(this.iframeSrc=this._sanitizer.bypassSecurityTrustResourceUrl(this.videoSrc))}}constructor(e){this._sanitizer=e}static{this.\u0275fac=function(i){return new(i||t)(y(Kr))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-iframe"]],viewQuery:function(i,r){if(i&1&&Ot(MW,5),i&2){let o;Ge(o=qe())&&(r.iframe=o.first)}},inputs:{src:"src",pauseVideo:[0,"pause","pauseVideo"],autoplay:"autoplay",loadingAttr:"loadingAttr"},decls:3,vars:2,consts:[["default",""],["iframe",""],["allowfullscreen","","allow","","style","border:none",3,"src",4,"ngIf","ngIfElse"],["allowfullscreen","","allow","",2,"border","none",3,"src"],["allowfullscreen","",2,"border","none",3,"src"]],template:function(i,r){if(i&1&&T(0,SW,2,2,"iframe",2)(1,EW,2,2,"ng-template",null,0,Kn),i&2){let o=$t(2);g("ngIf",r.autoplay)("ngIfElse",o)}},dependencies:[De],encapsulation:2,changeDetection:0})}}return t})(),A5=(()=>{class t{constructor(){this.error=new P}set pauseVideo(e){if(this.video.nativeElement){let i=this.video.nativeElement;e&&!i.paused&&i.pause()}}set playVideo(e){if(this.video.nativeElement){let i=this.video.nativeElement;e&&i.play()}}ngOnInit(){this.src instanceof Array?this.videoSources=[...this.src]:this.videoSources=[{url:this.src}]}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-video"]],viewQuery:function(i,r){if(i&1&&Ot(TW,7),i&2){let o;Ge(o=qe())&&(r.video=o.first)}},inputs:{src:"src",poster:"poster",mute:"mute",loop:"loop",controls:"controls",controlsList:"controlsList",disableRemotePlayback:"disableRemotePlayback",disablePictureInPicture:"disablePictureInPicture",pauseVideo:[0,"pause","pauseVideo"],playVideo:[0,"play","playVideo"]},outputs:{error:"error"},decls:3,vars:8,consts:[["video",""],["noType",""],[3,"error","disableRemotePlayback","controls","loop","poster"],[4,"ngFor","ngForOf"],[3,"src","type",4,"ngIf","ngIfElse"],[3,"src","type"],[3,"src"]],template:function(i,r){if(i&1){let o=N();d(0,"video",2,0),D("error",function(a){return C(o),w(r.error.emit(a))}),T(2,kW,4,2,"ng-container",3),h()}i&2&&(g("disableRemotePlayback",r.disableRemotePlayback)("controls",r.controls)("loop",r.loop)("poster",r.poster,ft),J("mute",r.mute)("controlsList",r.controlsList)("disablePictureInPicture",r.disablePictureInPicture),f(2),g("ngForOf",r.videoSources))},dependencies:[rt,De],encapsulation:2,changeDetection:0})}}return t})(),R5=` - - - - - - - - -`,Am=(()=>{class t{constructor(){this.trigger$=new Pe(null),this.images=new Map}getActiveItem(e){return this.trigger$.pipe(vt(()=>e.pipe(vt(i=>{let r=this.images.get(i.currIndex);return r?r.state.pipe(le(o=>o!=="loading"),G(()=>r.target)):Mt}))))}addItem(e,i){this.images.set(e,i),this.trigger$.next()}deleteItem(e){this.images.has(e)&&(this.images.delete(e),this.trigger$.next())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac})}}return t})(),O5=(()=>{class t{onLoad(){this.item.state$.next("success")}onError(){this.item.state$.next("failed")}constructor(e,i,r){if(this.el=e,this.manager=i,this.item=r,r)r.isItemContainImage=!0;else throw new Error("[NgGallery]: galleryImage directive should be only used inside gallery item templates!")}ngOnInit(){this.manager.addItem(this.index,{state:this.item.state$.asObservable(),target:this.el.nativeElement})}ngOnDestroy(){this.manager.deleteItem(this.index)}static{this.\u0275fac=function(i){return new(i||t)(y($),y(Am),y(km))}}static{this.\u0275dir=H({type:t,selectors:[["img","galleryImage",""]],hostBindings:function(i,r){i&1&&D("load",function(s){return r.onLoad(s)})("error",function(s){return r.onError(s)})},inputs:{index:[0,"galleryImage","index"]}})}}return t})(),Mk=(()=>{class t{get imageState(){return this.state}constructor(e){this._sanitizer=e,this.state="loading",this.errorIcon=R5,this.error=new P}ngOnInit(){this.loadingIcon&&(this.loaderTemplate=this._sanitizer.bypassSecurityTrustHtml(this.loadingIcon)),this.loadingError&&(this.errorTemplate=this._sanitizer.bypassSecurityTrustHtml(this.loadingError)),this.errorIcon&&(this.errorSvg=this._sanitizer.bypassSecurityTrustHtml(this.errorIcon))}static{this.\u0275fac=function(i){return new(i||t)(y(Kr))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-image"]],hostVars:1,hostBindings:function(i,r){i&2&&J("imageState",r.imageState)},inputs:{isThumbnail:"isThumbnail",index:"index",loadingAttr:"loadingAttr",alt:"alt",src:"src",loadingIcon:"loadingIcon",loadingError:"loadingError",errorIcon:"errorIcon"},outputs:{error:"error"},decls:6,vars:5,consts:[["main",""],["defaultError",""],["isLarge",""],["defaultLoader",""],[3,"ngSwitch"],[4,"ngIf","ngIfElse"],["class","g-image-error-message",4,"ngSwitchCase"],[4,"ngSwitchCase"],[1,"g-image-item",3,"load","error","src"],[1,"g-image-item",3,"load","error","galleryImage","src"],[1,"g-image-error-message"],[3,"innerHTML",4,"ngIf","ngIfElse"],[3,"innerHTML"],[1,"gallery-thumb-error",3,"innerHTML"],[1,"gallery-image-error",3,"innerHTML"],["class","g-loading",3,"innerHTML",4,"ngIf","ngIfElse"],[1,"g-loading",3,"innerHTML"],["class","g-thumb-loading",4,"ngIf"],[1,"g-thumb-loading"]],template:function(i,r){if(i&1&&(At(0,4),T(1,AW,2,6,"ng-container",5)(2,RW,1,7,"ng-template",null,0,Kn)(4,FW,4,2,"div",6)(5,BW,4,2,"ng-container",7),Rt()),i&2){let o=$t(3);g("ngSwitch",r.state),f(),g("ngIf",r.isThumbnail)("ngIfElse",o),f(3),g("ngSwitchCase","failed"),f(),g("ngSwitchCase","loading")}},dependencies:[bi,pr,De,O5],styles:['[_nghost-%COMP%]{display:flex;width:100%;height:100%;max-height:100%;max-width:100%;transition:opacity .3s cubic-bezier(.5,0,.5,1);opacity:var(--g-thumb-opacity)}[imageState=success][_nghost-%COMP%]{align-self:center}[_nghost-%COMP%] svg{width:100%;height:100%}.gallery-image-error[_ngcontent-%COMP%]{width:100px;height:100px}.gallery-thumb-error[_ngcontent-%COMP%]{width:40px;height:40px}img.g-image-item[_ngcontent-%COMP%]{object-fit:var(--image-object-fit);width:100%;height:100%;pointer-events:none;max-height:100%;max-width:100%}.g-image-error-message[_ngcontent-%COMP%]{position:absolute;z-index:10;inset:0;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}h2[_ngcontent-%COMP%], h4[_ngcontent-%COMP%]{color:coral;margin:0}h2[_ngcontent-%COMP%]{font-size:3.5em;margin-bottom:.3em}h4[_ngcontent-%COMP%]{font-size:1.6em}.g-loading[_ngcontent-%COMP%]{position:absolute;transform:translate3d(-50%,-50%,0);left:50%;top:50%;width:80px;height:80px}.g-active-thumb[_ngcontent-%COMP%] .g-thumb-loading[_ngcontent-%COMP%]{background-color:#464646}.g-thumb-loading[_ngcontent-%COMP%]{position:relative;overflow:hidden;width:100%;height:100%;background-color:#262626}.g-thumb-loading[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:0 0 0 50%;z-index:1;width:500%;margin-left:-250%;animation:_ngcontent-%COMP%_phAnimation .8s linear infinite;background:linear-gradient(to right,#fff0 46%,#ffffff59,#fff0 54%) 50% 50%}@keyframes _ngcontent-%COMP%_phAnimation{0%{transform:translate3d(-30%,0,0)}to{transform:translate3d(30%,0,0)}}'],data:{animation:[no("fadeIn",[ni("* => success",[bt({opacity:0}),Dn("300ms ease-in",bt({opacity:1}))])])]},changeDetection:0})}}return t})(),km=(()=>{class t{get isActive(){return this.index===this.currIndex}get isIndexAttr(){return this.index}get itemState(){return this.state$.value}get imageContext(){return{$implicit:this.imageData,index:this.index,type:this.type,active:this.isActive,count:this.count,first:this.index===0,last:this.index===this.count-1}}get itemContext(){return{$implicit:this.data,index:this.index,type:this.type,active:this.isActive,count:this.count,first:this.index===0,last:this.index===this.count-1}}get nativeElement(){return this.el.nativeElement}get isAutoPlay(){if(this.isActive&&(this.type===Ri.Video||this.type===Ri.Youtube||this.type===Ri.Vimeo))return this.videoData.autoplay}get youtubeSrc(){let e=0;this.isActive&&this.type===Ri.Youtube&&this.data.autoplay&&(e=1);let i=new URL(this.data.src);return i.search=new URLSearchParams(W(E({wmode:"transparent"},this.data.params),{autoplay:e})).toString(),i.href}get vimeoSrc(){let e=0;this.isActive&&this.type===Ri.Vimeo&&this.data.autoplay&&(e=1);let i=new URL(this.data.src);return i.search=new URLSearchParams(W(E({},this.data.params),{autoplay:e})).toString(),i.href}get load(){switch(this.config.loadingStrategy){case Mm.Preload:return!0;case Mm.Lazy:return this.currIndex===this.index;default:return this.currIndex===this.index||this.currIndex===this.index-1||this.currIndex===this.index+1}}get imageData(){return this.data}get videoData(){return this.data}constructor(e){this.el=e,this.Types=Ri,this.state$=new Pe("loading"),this.error=new P}ngAfterViewInit(){this.isItemContainImage||this.state$.next("success")}static{this.\u0275fac=function(i){return new(i||t)(y($))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-item"]],hostVars:4,hostBindings:function(i,r){i&2&&(J("galleryIndex",r.isIndexAttr)("itemState",r.itemState),j("g-active-item",r.isActive))},inputs:{config:"config",index:"index",count:"count",currIndex:"currIndex",type:"type",data:"data"},outputs:{error:"error"},decls:1,vars:1,consts:[[3,"ngSwitch",4,"ngIf"],[3,"ngSwitch"],[4,"ngSwitchCase"],[3,"src","mute","poster","controls","controlsList","disablePictureInPicture","play","pause","error",4,"ngSwitchCase"],[3,"src","autoplay","loadingAttr","pause",4,"ngSwitchCase"],[3,"src","loadingAttr",4,"ngSwitchCase"],[4,"ngSwitchDefault"],[3,"error","src","alt","index","loadingAttr","loadingIcon","loadingError"],["class","g-template g-item-template",4,"ngIf"],[1,"g-template","g-item-template"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"error","src","mute","poster","controls","controlsList","disablePictureInPicture","play","pause"],[3,"src","autoplay","loadingAttr","pause"],[3,"src","loadingAttr"]],template:function(i,r){i&1&&T(0,JW,7,6,"ng-container",0),i&2&&g("ngIf",r.load)},dependencies:[ot,De,Ts,bi,pr,Qv,Mk,A5,k5],styles:["[_nghost-%COMP%]{cursor:var(--g-item-cursor);height:var(--g-item-height);width:var(--g-item-width);max-height:var(--g-item-max-height);max-width:var(--slider-width);z-index:10;position:relative;overflow:hidden;display:flex;flex-direction:column;flex:0 0 auto;scroll-snap-align:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}[itemState=loading][_nghost-%COMP%]{width:var(--slider-width);height:var(--slider-height)}[_nghost-%COMP%] > *[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] video, [_nghost-%COMP%] iframe{width:100%;height:100%}gallery-image[_ngcontent-%COMP%]{width:var(--g-item-width);height:var(--g-item-height)}.g-template[_ngcontent-%COMP%]{position:absolute;z-index:10;inset:0;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}"],changeDetection:0})}}return t})(),P5=(()=>{class t{get _viewport(){return this._item.nativeElement.parentElement.parentElement}constructor(e,i){this._zone=e,this._item=i,this._sensor=new Im,this.activeIndexChange=new P}ngOnChanges(){this.config.itemAutosize&&!this.disabled?this._subscribe():this._unsubscribe()}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe(),this.adapter&&this._zone.runOutsideAngular(()=>{this._currentSubscription=go([xm(this._viewport),xm(this._item.nativeElement)]).pipe(vt(()=>this._item.state$),le(e=>e!=="loading"),vt(()=>{let e=this.adapter.getElementRootMargin(this._viewport,this._item.nativeElement);return this.config.debug&&this._item.nativeElement.style.setProperty("--item-intersection-margin",`"VIEWPORT(${this._viewport.clientWidth}x${this._viewport.clientHeight}) ITEM(${this._item.nativeElement.clientWidth}x${this._item.nativeElement.clientHeight}) INTERSECTION(${e})"`),this._sensor.observe(this._viewport,[this._item.nativeElement],e)})).subscribe(e=>{this._zone.run(()=>this.activeIndexChange.emit(e))})})}_unsubscribe(){this._currentSubscription?.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(y(Me),y(km))}}static{this.\u0275dir=H({type:t,selectors:[["","itemIntersectionObserver",""]],inputs:{adapter:"adapter",config:"config",disabled:[0,"itemIntersectionObserverDisabled","disabled"]},outputs:{activeIndexChange:"activeIndexChange"},features:[xe]})}}return t})(),N5=(()=>{class t{get _viewport(){return this._el.nativeElement}get _galleryCore(){return this._el.nativeElement.parentElement.parentElement.parentElement}get _isAutoHeight(){return this.config.autoHeight&&!this.config.itemAutosize&&this.config.orientation==="horizontal"&&(this.config.thumbPosition==="top"||this.config.thumbPosition==="bottom")}constructor(e,i,r,o){this._el=e,this._zone=i,this._gallery=r,this._imgManager=o,this.isResizingChange=new P}ngOnInit(){let e=this._gallery.ref(this.galleryId),i=getComputedStyle(this._viewport).getPropertyValue("transition-duration");parseFloat(i)===0?this._afterHeightChanged$=Q(null):this._afterHeightChanged$=ui(this._viewport,"transitionend"),this._zone.runOutsideAngular(()=>{this._resizeSubscription=xm(this._viewport,r=>this._resizeObserver=r).pipe(le(()=>!this._shouldSkip||!(this._shouldSkip=!1)),ct(()=>this.setResizingState()),th(this.config.resizeDebounceTime,wa),ct(r=>me(this,null,function*(){if(this.updateSliderSize(),this._isAutoHeight){let o=yield Qd(this._imgManager.getActiveItem(e.state));o.height===this._viewport.clientHeight?this.resetResizingState():(this.setResizingState({unobserve:!0}),this._galleryCore.style.setProperty("--slider-height",`${o.height}px`),yield Qd(this._afterHeightChanged$),this.resetResizingState({shouldSkip:r.contentRect.height===this._viewport.clientHeight,observe:!0}))}else requestAnimationFrame(()=>this.resetResizingState({shouldSkip:!0}))}))).subscribe()})}ngOnChanges(){this._isAutoHeight?this._subscribeAutoHeight():this._unsubscribeAutoHeight()}ngOnDestroy(){this._resizeSubscription?.unsubscribe(),this._unsubscribeAutoHeight()}ngAfterViewChecked(){this.updateSliderSize()}updateSliderSize(){this._galleryCore.style.setProperty("--slider-width",`${this._viewport.clientWidth}px`),this.config.autoHeight||this._galleryCore.style.setProperty("--slider-height",`${this._viewport.clientHeight}px`),this.updateCentralizeCSSVariables()}updateCentralizeCSSVariables(){this.config.itemAutosize&&(this._galleryCore.style.setProperty("--slider-centralize-start-size",`${this.adapter.getCentralizerStartSize()}px`),this._galleryCore.style.setProperty("--slider-centralize-end-size",`${this.adapter.getCentralizerEndSize()}px`))}_subscribeAutoHeight(){this._unsubscribeAutoHeight(),this._shouldSkip=!1,this._zone.runOutsideAngular(()=>{let i=this._gallery.ref(this.galleryId).state.pipe(Vr((r,o)=>r.currIndex===o.currIndex));this._autoHeightSubscription=this._imgManager.getActiveItem(i).pipe(vt(r=>(this.setResizingState({unobserve:!0}),this._galleryCore.style.setProperty("--slider-height",`${r.clientHeight}px`),r.height===this._viewport.clientHeight?(this.resetResizingState({shouldSkip:!0,observe:!0}),Mt):this._afterHeightChanged$.pipe(ct(()=>this.resetResizingState({shouldSkip:!0,observe:!0})),yt(1))))).subscribe()})}_unsubscribeAutoHeight(){this._autoHeightSubscription?.unsubscribe()}setResizingState({unobserve:e}={}){this._zone.run(()=>{this.isResizingChange.emit(!0)}),this._viewport.classList.add("g-resizing"),e&&this._resizeObserver.unobserve(this._viewport)}resetResizingState({shouldSkip:e,observe:i}={}){this._zone.run(()=>{this.isResizingChange.emit(!1)}),this._viewport.classList.remove("g-resizing"),this._shouldSkip=e,i&&this._resizeObserver.observe(this._viewport)}static{this.\u0275fac=function(i){return new(i||t)(y($),y(Me),y(Xl),y(Am))}}static{this.\u0275dir=H({type:t,selectors:[["","sliderResizeObserver",""]],inputs:{galleryId:"galleryId",adapter:"adapter",config:"config"},outputs:{isResizingChange:"isResizingChange"},features:[xe]})}}return t})(),L5=(()=>{class t{get slider(){return this.sliderEl.nativeElement}constructor(e){this._gallery=e,this.position$=new X,this.itemClick=new P,this.error=new P,this.items=new Ha}ngOnChanges(e){if(e.config){if(e.config.currentValue?.orientation!==e.config.previousValue?.orientation)switch(this.config.orientation){case sd.Horizontal:this.adapter=new Sm(this.slider,this.config);break;case sd.Vertical:this.adapter=new Em(this.slider,this.config);break}e.config.firstChange||requestAnimationFrame(()=>{this.scrollToIndex(this.state.currIndex,"auto")})}e.state&&e.state.currentValue?.currIndex!==e.state.previousValue?.currIndex&&requestAnimationFrame(()=>{this.scrollToIndex(this.state.currIndex,e.state.firstChange?"auto":this.state.behavior)})}ngAfterViewInit(){this.items.notifyOnChanges(),this.items$=this.items.changes.pipe(ds(null),G(()=>this.items.toArray()))}trackByFn(e,i){return i.type}onActiveIndexChange(e){e===-1?this.scrollToIndex(this.state.currIndex,"smooth"):this._gallery.ref(this.galleryId).set(e,"smooth")}scrollToIndex(e,i){let r=this.items.get(e)?.nativeElement;if(r){let o=this.adapter.getScrollToValue(r,i||this.config.scrollBehavior);this.position$.next(o)}}static{this.\u0275fac=function(i){return new(i||t)(y(Xl))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-slider"]],viewQuery:function(i,r){if(i&1&&(Ot(pk,7),Ot(km,5)),i&2){let o;Ge(o=qe())&&(r.sliderEl=o.first),Ge(o=qe())&&(r.items=o)}},inputs:{galleryId:"galleryId",state:"state",config:"config"},outputs:{itemClick:"itemClick",error:"error"},features:[xe],ngContentSelectors:XW,decls:8,vars:17,consts:[["slider",""],["sliderIntersectionObserver","","sliderResizeObserver","",1,"g-slider",3,"isScrollingChange","isSlidingChange","activeIndexChange","isResizingChange","smoothScroll","smoothScrollInterruptOnMousemove","sliderIntersectionObserverDisabled","hammerSliding","adapter","items","config","state","galleryId"],[1,"g-slider-content"],["itemIntersectionObserver","",3,"type","config","data","currIndex","index","count","itemIntersectionObserverDisabled","adapter","activeIndexChange","click","error",4,"ngFor","ngForOf","ngForTrackBy"],["class","g-slider-debug",4,"ngIf"],["itemIntersectionObserver","",3,"activeIndexChange","click","error","type","config","data","currIndex","index","count","itemIntersectionObserverDisabled","adapter"],[1,"g-slider-debug"],[1,"g-slider-resizing"],[1,"g-slider-scrolling"],[1,"g-slider-sliding"]],template:function(i,r){if(i&1){let o=N();Pn(),d(0,"div",1,0),te(2,"async"),te(3,"async"),D("isScrollingChange",function(a){return C(o),w(r.isScrolling=a)})("isSlidingChange",function(a){return C(o),w(r.isSliding=a)})("activeIndexChange",function(a){return C(o),w(r.onActiveIndexChange(a))})("isResizingChange",function(a){return C(o),w(r.isResizing=a)}),d(4,"div",2),T(5,e5,1,9,"gallery-item",3),h(),T(6,t5,7,0,"div",4),h(),Cn(7)}i&2&&(g("smoothScroll",pe(2,13,r.position$))("smoothScrollInterruptOnMousemove",!r.config.disableMouseScroll)("sliderIntersectionObserverDisabled",r.isScrolling||r.isSliding||r.isResizing)("hammerSliding",!r.config.disableMouseScroll)("adapter",r.adapter)("items",pe(3,15,r.items$))("config",r.config)("state",r.state)("galleryId",r.galleryId),J("centralised",r.config.itemAutosize),f(5),g("ngForOf",r.state.items)("ngForTrackBy",r.trackByFn),f(),g("ngIf",r.config.debug))},dependencies:[ot,rt,De,mr,km,wk,Dk,x5,P5,N5],styles:['[_nghost-%COMP%]{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;order:1;flex:1}.g-slider[_ngcontent-%COMP%]{display:flex;align-items:center;transition:var(--g-height-transition);min-height:100%;min-width:100%;max-height:100%;max-width:100%;height:var(--slider-height, 100%);width:var(--slider-width, 100%);overflow:var(--slider-overflow);scroll-snap-type:var(--slider-scroll-snap-type);flex-direction:var(--slider-flex-direction);scrollbar-width:none}.g-slider[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.g-slider.g-sliding[_ngcontent-%COMP%] .g-slider-content[_ngcontent-%COMP%], .g-slider.g-scrolling[_ngcontent-%COMP%] .g-slider-content[_ngcontent-%COMP%]{pointer-events:none}.g-slider[centralised=true][_ngcontent-%COMP%]:before, .g-slider[centralised=true][_ngcontent-%COMP%]:after{content:""}.g-slider[centralised=true][_ngcontent-%COMP%]:before{flex:0 0 var(--slider-centralize-start-size)}.g-slider[centralised=true][_ngcontent-%COMP%]:after{flex:0 0 var(--slider-centralize-end-size)}.g-slider-content[_ngcontent-%COMP%]{flex:0 0 auto;display:flex;align-items:center;gap:1px;width:var(--slider-content-width, unset);height:var(--slider-content-height, unset);flex-direction:var(--slider-flex-direction)}'],changeDetection:0})}}return t})(),fk=(()=>{class t{get isActive(){return this.index===this.currIndex}get isIndexAttr(){return this.index}get imageContext(){return{$implicit:this.data,index:this.index,type:this.type,active:this.isActive,count:this.count,first:this.index===0,last:this.index===this.count-1}}get nativeElement(){return this.el.nativeElement}constructor(e){this.el=e,this.error=new P}static{this.\u0275fac=function(i){return new(i||t)(y($))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-thumb"]],hostVars:3,hostBindings:function(i,r){i&2&&(J("galleryIndex",r.isIndexAttr),j("g-active-thumb",r.isActive))},inputs:{config:"config",index:"index",count:"count",currIndex:"currIndex",type:"type",data:"data"},outputs:{error:"error"},decls:2,vars:6,consts:[[3,"error","src","alt","isThumbnail","loadingIcon","loadingError"],["class","g-template g-thumb-template",4,"ngIf"],[1,"g-template","g-thumb-template"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(i,r){i&1&&(d(0,"gallery-image",0),D("error",function(s){return r.error.emit(s)}),h(),T(1,i5,2,2,"div",1)),i&2&&(g("src",r.data.thumb)("alt",r.data.alt+"-thumbnail")("isThumbnail",!0)("loadingIcon",r.config.thumbLoadingIcon)("loadingError",r.config.thumbLoadingError),f(),g("ngIf",r.config.thumbTemplate))},dependencies:[ot,De,Ts,Mk],styles:["[_nghost-%COMP%]{cursor:var(--g-thumb-cursor);height:var(--g-thumb-height);width:var(--g-thumb-width);max-height:var(--g-thumb-height);max-width:var(--g-thumb-width);align-self:center;background:#000;position:relative;display:flex;overflow:hidden;flex-direction:column;flex:0 0 auto;scroll-snap-align:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:rgba(0,0,0,0);--g-thumb-opacity: .5}.g-active-thumb[_nghost-%COMP%]{--g-thumb-opacity: 1}.g-template[_ngcontent-%COMP%]{position:absolute;z-index:10;inset:0;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column}"],changeDetection:0})}}return t})(),F5=(()=>{class t{get _viewport(){return this._el.nativeElement}constructor(e,i){this._el=e,this._zone=i,this.resized=new P}ngOnInit(){this._zone.runOutsideAngular(()=>{this._resizeSubscription=xm(this._viewport).pipe(th(this.config.resizeDebounceTime,wa),ct(()=>{this.updateSliderSize(),this.resized.emit()})).subscribe()})}ngOnChanges(e){e.config.firstChange||this.updateSliderSize()}ngOnDestroy(){this._resizeSubscription?.unsubscribe()}updateSliderSize(){this._viewport.style.setProperty("--thumb-centralize-start-size",this.adapter.getCentralizerStartSize()+"px"),this._viewport.style.setProperty("--thumb-centralize-end-size",this.adapter.getCentralizerEndSize()+"px")}static{this.\u0275fac=function(i){return new(i||t)(y($),y(Me))}}static{this.\u0275dir=H({type:t,selectors:[["","thumbResizeObserver",""]],inputs:{config:"config",adapter:"adapter"},outputs:{resized:"thumbResizeObserver"},features:[xe]})}}return t})(),V5=(()=>{class t{constructor(){this.position$=new X,this.thumbClick=new P,this.error=new P,this.items=new Ha}get slider(){return this.sliderEl.nativeElement}ngOnChanges(e){if(e.config&&e.config.currentValue?.thumbPosition!==e.config.previousValue?.thumbPosition){switch(this.config.thumbPosition){case Jl.Right:case Jl.Left:this.adapter=new Em(this.slider,this.config);break;case Jl.Top:case Jl.Bottom:this.adapter=new Sm(this.slider,this.config);break}e.config.firstChange||requestAnimationFrame(()=>{this.scrollToIndex(this.state.currIndex,"auto")})}e.state&&(e.state.firstChange||!this.config.detachThumbs)&&e.state.currentValue?.currIndex!==e.state.previousValue?.currIndex&&requestAnimationFrame(()=>{this.scrollToIndex(this.state.currIndex,e.state?.firstChange?"auto":"smooth")})}ngAfterViewInit(){this.items.notifyOnChanges(),this.items$=this.items.changes.pipe(ds(null),G(()=>this.items.toArray()))}trackByFn(e,i){return i.type}onActiveIndexChange(e){e===-1?this.scrollToIndex(this.state.currIndex,"smooth"):this.scrollToIndex(e,"smooth")}scrollToIndex(e,i){let r=this.items.get(e)?.nativeElement;if(r){let o=this.adapter.getScrollToValue(r,i);this.position$.next(o)}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-thumbs"]],viewQuery:function(i,r){if(i&1&&(Ot(pk,7),Ot(fk,5)),i&2){let o;Ge(o=qe())&&(r.sliderEl=o.first),Ge(o=qe())&&(r.items=o)}},inputs:{galleryId:"galleryId",state:"state",config:"config"},outputs:{thumbClick:"thumbClick",error:"error"},features:[xe],decls:6,vars:15,consts:[["slider",""],[1,"g-slider",3,"thumbResizeObserver","activeIndexChange","smoothScroll","smoothScrollInterruptOnMousemove","hammerSliding","galleryId","items","state","config","adapter"],[1,"g-slider-content"],[3,"type","config","data","currIndex","index","count","click","error",4,"ngFor","ngForOf","ngForTrackBy"],[3,"click","error","type","config","data","currIndex","index","count"]],template:function(i,r){if(i&1){let o=N();d(0,"div",1,0),te(2,"async"),te(3,"async"),D("thumbResizeObserver",function(){return C(o),w(r.scrollToIndex(r.state.currIndex,"auto"))})("activeIndexChange",function(a){return C(o),w(r.onActiveIndexChange(a))}),d(4,"div",2),T(5,r5,1,7,"gallery-thumb",3),h()()}i&2&&(g("smoothScroll",pe(2,11,r.position$))("smoothScrollInterruptOnMousemove",!r.config.disableThumbMouseScroll)("hammerSliding",!r.config.disableThumbMouseScroll)("galleryId",r.galleryId)("items",pe(3,13,r.items$))("state",r.state)("config",r.config)("adapter",r.adapter),J("centralised",r.config.thumbCentralized||r.adapter.isContentLessThanContainer),f(5),g("ngForOf",r.state.items)("ngForTrackBy",r.trackByFn))},dependencies:[ot,rt,mr,fk,wk,Dk,F5],styles:['[_nghost-%COMP%]{max-height:100%;max-width:100%;display:block;z-index:100}.g-slider[_ngcontent-%COMP%]{display:flex;align-items:center;transition:var(--g-height-transition);max-height:100%;min-width:100%;height:var(--thumb-slider-height);width:var(--thumb-slider-width);top:var(--thumb-slider-top);left:var(--thumb-slider-left);overflow:var(--thumb-slider-overflow);scroll-snap-type:var(--slider-scroll-snap-type);flex-direction:var(--thumb-slider-flex-direction);scrollbar-width:none}.g-slider[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.g-slider.g-sliding[_ngcontent-%COMP%] .g-slider-content[_ngcontent-%COMP%]{pointer-events:none}.g-slider[centralised=true][_ngcontent-%COMP%]:before, .g-slider[centralised=true][_ngcontent-%COMP%]:after{content:""}.g-slider[centralised=true][_ngcontent-%COMP%]:before{flex:0 0 var(--thumb-centralize-start-size)}.g-slider[centralised=true][_ngcontent-%COMP%]:after{flex:0 0 var(--thumb-centralize-end-size)}.g-slider-content[_ngcontent-%COMP%]{flex:0 0 auto;display:flex;flex-direction:var(--thumb-slider-flex-direction);align-items:center;gap:1px}'],changeDetection:0})}}return t})(),j5=(()=>{class t{get thumbPosition(){return this.config.thumbPosition}get orientation(){return this.config.orientation}get disableThumb(){return this.config.disableThumbs}get bulletDisabled(){return this.config.disableBullets}get bulletPosition(){return this.config.bulletPosition}get imageSize(){return this.config.imageSize}get thumbImageSize(){return this.config.thumbImageSize}get counterPosition(){return this.config.counterPosition}get scrollDisabled(){return this.config.disableScroll}get thumbScrollDisabled(){return this.config.disableThumbScroll}get itemAutosize(){return this.config.itemAutosize}get autoHeight(){return this.config.autoHeight}get thumbAutosize(){return this.config.thumbAutosize}get direction(){return this.dir.value}get debug(){return this.config.debug}constructor(e,i){this.el=e,this.dir=i,this.itemClick=new P,this.thumbClick=new P,this.error=new P}ngOnChanges(e){e.config&&(e.config.currentValue?.thumbWidth!==e.config.previousValue?.thumbWidth&&this.el.nativeElement.style.setProperty("--g-thumb-width",vm(e.config.currentValue.thumbWidth)),e.config.currentValue?.thumbHeight!==e.config.previousValue?.thumbHeight&&this.el.nativeElement.style.setProperty("--g-thumb-height",vm(e.config.currentValue.thumbHeight)))}static{this.\u0275fac=function(i){return new(i||t)(y($),y(Kl))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery-core"]],hostVars:15,hostBindings:function(i,r){i&2&&J("thumbPosition",r.thumbPosition)("orientation",r.orientation)("thumbDisabled",r.disableThumb)("bulletDisabled",r.bulletDisabled)("bulletPosition",r.bulletPosition)("imageSize",r.imageSize)("thumbImageSize",r.thumbImageSize)("counterPosition",r.counterPosition)("scrollDisabled",r.scrollDisabled)("thumbScrollDisabled",r.thumbScrollDisabled)("itemAutosize",r.itemAutosize)("autoHeight",r.autoHeight)("thumbAutosize",r.thumbAutosize)("dir",r.direction)("debug",r.debug)},inputs:{galleryId:"galleryId",state:"state",config:"config"},outputs:{itemClick:"itemClick",thumbClick:"thumbClick",error:"error"},features:[xe],decls:8,vars:14,consts:[[3,"state","config","galleryId","thumbClick","error",4,"ngIf"],[1,"g-box"],[3,"itemClick","error","state","config","galleryId"],[3,"state","config","galleryId",4,"ngIf"],[3,"state",4,"ngIf"],[1,"g-box-template"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[3,"thumbClick","error","state","config","galleryId"],[3,"state","config","galleryId"],[3,"state"]],template:function(i,r){i&1&&(T(0,s5,1,3,"gallery-thumbs",0),d(1,"div",1)(2,"gallery-slider",2),D("itemClick",function(s){return r.itemClick.emit(s)})("error",function(s){return r.error.emit(s)}),T(3,a5,1,3,"gallery-nav",3),h(),T(4,l5,1,3,"gallery-bullets",3)(5,c5,1,1,"gallery-counter",4),d(6,"div",5),T(7,u5,1,0,"ng-container",6),h()()),i&2&&(g("ngIf",r.config.thumbs),f(2),j("g-debug",r.config.debug),g("state",r.state)("config",r.config)("galleryId",r.galleryId),f(),g("ngIf",r.config.nav&&r.state.items.length>1),f(),g("ngIf",r.config.bullets),f(),g("ngIf",r.config.counter),f(2),g("ngTemplateOutlet",r.config.boxTemplate)("ngTemplateOutletContext",Qr(11,o5,r.state,r.config)))},dependencies:[ot,De,Ts,V5,L5,p5,f5,h5],styles:["[_nghost-%COMP%]{position:relative;overflow:hidden;display:flex;gap:var(--g-gutter-size);width:100%;height:500px;min-height:100%;max-height:100%;--image-object-fit: unset;--slider-thumb-height: unset;--slider-thumb-width: unset;--thumb-slider-left: unset;--thumb-slider-overflow: unset;--thumb-slider-flex-direction: unset;--g-thumb-width: unset;--g-thumb-height: unset;--g-thumb-cursor: pointer;--slider-scroll-snap-type: unset;--slider-overflow: unset;--slider-flex-direction: unset;--slider-width: unset;--slider-height: unset;--slider-content-width: unset;--slider-content-height: unset;--g-item-width: unset;--g-item-height: unset;--g-item-max-height: var(--slider-height);--bullets-top: unset;--bullets-bottom: unset;--bullets-cursor: pointer;--bullets-opacity: .4;--bullets-hover-opacity: 1;--bullets-active-opacity: 1;--counter-top: unset;--counter-bottom: unset;--counter-border-radius: unset;--nav-space: 8px;--nav-hover-space: 6.4px;--nav-next-right: unset;--nav-next-hover-right: unset;--nav-next-left: unset;--nav-next-hover-left: unset}[thumbPosition=top][_nghost-%COMP%]{flex-direction:column}[thumbPosition=left][_nghost-%COMP%]{flex-direction:row}[thumbPosition=right][_nghost-%COMP%]{flex-direction:row-reverse}[thumbPosition=bottom][_nghost-%COMP%]{flex-direction:column-reverse}[autoHeight=true][itemAutoSize=false][orientation=horizontal][thumbPosition=top][_nghost-%COMP%], [autoHeight=true][itemAutoSize=false][orientation=horizontal][thumbPosition=bottom][_nghost-%COMP%]{height:fit-content;--g-item-height: auto !important;--g-item-max-height: auto}[imageSize=contain][_nghost-%COMP%] gallery-slider[_ngcontent-%COMP%], [thumbImageSize=contain][_nghost-%COMP%] gallery-thumbs[_ngcontent-%COMP%]{--image-object-fit: contain}[imageSize=cover][_nghost-%COMP%] gallery-slider[_ngcontent-%COMP%], [thumbImageSize=cover][_nghost-%COMP%] gallery-thumbs[_ngcontent-%COMP%]{--image-object-fit: cover}[thumbPosition=top][_nghost-%COMP%], [thumbPosition=bottom][_nghost-%COMP%]{--thumb-slider-top: 0;--thumb-slider-overflow: auto hidden;--thumb-slider-flex-direction: row;--g-thumb-height: 100%}[thumbPosition=top][thumbAutosize=true][_nghost-%COMP%], [thumbPosition=bottom][thumbAutosize=true][_nghost-%COMP%]{--g-thumb-width: auto !important}[thumbPosition=left][_nghost-%COMP%], [thumbPosition=right][_nghost-%COMP%]{--thumb-slider-left: 0;--thumb-slider-overflow: hidden auto;--thumb-slider-flex-direction: column;--g-thumb-width: 100%}[thumbPosition=left][thumbAutosize=true][_nghost-%COMP%], [thumbPosition=right][thumbAutosize=true][_nghost-%COMP%]{--g-thumb-height: auto !important}[thumbDisbled=true][_nghost-%COMP%]{--g-thumb-cursor: default}[thumbScrollDisabled=true][_nghost-%COMP%]{--thumb-slider-overflow: hidden !important}[orientation=horizontal][_nghost-%COMP%]{--slider-overflow: auto hidden;--slider-scroll-snap-type: x mandatory;--slider-flex-direction: row;--slider-content-height: 100%}[orientation=vertical][_nghost-%COMP%]{--slider-overflow: hidden auto;--slider-scroll-snap-type: y mandatory;--slider-flex-direction: column;--slider-content-width: 100%}[scrollDisabled=true][_nghost-%COMP%]{--slider-overflow: hidden !important}[orientation=horizontal][_nghost-%COMP%]{--g-item-width: var(--slider-width);--g-item-height: 100%}[orientation=horizontal][itemAutoSize=true][_nghost-%COMP%]{--g-item-width: auto}[orientation=vertical][_nghost-%COMP%]{--g-item-width: 100%;--g-item-height: var(--slider-height)}[orientation=vertical][itemAutoSize=true][_nghost-%COMP%]{--g-item-height: auto}[bulletPosition=top][_nghost-%COMP%]{--bullets-top: 15px}[bulletPosition=bottom][_nghost-%COMP%]{--bullets-bottom: 15px}[bulletDisabled=true][_nghost-%COMP%]{--bullets-cursor: default;--bullets-hover-opacity: var(--bullets-opacity)}[counterPosition=top][_nghost-%COMP%]{--counter-top: 0;--counter-border-radius: 0 0 4px 4px}[counterPosition=bottom][_nghost-%COMP%]{--counter-bottom: 0;--counter-border-radius: 4px 4px 0 0}[dir=ltr][_nghost-%COMP%]{--nav-next-transform: translateY(-50%) perspective(1px);--nav-next-right: var(--nav-space);--nav-next-hover-right: var(--nav-hover-space);--nav-prev-transform: translateY(-50%) perspective(1px) scale(-1, -1);--nav-prev-left: var(--nav-space);--nav-prev-hover-left: var(--nav-hover-space)}[dir=rtl][_nghost-%COMP%]{--nav-next-transform: translateY(-50%) perspective(1px) scale(-1, -1);--nav-next-left: var(--nav-space);--nav-next-hover-left: var(--nav-hover-space);--nav-prev-transform: translateY(-50%) perspective(1px);--nav-prev-right: var(--nav-space);--nav-prev-hover-right: var(--nav-hover-space)}.g-box[_ngcontent-%COMP%]{overflow:hidden;position:relative;display:flex;flex-direction:column;order:1;flex:1}.g-box-template[_ngcontent-%COMP%]{position:absolute;z-index:10}",'[debug=true][_nghost-%COMP%] .g-sliding gallery-item.g-item-highlight, [debug=true][_nghost-%COMP%] .g-resizing gallery-item.g-item-highlight, [debug=true][_nghost-%COMP%] .g-scrolling gallery-item.g-item-highlight{visibility:hidden}[debug=true][_nghost-%COMP%] gallery-slider:after, [debug=true][_nghost-%COMP%] gallery-slider:before{position:absolute;content:"";z-index:12}[debug=true][_nghost-%COMP%] gallery-slider:before{width:100%;height:0;border-top:1px dashed lime}[debug=true][_nghost-%COMP%] gallery-slider:after{height:100%;width:0;border-left:1px dashed lime}[debug=true][_nghost-%COMP%] gallery-slider gallery-item{outline:1px solid darkorange}[debug=true][_nghost-%COMP%] gallery-slider gallery-item.g-item-highlight:after{content:"";position:absolute;width:100%;height:100%;border:3px solid lime;box-sizing:border-box;z-index:10}[debug=true][_nghost-%COMP%] .g-sliding .g-slider-sliding{display:block}[debug=true][_nghost-%COMP%] .g-scrolling .g-slider-scrolling{display:block}[debug=true][_nghost-%COMP%] .g-resizing .g-slider-resizing{display:block}[debug=true][_nghost-%COMP%] .g-slider-debug{position:absolute;top:0;left:0;display:flex;gap:5px;padding:10px}[debug=true][_nghost-%COMP%] .g-slider-debug .g-slider-resizing{background:#f54c28}[debug=true][_nghost-%COMP%] .g-slider-debug .g-slider-scrolling{background:#ff8524}[debug=true][_nghost-%COMP%] .g-slider-debug .g-slider-sliding{background:#1f6cb9}[debug=true][_nghost-%COMP%] .g-slider-debug div, [debug=true][_nghost-%COMP%] .g-slider-debug:before{display:none;color:#fff;font-family:monospace;z-index:12;padding:2px 6px;border-radius:3px}[debug=true][itemAutoSize=false][_nghost-%COMP%] .g-slider-debug:before{content:var(--intersection-margin);background:#ecececd6;color:#363636;display:block}[debug=true][itemAutoSize=true][_nghost-%COMP%] gallery-item:before{position:absolute;margin:10px;content:var(--item-intersection-margin);background:#ecececd6;color:#363636;display:block;width:270px;font-family:monospace;z-index:12;padding:2px 6px;border-radius:3px}'],changeDetection:0})}}return t})(),H5=(()=>{class t{constructor(e){this.templateRef=e}static ngTemplateContextGuard(e,i){return!0}static{this.\u0275fac=function(i){return new(i||t)(y(St))}}static{this.\u0275dir=H({type:t,selectors:[["","galleryImageDef",""]]})}}return t})(),B5=(()=>{class t{constructor(e){this.templateRef=e}static ngTemplateContextGuard(e,i){return!0}static{this.\u0275fac=function(i){return new(i||t)(y(St))}}static{this.\u0275dir=H({type:t,selectors:[["","galleryThumbDef",""]]})}}return t})(),U5=(()=>{class t{constructor(e){this.templateRef=e}static ngTemplateContextGuard(e,i){return!0}static{this.\u0275fac=function(i){return new(i||t)(y(St))}}static{this.\u0275dir=H({type:t,selectors:[["","galleryItemDef",""]]})}}return t})(),$5=(()=>{class t{constructor(e){this.templateRef=e}static ngTemplateContextGuard(e,i){return!0}static{this.\u0275fac=function(i){return new(i||t)(y(St))}}static{this.\u0275dir=H({type:t,selectors:[["","galleryBoxDef",""]]})}}return t})(),Y5=(()=>{class t{constructor(e,i){this._gallery=e,this._imgManager=i}ngAfterViewInit(){this._galleryRef=this._gallery.ref(this.galleryId),this._subscribe(),this.config.autoplay&&this._galleryRef.play()}ngOnChanges(e){this._galleryRef&&e.config?.currentValue.autoplay!==e.config?.previousValue.autoplay&&(this.config.autoplay?this._galleryRef.play():this._galleryRef.stop())}ngOnDestroy(){this._unsubscribe()}_subscribe(){this._unsubscribe(),this._currentSubscription=this._galleryRef.playingChanged.pipe(vt(e=>e.isPlaying?this._imgManager.getActiveItem(this._galleryRef.state).pipe(vt(()=>Q({}).pipe(_c(this.config.autoplayInterval),ct(()=>{this._galleryRef.stateSnapshot.hasNext?this._galleryRef.next(this.config.scrollBehavior):this._galleryRef.set(0,this.config.scrollBehavior)})))):Mt)).subscribe()}_unsubscribe(){this._currentSubscription?.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(y(Xl),y(Am))}}static{this.\u0275dir=H({type:t,selectors:[["gallery-core","autoplay",""]],inputs:{config:"config",galleryId:"galleryId"},features:[xe]})}}return t})(),NC=(()=>{class t{constructor(e){this._gallery=e,this.id="root",this.nav=this._gallery.config.nav,this.bullets=this._gallery.config.bullets,this.loop=this._gallery.config.loop,this.debug=this._gallery.config.debug,this.thumbs=this._gallery.config.thumbs,this.counter=this._gallery.config.counter,this.detachThumbs=this._gallery.config.detachThumbs,this.thumbAutosize=this._gallery.config.thumbAutosize,this.itemAutosize=this._gallery.config.itemAutosize,this.autoHeight=this._gallery.config.autoHeight,this.autoplay=this._gallery.config.autoplay,this.disableThumbs=this._gallery.config.disableThumbs,this.disableBullets=this._gallery.config.disableBullets,this.disableScroll=this._gallery.config.disableScroll,this.disableThumbScroll=this._gallery.config.disableThumbScroll,this.thumbCentralized=this._gallery.config.thumbCentralized,this.disableMouseScroll=this._gallery.config.disableMouseScroll,this.disableThumbMouseScroll=this._gallery.config.disableThumbMouseScroll,this.bulletSize=this._gallery.config.bulletSize,this.thumbWidth=this._gallery.config.thumbWidth,this.thumbHeight=this._gallery.config.thumbHeight,this.autoplayInterval=this._gallery.config.autoplayInterval,this.scrollDuration=this._gallery.config.scrollDuration,this.resizeDebounceTime=this._gallery.config.resizeDebounceTime,this.scrollBehavior=this._gallery.config.scrollBehavior,this.scrollEase=this._gallery.config.scrollEase,this.imageSize=this._gallery.config.imageSize,this.thumbImageSize=this._gallery.config.thumbImageSize,this.bulletPosition=this._gallery.config.bulletPosition,this.counterPosition=this._gallery.config.counterPosition,this.orientation=this._gallery.config.orientation,this.loadingAttr=this._gallery.config.loadingAttr,this.loadingStrategy=this._gallery.config.loadingStrategy,this.thumbPosition=this._gallery.config.thumbPosition,this.destroyRef=!0,this.skipInitConfig=!1,this.itemClick=new P,this.thumbClick=new P,this.playingChange=new P,this.indexChange=new P,this.itemsChange=new P,this.error=new P}getConfig(){return{nav:this.nav,bullets:this.bullets,loop:this.loop,debug:this.debug,thumbs:this.thumbs,counter:this.counter,autoplay:this.autoplay,bulletSize:this.bulletSize,imageSize:this.imageSize,thumbImageSize:this.thumbImageSize,scrollBehavior:this.scrollBehavior,thumbCentralized:this.thumbCentralized,thumbWidth:this.thumbWidth,thumbHeight:this.thumbHeight,scrollEase:this.scrollEase,bulletPosition:this.bulletPosition,loadingAttr:this.loadingAttr,detachThumbs:this.detachThumbs,thumbPosition:this.thumbPosition,autoplayInterval:this.autoplayInterval,counterPosition:this.counterPosition,loadingStrategy:this.loadingStrategy,scrollDuration:this.scrollDuration,orientation:this.orientation,resizeDebounceTime:this.resizeDebounceTime,disableBullets:this.disableBullets,disableThumbs:this.disableThumbs,disableScroll:this.disableScroll,disableThumbScroll:this.disableThumbScroll,disableMouseScroll:this.disableMouseScroll,disableThumbMouseScroll:this.disableThumbMouseScroll,thumbAutosize:this.thumbAutosize,itemAutosize:this.itemAutosize,autoHeight:this.autoHeight}}ngOnChanges(e){this.galleryRef&&(this.galleryRef.setConfig(this.getConfig()),e.items&&e.items.currentValue!==e.items.previousValue&&this.load(this.items))}ngOnInit(){this.skipInitConfig?this.galleryRef=this._gallery.ref(this.id):this.galleryRef=this._gallery.ref(this.id,this.getConfig()),this.load(this.items),this.indexChange.observed&&(this._indexChange$=this.galleryRef.indexChanged.subscribe(e=>this.indexChange.emit(e))),this.itemsChange.observed&&(this._itemChange$=this.galleryRef.itemsChanged.subscribe(e=>this.itemsChange.emit(e))),this.playingChange.observed&&(this._playingChange$=this.galleryRef.playingChanged.subscribe(e=>this.playingChange.emit(e)))}ngAfterContentInit(){let e={};this._galleryItemDef&&(e.itemTemplate=this._galleryItemDef.templateRef),this._galleryImageDef&&(e.imageTemplate=this._galleryImageDef.templateRef),this._galleryThumbDef&&(e.thumbTemplate=this._galleryThumbDef.templateRef),this._galleryBoxDef&&(e.boxTemplate=this._galleryBoxDef.templateRef),Object.keys(e).length&&this.galleryRef.setConfig(e)}ngOnDestroy(){this._itemClick$?.unsubscribe(),this._thumbClick$?.unsubscribe(),this._itemChange$?.unsubscribe(),this._indexChange$?.unsubscribe(),this._playingChange$?.unsubscribe(),this.destroyRef&&this.galleryRef?.destroy()}onItemClick(e){this.itemClick.emit(e),this.galleryRef.itemClick.next(e)}onThumbClick(e){this.galleryRef.set(e),this.thumbClick.emit(e),this.galleryRef.thumbClick.next(e)}onError(e){this.error.emit(e),this.galleryRef.error.next(e)}load(e){this.galleryRef.load(e)}add(e,i){this.galleryRef.add(e,i)}addImage(e,i){this.galleryRef.addImage(e,i)}addVideo(e,i){this.galleryRef.addVideo(e,i)}addIframe(e,i){this.galleryRef.addIframe(e,i)}addYoutube(e,i){this.galleryRef.addYoutube(e,i)}addVimeo(e,i){this.galleryRef.addVimeo(e,i)}remove(e){this.galleryRef.remove(e)}next(e,i){this.galleryRef.next(e,i)}prev(e,i){this.galleryRef.prev(e,i)}set(e,i){this.galleryRef.set(e,i)}reset(){this.galleryRef.reset()}play(e){this.galleryRef.play(e)}stop(){this.galleryRef.stop()}static{this.\u0275fac=function(i){return new(i||t)(y(Xl))}}static{this.\u0275cmp=L({type:t,selectors:[["gallery"]],contentQueries:function(i,r,o){if(i&1&&(xo(o,U5,5),xo(o,H5,5),xo(o,B5,5),xo(o,$5,5)),i&2){let s;Ge(s=qe())&&(r._galleryItemDef=s.first),Ge(s=qe())&&(r._galleryImageDef=s.first),Ge(s=qe())&&(r._galleryThumbDef=s.first),Ge(s=qe())&&(r._galleryBoxDef=s.first)}},inputs:{id:"id",items:"items",nav:[2,"nav","nav",Xe],bullets:[2,"bullets","bullets",Xe],loop:[2,"loop","loop",Xe],debug:[2,"debug","debug",Xe],thumbs:[2,"thumbs","thumbs",Xe],counter:[2,"counter","counter",Xe],detachThumbs:[2,"detachThumbs","detachThumbs",Xe],thumbAutosize:[2,"thumbAutosize","thumbAutosize",Xe],itemAutosize:[2,"itemAutosize","itemAutosize",Xe],autoHeight:[2,"autoHeight","autoHeight",Xe],autoplay:[2,"autoplay","autoplay",Xe],disableThumbs:[2,"disableThumbs","disableThumbs",Xe],disableBullets:[2,"disableBullets","disableBullets",Xe],disableScroll:[2,"disableScroll","disableScroll",Xe],disableThumbScroll:[2,"disableThumbScroll","disableThumbScroll",Xe],thumbCentralized:[2,"thumbCentralized","thumbCentralized",Xe],disableMouseScroll:[2,"disableMouseScroll","disableMouseScroll",Xe],disableThumbMouseScroll:[2,"disableThumbMouseScroll","disableThumbMouseScroll",Xe],bulletSize:[2,"bulletSize","bulletSize",Es],thumbWidth:[2,"thumbWidth","thumbWidth",Es],thumbHeight:[2,"thumbHeight","thumbHeight",Es],autoplayInterval:[2,"autoplayInterval","autoplayInterval",Es],scrollDuration:[2,"scrollDuration","scrollDuration",Es],resizeDebounceTime:[2,"resizeDebounceTime","resizeDebounceTime",Es],scrollBehavior:"scrollBehavior",scrollEase:"scrollEase",imageSize:"imageSize",thumbImageSize:"thumbImageSize",bulletPosition:"bulletPosition",counterPosition:"counterPosition",orientation:"orientation",loadingAttr:"loadingAttr",loadingStrategy:"loadingStrategy",thumbPosition:"thumbPosition",destroyRef:"destroyRef",skipInitConfig:"skipInitConfig"},outputs:{itemClick:"itemClick",thumbClick:"thumbClick",playingChange:"playingChange",indexChange:"indexChange",itemsChange:"itemsChange",error:"error"},features:[ce([Am]),xe],decls:3,vars:7,consts:[["autoplay","",3,"itemClick","thumbClick","error","galleryId","state","config"]],template:function(i,r){i&1&&(d(0,"gallery-core",0),te(1,"async"),te(2,"async"),D("itemClick",function(s){return r.onItemClick(s)})("thumbClick",function(s){return r.onThumbClick(s)})("error",function(s){return r.onError(s)}),h()),i&2&&g("galleryId",r.id)("state",pe(1,3,r.galleryRef.state))("config",pe(2,5,r.galleryRef.config))},dependencies:[ot,mr,j5,Y5],styles:["[_nghost-%COMP%]{position:relative;overflow:hidden;z-index:1;display:flex;justify-content:center;align-items:center;background-color:#000;--g-height-transition: height 468ms cubic-bezier(.42, 0, .58, 1);--g-nav-drop-shadow: drop-shadow(0 0 2px rgba(0, 0, 0, .6));--g-box-shadow: 0 0 3px rgba(0, 0, 0, .6);--g-font-color: #000;--g-overlay-color: #fff;--g-gutter-size: 1px}[gallerize][_nghost-%COMP%]{--g-item-cursor: pointer}"],changeDetection:0})}}return t})(),Sk=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=be({type:t})}static{this.\u0275inj=ve({imports:[NC]})}}return t})();function W5(t){return typeof t<"u"&&t!==null}function G5(t){return t!=null&&`${t}`!="false"}function q5(t){let n=new Date(t);if(!Number.isNaN(n.valueOf()))return n;let e=String(t).match(/\d+/g);if(e===null||e.length<=2)return n;{let[i,r,...o]=e.map(s=>parseInt(s,10));return new Date(Date.UTC(i,r-1,...o))}}var ld=60,cd=ld*60,ec=cd*24,Ek=ec*7,Tk=ec*30,Ik=ec*365,Q5=(()=>{class t{constructor(){this.changes=new X}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac})}}return t})(),Z5=function(t){let n=Date.now(),e=Math.round(Math.abs(n-t)/1e3),i=t{class t extends tc{format(e){let{suffix:i,value:r,unit:o}=Z5(e);return this.parse(r,o,i)}parse(e,i,r){return e!==1&&(i+="s"),e+" "+i+" "+r}static{this.\u0275fac=(()=>{let e;return function(r){return(e||(e=bn(t)))(r||t)}})()}static{this.\u0275prov=x({token:t,factory:t.\u0275fac})}}return t})();var nc=class{},kk=(()=>{class t extends nc{tick(e){return Q(0).pipe(Ta(()=>{let i=Date.now(),r=Math.round(Math.abs(i-e)/1e3),o=r{let e;return function(r){return(e||(e=bn(t)))(r||t)}})()}static{this.\u0275prov=x({token:t,factory:t.\u0275fac})}}return t})();var Jo=(()=>{class t{constructor(e,i,r,o){this.clock=o,this.live=!0,this.stateChanges=new X,e&&(this.intlSubscription=e.changes.subscribe(()=>this.stateChanges.next())),this.stateChanges.subscribe(()=>{this.value=r.format(this.date),i.markForCheck()})}transform(e,...i){let r=q5(e).valueOf(),o;if(o=W5(i[0])?G5(i[0]):this.live,this.date===r&&this.live===o)return this.value;if(this.date=r,this.live=o,this.date)this.clockSubscription&&(this.clockSubscription.unsubscribe(),this.clockSubscription=void 0),this.clockSubscription=this.clock.tick(this.date).pipe(le(()=>this.live,this)).subscribe(()=>this.stateChanges.next()),this.stateChanges.next();else throw new SyntaxError(`Wrong parameter in TimeagoPipe. Expected a valid date, received: ${e}`);return this.value}ngOnDestroy(){this.intlSubscription&&(this.intlSubscription.unsubscribe(),this.intlSubscription=void 0),this.clockSubscription&&(this.clockSubscription.unsubscribe(),this.clockSubscription=void 0),this.stateChanges.complete()}static{this.\u0275fac=function(i){return new(i||t)(y(Q5,24),y(it,16),y(tc,16),y(nc,16))}}static{this.\u0275pipe=Eo({name:"timeago",type:t,pure:!1,standalone:!1})}static{this.\u0275prov=x({token:t,factory:t.\u0275fac})}}return t})(),Or=(()=>{class t{static forRoot(e={}){return{ngModule:t,providers:[e.clock||{provide:nc,useClass:kk},e.intl||[],e.formatter||{provide:tc,useClass:xk}]}}static forChild(e={}){return{ngModule:t,providers:[e.clock||{provide:nc,useClass:kk},e.intl||[],e.formatter||{provide:tc,useClass:xk}]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=be({type:t})}static{this.\u0275inj=ve({})}}return t})();var Pr=class t{baseUrl=Yt.apiUrl;hubUrl=Yt.hubsUrl;http=S(Fn);hubConnection;paginatedResult=ht(null);messageThread=ht([]);getMessage(n,e,i){let r=vl(n,e);return r=r.append("Container",i),this.http.get(this.baseUrl+"messages",{observe:"response",params:r}).subscribe({next:o=>Vs(o,this.paginatedResult)})}getMessageThread(n){return this.http.get(this.baseUrl+"messages/thread/"+n)}sendMessage(n,e){return this.hubConnection?.invoke("SendMessage",{recipientUsername:n,content:e}).catch(i=>console.log(i))}deleteMessage(n){return this.http.delete(this.baseUrl+"messages/"+n)}createHubConnection(n,e){this.hubConnection=new Bs().withUrl(this.hubUrl+"message?user="+e,{accessTokenFactory:()=>n.token}).withAutomaticReconnect().build(),this.hubConnection.start().catch(i=>console.error(i)),this.hubConnection.on("ReceiveMessageThread",i=>{this.messageThread.set(i)}),this.hubConnection.on("NewMessage",i=>{this.messageThread.update(r=>[...r,i])}),this.hubConnection.on("UpdatedGroup",i=>{i.connections.some(r=>r.username===e)&&this.messageThread.update(r=>(r.forEach(o=>{o.dateRead||(o.dateRead=new Date(Date.now()))}),r))})}stopHubConnection(){this.hubConnection?.state===Be.Connected&&this.hubConnection.stop().catch(n=>console.log(n))}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};var K5=["messageForm"],J5=["scrollMe"],X5=(t,n)=>n.id;function e8(t,n){t&1&&(d(0,"p"),v(1,"No messages yet"),h())}function t8(t,n){t&1&&(d(0,"span",17),v(1,"(unread)"),h())}function n8(t,n){if(t&1&&(d(0,"span",18),v(1),te(2,"timeago"),h()),t&2){let e=p().$implicit;f(),Te("(read ",pe(2,1,e.dateRead),")")}}function i8(t,n){if(t&1&&(d(0,"li")(1,"div")(2,"span",11),A(3,"img",12),h(),d(4,"div",13)(5,"div",14)(6,"small",15)(7,"span",16),v(8),te(9,"timeago"),h(),T(10,t8,2,0,"span",17)(11,n8,3,3,"span",18),h()(),d(12,"p"),v(13),h()()()()),t&2){let e=n.$implicit,i=p(2);f(3),Dt("src",e.senderPhotoUrl||"./assets/user.png",ft),f(5),Te(" ",pe(9,5,e.messageSent)," "),f(2),Re(!e.dateRead&&e.senderUsername!==i.username()?10:-1),f(),Re(e.dateRead&&e.senderUsername!==i.username()?11:-1),f(2),U(e.content)}}function r8(t,n){if(t&1&&(d(0,"ul",4,1),Et(2,i8,14,7,"li",null,X5),h()),t&2){let e=p();f(2),Tt(e.messageThread())}}var Om=class t{messageForm;scrollContainer;messageService=S(Pr);username=Rn.required();messageContent="";loading=!1;ngAfterViewChecked(){this.scrollToBottom()}sendMessage(){this.messageService.sendMessage(this.username(),this.messageContent)?.then(()=>{this.messageForm?.reset(),this.scrollToBottom()})}scrollToBottom(){this.scrollContainer&&(this.scrollContainer.nativeElement.scrollTop=this.scrollContainer.nativeElement.scrollHeight)}messageThread(){return this.messageService.messageThread()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-member-messages"]],viewQuery:function(e,i){if(e&1&&(Ot(K5,5),Ot(J5,5)),e&2){let r;Ge(r=qe())&&(i.messageForm=r.first),Ge(r=qe())&&(i.scrollContainer=r.first)}},inputs:{username:[1,"username"]},decls:12,vars:3,consts:[["messageForm","ngForm"],["scrollMe",""],[1,"card"],[1,"car-body"],[1,"chat",2,"overflow-y","auto","overflow-x","hidden","max-height","535px","scroll-behavior","smooth","scrollbar-width","none","-ms-overflow-style","none"],[1,"card-footer"],[3,"ngSubmit"],[1,"input-group"],["name","messageContent","required","","type","text","placeholder","Send a private message",1,"form-control","input-sm",3,"ngModelChange","ngModel"],[1,"input-group-append"],["type","submit",1,"btn","btn-primary",3,"disabled"],[1,"chat-img","float-end"],["alt","Message sender",1,"rounded-circle",3,"src"],[1,"chat-body"],[1,"header"],[1,"text-muted"],[1,"fa","fa-clock-o"],[1,"text-danger"],[1,"text-success"]],template:function(e,i){if(e&1){let r=N();d(0,"div",2)(1,"div",3),T(2,e8,2,0,"p")(3,r8,4,0,"ul",4),h(),d(4,"div",5)(5,"form",6,0),D("ngSubmit",function(){return C(r),w(i.sendMessage())}),d(7,"div",7)(8,"input",8),Fe("ngModelChange",function(s){return C(r),Ve(i.messageContent,s)||(i.messageContent=s),w(s)}),h(),d(9,"div",9)(10,"button",10),v(11,"Send"),h()()()()()()}if(e&2){let r=$t(6);f(2),Re(i.messageThread().length===0?2:3),f(6),Le("ngModel",i.messageContent),f(2),g("disabled",!r.valid)}},dependencies:[Or,Jo,Hn,wr,en,Nt,Cr,tb,wn,to],styles:[".card[_ngcontent-%COMP%]{border:none}.chat[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0}.chat[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{margin-bottom:10px;padding-bottom:10px;border-bottom:1px dotted #B3A9A9}.rounded-circle[_ngcontent-%COMP%]{max-height:50px}"]})};var o8=["memberTabs"];function s8(t,n){t&1&&(d(0,"div",7)(1,"i",20),v(2," Online now "),h()())}function a8(t,n){if(t&1&&A(0,"gallery",17),t&2){let e=p();g("items",e.images)("items",e.images)("itemAutosize",!0)}}var Pm=class t{memberTabs;presenceService=S(Ho);messageService=S(Pr);route=S(Gi);router=S(sn);accountService=S(tt);member={};images=[];activeTab;ngOnInit(){this.route.data.subscribe({next:n=>{this.member=n.member,this.member&&this.member.photos.map(e=>{this.images.push(new ad({src:e.url,thumb:e.url}))})}}),this.route.paramMap.subscribe({next:n=>this.onRouteParamsChange()}),this.route.queryParams.subscribe({next:n=>{n.tab&&this.selectTab(n.tab)}})}selectTab(n){if(this.memberTabs){let e=this.memberTabs.tabs.find(i=>i.heading===n);e&&(e.active=!0)}}onRouteParamsChange(){let n=this.accountService.currentUser();n&&this.messageService.hubConnection?.state===Be.Connected&&this.activeTab?.heading==="Messages"&&this.messageService.hubConnection.stop().then(()=>{this.messageService.createHubConnection(n,this.member.username)})}onTabActivated(n){if(this.activeTab=n,this.router.navigate([],{relativeTo:this.route,queryParams:{tab:this.activeTab.heading},queryParamsHandling:"merge"}),this.activeTab.heading=="Messages"){let e=this.accountService.currentUser();if(!e)return;this.messageService.createHubConnection(e,this.member.username)}else this.messageService.stopHubConnection()}ngOnDestroy(){this.messageService.stopHubConnection()}onlineUsers(){return this.presenceService.onlineUsers()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-member-detail"]],viewQuery:function(e,i){if(e&1&&Ot(o8,7),e&2){let r;Ge(r=qe())&&(i.memberTabs=r.first)}},decls:56,vars:20,consts:[["memberTabs",""],["photoTab","tab"],[1,"row"],[1,"col-4"],[1,"card"],[1,"card-img","img-thumbnail",3,"src","alt"],[1,"card-body"],[1,"mb-2"],[1,"card-footer"],[1,"btn-group","d-flex"],[1,"btn","btn-primary"],[1,"btn","btn-primary",3,"click"],[1,"col-8"],[1,"member-tabset"],[3,"selectTab","heading"],["heading","Interests",3,"selectTab"],["heading","Photos",3,"selectTab"],[1,"gallery",3,"items","itemAutosize"],["heading","Messages",3,"selectTab"],[3,"username"],[1,"fa","fa-user-circle","text-success"]],template:function(e,i){if(e&1){let r=N();d(0,"div",2)(1,"div",3)(2,"div",4),A(3,"img",5),d(4,"div",6),T(5,s8,3,0,"div",7),d(6,"div")(7,"strong"),v(8,"Location:"),h(),d(9,"p"),v(10),h()(),d(11,"div")(12,"strong"),v(13,"Age:"),h(),d(14,"p"),v(15),h()(),d(16,"div")(17,"strong"),v(18,"Last Active:"),h(),d(19,"p"),v(20),te(21,"timeago"),h()(),d(22,"div")(23,"strong"),v(24,"Member since:"),h(),d(25,"p"),v(26),te(27,"date"),h()(),d(28,"div",8)(29,"div",9)(30,"button",10),v(31,"Like"),h(),d(32,"button",11),D("click",function(){return C(r),w(i.selectTab("Messages"))}),v(33,"Message"),h()()()()()(),d(34,"div",12)(35,"tabset",13,0)(37,"tab",14),D("selectTab",function(s){return C(r),w(i.onTabActivated(s))}),d(38,"h4"),v(39,"Description"),h(),d(40,"p"),v(41),h(),d(42,"h4"),v(43,"Looking for"),h(),d(44,"p"),v(45),h()(),d(46,"tab",15),D("selectTab",function(s){return C(r),w(i.onTabActivated(s))}),d(47,"h4"),v(48,"Interests"),h(),d(49,"p"),v(50),h()(),d(51,"tab",16,1),D("selectTab",function(s){return C(r),w(i.onTabActivated(s))}),T(53,a8,1,3,"gallery",17),h(),d(54,"tab",18),D("selectTab",function(s){return C(r),w(i.onTabActivated(s))}),A(55,"app-member-messages",19),h()()()()}if(e&2){let r=$t(52);f(3),Dt("src",i.member.photoUrl||"https://th.bing.com/th/id/OIP.PoS7waY4-VeqgNuBSxVUogAAAA?rs=1&pid=ImgDetMain",ft),Dt("alt",i.member.knownAs),f(2),Re(i.onlineUsers().includes(i.member.username)?5:-1),f(5),hr("",i.member.city,", ",i.member.country,""),f(5),U(i.member.age),f(5),U(pe(21,15,i.member.lastActive)),f(6),U(Ja(27,17,i.member.created,"dd MMM, yyyy")),f(11),Io("heading","About ",i.member.knownAs,""),f(4),U(i.member.introduction),f(4),U(i.member.lookingFor),f(5),U(i.member.interests),f(3),Re(r.active?53:-1),f(2),g("username",i.member.username)}},dependencies:[Zl,Ql,oa,Sk,NC,Or,Jo,qc,Om],styles:[".img-thumbnail[_ngcontent-%COMP%]{margin:25px;width:85%;height:85%}.card-body[_ngcontent-%COMP%]{padding:0 25px}.card-footer[_ngcontent-%COMP%]{padding:10px 15px;border-top:none}"]})};var l8=(t,n)=>n.id;function c8(t,n){if(t&1&&(d(0,"div",8),A(1,"app-member-card",10),h()),t&2){let e=n.$implicit;f(),g("member",e)}}function u8(t,n){if(t&1){let e=N();d(0,"div",9)(1,"pagination",11),D("pageChanged",function(r){C(e);let o=p();return w(o.pageChange(r))}),Fe("ngModelChange",function(r){let o;C(e);let s=p();return Ve((o=s.paginatedResult())==null?null:o.pagination.currentPage,r)||(((o=s.paginatedResult())==null?null:o.pagination).currentPage=r),w(r)}),h()()}if(t&2){let e,i,r,o=p();f(),g("boundaryLinks",!0)("totalItems",(e=o.paginatedResult())==null?null:e.pagination.totalItems)("itemsPerPage",(i=o.paginatedResult())==null?null:i.pagination.itemsPerPage),Le("ngModel",(r=o.paginatedResult())==null?null:r.pagination.currentPage),g("maxSize",10)}}var Nm=class t{likesService=S(Fo);predicate="liked";pageNumber=1;pageSize=5;ngOnInit(){this.loadLikes()}ngOnDestroy(){this.likesService.paginatedResult.set(null)}getTitle(){switch(this.predicate){case"liked":return"Members your like";case"likedBy":return"Members who like you";default:return""}}loadLikes(){this.likesService.getLikes(this.predicate,this.pageNumber,this.pageSize)}pageChange(n){this.pageNumber!=n.page&&(this.pageNumber=n.page,this.loadLikes())}paginatedResult(){return this.likesService.paginatedResult()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-lists"]],decls:16,vars:5,consts:[[1,"text-center","mt-3"],[1,"container","mt-3"],[1,"d-flex"],[1,"btn-group"],["btnRadio","liked",1,"btn","btn-primary",3,"ngModelChange","click","ngModel"],["btnRadio","likedBy",1,"btn","btn-primary",3,"ngModelChange","click","ngModel"],["btnRadio","mutual",1,"btn","btn-primary",3,"ngModelChange","click","ngModel"],[1,"row","mt-3"],[1,"col-2"],[1,"d-flex","justify-content-center"],[3,"member"],["previousText","\u2039","nextText","\u203A","firstText","\xAB","lastText","\xBB",3,"pageChanged","ngModelChange","boundaryLinks","totalItems","itemsPerPage","ngModel","maxSize"]],template:function(e,i){if(e&1&&(d(0,"div",0)(1,"h2"),v(2),h()(),d(3,"div",1)(4,"div",2)(5,"div",3)(6,"button",4),Fe("ngModelChange",function(o){return Ve(i.predicate,o)||(i.predicate=o),o}),D("click",function(){return i.loadLikes()}),v(7,"Members I like"),h(),d(8,"button",5),Fe("ngModelChange",function(o){return Ve(i.predicate,o)||(i.predicate=o),o}),D("click",function(){return i.loadLikes()}),v(9,"Members who like me"),h(),d(10,"button",6),Fe("ngModelChange",function(o){return Ve(i.predicate,o)||(i.predicate=o),o}),D("click",function(){return i.loadLikes()}),v(11,"Mutual"),h()()(),d(12,"div",7),Et(13,c8,2,1,"div",8,l8),h()(),T(15,u8,2,5,"div",9)),e&2){let r,o;f(2),U(i.getTitle()),f(4),Le("ngModel",i.predicate),f(2),Le("ngModel",i.predicate),f(2),Le("ngModel",i.predicate),f(3),Tt((r=i.paginatedResult())==null?null:r.items),f(2),Re((o=i.paginatedResult())!=null&&o.pagination?15:-1)}},dependencies:[ql,Ko,Hn,Nt,wn,Wl,Gl,ra],encapsulation:2})};var d8=()=>({tab:"Messages"}),h8=(t,n)=>n.id;function f8(t,n){t&1&&(d(0,"h3",6),v(1,"No messages"),h())}function p8(t,n){if(t&1){let e=N();d(0,"tr",12)(1,"td"),v(2),h(),d(3,"td")(4,"div"),A(5,"img",13),d(6,"strong",14),v(7),h()()(),d(8,"td"),v(9),te(10,"timeago"),h(),d(11,"td",15),D("click",function(r){return C(e),w(r.stopPropagation())}),d(12,"button",16),D("click",function(){let r=C(e).$implicit,o=p(2);return w(o.deleteMessage(r.id))}),v(13,"Delete"),h()()()}if(t&2){let e=n.$implicit,i=p(2);Dt("routerLink",i.getRoute(e)),g("queryParams",Gr(8,d8)),f(2),U(e.content),f(3),g("src",i.isOutbox?e.recipientPhotoUrl||"./assets/user.png":e.senderPhotoUrl||"./assets/user.png",ft),f(2),U(i.isOutbox?e.senderPhotoUrl:e.recipientUsername),f(2),U(pe(10,6,e.messageSent))}}function m8(t,n){if(t&1&&(d(0,"table",7)(1,"thead")(2,"tr")(3,"th",9),v(4,"Message"),h(),d(5,"th",10),v(6,"From / To"),h(),d(7,"th",10),v(8,"Sent / Recived"),h(),A(9,"th",10),h()(),d(10,"tbody",11),Et(11,p8,14,9,"tr",12,h8),h()()),t&2){let e,i=p();f(11),Tt((e=i.paginatedResult())==null?null:e.items)}}function g8(t,n){if(t&1){let e=N();d(0,"div",8)(1,"pagination",17),D("pageChanged",function(r){C(e);let o=p();return w(o.pageChange(r))}),Fe("ngModelChange",function(r){let o;C(e);let s=p();return Ve((o=s.paginatedResult())==null?null:o.pagination.currentPage,r)||(((o=s.paginatedResult())==null?null:o.pagination).currentPage=r),w(r)}),h()()}if(t&2){let e,i,r,o=p();f(),g("boundaryLinks",!0)("totalItems",(e=o.paginatedResult())==null?null:e.pagination.totalItems)("itemsPerPage",(i=o.paginatedResult())==null?null:i.pagination.itemsPerPage),Le("ngModel",(r=o.paginatedResult())==null?null:r.pagination.currentPage),g("maxSize",10)}}var Lm=class t{messageService=S(Pr);container="Inbox";pageNumber=1;pageSize=5;isOutbox=this.container==="Outbox";ngOnInit(){this.loadMessage()}loadMessage(){this.messageService.getMessage(this.pageNumber,this.pageSize,this.container)}getRoute(n){return this.container==="Outbox"?`/members/${n.recipientUsername}`:`/members/${n.senderUsername}`}pageChange(n){this.pageNumber!==n.page&&(this.pageNumber=n.page,this.loadMessage())}deleteMessage(n){this.messageService.deleteMessage(n).subscribe({next:e=>{this.messageService.paginatedResult.update(i=>(i&&i.items&&i.items.splice(i.items.findIndex(r=>r.id==n),1),i))}})}paginatedResult(){return this.messageService.paginatedResult()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-messages"]],decls:12,vars:5,consts:[[1,"container","mt-3"],[1,"d-flex"],[1,"btn-group"],["btnRadio","Unread",1,"btn","btn-primary",3,"ngModelChange","click","ngModel"],["btnRadio","Inbox",1,"btn","btn-primary",3,"ngModelChange","click","ngModel"],["btnRadio","Outbox",1,"btn","btn-primary",3,"ngModelChange","click","ngModel"],[1,"mt-3"],[1,"table","table-hover","mt-3",2,"cursor","pointer"],[1,"d-flex","justify-content-center"],[2,"width","40%"],[2,"width","20%"],[1,"align-middle"],[3,"routerLink","queryParams"],["alt","Image of user",1,"rounded-circle",3,"src"],[2,"margin-left","10px"],[3,"click"],[1,"btn","btn-danger",3,"click"],["previousText","\u2039","nextText","\u203A","firstText","\xAB","lastText","\xBB",3,"pageChanged","ngModelChange","boundaryLinks","totalItems","itemsPerPage","ngModel","maxSize"]],template:function(e,i){if(e&1&&(d(0,"div",0)(1,"div",1)(2,"div",2)(3,"button",3),Fe("ngModelChange",function(o){return Ve(i.container,o)||(i.container=o),o}),D("click",function(){return i.loadMessage()}),v(4,"Unread"),h(),d(5,"button",4),Fe("ngModelChange",function(o){return Ve(i.container,o)||(i.container=o),o}),D("click",function(){return i.loadMessage()}),v(6,"Inbox"),h(),d(7,"button",5),Fe("ngModelChange",function(o){return Ve(i.container,o)||(i.container=o),o}),D("click",function(){return i.loadMessage()}),v(8,"Outbox"),h()()()(),T(9,f8,2,0,"h3",6)(10,m8,13,0,"table",7)(11,g8,2,5,"div",8)),e&2){let r,o;f(3),Le("ngModel",i.container),f(2),Le("ngModel",i.container),f(2),Le("ngModel",i.container),f(2),Re(!((r=i.paginatedResult())!=null&&r.items)||((r=i.paginatedResult())==null||r.items==null?null:r.items.length)===0?9:10),f(2),Re((o=i.paginatedResult())!=null&&o.pagination&&((o=i.paginatedResult())==null||o.pagination==null?null:o.pagination.totalItems)>0?11:-1)}},dependencies:[ql,Ko,Hn,Nt,wn,Or,Jo,br,Gl,ra],styles:[".rounded-circle[_ngcontent-%COMP%]{max-height:50px}"]})};var Ak=(t,n)=>{let e=S(tt),i=S(hn);return e.currentUser()?!0:(i.error("You are not logged in!"),!1)};function _8(t,n){if(t&1&&(d(0,"li"),v(1),h()),t&2){let e=n.$implicit;f(),U(e)}}function y8(t,n){if(t&1&&(d(0,"div",1)(1,"ul",2),Et(2,_8,2,1,"li",null,Ka),h()()),t&2){let e=p();f(2),Tt(e.validationErrors)}}var Fm=class t{baseUrl=Yt.apiUrl;http=S(Fn);validationErrors=[];get400Error(){this.http.get(this.baseUrl+"buggy/bad-request").subscribe({next:n=>console.log(n),error:n=>console.log(n)})}get401Error(){this.http.get(this.baseUrl+"buggy/auth").subscribe({next:n=>console.log(n),error:n=>console.log(n)})}get404Error(){this.http.get(this.baseUrl+"buggy/not-found").subscribe({next:n=>console.log(n),error:n=>console.log(n)})}get500Error(){this.http.get(this.baseUrl+"buggy/server-error").subscribe({next:n=>console.log(n),error:n=>console.log(n)})}get400ValidationError(){this.http.post(this.baseUrl+"account/register",{}).subscribe({next:n=>console.log(n),error:n=>{console.log(n),this.validationErrors=n}})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-test-errors"]],decls:12,vars:1,consts:[[1,"btn","btn-outline-primary","m-3",3,"click"],[1,"row","mt-5"],[1,"text-danger"]],template:function(e,i){e&1&&(d(0,"div")(1,"button",0),D("click",function(){return i.get400Error()}),v(2,"Test 400 error"),h(),d(3,"button",0),D("click",function(){return i.get401Error()}),v(4,"Test 401 error"),h(),d(5,"button",0),D("click",function(){return i.get404Error()}),v(6,"Test 404 error"),h(),d(7,"button",0),D("click",function(){return i.get500Error()}),v(8,"Test 500 error"),h(),d(9,"button",0),D("click",function(){return i.get400ValidationError()}),v(10,"Test 400 validation error"),h(),T(11,y8,4,0,"div",1),h()),e&2&&(f(11),Re(i.validationErrors.length>0?11:-1))},encapsulation:2})};var Vm=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-not-found"]],decls:5,vars:0,consts:[[1,"container-fluid"],["routerLink","/",1,"btn","btn-info","btn-lg"]],template:function(e,i){e&1&&(d(0,"div",0)(1,"h1"),v(2,"Not found"),h(),d(3,"button",1),v(4,"Return to home page"),h()())},dependencies:[br],encapsulation:2})};function v8(t,n){if(t&1&&(d(0,"h5",0),v(1),h(),d(2,"p",1),v(3,"Note: if you are seeing this error then angular is not to blame!"),h(),d(4,"p"),v(5,"What to do next"),h(),d(6,"ol")(7,"li"),v(8,"Open chrom dev tools and check the failing network nequest in the network tab"),h(),d(9,"li"),v(10,"Examine the URL of the failing request"),h(),d(11,"li"),v(12,"Reproduce the error in postman - if you can reporduce the error then angular is not to blame"),h()(),d(13,"p",1),v(14,"Followein the stack trace - check the first 2 lines this tells you exactly whichline of code caused the problem!"),h(),d(15,"code",2),v(16),h()),t&2){let e=p();f(),Te("Error: ",e.error.message,""),f(15),U(e.error.details)}}var jm=class t{constructor(n){this.router=n;let e=this.router.getCurrentNavigation();this.error=e?.extras?.state?.error}error;static \u0275fac=function(e){return new(e||t)(y(sn))};static \u0275cmp=L({type:t,selectors:[["app-server-error"]],decls:3,vars:1,consts:[[1,"text-danger"],[1,"font-weight-bold"],[1,"mt-5",2,"background-color","whitesmoke"]],template:function(e,i){e&1&&(d(0,"h4"),v(1,"Internal Server Error"),h(),T(2,v8,17,2)),e&2&&(f(2),Re(i.error?2:-1))},encapsulation:2})};var ud=class{constructor(n){this.rawFile=n;let e=n instanceof HTMLInputElement?n.value:n;this[`_createFrom${typeof e=="string"?"FakePath":"Object"}`](e)}_createFromFakePath(n){this.lastModifiedDate=void 0,this.size=void 0,this.type=`like/${n.slice(n.lastIndexOf(".")+1).toLowerCase()}`,this.name=n.slice(n.lastIndexOf("/")+n.lastIndexOf("\\")+2)}_createFromObject(n){this.size=n.size,this.type=n.type,this.name=n.name}},LC=class{constructor(n,e,i){this.url="/",this.headers=[],this.withCredentials=!0,this.formData=[],this.isReady=!1,this.isUploading=!1,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!1,this.isError=!1,this.progress=0,this.uploader=n,this.some=e,this.options=i,this.file=new ud(e),this._file=e,n.options&&(this.method=n.options.method||"POST",this.alias=n.options.itemAlias||"file"),this.url=n.options.url}upload(){try{this.uploader.uploadItem(this)}catch{this.uploader._onCompleteItem(this,"",0,{}),this.uploader._onErrorItem(this,"",0,{})}}cancel(){this.uploader.cancelItem(this)}remove(){this.uploader.removeFromQueue(this)}onBeforeUpload(){}onBuildForm(n){return{form:n}}onProgress(n){return{progress:n}}onSuccess(n,e,i){return{response:n,status:e,headers:i}}onError(n,e,i){return{response:n,status:e,headers:i}}onCancel(n,e,i){return{response:n,status:e,headers:i}}onComplete(n,e,i){return{response:n,status:e,headers:i}}_onBeforeUpload(){this.isReady=!0,this.isUploading=!0,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!1,this.isError=!1,this.progress=0,this.onBeforeUpload()}_onBuildForm(n){this.onBuildForm(n)}_onProgress(n){this.progress=n,this.onProgress(n)}_onSuccess(n,e,i){this.isReady=!1,this.isUploading=!1,this.isUploaded=!0,this.isSuccess=!0,this.isCancel=!1,this.isError=!1,this.progress=100,this.index=void 0,this.onSuccess(n,e,i)}_onError(n,e,i){this.isReady=!1,this.isUploading=!1,this.isUploaded=!0,this.isSuccess=!1,this.isCancel=!1,this.isError=!0,this.progress=0,this.index=void 0,this.onError(n,e,i)}_onCancel(n,e,i){this.isReady=!1,this.isUploading=!1,this.isUploaded=!1,this.isSuccess=!1,this.isCancel=!0,this.isError=!1,this.progress=0,this.index=void 0,this.onCancel(n,e,i)}_onComplete(n,e,i){this.onComplete(n,e,i),this.uploader.options.removeAfterUpload&&this.remove()}_prepareToUploading(){this.index=this.index||++this.uploader._nextIndex,this.isReady=!0}},b8=(()=>{class t{static{this.mime_doc=["application/msword","application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.wordprocessingml.template","application/vnd.ms-word.document.macroEnabled.12","application/vnd.ms-word.template.macroEnabled.12"]}static{this.mime_xsl=["application/vnd.ms-excel","application/vnd.ms-excel","application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.openxmlformats-officedocument.spreadsheetml.template","application/vnd.ms-excel.sheet.macroEnabled.12","application/vnd.ms-excel.template.macroEnabled.12","application/vnd.ms-excel.addin.macroEnabled.12","application/vnd.ms-excel.sheet.binary.macroEnabled.12"]}static{this.mime_ppt=["application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.presentationml.template","application/vnd.openxmlformats-officedocument.presentationml.slideshow","application/vnd.ms-powerpoint.addin.macroEnabled.12","application/vnd.ms-powerpoint.presentation.macroEnabled.12","application/vnd.ms-powerpoint.presentation.macroEnabled.12","application/vnd.ms-powerpoint.slideshow.macroEnabled.12"]}static{this.mime_psd=["image/photoshop","image/x-photoshop","image/psd","application/photoshop","application/psd","zz-application/zz-winassoc-psd"]}static{this.mime_compress=["application/x-gtar","application/x-gcompress","application/compress","application/x-tar","application/x-rar-compressed","application/octet-stream","application/x-zip-compressed","application/zip-compressed","application/x-7z-compressed","application/gzip","application/x-bzip2"]}static getMimeClass(e){let i="application";return e?.type&&this.mime_psd.indexOf(e.type)!==-1||e?.type?.match("image.*")?i="image":e?.type?.match("video.*")?i="video":e?.type?.match("audio.*")?i="audio":e?.type==="application/pdf"?i="pdf":e?.type&&this.mime_compress.indexOf(e.type)!==-1?i="compress":e?.type&&this.mime_doc.indexOf(e.type)!==-1?i="doc":e?.type&&this.mime_xsl.indexOf(e.type)!==-1?i="xls":e?.type&&this.mime_ppt.indexOf(e.type)!==-1&&(i="ppt"),i==="application"&&e?.name&&(i=this.fileTypeDetection(e.name)),i}static fileTypeDetection(e){let i={jpg:"image",jpeg:"image",tif:"image",psd:"image",bmp:"image",png:"image",nef:"image",tiff:"image",cr2:"image",dwg:"image",cdr:"image",ai:"image",indd:"image",pin:"image",cdp:"image",skp:"image",stp:"image","3dm":"image",mp3:"audio",wav:"audio",wma:"audio",mod:"audio",m4a:"audio",compress:"compress",zip:"compress",rar:"compress","7z":"compress",lz:"compress",z01:"compress",bz2:"compress",gz:"compress",pdf:"pdf",xls:"xls",xlsx:"xls",ods:"xls",mp4:"video",avi:"video",wmv:"video",mpg:"video",mts:"video",flv:"video","3gp":"video",vob:"video",m4v:"video",mpeg:"video",m2ts:"video",mov:"video",doc:"doc",docx:"doc",eps:"doc",txt:"doc",odt:"doc",rtf:"doc",ppt:"ppt",pptx:"ppt",pps:"ppt",ppsx:"ppt",odp:"ppt"},r=e.split(".");if(r.length<2)return"application";let o=r[r.length-1].toLowerCase();return i[o]===void 0?"application":i[o]}}return t})();function C8(t){return File&&t instanceof File}var Hm=class{constructor(n){this.isUploading=!1,this.queue=[],this.progress=0,this._nextIndex=0,this.options={autoUpload:!1,isHTML5:!0,filters:[],removeAfterUpload:!1,disableMultipart:!1,formatDataFunction:e=>e._file,formatDataFunctionIsAsync:!1,url:""},this.setOptions(n),this.response=new P}setOptions(n){this.options=Object.assign(this.options,n),this.authToken=this.options.authToken,this.authTokenHeader=this.options.authTokenHeader||"Authorization",this.autoUpload=this.options.autoUpload,this.options.filters?.unshift({name:"queueLimit",fn:this._queueLimitFilter}),this.options.maxFileSize&&this.options.filters?.unshift({name:"fileSize",fn:this._fileSizeFilter}),this.options.allowedFileType&&this.options.filters?.unshift({name:"fileType",fn:this._fileTypeFilter}),this.options.allowedMimeType&&this.options.filters?.unshift({name:"mimeType",fn:this._mimeTypeFilter});for(let e=0;e{r||(r=this.options);let u=new ud(c);if(this._isValidFile(u,s,r)){let m=new LC(this,c,r);l.push(m),this.queue.push(m),this._onAfterAddingFile(m)}else if(typeof this._failFilterIndex=="number"&&this._failFilterIndex>=0){let m=s[this._failFilterIndex];this._onWhenAddingFileFailed(u,m,r)}}),this.queue.length!==a&&(this._onAfterAddingAll(l),this.progress=this._getTotalProgress()),this._render(),this.options.autoUpload&&this.uploadAll()}removeFromQueue(n){let e=this.getIndexOfItem(n),i=this.queue[e];i.isUploading&&i.cancel(),this.queue.splice(e,1),this.progress=this._getTotalProgress()}clearQueue(){for(;this.queue.length;)this.queue[0].remove();this.progress=0}uploadItem(n){let e=this.getIndexOfItem(n),i=this.queue[e],r=this.options.isHTML5?"_xhrTransport":"_iframeTransport";i._prepareToUploading(),!this.isUploading&&(this.isUploading=!0,this[r](i))}cancelItem(n){let e=this.getIndexOfItem(n),i=this.queue[e],r=this.options.isHTML5?i._xhr:i._form;i&&i.isUploading&&r.abort()}uploadAll(){let n=this.getNotUploadedItems().filter(e=>!e.isUploading);n.length&&(n.map(e=>e._prepareToUploading()),n[0].upload())}cancelAll(){this.getNotUploadedItems().map(e=>e.cancel())}isFile(n){return C8(n)}isFileLikeObject(n){return n instanceof ud}getIndexOfItem(n){return typeof n=="number"?n:this.queue.indexOf(n)}getNotUploadedItems(){return this.queue.filter(n=>!n.isUploaded)}getReadyItems(){return this.queue.filter(n=>n.isReady&&!n.isUploading).sort((n,e)=>n.index-e.index)}onAfterAddingAll(n){return{fileItems:n}}onBuildItemForm(n,e){return{fileItem:n,form:e}}onAfterAddingFile(n){return{fileItem:n}}onWhenAddingFileFailed(n,e,i){return{item:n,filter:e,options:i}}onBeforeUploadItem(n){return{fileItem:n}}onProgressItem(n,e){return{fileItem:n,progress:e}}onProgressAll(n){return{progress:n}}onSuccessItem(n,e,i,r){return{item:n,response:e,status:i,headers:r}}onErrorItem(n,e,i,r){return{item:n,response:e,status:i,headers:r}}onCancelItem(n,e,i,r){return{item:n,response:e,status:i,headers:r}}onCompleteItem(n,e,i,r){return{item:n,response:e,status:i,headers:r}}onCompleteAll(){}_mimeTypeFilter(n){return!(n?.type&&this.options.allowedMimeType&&this.options.allowedMimeType?.indexOf(n.type)===-1)}_fileSizeFilter(n){return!(this.options.maxFileSize&&n.size>this.options.maxFileSize)}_fileTypeFilter(n){return!(this.options.allowedFileType&&this.options.allowedFileType.indexOf(b8.getMimeClass(n))===-1)}_onErrorItem(n,e,i,r){n._onError(e,i,r),this.onErrorItem(n,e,i,r)}_onCompleteItem(n,e,i,r){n._onComplete(e,i,r),this.onCompleteItem(n,e,i,r);let o=this.getReadyItems()[0];if(this.isUploading=!1,o){o.upload();return}this.onCompleteAll(),this.progress=this._getTotalProgress(),this._render()}_headersGetter(n){return e=>e?n[e.toLowerCase()]||void 0:n}_xhrTransport(n){let e=this,i=n._xhr=new XMLHttpRequest,r;if(this._onBeforeUploadItem(n),typeof n._file.size!="number")throw new TypeError("The file specified is no longer valid");if(this.options.disableMultipart)this.options.formatDataFunction&&(r=this.options.formatDataFunction(n));else{r=new FormData,this._onBuildItemForm(n,r);let o=()=>r.append(n.alias,n._file,n.file.name);this.options.parametersBeforeFiles||o(),this.options.additionalParameter!==void 0&&Object.keys(this.options.additionalParameter).forEach(s=>{let a=this.options.additionalParameter?.[s];typeof a=="string"&&a.indexOf("{{file_name}}")>=0&&n.file?.name&&(a=a.replace("{{file_name}}",n.file.name)),r.append(s,a)}),o&&this.options.parametersBeforeFiles&&o()}if(i.upload.onprogress=o=>{let s=Math.round(o.lengthComputable?o.loaded*100/o.total:0);this._onProgressItem(n,s)},i.onload=()=>{let o=this._parseHeaders(i.getAllResponseHeaders()),s=this._transformResponse(i.response),l=`_on${this._isSuccessCode(i.status)?"Success":"Error"}Item`;this[l](n,s,i.status,o),this._onCompleteItem(n,s,i.status,o)},i.onerror=()=>{let o=this._parseHeaders(i.getAllResponseHeaders()),s=this._transformResponse(i.response);this._onErrorItem(n,s,i.status,o),this._onCompleteItem(n,s,i.status,o)},i.onabort=()=>{let o=this._parseHeaders(i.getAllResponseHeaders()),s=this._transformResponse(i.response);this._onCancelItem(n,s,i.status,o),this._onCompleteItem(n,s,i.status,o)},n.method&&n.url&&i.open(n.method,n.url,!0),i.withCredentials=n.withCredentials,this.options.headers)for(let o of this.options.headers)i.setRequestHeader(o.name,o.value);if(n.headers.length)for(let o of n.headers)i.setRequestHeader(o.name,o.value);this.authToken&&this.authTokenHeader&&i.setRequestHeader(this.authTokenHeader,this.authToken),i.onreadystatechange=function(){i.readyState==XMLHttpRequest.DONE&&e.response.emit(i.responseText)},this.options.formatDataFunctionIsAsync?r.then(o=>i.send(JSON.stringify(o))):i.send(r),this._render()}_getTotalProgress(n=0){if(this.options.removeAfterUpload)return n;let e=this.getNotUploadedItems().length,i=e?this.queue.length-e:this.queue.length,r=100/this.queue.length,o=n*r/100;return Math.round(i*r+o)}_getFilters(n){if(!n)return this.options?.filters||[];if(Array.isArray(n))return n;if(typeof n=="string"){let e=n.match(/[^\s,]+/g);return this.options?.filters||[].filter(i=>e?.indexOf(i.name)!==-1)}return this.options?.filters||[]}_render(){}_queueLimitFilter(){return this.options.queueLimit===void 0||this.queue.length(typeof this._failFilterIndex=="number"&&this._failFilterIndex++,r.fn.call(this,n,i))):!0}_isSuccessCode(n){return n>=200&&n<300||n===304}_transformResponse(n){return n}_parseHeaders(n){let e={},i,r,o;return n&&n.split(` -`).map(s=>{o=s.indexOf(":"),i=s.slice(0,o).trim().toLowerCase(),r=s.slice(o+1).trim(),i&&(e[i]=e[i]?e[i]+", "+r:r)}),e}_onWhenAddingFileFailed(n,e,i){this.onWhenAddingFileFailed(n,e,i)}_onAfterAddingFile(n){this.onAfterAddingFile(n)}_onAfterAddingAll(n){this.onAfterAddingAll(n)}_onBeforeUploadItem(n){n._onBeforeUpload(),this.onBeforeUploadItem(n)}_onBuildItemForm(n,e){n._onBuildForm(e),this.onBuildItemForm(n,e)}_onProgressItem(n,e){let i=this._getTotalProgress(e);this.progress=i,n._onProgress(e),this.onProgressItem(n,e),this.onProgressAll(i),this._render()}_onSuccessItem(n,e,i,r){n._onSuccess(e,i,r),this.onSuccessItem(n,e,i,r)}_onCancelItem(n,e,i,r){n._onCancel(e,i,r),this.onCancelItem(n,e,i,r)}},Rk=(()=>{class t{constructor(e){this.fileOver=new P,this.onFileDrop=new P,this.element=e}getOptions(){return this.uploader?.options}getFilters(){return""}onDrop(e){let i=this._getTransfer(e);if(!i)return;let r=this.getOptions(),o=this.getFilters();this._preventAndStop(e),r&&this.uploader?.addToQueue(i.files,r,o),this.fileOver.emit(!1),this.onFileDrop.emit(i.files)}onDragOver(e){let i=this._getTransfer(e);this._haveFiles(i.types)&&(i.dropEffect="copy",this._preventAndStop(e),this.fileOver.emit(!0))}onDragLeave(e){this.element&&e.currentTarget===this.element[0]||(this._preventAndStop(e),this.fileOver.emit(!1))}_getTransfer(e){return e.dataTransfer?e.dataTransfer:e.originalEvent.dataTransfer}_preventAndStop(e){e.preventDefault(),e.stopPropagation()}_haveFiles(e){return e?e.indexOf?e.indexOf("Files")!==-1:e.contains?e.contains("Files"):!1:!1}static{this.\u0275fac=function(i){return new(i||t)(y($))}}static{this.\u0275dir=H({type:t,selectors:[["","ng2FileDrop",""]],hostBindings:function(i,r){i&1&&D("drop",function(s){return r.onDrop(s)})("dragover",function(s){return r.onDragOver(s)})("dragleave",function(s){return r.onDragLeave(s)})},inputs:{uploader:"uploader"},outputs:{fileOver:"fileOver",onFileDrop:"onFileDrop"},standalone:!1})}}return t})();var Ok=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=be({type:t})}static{this.\u0275inj=ve({imports:[ot]})}}return t})();var D8=t=>({"nv-file-over":t}),M8=t=>({width:t}),S8=(t,n)=>n.id;function E8(t,n){if(t&1){let e=N();d(0,"div",8)(1,"button",10),D("click",function(){C(e);let r=p().$implicit,o=p();return w(o.setMainPhoto(r))}),v(2,"Main"),h(),d(3,"button",11),D("click",function(){C(e);let r=p().$implicit,o=p();return w(o.deletePhoto(r))}),A(4,"i",12),h()()}if(t&2){let e=p().$implicit;f(),g("disabled",e.isMain)("ngClass",e.isMain?"btn-success active":"btn-outline-success"),f(2),g("disabled",e.isMain)}}function T8(t,n){t&1&&(d(0,"div",9)(1,"span",13),v(2,"Waiting for approval!"),h()())}function I8(t,n){if(t&1&&(d(0,"div",1),A(1,"img",7),T(2,E8,5,3,"div",8)(3,T8,3,0,"div",9),h()),t&2){let e=n.$implicit;f(),j("not-approved",!e.isApproved),Dt("src",e.url,ft),f(),Re(e.isApproved?2:3)}}function x8(t,n){if(t&1&&(d(0,"td",26),v(1),te(2,"number"),h()),t&2){let e=p().$implicit;f(),Te("",Ja(2,1,(e==null||e.file==null?null:e.file.size)/1024/1024,".2")," MB")}}function k8(t,n){if(t&1&&(d(0,"tr")(1,"td")(2,"strong"),v(3),h()(),T(4,x8,3,4,"td",25),h()),t&2){let e=n.$implicit,i=p(2);f(3),U(e==null||e.file==null?null:e.file.name),f(),g("ngIf",i.uploader==null||i.uploader.options==null?null:i.uploader.options.isHTML5)}}function A8(t,n){if(t&1){let e=N();d(0,"div",14)(1,"h3"),v(2,"Upload queue"),h(),d(3,"p"),v(4),h(),d(5,"table",15)(6,"thead")(7,"tr")(8,"th",16),v(9,"Name"),h(),d(10,"th"),v(11,"Size"),h()()(),d(12,"tbody"),T(13,k8,5,2,"tr",17),h()(),d(14,"div")(15,"div"),v(16," Queue progress: "),d(17,"div",18),A(18,"div",19),h()(),d(19,"button",20),D("click",function(){C(e);let r=p();return w(r.uploader==null?null:r.uploader.uploadAll())}),A(20,"span",21),v(21," Upload all "),h(),d(22,"button",22),D("click",function(){C(e);let r=p();return w(r.uploader==null?null:r.uploader.cancelAll())}),A(23,"span",23),v(24," Cancel all "),h(),d(25,"button",24),D("click",function(){C(e);let r=p();return w(r.uploader==null?null:r.uploader.clearQueue())}),A(26,"span",12),v(27," Remove all "),h()()()}if(t&2){let e,i=p();f(4),Te("Queue length: ",i.uploader==null||i.uploader.queue==null?null:i.uploader.queue.length,""),f(9),g("ngForOf",i.uploader==null?null:i.uploader.queue),f(5),g("ngStyle",qr(6,M8,(i.uploader==null?null:i.uploader.progress)+"%")),f(),g("disabled",!(!(i.uploader==null||(e=i.uploader.getNotUploadedItems())==null)&&e.length)),f(3),g("disabled",!(i.uploader!=null&&i.uploader.isUploading)),f(3),g("disabled",!(!(i.uploader==null||i.uploader.queue==null)&&i.uploader.queue.length))}}var Bm=class t{memberService=S(Ar);accountService=S(tt);member=Rn.required();uploader;hasBaseDropZoneOver=!1;baseUrl=Yt.apiUrl;memberChange=Qh();ngOnInit(){this.member().photoUrl||(this.member().photoUrl="https://th.bing.com/th/id/OIP.PoS7waY4-VeqgNuBSxVUogAAAA?rs=1&pid=ImgDetMain"),this.initializeUploader()}fileOverBase(n){this.hasBaseDropZoneOver=n}deletePhoto(n){this.memberService.deletePhoto(n).subscribe({next:e=>{let i=E({},this.member());i.photos=i.photos.filter(r=>r.id!==n.id),this.memberChange.emit(i)}})}setMainPhoto(n){this.memberService.setMainPhoto(n).subscribe({next:e=>{let i=this.accountService.currentUser();i&&(i.photoUrl=n.url,this.accountService.setCurrentUser(i));let r=E({},this.member());r.photoUrl=n.url,r.photos.forEach(o=>{o.isMain&&(o.isMain=!1),o.id===n.id&&(o.isMain=!0)}),this.memberChange.emit(r)}})}initializeUploader(){this.uploader=new Hm({url:this.baseUrl+"users/add-photo",authToken:"Bearer "+this.accountService.currentUser()?.token,isHTML5:!0,allowedFileType:["image"],removeAfterUpload:!0,autoUpload:!1,maxFileSize:1*1024*1024}),this.uploader.onAfterAddingFile=n=>{n.withCredentials=!1},this.uploader.onSuccessItem=(n,e,i,r)=>{let o=JSON.parse(e),s=E({},this.member());if(s.photos.push(o),this.memberChange.emit(s),o.isMain){let a=this.accountService.currentUser();a&&(a.photoUrl=o.url,this.accountService.setCurrentUser(a)),s.photoUrl=o.url,s.photos.forEach(l=>{l.isMain&&(l.isMain=!1),l.id===o.id&&(l.isMain=!0)}),this.memberChange.emit(s)}}}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-photo-editor"]],inputs:{member:[1,"member"]},outputs:{memberChange:"memberChange"},decls:11,vars:5,consts:[[1,"row"],[1,"col-2"],[1,"row","mt-5"],[1,"col-md-4"],["ng2FileDrop","",1,"card","bg-faded","p-5","text-center","my-drop-zone",3,"fileOver","ngClass","uploader"],[1,"fa","fa-upload","fa-3x"],["class","col-md-8","style","margin-bottom: 40px;",4,"ngIf"],["alt","photo of user",1,"img-thumbnail","p-1",3,"src"],[1,"text-center"],[1,"text-center","img-text"],[1,"btn","btn-sm","me-1",3,"click","disabled","ngClass"],[1,"btn","btn-sm","btn-danger",3,"click","disabled"],[1,"fa","fa-trash"],[1,"text-danger"],[1,"col-md-8",2,"margin-bottom","40px"],[1,"table"],["width","50%"],[4,"ngFor","ngForOf"],[1,"progress"],["role","progressbar",1,"progress-bar",3,"ngStyle"],["type","button",1,"btn","btn-success","btn-s",3,"click","disabled"],[1,"fa","fa-upload"],["type","button",1,"btn","btn-warning","btn-s",3,"click","disabled"],[1,"fa","fa-ban"],["type","button",1,"btn","btn-danger","btn-s",3,"click","disabled"],["nowrap","",4,"ngIf"],["nowrap",""]],template:function(e,i){e&1&&(d(0,"div",0),Et(1,I8,4,4,"div",1,S8),h(),d(3,"div",2)(4,"div",3)(5,"h3"),v(6,"Add photos"),h(),d(7,"div",4),D("fileOver",function(o){return i.fileOverBase(o)}),A(8,"i",5),v(9," Drop photo here "),h()(),T(10,A8,28,8,"div",6),h()),e&2&&(f(),Tt(i.member().photos),f(6),g("ngClass",qr(3,D8,i.hasBaseDropZoneOver))("uploader",i.uploader),f(3),g("ngIf",i.uploader==null||i.uploader.queue==null?null:i.uploader.queue.length))},dependencies:[De,rt,Zv,on,Ok,Rk,Jv],styles:[".nv-file-over[_ngcontent-%COMP%]{border:dotted 3px red}"]})};var R8=["editForm"];function O8(t,n){t&1&&(d(0,"div",4)(1,"p")(2,"strong"),v(3,"Information: "),h(),v(4," You have made changes. Any unsaved changes will be lost "),h()())}function P8(t,n){if(t&1){let e=N();d(0,"div",1)(1,"div",2)(2,"h1"),v(3,"Your profile"),h()(),d(4,"div",3),T(5,O8,5,0,"div",4),h(),d(6,"div",2)(7,"div",5),A(8,"img",6),d(9,"div",7)(10,"div")(11,"strong"),v(12,"Location:"),h(),d(13,"p"),v(14),h()(),d(15,"div")(16,"strong"),v(17,"Age:"),h(),d(18,"p"),v(19),h()(),d(20,"div")(21,"strong"),v(22,"Last Active:"),h(),d(23,"p"),v(24),te(25,"timeago"),h()(),d(26,"div")(27,"strong"),v(28,"Member since:"),h(),d(29,"p"),v(30),te(31,"date"),h()(),d(32,"div",8)(33,"button",9),v(34,"Save changes "),h()()()()(),d(35,"div",3)(36,"tabset",10)(37,"tab",11)(38,"form",12,0),D("ngSubmit",function(){C(e);let r=p();return w(r.updateMember())}),d(40,"h4",13),v(41,"Description"),h(),d(42,"textarea",14),Fe("ngModelChange",function(r){C(e);let o=p();return Ve(o.member.introduction,r)||(o.member.introduction=r),w(r)}),v(43," "),h(),d(44,"h4",13),v(45,"Looking for"),h(),d(46,"textarea",15),Fe("ngModelChange",function(r){C(e);let o=p();return Ve(o.member.lookingFor,r)||(o.member.lookingFor=r),w(r)}),v(47," "),h(),d(48,"h4",13),v(49,"Interests"),h(),d(50,"textarea",16),Fe("ngModelChange",function(r){C(e);let o=p();return Ve(o.member.interests,r)||(o.member.interests=r),w(r)}),v(51," "),h(),d(52,"h4",13),v(53,"Location details"),h(),d(54,"div",17)(55,"label"),v(56,"City: "),h(),d(57,"input",18),Fe("ngModelChange",function(r){C(e);let o=p();return Ve(o.member.city,r)||(o.member.city=r),w(r)}),h(),d(58,"label"),v(59,"Country: "),h(),d(60,"input",19),Fe("ngModelChange",function(r){C(e);let o=p();return Ve(o.member.country,r)||(o.member.country=r),w(r)}),h()()()(),d(61,"tab",20)(62,"app-photo-editor",21),D("memberChange",function(r){C(e);let o=p();return w(o.onMemberChange(r))}),h()()()()()}if(t&2){let e=$t(39),i=p();f(5),Re(e.dirty?5:-1),f(3),Dt("src",i.member.photoUrl,ft),Dt("alt",i.member.knownAs),f(6),hr("",i.member.city,", ",i.member.country,""),f(5),U(i.member.age),f(5),Te("",pe(25,17,i.member.lastActive)," "),f(6),U(Ja(31,19,i.member.created,"dd MMM, yyyy")),f(3),g("disabled",!e.dirty),f(4),Io("heading","About ",i.member.knownAs,""),f(5),Le("ngModel",i.member.introduction),f(4),Le("ngModel",i.member.lookingFor),f(4),Le("ngModel",i.member.interests),f(7),Le("ngModel",i.member.city),f(3),Le("ngModel",i.member.country),f(2),g("member",i.member)}}var Um=class t{editForm;notify(n){this.editForm?.dirty&&(n.returnValue=!0)}member;accountService=S(tt);memberService=S(Ar);toastr=S(hn);ngOnInit(){this.loadMember()}loadMember(){let n=this.accountService.currentUser();n&&this.memberService.getMember(n.username).subscribe(e=>{this.member=e})}updateMember(){this.memberService.updateMember(this.editForm?.value).subscribe({next:()=>{this.toastr.success("Profile updated successfully!"),this.editForm?.reset(this.member)}}),this.toastr.success("Profile updated successfully!"),this.editForm?.reset(this.member)}onMemberChange(n){this.member=n}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-member-edit"]],viewQuery:function(e,i){if(e&1&&Ot(R8,5),e&2){let r;Ge(r=qe())&&(i.editForm=r.first)}},hostBindings:function(e,i){e&1&&D("beforeunload",function(o){return i.notify(o)},!1,Vc)},decls:1,vars:1,consts:[["editForm","ngForm"],[1,"row"],[1,"col-4"],[1,"col-8"],[1,"alert","pb-1","alert-info"],[1,"card"],[1,"card-img","img-thumbnail",3,"src","alt"],[1,"card-body"],[1,"card-footer"],["form","editForm","type","submit",1,"btn","btn-success","col-12",3,"disabled"],[1,"member-tabset"],[3,"heading"],["id","editForm",3,"ngSubmit"],[1,"mt-2",2,"color","black"],["name","introduction","rows","6",1,"form-control",3,"ngModelChange","ngModel"],["name","lookingFor","rows","6",1,"form-control",3,"ngModelChange","ngModel"],["name","interests","rows","6",1,"form-control",3,"ngModelChange","ngModel"],[1,"d-flex","align-items-center"],["type","text","name","city",1,"form-control","mx-2",3,"ngModelChange","ngModel"],["type","text","name","country",1,"form-control","mx-2",3,"ngModelChange","ngModel"],["heading","Edit photos"],[3,"memberChange","member"]],template:function(e,i){e&1&&T(0,P8,63,22,"div",1),e&2&&Re(i.member?0:-1)},dependencies:[Zl,Ql,oa,Hn,wr,en,Nt,Cr,wn,to,Bm,qc,Or,Jo],styles:[".img-thumbnail[_ngcontent-%COMP%]{margin:25px;width:85%;height:85%}.card-body[_ngcontent-%COMP%]{padding:0 25px}.card-footer[_ngcontent-%COMP%]{padding:10px 15px;border-top:none}"]})};function Pk(t){return t!=null&&`${t}`!="false"}var FC;try{FC=typeof Intl<"u"&&Intl.v8BreakIterator}catch{FC=!1}var Lk=(()=>{class t{constructor(e){this._platformId=e,this.isBrowser=this._platformId?xs(this._platformId):typeof document=="object"&&!!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||FC)&&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}static{this.\u0275fac=function(i){return new(i||t)(F(qn))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var Fk=(()=>{class t{constructor(e){this._platform=e}isDisabled(e){return e.hasAttribute("disabled")}isVisible(e){return L8(e)&&getComputedStyle(e).visibility==="visible"}isTabbable(e){if(!this._platform.isBrowser)return!1;let i=N8(Y8(e));if(i&&(Nk(i)===-1||!this.isVisible(i)))return!1;let r=e.nodeName.toLowerCase(),o=Nk(e);return e.hasAttribute("contenteditable")?o!==-1:r==="iframe"||r==="object"||this._platform.WEBKIT&&this._platform.IOS&&!U8(e)?!1:r==="audio"?e.hasAttribute("controls")?o!==-1:!1:r==="video"?o===-1?!1:o!==null?!0:this._platform.FIREFOX||e.hasAttribute("controls"):e.tabIndex>=0}isFocusable(e,i){return $8(e)&&!this.isDisabled(e)&&(i?.ignoreVisibility||this.isVisible(e))}static{this.\u0275fac=function(i){return new(i||t)(F(Lk))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function N8(t){try{return t.frameElement}catch{return null}}function L8(t){return!!(t.offsetWidth||t.offsetHeight||typeof t.getClientRects=="function"&&t.getClientRects().length)}function F8(t){let n=t.nodeName.toLowerCase();return n==="input"||n==="select"||n==="button"||n==="textarea"}function V8(t){return H8(t)&&t.type=="hidden"}function j8(t){return B8(t)&&t.hasAttribute("href")}function H8(t){return t.nodeName.toLowerCase()=="input"}function B8(t){return t.nodeName.toLowerCase()=="a"}function Vk(t){if(!t.hasAttribute("tabindex")||t.tabIndex===void 0)return!1;let n=t.getAttribute("tabindex");return n=="-32768"?!1:!!(n&&!isNaN(parseInt(n,10)))}function Nk(t){if(!Vk(t))return null;let n=parseInt(t.getAttribute("tabindex")||"",10);return isNaN(n)?-1:n}function U8(t){let n=t.nodeName.toLowerCase(),e=n==="input"&&t.type;return e==="text"||e==="password"||n==="select"||n==="textarea"}function $8(t){return V8(t)?!1:F8(t)||j8(t)||t.hasAttribute("contenteditable")||Vk(t)}function Y8(t){return t.ownerDocument&&t.ownerDocument.defaultView||window}var z8=(()=>{class t{constructor(){this._focusTrapStack=[]}register(e){this._focusTrapStack=this._focusTrapStack.filter(r=>r!==e);let i=this._focusTrapStack;i.length&&i[i.length-1]._disable(),i.push(e),e._enable()}deregister(e){e._disable();let i=this._focusTrapStack,r=i.indexOf(e);r!==-1&&(i.splice(r,1),i.length&&i[i.length-1]._enable())}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var VC=class{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,r,o=!1){this._element=n,this._checker=e,this._ngZone=i,this._document=r,this._hasAttached=!1,this.startAnchorListener=()=>this.focusLastTabbableElement(),this.endAnchorListener=()=>this.focusFirstTabbableElement(),this._enabled=!0,o||this.attachAnchors()}destroy(){let n=this._startAnchor,e=this._endAnchor;n&&(n.removeEventListener("focus",this.startAnchorListener),n.parentNode&&n.parentNode.removeChild(n)),e&&(e.removeEventListener("focus",this.endAnchorListener),e.parentNode&&e.parentNode.removeChild(e)),this._startAnchor=this._endAnchor=null,this._hasAttached=!1}attachAnchors(){return this._hasAttached?!0:(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(){return new Promise(n=>{this._executeOnStable(()=>n(this.focusInitialElement()))})}focusFirstTabbableElementWhenReady(){return new Promise(n=>{this._executeOnStable(()=>n(this.focusFirstTabbableElement()))})}focusLastTabbableElementWhenReady(){return new Promise(n=>{this._executeOnStable(()=>n(this.focusLastTabbableElement()))})}_getRegionBoundary(n){let e=this._element.querySelectorAll(`[cdk-focus-region-${n}], [cdkFocusRegion${n}], [cdk-focus-${n}]`);for(let i=0;i=0;i--){let r=e[i].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(e[i]):null;if(r)return r}return null}_createAnchor(){let 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(yt(1)).subscribe(n)}},W8=(()=>{class t{constructor(e,i,r){this._checker=e,this._ngZone=i,this._document=r}create(e,i=!1){return new VC(e,this._checker,this._ngZone,this._document,i)}static{this.\u0275fac=function(i){return new(i||t)(F(Fk),F(Me),F(Ie))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),jk=(()=>{class t{get enabled(){return this.focusTrap.enabled}set enabled(e){this.focusTrap.enabled=Pk(e)}get autoCapture(){return this._autoCapture}set autoCapture(e){this._autoCapture=Pk(e)}constructor(e,i,r){this._elementRef=e,this._focusTrapFactory=i,this._previouslyFocusedElement=null,this._autoCapture=!1,this._document=r,this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0)}ngOnDestroy(){this.focusTrap.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)}ngAfterContentInit(){this.focusTrap.attachAnchors(),this.autoCapture&&this._captureFocus()}ngDoCheck(){this.focusTrap.hasAttached()||this.focusTrap.attachAnchors()}ngOnChanges(e){let i=e.autoCapture;i&&!i.firstChange&&this.autoCapture&&this.focusTrap.hasAttached()&&this._captureFocus()}_captureFocus(){this._previouslyFocusedElement=this._document.activeElement,this.focusTrap.focusInitialElementWhenReady()}static{this.\u0275fac=function(i){return new(i||t)(y($),y(W8),y(Ie))}}static{this.\u0275dir=H({type:t,selectors:[["","focusTrap",""]],inputs:{enabled:[0,"cdkTrapFocus","enabled"],autoCapture:[0,"cdkTrapFocusAutoCapture","autoCapture"]},exportAs:["focusTrap"],features:[ce([z8,Lk,Fk]),xe]})}}return t})(),Hk=(()=>{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=be({type:t})}static{this.\u0275inj=ve({imports:[ot]})}}return t})();var G8=["*"],Xo=(()=>{class t{constructor(){this.hide=()=>{},this.setClass=()=>{}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})();var Bk=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),$m={backdrop:!0,keyboard:!0,focus:!0,show:!1,ignoreBackdropClick:!1,class:"",animated:!0,initialState:{},closeInterceptor:void 0},q8=new B("override-default-config"),Nr={SCROLLBAR_MEASURER:"modal-scrollbar-measure",BACKDROP:"modal-backdrop",OPEN:"modal-open",FADE:"fade",IN:"in",SHOW:"show"};var Ym={MODAL:300,BACKDROP:150},jC={BACKRDOP:"backdrop-click",ESC:"esc",BACK:"browser-back-navigation-clicked"},Q8=(()=>{class t{get isAnimated(){return this._isAnimated}set isAnimated(e){this._isAnimated=e}get isShown(){return this._isShown}set isShown(e){this._isShown=e,e?this.renderer.addClass(this.element.nativeElement,`${Nr.SHOW}`):this.renderer.removeClass(this.element.nativeElement,`${Nr.SHOW}`)}constructor(e,i){this._isAnimated=!1,this._isShown=!1,this.element=e,this.renderer=i}ngOnInit(){this.isAnimated&&(this.renderer.addClass(this.element.nativeElement,`${Nr.FADE}`),em.reflow(this.element.nativeElement)),this.isShown=!0}static{this.\u0275fac=function(i){return new(i||t)(y($),y(ke))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-modal-backdrop"]],hostAttrs:[1,"modal-backdrop"],decls:0,vars:0,template:function(i,r){},encapsulation:2})}}return t})(),Z8=1,sa=(()=>{class t{constructor(e,i,r){this.clf=i,this.modalDefaultOption=r,this.onShow=new P,this.onShown=new P,this.onHide=new P,this.onHidden=new P,this.isBodyOverflowing=!1,this.originalBodyPadding=0,this.scrollbarWidth=0,this.modalsCount=0,this.lastHiddenId=null,this.loaders=[],this._focusEl=null,this._backdropLoader=this.clf.createLoader(),this._renderer=e.createRenderer(null,null),this.config=r?Object.assign({},$m,r):$m}show(e,i){this._focusEl=jt.activeElement,this.modalsCount++,this.lastHiddenId=null,this._createLoaders();let r=i?.id||Z8++;return this.config=this.modalDefaultOption?Object.assign({},$m,this.modalDefaultOption,i):Object.assign({},$m,i),this.config.id=r,this._showBackdrop(),this.lastDismissReason=void 0,this._showModal(e)}hide(e){this.lastHiddenId!==e&&(this.lastHiddenId=e,(this.modalsCount===1||e==null)&&(this._hideBackdrop(),this.resetScrollbar()),this.modalsCount=this.modalsCount>=1&&e!=null?this.modalsCount-1:0,setTimeout(()=>{this._hideModal(e),this.removeLoaders(e)},this.config.animated?Ym.BACKDROP:0),this._focusEl&&this._focusEl.focus())}_showBackdrop(){let e=this.config.backdrop===!0||this.config.backdrop==="static",i=!this.backdropRef||!this.backdropRef.instance.isShown;this.modalsCount===1&&(this.removeBackdrop(),e&&i&&(this._backdropLoader.attach(Q8).to("body").show({isAnimated:this.config.animated}),this.backdropRef=this._backdropLoader._componentRef))}_hideBackdrop(){if(!this.backdropRef)return;this.backdropRef.instance.isShown=!1;let e=this.config.animated?Ym.BACKDROP:0;setTimeout(()=>this.removeBackdrop(),e)}_showModal(e){let i=this.loaders[this.loaders.length-1];if(this.config&&this.config.providers)for(let s of this.config.providers)i.provide(s);let r=new Xo,o=i.provide({provide:Bk,useValue:this.config}).provide({provide:Xo,useValue:r}).attach(K8).to("body");return r.hide=()=>o.instance?.hide(),r.setClass=s=>{o.instance&&(o.instance.config.class=s)},r.onHidden=new P,r.onHide=new P,this.copyEvent(i.onBeforeHide,r.onHide),this.copyEvent(i.onHidden,r.onHidden),o.show({content:e,isAnimated:this.config.animated,initialState:this.config.initialState,bsModalService:this,id:this.config.id}),o.instance&&(o.instance.level=this.getModalsCount(),r.content=i.getInnerComponent(),r.id=o.instance.config?.id),r}_hideModal(e){if(e!=null){let i=this.loaders.findIndex(o=>o.instance?.config.id===e),r=this.loaders[i];r&&r.hide(e)}else this.loaders.forEach(i=>{i.instance&&i.hide(i.instance.config.id)})}getModalsCount(){return this.modalsCount}setDismissReason(e){this.lastDismissReason=e}removeBackdrop(){this._renderer.removeClass(jt.body,Nr.OPEN),this._renderer.setStyle(jt.body,"overflow-y",""),this._backdropLoader.hide(),this.backdropRef=void 0}checkScrollbar(){this.isBodyOverflowing=jt.body.clientWidthr.instance?.config.id===e);i>=0&&(this.loaders.splice(i,1),this.loaders.forEach((r,o)=>{r.instance&&(r.instance.level=o+1)}))}else this.loaders.splice(0,this.loaders.length)}copyEvent(e,i){e.subscribe(r=>{i.emit(this.lastDismissReason||r)})}static{this.\u0275fac=function(i){return new(i||t)(F(xn),F(Qt),F(q8,8))}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),K8=(()=>{class t{constructor(e,i,r){this._element=i,this._renderer=r,this.isShown=!1,this.isAnimated=!1,this._focusEl=null,this.isModalHiding=!1,this.clickStartedInContent=!1,this.config=Object.assign({},e)}ngOnInit(){this._focusEl=jt.activeElement,this.isAnimated&&this._renderer.addClass(this._element.nativeElement,Nr.FADE),this._renderer.setStyle(this._element.nativeElement,"display","block"),setTimeout(()=>{this.isShown=!0,this._renderer.addClass(this._element.nativeElement,Nr.SHOW)},this.isAnimated?Ym.BACKDROP:0),jt&&jt.body&&(this.bsModalService&&this.bsModalService.getModalsCount()===1&&(this.bsModalService.checkScrollbar(),this.bsModalService.setScrollbar()),this._renderer.addClass(jt.body,Nr.OPEN),this._renderer.setStyle(jt.body,"overflow-y","hidden")),this._element.nativeElement&&this._element.nativeElement.focus()}onClickStarted(e){this.clickStartedInContent=e.target!==this._element.nativeElement}onClickStop(e){let i=e.target===this._element.nativeElement&&!this.clickStartedInContent;if(this.config.ignoreBackdropClick||this.config.backdrop==="static"||!i){this.clickStartedInContent=!1;return}this.bsModalService?.setDismissReason(jC.BACKRDOP),this.hide()}onPopState(){this.bsModalService?.setDismissReason(jC.BACK),this.hide()}onEsc(e){this.isShown&&((e.keyCode===27||e.key==="Escape")&&e.preventDefault(),this.config.keyboard&&this.level===this.bsModalService?.getModalsCount()&&(this.bsModalService?.setDismissReason(jC.ESC),this.hide()))}ngOnDestroy(){this.isShown&&this._hide()}hide(){if(!this.isModalHiding){if(this.config.closeInterceptor){this.config.closeInterceptor().then(()=>this._hide(),()=>{});return}this._hide()}}_hide(){this.isModalHiding=!0,this._renderer.removeClass(this._element.nativeElement,Nr.SHOW),setTimeout(()=>{this.isShown=!1,this.bsModalService?.hide(this.config.id),jt&&jt.body&&this.bsModalService?.getModalsCount()===0&&(this._renderer.removeClass(jt.body,Nr.OPEN),this._renderer.setStyle(jt.body,"overflow-y","")),this.bsModalService?.hide(this.config.id),this.isModalHiding=!1,this._focusEl&&this._focusEl.focus()},this.isAnimated?Ym.MODAL:0)}static{this.\u0275fac=function(i){return new(i||t)(y(Bk),y($),y(ke))}}static{this.\u0275cmp=L({type:t,selectors:[["modal-container"]],hostAttrs:["role","dialog","tabindex","-1",1,"modal"],hostVars:3,hostBindings:function(i,r){i&1&&D("mousedown",function(s){return r.onClickStarted(s)})("click",function(s){return r.onClickStop(s)})("popstate",function(){return r.onPopState()},!1,Vc)("keydown.esc",function(s){return r.onEsc(s)},!1,Vc),i&2&&J("aria-modal",!0)("aria-labelledby",r.config.ariaLabelledBy)("aria-describedby",r.config.ariaDescribedby)},features:[ce([sa])],ngContentSelectors:G8,decls:3,vars:2,consts:[["role","document","focusTrap",""],[1,"modal-content"]],template:function(i,r){i&1&&(Pn(),d(0,"div",0)(1,"div",1),Cn(2),h()()),i&2&&Jt("modal-dialog"+(r.config.class?" "+r.config.class:""))},dependencies:[jk],encapsulation:2})}}return t})();var Uk=(()=>{class t{static forRoot(){return{ngModule:t,providers:[sa,Qt,nn]}}static forChild(){return{ngModule:t,providers:[sa,Qt,nn]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=be({type:t})}static{this.\u0275inj=ve({imports:[Hk]})}}return t})();var zm=class t{bsModalRef=S(Xo);title="";message="";btnOkText="";btnCancelText="";result=!1;confirm(){this.result=!0,this.bsModalRef.hide()}decline(){this.bsModalRef.hide()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-confirm-dialog"]],decls:11,vars:4,consts:[[1,"modal-header"],[1,"modal-title","pull-left"],[1,"modal-body"],[1,"modal-footer"],["type","button",1,"btn","btn-success",3,"click"],["type","button",1,"btn","btn-danger",3,"click"]],template:function(e,i){e&1&&(d(0,"div",0)(1,"h4",1),v(2),h()(),d(3,"div",2)(4,"p"),v(5),h()(),d(6,"div",3)(7,"button",4),D("click",function(){return i.confirm()}),v(8),h(),d(9,"button",5),D("click",function(){return i.decline()}),v(10),h()()),e&2&&(f(2),U(i.title),f(3),U(i.message),f(3),U(i.btnOkText),f(2),U(i.btnCancelText))},encapsulation:2})};var Wm=class t{bsModalRef;modalService=S(sa);confirm(n="Confirmation",e="Are you sure you want to do this?",i="Ok",r="Cancel"){let o={initialState:{title:n,message:e,btnOkText:i,btnCancelText:r}};return this.bsModalRef=this.modalService.show(zm,o),this.bsModalRef.onHidden?.pipe(G(()=>this.bsModalRef?.content?this.bsModalRef.content.result:!1))}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};var $k=(t,n,e,i)=>{let r=S(Wm);return t.editForm?.dirty?r.confirm()??!1:!0};var Yk=(t,n)=>{let e=S(Ar),i=t.paramMap.get("username");return i?e.getMember(i):null};var ic=class t{baseUrl=Yt.apiUrl;http=S(Fn);getUserWithRoles(){return this.http.get(this.baseUrl+"admin/users-with-roles")}updateUserRoles(n,e){return this.http.post(this.baseUrl+"admin/edit-roles/"+n+"?roles="+e,{})}getPhotosForApproval(){return this.http.get(this.baseUrl+"admin/photos-to-moderate")}approvePhoto(n){return this.http.post(this.baseUrl+"admin/approve-photo/"+n,{})}rejectPhoto(n){return this.http.post(this.baseUrl+"admin/reject-photo/"+n,{})}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};function J8(t,n){if(t&1){let e=N();d(0,"div",5)(1,"input",8),D("change",function(){let r=C(e).$implicit,o=p();return w(o.updateChecked(r))}),h(),d(2,"label"),v(3),h()()}if(t&2){let e=n.$implicit,i=p();f(),g("checked",i.selectedRoles.includes(e))("disabled",e==="Admin"&&i.username==="admin"),f(2),U(e)}}var Gm=class t{bsModalRef=S(Xo);title="";availableRoles=[];selectedRoles=[];username="";rolesUpdated=!1;updateChecked(n){this.selectedRoles.includes(n)?this.selectedRoles=this.selectedRoles.filter(e=>e!==n):this.selectedRoles.push(n)}onSelectRoles(){this.rolesUpdated=!0,this.bsModalRef.hide()}hide(){this.bsModalRef.hide()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-roles-modal"]],decls:12,vars:2,consts:[[1,"modal-header"],[1,"modal-title","pull-left"],["type","button",1,"btn-close","close","pull-right",3,"click"],[1,"visually-hidden"],[1,"modal-body"],[1,"form-check"],[1,"modal-footer"],["type","button",1,"btn","btn-success",3,"click","disabled"],["type","checkbox","value","role",1,"form-check-input",3,"change","checked","disabled"]],template:function(e,i){e&1&&(d(0,"div",0)(1,"h4",1),v(2),h(),d(3,"button",2),D("click",function(){return i.hide()}),d(4,"span",3),v(5,"\xD7"),h()()(),d(6,"div",4),Et(7,J8,4,3,"div",5,Ka),h(),d(9,"div",6)(10,"button",7),D("click",function(){return i.onSelectRoles()}),v(11,"Submit"),h()()),e&2&&(f(2),U(i.title),f(5),Tt(i.availableRoles),f(3),g("disabled",i.selectedRoles.length===0))},encapsulation:2})};var X8=(t,n)=>n.username;function eG(t,n){if(t&1){let e=N();d(0,"tr")(1,"td"),v(2),h(),d(3,"td"),v(4),h(),d(5,"td")(6,"button",4),D("click",function(){let r=C(e).$implicit,o=p();return w(o.openRolesModal(r))}),v(7,"Edit roles"),h()()()}if(t&2){let e=n.$implicit;f(2),U(e.username),f(2),U(e.roles)}}var qm=class t{adminService=S(ic);modalService=S(sa);bsModalRef=new Xo;users=[];ngOnInit(){this.getUserWithRoles()}getUserWithRoles(){this.adminService.getUserWithRoles().subscribe({next:n=>this.users=n})}openRolesModal(n){let e={class:"modal-lg",initialState:{title:"User roles",username:n.username,selectedRoles:[...n.roles],availableRoles:["Admin","Moderator","Member"],users:this.users,rolesUpdated:!1}};this.bsModalRef=this.modalService.show(Gm,e),this.bsModalRef.onHide?.subscribe({next:()=>{if(this.bsModalRef.content&&this.bsModalRef.content.rolesUpdated){let i=this.bsModalRef.content.selectedRoles;this.adminService.updateUserRoles(n.username,i).subscribe({next:r=>n.roles=r})}}})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-user-management"]],decls:12,vars:0,consts:[[1,"row"],[1,"table"],[2,"width","30%"],[2,"width","40%"],[1,"btn","btn-info",3,"click"]],template:function(e,i){e&1&&(d(0,"div",0)(1,"table",1)(2,"thead")(3,"tr")(4,"th",2),v(5,"Username"),h(),d(6,"th",3),v(7,"Active roles"),h(),A(8,"th",2),h()(),d(9,"tbody"),Et(10,eG,8,2,"tr",null,X8),h()()()),e&2&&(f(10),Tt(i.users))},encapsulation:2})};var rc=class t{appHasRole=[];accountService=S(tt);viewContainerRef=S(pt);templateRef=S(St);ngOnInit(){this.accountService.roles()?.some(n=>this.appHasRole.includes(n))?this.viewContainerRef.createEmbeddedView(this.templateRef):this.viewContainerRef.clear()}static \u0275fac=function(e){return new(e||t)};static \u0275dir=H({type:t,selectors:[["","appHasRole",""]],inputs:{appHasRole:"appHasRole"}})};var tG=(t,n)=>n.id;function nG(t,n){if(t&1){let e=N();d(0,"div",2)(1,"div",4)(2,"img",5),D("click",function(){let r=C(e).$implicit,o=p();return w(o.openPhotoModal(r))}),h(),d(3,"div",6)(4,"button",7),D("click",function(){let r=C(e).$implicit,o=p();return w(o.approvePhoto(r.id))}),A(5,"i",8),v(6," Approve "),h(),d(7,"button",9),D("click",function(){let r=C(e).$implicit,o=p();return w(o.rejectPhoto(r.id))}),A(8,"i",10),v(9," Reject "),h()()()()}if(t&2){let e=n.$implicit;f(2),Dt("src",e.url,ft)}}function iG(t,n){if(t&1){let e=N();d(0,"div",25)(1,"textarea",30),Fe("ngModelChange",function(r){C(e);let o=p(2);return Ve(o.adminMessage,r)||(o.adminMessage=r),w(r)}),h()()}if(t&2){let e=p(2);f(),Le("ngModel",e.adminMessage)}}function rG(t,n){if(t&1){let e=N();d(0,"div",11)(1,"div",12),D("click",function(){C(e);let r=p();return w(r.closePhotoModal())}),h(),d(2,"div",13)(3,"div",14)(4,"h5",15),v(5,"Photo Preview"),h(),d(6,"button",16),D("click",function(){C(e);let r=p();return w(r.closePhotoModal())}),h()(),d(7,"div",17),A(8,"img",18),h(),d(9,"div",19)(10,"div",20)(11,"div",21)(12,"input",22),Fe("ngModelChange",function(r){C(e);let o=p();return Ve(o.isAnonymous,r)||(o.isAnonymous=r),w(r)}),h(),d(13,"label",23),A(14,"i",24),v(15," Send message "),h()()(),T(16,iG,2,1,"div",25),d(17,"div",26)(18,"button",7),D("click",function(){C(e);let r=p();return r.approvePhoto(r.selectedPhoto.id),w(r.closePhotoModal())}),A(19,"i",8),v(20," Approve "),h(),d(21,"button",27),D("click",function(){C(e);let r=p();return r.rejectPhoto(r.selectedPhoto.id),w(r.closePhotoModal())}),A(22,"i",10),v(23," Reject "),h(),d(24,"button",28),D("click",function(){C(e);let r=p();return w(r.closePhotoModal())}),A(25,"i",29),v(26," Close "),h()()()()()}if(t&2){let e=p();j("show",e.isModalOpen),f(8),g("src",e.selectedPhoto.url,ft),f(4),Le("ngModel",e.isAnonymous),f(4),Re(e.isAnonymous?16:-1)}}var Qm=class t{adminservice=S(ic);toastrService=S(hn);messageService=S(Pr);accountService=S(tt);selectedPhoto=null;isModalOpen=!1;photos=[];isAnonymous=!1;adminMessage="";ngOnInit(){this.approvePhotosForApproval()}approvePhotosForApproval(){this.adminservice.getPhotosForApproval().subscribe({next:n=>this.photos=n,error:n=>{this.toastrService.error("Failed to load photos"),console.log(n)}})}approvePhoto(n){this.isAnonymous&&(this.adminMessage!=""?this.sendMessage():this.toastrService.error("Type in the message, that you have decided to send!")),this.adminservice.approvePhoto(n).subscribe({next:()=>this.photos.splice(this.photos.findIndex(e=>e.id===n),1),error:e=>{this.toastrService.error("Failed to approve photo"),console.log(e)}})}rejectPhoto(n){this.isAnonymous&&(this.adminMessage!=""?this.sendMessage():this.toastrService.error("Type in the message, that you have decided to send!")),this.adminservice.rejectPhoto(n).subscribe({next:()=>this.photos.splice(this.photos.findIndex(e=>e.id===n),1),error:e=>{this.toastrService.error("Failed to reject photo"),console.log(e)}})}sendMessage(){let n=`Regarding your photo: ${this.adminMessage}`;if(this.selectedPhoto?.username){if(!this.accountService.currentUser){this.toastrService.error("You must be logged in to send messages");return}this.messageService.sendMessage(this.selectedPhoto.username,n)?.then(()=>{console.log(`Anonymous message sent to ${this.selectedPhoto?.username}`)}).catch(i=>{console.error("Error sending message:",i),this.toastrService.error("Failed to send notification message")})}else this.toastrService.error("No username selected for the photo")}openPhotoModal(n){this.selectedPhoto=n,this.isModalOpen=!0,this.isAnonymous=!1,this.adminMessage="";let e=this.accountService.currentUser();e&&(this.messageService.createHubConnection(e,this.selectedPhoto.username),document.body.classList.add("modal-open"))}closePhotoModal(){this.messageService.stopHubConnection(),this.isModalOpen=!1,document.body.classList.remove("modal-open"),setTimeout(()=>{this.selectedPhoto=null,this.isAnonymous=!1,this.adminMessage=""},300)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-photo-management"]],decls:5,vars:1,consts:[[1,"photo-gallery-container"],[1,"row","g-3"],[1,"col-sm-6","col-md-4","col-lg-3","mb-3"],[1,"photo-modal",3,"show"],[1,"photo-card"],["alt","photo waiting to be approved",1,"img-thumbnail","photo-image",3,"click","src"],[1,"action-buttons","mt-2"],[1,"btn","btn-success","me-2",3,"click"],[1,"bi","bi-check-lg"],[1,"btn","btn-danger",3,"click"],[1,"bi","bi-x-lg"],[1,"photo-modal"],[1,"modal-backdrop",3,"click"],[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button",1,"btn-close",3,"click"],[1,"modal-body"],["alt","enlarged photo",1,"modal-image",3,"src"],[1,"modal-footer"],[1,"anonymity-toggle","mb-3"],[1,"form-check","form-switch"],["type","checkbox","id","anonymitySwitch",1,"form-check-input",3,"ngModelChange","ngModel"],["for","anonymitySwitch",1,"form-check-label"],[1,"bi","bi-incognito","me-1"],[1,"admin-message","mb-3","w-100"],[1,"action-buttons"],[1,"btn","btn-danger","me-2",3,"click"],[1,"btn","btn-secondary",3,"click"],[1,"bi","bi-x"],["rows","3","placeholder","Enter message...",1,"form-control",3,"ngModelChange","ngModel"]],template:function(e,i){e&1&&(d(0,"div",0)(1,"div",1),Et(2,nG,10,1,"div",2,tG),h(),T(4,rG,27,5,"div",3),h()),e&2&&(f(2),Tt(i.photos),f(2),Re(i.selectedPhoto?4:-1))},dependencies:[rx,Hn,en,H0,Nt,wn],styles:['img.img-thumbnail[_ngcontent-%COMP%]{height:175px;min-width:175px!important;margin-bottom:2px}[_nghost-%COMP%]{--bg-color: #121212;--card-bg: #1e1e1e;--text-color: #e0e0e0;--border-color: #333;--btn-success-bg: #2e7d32;--btn-success-hover: #388e3c;--btn-danger-bg: #c62828;--btn-danger-hover: #d32f2f;--btn-secondary-bg: #424242;--btn-secondary-hover: #616161;--modal-bg: #212121;--input-bg: #2c2c2c;--input-border: #444;--switch-active: #2e7d32}.photo-gallery-container[_ngcontent-%COMP%]{background-color:var(--bg-color);color:var(--text-color);padding:1.5rem;min-height:100vh}.photo-card[_ngcontent-%COMP%]{background-color:var(--card-bg);border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0000004d;transition:transform .2s ease}.photo-card[_ngcontent-%COMP%]:hover{transform:translateY(-5px)}.photo-image[_ngcontent-%COMP%]{width:100%;height:200px;object-fit:cover;cursor:pointer;border:1px solid var(--border-color);background-color:var(--card-bg)}.action-buttons[_ngcontent-%COMP%]{display:flex;justify-content:center;padding:.75rem;gap:.5rem}.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;font-weight:500;border:none;border-radius:6px;transition:all .2s ease;padding:.5rem 1rem}.action-buttons[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:5px}.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%]{background-color:var(--btn-success-bg)}.action-buttons[_ngcontent-%COMP%] .btn-success[_ngcontent-%COMP%]:hover{background-color:var(--btn-success-hover)}.action-buttons[_ngcontent-%COMP%] .btn-danger[_ngcontent-%COMP%]{background-color:var(--btn-danger-bg)}.action-buttons[_ngcontent-%COMP%] .btn-danger[_ngcontent-%COMP%]:hover{background-color:var(--btn-danger-hover)}.action-buttons[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%]{background-color:var(--btn-secondary-bg)}.action-buttons[_ngcontent-%COMP%] .btn-secondary[_ngcontent-%COMP%]:hover{background-color:var(--btn-secondary-hover)}.photo-modal[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:1050;display:flex;justify-content:center;align-items:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.photo-modal.show[_ngcontent-%COMP%]{opacity:1;visibility:visible}.modal-backdrop[_ngcontent-%COMP%]{position:absolute;inset:0;background-color:#000c}.modal-content[_ngcontent-%COMP%]{position:relative;background-color:var(--modal-bg);border-radius:12px;width:90%;max-width:800px;box-shadow:0 10px 25px #00000080;max-height:90vh;display:flex;flex-direction:column;z-index:1051}.modal-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color)}.modal-header[_ngcontent-%COMP%] .modal-title[_ngcontent-%COMP%]{margin:0;color:var(--text-color);font-size:1.25rem}.modal-header[_ngcontent-%COMP%] .btn-close[_ngcontent-%COMP%]{color:var(--text-color);opacity:.7;background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.25rem}.modal-header[_ngcontent-%COMP%] .btn-close[_ngcontent-%COMP%]:hover{opacity:1}.modal-header[_ngcontent-%COMP%] .btn-close[_ngcontent-%COMP%]:after{content:"\\d7"}.modal-body[_ngcontent-%COMP%]{padding:1rem;overflow-y:auto;display:flex;justify-content:center;align-items:center}.modal-body[_ngcontent-%COMP%] .modal-image[_ngcontent-%COMP%]{max-width:100%;max-height:60vh;object-fit:contain;border-radius:4px}.modal-footer[_ngcontent-%COMP%]{padding:1rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;align-items:stretch}.anonymity-toggle[_ngcontent-%COMP%]{align-self:flex-start;margin-bottom:1rem}.form-check-input[_ngcontent-%COMP%]{background-color:var(--input-bg);border-color:var(--input-border);width:40px;height:20px;cursor:pointer}.form-check-input[_ngcontent-%COMP%]:checked{background-color:var(--switch-active);border-color:var(--switch-active)}.admin-message[_ngcontent-%COMP%]{margin-bottom:1rem;width:100%}.form-control[_ngcontent-%COMP%]{background-color:var(--input-bg);border-color:var(--input-border);color:var(--text-color);resize:vertical;border-radius:6px;padding:.75rem;transition:border-color .2s ease}.form-control[_ngcontent-%COMP%]:focus{border-color:#777;box-shadow:0 0 0 .2rem #54545440}.form-check-label[_ngcontent-%COMP%]{cursor:pointer;display:flex;align-items:center;-webkit-user-select:none;user-select:none}']})};var oG=()=>["Admin"],sG=()=>["Admin","Moderator"];function aG(t,n){t&1&&(d(0,"tab",4)(1,"div",5),A(2,"app-user-management"),h()())}function lG(t,n){t&1&&(d(0,"tab",6)(1,"div",5),A(2,"app-photo-management"),h()())}var Zm=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-admin-panel"]],decls:6,vars:4,consts:[[1,"tab-panel"],[1,"member-tabset"],["heading","User management",4,"appHasRole"],["heading","Photo management",4,"appHasRole"],["heading","User management"],[1,"container"],["heading","Photo management"]],template:function(e,i){e&1&&(d(0,"h2"),v(1,"Admin panel"),h(),d(2,"div",0)(3,"tabset",1),T(4,aG,3,0,"tab",2)(5,lG,3,0,"tab",3),h()()),e&2&&(f(4),g("appHasRole",Gr(2,oG)),f(),g("appHasRole",Gr(3,sG)))},dependencies:[Zl,Ql,oa,qm,rc,Qm],encapsulation:2})};var zk=(t,n)=>{let e=S(tt),i=S(hn);return e.roles().includes("Admin")||e.roles().includes("Moderator")?!0:(i.error("You cannot enter this area"),!1)};var Wk=[{path:"",component:id},{path:"",runGuardsAndResolvers:"always",canActivate:[Ak],children:[{path:"members",component:ym},{path:"members/:username",component:Pm,resolve:{member:Yk}},{path:"member/edit",component:Um,canDeactivate:[$k]},{path:"lists",component:Nm},{path:"messages",component:Lm},{path:"admin",component:Zm,canActivate:[zk]}]},{path:"errors",component:Fm},{path:"not-found",component:Vm},{path:"server-error",component:jm},{path:"**",component:id,pathMatch:"full"}];function Gk(t){return new R(3e3,!1)}function cG(){return new R(3100,!1)}function uG(){return new R(3101,!1)}function dG(t){return new R(3001,!1)}function hG(t){return new R(3003,!1)}function fG(t){return new R(3004,!1)}function Qk(t,n){return new R(3005,!1)}function Zk(){return new R(3006,!1)}function Kk(){return new R(3007,!1)}function Jk(t,n){return new R(3008,!1)}function Xk(t){return new R(3002,!1)}function eA(t,n,e,i,r){return new R(3010,!1)}function tA(){return new R(3011,!1)}function nA(){return new R(3012,!1)}function iA(){return new R(3200,!1)}function rA(){return new R(3202,!1)}function oA(){return new R(3013,!1)}function sA(t){return new R(3014,!1)}function aA(t){return new R(3015,!1)}function lA(t){return new R(3016,!1)}function cA(t,n){return new R(3404,!1)}function pG(t){return new R(3502,!1)}function uA(t){return new R(3503,!1)}function dA(){return new R(3300,!1)}function hA(t){return new R(3504,!1)}function fA(t){return new R(3301,!1)}function pA(t,n){return new R(3302,!1)}function mA(t){return new R(3303,!1)}function gA(t,n){return new R(3400,!1)}function _A(t){return new R(3401,!1)}function yA(t){return new R(3402,!1)}function vA(t,n){return new R(3505,!1)}function uo(t){switch(t.length){case 0:return new Tr;case 1:return t[0];default:return new Us(t)}}function $C(t,n,e=new Map,i=new Map){let r=[],o=[],s=-1,a=null;if(n.forEach(l=>{let c=l.get("offset"),u=c==s,m=u&&a||new Map;l.forEach((b,_)=>{let M=_,I=b;if(_!=="offset")switch(M=t.normalizePropertyName(M,r),I){case wl:I=e.get(_);break;case wi:I=i.get(_);break;default:I=t.normalizeStyleValue(_,M,I,r);break}m.set(M,I)}),u||o.push(m),a=m,s=c}),r.length)throw pG(r);return o}function Km(t,n,e,i){switch(n){case"start":t.onStart(()=>i(e&&HC(e,"start",t)));break;case"done":t.onDone(()=>i(e&&HC(e,"done",t)));break;case"destroy":t.onDestroy(()=>i(e&&HC(e,"destroy",t)));break}}function HC(t,n,e){let i=e.totalTime,r=!!e.disabled,o=Jm(t.element,t.triggerName,t.fromState,t.toState,n||t.phaseName,i??t.totalTime,r),s=t._data;return s!=null&&(o._data=s),o}function Jm(t,n,e,i,r="",o=0,s){return{element:t,triggerName:n,fromState:e,toState:i,phaseName:r,totalTime:o,disabled:!!s}}function Un(t,n,e){let i=t.get(n);return i||t.set(n,i=e),i}function YC(t){let n=t.indexOf(":"),e=t.substring(1,n),i=t.slice(n+1);return[e,i]}var mG=typeof document>"u"?null:document.documentElement;function Xm(t){let n=t.parentNode||t.host||null;return n===mG?null:n}function gG(t){return t.substring(1,6)=="ebkit"}var aa=null,qk=!1;function bA(t){aa||(aa=_G()||{},qk=aa.style?"WebkitAppearance"in aa.style:!1);let n=!0;return aa.style&&!gG(t)&&(n=t in aa.style,!n&&qk&&(n="Webkit"+t.charAt(0).toUpperCase()+t.slice(1)in aa.style)),n}function _G(){return typeof document<"u"?document.body:null}function zC(t,n){for(;n;){if(n===t)return!0;n=Xm(n)}return!1}function WC(t,n,e){if(e)return Array.from(t.querySelectorAll(n));let i=t.querySelector(n);return i?[i]:[]}var yG=1e3,GC="{{",vG="}}",qC="ng-enter",eg="ng-leave",dd="ng-trigger",hd=".ng-trigger",QC="ng-animating",tg=".ng-animating";function Lr(t){if(typeof t=="number")return t;let n=t.match(/^(-?[\.\d]+)(m?s)/);return!n||n.length<2?0:BC(parseFloat(n[1]),n[2])}function BC(t,n){switch(n){case"s":return t*yG;default:return t}}function fd(t,n,e){return t.hasOwnProperty("duration")?t:bG(t,n,e)}function bG(t,n,e){let i=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i,r,o=0,s="";if(typeof t=="string"){let a=t.match(i);if(a===null)return n.push(Gk(t)),{duration:0,delay:0,easing:""};r=BC(parseFloat(a[1]),a[2]);let l=a[3];l!=null&&(o=BC(parseFloat(l),a[4]));let c=a[5];c&&(s=c)}else r=t;if(!e){let a=!1,l=n.length;r<0&&(n.push(cG()),a=!0),o<0&&(n.push(uG()),a=!0),a&&n.splice(l,0,Gk(t))}return{duration:r,delay:o,easing:s}}function CA(t){return t.length?t[0]instanceof Map?t:t.map(n=>new Map(Object.entries(n))):[]}function er(t,n,e){n.forEach((i,r)=>{let o=ng(r);e&&!e.has(r)&&e.set(r,t.style[o]),t.style[o]=i})}function es(t,n){n.forEach((e,i)=>{let r=ng(i);t.style[r]=""})}function oc(t){return Array.isArray(t)?t.length==1?t[0]:Fp(t):t}function wA(t,n,e){let i=n.params||{},r=ZC(t);r.length&&r.forEach(o=>{i.hasOwnProperty(o)||e.push(dG(o))})}var UC=new RegExp(`${GC}\\s*(.+?)\\s*${vG}`,"g");function ZC(t){let n=[];if(typeof t=="string"){let e;for(;e=UC.exec(t);)n.push(e[1]);UC.lastIndex=0}return n}function sc(t,n,e){let i=`${t}`,r=i.replace(UC,(o,s)=>{let a=n[s];return a==null&&(e.push(hG(s)),a=""),a.toString()});return r==i?t:r}var CG=/-+([a-z0-9])/g;function ng(t){return t.replace(CG,(...n)=>n[1].toUpperCase())}function DA(t,n){return t===0||n===0}function MA(t,n,e){if(e.size&&n.length){let i=n[0],r=[];if(e.forEach((o,s)=>{i.has(s)||r.push(s),i.set(s,o)}),r.length)for(let o=1;os.set(a,ig(t,a)))}}return n}function $n(t,n,e){switch(n.type){case ue.Trigger:return t.visitTrigger(n,e);case ue.State:return t.visitState(n,e);case ue.Transition:return t.visitTransition(n,e);case ue.Sequence:return t.visitSequence(n,e);case ue.Group:return t.visitGroup(n,e);case ue.Animate:return t.visitAnimate(n,e);case ue.Keyframes:return t.visitKeyframes(n,e);case ue.Style:return t.visitStyle(n,e);case ue.Reference:return t.visitReference(n,e);case ue.AnimateChild:return t.visitAnimateChild(n,e);case ue.AnimateRef:return t.visitAnimateRef(n,e);case ue.Query:return t.visitQuery(n,e);case ue.Stagger:return t.visitStagger(n,e);default:throw fG(n.type)}}function ig(t,n){return window.getComputedStyle(t)[n]}var fw=(()=>{class t{validateStyleProperty(e){return bA(e)}containsElement(e,i){return zC(e,i)}getParentElement(e){return Xm(e)}query(e,i,r){return WC(e,i,r)}computeStyle(e,i,r){return r||""}animate(e,i,r,o,s,a=[],l){return new Tr(r,o)}static \u0275fac=function(i){return new(i||t)};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})(),ca=class{static NOOP=new fw},ua=class{};var wG=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"]),lg=class extends ua{normalizePropertyName(n,e){return ng(n)}normalizeStyleValue(n,e,i,r){let o="",s=i.toString().trim();if(wG.has(e)&&i!==0&&i!=="0")if(typeof i=="number")o="px";else{let a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&a[1].length==0&&r.push(Qk(n,i))}return s+o}};var cg="*";function DG(t,n){let e=[];return typeof t=="string"?t.split(/\s*,\s*/).forEach(i=>MG(i,e,n)):e.push(t),e}function MG(t,n,e){if(t[0]==":"){let l=SG(t,e);if(typeof l=="function"){n.push(l);return}t=l}let i=t.match(/^(\*|[-\w]+)\s*()\s*(\*|[-\w]+)$/);if(i==null||i.length<4)return e.push(aA(t)),n;let r=i[1],o=i[2],s=i[3];n.push(SA(r,s));let a=r==cg&&s==cg;o[0]=="<"&&!a&&n.push(SA(s,r))}function SG(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) *"}}var rg=new Set(["true","1"]),og=new Set(["false","0"]);function SA(t,n){let e=rg.has(t)||og.has(t),i=rg.has(n)||og.has(n);return(r,o)=>{let s=t==cg||t==r,a=n==cg||n==o;return!s&&e&&typeof r=="boolean"&&(s=r?rg.has(t):og.has(t)),!a&&i&&typeof o=="boolean"&&(a=o?rg.has(n):og.has(n)),s&&a}}var NA=":self",EG=new RegExp(`s*${NA}s*,?`,"g");function LA(t,n,e,i){return new nw(t).build(n,e,i)}var EA="",nw=class{_driver;constructor(n){this._driver=n}build(n,e,i){let r=new iw(e);return this._resetContextStyleTimingState(r),$n(this,oc(n),r)}_resetContextStyleTimingState(n){n.currentQuerySelector=EA,n.collectedStyles=new Map,n.collectedStyles.set(EA,new Map),n.currentTime=0}visitTrigger(n,e){let i=e.queryCount=0,r=e.depCount=0,o=[],s=[];return n.name.charAt(0)=="@"&&e.errors.push(Zk()),n.definitions.forEach(a=>{if(this._resetContextStyleTimingState(e),a.type==ue.State){let l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(u=>{l.name=u,o.push(this.visitState(l,e))}),l.name=c}else if(a.type==ue.Transition){let l=this.visitTransition(a,e);i+=l.queryCount,r+=l.depCount,s.push(l)}else e.errors.push(Kk())}),{type:ue.Trigger,name:n.name,states:o,transitions:s,queryCount:i,depCount:r,options:null}}visitState(n,e){let i=this.visitStyle(n.styles,e),r=n.options&&n.options.params||null;if(i.containsDynamicStyles){let o=new Set,s=r||{};i.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{ZC(l).forEach(c=>{s.hasOwnProperty(c)||o.add(c)})})}),o.size&&e.errors.push(Jk(n.name,[...o.values()]))}return{type:ue.State,name:n.name,style:i,options:r?{params:r}:null}}visitTransition(n,e){e.queryCount=0,e.depCount=0;let i=$n(this,oc(n.animation),e),r=DG(n.expr,e.errors);return{type:ue.Transition,matchers:r,animation:i,queryCount:e.queryCount,depCount:e.depCount,options:la(n.options)}}visitSequence(n,e){return{type:ue.Sequence,steps:n.steps.map(i=>$n(this,i,e)),options:la(n.options)}}visitGroup(n,e){let i=e.currentTime,r=0,o=n.steps.map(s=>{e.currentTime=i;let a=$n(this,s,e);return r=Math.max(r,e.currentTime),a});return e.currentTime=r,{type:ue.Group,steps:o,options:la(n.options)}}visitAnimate(n,e){let i=kG(n.timings,e.errors);e.currentAnimateTimings=i;let r,o=n.styles?n.styles:bt({});if(o.type==ue.Keyframes)r=this.visitKeyframes(o,e);else{let s=n.styles,a=!1;if(!s){a=!0;let c={};i.easing&&(c.easing=i.easing),s=bt(c)}e.currentTime+=i.duration+i.delay;let l=this.visitStyle(s,e);l.isEmptyStep=a,r=l}return e.currentAnimateTimings=null,{type:ue.Animate,timings:i,style:r,options:null}}visitStyle(n,e){let i=this._makeStyleAst(n,e);return this._validateStyleAst(i,e),i}_makeStyleAst(n,e){let i=[],r=Array.isArray(n.styles)?n.styles:[n.styles];for(let a of r)typeof a=="string"?a===wi?i.push(a):e.errors.push(Xk(a)):i.push(new Map(Object.entries(a)));let o=!1,s=null;return i.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(s=a.get("easing"),a.delete("easing")),!o)){for(let l of a.values())if(l.toString().indexOf(GC)>=0){o=!0;break}}}),{type:ue.Style,styles:i,easing:s,offset:n.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(n,e){let i=e.currentAnimateTimings,r=e.currentTime,o=e.currentTime;i&&o>0&&(o-=i.duration+i.delay),n.styles.forEach(s=>{typeof s!="string"&&s.forEach((a,l)=>{let c=e.collectedStyles.get(e.currentQuerySelector),u=c.get(l),m=!0;u&&(o!=r&&o>=u.startTime&&r<=u.endTime&&(e.errors.push(eA(l,u.startTime,u.endTime,o,r)),m=!1),o=u.startTime),m&&c.set(l,{startTime:o,endTime:r}),e.options&&wA(a,e.options,e.errors)})})}visitKeyframes(n,e){let i={type:ue.Keyframes,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(tA()),i;let r=1,o=0,s=[],a=!1,l=!1,c=0,u=n.steps.map(V=>{let de=this._makeStyleAst(V,e),we=de.offset!=null?de.offset:xG(de.styles),nt=0;return we!=null&&(o++,nt=de.offset=we),l=l||nt<0||nt>1,a=a||nt0&&o{let we=b>0?de==_?1:b*de:s[de],nt=we*O;e.currentTime=M+I.delay+nt,I.duration=nt,this._validateStyleAst(V,e),V.offset=we,i.styles.push(V)}),i}visitReference(n,e){return{type:ue.Reference,animation:$n(this,oc(n.animation),e),options:la(n.options)}}visitAnimateChild(n,e){return e.depCount++,{type:ue.AnimateChild,options:la(n.options)}}visitAnimateRef(n,e){return{type:ue.AnimateRef,animation:this.visitReference(n.animation,e),options:la(n.options)}}visitQuery(n,e){let i=e.currentQuerySelector,r=n.options||{};e.queryCount++,e.currentQuery=n;let[o,s]=TG(n.selector);e.currentQuerySelector=i.length?i+" "+o:o,Un(e.collectedStyles,e.currentQuerySelector,new Map);let a=$n(this,oc(n.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:ue.Query,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:a,originalSelector:n.selector,options:la(n.options)}}visitStagger(n,e){e.currentQuery||e.errors.push(oA());let i=n.timings==="full"?{duration:0,delay:0,easing:"full"}:fd(n.timings,e.errors,!0);return{type:ue.Stagger,animation:$n(this,oc(n.animation),e),timings:i,options:null}}};function TG(t){let n=!!t.split(/\s*,\s*/).find(e=>e==NA);return n&&(t=t.replace(EG,"")),t=t.replace(/@\*/g,hd).replace(/@\w+/g,e=>hd+"-"+e.slice(1)).replace(/:animating/g,tg),[t,n]}function IG(t){return t?E({},t):null}var iw=class{errors;queryCount=0;depCount=0;currentTransition=null;currentQuery=null;currentQuerySelector=null;currentAnimateTimings=null;currentTime=0;collectedStyles=new Map;options=null;unsupportedCSSPropertiesFound=new Set;constructor(n){this.errors=n}};function xG(t){if(typeof t=="string")return null;let n=null;if(Array.isArray(t))t.forEach(e=>{if(e instanceof Map&&e.has("offset")){let i=e;n=parseFloat(i.get("offset")),i.delete("offset")}});else if(t instanceof Map&&t.has("offset")){let e=t;n=parseFloat(e.get("offset")),e.delete("offset")}return n}function kG(t,n){if(t.hasOwnProperty("duration"))return t;if(typeof t=="number"){let o=fd(t,n).duration;return KC(o,0,"")}let e=t;if(e.split(/\s+/).some(o=>o.charAt(0)=="{"&&o.charAt(1)=="{")){let o=KC(0,0,"");return o.dynamic=!0,o.strValue=e,o}let r=fd(e,n);return KC(r.duration,r.delay,r.easing)}function la(t){return t?(t=E({},t),t.params&&(t.params=IG(t.params))):t={},t}function KC(t,n,e){return{duration:t,delay:n,easing:e}}function pw(t,n,e,i,r,o,s=null,a=!1){return{type:1,element:t,keyframes:n,preStyleProps:e,postStyleProps:i,duration:r,delay:o,totalTime:r+o,easing:s,subTimeline:a}}var md=class{_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()}},AG=1,RG=":enter",OG=new RegExp(RG,"g"),PG=":leave",NG=new RegExp(PG,"g");function FA(t,n,e,i,r,o=new Map,s=new Map,a,l,c=[]){return new rw().buildKeyframes(t,n,e,i,r,o,s,a,l,c)}var rw=class{buildKeyframes(n,e,i,r,o,s,a,l,c,u=[]){c=c||new md;let m=new ow(n,e,c,r,o,u,[]);m.options=l;let b=l.delay?Lr(l.delay):0;m.currentTimeline.delayNextStep(b),m.currentTimeline.setStyles([s],null,m.errors,l),$n(this,i,m);let _=m.timelines.filter(M=>M.containsAnimation());if(_.length&&a.size){let M;for(let I=_.length-1;I>=0;I--){let O=_[I];if(O.element===e){M=O;break}}M&&!M.allowOnlyTimelineStyles()&&M.setStyles([a],null,m.errors,l)}return _.length?_.map(M=>M.buildKeyframes()):[pw(e,[],[],[],0,b,"",!1)]}visitTrigger(n,e){}visitState(n,e){}visitTransition(n,e){}visitAnimateChild(n,e){let i=e.subInstructions.get(e.element);if(i){let r=e.createSubContext(n.options),o=e.currentTimeline.currentTime,s=this._visitSubInstructions(i,r,r.options);o!=s&&e.transformIntoNewTimeline(s)}e.previousNode=n}visitAnimateRef(n,e){let 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(let r of n){let o=r?.delay;if(o){let s=typeof o=="number"?o:Lr(sc(o,r?.params??{},e.errors));i.delayNextStep(s)}}}_visitSubInstructions(n,e,i){let o=e.currentTimeline.currentTime,s=i.duration!=null?Lr(i.duration):null,a=i.delay!=null?Lr(i.delay):null;return s!==0&&n.forEach(l=>{let c=e.appendInstructionToTimeline(l,s,a);o=Math.max(o,c.duration+c.delay)}),o}visitReference(n,e){e.updateOptions(n.options,!0),$n(this,n.animation,e),e.previousNode=n}visitSequence(n,e){let i=e.subContextCount,r=e,o=n.options;if(o&&(o.params||o.delay)&&(r=e.createSubContext(o),r.transformIntoNewTimeline(),o.delay!=null)){r.previousNode.type==ue.Style&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=ug);let s=Lr(o.delay);r.delayNextStep(s)}n.steps.length&&(n.steps.forEach(s=>$n(this,s,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),e.previousNode=n}visitGroup(n,e){let i=[],r=e.currentTimeline.currentTime,o=n.options&&n.options.delay?Lr(n.options.delay):0;n.steps.forEach(s=>{let a=e.createSubContext(n.options);o&&a.delayNextStep(o),$n(this,s,a),r=Math.max(r,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(s=>e.currentTimeline.mergeTimelineCollectedStyles(s)),e.transformIntoNewTimeline(r),e.previousNode=n}_visitTiming(n,e){if(n.dynamic){let i=n.strValue,r=e.params?sc(i,e.params,e.errors):i;return fd(r,e.errors)}else return{duration:n.duration,delay:n.delay,easing:n.easing}}visitAnimate(n,e){let i=e.currentAnimateTimings=this._visitTiming(n.timings,e),r=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),r.snapshotCurrentStyles());let o=n.style;o.type==ue.Keyframes?this.visitKeyframes(o,e):(e.incrementTime(i.duration),this.visitStyle(o,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=n}visitStyle(n,e){let i=e.currentTimeline,r=e.currentAnimateTimings;!r&&i.hasCurrentStyleProperties()&&i.forwardFrame();let o=r&&r.easing||n.easing;n.isEmptyStep?i.applyEmptyStep(o):i.setStyles(n.styles,o,e.errors,e.options),e.previousNode=n}visitKeyframes(n,e){let i=e.currentAnimateTimings,r=e.currentTimeline.duration,o=i.duration,a=e.createSubContext().currentTimeline;a.easing=i.easing,n.styles.forEach(l=>{let c=l.offset||0;a.forwardTime(c*o),a.setStyles(l.styles,l.easing,e.errors,e.options),a.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(a),e.transformIntoNewTimeline(r+o),e.previousNode=n}visitQuery(n,e){let i=e.currentTimeline.currentTime,r=n.options||{},o=r.delay?Lr(r.delay):0;o&&(e.previousNode.type===ue.Style||i==0&&e.currentTimeline.hasCurrentStyleProperties())&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=ug);let s=i,a=e.invokeQuery(n.selector,n.originalSelector,n.limit,n.includeSelf,!!r.optional,e.errors);e.currentQueryTotal=a.length;let l=null;a.forEach((c,u)=>{e.currentQueryIndex=u;let m=e.createSubContext(n.options,c);o&&m.delayNextStep(o),c===e.element&&(l=m.currentTimeline),$n(this,n.animation,m),m.currentTimeline.applyStylesToKeyframe();let b=m.currentTimeline.currentTime;s=Math.max(s,b)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=n}visitStagger(n,e){let i=e.parentContext,r=e.currentTimeline,o=n.timings,s=Math.abs(o.duration),a=s*(e.currentQueryTotal-1),l=s*e.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime;break}let u=e.currentTimeline;l&&u.delayNextStep(l);let m=u.currentTime;$n(this,n.animation,e),e.previousNode=n,i.currentStaggerTime=r.currentTime-m+(r.startTime-i.currentTimeline.startTime)}},ug={},ow=class t{_driver;element;subInstructions;_enterClassName;_leaveClassName;errors;timelines;parentContext=null;currentTimeline;currentAnimateTimings=null;previousNode=ug;subContextCount=0;options={};currentQueryIndex=0;currentQueryTotal=0;currentStaggerTime=0;constructor(n,e,i,r,o,s,a,l){this._driver=n,this.element=e,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=o,this.errors=s,this.timelines=a,this.currentTimeline=l||new dg(this._driver,e,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(n,e){if(!n)return;let i=n,r=this.options;i.duration!=null&&(r.duration=Lr(i.duration)),i.delay!=null&&(r.delay=Lr(i.delay));let o=i.params;if(o){let s=r.params;s||(s=this.options.params={}),Object.keys(o).forEach(a=>{(!e||!s.hasOwnProperty(a))&&(s[a]=sc(o[a],s,this.errors))})}}_copyOptions(){let n={};if(this.options){let e=this.options.params;if(e){let i=n.params={};Object.keys(e).forEach(r=>{i[r]=e[r]})}}return n}createSubContext(n=null,e,i){let r=e||this.element,o=new t(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(n),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}transformIntoNewTimeline(n){return this.previousNode=ug,this.currentTimeline=this.currentTimeline.fork(this.element,n),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(n,e,i){let r={duration:e??n.duration,delay:this.currentTimeline.currentTime+(i??0)+n.delay,easing:""},o=new sw(this._driver,n.element,n.keyframes,n.preStyleProps,n.postStyleProps,r,n.stretchStartingKeyframe);return this.timelines.push(o),r}incrementTime(n){this.currentTimeline.forwardTime(this.currentTimeline.duration+n)}delayNextStep(n){n>0&&this.currentTimeline.delayNextStep(n)}invokeQuery(n,e,i,r,o,s){let a=[];if(r&&a.push(this.element),n.length>0){n=n.replace(OG,"."+this._enterClassName),n=n.replace(NG,"."+this._leaveClassName);let l=i!=1,c=this._driver.query(this.element,n,l);i!==0&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),a.push(...c)}return!o&&a.length==0&&s.push(sA(e)),a}},dg=class t{_driver;element;startTime;_elementTimelineStylesLookup;duration=0;easing=null;_previousKeyframe=new Map;_currentKeyframe=new Map;_keyframes=new Map;_styleSummary=new Map;_localTimelineStyles=new Map;_globalTimelineStyles;_pendingStyles=new Map;_backFill=new Map;_currentEmptyStepKeyframe=null;constructor(n,e,i,r){this._driver=n,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=r,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){let e=this._keyframes.size===1&&this._pendingStyles.size;this.duration||e?(this.forwardTime(this.currentTime+n),e&&this.snapshotCurrentStyles()):this.startTime+=n}fork(n,e){return this.applyStylesToKeyframe(),new t(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+=AG,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||wi),this._currentKeyframe.set(e,wi);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(n,e,i,r){e&&this._previousKeyframe.set("easing",e);let o=r&&r.params||{},s=LG(n,this._globalTimelineStyles);for(let[a,l]of s){let c=sc(l,o,i);this._pendingStyles.set(a,c),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??wi),this._updateStyle(a,c)}}applyStylesToKeyframe(){this._pendingStyles.size!=0&&(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(){let n=[];for(let e in this._currentKeyframe)n.push(e);return n}mergeTimelineCollectedStyles(n){n._styleSummary.forEach((e,i)=>{let r=this._styleSummary.get(i);(!r||e.time>r.time)&&this._updateStyle(i,e.value)})}buildKeyframes(){this.applyStylesToKeyframe();let n=new Set,e=new Set,i=this._keyframes.size===1&&this.duration===0,r=[];this._keyframes.forEach((a,l)=>{let c=new Map([...this._backFill,...a]);c.forEach((u,m)=>{u===wl?n.add(m):u===wi&&e.add(m)}),i||c.set("offset",l/this.duration),r.push(c)});let o=[...n.values()],s=[...e.values()];if(i){let a=r[0],l=new Map(a);a.set("offset",0),l.set("offset",1),r=[a,l]}return pw(this.element,r,o,s,this.duration,this.startTime,this.easing,!1)}},sw=class extends dg{keyframes;preStyleProps;postStyleProps;_stretchStartingKeyframe;timings;constructor(n,e,i,r,o,s,a=!1){super(n,e,s.delay),this.keyframes=i,this.preStyleProps=r,this.postStyleProps=o,this._stretchStartingKeyframe=a,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let n=this.keyframes,{delay:e,duration:i,easing:r}=this.timings;if(this._stretchStartingKeyframe&&e){let o=[],s=i+e,a=e/s,l=new Map(n[0]);l.set("offset",0),o.push(l);let c=new Map(n[0]);c.set("offset",TA(a)),o.push(c);let u=n.length-1;for(let m=1;m<=u;m++){let b=new Map(n[m]),_=b.get("offset"),M=e+_*i;b.set("offset",TA(M/s)),o.push(b)}i=s,e=0,r="",n=o}return pw(this.element,n,this.preStyleProps,this.postStyleProps,i,e,r,!0)}};function TA(t,n=3){let e=Math.pow(10,n-1);return Math.round(t*e)/e}function LG(t,n){let e=new Map,i;return t.forEach(r=>{if(r==="*"){i??=n.keys();for(let o of i)e.set(o,wi)}else for(let[o,s]of r)e.set(o,s)}),e}function IA(t,n,e,i,r,o,s,a,l,c,u,m,b){return{type:0,element:t,triggerName:n,isRemovalTransition:r,fromState:e,fromStyles:o,toState:i,toStyles:s,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:m,errors:b}}var JC={},hg=class{_triggerName;ast;_stateStyles;constructor(n,e,i){this._triggerName=n,this.ast=e,this._stateStyles=i}match(n,e,i,r){return FG(this.ast.matchers,n,e,i,r)}buildStyles(n,e,i){let r=this._stateStyles.get("*");return n!==void 0&&(r=this._stateStyles.get(n?.toString())||r),r?r.buildStyles(e,i):new Map}build(n,e,i,r,o,s,a,l,c,u){let m=[],b=this.ast.options&&this.ast.options.params||JC,_=a&&a.params||JC,M=this.buildStyles(i,_,m),I=l&&l.params||JC,O=this.buildStyles(r,I,m),V=new Set,de=new Map,we=new Map,nt=r==="void",Pi={params:VA(I,b),delay:this.ast.options?.delay},ai=u?[]:FA(n,e,this.ast.animation,o,s,M,O,Pi,c,m),gn=0;return ai.forEach(Mn=>{gn=Math.max(Mn.duration+Mn.delay,gn)}),m.length?IA(e,this._triggerName,i,r,nt,M,O,[],[],de,we,gn,m):(ai.forEach(Mn=>{let ts=Mn.element,ha=Un(de,ts,new Set);Mn.preStyleProps.forEach(ns=>ha.add(ns));let vw=Un(we,ts,new Set);Mn.postStyleProps.forEach(ns=>vw.add(ns)),ts!==e&&V.add(ts)}),IA(e,this._triggerName,i,r,nt,M,O,ai,[...V.values()],de,we,gn))}};function FG(t,n,e,i,r){return t.some(o=>o(n,e,i,r))}function VA(t,n){let e=E({},n);return Object.entries(t).forEach(([i,r])=>{r!=null&&(e[i]=r)}),e}var aw=class{styles;defaultParams;normalizer;constructor(n,e,i){this.styles=n,this.defaultParams=e,this.normalizer=i}buildStyles(n,e){let i=new Map,r=VA(n,this.defaultParams);return this.styles.styles.forEach(o=>{typeof o!="string"&&o.forEach((s,a)=>{s&&(s=sc(s,r,e));let l=this.normalizer.normalizePropertyName(a,e);s=this.normalizer.normalizeStyleValue(a,l,s,e),i.set(a,s)})}),i}};function VG(t,n,e){return new lw(t,n,e)}var lw=class{name;ast;_normalizer;transitionFactories=[];fallbackTransition;states=new Map;constructor(n,e,i){this.name=n,this.ast=e,this._normalizer=i,e.states.forEach(r=>{let o=r.options&&r.options.params||{};this.states.set(r.name,new aw(r.style,o,i))}),xA(this.states,"true","1"),xA(this.states,"false","0"),e.transitions.forEach(r=>{this.transitionFactories.push(new hg(n,r,this.states))}),this.fallbackTransition=jG(n,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(n,e,i,r){return this.transitionFactories.find(s=>s.match(n,e,i,r))||null}matchStyles(n,e,i){return this.fallbackTransition.buildStyles(n,e,i)}};function jG(t,n,e){let i=[(s,a)=>!0],r={type:ue.Sequence,steps:[],options:null},o={type:ue.Transition,animation:r,matchers:i,options:null,queryCount:0,depCount:0};return new hg(t,o,n)}function xA(t,n,e){t.has(n)?t.has(e)||t.set(e,t.get(n)):t.has(e)&&t.set(n,t.get(e))}var HG=new md,cw=class{bodyNode;_driver;_normalizer;_animations=new Map;_playersById=new Map;players=[];constructor(n,e,i){this.bodyNode=n,this._driver=e,this._normalizer=i}register(n,e){let i=[],r=[],o=LA(this._driver,e,i,r);if(i.length)throw uA(i);this._animations.set(n,o)}_buildPlayer(n,e,i){let r=n.element,o=$C(this._normalizer,n.keyframes,e,i);return this._driver.animate(r,o,n.duration,n.delay,n.easing,[],!0)}create(n,e,i={}){let r=[],o=this._animations.get(n),s,a=new Map;if(o?(s=FA(this._driver,e,o,qC,eg,new Map,new Map,i,HG,r),s.forEach(u=>{let m=Un(a,u.element,new Map);u.postStyleProps.forEach(b=>m.set(b,null))})):(r.push(dA()),s=[]),r.length)throw hA(r);a.forEach((u,m)=>{u.forEach((b,_)=>{u.set(_,this._driver.computeStyle(m,_,wi))})});let l=s.map(u=>{let m=a.get(u.element);return this._buildPlayer(u,new Map,m)}),c=uo(l);return this._playersById.set(n,c),c.onDestroy(()=>this.destroy(n)),this.players.push(c),c}destroy(n){let e=this._getPlayer(n);e.destroy(),this._playersById.delete(n);let i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(n){let e=this._playersById.get(n);if(!e)throw fA(n);return e}listen(n,e,i,r){let o=Jm(e,"","","");return Km(this._getPlayer(n),i,o,r),()=>{}}command(n,e,i,r){if(i=="register"){this.register(n,r[0]);return}if(i=="create"){let s=r[0]||{};this.create(n,e,s);return}let o=this._getPlayer(n);switch(i){case"play":o.play();break;case"pause":o.pause();break;case"reset":o.reset();break;case"restart":o.restart();break;case"finish":o.finish();break;case"init":o.init();break;case"setPosition":o.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(n);break}}},kA="ng-animate-queued",BG=".ng-animate-queued",XC="ng-animate-disabled",UG=".ng-animate-disabled",$G="ng-star-inserted",YG=".ng-star-inserted",zG=[],jA={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},WG={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},tr="__ng_removed",gd=class{namespaceId;value;options;get params(){return this.options.params}constructor(n,e=""){this.namespaceId=e;let i=n&&n.hasOwnProperty("value"),r=i?n.value:n;if(this.value=qG(r),i){let o=n,{value:s}=o,a=wg(o,["value"]);this.options=a}else this.options={};this.options.params||(this.options.params={})}absorbOptions(n){let e=n.params;if(e){let i=this.options.params;Object.keys(e).forEach(r=>{i[r]==null&&(i[r]=e[r])})}}},pd="void",ew=new gd(pd),uw=class{id;hostElement;_engine;players=[];_triggers=new Map;_queue=[];_elementListeners=new Map;_hostClassName;constructor(n,e,i){this.id=n,this.hostElement=e,this._engine=i,this._hostClassName="ng-tns-"+n,Oi(e,this._hostClassName)}listen(n,e,i,r){if(!this._triggers.has(e))throw pA(i,e);if(i==null||i.length==0)throw mA(e);if(!QG(i))throw gA(i,e);let o=Un(this._elementListeners,n,[]),s={name:e,phase:i,callback:r};o.push(s);let a=Un(this._engine.statesByElement,n,new Map);return a.has(e)||(Oi(n,dd),Oi(n,dd+"-"+e),a.set(e,ew)),()=>{this._engine.afterFlush(()=>{let l=o.indexOf(s);l>=0&&o.splice(l,1),this._triggers.has(e)||a.delete(e)})}}register(n,e){return this._triggers.has(n)?!1:(this._triggers.set(n,e),!0)}_getTrigger(n){let e=this._triggers.get(n);if(!e)throw _A(n);return e}trigger(n,e,i,r=!0){let o=this._getTrigger(e),s=new _d(this.id,e,n),a=this._engine.statesByElement.get(n);a||(Oi(n,dd),Oi(n,dd+"-"+e),this._engine.statesByElement.set(n,a=new Map));let l=a.get(e),c=new gd(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a.set(e,c),l||(l=ew),!(c.value===pd)&&l.value===c.value){if(!JG(l.params,c.params)){let I=[],O=o.matchStyles(l.value,l.params,I),V=o.matchStyles(c.value,c.params,I);I.length?this._engine.reportError(I):this._engine.afterFlush(()=>{es(n,O),er(n,V)})}return}let b=Un(this._engine.playersByElement,n,[]);b.forEach(I=>{I.namespaceId==this.id&&I.triggerName==e&&I.queued&&I.destroy()});let _=o.matchTransition(l.value,c.value,n,c.params),M=!1;if(!_){if(!r)return;_=o.fallbackTransition,M=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:e,transition:_,fromState:l,toState:c,player:s,isFallbackTransition:M}),M||(Oi(n,kA),s.onStart(()=>{ac(n,kA)})),s.onDone(()=>{let I=this.players.indexOf(s);I>=0&&this.players.splice(I,1);let O=this._engine.playersByElement.get(n);if(O){let V=O.indexOf(s);V>=0&&O.splice(V,1)}}),this.players.push(s),b.push(s),s}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(r=>r.name!=n))})}clearElementCache(n){this._engine.statesByElement.delete(n),this._elementListeners.delete(n);let e=this._engine.playersByElement.get(n);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(n))}_signalRemovalForInnerTriggers(n,e){let i=this._engine.driver.query(n,hd,!0);i.forEach(r=>{if(r[tr])return;let o=this._engine.fetchNamespacesByElement(r);o.size?o.forEach(s=>s.triggerLeaveAnimation(r,e,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(n,e,i,r){let o=this._engine.statesByElement.get(n),s=new Map;if(o){let a=[];if(o.forEach((l,c)=>{if(s.set(c,l.value),this._triggers.has(c)){let u=this.trigger(n,c,pd,r);u&&a.push(u)}}),a.length)return this._engine.markElementAsRemoved(this.id,n,!0,e,s),i&&uo(a).onDone(()=>this._engine.processLeaveNode(n)),!0}return!1}prepareLeaveAnimationListeners(n){let e=this._elementListeners.get(n),i=this._engine.statesByElement.get(n);if(e&&i){let r=new Set;e.forEach(o=>{let s=o.name;if(r.has(s))return;r.add(s);let l=this._triggers.get(s).fallbackTransition,c=i.get(s)||ew,u=new gd(pd),m=new _d(this.id,s,n);this._engine.totalQueuedPlayers++,this._queue.push({element:n,triggerName:s,transition:l,fromState:c,toState:u,player:m,isFallbackTransition:!0})})}}removeNode(n,e){let i=this._engine;if(n.childElementCount&&this._signalRemovalForInnerTriggers(n,e),this.triggerLeaveAnimation(n,e,!0))return;let r=!1;if(i.totalAnimations){let o=i.players.length?i.playersByQueriedElement.get(n):[];if(o&&o.length)r=!0;else{let s=n;for(;s=s.parentNode;)if(i.statesByElement.get(s)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(n),r)i.markElementAsRemoved(this.id,n,!1,e);else{let o=n[tr];(!o||o===jA)&&(i.afterFlush(()=>this.clearElementCache(n)),i.destroyInnerAnimations(n),i._onRemovalComplete(n,e))}}insertNode(n,e){Oi(n,this._hostClassName)}drainQueuedTransitions(n){let e=[];return this._queue.forEach(i=>{let r=i.player;if(r.destroyed)return;let o=i.element,s=this._elementListeners.get(o);s&&s.forEach(a=>{if(a.name==i.triggerName){let l=Jm(o,i.triggerName,i.fromState.value,i.toState.value);l._data=n,Km(i.player,a.phase,l,a.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):e.push(i)}),this._queue=[],e.sort((i,r)=>{let o=i.transition.ast.depCount,s=r.transition.ast.depCount;return o==0||s==0?o-s:this._engine.driver.containsElement(i.element,r.element)?1:-1})}destroy(n){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,n)}},dw=class{bodyNode;driver;_normalizer;players=[];newHostElements=new Map;playersByElement=new Map;playersByQueriedElement=new Map;statesByElement=new Map;disabledNodes=new Set;totalAnimations=0;totalQueuedPlayers=0;_namespaceLookup={};_namespaceList=[];_flushFns=[];_whenQuietFns=[];namespacesByHostElement=new Map;collectedEnterElements=[];collectedLeaveElements=[];onRemovalComplete=(n,e)=>{};_onRemovalComplete(n,e){this.onRemovalComplete(n,e)}constructor(n,e,i){this.bodyNode=n,this.driver=e,this._normalizer=i}get queuedPlayers(){let n=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&n.push(i)})}),n}createNamespace(n,e){let i=new uw(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){let i=this._namespaceList,r=this.namespacesByHostElement;if(i.length-1>=0){let s=!1,a=this.driver.getParentElement(e);for(;a;){let l=r.get(a);if(l){let c=i.indexOf(l);i.splice(c+1,0,n),s=!0;break}a=this.driver.getParentElement(a)}s||i.unshift(n)}else i.push(n);return r.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 r=this._namespaceLookup[n];r&&r.register(e,i)&&this.totalAnimations++}destroy(n,e){n&&(this.afterFlush(()=>{}),this.afterFlushAnimationsDone(()=>{let i=this._fetchNamespace(n);this.namespacesByHostElement.delete(i.hostElement);let r=this._namespaceList.indexOf(i);r>=0&&this._namespaceList.splice(r,1),i.destroy(e),delete this._namespaceLookup[n]}))}_fetchNamespace(n){return this._namespaceLookup[n]}fetchNamespacesByElement(n){let e=new Set,i=this.statesByElement.get(n);if(i){for(let r of i.values())if(r.namespaceId){let o=this._fetchNamespace(r.namespaceId);o&&e.add(o)}}return e}trigger(n,e,i,r){if(sg(e)){let o=this._fetchNamespace(n);if(o)return o.trigger(e,i,r),!0}return!1}insertNode(n,e,i,r){if(!sg(e))return;let o=e[tr];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;let s=this.collectedLeaveElements.indexOf(e);s>=0&&this.collectedLeaveElements.splice(s,1)}if(n){let s=this._fetchNamespace(n);s&&s.insertNode(e,i)}r&&this.collectEnterElement(e)}collectEnterElement(n){this.collectedEnterElements.push(n)}markElementAsDisabled(n,e){e?this.disabledNodes.has(n)||(this.disabledNodes.add(n),Oi(n,XC)):this.disabledNodes.has(n)&&(this.disabledNodes.delete(n),ac(n,XC))}removeNode(n,e,i){if(sg(e)){let r=n?this._fetchNamespace(n):null;r?r.removeNode(e,i):this.markElementAsRemoved(n,e,!1,i);let o=this.namespacesByHostElement.get(e);o&&o.id!==n&&o.removeNode(e,i)}else this._onRemovalComplete(e,i)}markElementAsRemoved(n,e,i,r,o){this.collectedLeaveElements.push(e),e[tr]={namespaceId:n,setForRemoval:r,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:o}}listen(n,e,i,r,o){return sg(e)?this._fetchNamespace(n).listen(e,i,r,o):()=>{}}_buildInstruction(n,e,i,r,o){return n.transition.build(this.driver,n.element,n.fromState.value,n.toState.value,i,r,n.fromState.options,n.toState.options,e,o)}destroyInnerAnimations(n){let e=this.driver.query(n,hd,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),this.playersByQueriedElement.size!=0&&(e=this.driver.query(n,tg,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(n){let e=this.playersByElement.get(n);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(n){let e=this.playersByQueriedElement.get(n);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(n=>{if(this.players.length)return uo(this.players).onDone(()=>n());n()})}processLeaveNode(n){let e=n[tr];if(e&&e.setForRemoval){if(n[tr]=jA,e.namespaceId){this.destroyInnerAnimations(n);let i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(n)}this._onRemovalComplete(n,e.setForRemoval)}n.classList?.contains(XC)&&this.markElementAsDisabled(n,!1),this.driver.query(n,UG,!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(n=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,r)=>this._balanceNamespaceList(i,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){let i=this._whenQuietFns;this._whenQuietFns=[],e.length?uo(e).onDone(()=>{i.forEach(r=>r())}):i.forEach(r=>r())}}reportError(n){throw yA(n)}_flushAnimations(n,e){let i=new md,r=[],o=new Map,s=[],a=new Map,l=new Map,c=new Map,u=new Set;this.disabledNodes.forEach(Y=>{u.add(Y);let Z=this.driver.query(Y,BG,!0);for(let ee=0;ee{let ee=qC+I++;M.set(Z,ee),Y.forEach(Oe=>Oi(Oe,ee))});let O=[],V=new Set,de=new Set;for(let Y=0;YV.add(Oe)):de.add(Z))}let we=new Map,nt=OA(b,Array.from(V));nt.forEach((Y,Z)=>{let ee=eg+I++;we.set(Z,ee),Y.forEach(Oe=>Oi(Oe,ee))}),n.push(()=>{_.forEach((Y,Z)=>{let ee=M.get(Z);Y.forEach(Oe=>ac(Oe,ee))}),nt.forEach((Y,Z)=>{let ee=we.get(Z);Y.forEach(Oe=>ac(Oe,ee))}),O.forEach(Y=>{this.processLeaveNode(Y)})});let Pi=[],ai=[];for(let Y=this._namespaceList.length-1;Y>=0;Y--)this._namespaceList[Y].drainQueuedTransitions(e).forEach(ee=>{let Oe=ee.player,Zt=ee.element;if(Pi.push(Oe),this.collectedEnterElements.length){let ln=Zt[tr];if(ln&&ln.setForMove){if(ln.previousTriggersValues&&ln.previousTriggersValues.has(ee.triggerName)){let is=ln.previousTriggersValues.get(ee.triggerName),li=this.statesByElement.get(ee.element);if(li&&li.has(ee.triggerName)){let yd=li.get(ee.triggerName);yd.value=is,li.set(ee.triggerName,yd)}}Oe.destroy();return}}let nr=!m||!this.driver.containsElement(m,Zt),Yn=we.get(Zt),ho=M.get(Zt),_t=this._buildInstruction(ee,i,ho,Yn,nr);if(_t.errors&&_t.errors.length){ai.push(_t);return}if(nr){Oe.onStart(()=>es(Zt,_t.fromStyles)),Oe.onDestroy(()=>er(Zt,_t.toStyles)),r.push(Oe);return}if(ee.isFallbackTransition){Oe.onStart(()=>es(Zt,_t.fromStyles)),Oe.onDestroy(()=>er(Zt,_t.toStyles)),r.push(Oe);return}let ww=[];_t.timelines.forEach(ln=>{ln.stretchStartingKeyframe=!0,this.disabledNodes.has(ln.element)||ww.push(ln)}),_t.timelines=ww,i.append(Zt,_t.timelines);let nR={instruction:_t,player:Oe,element:Zt};s.push(nR),_t.queriedElements.forEach(ln=>Un(a,ln,[]).push(Oe)),_t.preStyleProps.forEach((ln,is)=>{if(ln.size){let li=l.get(is);li||l.set(is,li=new Set),ln.forEach((yd,Cg)=>li.add(Cg))}}),_t.postStyleProps.forEach((ln,is)=>{let li=c.get(is);li||c.set(is,li=new Set),ln.forEach((yd,Cg)=>li.add(Cg))})});if(ai.length){let Y=[];ai.forEach(Z=>{Y.push(vA(Z.triggerName,Z.errors))}),Pi.forEach(Z=>Z.destroy()),this.reportError(Y)}let gn=new Map,Mn=new Map;s.forEach(Y=>{let Z=Y.element;i.has(Z)&&(Mn.set(Z,Z),this._beforeAnimationBuild(Y.player.namespaceId,Y.instruction,gn))}),r.forEach(Y=>{let Z=Y.element;this._getPreviousPlayers(Z,!1,Y.namespaceId,Y.triggerName,null).forEach(Oe=>{Un(gn,Z,[]).push(Oe),Oe.destroy()})});let ts=O.filter(Y=>PA(Y,l,c)),ha=new Map;RA(ha,this.driver,de,c,wi).forEach(Y=>{PA(Y,l,c)&&ts.push(Y)});let ns=new Map;_.forEach((Y,Z)=>{RA(ns,this.driver,new Set(Y),l,wl)}),ts.forEach(Y=>{let Z=ha.get(Y),ee=ns.get(Y);ha.set(Y,new Map([...Z?.entries()??[],...ee?.entries()??[]]))});let bg=[],bw=[],Cw={};s.forEach(Y=>{let{element:Z,player:ee,instruction:Oe}=Y;if(i.has(Z)){if(u.has(Z)){ee.onDestroy(()=>er(Z,Oe.toStyles)),ee.disabled=!0,ee.overrideTotalTime(Oe.totalTime),r.push(ee);return}let Zt=Cw;if(Mn.size>1){let Yn=Z,ho=[];for(;Yn=Yn.parentNode;){let _t=Mn.get(Yn);if(_t){Zt=_t;break}ho.push(Yn)}ho.forEach(_t=>Mn.set(_t,Zt))}let nr=this._buildAnimation(ee.namespaceId,Oe,gn,o,ns,ha);if(ee.setRealPlayer(nr),Zt===Cw)bg.push(ee);else{let Yn=this.playersByElement.get(Zt);Yn&&Yn.length&&(ee.parentPlayer=uo(Yn)),r.push(ee)}}else es(Z,Oe.fromStyles),ee.onDestroy(()=>er(Z,Oe.toStyles)),bw.push(ee),u.has(Z)&&r.push(ee)}),bw.forEach(Y=>{let Z=o.get(Y.element);if(Z&&Z.length){let ee=uo(Z);Y.setRealPlayer(ee)}}),r.forEach(Y=>{Y.parentPlayer?Y.syncPlayerEvents(Y.parentPlayer):Y.destroy()});for(let Y=0;Y!nr.destroyed);Zt.length?ZG(this,Z,Zt):this.processLeaveNode(Z)}return O.length=0,bg.forEach(Y=>{this.players.push(Y),Y.onDone(()=>{Y.destroy();let Z=this.players.indexOf(Y);this.players.splice(Z,1)}),Y.play()}),bg}afterFlush(n){this._flushFns.push(n)}afterFlushAnimationsDone(n){this._whenQuietFns.push(n)}_getPreviousPlayers(n,e,i,r,o){let s=[];if(e){let a=this.playersByQueriedElement.get(n);a&&(s=a)}else{let a=this.playersByElement.get(n);if(a){let l=!o||o==pd;a.forEach(c=>{c.queued||!l&&c.triggerName!=r||s.push(c)})}}return(i||r)&&(s=s.filter(a=>!(i&&i!=a.namespaceId||r&&r!=a.triggerName))),s}_beforeAnimationBuild(n,e,i){let r=e.triggerName,o=e.element,s=e.isRemovalTransition?void 0:n,a=e.isRemovalTransition?void 0:r;for(let l of e.timelines){let c=l.element,u=c!==o,m=Un(i,c,[]);this._getPreviousPlayers(c,u,s,a,e.toState).forEach(_=>{let M=_.getRealPlayer();M.beforeDestroy&&M.beforeDestroy(),_.destroy(),m.push(_)})}es(o,e.fromStyles)}_buildAnimation(n,e,i,r,o,s){let a=e.triggerName,l=e.element,c=[],u=new Set,m=new Set,b=e.timelines.map(M=>{let I=M.element;u.add(I);let O=I[tr];if(O&&O.removedBeforeQueried)return new Tr(M.duration,M.delay);let V=I!==l,de=KG((i.get(I)||zG).map(gn=>gn.getRealPlayer())).filter(gn=>{let Mn=gn;return Mn.element?Mn.element===I:!1}),we=o.get(I),nt=s.get(I),Pi=$C(this._normalizer,M.keyframes,we,nt),ai=this._buildPlayer(M,Pi,de);if(M.subTimeline&&r&&m.add(I),V){let gn=new _d(n,a,I);gn.setRealPlayer(ai),c.push(gn)}return ai});c.forEach(M=>{Un(this.playersByQueriedElement,M.element,[]).push(M),M.onDone(()=>GG(this.playersByQueriedElement,M.element,M))}),u.forEach(M=>Oi(M,QC));let _=uo(b);return _.onDestroy(()=>{u.forEach(M=>ac(M,QC)),er(l,e.toStyles)}),m.forEach(M=>{Un(r,M,[]).push(_)}),_}_buildPlayer(n,e,i){return e.length>0?this.driver.animate(n.element,e,n.duration,n.delay,n.easing,i):new Tr(n.duration,n.delay)}},_d=class{namespaceId;triggerName;element;_player=new Tr;_containsRealPlayer=!1;_queuedCallbacks=new Map;destroyed=!1;parentPlayer=null;markedForDestroy=!1;disabled=!1;queued=!0;totalTime=0;constructor(n,e,i){this.namespaceId=n,this.triggerName=e,this.element=i}setRealPlayer(n){this._containsRealPlayer||(this._player=n,this._queuedCallbacks.forEach((e,i)=>{e.forEach(r=>Km(n,i,void 0,r))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(n.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(n){this.totalTime=n}syncPlayerEvents(n){let e=this._player;e.triggerCallback&&n.onStart(()=>e.triggerCallback("start")),n.onDone(()=>this.finish()),n.onDestroy(()=>this.destroy())}_queueEvent(n,e){Un(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?!1: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){let e=this._player;e.triggerCallback&&e.triggerCallback(n)}};function GG(t,n,e){let i=t.get(n);if(i){if(i.length){let r=i.indexOf(e);i.splice(r,1)}i.length==0&&t.delete(n)}return i}function qG(t){return t??null}function sg(t){return t&&t.nodeType===1}function QG(t){return t=="start"||t=="done"}function AA(t,n){let e=t.style.display;return t.style.display=n??"none",e}function RA(t,n,e,i,r){let o=[];e.forEach(l=>o.push(AA(l)));let s=[];i.forEach((l,c)=>{let u=new Map;l.forEach(m=>{let b=n.computeStyle(c,m,r);u.set(m,b),(!b||b.length==0)&&(c[tr]=WG,s.push(c))}),t.set(c,u)});let a=0;return e.forEach(l=>AA(l,o[a++])),s}function OA(t,n){let e=new Map;if(t.forEach(a=>e.set(a,[])),n.length==0)return e;let i=1,r=new Set(n),o=new Map;function s(a){if(!a)return i;let l=o.get(a);if(l)return l;let c=a.parentNode;return e.has(c)?l=c:r.has(c)?l=i:l=s(c),o.set(a,l),l}return n.forEach(a=>{let l=s(a);l!==i&&e.get(l).push(a)}),e}function Oi(t,n){t.classList?.add(n)}function ac(t,n){t.classList?.remove(n)}function ZG(t,n,e){uo(e).onDone(()=>t.processLeaveNode(n))}function KG(t){let n=[];return HA(t,n),n}function HA(t,n){for(let e=0;er.add(o)):n.set(t,i),e.delete(t),!0}var lc=class{_driver;_normalizer;_transitionEngine;_timelineEngine;_triggerCache={};onRemovalComplete=(n,e)=>{};constructor(n,e,i){this._driver=e,this._normalizer=i,this._transitionEngine=new dw(n.body,e,i),this._timelineEngine=new cw(n.body,e,i),this._transitionEngine.onRemovalComplete=(r,o)=>this.onRemovalComplete(r,o)}registerTrigger(n,e,i,r,o){let s=n+"-"+r,a=this._triggerCache[s];if(!a){let l=[],c=[],u=LA(this._driver,o,l,c);if(l.length)throw cA(r,l);a=VG(r,u,this._normalizer),this._triggerCache[s]=a}this._transitionEngine.registerTrigger(e,r,a)}register(n,e){this._transitionEngine.register(n,e)}destroy(n,e){this._transitionEngine.destroy(n,e)}onInsert(n,e,i,r){this._transitionEngine.insertNode(n,e,i,r)}onRemove(n,e,i){this._transitionEngine.removeNode(n,e,i)}disableAnimations(n,e){this._transitionEngine.markElementAsDisabled(n,e)}process(n,e,i,r){if(i.charAt(0)=="@"){let[o,s]=YC(i),a=r;this._timelineEngine.command(o,e,s,a)}else this._transitionEngine.trigger(n,e,i,r)}listen(n,e,i,r,o){if(i.charAt(0)=="@"){let[s,a]=YC(i);return this._timelineEngine.listen(s,e,a,o)}return this._transitionEngine.listen(n,e,i,r,o)}flush(n=-1){this._transitionEngine.flush(n)}get players(){return[...this._transitionEngine.players,...this._timelineEngine.players]}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}afterFlushAnimationsDone(n){this._transitionEngine.afterFlushAnimationsDone(n)}};function XG(t,n){let e=null,i=null;return Array.isArray(n)&&n.length?(e=tw(n[0]),n.length>1&&(i=tw(n[n.length-1]))):n instanceof Map&&(e=tw(n)),e||i?new e6(t,e,i):null}var e6=(()=>{class t{_element;_startStyles;_endStyles;static initialStylesByElement=new WeakMap;_state=0;_initialStyles;constructor(e,i,r){this._element=e,this._startStyles=i,this._endStyles=r;let o=t.initialStylesByElement.get(e);o||t.initialStylesByElement.set(e,o=new Map),this._initialStyles=o}start(){this._state<1&&(this._startStyles&&er(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(er(this._element,this._initialStyles),this._endStyles&&(er(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(t.initialStylesByElement.delete(this._element),this._startStyles&&(es(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(es(this._element,this._endStyles),this._endStyles=null),er(this._element,this._initialStyles),this._state=3)}}return t})();function tw(t){let n=null;return t.forEach((e,i)=>{t6(i)&&(n=n||new Map,n.set(i,e))}),n}function t6(t){return t==="display"||t==="position"}var fg=class{element;keyframes;options;_specialStyles;_onDoneFns=[];_onStartFns=[];_onDestroyFns=[];_duration;_delay;_initialized=!1;_finished=!1;_started=!1;_destroyed=!1;_finalKeyframe;_originalOnDoneFns=[];_originalOnStartFns=[];domPlayer;time=0;parentPlayer=null;currentSnapshot=new Map;constructor(n,e,i,r){this.element=n,this.keyframes=e,this.options=i,this._specialStyles=r,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;let n=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,n,this.options),this._finalKeyframe=n.length?n[n.length-1]:new Map;let e=()=>this._onFinish();this.domPlayer.addEventListener("finish",e),this.onDestroy(()=>{this.domPlayer.removeEventListener("finish",e)})}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(n){let 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){this.domPlayer===void 0&&this.init(),this.domPlayer.currentTime=n*this.time}getPosition(){return+(this.domPlayer.currentTime??0)/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){let n=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,r)=>{r!=="offset"&&n.set(r,this._finished?i:ig(this.element,r))}),this.currentSnapshot=n}triggerCallback(n){let e=n==="start"?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}},pg=class{validateStyleProperty(n){return!0}validateAnimatableStyleProperty(n){return!0}containsElement(n,e){return zC(n,e)}getParentElement(n){return Xm(n)}query(n,e,i){return WC(n,e,i)}computeStyle(n,e,i){return ig(n,e)}animate(n,e,i,r,o,s=[]){let a=r==0?"both":"forwards",l={duration:i,delay:r,fill:a};o&&(l.easing=o);let c=new Map,u=s.filter(_=>_ instanceof fg);DA(i,r)&&u.forEach(_=>{_.currentSnapshot.forEach((M,I)=>c.set(I,M))});let m=CA(e).map(_=>new Map(_));m=MA(n,m,c);let b=XG(n,m);return new fg(n,m,l,b)}};var ag="@",BA="@.disabled",mg=class{namespaceId;delegate;engine;_onDestroy;\u0275type=0;constructor(n,e,i,r){this.namespaceId=n,this.delegate=e,this.engine=i,this._onDestroy=r}get data(){return this.delegate.data}destroyNode(n){this.delegate.destroyNode?.(n)}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.engine.afterFlushAnimationsDone(()=>{queueMicrotask(()=>{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,r=!0){this.delegate.insertBefore(n,e,i),this.engine.onInsert(this.namespaceId,e,n,r)}removeChild(n,e,i){this.parentNode(e)&&this.engine.onRemove(this.namespaceId,e,this.delegate)}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,r){this.delegate.setAttribute(n,e,i,r)}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,r){this.delegate.setStyle(n,e,i,r)}removeStyle(n,e,i){this.delegate.removeStyle(n,e,i)}setProperty(n,e,i){e.charAt(0)==ag&&e==BA?this.disableAnimations(n,!!i):this.delegate.setProperty(n,e,i)}setValue(n,e){this.delegate.setValue(n,e)}listen(n,e,i,r){return this.delegate.listen(n,e,i,r)}disableAnimations(n,e){this.engine.disableAnimations(n,e)}},hw=class extends mg{factory;constructor(n,e,i,r,o){super(e,i,r,o),this.factory=n,this.namespaceId=e}setProperty(n,e,i){e.charAt(0)==ag?e.charAt(1)=="."&&e==BA?(i=i===void 0?!0:!!i,this.disableAnimations(n,i)):this.engine.process(this.namespaceId,n,e.slice(1),i):this.delegate.setProperty(n,e,i)}listen(n,e,i,r){if(e.charAt(0)==ag){let o=n6(n),s=e.slice(1),a="";return s.charAt(0)!=ag&&([s,a]=i6(s)),this.engine.listen(this.namespaceId,o,s,a,l=>{let c=l._data||-1;this.factory.scheduleListenerCallback(c,i,l)})}return this.delegate.listen(n,e,i,r)}};function n6(t){switch(t){case"body":return document.body;case"document":return document;case"window":return window;default:return t}}function i6(t){let n=t.indexOf("."),e=t.substring(0,n),i=t.slice(n+1);return[e,i]}var gg=class{delegate;engine;_zone;_currentId=0;_microtaskId=1;_animationCallbacksBuffer=[];_rendererCache=new Map;_cdRecurDepth=0;constructor(n,e,i){this.delegate=n,this.engine=e,this._zone=i,e.onRemovalComplete=(r,o)=>{o?.removeChild(null,r)}}createRenderer(n,e){let i="",r=this.delegate.createRenderer(n,e);if(!n||!e?.data?.animation){let c=this._rendererCache,u=c.get(r);if(!u){let m=()=>c.delete(r);u=new mg(i,r,this.engine,m),c.set(r,u)}return u}let o=e.id,s=e.id+"-"+this._currentId;this._currentId++,this.engine.register(s,n);let a=c=>{Array.isArray(c)?c.forEach(a):this.engine.registerTrigger(o,s,n,c.name,c)};return e.data.animation.forEach(a),new hw(this,s,r,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){queueMicrotask(()=>{this._microtaskId++})}scheduleListenerCallback(n,e,i){if(n>=0&&ne(i));return}let r=this._animationCallbacksBuffer;r.length==0&&queueMicrotask(()=>{this._zone.run(()=>{r.forEach(o=>{let[s,a]=o;s(a)}),this._animationCallbacksBuffer=[]})}),r.push([e,i])}end(){this._cdRecurDepth--,this._cdRecurDepth==0&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}componentReplaced(n){this.engine.flush(),this.delegate.componentReplaced?.(n)}};var o6=(()=>{class t extends lc{constructor(e,i,r){super(e,i,r)}ngOnDestroy(){this.flush()}static \u0275fac=function(i){return new(i||t)(F(Ie),F(ca),F(ua))};static \u0275prov=x({token:t,factory:t.\u0275fac})}return t})();function s6(){return new lg}function a6(t,n,e){return new gg(t,n,e)}var UA=[{provide:ua,useFactory:s6},{provide:lc,useClass:o6},{provide:xn,useFactory:a6,deps:[Xc,lc,Me]}],Mme=[{provide:ca,useClass:fw},{provide:Lc,useValue:"NoopAnimations"},...UA],l6=[{provide:ca,useFactory:()=>new pg},{provide:Lc,useFactory:()=>"BrowserAnimations"},...UA];function $A(){return Za("NgEagerAnimations"),[...l6]}var c6=["overlay"],u6=["*"];function d6(t,n){t&1&&A(0,"div")}function h6(t,n){if(t&1&&(d(0,"div"),T(1,d6,1,0,"div",6),h()),t&2){let e=p(2);Jt(e.spinner.class),rn("color",e.spinner.color),f(),g("ngForOf",e.spinner.divArray)}}function f6(t,n){if(t&1&&(A(0,"div",7),te(1,"safeHtml")),t&2){let e=p(2);g("innerHTML",pe(1,1,e.template),mi)}}function p6(t,n){if(t&1&&(d(0,"div",2,0),T(2,h6,2,5,"div",3)(3,f6,2,3,"div",4),d(4,"div",5),Cn(5),h()()),t&2){let e=p();rn("background-color",e.spinner.bdColor)("z-index",e.spinner.zIndex)("position",e.spinner.fullScreen?"fixed":"absolute"),g("@.disabled",e.disableAnimation)("@fadeIn","in"),f(2),g("ngIf",!e.template),f(),g("ngIf",e.template),f(),rn("z-index",e.spinner.zIndex)}}var m6={"ball-8bits":16,"ball-atom":4,"ball-beat":3,"ball-circus":5,"ball-climbing-dot":4,"ball-clip-rotate":1,"ball-clip-rotate-multiple":2,"ball-clip-rotate-pulse":2,"ball-elastic-dots":5,"ball-fall":3,"ball-fussion":4,"ball-grid-beat":9,"ball-grid-pulse":9,"ball-newton-cradle":4,"ball-pulse":3,"ball-pulse-rise":5,"ball-pulse-sync":3,"ball-rotate":1,"ball-running-dots":5,"ball-scale":1,"ball-scale-multiple":3,"ball-scale-pulse":2,"ball-scale-ripple":1,"ball-scale-ripple-multiple":3,"ball-spin":8,"ball-spin-clockwise":8,"ball-spin-clockwise-fade":8,"ball-spin-clockwise-fade-rotating":8,"ball-spin-fade":8,"ball-spin-fade-rotating":8,"ball-spin-rotate":2,"ball-square-clockwise-spin":8,"ball-square-spin":8,"ball-triangle-path":3,"ball-zig-zag":2,"ball-zig-zag-deflect":2,cog:1,"cube-transition":2,fire:3,"line-scale":5,"line-scale-party":5,"line-scale-pulse-out":5,"line-scale-pulse-out-rapid":5,"line-spin-clockwise-fade":8,"line-spin-clockwise-fade-rotating":8,"line-spin-fade":8,"line-spin-fade-rotating":8,pacman:6,"square-jelly-box":2,"square-loader":1,"square-spin":1,timer:1,"triangle-skew-spin":1},mw={BD_COLOR:"rgba(51,51,51,0.8)",SPINNER_COLOR:"#fff",Z_INDEX:99999},gw="primary",da=class t{constructor(n){Object.assign(this,n)}static create(n){return!n?.template&&!n?.type&&console.warn(`[ngx-spinner]: Property "type" is missed. Please, provide animation type to component - and ensure css is added to angular.json file`),new t(n)}},_w=(()=>{class t{constructor(){this.spinnerObservable=new Pe(null)}getSpinner(e){return this.spinnerObservable.asObservable().pipe(le(i=>i&&i.name===e))}show(e=gw,i){return new Promise((r,o)=>{setTimeout(()=>{i&&Object.keys(i).length?(i.name=e,this.spinnerObservable.next(new da(W(E({},i),{show:!0}))),r(!0)):(this.spinnerObservable.next(new da({name:e,show:!0})),r(!0))},10)})}hide(e=gw,i=10){return new Promise((r,o)=>{setTimeout(()=>{this.spinnerObservable.next(new da({name:e,show:!1})),r(!0)},i)})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),YA=new B("NGX_SPINNER_CONFIG"),g6=(()=>{class t{constructor(e){this.sanitizer=e}transform(e){return e?this.sanitizer.bypassSecurityTrustHtml(e):""}static{this.\u0275fac=function(i){return new(i||t)(y(Kr,16))}}static{this.\u0275pipe=Eo({name:"safeHtml",type:t,pure:!0})}}return t})(),zA=(()=>{class t{constructor(e,i,r,o){this.spinnerService=e,this.changeDetector=i,this.elementRef=r,this.globalConfig=o,this.disableAnimation=!1,this.spinner=new da,this.ngUnsubscribe=new X,this.setDefaultOptions=()=>{let{type:s}=this.globalConfig??{};this.spinner=da.create({name:this.name,bdColor:this.bdColor,size:this.size,color:this.color,type:this.type??s,fullScreen:this.fullScreen,divArray:this.divArray,divCount:this.divCount,show:this.show,zIndex:this.zIndex,template:this.template,showSpinner:this.showSpinner})},this.bdColor=mw.BD_COLOR,this.zIndex=mw.Z_INDEX,this.color=mw.SPINNER_COLOR,this.size="large",this.fullScreen=!0,this.name=gw,this.template=null,this.showSpinner=!1,this.divArray=[],this.divCount=0,this.show=!1}initObservable(){this.spinnerService.getSpinner(this.name).pipe(hi(this.ngUnsubscribe)).subscribe(e=>{this.setDefaultOptions(),Object.assign(this.spinner,e),e.show&&this.onInputChange(),this.changeDetector.detectChanges()})}ngOnInit(){this.setDefaultOptions(),this.initObservable()}isSpinnerZone(e){return e===this.elementRef.nativeElement.parentElement?!0:e.parentNode&&this.isSpinnerZone(e.parentNode)}ngOnChanges(e){for(let i in e)if(i){let r=e[i];if(r.isFirstChange())return;typeof r.currentValue<"u"&&r.currentValue!==r.previousValue&&r.currentValue!==""&&(this.spinner[i]=r.currentValue,i==="showSpinner"&&(r.currentValue?this.spinnerService.show(this.spinner.name,this.spinner):this.spinnerService.hide(this.spinner.name)),i==="name"&&this.initObservable())}}getClass(e,i){this.spinner.divCount=m6[e],this.spinner.divArray=Array(this.spinner.divCount).fill(0).map((o,s)=>s);let r="";switch(i.toLowerCase()){case"small":r="la-sm";break;case"medium":r="la-2x";break;case"large":r="la-3x";break;default:break}return"la-"+e+" "+r}onInputChange(){this.spinner.class=this.getClass(this.spinner.type,this.spinner.size)}ngOnDestroy(){this.ngUnsubscribe.next(),this.ngUnsubscribe.complete()}static{this.\u0275fac=function(i){return new(i||t)(y(_w),y(it),y($),y(YA,8))}}static{this.\u0275cmp=L({type:t,selectors:[["ngx-spinner"]],viewQuery:function(i,r){if(i&1&&Ot(c6,5),i&2){let o;Ge(o=qe())&&(r.spinnerDOM=o.first)}},inputs:{bdColor:"bdColor",size:"size",color:"color",type:"type",fullScreen:"fullScreen",name:"name",zIndex:"zIndex",template:"template",showSpinner:"showSpinner",disableAnimation:"disableAnimation"},features:[xe],ngContentSelectors:u6,decls:1,vars:1,consts:[["overlay",""],["class","ngx-spinner-overlay",3,"background-color","z-index","position",4,"ngIf"],[1,"ngx-spinner-overlay"],[3,"class","color",4,"ngIf"],[3,"innerHTML",4,"ngIf"],[1,"loading-text"],[4,"ngFor","ngForOf"],[3,"innerHTML"]],template:function(i,r){i&1&&(Pn(),T(0,p6,6,12,"div",1)),i&2&&g("ngIf",r.spinner.show)},dependencies:[g6,De,rt],styles:[".ngx-spinner-overlay[_ngcontent-%COMP%]{position:fixed;top:0;left:0;width:100%;height:100%}.ngx-spinner-overlay[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:not(.loading-text){top:50%;left:50%;margin:0;position:absolute;transform:translate(-50%,-50%)}.loading-text[_ngcontent-%COMP%]{position:absolute;top:60%;left:50%;transform:translate(-50%,-60%)}"],data:{animation:[no("fadeIn",[Ir("in",bt({opacity:1})),ni(":enter",[bt({opacity:0}),Dn(300)]),ni(":leave",Dn(200,bt({opacity:0})))])]},changeDetection:0})}}return t})(),WA=(()=>{class t{static forRoot(e){return{ngModule:t,providers:[{provide:YA,useValue:e}]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=be({type:t})}static{this.\u0275inj=ve({})}}return t})();var GA=(t,n)=>{let e=S(sn),i=S(hn);return n(t).pipe(Fi(r=>{if(r)switch(r.status){case 400:if(r.error.errors){if(r.error.errors){let s=[];for(let a in r.error.errors)r.error.errors[a]&&s.push(r.error.errors[a]);throw s.flat()}}else i.error(r.error,r.status);break;case 401:i.error("Unauthorised",r.status);break;case 404:e.navigateByUrl("/not-found");break;case 500:let o={state:{error:r.error}};e.navigateByUrl("/server-error",o);break;default:i.error("Something unexpected went wrong"),console.log(r);break}throw r}))};var qA=(t,n)=>{let e=S(tt);return e.currentUser()&&(t=t.clone({setHeaders:{Authorization:`Bearer ${e.currentUser()?.token}`}})),n(t)};var _g=class t{busyRequestCount=0;spinnerService=S(_w);busy(){this.busyRequestCount++,this.spinnerService.show(void 0,{type:"line-scale-pulse-out-rapid",size:"medium",bdColor:"rgba(247,228,177,0.5)",color:"#008080"})}idle(){this.busyRequestCount--,this.busyRequestCount<=0&&(this.busyRequestCount=0,this.spinnerService.hide())}static \u0275fac=function(e){return new(e||t)};static \u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})};var QA=(t,n)=>{let e=S(_g);return e.busy(),n(t).pipe(Yt.production?Kt:_c(500),di(()=>{e.idle()}))};var ZA={providers:[L0(Wk),d0(h0([GA,qA,QA])),$A(),hb({positionClass:"toast-bottom-right"}),Vy(WA,Or.forRoot(),Uk.forRoot())]};var _6=["*"],y6=t=>({dropdown:t}),KA=(()=>{class t{constructor(){this.autoClose=!0,this.insideClick=!1,this.isAnimated=!1,this.stopOnClickPropagation=!1}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})(),cc=(()=>{class t{constructor(){this.direction="down",this.autoClose=!0,this.insideClick=!1,this.isAnimated=!1,this.stopOnClickPropagation=!1,this.isOpenChange=new P,this.isDisabledChange=new P,this.toggleClick=new P,this.counts=0,this.dropdownMenu=new Promise(e=>{this.resolveDropdownMenu=e})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=x({token:t,factory:t.\u0275fac,providedIn:"platform"})}}return t})(),v6="220ms cubic-bezier(0, 0, 0.2, 1)",JA=[bt({height:0,overflow:"hidden"}),Dn(v6,bt({height:"*",overflow:"hidden"}))],b6=(()=>{class t{get direction(){return this._state.direction}constructor(e,i,r,o,s){this._state=e,this.cd=i,this._renderer=r,this._element=o,this.isOpen=!1,this._factoryDropDownAnimation=s.build(JA),this._subscription=e.isOpenChange.subscribe(a=>{this.isOpen=a;let l=this._element.nativeElement.querySelector(".dropdown-menu");this._renderer.addClass(this._element.nativeElement.querySelector("div"),"open"),l&&(this._renderer.addClass(l,"show"),(l.classList.contains("dropdown-menu-right")||l.classList.contains("dropdown-menu-end"))&&(this._renderer.setStyle(l,"left","auto"),this._renderer.setStyle(l,"right","0")),this.direction==="up"&&(this._renderer.setStyle(l,"top","auto"),this._renderer.setStyle(l,"transform","translateY(-101%)"))),l&&this._state.isAnimated&&this._factoryDropDownAnimation.create(l).play(),this.cd.markForCheck(),this.cd.detectChanges()})}_contains(e){return this._element.nativeElement.contains(e)}ngOnDestroy(){this._subscription.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(y(cc),y(it),y(ke),y($),y(Vp))}}static{this.\u0275cmp=L({type:t,selectors:[["bs-dropdown-container"]],hostAttrs:[2,"display","block","position","absolute","z-index","1040"],ngContentSelectors:_6,decls:2,vars:9,consts:[[3,"ngClass"]],template:function(i,r){i&1&&(Pn(),d(0,"div",0),Cn(1),h()),i&2&&(j("dropup",r.direction==="up")("show",r.isOpen)("open",r.isOpen),g("ngClass",qr(7,y6,r.direction==="down")))},dependencies:[on],encapsulation:2,changeDetection:0})}}return t})(),yw=(()=>{class t{set autoClose(e){this._state.autoClose=e}get autoClose(){return this._state.autoClose}set isAnimated(e){this._state.isAnimated=e}get isAnimated(){return this._state.isAnimated}set insideClick(e){this._state.insideClick=e}get insideClick(){return this._state.insideClick}set isDisabled(e){this._isDisabled=e,this._state.isDisabledChange.emit(e),e&&this.hide()}get isDisabled(){return this._isDisabled}get isOpen(){return this._showInline?this._isInlineOpen:this._dropdown.isShown}set isOpen(e){e?this.show():this.hide()}get _showInline(){return!this.container}constructor(e,i,r,o,s,a,l){this._elementRef=e,this._renderer=i,this._viewContainerRef=r,this._cis=o,this._state=s,this._config=a,this.dropup=!1,this._isInlineOpen=!1,this._isDisabled=!1,this._subscriptions=[],this._isInited=!1,this._state.autoClose=this._config.autoClose,this._state.insideClick=this._config.insideClick,this._state.isAnimated=this._config.isAnimated,this._state.stopOnClickPropagation=this._config.stopOnClickPropagation,this._factoryDropDownAnimation=l.build(JA),this._dropdown=this._cis.createLoader(this._elementRef,this._viewContainerRef,this._renderer).provide({provide:cc,useValue:this._state}),this.onShown=this._dropdown.onShown,this.onHidden=this._dropdown.onHidden,this.isOpenChange=this._state.isOpenChange}ngOnInit(){this._isInited||(this._isInited=!0,this._dropdown.listen({outsideClick:!1,triggers:this.triggers,show:()=>this.show()}),this._subscriptions.push(this._state.toggleClick.subscribe(e=>this.toggle(e))),this._subscriptions.push(this._state.isDisabledChange.pipe(le(e=>e)).subscribe(()=>this.hide())))}show(){if(!(this.isOpen||this.isDisabled)){if(this._showInline){this._inlinedMenu||this._state.dropdownMenu.then(e=>{this._dropdown.attachInline(e.viewContainer,e.templateRef),this._inlinedMenu=this._dropdown._inlineViewRef,this.addBs4Polyfills(),this._inlinedMenu&&this._renderer.addClass(this._inlinedMenu.rootNodes[0].parentNode,"open"),this.playAnimation()}).catch(),this.addBs4Polyfills(),this._isInlineOpen=!0,this.onShown.emit(!0),this._state.isOpenChange.emit(!0),this.playAnimation();return}this._state.dropdownMenu.then(e=>{let i=this.dropup||typeof this.dropup<"u"&&this.dropup;this._state.direction=i?"up":"down";let r=this.placement||(i?"top start":"bottom start");this._dropdown.attach(b6).to(this.container).position({attachment:r}).show({content:e.templateRef,placement:r}),this._state.isOpenChange.emit(!0)}).catch()}}hide(){this.isOpen&&(this._showInline?(this.removeShowClass(),this.removeDropupStyles(),this._isInlineOpen=!1,this.onHidden.emit(!0)):this._dropdown.hide(),this._state.isOpenChange.emit(!1))}toggle(e){return this.isOpen||!e?this.hide():this.show()}_contains(e){return this._elementRef.nativeElement.contains(e.target)||this._dropdown.instance&&this._dropdown.instance._contains(e.target)}navigationClick(e){let i=this._elementRef.nativeElement.querySelector(".dropdown-menu");if(!i)return;let r=this._elementRef.nativeElement.ownerDocument.activeElement,o=i.querySelectorAll(".dropdown-item");switch(e.keyCode){case 38:this._state.counts>0&&o[--this._state.counts].focus();break;case 40:this._state.counts+1{this._inlinedMenu&&this._factoryDropDownAnimation.create(this._inlinedMenu.rootNodes[0]).play()})}addShowClass(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&this._renderer.addClass(this._inlinedMenu.rootNodes[0],"show")}removeShowClass(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&this._renderer.removeClass(this._inlinedMenu.rootNodes[0],"show")}checkRightAlignment(){if(this._inlinedMenu&&this._inlinedMenu.rootNodes[0]){let e=this._inlinedMenu.rootNodes[0].classList.contains("dropdown-menu-right")||this._inlinedMenu.rootNodes[0].classList.contains("dropdown-menu-end");this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"left",e?"auto":"0"),this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"right",e?"0":"auto")}}addDropupStyles(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&(this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"top",this.dropup?"auto":"100%"),this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"transform",this.dropup?"translateY(-101%)":"translateY(0)"),this._renderer.setStyle(this._inlinedMenu.rootNodes[0],"bottom","auto"))}removeDropupStyles(){this._inlinedMenu&&this._inlinedMenu.rootNodes[0]&&(this._renderer.removeStyle(this._inlinedMenu.rootNodes[0],"top"),this._renderer.removeStyle(this._inlinedMenu.rootNodes[0],"transform"),this._renderer.removeStyle(this._inlinedMenu.rootNodes[0],"bottom"))}static{this.\u0275fac=function(i){return new(i||t)(y($),y(ke),y(pt),y(Qt),y(cc),y(KA),y(Vp))}}static{this.\u0275dir=H({type:t,selectors:[["","bsDropdown",""],["","dropdown",""]],hostVars:6,hostBindings:function(i,r){i&1&&D("keydown.arrowDown",function(s){return r.navigationClick(s)})("keydown.arrowUp",function(s){return r.navigationClick(s)}),i&2&&j("dropup",r.dropup)("open",r.isOpen)("show",r.isOpen)},inputs:{placement:"placement",triggers:"triggers",container:"container",dropup:"dropup",autoClose:"autoClose",isAnimated:"isAnimated",insideClick:"insideClick",isDisabled:"isDisabled",isOpen:"isOpen"},outputs:{isOpenChange:"isOpenChange",onShown:"onShown",onHidden:"onHidden"},exportAs:["bs-dropdown"],features:[ce([cc,Qt,KA])]})}}return t})(),XA=(()=>{class t{constructor(e,i,r){e.resolveDropdownMenu({templateRef:r,viewContainer:i})}static{this.\u0275fac=function(i){return new(i||t)(y(cc),y(pt),y(St))}}static{this.\u0275dir=H({type:t,selectors:[["","bsDropdownMenu",""],["","dropdownMenu",""]],exportAs:["bs-dropdown-menu"]})}}return t})(),eR=(()=>{class t{constructor(e,i,r,o,s){this._changeDetectorRef=e,this._dropdown=i,this._element=r,this._renderer=o,this._state=s,this.isOpen=!1,this._subscriptions=[],this._subscriptions.push(this._state.isOpenChange.subscribe(a=>{this.isOpen=a,a?(this._documentClickListener=this._renderer.listen("document","click",l=>{this._state.autoClose&&l.button!==2&&!this._element.nativeElement.contains(l.target)&&!(this._state.insideClick&&this._dropdown._contains(l))&&(this._state.toggleClick.emit(!1),this._changeDetectorRef.detectChanges())}),this._escKeyUpListener=this._renderer.listen(this._element.nativeElement,"keyup.esc",()=>{this._state.autoClose&&(this._state.toggleClick.emit(!1),this._changeDetectorRef.detectChanges())})):(this._documentClickListener&&this._documentClickListener(),this._escKeyUpListener&&this._escKeyUpListener())})),this._subscriptions.push(this._state.isDisabledChange.subscribe(a=>this.isDisabled=a||void 0))}onClick(e){this._state.stopOnClickPropagation&&e.stopPropagation(),!this.isDisabled&&this._state.toggleClick.emit(!0)}ngOnDestroy(){this._documentClickListener&&this._documentClickListener(),this._escKeyUpListener&&this._escKeyUpListener();for(let e of this._subscriptions)e.unsubscribe()}static{this.\u0275fac=function(i){return new(i||t)(y(it),y(yw),y($),y(ke),y(cc))}}static{this.\u0275dir=H({type:t,selectors:[["","bsDropdownToggle",""],["","dropdownToggle",""]],hostVars:3,hostBindings:function(i,r){i&1&&D("click",function(s){return r.onClick(s)}),i&2&&J("aria-haspopup",!0)("disabled",r.isDisabled)("aria-expanded",r.isOpen)},exportAs:["bs-dropdown-toggle"]})}}return t})(),tR=(()=>{class t{static forRoot(){return{ngModule:t,providers:[]}}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275mod=be({type:t})}static{this.\u0275inj=ve({})}}return t})();var w6=t=>({collapse:t}),D6=()=>["Admin","Moderator"];function M6(t,n){t&1&&(d(0,"li",12)(1,"a",17),v(2,"Admin"),h()())}function S6(t,n){t&1&&(d(0,"li",12)(1,"a",13),v(2,"Matches"),h()(),d(3,"li",12)(4,"a",14),v(5,"Lists"),h()(),d(6,"li",12)(7,"a",15),v(8,"Messages"),h()(),T(9,M6,3,0,"li",16)),t&2&&(f(9),g("appHasRole",Gr(1,D6)))}function E6(t,n){if(t&1){let e=N();d(0,"div",21)(1,"a",22),v(2,"Edit profile"),h(),A(3,"div",23),d(4,"a",24),D("click",function(){C(e);let r=p(2);return w(r.logout())}),v(5,"Logout"),h()()}}function T6(t,n){if(t&1&&(d(0,"div",10),A(1,"img",18),d(2,"a",19),v(3),h(),T(4,E6,6,0,"div",20),h()),t&2){let e,i,r=p();f(),Dt("src",((e=r.currentUser())==null?null:e.photoUrl)||"https://th.bing.com/th/id/OIP.PoS7waY4-VeqgNuBSxVUogAAAA?rs=1&pid=ImgDetMain",ft),f(2),Te("Welcome ",(i=r.currentUser())==null?null:i.knownAs,"")}}function I6(t,n){if(t&1){let e=N();d(0,"form",25,0),D("ngSubmit",function(){C(e);let r=p();return w(r.login())}),d(2,"input",26),Fe("ngModelChange",function(r){C(e);let o=p();return Ve(o.model.username,r)||(o.model.username=r),w(r)}),h(),d(3,"input",27),Fe("ngModelChange",function(r){C(e);let o=p();return Ve(o.model.password,r)||(o.model.password=r),w(r)}),h(),d(4,"button",28),v(5,"Login"),h()()}if(t&2){let e=p();f(2),Le("ngModel",e.model.username),f(),Le("ngModel",e.model.password)}}var yg=class t{accountService=S(tt);router=S(sn);toastr=S(hn);isCollapsed=!0;model={};login(){this.accountService.login(this.model).subscribe({next:n=>this.router.navigateByUrl("/members"),error:n=>this.toastr.error(n.error)})}logout(){this.accountService.logout(),this.router.navigateByUrl("/")}toggleNavbar(){this.isCollapsed=!this.isCollapsed}currentUser(){return this.accountService.currentUser()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-nav"]],decls:14,vars:6,consts:[["loginForm","ngForm"],[1,"navbar","navbar-expand-md","py-2","navbar-dark","bg-primary","floating-nav"],[1,"container"],["routerLinkActive","active","routerLink","/",1,"navbar-brand"],["type","button","aria-controls","navbarContent","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],[1,"navbar-collapse",3,"ngClass"],[1,"navbar-nav","mr-auto"],[1,"nav-item","active"],["routerLink","/errors","routerLinkActive","active",1,"nav-link"],["dropdown","",1,"dropdown","ms-auto"],["autocomplete","off",1,"d-flex","mt-2","mt-md-0","ms-auto"],[1,"nav-item"],["routerLink","/members","routerLinkActive","active",1,"nav-link"],["routerLink","/lists","routerLinkActive","active",1,"nav-link"],["routerLink","/messages","routerLinkActive","active",1,"nav-link"],["class","nav-item",4,"appHasRole"],["routerLink","/admin","routerLinkActive","active",1,"nav-link"],["alt","User main image",1,"me-2",3,"src"],["dropdownToggle","",1,"dropdown-toggle","text-light","text-decoration-none"],["class","dropdown-menu",4,"dropdownMenu"],[1,"dropdown-menu"],["routerLink","/member/edit",1,"dropdown-item"],[1,"dropdown-divider"],[1,"dropdown-item",3,"click"],["autocomplete","off",1,"d-flex","mt-2","mt-md-0","ms-auto",3,"ngSubmit"],["name","username","type","text","placeholder","Username",1,"form-control","ms-2",3,"ngModelChange","ngModel"],["name","password","type","password","placeholder","Password",1,"form-control","ms-2",3,"ngModelChange","ngModel"],["type","submit",1,"btn","btn-success","ms-2"]],template:function(e,i){e&1&&(d(0,"nav",1)(1,"div",2)(2,"a",3),v(3,"Dating App"),h(),d(4,"button",4),D("click",function(){return i.toggleNavbar()}),A(5,"span",5),h(),d(6,"div",6)(7,"ul",7),T(8,S6,10,2),d(9,"li",8)(10,"a",9),v(11,"Errors"),h()()(),T(12,T6,5,2,"div",10)(13,I6,6,2,"form",11),h()()()),e&2&&(f(6),g("ngClass",qr(4,w6,i.isCollapsed)),f(2),Re(i.currentUser()?8:-1),f(4),Re(i.currentUser()?12:-1),f(),Re(i.currentUser()?-1:13))},dependencies:[Hn,wr,en,Nt,Cr,wn,to,tR,XA,eR,yw,br,rc,ot,on],styles:[".dropdown-toggle[_ngcontent-%COMP%], .dropdown-item[_ngcontent-%COMP%]{cursor:pointer}img[_ngcontent-%COMP%]{max-height:50px;border:2px solid #fff;display:inline;border-radius:50%}.floating-nav[_ngcontent-%COMP%]{margin:15px auto;border-radius:15px;box-shadow:0 4px 12px #00000026;width:95%;max-width:1400px;position:fixed;top:0;left:0;right:0;z-index:1030}body[_ngcontent-%COMP%]{padding-top:90px}@media (max-width: 767px){.navbar-collapse[_ngcontent-%COMP%]{padding:10px 0}.navbar-collapse.collapse[_ngcontent-%COMP%]{display:none}.navbar-collapse[_ngcontent-%COMP%]:not(.collapse){display:block}.navbar-nav[_ngcontent-%COMP%]{margin-top:10px;border-top:1px solid rgba(255,255,255,.2);padding-top:10px}.dropdown[_ngcontent-%COMP%], form[_ngcontent-%COMP%]{margin-top:15px;width:100%}form.d-flex[_ngcontent-%COMP%]{flex-wrap:wrap}form.d-flex[_ngcontent-%COMP%] input[_ngcontent-%COMP%], form.d-flex[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin:5px 0}}"]})};var vg=class t{accountService=S(tt);ngOnInit(){this.setCurrentUser()}setCurrentUser(){let n=localStorage.getItem("user");if(!n)return;let e=JSON.parse(n);this.accountService.setCurrentUser(e)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=L({type:t,selectors:[["app-root"]],decls:6,vars:0,consts:[["type","line-scale-pulse-out-rapid"],[1,"container",2,"margin-top","100px"]],template:function(e,i){e&1&&(d(0,"ngx-spinner",0)(1,"h3"),v(2,"Loading..."),h()(),A(3,"app-nav"),d(4,"div",1),A(5,"router-outlet"),h())},dependencies:[Cu,yg,zA],encapsulation:2})};s0(vg,ZA).catch(t=>console.error(t)); diff --git a/client/src/app/_models/Photo.ts b/client/src/app/_models/Photo.ts index 9862ad0..163c459 100644 --- a/client/src/app/_models/Photo.ts +++ b/client/src/app/_models/Photo.ts @@ -5,4 +5,5 @@ export interface Photo { createdAt: string username: string isApproved: boolean + tags?: string[] } \ No newline at end of file diff --git a/client/src/app/_models/Tag.ts b/client/src/app/_models/Tag.ts new file mode 100644 index 0000000..1436052 --- /dev/null +++ b/client/src/app/_models/Tag.ts @@ -0,0 +1,4 @@ +export interface Tag { + id: number; + name: string; +} \ No newline at end of file diff --git a/client/src/app/_services/admin.service.ts b/client/src/app/_services/admin.service.ts index e43230e..074b73c 100644 --- a/client/src/app/_services/admin.service.ts +++ b/client/src/app/_services/admin.service.ts @@ -3,6 +3,7 @@ import { environment } from '../../environments/environment'; import { HttpClient } from '@angular/common/http'; import { User } from '../_models/user'; import { Photo } from '../_models/Photo'; +import { Tag } from '../_models/Tag'; @Injectable({ providedIn: 'root' @@ -11,6 +12,12 @@ export class AdminService { baseUrl = environment.apiUrl; private http = inject(HttpClient); + getTags() { + return this.http.get(this.baseUrl + 'admin/get-tags'); + } + addTag(tag: Tag) { + return this.http.post(this.baseUrl + 'admin/create-tag', tag); + } getUserWithRoles() { return this.http.get(this.baseUrl + 'admin/users-with-roles'); } diff --git a/client/src/app/_services/members.service.ts b/client/src/app/_services/members.service.ts index 2c70f15..c18545a 100644 --- a/client/src/app/_services/members.service.ts +++ b/client/src/app/_services/members.service.ts @@ -9,6 +9,7 @@ import { ParseError } from '@angular/compiler'; import { UserParams } from '../_models/userParams'; import { AccountService } from './account.service'; import { setPaginatedResponse, setPaginationHeaders } from './paginationHelper'; +import { Tag } from '../_models/Tag'; @Injectable({ providedIn: 'root' @@ -55,39 +56,32 @@ export class MembersService { return this.http.get(this.baseUrl + 'users/' + username); } updateMember(member: Member) { - return this.http.put(this.baseUrl + 'users', member).pipe( - /* tap(() => { - this.members.update(memebers => - memebers.map(m => - m.username === member.username ? member : m - ) - ); - }) */ - ); + return this.http.put(this.baseUrl + 'users', member).pipe(); } setMainPhoto(photo: Photo) { - return this.http.put(this.baseUrl + 'users/set-main-photo/' + photo.id, {}).pipe( - /* tap(() => { - this.members.update(members => members.map(m => { - if (m.photos.includes(photo)) { - m.photoUrl = photo.url; - } - return m; - }) - )} - ) */ - ); + return this.http.put(this.baseUrl + 'users/set-main-photo/' + photo.id, {}).pipe(); } deletePhoto(photo: Photo) { - return this.http.delete(this.baseUrl + 'users/delete-photo/' + photo.id).pipe( - /* tap(() => { - this.members.update(members => members.map(m => { - if (m.photos.includes(photo)) { - m.photos = m.photos.filter(p => p.id !== photo.id); - } - return m; - })); - }) */ - ); + return this.http.delete(this.baseUrl + 'users/delete-photo/' + photo.id).pipe(); } + getTagsForPhoto(photoId: number) { + return this.http.get(this.baseUrl + 'users/tags/' + photoId); + } + getPhotosWithTags() { + return this.http.get(this.baseUrl + 'users/photos-tags'); + } + getAllTags() { + return this.http.get(this.baseUrl + 'users/tags'); + } + addTagToPhoto(photoId: number, tags: string[]) { + return this.http.post( + `${this.baseUrl}users/assign-tags/${photoId}`, + JSON.stringify(tags), + { + headers: { + 'Content-Type': 'application/json', + }, + } + ); + } } diff --git a/client/src/app/admin/photo-management/photo-management.component.html b/client/src/app/admin/photo-management/photo-management.component.html index 64eb680..f61cead 100644 --- a/client/src/app/admin/photo-management/photo-management.component.html +++ b/client/src/app/admin/photo-management/photo-management.component.html @@ -1,93 +1,163 @@ -